/* ─────────────────────────────────────────────────────────────────────
   BM — override-uri peste style.css (mockup v3), din feedbackul clientului
   (docs/feedback-bm-design.md). style.css rămâne sursa originală curată.
   ───────────────────────────────────────────────────────────────────── */

/* ─────────────────────────────────────────────────────────────────────
   Grilă generică rânduri + 12 coloane (builder v4, Bootstrap-like).
   - .lb-row = grilă de 12 constrânsă la lățimea paginii (rânduri top-level
     din builder, blocks/row.blade).
   - .lb-grid = doar mecanica de grilă (fără max-width) — pentru layouturi din
     template deja constrânse de containerul lor (rail articol/categorie).
   - .lb-col = grid-item cu span pe 12 (variabila --lb-span). NU impune display,
     ca să fie sigură și pe coloane cu layout intern propriu (rail, corp articol).
   - .lb-col--stack = coloană de builder care-și stivuiește blocurile cu spațiu
     (ex. Exclusiv + Cele mai citite nu se lipesc).
   Pe ≤768px coloanele se stivuiesc (ca Bootstrap).
   ───────────────────────────────────────────────────────────────────── */
.lb-row, .lb-grid {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 28px; align-items: start;
}
/* margin vertical = ritmul paginii: spațiu față de header/footer și între
   rânduri (marginile adiacente colapsează — nu se dublează) */
.lb-row { max-width: 1300px; margin: 32px auto; padding: 0 24px; }
.lb-col { grid-column: span var(--lb-span, 12); min-width: 0; }
.lb-col--stack { display: flex; flex-direction: column; gap: 22px; }
@media (max-width: 768px) {
  .lb-row { padding: 0 16px; margin: 20px auto; }
  .lb-row, .lb-grid { grid-template-columns: 1fr; gap: 22px; }
  .lb-col { grid-column: 1 / -1; }
}

/* Layouturile agreate cu rail (articol/categorie/căutare) pe grila de 12
   (decizie user: „12-col aproximativ") — conținut span 9, rail span 3, gap 28.
   Rail-ul devine ~25% în loc de 320px fix; sub 768px se stivuiesc. Fără
   !important: bm-overrides se încarcă DUPĂ style.css, deci bate regulile lui
   (inclusiv cele tablet) la specificitate egală — iar category-fara-rail, care
   forțează inline `grid-template-columns:1fr`, rămâne pe o coloană. */
.atb-with-rail, .cat-page {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 28px;
}
@media (max-width: 768px) {
  .atb-with-rail, .cat-page { grid-template-columns: 1fr; }
}

/* Pagina de articol e compusă din builder (un RÂND antet+corp | rail), dar
   păstrează lățimea ei istorică (1100px, nu 1300px generic): containerul
   .atb-page ține lățimea, iar .lb-row din interior o umple fără să dubleze
   max-width/padding-ul. */
.atb-page > .lb-row { max-width: none; margin: 0; padding: 0; }

/* #2 — meta mai subțiri, peste tot */
.topstory-meta, .scoop-meta, .tsec-meta, .ttert-meta,
.ci-meta, .cf-meta, .exclusive-meta, .atb-byline-meta {
  font-weight: 400;
  color: var(--ink-500);
}
.topstory-meta strong, .cf-meta strong { font-weight: 500; }

/* #9 — autorul, mereu pe linia lui, sub meta */
.meta-autor {
  display: block;
  font-weight: 500;
  color: var(--ink-700);
  margin-top: 2px;
}

/* #8 — subtitlul (excerpt) sub titlul Top Story */
.topstory-subtitle {
  font-family: var(--font-subtitluri);
  font-size: 17px;
  line-height: 1.45;
  font-weight: 400;
  color: var(--ink-600);
  margin: 10px 0 6px;
}

/* #4 — sidebarul până sus în pagina de articol: coloana din stânga ține
   acum tot (breadcrumb → conținut); titlul se recalibrează la lățimea nouă */
.atb-with-rail .atb-col { min-width: 0; }
.atb-with-rail .atb-title { font-size: 38px; }
.atb-with-rail .atb-subtitle { font-size: 17px; }

