/* ==========================================================================
   Secţiunea #news — layout de portal de ştiri (hero + listă laterală).

   Se aplică PESTE bundle-ul Tailwind compilat, fără a atinge JavaScript-ul.
   Structura DOM pe care se bazează (din assets/index-*.js):

     section#news > div.container > div.grid > article        (câte unul/ştire)
       article > div:first-child   -> containerul imaginii (+ badge categorie)
       article > div:last-child    -> conţinut: dată, h3, excerpt, "Citeşte mai mult"

   Ca să revii la designul original: şterge <link> pentru acest fişier din
   index.html.  Nimic altceva nu trebuie atins.
   ========================================================================== */

:root {
  --cbh-accent: rgb(2 132 199);      /* primary-600 din paleta site-ului */
  --cbh-rule: #e2e2e5;
  --cbh-ink: #16161a;
  --cbh-muted: #6b6b75;
  --cbh-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
               "Times New Roman", serif;
}

/* --- Poziţia secţiunii în pagină ----------------------------------------- */

/* Ştirile urcă imediat sub hero, înaintea secţiunii "about".
   Containerul paginii Home e un simplu <div> cu copii direcţi:
   navbar, hero, #about, #news, #contact, footer.  Îl selectăm prin :has()
   (nu există alt mod de a ţinti un părinte din CSS) şi îl facem grilă pe o
   coloană, ca să putem folosi `order`.  Grilă, nu flex: rândurile se
   dimensionează după conţinut şi nu există risc ca secţiunile să fie
   comprimate de flex-shrink.
   Pe browsere fără :has() regula e ignorată şi ordinea rămâne cea originală. */
div:has(> #news) {
  display: grid;
  grid-template-columns: 100%;
}

/* Implicit, tot ce nu e menţionat mai jos rămâne după ştiri, în ordinea din
   DOM (about, contact, footer). */
div:has(> #news) > * {
  order: 4;
}

div:has(> #news) > *:nth-child(1) {   /* navbar */
  order: 1;
}

div:has(> #news) > *:nth-child(2) {   /* hero / slider */
  order: 2;
}

div:has(> #news) > #news {
  order: 3;
}

/* --- Cadrul secţiunii ---------------------------------------------------- */

#news {
  background: #fff;
}

/* Titlul secţiunii: din centrat în aliniat stânga, cu bară de accent */
#news .text-center {
  text-align: left;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 3px solid var(--cbh-ink);
}

#news .text-center h2 {
  font-family: var(--cbh-serif);
  font-size: 2rem;
  letter-spacing: -0.01em;
}

#news .text-center p {
  font-size: 1rem;
  color: var(--cbh-muted);
}

/* --- Grila: hero în stânga, listă în dreapta ----------------------------- */

#news .grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  column-gap: 2.75rem;
  row-gap: 0;
  align-items: start;
  /* Rânduri de înălţime minimă: altfel hero-ul, care se întinde pe toate
     rândurile, le-ar dilata uniform şi ar rămâne goluri între ştirile din
     dreapta.  Aşa, spaţiul rămas se adună sub ultima ştire. */
  grid-auto-rows: min-content;
}

/* Toate articolele pierd aspectul de "card" */
#news .grid > article {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

#news .grid > article:hover {
  box-shadow: none;
}

/* Prima ştire = hero, ocupă coloana stângă.
   Se întinde pe multe rânduri (nu "1 / -1", care s-ar rezolva la un singur
   rând, grila neavând rânduri explicite — iar atunci rândul 1 ar prelua toată
   înălţimea hero-ului şi ar rupe lista din dreapta).  Înălţimea în plus a
   hero-ului se distribuie peste cele 40 de rânduri, deci aproape toată ajunge
   în rândurile goale de dedesubt, nu între ştirile din dreapta. */
#news .grid > article:first-child {
  grid-column: 1;
  grid-row: 1 / span 40;
}

/* Restul intră pe coloana din dreapta, una sub alta */
#news .grid > article:not(:first-child) {
  grid-column: 2;
}

/* --- Hero ---------------------------------------------------------------- */

#news .grid > article:first-child > div:first-child {
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 2px;
}

#news .grid > article:first-child > div:last-child {
  padding: 1.25rem 0 0;
}

#news .grid > article:first-child h3 {
  font-family: var(--cbh-serif);
  font-size: 2.05rem;
  line-height: 1.18;
  font-weight: 700;
  color: var(--cbh-ink);
  margin-bottom: 0.75rem;
}

#news .grid > article:first-child p {
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--cbh-muted);
}

/* Badge-ul de categorie peste imaginea hero */
#news .grid > article:first-child > div:first-child > div {
  top: auto;
  bottom: 0;
  left: 0;
}

#news .grid > article:first-child > div:first-child span {
  display: inline-block;
  border-radius: 0;
  padding: 0.35rem 0.7rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--cbh-accent);
}

/* --- Lista din dreapta --------------------------------------------------- */

/* Imaginea dispare, dar containerul rămâne ca să păstreze badge-ul categoriei,
   care devine o etichetă normală deasupra titlului (nu suprapusă). */
#news .grid > article:not(:first-child) > div:first-child {
  height: auto;
  overflow: visible;
}

#news .grid > article:not(:first-child) > div:first-child img {
  display: none;
}

#news .grid > article:not(:first-child) > div:first-child > div {
  position: static;
  margin-bottom: 0.4rem;
}

#news .grid > article:not(:first-child) > div:first-child span {
  display: inline-block;
  border-radius: 0;
  padding: 0.2rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  background: var(--cbh-accent);
}

#news .grid > article:not(:first-child) > div:last-child {
  padding: 0;
}

/* Linie despărţitoare între ştirile din listă */
#news .grid > article:not(:first-child) {
  padding: 1.15rem 0;
  border-top: 1px solid var(--cbh-rule);
}

#news .grid > article:nth-child(2) {
  padding-top: 0;
  border-top: 0;
}

#news .grid > article:not(:first-child) h3 {
  font-family: var(--cbh-serif);
  font-size: 1.16rem;
  line-height: 1.28;
  font-weight: 700;
  color: var(--cbh-ink);
  margin-bottom: 0.4rem;
}

#news .grid > article:not(:first-child) p {
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--cbh-muted);
  margin-bottom: 0;
}

/* --- Elemente ascunse pentru aspectul de portal -------------------------- */

/* rândul cu data şi link-ul "Citeşte mai mult" (structura de portal nu le are) */
#news .grid > article > div:last-child > div:first-child,
#news .grid > article > div:last-child > div:last-child {
  display: none;
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 1023px) {
  #news .grid {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  #news .grid > article:first-child,
  #news .grid > article:not(:first-child) {
    grid-column: 1;
    grid-row: auto;
  }

  #news .grid > article:first-child h3 {
    font-size: 1.6rem;
  }

  #news .grid > article:nth-child(2) {
    padding-top: 1.15rem;
    border-top: 1px solid var(--cbh-rule);
  }
}
