/* ═══════════════════════════════════════════════════════════════
   theme.css — Tema público do portal (home + matéria + chrome)
   Baseado na referência da pasta LAYOUT, adaptado ao backend real.
   Carregado por último: sobrescreve o que precisar de style.css.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --red:#e30613;  --red-dark:#b80410;  --red2:#b80410;
  --ink:#1a1a1c;  --dark:#1a1a1c;      --dark2:#2b2b30;
  --text:#2b2b30; --muted:#73737d;
  --line:#e8e8ec; --bg:#ffffff;        --paper:#ffffff;  --bg-soft:#f6f6f8;
  --link:#1858b8; --green:#0a8754;     --yellow:#facc15;
  --radius:14px;  --radius-sm:10px;
  --shadow:0 2px 14px rgba(20,20,30,.06);
  --shadow-hover:0 12px 32px rgba(20,20,30,.12);
  --container:1180px;
}

body {
  font-family:'Manrope', system-ui, -apple-system, "Segoe UI", sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
::selection { background:var(--red); color:#fff; }
h1,h2,h3,h4 { line-height:1.18; letter-spacing:-.015em; color:var(--ink); font-weight:800; }
.serif { font-family:'Newsreader', Georgia, serif; font-weight:700; letter-spacing:-.01em; }

.container { width:min(var(--container), calc(100% - 40px)); margin-inline:auto; }

/* ═══ TOP STRIP ═══════════════════════════════════════════════ */
.strip { background:var(--ink); color:#fff; font-size:12.5px; }
.strip-row { display:flex; align-items:center; justify-content:space-between; min-height:38px; gap:14px; padding:4px 0; flex-wrap:wrap; }
.strip-date { opacity:.72; font-weight:600; white-space:nowrap; }
.strip-live { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.strip-live a { opacity:.85; font-weight:600; transition:opacity .2s; color:#fff; }
.strip-live a:hover { opacity:1; }
.strip-badge { display:inline-flex; align-items:center; gap:6px; background:var(--red); padding:3px 10px; border-radius:20px; font-weight:800; font-size:11px; opacity:1 !important; }
.strip-badge .dot { width:6px; height:6px; border-radius:50%; background:#fff; animation:blink 1.3s infinite; }
@keyframes blink { 50% { opacity:.3; } }

/* Ferramentas de acessibilidade na strip */
.strip .a11y { display:flex; align-items:center; gap:4px; }
.strip .a11y button {
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16);
  color:#fff; border-radius:7px; padding:3px 8px; font-size:11px; font-weight:800;
  cursor:pointer; line-height:1; font-family:inherit; transition:background .15s;
}
.strip .a11y button:hover, .strip .a11y button[aria-pressed="true"] { background:var(--red); border-color:var(--red); }

/* ═══ HEADER ══════════════════════════════════════════════════ */
.site-head { position:relative; z-index:600; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--line); transition:box-shadow .3s; }
.site-head.scrolled { box-shadow:0 4px 20px rgba(20,20,30,.06); }
.head-main { display:flex; flex-direction:column; align-items:center; gap:6px; padding:8px 0; position:relative; }

.logo { display:flex; align-items:center; gap:14px; }
.logo .mark { width:62px; height:62px; background:var(--red); border-radius:16px; display:grid; place-items:center; box-shadow:0 6px 16px rgba(227,6,19,.32); transition:transform .35s cubic-bezier(.34,1.56,.64,1); flex-shrink:0; }
.logo:hover .mark { transform:rotate(-6deg) scale(1.06); }
.logo .mark svg { width:34px; height:34px; }
.logo .logo-img { height:92px; width:auto; max-width:min(88vw,460px); object-fit:contain; display:block; }
.logo .wordmark { text-align:left; }
.logo .wordmark h1 { font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1; }
.logo .wordmark h1 b { color:var(--red); }
.logo .wordmark small { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:700; margin-top:4px; }

.head-nav { display:flex; gap:4px; justify-content:center; flex-wrap:wrap; }
.head-nav a { font-weight:700; font-size:14.5px; padding:8px 14px; border-radius:9px; color:var(--text); transition:.18s; white-space:nowrap; }
.head-nav a:hover, .head-nav a.active { background:var(--bg-soft); color:var(--red); }

.icon-btn { width:42px; height:42px; border-radius:11px; border:none; background:var(--bg-soft); display:grid; place-items:center; cursor:pointer; transition:.18s; color:var(--ink); }
.icon-btn:hover { background:var(--line); }
.head-search { position:absolute; right:0; top:30px; }
.menu-btn { position:absolute; right:0; top:30px; display:none; }
.cta { display:inline-flex; align-items:center; gap:7px; background:var(--red); color:#fff; border:none; font-family:inherit; font-weight:800; font-size:14px; padding:11px 20px; border-radius:11px; cursor:pointer; transition:.2s; box-shadow:0 4px 14px rgba(227,6,19,.28); }
.cta:hover { background:var(--red-dark); transform:translateY(-1px); box-shadow:0 8px 22px rgba(227,6,19,.34); }

/* ═══ INFO WIDGETS (clima/hora) — centralizados ═══════════════ */
.info-widgets.compact { justify-content:center; margin:10px 0 0; }

/* ═══ SECTION HEADER ══════════════════════════════════════════ */
.sec-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:46px 0 22px; flex-wrap:wrap; }
.sec-head h2 { font-size:24px; font-weight:800; display:flex; align-items:center; gap:11px; }
.sec-head h2::before { content:""; width:5px; height:24px; background:var(--accent,var(--red)); border-radius:3px; }
.sec-head .more { color:var(--link); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:5px; transition:gap .2s; }
.sec-head .more:hover { gap:9px; }

/* ═══ HERO ════════════════════════════════════════════════════ */
.hero { padding:30px 0 6px; }
.hero-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:24px; }
.lead { border-radius:var(--radius); overflow:hidden; position:relative; min-height:440px; display:flex; align-items:flex-end; box-shadow:var(--shadow); transition:box-shadow .3s; }
.lead:hover { box-shadow:var(--shadow-hover); }
.lead .bg, .lead > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background-size:cover; background-position:center; transition:transform .5s ease; }
.lead:hover .bg, .lead:hover > img { transform:scale(1.04); }
.lead .grad { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.32) 45%,transparent 75%); }
.lead .content { position:relative; padding:34px; color:#fff; z-index:2; width:100%; }
.lead .tag { display:inline-block; background:var(--accent,var(--red)); color:#fff; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.05em; padding:5px 12px; border-radius:7px; margin-bottom:14px; }
.lead h2 { color:#fff; font-size:clamp(24px,3.2vw,38px); font-weight:800; max-width:21ch; line-height:1.14; }
.lead p { color:rgba(255,255,255,.85); margin-top:12px; font-size:16px; max-width:52ch; font-weight:500; line-height:1.4; }
.lead .meta { margin-top:16px; font-size:13px; color:rgba(255,255,255,.72); font-weight:600; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.hero-side { display:flex; flex-direction:column; gap:16px; }
.mini { display:flex; gap:14px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.mini:last-child { border-bottom:none; padding-bottom:0; }
.mini .thumb { width:104px; height:78px; border-radius:var(--radius-sm); flex-shrink:0; overflow:hidden; position:relative; }
.mini .thumb img, .mini .thumb .bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.mini:hover .thumb img, .mini:hover .thumb .bg { transform:scale(1.07); }
.mini .info .cat { color:var(--accent,var(--red)); font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.mini .info h3 { font-size:15.5px; font-weight:700; margin-top:5px; line-height:1.25; transition:color .18s; }
.mini:hover .info h3 { color:var(--link); }
.mini .info .when { font-size:12px; color:var(--muted); font-weight:600; margin-top:5px; display:block; }

/* ═══ SLIDER / CARROSSEL (5 principais, auto) ═════════════════ */
.slider { position:relative; border-radius:var(--radius); overflow:hidden; min-height:440px; box-shadow:var(--shadow); background:#1a1a1c; }
.slider .slides { position:absolute; inset:0; }
.slide { position:absolute; inset:0; display:flex; align-items:flex-end; opacity:0; visibility:hidden; transition:opacity .6s ease; background-size:cover; background-position:center; color:#fff; }
.slide.active { opacity:1; visibility:visible; }
.slide .grad { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.32) 45%,transparent 78%); }
.slide .content { position:relative; z-index:2; padding:34px; width:100%; }
.slide .tag { display:inline-block; color:#fff; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.05em; padding:5px 12px; border-radius:7px; margin-bottom:14px; }
.slide h2 { color:#fff; font-size:clamp(22px,3vw,36px); font-weight:800; line-height:1.14; max-width:22ch; }
.slide p { color:rgba(255,255,255,.85); margin-top:12px; font-size:15px; max-width:52ch; font-weight:500; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.slide .meta { margin-top:14px; font-size:13px; color:rgba(255,255,255,.72); font-weight:600; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:42px; height:42px; border-radius:50%; background:rgba(0,0,0,.42); color:#fff; border:none; cursor:pointer; font-size:26px; line-height:1; display:grid; place-items:center; transition:background .2s, transform .2s; }
.slider-arrow:hover { background:var(--red); transform:translateY(-50%) scale(1.08); }
.slider-arrow.prev { left:14px; } .slider-arrow.next { right:14px; }
.slider-dots { position:absolute; bottom:16px; right:20px; z-index:3; display:flex; gap:7px; }
.slider-dots .dot { width:9px; height:9px; padding:0; border:none; border-radius:50%; background:rgba(255,255,255,.45); cursor:pointer; transition:.25s; }
.slider-dots .dot.active { background:#fff; width:22px; border-radius:5px; }
@media(max-width:560px){ .slider { min-height:340px; } .slide .content { padding:22px; } }
body.reduce-motion .slide { transition:none; }

/* ═══ SEÇÃO POR EDITORIA (cor própria) ════════════════════════ */
.cat-section { margin:46px 0; }
.cat-section .sec-head h2::before { background:var(--accent,var(--red)); }
.cat-section .card .cat { color:var(--accent,var(--red)); }
.cat-section .card .imgwrap .tag { background:var(--accent,var(--red)); color:#fff; }

/* ═══ MAIN LAYOUT (grid + sidebar) ════════════════════════════ */
.layout { display:grid; grid-template-columns:1fr 340px; gap:40px; margin-top:14px; align-items:start; }
.layout .side-col { display:flex; flex-direction:column; gap:24px; position:sticky; top:96px; }

/* ═══ CARD GRID ═══════════════════════════════════════════════ */
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card { display:block; background:#fff; border-radius:var(--radius); transition:transform .25s; }
.card:hover { transform:translateY(-5px); }
.card .imgwrap { border-radius:var(--radius-sm); overflow:hidden; position:relative; aspect-ratio:16/10; margin-bottom:13px; background:#e8e8ec; }
.card .imgwrap img, .card .imgwrap .bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.card:hover .imgwrap img, .card:hover .imgwrap .bg { transform:scale(1.06); }
.card .imgwrap .tag { position:absolute; top:10px; left:10px; background:rgba(255,255,255,.95); color:var(--ink); font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.03em; padding:4px 10px; border-radius:6px; backdrop-filter:blur(4px); }
.card .cat { color:var(--accent,var(--red)); font-weight:800; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; }
.card h3 { font-size:18.5px; font-weight:700; margin:7px 0 8px; line-height:1.22; transition:color .18s; }
.card:hover h3 { color:var(--link); }
.card p { color:var(--muted); font-size:14px; font-weight:500; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card .foot { margin-top:11px; font-size:12.5px; color:var(--muted); font-weight:600; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* ═══ "MAIS LIDAS" (reaproveita .most-viewed do render_most_viewed) ═══ */
.box.most-viewed, .side-box { background:var(--bg-soft); border:none; border-radius:var(--radius); padding:24px 22px; box-shadow:none; }
.most-viewed .kicker, .side-box h3 { font-size:17px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:9px; margin-bottom:16px; letter-spacing:normal; text-transform:none; }
.most-viewed .kicker::before { content:"🔥"; font-size:15px; }
.most-viewed-list { list-style:none; }
.most-viewed-list li { display:grid; grid-template-columns:26px 1fr; gap:14px; align-items:start; padding:14px 0; border-bottom:1px solid var(--line); }
.most-viewed-list li:first-child { padding-top:0; }
.most-viewed-list li:last-child { border-bottom:none; padding-bottom:0; }
.mv-rank { font-family:'Newsreader', Georgia, serif; font-weight:700; font-size:28px; line-height:1; }
.most-viewed-list li a { font-size:14.5px; font-weight:600; line-height:1.3; color:var(--text); transition:color .18s; -webkit-line-clamp:3; }
.most-viewed-list li a:hover { color:var(--link); }

/* "Últimas" lateral (mini com thumb) */
.side-box .side-mini { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.side-box .side-mini:last-child { border-bottom:none; padding-bottom:0; }
.side-box .side-mini:first-child { padding-top:0; }
.side-box .side-mini .t { width:74px; height:56px; border-radius:8px; flex-shrink:0; overflow:hidden; position:relative; background:#e8e8ec; }
.side-box .side-mini .t img, .side-box .side-mini .t .bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.side-box .side-mini .c { color:var(--accent,var(--red)); font-weight:800; font-size:10.5px; text-transform:uppercase; }
.side-box .side-mini h4 { font-size:13.5px; font-weight:700; line-height:1.25; margin-top:4px; transition:color .18s; }
.side-box .side-mini:hover h4 { color:var(--link); }

/* ═══ DARK BAND (CTA Anuncie) ═════════════════════════════════ */
.band { background:var(--ink); border-radius:22px; padding:44px; margin:50px 0; color:#fff; display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:center; position:relative; overflow:hidden; }
.band::before { content:""; position:absolute; width:340px; height:340px; background:radial-gradient(circle,rgba(227,6,19,.35),transparent 70%); top:-120px; right:-80px; border-radius:50%; pointer-events:none; }
.band .info .tag { display:inline-flex; align-items:center; gap:7px; background:rgba(227,6,19,.18); color:#ff6b6b; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.05em; padding:6px 13px; border-radius:20px; }
.band .info h2 { color:#fff; font-size:clamp(24px,3vw,32px); margin:16px 0 12px; }
.band .info p { color:rgba(255,255,255,.72); font-size:15.5px; font-weight:500; }
.band .info .btn-band { display:inline-flex; align-items:center; gap:8px; margin-top:22px; background:#fff; color:var(--ink); border:none; font-family:inherit; font-weight:800; font-size:14.5px; padding:13px 26px; border-radius:11px; cursor:pointer; transition:.2s; }
.band .info .btn-band:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.25); }
.band .plans { display:grid; gap:12px; position:relative; }
.band .plan { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:14px 18px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:14px; color:rgba(255,255,255,.85); }
.band .plan strong { color:var(--yellow); font-weight:800; }

/* ═══ FAIXA DE PUBLICIDADE (3 anúncios 1080×1350 → 4:5) ═══════ */
/* Blocos anúncio + conteúdo (zigue-zague): topo-esq, meio-dir, fim-esq.
   O conteúdo ao lado preenche o espaço — sem buracos brancos. */
.ad-row { display:grid; gap:32px; margin:46px 0; align-items:center; }
.ad-row-left  { grid-template-columns:300px minmax(0,1fr); }   /* anúncio à esquerda */
.ad-row-right { grid-template-columns:minmax(0,1fr) 300px; }   /* anúncio à direita */
.ad-row .ad-cell { width:300px; max-width:100%; }
.ad-row .ad-cell .ad-slot { gap:0; }
.ad-row .ad-cell .ad-label { display:none; }
.ad-spot-cap { display:block; text-align:center; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; opacity:.6; margin-bottom:8px; }

/* Mini-grade de cards ao lado do anúncio */
.companion-title { font-size:18px; font-weight:800; color:var(--ink); margin-bottom:14px; display:flex; align-items:center; gap:9px; }
.companion-title::before { content:""; width:5px; height:18px; background:var(--accent,var(--red)); border-radius:3px; }
.ad-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:560px){ .ad-grid { grid-template-columns:1fr; } }

/* Faixa de anúncio: anúncio ao centro + 1 notícia de cada lado (desktop) */
.ad-flank { display:grid; grid-template-columns:1fr 340px 1fr; gap:24px; align-items:center; margin:46px 0; }
.ad-flank .ad-cell { display:flex; flex-direction:column; align-items:center; }
.ad-flank .ad-cell .ad-slot { width:100%; max-width:340px; gap:0; }
.ad-flank .ad-cell .ad-label { display:none; }
.ad-flank .side-card { min-width:0; }
@media(max-width:920px){
  .ad-flank { grid-template-columns:1fr; }
  .ad-flank .side-card { display:none; }     /* celular: só o anúncio */
  .ad-flank .ad-cell { margin-inline:auto; }
}

/* Hero: "Mais lidas" com a MESMA altura do carrossel */
.hero-side { display:flex; }
.hero-side > .box { flex:1; width:100%; }

/* Selo EXCLUSIVO */
.excl-badge { display:inline-flex; align-items:center; gap:4px; background:linear-gradient(135deg,#f59e0b,#fcd34d); color:#1a1a1c; font-weight:900; font-size:10px; text-transform:uppercase; letter-spacing:.05em; padding:4px 9px; border-radius:6px; box-shadow:0 2px 8px rgba(0,0,0,.18); white-space:nowrap; line-height:1; }
.excl-badge svg { width:12px; height:12px; }
.excl-badge.excl-lg { font-size:12.5px; padding:7px 13px; border-radius:7px; vertical-align:middle; }
.excl-badge.excl-lg svg { width:15px; height:15px; }
.card .imgwrap .excl-badge { position:absolute; top:10px; right:10px; z-index:2; }
.slide .excl-badge { margin-bottom:14px; }

/* Lista de manchetes ao lado do anúncio */
.head-list a { display:block; padding:13px 0; border-bottom:1px solid var(--line); font-weight:700; font-size:14.5px; line-height:1.32; color:var(--ink); transition:color .18s; }
.head-list a:first-child { padding-top:0; }
.head-list a:last-child { border-bottom:none; padding-bottom:0; }
.head-list a:hover { color:var(--link); }
.head-list .src { display:block; color:var(--accent,var(--red)); font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin-bottom:3px; }
.head-list a .src + * { font-weight:700; }

@media(max-width:760px){
  .ad-row-left, .ad-row-right { grid-template-columns:1fr; }
  .ad-row .ad-cell { width:100%; max-width:340px; margin-inline:auto; }
  .ad-row-right .ad-cell { order:-1; } /* no mobile, anúncio antes do conteúdo */
}

/* ═══ NEWSLETTER → CTA WHATSAPP (real) ════════════════════════ */
.nl { background:linear-gradient(120deg,var(--red),#ff3b47); border-radius:22px; padding:46px 44px; margin:50px 0; display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; position:relative; overflow:hidden; }
.nl::before { content:""; position:absolute; width:300px; height:300px; border:30px solid rgba(255,255,255,.08); border-radius:50%; bottom:-150px; left:-60px; }
.nl .txt { position:relative; }
.nl h2 { color:#fff; font-size:clamp(26px,3vw,34px); }
.nl p { color:rgba(255,255,255,.92); margin-top:12px; font-size:16px; font-weight:500; max-width:42ch; }
.nl .nl-card { position:relative; background:#fff; border-radius:16px; padding:26px; }
.nl .nl-card strong { font-weight:800; font-size:15px; color:var(--ink); display:block; }
.nl .nl-card p { color:var(--muted); font-size:14px; margin:8px 0 16px; max-width:none; }
.nl .nl-card .wa { display:inline-flex; align-items:center; gap:9px; background:#25d366; color:#fff; font-weight:800; font-size:15px; padding:13px 22px; border-radius:11px; transition:.2s; }
.nl .nl-card .wa:hover { background:#1ebe5b; transform:translateY(-1px); }
.nl .nl-card .wa svg { width:20px; height:20px; fill:currentColor; }

/* ═══ EXTERNAL NEWS (Brasil e Mundo) — alinhado ao tema ═══════ */
.external-news-section { background:var(--bg-soft); border-radius:22px; padding:36px; margin:50px 0; }
.external-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:8px; }
.external-news-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; transition:transform .2s, box-shadow .2s; }
.external-news-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.external-news-card .ext-cover { display:block; aspect-ratio:16/9; border-radius:10px; overflow:hidden; margin-bottom:12px; background:#e8e8ec; }
.external-news-card .ext-cover img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.external-news-card:hover .ext-cover img { transform:scale(1.05); }
.external-news-card h3 { font-size:16px; font-weight:700; line-height:1.3; margin:4px 0 8px; }
.external-news-card h3 a:hover { color:var(--link); }
.external-news-card p { color:var(--muted); font-size:13.5px; font-weight:500; }
.external-news-card small { color:var(--muted); font-size:12px; font-weight:600; display:block; margin-top:8px; }

/* ═══ FOOTER ══════════════════════════════════════════════════ */
.site-foot { background:var(--ink); color:#fff; padding:52px 0 0; margin-top:30px; }
.foot-top { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:34px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1); }
.foot-brand .logo .wordmark h1 { color:#fff; }
.foot-brand .logo .wordmark h1 b { color:#ff6b6b; }
.foot-logo .logo-img { height:66px; width:auto; max-width:260px; object-fit:contain; }
.foot-brand p { color:rgba(255,255,255,.55); margin-top:16px; font-size:14.5px; max-width:34ch; font-weight:500; line-height:1.55; }
.foot-soc { display:flex; gap:9px; margin-top:20px; }
.foot-soc a { width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.08); display:grid; place-items:center; color:#fff; transition:.2s; }
.foot-soc a:hover { background:var(--red); transform:translateY(-3px); }
.foot-soc a svg { width:18px; height:18px; fill:currentColor; }
.foot-col h4 { font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:#ff6b6b; margin-bottom:15px; font-weight:800; }
.foot-col a { display:block; color:rgba(255,255,255,.6); font-size:14.5px; padding:5px 0; font-weight:500; transition:.2s; }
.foot-col a:hover { color:#fff; padding-left:5px; }
.foot-bottom { display:flex; justify-content:space-between; padding:22px 0; font-size:13px; color:rgba(255,255,255,.45); font-weight:500; flex-wrap:wrap; gap:10px; }
.foot-bottom a { color:rgba(255,255,255,.6); }
.foot-bottom a:hover { color:#fff; }

/* ═══ SEARCH OVERLAY ══════════════════════════════════════════ */
.search-ov { position:fixed; inset:0; background:rgba(255,255,255,.98); backdrop-filter:blur(6px); z-index:2000; display:flex; flex-direction:column; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:.28s; padding:20px; }
.search-ov.open { opacity:1; pointer-events:auto; }
.search-ov .box { width:min(640px,100%); }
.search-ov .ib { display:flex; align-items:center; gap:14px; border-bottom:3px solid var(--ink); padding-bottom:14px; }
.search-ov input { flex:1; border:none; background:none; font-family:'Newsreader', Georgia, serif; font-size:clamp(26px,5vw,46px); font-weight:600; outline:none; color:var(--ink); }
.search-ov input::placeholder { color:#c5c5cc; }
.search-ov .hint { margin-top:16px; color:var(--muted); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.search-ov .tags { margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; }
.search-ov .tags a { background:var(--bg-soft); padding:8px 16px; border-radius:20px; font-weight:700; font-size:14px; transition:.2s; }
.search-ov .tags a:hover { background:var(--red); color:#fff; }
.search-ov .close { position:absolute; top:26px; right:30px; width:46px; height:46px; border-radius:12px; border:none; background:var(--bg-soft); font-size:22px; cursor:pointer; transition:.2s; }
.search-ov .close:hover { background:var(--line); }

/* ═══ MOBILE DRAWER ═══════════════════════════════════════════ */
.drawer { position:fixed; top:0; right:0; bottom:0; width:min(310px,84vw); background:#fff; z-index:1500; transform:translateX(100%); transition:transform .34s cubic-bezier(.4,0,.2,1); box-shadow:-12px 0 40px rgba(0,0,0,.16); display:flex; flex-direction:column; padding:26px 24px; overflow-y:auto; }
.drawer.open { transform:none; }
.drawer .dh { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.drawer .dh button { background:var(--bg-soft); border:none; width:40px; height:40px; border-radius:11px; font-size:20px; cursor:pointer; }
.drawer a.nav-link { font-size:19px; font-weight:700; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); transition:.2s; }
.drawer a.nav-link:hover { color:var(--red); padding-left:6px; }
.ovbg { position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1400; opacity:0; pointer-events:none; transition:.3s; }
.ovbg.open { opacity:1; pointer-events:auto; }

/* ═══ REVEAL ══════════════════════════════════════════════════ */
.rv { opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
.rv.in { opacity:1; transform:none; }
body.reduce-motion .rv { opacity:1; transform:none; transition:none; }

/* ═══════════════════════════════════════════════════════════════
   PÁGINA DE MATÉRIA
   ═══════════════════════════════════════════════════════════════ */
.read-progress { position:fixed; top:0; left:0; right:0; height:3px; background:transparent; z-index:900; opacity:0; transition:opacity .25s; pointer-events:none; }
.read-progress.visible { opacity:1; }
.read-progress span { display:block; height:100%; width:0; background:var(--red); transition:width .1s linear; }

.article-wrap { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:48px; margin-top:34px; align-items:start; }
.article-main { max-width:760px; width:100%; }

.breadcrumb { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--muted); margin-bottom:22px; flex-wrap:wrap; }
.breadcrumb a:hover { color:var(--red); }
.breadcrumb .sep { opacity:.5; }
.breadcrumb .cur { color:var(--red); }

.art-cat { display:inline-block; color:#fff; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.05em; padding:6px 13px; border-radius:7px; margin-bottom:16px; background:var(--accent,var(--red)); }
.art-title { font-size:clamp(27px,4.2vw,44px); font-weight:800; line-height:1.12; letter-spacing:-.025em; color:var(--ink); }
.art-lead { font-family:'Newsreader', Georgia, serif; font-size:clamp(18px,2.2vw,22px); font-weight:500; color:#4a4a52; line-height:1.5; margin-top:18px; }

.byline { display:flex; align-items:center; gap:14px; margin:26px 0; padding-bottom:22px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.byline .av { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--accent,var(--red)),#ff5a4d); display:grid; place-items:center; color:#fff; font-weight:800; font-size:17px; flex-shrink:0; }
.byline .who b { font-size:15px; color:var(--ink); font-weight:800; }
.byline .who span { display:block; font-size:13px; color:var(--muted); font-weight:600; margin-top:2px; }
.byline .when { margin-left:auto; text-align:right; font-size:13px; color:var(--muted); font-weight:600; }
@media(max-width:480px){ .byline .when { margin-left:0; text-align:left; width:100%; } }

/* Botões de compartilhar (em destaque, com rótulo) */
.share { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.share .lbl { font-size:13px; font-weight:800; color:var(--muted); width:100%; margin-bottom:2px; }
.share a, .share button { display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 18px; border:none; border-radius:12px; cursor:pointer; font-family:inherit; font-weight:800; font-size:14.5px; color:#fff; text-decoration:none; transition:transform .18s, box-shadow .18s, filter .18s; }
.share a svg, .share button svg { width:19px; height:19px; fill:currentColor; }
.share a:hover, .share button:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(20,20,30,.18); filter:brightness(1.05); }
.share .wpp { background:#25d366; }
.share .fb { background:#1877f2; }
.share .x { background:#111; }
.share .native { background:var(--red); display:none; }
.share.share-has-native .native { display:inline-flex; }
.share .link { background:var(--bg-soft); color:var(--ink); border:1.5px solid var(--line); }
.share .link.copied { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.share .copied-msg { font-size:13px; font-weight:800; color:var(--green); align-self:center; }

/* Barra flutuante de compartilhar (desktop) — somente ícones */
.share-float { position:fixed; left:max(16px, calc(50vw - 600px)); top:50%; transform:translateY(-50%); z-index:500; display:flex; flex-direction:column; gap:10px; }
.share-float a, .share-float button { width:46px; height:46px; padding:0; justify-content:center; border-radius:13px; box-shadow:0 6px 16px rgba(20,20,30,.14); }
.share-float .native { display:none; }
@media(max-width:1320px){ .share-float { display:none; } }

.art-hero { margin:26px 0 8px; border-radius:var(--radius); overflow:hidden; }
.art-hero img { width:100%; display:block; }
.art-hero .cap { font-size:12.5px; color:var(--muted); font-weight:600; padding:10px 4px 0; line-height:1.4; }

/* corpo: refina .article-content (content.css cuida de mídias/figuras/iframes) */
.article-content { margin-top:18px; font-size:18px; line-height:1.72; color:#2e2e34; }
.article-content p { margin:0 0 22px; }
.article-content p:first-of-type::first-letter { font-family:'Newsreader', Georgia, serif; font-size:62px; font-weight:700; float:left; line-height:.82; padding:6px 12px 0 0; color:var(--accent,var(--red)); }
.article-content h2 { font-size:26px; font-weight:800; margin:38px 0 16px; letter-spacing:-.02em; color:var(--ink); }
.article-content h3 { font-size:21px; font-weight:800; margin:28px 0 12px; color:var(--ink); }
.article-content a { color:var(--link); font-weight:700; text-decoration:none; border-bottom:2px solid rgba(24,88,184,.2); transition:.2s; }
.article-content a:hover { border-color:var(--link); }
.article-content strong { color:var(--ink); font-weight:800; }
.article-content blockquote { margin:34px 0; padding:6px 0 6px 26px; border-left:5px solid var(--red); background:none; border-radius:0; font-family:'Newsreader', Georgia, serif; font-size:24px; font-weight:600; font-style:italic; color:var(--ink); line-height:1.4; }

.art-tags { display:flex; gap:9px; flex-wrap:wrap; margin:32px 0; }
.art-tags a { background:var(--bg-soft); padding:8px 15px; border-radius:20px; font-size:13.5px; font-weight:700; transition:.2s; }
.art-tags a:hover { background:var(--red); color:#fff; }

.author-card { display:flex; gap:18px; background:var(--bg-soft); border-radius:var(--radius); padding:24px; margin:14px 0 36px; align-items:center; }
.author-card .av { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--accent,var(--red)),#ff5a4d); display:grid; place-items:center; color:#fff; font-weight:800; font-size:22px; flex-shrink:0; }
.author-card .ai b { font-size:16px; color:var(--ink); }
.author-card .ai span { display:block; font-size:13.5px; color:var(--muted); font-weight:600; margin-top:3px; line-height:1.45; }

.related { border-top:1px solid var(--line); margin-top:40px; padding-top:36px; }
.related h2 { font-size:24px; display:flex; align-items:center; gap:11px; margin-bottom:22px; }
.related h2::before { content:""; width:5px; height:24px; background:var(--red); border-radius:3px; }
.rel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.article-aside { display:flex; flex-direction:column; gap:24px; }
.article-aside .sticky { position:static; }  /* rola junto: evita sobrepor anúncios */

/* ═══ RESPONSIVO ══════════════════════════════════════════════ */
@media(max-width:920px){
  /* Cabeçalho em linha única: [menu] [logo central] [busca] — sem sobrepor */
  .head-main { flex-direction:row; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; }
  .head-nav { display:none; }
  .head-search, .menu-btn { position:static; top:auto; right:auto; }
  .menu-btn { display:grid; order:0; }
  .logo { order:1; flex:1; justify-content:center; min-width:0; }
  .head-search { order:2; }
  .logo .mark { width:50px; height:50px; }
  .logo .wordmark h1 { font-size:26px; }
  .logo .logo-img { height:64px; max-width:min(72vw,320px); }
  .hero-grid { grid-template-columns:1fr; }
  .grid { grid-template-columns:repeat(2,1fr); }
  .layout { grid-template-columns:1fr; gap:28px; }
  .layout .side-col { position:static; }
  .band { grid-template-columns:1fr; padding:32px; }
  .nl { grid-template-columns:1fr; padding:34px 28px; }
  .external-news-grid { grid-template-columns:repeat(2,1fr); }
  .foot-top { grid-template-columns:1fr 1fr; }
  .article-wrap { grid-template-columns:1fr; gap:30px; }
  .article-aside .sticky { position:static; }
  .rel-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .strip-date { display:none; }
  .grid { grid-template-columns:1fr; }
  .ad-portraits { grid-template-columns:1fr; max-width:360px; margin-inline:auto; }
  .external-news-grid { grid-template-columns:1fr; }
  .lead { min-height:380px; }
  .lead .content { padding:24px; }
  .rel-grid { grid-template-columns:1fr; }
  .foot-top { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   ANÚNCIOS (público) — formato retrato 1080×1350 (4:5)
   ═══════════════════════════════════════════════════════════════ */
.ad-slot { display:flex; flex-direction:column; gap:7px; }
.ad-label { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; text-align:center; opacity:.6; }

.midia-card { display:block; width:100%; border-radius:var(--radius); overflow:hidden; background:#f1f5f9; border:1px solid var(--line); aspect-ratio:1080/1350; }
.midia-card img { width:100%; height:100%; object-fit:cover; display:block; }

/* Banners horizontais (caso sejam usados) */
.ad-topo .midia-card, .ad-meio .midia-card, .ad-rodape .midia-card { aspect-ratio:970/250; }
.ad-topo .midia-card img, .ad-meio .midia-card img, .ad-rodape .midia-card img { object-fit:contain; background:#fff; }
.ad-billboard { margin:28px auto; text-align:center; }

/* Slot vazio: convite comercial sóbrio */
.ad-empty-cta {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  width:100%; aspect-ratio:1080/1350; padding:20px; text-align:center; color:var(--muted);
  background:radial-gradient(120% 120% at 50% 0%, rgba(227,6,19,.04), transparent 70%), linear-gradient(180deg,#fff,#f6f6f8);
  border:1px dashed var(--line); border-radius:var(--radius); transition:border-color .18s, box-shadow .18s, transform .18s;
}
.ad-topo .ad-empty-cta, .ad-meio .ad-empty-cta, .ad-rodape .ad-empty-cta { aspect-ratio:970/250; }
.ad-empty-cta:hover { border-color:var(--red); box-shadow:0 8px 22px rgba(227,6,19,.10); transform:translateY(-1px); }
.ad-empty-cta svg { width:28px; height:28px; opacity:.35; margin-bottom:2px; }
.ad-empty-cta strong { font-size:14px; font-weight:800; color:var(--ink); }
.ad-empty-cta em { font-style:normal; font-size:12px; font-weight:600; color:var(--muted); }

/* ═══ PAGINAÇÃO ═══════════════════════════════════════════════ */
.pagination { display:flex; gap:12px; align-items:center; justify-content:center; margin:40px 0 8px; flex-wrap:wrap; }
.pagination span { font-weight:700; color:var(--muted); font-size:14px; }
.pag-btn { background:var(--ink); color:#fff; font-weight:800; font-size:14px; padding:11px 20px; border-radius:11px; transition:.2s; }
.pag-btn:hover { background:var(--red); transform:translateY(-1px); }

/* ═══ BUSCA (form na página) ══════════════════════════════════ */
.search-inline { display:flex; gap:10px; max-width:560px; }
.search-inline input { flex:1; border:1.5px solid var(--line); border-radius:11px; padding:13px 16px; font-family:inherit; font-size:15px; font-weight:500; outline:none; transition:border-color .2s; }
.search-inline input:focus { border-color:var(--red); }
@media(max-width:560px){ .search-inline { flex-direction:column; } .search-inline .cta { display:inline-flex; } }

/* ═══════════════════════════════════════════════════════════════
   Álbum de fotos nas matérias + Lightbox
   ═══════════════════════════════════════════════════════════════ */
.article-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:24px 0; border-radius:var(--radius); overflow:hidden; }
.article-gallery:has(figure:only-child) { grid-template-columns:1fr; }
.article-gallery:has(figure:nth-child(2)):not(:has(figure:nth-child(3))) { grid-template-columns:1fr 1fr; }
.article-gallery:has(figure:nth-child(4)) figure:first-child { grid-column:span 2; grid-row:span 2; }
.article-gallery figure { margin:0; overflow:hidden; position:relative; cursor:pointer; background:#1a1a1c; }
.article-gallery figure img { width:100%; height:220px; object-fit:cover; display:block; transition:transform .3s ease, opacity .3s; border-radius:0; }
.article-gallery:has(figure:nth-child(4)) figure:first-child img { height:450px; }
.article-gallery figure:hover img { transform:scale(1.04); opacity:.92; }
.article-gallery figure::after { content:"⛶"; position:absolute; bottom:10px; right:10px; background:rgba(26,26,28,.7); color:#fff; border-radius:6px; padding:4px 8px; font-size:16px; opacity:0; transition:opacity .2s; pointer-events:none; }
.article-gallery figure:hover::after { opacity:1; }
.article-gallery figcaption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(26,26,28,.8)); color:#fff; font-size:12px; padding:20px 10px 8px; transform:translateY(100%); transition:transform .25s; }
.article-gallery figure:hover figcaption { transform:translateY(0); }

.lightbox-overlay { position:fixed; inset:0; background:rgba(5,8,18,.94); z-index:9000; display:flex; align-items:center; justify-content:center; animation:fadeIn .2s ease; padding:20px; }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.lightbox-inner { position:relative; max-width:min(1100px,95vw); max-height:90vh; display:flex; flex-direction:column; align-items:center; gap:12px; }
.lightbox-inner img { max-width:100%; max-height:80vh; object-fit:contain; border-radius:10px; box-shadow:0 32px 80px rgba(0,0,0,.5); }
.lightbox-caption { color:rgba(255,255,255,.8); font-size:14px; text-align:center; max-width:600px; }
.lightbox-counter { color:rgba(255,255,255,.5); font-size:12px; font-weight:700; }
.lightbox-close { position:fixed; top:16px; right:20px; background:rgba(255,255,255,.1); border:none; color:#fff; font-size:24px; width:44px; height:44px; border-radius:999px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; z-index:2; }
.lightbox-close:hover { background:rgba(255,255,255,.2); }
.lightbox-prev, .lightbox-next { position:fixed; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:none; color:#fff; font-size:22px; width:48px; height:48px; border-radius:999px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; z-index:2; }
.lightbox-prev { left:16px; } .lightbox-next { right:16px; }
.lightbox-prev:hover, .lightbox-next:hover { background:rgba(255,255,255,.22); }
@media(max-width:640px){ .article-gallery { grid-template-columns:repeat(2,1fr); } .article-gallery figure img { height:150px; } .article-gallery:has(figure:nth-child(4)) figure:first-child img { height:300px; } }