/* #12 — taburile „Cele mai citite” din rail (azi/săptămâna/luna) */
.rail-tabs { display: flex; gap: 6px; margin: 8px 0 10px; }
.rail-tab {
  flex: 1; padding: 5px 0; font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em; cursor: pointer;
  background: none; border: 1px solid var(--ink-200); color: var(--ink-500);
}
.rail-tab.is-on { background: var(--ink-950); border-color: var(--ink-950); color: #fff; }

/* fix — lista compactă „fără imagini” (template compact.blade) refoloseşte
   .atb-related, dar style.css:281 dă `li { grid: 90px 1fr }` pentru thumbnail.
   Fără .rb-thumb, titlul cădea în coloana de 90px (se înghesuia pe verticală)
   iar coloana 1fr rămânea goală. Când li n-are thumb → o singură coloană. */
.atb-related li:not(:has(.rb-thumb)) { grid-template-columns: 1fr; }

/* ── mobil ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* #15 — fără switch pe mobil: coloanele se înșiruie ca blocuri, una sub
     alta. Ordine editorială: Top Story → Subiectele zilei → Cele mai
     citite/Exclusiv. (Pe desktop rămân cele 3 coloane din style.css.) */
  .hero-block .scoop-col { display: block; order: 2; }
  .hero-block .exclusive-col { display: flex; order: 3; }

  /* #1 — fonturile de titlu, mai subțiri pe mobil */
  .scoop-title, .ttert-title, .tm-title { font-weight: 600; }
  .tsec-title, .ci-title, .cf-title, .sr-title { font-weight: 700; }
  .topstory-title, .atb-title { font-weight: 800; }
  .exclusive-title { font-weight: 700; }

  /* #7 — logoul un pic mai mare */
  .tabnav-logo img { height: 46px; }

  /* #5 — secțiunea video, compactă */
  .tab-video { margin: 18px auto; }
  .tabv-head { margin-bottom: 8px; }
  .tabv-headline { font-size: 17px; }
  .tabv-player { aspect-ratio: 16/7; }
  .tabv-meta { padding: 8px 10px; }
  .tabv-title { font-size: 14px; line-height: 1.25; }
  .tabv-sub { font-size: 11px; }

  /* #6 — arhivele, compacte: 3 coperte pe rând, etichete mici */
  .archive-strip { margin: 18px auto; }
  .archive-strip-head h2 { font-size: 17px; }
  .archive-strip-head .sub { display: none; }
  .archive-strip-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .ac-label { font-size: 11px; }
  .ac-meta { font-size: 10px; }
}

/* ── Tipografie „people.com" (feedback 2026-08-07): titlurile editoriale
   MARI trec pe Inter semibold (600) — mărime mare, greutate mică. Marcajele
   de BRAND (Subiectele Zilei galben, logo-uri, badge-uri) rămân Archivo 900:
   sunt identitate, nu titluri. Familia vine din --font-titluri (selectorul
   de fonturi) — defaultul variabilei = Inter. ── */
.topstory-title, .cf-title, .cat-title, .atb-title,
.wtwt-heading, .wtwt-feature-title, .tabv-headline,
.archive-strip-head h2, .shopstrip-title, .atb-cta-title,
.atb-body h2, .atb-body h3,
.ci-title, .sc-title, .tsec-title, .ttert-title, .sr-title {
  font-family: var(--font-titluri);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.atb-title { font-weight: 600; }


.cat-title { font-weight: 650; }

/* ── Vocile editoriale (declarație, opinie, cifră) = ITALIC ── */
.tdec-quote, .tdec-mark { font-style: italic; }
.topin-title, .topin-content { font-style: italic; }
.tcif-num, .tcif-body { font-style: italic; }

/* ── Bloc nou: Video autoplay (sub top story) ── */
.lb-video { position: relative; width: 100%; aspect-ratio: 16/9; background: #0a0a0a; overflow: hidden; }
.lb-video video, .lb-video iframe { width: 100%; height: 100%; display: block; border: 0; object-fit: cover; }
.lb-video-label {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: #00b3e3; color: #fff; padding: 3px 10px;
  font: 700 11px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase;
}

/* ── Bloc LIVE: 16/9 pe desktop, 9/16 pe mobil (sursa se schimbă din JS după
   viewport); badge roșu pulsant = marcaj de brand (Archivo, nu rol editorial) ── */
.lb-live { position: relative; width: 100%; aspect-ratio: 16/9; background: #0a0a0a; overflow: hidden; }
.lb-live video { width: 100%; height: 100%; display: block; border: 0; object-fit: contain; }
.lb-live-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: var(--bm-red, #d10a11); color: #fff; padding: 3px 10px;
  font: 700 11px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase;
  animation: lb-live-pulse 2s ease-in-out infinite;
}
@keyframes lb-live-pulse { 50% { opacity: .55; } }
.lb-live-heading { font-family: var(--font-titluri); font-weight: 600; font-size: 22px; letter-spacing: -0.02em; margin-bottom: 10px; }
.lb-live-note {
  position: absolute; left: 10px; bottom: 10px; z-index: 2;
  background: rgba(0,0,0,.65); color: #fff; padding: 4px 10px; font-size: 11.5px; border-radius: 4px;
}
@media (max-width: 768px) {
  .lb-live { aspect-ratio: 9/16; max-height: 80vh; }
}

/* ── Bloc nou: Poza zilei ── */
.poza-zilei { margin: 8px 0; }
.poza-zilei img { width: 100%; display: block; }
.pz-head { font: 700 12px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.pz-head span { border-bottom: 3px solid #ffdd00; padding-bottom: 3px; }
.pz-caption { font: italic 400 15px/1.55 'Inter', sans-serif; color: #333; margin-top: 10px; }
.pz-credit { font: 400 11px/1.5 'Inter', sans-serif; color: #999; margin-top: 2px; text-transform: uppercase; letter-spacing: .05em; }

/* ── Include nou: Ediția curentă (coperta + sumar) ── */
.ed-curenta { border: 1px solid #e5e5e5; padding: 16px; }
.ed-curenta-head { font: 700 12px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 12px; }
/* coperta 100% lată în box, sumarul dedesubt (2026-09-02); plafonată la
   480px + centrată pentru mobil, unde sidebarul devine full-width */
.ed-curenta-body { display: block; }
.ed-curenta-cover { display: block; max-width: 480px; margin: 0 auto 14px; }
.ed-curenta-cover img { width: 100%; display: block; box-shadow: 0 2px 12px rgba(0,0,0,.18); }
.ed-curenta-sumar { flex: 1; min-width: 0; }
.ed-curenta-sumar a {
  display: block; font: 600 13px/1.35 'Inter', sans-serif; color: #111;
  text-decoration: none; padding: 7px 0; border-bottom: 1px solid #f0f0f0;
}
.ed-curenta-sumar a:hover { color: #9f1a2e; }
.ed-curenta-all { font: 600 12px/1.5 'Inter', sans-serif; color: #9f1a2e; text-decoration: none; display: inline-block; margin-top: 10px; }

/* ── Bloc „Cele mai citite" standalone (plasabil oriunde) ─────────────────
   Reia estetica rail-trending; pe coloană LATĂ (main) devine grid multi-coloană,
   pe coloană îngustă (sidebar) rămâne pe o coloană. ── */
.cmc { border: 1px solid var(--ink-100, #e5e5e5); margin: 8px 0; }
.cmc-head {
  font-family: var(--font-display, 'Archivo'), sans-serif; font-weight: 900;
  font-size: 15px; letter-spacing: .02em; padding: 12px 16px;
  border-bottom: 2px solid var(--bm-red, #d10a11); display: flex; align-items: center; gap: 8px;
}
.cmc-star { color: var(--bm-yellow, #ffdd00); }
.cmc-tabs { display: flex; gap: 2px; padding: 8px 12px 0; }
.cmc-tab {
  border: 0; background: none; cursor: pointer; padding: 5px 10px;
  font: 700 11px/1.4 var(--font-display, 'Archivo'), sans-serif; text-transform: uppercase;
  letter-spacing: .05em; color: #999; border-bottom: 2px solid transparent;
}
.cmc-tab.is-on { color: var(--bm-red, #d10a11); border-bottom-color: var(--bm-red, #d10a11); }
.cmc-item { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: start; padding: 12px 16px; border-bottom: 1px solid var(--ink-100, #eee); text-decoration: none; }
.cmc-item:last-child { border-bottom: none; }
.cmc-rank { font-family: var(--font-display, 'Archivo'), sans-serif; font-weight: 900; font-size: 22px; color: var(--bm-red, #d10a11); line-height: 1; letter-spacing: -.04em; }
.cmc-title { font-family: var(--font-titluri); font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--ink-950, #111); letter-spacing: -.005em; margin-bottom: 4px; }
.cmc-meta { font-size: 11px; color: #999; }
.cmc-item:hover .cmc-title { color: var(--bm-red, #d10a11); }
/* pe coloană LATĂ: listele intră pe 2 coloane (container queries dacă există) */
@supports (container-type: inline-size) {
  .cmc { container-type: inline-size; }
  @container (min-width: 560px) {
    .cmc-window { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8px; }
  }
}

/* ── Top Story cu limit > 1: articolele se STIVUIESC, toate cu același
     design featured (regula 2026-08-10 — fără „unul mare + unele mici") ── */
.topstory + .topstory { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--ink-100, #eee); }

/* ── Lista compactă în coloanele de builder: .atb-related vine din corpul
     articolului cu margini NEGATIVE (iese din coloană — ZF24 în sidebar) ── */
.lb-col--stack .atb-related { margin: 0; padding: 18px 20px; }

/* ── Design de listă „Rânduri late": carduri unul sub altul, imagine stânga
     (cerință 2026-08-13: pe desktop știrile din coloana principală se
     stivuiesc, nu stau în grilă) ── */
.lrow-list { display: flex; flex-direction: column; }
.lrow-item { display: grid; grid-template-columns: 240px 1fr; gap: 18px; align-items: start; padding: 18px 0; border-top: 1px solid var(--ink-100, #eee); text-decoration: none; }
.lrow-item:first-child { border-top: 0; padding-top: 0; }
.lrow-img { aspect-ratio: 16/9; overflow: hidden; }
.lrow-img img { width: 100%; height: 100%; object-fit: cover; }
.lrow-kicker { display: block; font: 700 11px/1.4 'Archivo', sans-serif; text-transform: uppercase; letter-spacing: .06em; color: var(--bm-red, #d10a11); margin-bottom: 6px; }
.lrow-title { font-family: var(--font-titluri); font-weight: 600; font-size: 20px; line-height: 1.25; letter-spacing: -0.015em; color: var(--ink-950, #111); }
.lrow-item:hover .lrow-title { color: var(--bm-red, #d10a11); }
.lrow-meta { font-size: 12px; color: var(--ink-500, #888); margin-top: 8px; }
@media (max-width: 768px) {
  .lrow-item { grid-template-columns: 120px 1fr; gap: 12px; padding: 14px 0; }
  .lrow-title { font-size: 16px; }
}

/* ── Stories (cerință client 2026-08-26): Top Story + „Terțiare hero" =
   16:9 pe toată lățimea coloanei pe desktop; pe mobil fiecare = un ecran
   portret (dublura 9:16 din WP via <picture>), titlu pe gradient jos,
   scroll liber (snap-ul scos: defectuos pe iOS). Markup comun: .story > .story-media + .story-caption ── */
.story-media picture { display: block; width: 100%; height: 100%; }
.story-media picture img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.topstory .story-caption { display: contents; }               /* desktop: titlul sub poză, ca înainte */

.tert-hero { display: flex; flex-direction: column; gap: 32px; margin-top: 32px; }   /* desktop: fullwidth, ca Top Story */
.ttert-hero { display: flex; flex-direction: column; gap: 14px; padding-top: 28px; border-top: 1px solid var(--ink-100, #eee); }
.ttert-hero-img { display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; position: relative; }
.ttert-hero .ttert-kicker { font-size: 11px; }
.ttert-hero-title { font-family: var(--font-display); font-weight: 900; font-size: 30px; line-height: 1.08; letter-spacing: -0.02em; color: var(--ink-950); }
.ttert-hero-title a { color: inherit; }
.ttert-hero:hover .ttert-hero-title { color: var(--bm-red); }

@media (max-width: 768px) {
  .lb-row .lb-col:has(.topstory) { order: -1; }                /* coloana cu Top Story prima */
  /* stories lipite între ele, dar gap-ul coloanei rămâne pentru restul blocurilor (ex. LIVE) */
  .topstory.story + .tert-hero { margin-top: -22px; }
  .tert-hero { gap: 0; margin-top: 0; }
  .ttert-hero { padding-top: 0; border-top: 0; }

  .story { position: relative; height: 100dvh; min-height: 100svh; margin: 0 -16px;
           overflow: hidden; background: var(--ink-950, #111); display: block; }
  .story + .story, .topstory + .topstory { margin-top: 0; padding-top: 0; border-top: 0; }
  .story .story-media { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
  .story .story-media .ph-img { position: absolute; inset: 0; }
  .story .topstory-kicker { top: calc(14px + env(safe-area-inset-top)); bottom: auto; left: 16px; }
  .story .story-caption {
    display: block; position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 96px 20px calc(28px + env(safe-area-inset-bottom));
    color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.45);
    background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,0) 100%);
    pointer-events: none;
  }
  .story .story-caption a { pointer-events: auto; color: inherit; }
  .story .topstory-title, .story .ttert-hero-title { color: #fff; font-size: 30px; line-height: 1.08; }
  .story .topstory-title .arrow-link { display: none; }
  .story .topstory-subtitle { color: rgba(255,255,255,.85); margin-top: 10px; }
  .story .topstory-meta, .story .ttert-meta, .story .meta-autor { color: rgba(255,255,255,.75); margin-top: 8px; }
  .story .ttert-kicker { color: var(--bm-yellow, #ffdd00); font-size: 11px; margin-bottom: 8px; }
}

/* Cele mai citite / rail: cifrele 1–5 cu punct („1.") — cerere 2026-08-27 */
.rt-rank::after, .cmc-rank::after { content: '.'; }

/* ── Lista compactă cu heading (ex. „ZF 24"): chenarul punctat bleu cuprinde
   ȘI headingul — altfel titlul părea al altei secțiuni (cerere 2026-08-27) ── */
.lb-list--compact:has(.archive-strip-head) { border: 2px dashed var(--bm-cyan, #00b3e3); padding: 18px 20px; }
.lb-list--compact:has(.archive-strip-head) .archive-strip-head { margin-bottom: 14px; }
.lb-list--compact:has(.archive-strip-head) .atb-related { border: 0; margin: 0; padding: 0; }

/* ── Mobil: meniul de categorii stă SUB hamburger (ascuns până la tap) —
   cerere 2026-08-27. Desktop: neschimbat. ── */
.tabnav-links-account { display: none; }
@media (max-width: 900px) {
  .tabnav-links { display: none; flex-direction: column; gap: 0; padding: 6px 0 10px; }
  .tabnav.is-open .tabnav-links { display: flex; }
  .tabnav-links a { font-size: 14px; padding: 12px 4px; border-bottom: 1px solid var(--ink-100, #eee); }
  .tabnav-links a:last-child { border-bottom: 0; }
  .tabnav-links-account { display: block; color: var(--bm-red, #d10a11); }
  .tabnav.is-open .tabnav-burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .tabnav.is-open .tabnav-burger span:nth-child(2) { opacity: 0; }
  .tabnav.is-open .tabnav-burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
}

/* ── Bloc nou: Personajul zilei (cerere 2026-08-27) — în coloana principală:
   portret ROTUND stânga, nume/funcție/text/articol dreapta; pe mobil se
   stivuiește cu portretul centrat ── */
.personaj { margin: 8px 0; container-type: inline-size; }
.personaj-card { display: grid; grid-template-columns: 180px 1fr; gap: 28px; align-items: center;
  padding: 24px; border: 1px solid var(--ink-200, #ddd); background: #fff; color: inherit; }
.personaj-foto { width: 180px; height: 180px; border-radius: 50%; overflow: hidden; background: var(--ink-100, #eee); box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--bm-yellow, #ffdd00); }
.personaj-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.personaj-foto .ph-img { display: block; width: 100%; height: 100%; }
.personaj-nume { font-family: var(--font-display); font-weight: 900; font-size: 30px; line-height: 1.05; letter-spacing: -0.02em; color: var(--ink-950); }
.personaj-rol { font: 700 11px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--bm-red, #d10a11); margin-top: 6px; }
.personaj-text { font-family: var(--font-subtitluri); font-size: 16px; line-height: 1.5; color: var(--ink-700, #444); margin-top: 12px; }
.personaj-link { font: 600 14px/1.4 'Inter', sans-serif; color: var(--ink-950); margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ink-100, #eee); }
.personaj-link .arrow-link { display: inline-block; width: 20px; height: 20px; vertical-align: middle; margin-left: 4px; background: var(--bm-cyan); border-radius: 50%; position: relative; }
.personaj-link .arrow-link::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-58%, -50%); border-left: 6px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
a.personaj-card:hover .personaj-nume { color: var(--bm-red, #d10a11); }
@container (max-width: 480px) {
  .personaj-card { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 18px; padding: 22px 16px; }
  .personaj-foto { width: 150px; height: 150px; }
  .personaj-nume { font-size: 26px; }
}

/* ── Entități (docs/entitati.md): pagina CEO (Meet the CEO) + listarea ── */
.ent-page { padding-top: 24px; }
.ent-crumbs { font: 700 11px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--bm-red, #d10a11); margin-bottom: 18px; }
.ent-head { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: center; padding: 28px; border: 1px solid var(--ink-200, #ddd); background: #fff; margin-bottom: 32px; }
.ent-foto { width: 220px; height: 220px; border-radius: 50%; overflow: hidden; background: var(--ink-100, #eee); box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--bm-yellow, #ffdd00); }
.ent-foto img, .ent-card-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.ent-foto .ph-img, .ent-card-foto .ph-img { display: block; width: 100%; height: 100%; }
.ent-kicker { font: 700 11px/1.5 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--bm-red, #d10a11); }
.ent-nume { font-family: var(--font-display); font-weight: 900; font-size: 44px; line-height: 1.02; letter-spacing: -0.025em; color: var(--ink-950); margin-top: 6px; }
.ent-rol { font: 700 13px/1.4 'Archivo', sans-serif; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-700, #444); margin-top: 10px; }
.ent-rel { font-size: 14px; color: var(--ink-700, #444); margin-top: 6px; }
.ent-rel a { color: var(--bm-blue, #0033a0); font-weight: 700; }
.ent-badge { display: inline-block; font: 700 10px/1.4 'Archivo', sans-serif; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border: 1px solid var(--ink-300, #ccc); color: var(--ink-600, #666); border-radius: 2px; vertical-align: middle; }
.ent-sumar { font-family: var(--font-subtitluri); font-size: 18px; line-height: 1.5; color: var(--ink-800, #222); margin-top: 16px; }
.ent-bio { max-width: 760px; margin-bottom: 40px; }
.ent-articole .archive-strip-head { margin-top: 8px; }
.ent-art { display: grid; grid-template-columns: 200px 1fr; gap: 20px; align-items: start; padding: 18px 0; border-top: 1px solid var(--ink-100, #eee); }
.ent-art:first-of-type { border-top: 0; }
.ent-art-img { aspect-ratio: 16/9; overflow: hidden; }
.ent-art-img img { width: 100%; height: 100%; object-fit: cover; }
.ent-art-meta { font-size: 12px; color: var(--ink-500, #888); margin-bottom: 6px; }
.ent-art-title { font-family: var(--font-titluri); font-weight: 600; font-size: 20px; line-height: 1.2; letter-spacing: -0.02em; color: var(--ink-950); }
.ent-art:hover .ent-art-title { color: var(--bm-red, #d10a11); }
.ent-art-excerpt { font-size: 14px; color: var(--ink-600, #666); margin-top: 6px; }
.ent-empty { color: var(--ink-500, #888); padding: 18px 0; }
.ent-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 24px 0; }
.ent-card { text-align: center; padding: 22px 16px; border: 1px solid var(--ink-200, #ddd); background: #fff; }
.ent-card-foto { width: 140px; height: 140px; border-radius: 50%; overflow: hidden; margin: 0 auto 14px; background: var(--ink-100, #eee); }
.ent-card-nume { font-family: var(--font-display); font-weight: 900; font-size: 20px; line-height: 1.1; letter-spacing: -0.02em; color: var(--ink-950); }
.ent-card:hover .ent-card-nume { color: var(--bm-red, #d10a11); }
.ent-card-rol { font: 700 11px/1.4 'Archivo', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-600, #666); margin-top: 6px; }
.ent-card-meta { font-size: 12px; color: var(--ink-500, #888); margin-top: 8px; }
/* linkurile de entitate din corpul articolelor: discret, subliniat punctat */
a.zf-entity { text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; text-decoration-color: var(--bm-red, #d10a11); }
@media (max-width: 768px) {
  .ent-head { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 22px 16px; }
  .ent-foto { width: 160px; height: 160px; }
  .ent-nume { font-size: 32px; }
  .ent-art { grid-template-columns: 120px 1fr; gap: 12px; }
  .ent-art-title { font-size: 16px; }
  .ent-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ent-card-foto { width: 100px; height: 100px; }
}
/* căutare: carduri de entități (CEO/companii) deasupra rezultatelor */
.sr-entities { display: flex; gap: 14px; flex-wrap: wrap; margin: 12px 0 22px; }
.sr-ent { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border: 1px solid var(--ink-200, #ddd); background: #fff; min-width: 260px; }
.sr-ent-foto { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--ink-100, #eee); display: block; }
.sr-ent-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.sr-ent-kicker { display: block; font: 700 10px/1.4 'Archivo', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--bm-red, #d10a11); }
.sr-ent-nume { display: block; font-family: var(--font-display); font-weight: 900; font-size: 17px; line-height: 1.1; color: var(--ink-950); }
.sr-ent-rol { display: block; font-size: 12px; color: var(--ink-600, #666); margin-top: 2px; }

/* ── Extindere (2026-09-02, ULTIMUL bloc — la egalitate de specificitate
   câștigă ultima regulă, iar componentele de mai sus își declară familia):
   câmpul „Titluri" se aplică TUTUROR titlurilor din
   design, nu doar celor mari — dar doar FAMILIA (greutățile, mărimile și
   spațierile rămân ale fiecărui bloc). Pe Archivo rămân doar marcajele de
   brand (logo-uri, badge-uri, eyebrow-uri, rank-uri, prețuri, CTA-uri);
   citatele și opinia (.topin-title) rămân pe --font-citate. ── */
.scoop-title, .tm-title, .dontmiss-title, .exclusive-title,
.secondary-card .sc-title, .wtwt-side-title, .wtwt-card-title,
.wtwt-highlight-title, .rt-title, .rn-title, .zf-t,
.tabv-title, .tsv-title, .sr-top-title, .sr-hint-title,
.atb-related .rb-text, .ttert-hero-title,
.personaj-nume, .ent-nume, .ent-card-nume, .sr-ent-nume {
  font-family: var(--font-titluri);
}

/* ── Testul de reclame AdOcean (/test-reclame — docs/reclame-adocean.md) ── */
.adt-banner { background: #fff3cd; border-bottom: 1px solid #ffe08a; font: 500 13px/1.5 'Inter', sans-serif; padding: 8px 24px; text-align: center; }
.adt-banner a { color: var(--bm-blue, #0033a0); text-decoration: underline; }
.adt { position: relative; display: flex; justify-content: center; align-items: center; min-height: 50px; margin: 12px 0; }
.adt--bar { max-width: 1300px; margin: 16px auto; padding: 0 24px; min-height: 90px; }
.adt--rail { min-height: 250px; }
.adt--inread { min-height: 100px; margin: 24px 0; }
.adt > [id^="adoceanro"] { max-width: 100%; }
.adt--empty { display: none; }
.adt-debug-on .adt { outline: 1px dashed #d10a11; background: repeating-linear-gradient(45deg, #fff, #fff 8px, #fff5f5 8px, #fff5f5 16px); }
.adt-debug-on .adt--empty { display: flex; opacity: .45; }
.adt-debug-on .adt--filled { outline-color: #1a7f37; background: none; }
.adt-debug-on .adt::before { content: attr(data-slot) ' · ' attr(data-label); position: absolute; top: 0; left: 0; z-index: 3; font: 600 10px/1.4 'Archivo', sans-serif; letter-spacing: .04em; color: #fff; background: #d10a11; padding: 2px 6px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adt-debug-on .adt--filled::before { background: #1a7f37; }
.adt-debug { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; padding: 8px 14px calc(8px + env(safe-area-inset-bottom)); background: #111; color: #eee; font: 12px/1.4 'Inter', sans-serif; }
.adt-debug code { color: #ffdd00; }
.adt-debug b { color: #fff; }
.adt-warn { color: #ffb4b4; font-weight: 700; }
.adt-copy { margin-left: auto; background: #ffdd00; color: #111; border: 0; padding: 5px 10px; font: 700 12px/1 'Archivo', sans-serif; cursor: pointer; }
.adt-index .adt-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 24px 0; }
.adt-card { border: 1px solid var(--ink-200, #ddd); padding: 18px 20px; background: #fff; }
.adt-card h2 { font: 700 15px/1.3 'Archivo', sans-serif; margin-bottom: 10px; }
.adt-row { padding: 6px 0; border-top: 1px solid var(--ink-100, #eee); font-size: 15px; }
.adt-row a:first-child { font-weight: 700; color: var(--bm-blue, #0033a0); }
.adt-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 8px; }
.adt-table th, .adt-table td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--ink-100, #eee); }
.adt-table th { font: 700 12px/1.4 'Archivo', sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.adt-table td:first-child { font-weight: 600; width: 28%; }
@media (max-width: 768px) { .adt-index .adt-links { grid-template-columns: 1fr; } .adt--bar { padding: 0 16px; min-height: 60px; } }
.adt--branding { max-width: 1300px; margin: 0 auto; padding: 8px 24px 0; min-height: 0; }
.adt--branding:empty { display: none; }
/* special = overlay peste site: containerul nu ocupă loc (cerere AdOcean) */
.adt[data-slot="special"] { height: 1px; min-height: 0; max-height: 1px; margin: 0; padding: 0; overflow: hidden; }
.adt-debug-on .adt[data-slot="special"] { height: auto; max-height: none; min-height: 24px; }
/* mobil: `top` coboară după primul articol / după antetul articolului (coloana e flex) */
@media (max-width: 768px) {
  .lb-col--stack > .topstory.story, .lb-col--stack > .adt-hdr { order: -2; }
  .lb-col--stack > .adt[data-slot="top"] { order: -1; }
}

/* ── Publicitate AdOcean (Support\Ads): sloturi generate din Setări site ── */
.ad-bar .ado-slot { display: flex; justify-content: center; }
.ad-bar .ado-slot:empty { min-height: 0; }
.ad-bar:has(.ado-slot:empty) { padding: 0; background: none; }   /* fără creativă ⇒ fără bară gri goală */
.ado-inread { margin: 24px 0; display: flex; justify-content: center; }
.ado-inread .ado-slot:empty { display: none; }
.ado-special { height: 1px; max-height: 1px; overflow: hidden; margin: 0; padding: 0; }
.lb-col--stack .ad-bar { padding: 0; background: none; }          /* în coloane (sidebar) fără fundal */
.lb-col--stack .ad-bar-inner { padding: 0; }
.ado-branding { max-width: 1300px; margin: 0 auto; padding: 8px 24px 0; display: flex; justify-content: center; }
.ado-branding .ado-slot:empty { display: none; }
.rail-slot { display: flex; justify-content: center; margin: 22px 0; }
.rail-slot .ado-slot:empty { display: none; }
.cat-inline-ad.ado-inline { display: flex; justify-content: center; border: 0; padding: 0; background: none; }
