/*
Theme Name: Aprova Blog
Theme URI: https://aprova.iesde-dev.com.br/
Author: Gustavo Moreira
Description: Tema clássico (PHP puro, sem builder/Gutenberg) para o Blog Aprova Concursos. Casca fiel ao protótipo; feed de posts dinâmico via WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: aprova-blog
*/

/* ============================================================
   TOKENS
============================================================ */
:root{
  --brand:       #2E9E68;
  --brand-l:     #5FC48C;
  --brand-bg:    #EBF7F1;
  --brand-bd:    rgba(46,158,104,.18);
  --bg:          #F7F5F0;
  --bg-card:     #FFFFFF;
  --bg-stripe:   #F0EDE7;
  --bg-dark:     #1A2522;
  --ink:         #18211F;
  --ink2:        #3D4F4A;
  --ink3:        #6B7975;
  --inkf:        #AAB8B3;
  --rule:        rgba(0,0,0,.08);
  --ruled:       rgba(0,0,0,.14);
  --r8:8px; --r12:12px; --r16:16px; --rpill:9999px;
  --fs:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --fu:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --t:.2s var(--ease);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--fu);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ============================================================
   TOPBAR utilitária
============================================================ */
.topbar{
  background:var(--bg-dark);height:34px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 32px;position:relative;z-index:301;
}
.tb-left{display:flex;align-items:center;gap:18px;font-size:11.5px;color:rgba(255,255,255,.45)}
.tb-left a{color:rgba(255,255,255,.45);text-decoration:none;transition:color var(--t)}
.tb-left a:hover{color:var(--brand-l)}
.tb-sep{width:1px;height:12px;background:rgba(255,255,255,.14)}
.tb-date{font-style:italic;font-size:11.5px;color:rgba(255,255,255,.3)}
.tb-cta{font-size:11.5px;font-weight:600;color:var(--brand-l);text-decoration:none;transition:color var(--t);display:flex;align-items:center;gap:5px}
.tb-cta:hover{color:#fff}

/* ============================================================
   NAV
============================================================ */
.nav{
  position:sticky;top:0;z-index:300;height:60px;
  background:rgba(247,245,240,.97);border-bottom:1px solid var(--ruled);
  backdrop-filter:blur(16px);
  display:flex;align-items:center;justify-content:space-between;padding:0 32px;
}
.nav-logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.logo-mark{width:32px;height:32px;border-radius:9px;background:var(--brand);display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-weight:700;font-size:14px;color:#fff;flex-shrink:0}
.logo-word{font-family:var(--fs);font-size:19px;color:var(--ink);letter-spacing:-.02em;line-height:1}
.logo-word em{color:var(--brand);font-style:normal}
.logo-sub{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-left:2px;vertical-align:super}

.nav-links{display:flex;align-items:center;gap:1px}
/* links reais para categorias — ponto 1 do Zampi */
.nav-a{padding:6px 13px;border-radius:var(--rpill);font-size:13.5px;font-weight:500;color:var(--ink2);text-decoration:none;transition:all var(--t);white-space:nowrap}
.nav-a:hover{color:var(--ink);background:rgba(0,0,0,.05)}
.nav-a.hl{color:var(--brand);font-weight:600}

.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.nav-icon{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--ruled);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink3);cursor:pointer;transition:all var(--t)}
.nav-icon:hover{background:rgba(0,0,0,.05);color:var(--ink)}
.btn-cta{padding:8px 20px;border-radius:var(--rpill);background:var(--brand);color:#fff;font-family:var(--fu);font-weight:600;font-size:13px;text-decoration:none;transition:all var(--t);border:none;cursor:pointer}
.btn-cta:hover{background:#26895A;transform:translateY(-1px)}

/* ============================================================
   GEO-SEO BAR — "barra de estados" obrigatória (ponto 2 + 3 do Zampi)
   Sticky logo abaixo do nav, bem visível, não colapsável
============================================================ */
.geo-bar{
  position:sticky;top:60px;z-index:200;
  background:var(--bg-card);
  border-bottom:2px solid var(--brand);  /* linha verde reforça identidade */
}
.geo-inner{
  display:flex;align-items:center;
  padding:0 32px;
  overflow-x:auto;scrollbar-width:none;gap:0;
}
.geo-inner::-webkit-scrollbar{display:none}
.geo-lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--brand);padding:11px 16px 11px 0;
  flex-shrink:0;white-space:nowrap;
  border-right:1px solid var(--rule);margin-right:6px;
  display:flex;align-items:center;gap:5px;
}
/* cada estado é um link real para /noticias/?estado=SP etc. */
.geo-btn{
  padding:10px 11px;border:none;background:transparent;
  font-family:var(--fu);font-size:12.5px;font-weight:600;color:var(--ink3);
  cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-2px;
  text-decoration:none;display:inline-block;
  transition:all var(--t);
}
.geo-btn:hover{color:var(--ink)}
.geo-btn.on{color:var(--brand);border-bottom-color:var(--brand)}

/* ============================================================
   HERO — editorial escuro
============================================================ */
.hero{background:var(--bg-dark);position:relative;overflow:hidden;min-height:480px;display:flex}
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(95,196,140,.07) 1.5px,transparent 1.5px);background-size:28px 28px}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(26,37,34,.96) 42%,rgba(26,37,34,.65) 68%,rgba(26,37,34,.08) 100%)}

.hero-main{flex:1;min-width:0;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:48px 48px 44px}
.slide{display:none}
.slide.on{display:flex;flex-direction:column;justify-content:flex-end;flex:1}

.s-eye{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.s-fresh{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--rpill);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.sf-h{background:rgba(95,196,140,.18);color:#6EDAA0;border:1px solid rgba(95,196,140,.28)}
.sf-48{background:rgba(95,196,140,.12);color:#6EDAA0;border:1px solid rgba(95,196,140,.2)}
.sf-ev{background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.12)}
.sf-dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:blink 2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.s-sec{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.s-title{font-family:var(--fs);font-size:clamp(1.75rem,3.2vw,2.85rem);line-height:1.1;color:#fff;margin-bottom:12px;letter-spacing:-.01em}
.s-title b{color:var(--brand-l)}
.s-datepill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--rpill);padding:3px 11px;font-size:12px;font-weight:500;color:rgba(255,255,255,.6);margin-bottom:12px}
.s-datepill strong{color:rgba(255,255,255,.82);font-weight:600}
.s-lead{font-size:15px;line-height:1.68;color:rgba(255,255,255,.55);margin-bottom:22px;max-width:460px}
.s-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn-hm{padding:10px 22px;border-radius:var(--rpill);background:var(--brand);color:#fff;font-family:var(--fu);font-weight:600;font-size:13.5px;text-decoration:none;transition:all var(--t);border:none;cursor:pointer}
.btn-hm:hover{background:#26895A;transform:translateY(-1px)}
.btn-hg{padding:9px 20px;border-radius:var(--rpill);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.72);background:transparent;font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--t)}
.btn-hg:hover{border-color:rgba(255,255,255,.42);color:#fff}

.hero-dots{position:absolute;bottom:18px;left:48px;display:flex;gap:7px;z-index:3}
.hdot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);border:none;padding:0;cursor:pointer;transition:all var(--t)}
.hdot.on{background:var(--brand-l);width:22px;border-radius:var(--rpill)}

.hero-index{width:300px;flex-shrink:0;background:rgba(12,18,17,.85);backdrop-filter:blur(18px);border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;position:relative;z-index:2}
.hi-head{padding:16px 18px 12px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}
.hi-item{display:flex;align-items:flex-start;gap:11px;padding:13px 18px;cursor:pointer;flex:1;border-left:3px solid transparent;border-bottom:1px solid rgba(255,255,255,.05);transition:all var(--t)}
.hi-item:last-child{border-bottom:none}
.hi-item:hover,.hi-item.on{background:rgba(95,196,140,.07);border-left-color:var(--brand-l)}
.hi-num{font-family:var(--fs);font-size:20px;color:rgba(95,196,140,.2);line-height:1;flex-shrink:0;width:20px}
.hi-body{flex:1;min-width:0}
.hi-tag{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--brand-l);margin-bottom:3px;display:block}
.hi-title{font-family:var(--fu);font-weight:500;font-size:12.5px;line-height:1.42;color:rgba(255,255,255,.72);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px}
.hi-date{font-size:11px;color:var(--brand-l);font-weight:600}

/* ============================================================
   MAIN WRAP
============================================================ */
.main-wrap{display:flex;align-items:flex-start;gap:0;max-width:1360px;margin:0 auto;padding:40px 32px}
.content{flex:1;min-width:0}
.sidebar{width:288px;flex-shrink:0;margin-left:28px;position:sticky;top:112px;display:flex;flex-direction:column;gap:20px}

/* ============================================================
   SECTION HEADERS
============================================================ */
.sec{margin-bottom:44px}
.sec-hd{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--ruled)}
.sec-hd-l{display:flex;align-items:flex-end;gap:12px}
.sec-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:2px;display:block}
.sec-title{font-family:var(--fs);font-size:22px;color:var(--ink);line-height:1;letter-spacing:-.01em}
.sec-title b{color:var(--brand)}
/* "Veja mais" com path real — ponto 4 do Zampi */
.see-all{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--brand);text-decoration:none;white-space:nowrap;padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color var(--t)}
.see-all:hover{border-bottom-color:var(--brand)}

.sec-stripe{background:var(--bg-stripe);margin:0 -32px 44px;padding:32px 32px 8px}
.sec-stripe .sec-hd{border-bottom-color:var(--ruled)}

/* ============================================================
   CARROSSEL
============================================================ */
.car-outer{position:relative;overflow:hidden}
.car-track{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 20px;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.car-track::-webkit-scrollbar{display:none}
.fade-l,.fade-r{position:absolute;top:0;bottom:0;width:52px;pointer-events:none;z-index:2}
.fade-l{left:0;background:linear-gradient(to right,var(--bg),transparent)}
.fade-r{right:0;background:linear-gradient(to left,var(--bg),transparent)}
.sec-stripe .fade-l{background:linear-gradient(to right,var(--bg-stripe),transparent)}
.sec-stripe .fade-r{background:linear-gradient(to left,var(--bg-stripe),transparent)}
.arr{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--ruled);color:var(--ink2);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--t);box-shadow:0 2px 8px rgba(0,0,0,.1)}
.arr:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.arr.l{left:4px}.arr.r{right:4px}
.arr{opacity:1}

/* ============================================================
   CARDS
============================================================ */
.card{flex:0 0 auto;scroll-snap-align:start;width:262px;background:var(--bg-card);border-radius:var(--r12);border:1px solid var(--rule);cursor:pointer;position:relative;overflow:visible;z-index:1;transition:transform .32s var(--ease),box-shadow .32s var(--ease),z-index 0s .32s}
.card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 16px 40px rgba(0,0,0,.13);z-index:50;transition:transform .32s var(--ease),box-shadow .32s var(--ease),z-index 0s}
.card-in{border-radius:var(--r12);overflow:hidden;background:var(--bg-card)}
.thumb{height:150px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.thumb-icon{font-size:2.2rem;position:relative;z-index:1}
.t1{background:linear-gradient(135deg,#D8EDE4,#EEF7F2)}
.t2{background:linear-gradient(135deg,#D8E8F0,#EBF4FA)}
.t3{background:linear-gradient(135deg,#E8D8F2,#F4EEF9)}
.t4{background:linear-gradient(135deg,#F2E4D0,#FAF3E8)}
.t5{background:linear-gradient(135deg,#D5EDE2,#E8F5EC)}
.t6{background:linear-gradient(135deg,#D8E2F0,#EBF0FA)}

.f-tag{position:absolute;top:8px;left:8px;z-index:2;padding:3px 9px;border-radius:var(--rpill);font-size:9.5px;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;gap:4px}
.f-h{background:rgba(46,158,104,.15);color:#1A7A4A;border:1px solid rgba(46,158,104,.25)}
.f-o{background:rgba(46,158,104,.1);color:#2E8A55;border:1px solid rgba(46,158,104,.18)}
.f-s{background:rgba(0,0,0,.06);color:var(--ink2);border:1px solid rgba(0,0,0,.1)}
.f-dot{width:4px;height:4px;border-radius:50%;background:currentColor;animation:blink 2s ease-in-out infinite}
.cbadge{position:absolute;top:8px;left:8px;z-index:2;padding:3px 10px;border-radius:var(--rpill);font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.cb-g{background:rgba(46,158,104,.14);color:#1A7A4A;border:1px solid rgba(46,158,104,.22)}
.cb-b{background:rgba(30,100,190,.1);color:#1A5AB0;border:1px solid rgba(30,100,190,.18)}
.cb-o{background:rgba(190,100,20,.1);color:#8A4810;border:1px solid rgba(190,100,20,.18)}
.dur{position:absolute;bottom:7px;right:7px;z-index:2;padding:2px 8px;border-radius:6px;background:rgba(0,0,0,.55);font-size:11px;font-weight:600;color:#fff}
.play-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.06);opacity:0;transition:opacity var(--t);z-index:3}
.card:hover .play-ov{opacity:1}
.play-btn{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(46,158,104,.4);transform:scale(.85);transition:transform var(--t)}
.card:hover .play-btn{transform:scale(1)}
.card-body{padding:13px 15px 15px}
.card-tags{display:flex;gap:5px;margin-bottom:7px;flex-wrap:wrap}
.ctag{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);padding:2px 8px;border-radius:var(--rpill);background:var(--brand-bg);border:1px solid var(--brand-bd)}
.card-title{font-family:var(--fu);font-weight:600;font-size:13.5px;line-height:1.44;color:var(--ink);margin-bottom:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.card-date{font-size:12px;color:var(--brand);font-weight:600;display:flex;align-items:center;gap:5px}
.card-date span{color:var(--ink3);font-weight:400}
.card-meta{font-size:12px;color:var(--ink3);display:flex;align-items:center;gap:6px}
.dsep{width:3px;height:3px;border-radius:50%;background:var(--inkf)}

/* autor linkável — ponto 3 do Zampi: /blog/autores/ */
.author-link{display:flex;align-items:center;gap:5px;text-decoration:none;font-size:12px;color:var(--ink3);transition:color var(--t)}
.author-link:hover{color:var(--brand)}
.author-link:hover .au-name{text-decoration:underline}
.au-av{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#5FC48C);display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff;flex-shrink:0}
.au-name{font-size:11.5px}

.hover-panel{position:absolute;left:0;right:0;top:100%;z-index:49;background:var(--bg-card);border:1px solid var(--ruled);border-top:none;border-radius:0 0 var(--r12) var(--r12);padding:10px 14px 12px;opacity:0;transform:translateY(-4px);transition:opacity .28s var(--ease),transform .28s var(--ease);pointer-events:none;box-shadow:0 12px 30px rgba(0,0,0,.1)}
.card:hover .hover-panel{opacity:1;transform:translateY(0);pointer-events:auto}
.hp-txt{font-size:12.5px;line-height:1.6;color:var(--ink2);margin-bottom:9px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.hp-ft{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hp-cta{font-size:11.5px;font-weight:600;color:var(--brand);white-space:nowrap}

/* ============================================================
   FEATURED GRID (guias)
============================================================ */
.feat-grid{display:grid;grid-template-columns:1fr 292px;gap:14px}
.feat-main{border-radius:var(--r16);overflow:hidden;background:var(--bg-card);border:1px solid var(--rule);cursor:pointer;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.feat-main:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,.1)}
.feat-thumb{height:250px;display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden}
.feat-body{padding:22px}
.feat-title{font-family:var(--fs);font-size:19px;color:var(--ink);margin-bottom:10px;line-height:1.25;letter-spacing:-.01em}
.feat-excerpt{font-size:14px;line-height:1.72;color:var(--ink2);margin-bottom:18px}
.feat-stack{display:flex;flex-direction:column;gap:10px}
.side-card{display:flex;gap:11px;padding:11px;border-radius:var(--r12);background:var(--bg-card);border:1px solid var(--rule);cursor:pointer;text-decoration:none;transition:all var(--t)}
.side-card:hover{border-color:var(--brand-bd);box-shadow:0 4px 14px rgba(0,0,0,.07);transform:translateX(3px)}
.sc-thumb{width:62px;height:56px;border-radius:var(--r8);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.sc-body{flex:1;min-width:0}
.sc-title{font-family:var(--fu);font-weight:600;font-size:12.5px;line-height:1.4;color:var(--ink);margin-bottom:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sc-meta{font-size:11.5px;color:var(--ink3)}

/* ============================================================
   SEÇÃO "TODAS AS POSTAGENS" — ponto 4 do Zampi
   Destino do âncora #todas, H2 SEO, grid de feed
============================================================ */
.all-posts{padding-top:8px;margin-bottom:0}
.all-posts-hd{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:24px;padding-bottom:16px;
  border-bottom:1px solid var(--ruled);
}
.all-posts-hd h2{font-family:var(--fs);font-size:26px;color:var(--ink);letter-spacing:-.01em}
.all-posts-hd h2 span{color:var(--brand)}
.all-posts-hd p{font-size:13px;color:var(--ink3);margin-top:4px}
.feed-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ff-btn{padding:6px 14px;border-radius:var(--rpill);border:1px solid var(--rule);background:var(--bg-card);font-size:12.5px;font-weight:500;color:var(--ink3);cursor:pointer;transition:all var(--t);text-decoration:none;white-space:nowrap}
.ff-btn:hover{border-color:var(--brand-bd);color:var(--brand)}
.ff-btn.on{background:var(--brand);border-color:var(--brand);color:#fff}

.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}
.feed-card{background:var(--bg-card);border-radius:var(--r12);border:1px solid var(--rule);overflow:hidden;text-decoration:none;transition:all .28s var(--ease);display:block}
.feed-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);border-color:var(--brand-bd)}
.fc-thumb{height:165px;display:flex;align-items:center;justify-content:center;font-size:2.8rem;position:relative;overflow:hidden}
.fc-body{padding:16px}
.fc-tags{display:flex;gap:5px;margin-bottom:8px;flex-wrap:wrap}
.fc-title{font-family:var(--fu);font-weight:600;font-size:14px;line-height:1.44;color:var(--ink);margin-bottom:10px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fc-author{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink3)}
.fc-av{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#5FC48C);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;flex-shrink:0}
/* autor linkável no feed */
.fc-author a{color:var(--ink3);text-decoration:none;transition:color var(--t)}
.fc-author a:hover{color:var(--brand);text-decoration:underline}
.fc-date{font-size:11.5px;color:var(--brand);font-weight:600}

.load-more-wrap{text-align:center;padding:8px 0 40px}
.btn-load-more{
  padding:13px 40px;border-radius:var(--rpill);
  border:2px solid var(--brand);color:var(--brand);background:transparent;
  font-family:var(--fu);font-weight:600;font-size:14px;cursor:pointer;
  transition:all var(--t);display:inline-flex;align-items:center;gap:8px;
}
.btn-load-more:hover{background:var(--brand);color:#fff}

/* ============================================================
   SIDEBAR
============================================================ */
.lead-widget{background:var(--bg-dark);border-radius:var(--r16);overflow:hidden}
.lw-top{padding:22px 20px 18px;text-align:center;position:relative;overflow:hidden}
.lw-top::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(95,196,140,.1) 1.5px,transparent 1.5px);background-size:24px 24px}
/* topo da newsletter tem fundo escuro nos 2 temas: ícone sempre branco
   (com currentColor herdado ele sumia no tema claro) */
.lw-icon{font-size:2rem;display:block;margin-bottom:8px;position:relative;z-index:1;color:#fff}
.lw-title{font-family:var(--fs);font-size:16px;color:#fff;line-height:1.3;position:relative;z-index:1;margin-bottom:6px}
.lw-title b{color:var(--brand-l)}
.lw-sub{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5;position:relative;z-index:1}
.lw-body{background:var(--bg-card);padding:16px;display:flex;flex-direction:column;gap:9px}
.lw-input{width:100%;padding:9px 13px;border-radius:var(--rpill);border:1px solid var(--ruled);background:var(--bg);color:var(--ink);font-family:var(--fu);font-size:13.5px;outline:none;transition:border-color var(--t)}
.lw-input:focus{border-color:var(--brand)}
.lw-input::placeholder{color:var(--inkf)}
.lw-btn{width:100%;padding:10px;border-radius:var(--rpill);background:var(--brand);color:#fff;font-family:var(--fu);font-weight:700;font-size:13.5px;border:none;cursor:pointer;transition:all var(--t)}
.lw-btn:hover{background:#26895A}
.lw-legal{font-size:10.5px;color:var(--ink3);text-align:center;line-height:1.5}

/* Newsletter integrada ao Mautic (form id 1) — reveste as classes .mauticform-*
   com o mesmo visual do .lw-* (input pill, botão verde, dark/light, responsivo).
   Especificidade .lead-widget .mauticform-x vence o CSS default do embed. */
.lead-widget .mauticform_wrapper{max-width:none;margin:0;padding:0}
.lead-widget .mauticform-innerform{display:flex;flex-direction:column;gap:9px}
.lead-widget .mauticform-page-wrapper{display:flex;flex-direction:column;gap:9px}
.lead-widget .mauticform-row{display:block;margin:0}
/* rótulos ficam só para leitores de tela (o campo já funciona como placeholder) */
.lead-widget .mauticform-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lead-widget .mauticform-input,
.lead-widget .mauticform-selectbox{width:100%;padding:9px 13px;border-radius:var(--rpill);border:1px solid var(--ruled);background:var(--bg);color:var(--ink);font-family:var(--fu);font-size:13.5px;line-height:1.3;outline:none;box-shadow:none;box-sizing:border-box;transition:border-color var(--t)}
.lead-widget .mauticform-selectbox{cursor:pointer;-webkit-appearance:none;appearance:none}
.lead-widget .mauticform-input:focus,
.lead-widget .mauticform-selectbox:focus{border-color:var(--brand)}
.lead-widget .mauticform-input::placeholder{color:var(--inkf)}
.lead-widget .mauticform-button-wrapper{margin:0;display:block}
/* 3 classes + elemento vence o CSS do embed (.mauticform-button-wrapper .mauticform-button.btn-ghost) */
.lead-widget .mauticform-button-wrapper button.mauticform-button,
.lead-widget .mauticform-button-wrapper button.mauticform-button.btn-ghost{display:block;width:100%;padding:10px;border-radius:var(--rpill);background:var(--brand);color:#fff;font-family:var(--fu);font-weight:700;font-size:13.5px;line-height:1.3;border:none;cursor:pointer;transition:all var(--t)}
.lead-widget .mauticform-button-wrapper button.mauticform-button:hover{background:#26895A}
.lead-widget .mauticform-errormsg{display:block;color:#e05252;font-size:11px;margin-top:3px}
.lead-widget .mauticform-error{color:#e05252;font-size:12px;margin-bottom:8px}
.lead-widget .mauticform-message{color:var(--brand);font-size:12.5px;text-align:center;line-height:1.5;padding:4px 0}
.lead-widget .mauticform-post-success{padding:8px 0;text-align:center}

.widget{background:var(--bg-card);border-radius:var(--r16);border:1px solid var(--rule);overflow:hidden}
.w-head{padding:13px 17px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between}
.w-title{font-family:var(--fu);font-weight:700;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px}
.w-all{font-size:12px;font-weight:600;color:var(--brand);text-decoration:none}
.w-all:hover{text-decoration:underline}
.hot-item{display:flex;gap:11px;padding:12px 17px;border-bottom:1px solid var(--rule);cursor:pointer;text-decoration:none;transition:background var(--t)}
.hot-item:last-child{border-bottom:none}
.hot-item:hover{background:var(--brand-bg)}
.hot-n{font-family:var(--fs);font-size:18px;color:rgba(46,158,104,.22);line-height:1.2;flex-shrink:0;width:17px}
.hot-body{flex:1;min-width:0}
.hot-title{font-family:var(--fu);font-weight:600;font-size:12.5px;line-height:1.4;color:var(--ink);margin-bottom:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hot-date{font-size:11px;color:var(--brand);font-weight:600}

/* ============================================================
   FOOTER
============================================================ */
.footer{background:#0f4630;color:rgba(255,255,255,.6);padding:52px 32px 28px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:28px;max-width:1360px;margin:0 auto 36px}
.brand-desc{font-size:13.5px;line-height:1.65;margin:12px 0 18px}
.socials{display:flex;gap:7px;flex-wrap:wrap}
.soc{width:33px;height:33px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;color:rgba(255,255,255,.6);text-decoration:none;transition:all var(--t)}
.soc:hover{background:rgba(95,196,140,.14);border-color:var(--brand-l);color:#fff}
.fcol h4{font-family:var(--fu);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:13px}
.flinks{list-style:none;display:flex;flex-direction:column;gap:9px}
.flinks a{font-size:13.5px;color:rgba(255,255,255,.55);text-decoration:none;transition:color var(--t)}
.flinks a:hover{color:var(--brand-l)}
/* mini-seção de Assessoria de Imprensa (abaixo dos sociais, na coluna da marca) */
.footer-press{margin-top:22px}
.footer-press h4{font-family:var(--fu);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:9px}
.footer-press p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.55);margin:0;max-width:340px}
.footer-press a{color:var(--brand-l);text-decoration:none;font-weight:600;transition:color var(--t);word-break:break-word}
.footer-press a:hover{color:#fff}
.footer-bottom{max-width:1360px;margin:0 auto;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:22px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:10px}
.footer-bottom a{color:rgba(255,255,255,.3);text-decoration:none;transition:color var(--t)}
.footer-bottom a:hover{color:var(--brand-l)}
.fbot-links{display:flex;gap:16px}

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:1100px){
  .hero-index{display:none}
  .sidebar{display:none}
  .main-wrap{display:block;padding:28px 20px}
  .feat-grid{grid-template-columns:1fr}
  .feat-stack{display:none}
  .sec-stripe{margin:0 -20px 44px;padding:24px 20px 8px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .feed-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .topbar{display:none}
  .nav{padding:0 16px}
  .nav-links{display:none}
  .hero{min-height:380px}
  .hero-main{padding:32px 20px 38px}
  .s-lead{display:none}
  .s-title{font-size:1.65rem}
  .geo-inner{padding:0 16px}
  .main-wrap{padding:22px 16px}
  .sec-stripe{margin:0 -16px 36px;padding:22px 16px 8px}
  .footer{padding:36px 16px 20px}
  .footer-grid{grid-template-columns:1fr}
  .feed-grid{grid-template-columns:1fr}
}

/* ============================================================
   POST INDIVIDUAL (single) + busca — leitura limpa
============================================================ */
.single-wrap{max-width:760px;margin:0 auto;padding:40px 24px 64px}
.single-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand);text-decoration:none;margin-bottom:22px}
.single-back:hover{text-decoration:underline}
.single-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.single-cats a{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);padding:3px 10px;border-radius:var(--rpill);background:var(--brand-bg);border:1px solid var(--brand-bd);text-decoration:none}
.single-title{font-family:var(--fs);font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.12;letter-spacing:-.01em;color:var(--ink);margin-bottom:16px}
.single-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink3);padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--rule)}
.single-meta .au-av{width:30px;height:30px;font-size:11px}
.single-meta a{color:var(--ink2);text-decoration:none;font-weight:600}
.single-meta a:hover{color:var(--brand)}
.single-hero{width:100%;border-radius:var(--r16);overflow:hidden;margin-bottom:30px}
.single-hero img{width:100%;height:auto;display:block}
.post-content{font-size:16.5px;line-height:1.8;color:var(--ink2)}
.post-content > *{margin-bottom:1.15em}
.post-content h2{font-family:var(--fs);font-size:1.6rem;color:var(--ink);margin:1.6em 0 .5em;line-height:1.2}
.post-content h3{font-family:var(--fu);font-weight:700;font-size:1.2rem;color:var(--ink);margin:1.4em 0 .4em}
.post-content a{color:var(--brand);text-decoration:underline}
.post-content img{max-width:100%;height:auto;border-radius:var(--r12)}
.post-content blockquote{border-left:3px solid var(--brand);padding:4px 0 4px 20px;color:var(--ink);font-style:italic;background:var(--brand-bg);border-radius:0 var(--r8) var(--r8) 0;padding:14px 20px}
.post-content ul,.post-content ol{padding-left:1.4em}
.post-content li{margin-bottom:.4em}
.post-content code{background:var(--bg-stripe);padding:2px 7px;border-radius:6px;font-size:.9em}
.single-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid var(--rule)}
.single-tags a{font-size:12px;color:var(--ink3);text-decoration:none;padding:5px 12px;border:1px solid var(--rule);border-radius:var(--rpill)}
.single-tags a:hover{border-color:var(--brand-bd);color:var(--brand)}
.single-nav{display:flex;justify-content:space-between;gap:14px;margin-top:32px}
.single-nav a{flex:1;padding:16px;border:1px solid var(--rule);border-radius:var(--r12);text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;transition:all var(--t)}
.single-nav a:hover{border-color:var(--brand-bd);box-shadow:0 6px 18px rgba(0,0,0,.07)}
.single-nav small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}
.single-nav .nx{text-align:right}

/* ============================================================
   BREADCRUMB (máx. 3 níveis)
============================================================ */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12.5px;color:var(--ink3);margin-bottom:20px}
.breadcrumb a{color:var(--ink3);text-decoration:none;transition:color var(--t)}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb [aria-current="page"]{color:var(--ink);font-weight:600}
.bc-sep{color:var(--inkf);font-size:13px}

/* ============================================================
   PÁGINA DE AUTOR
============================================================ */
/* topo do autor usa o mesmo .main-wrap dos posts (mesma borda esquerda);
   zera o padding de baixo pra não abrir vão antes da seção de publicações */
.author-top{padding-bottom:0}
.author-hd{display:flex;align-items:center;gap:22px;padding:22px 0 26px;border-bottom:1px solid var(--rule);margin-bottom:8px}
.author-av{width:84px;height:84px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),#5FC48C);color:#fff;font-family:var(--fs);font-size:30px;letter-spacing:.02em}
.author-info{min-width:0}
.author-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand)}
.author-name{font-family:var(--fs);font-size:clamp(1.7rem,3.5vw,2.3rem);line-height:1.1;color:var(--ink);margin:4px 0 8px;letter-spacing:-.01em}
.author-bio{font-size:14.5px;line-height:1.65;color:var(--ink2);max-width:620px;margin-bottom:10px}
.author-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink3)}
.author-meta strong{color:var(--ink)}
.author-meta a{color:var(--brand);text-decoration:none;font-weight:600}
.author-meta a:hover{text-decoration:underline}

/* Caixa de biografia ao final do post (E-E-A-T) */
.author-box{display:flex;gap:18px;align-items:flex-start;margin-top:40px;padding:22px;border:1px solid var(--rule);border-radius:var(--r16);background:var(--bg-card)}
.author-box-av{width:58px;height:58px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),#5FC48C);color:#fff;font-family:var(--fs);font-size:20px}
.author-box-body{min-width:0}
.author-box-eyebrow{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.author-box-name{display:block;font-family:var(--fs);font-size:18px;color:var(--ink);text-decoration:none;margin:2px 0 7px;letter-spacing:-.01em}
.author-box-name:hover{color:var(--brand)}
.author-box-bio{font-size:13.5px;line-height:1.6;color:var(--ink2);margin-bottom:9px}
.author-box-link{font-size:12.5px;font-weight:600;color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.author-box-link:hover{opacity:.75}

@media(max-width:680px){
  .author-hd{flex-direction:column;align-items:flex-start;gap:14px}
  .author-box{flex-direction:column;gap:12px}
}

/* ============================================================
   LOGO (imagem) — nav claro usa aprova-dark, footer usa aprova-light
============================================================ */
.nav-logo{gap:7px}
.nav-logo-img{height:30px;width:auto;display:block}
.nav-logo .logo-sub{margin-left:1px}
.footer-logo-img{height:30px;width:auto;display:block}
@media(max-width:680px){ .nav-logo-img{height:26px} }

/* ícones de redes sociais (SVG de marca dentro do círculo .soc) */
.soc svg{width:15px;height:15px;fill:currentColor;display:block}

/* ============================================================
   STICKY FOOTER — empurra o rodapé p/ o fim quando o conteúdo é
   curto (ex.: 404). Resolve o footer "subindo" em telas grandes.
============================================================ */
body{min-height:100vh;display:flex;flex-direction:column}
.footer{margin-top:auto}
/* a barra de estados é sticky logo abaixo do nav; o flex no body não a afeta */

/* ============================================================
   FORMULÁRIO DE BUSCA (.search-form) — usado no 404, busca, widgets
============================================================ */
.search-form{display:flex;gap:10px;width:100%;max-width:560px;margin:0 auto}
.search-field{
  flex:1;min-width:0;padding:15px 20px;border-radius:var(--rpill);
  border:1px solid var(--ruled);background:var(--bg-card);
  font-family:var(--fu);font-size:15.5px;color:var(--ink);outline:none;
  transition:border-color var(--t),box-shadow var(--t);
}
.search-field:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}
.search-field::placeholder{color:var(--inkf)}
.search-submit{
  padding:15px 30px;border-radius:var(--rpill);border:none;
  background:var(--brand);color:#fff;font-family:var(--fu);font-weight:600;
  font-size:15.5px;cursor:pointer;white-space:nowrap;transition:all var(--t);
}
.search-submit:hover{background:#26895A;transform:translateY(-1px)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:560px){ .search-form{flex-direction:column} .search-submit{width:100%} }

/* ============================================================
   PAGINAÇÃO (the_posts_pagination) — números em pills
============================================================ */
/* the_posts_pagination() gera <div class="nav-links"> — mesma classe do menu
   legado. Blinda a paginação contra as regras de dropdown mobile do menu
   (position:absolute/fundo/sombra) que a faziam flutuar sobre o conteúdo. */
.pagination .nav-links{display:flex;flex-flow:row wrap;gap:8px;justify-content:center;align-items:center;position:static;top:auto;left:auto;right:auto;background:none;border:none;box-shadow:none;padding:0;max-height:none;overflow:visible}
.page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 15px;border-radius:var(--rpill);
  border:1px solid var(--rule);background:var(--bg-card);
  color:var(--ink2);font-family:var(--fu);font-weight:600;font-size:14px;
  text-decoration:none;transition:all var(--t);
}
a.page-numbers:hover{border-color:var(--brand-bd);color:var(--brand);transform:translateY(-1px)}
.page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff}
.page-numbers.dots{border:none;background:transparent;min-width:auto;padding:0 4px}
.page-numbers.prev,.page-numbers.next{font-weight:600;gap:5px}

/* seta SVG padronizada (substitui o antigo "→"/"←") */
.ico-arrow{flex:none;vertical-align:middle;transition:transform var(--t)}
.see-all .ico-arrow{margin-left:1px}
.btn-hm:hover .ico-arrow,.btn-cta:hover .ico-arrow,.btn-load-more:hover .ico-arrow,
.see-all:hover .ico-arrow,.author-box-link:hover .ico-arrow,.page-numbers.next:hover .ico-arrow{transform:translateX(2px)}
.page-numbers.prev:hover .ico-arrow{transform:translateX(-2px)}

/* nav com 8 categorias: aperta um pouco o padding p/ caber em telas médias */
.nav-links .nav-a{padding-left:10px;padding-right:10px}
@media(max-width:1240px){ .nav-links .nav-a{padding-left:8px;padding-right:8px;font-size:13px} }

/* ============================================================
   AJUSTES PEDIDOS PELA ÁREA
============================================================ */
/* (2) Cabeçalho sticky com AUTO-HIDE: some ao rolar p/ baixo, volta ao subir */
.site-sticky{position:sticky;top:0;z-index:300;transition:transform .3s var(--ease);will-change:transform}
.site-sticky.hide{transform:translateY(-100%)}
.nav{position:static}
.geo-bar{position:static;top:auto}

/* (3) Banner do hero puxa a imagem de destaque da notícia como fundo */
.slide > *{position:relative;z-index:1}
.slide-bg{position:absolute!important;inset:0;z-index:0!important;background-size:cover;background-position:center}
.slide-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to right,rgba(26,37,34,.95) 28%,rgba(26,37,34,.6) 66%,rgba(26,37,34,.22) 100%)}

/* (6) Imagens dentro do corpo do post nunca estouram a largura */
.post-content img{max-width:100%!important;height:auto;display:block;margin:1.15em auto;border-radius:var(--r12)}
.post-content figure{max-width:100%;margin:1.15em auto}
.post-content figure img{width:100%;margin:0}
.post-content iframe,.post-content video{max-width:100%}

/* (7) Artigo do single com sidebar à direita */
.single-article{max-width:760px;width:100%}
.single-article .breadcrumb{margin-top:4px}

/* (4) imagem do card clicável (link envolvendo o thumb) */
.thumb-link{display:block;text-decoration:none;color:inherit}

/* sidebar acompanha o header auto-hide: desce sob o header quando visível,
   sobe quando o header esconde */
.sidebar{transition:top .3s var(--ease)}
body.header-hidden .sidebar{top:24px}

/* ============================================================
   CONTAINER MAIS LARGO (aproveita telas grandes — mais cards à vista)
   Só no desktop; abaixo de 1100px as regras responsivas valem.
============================================================ */
@media(min-width:1101px){
  .main-wrap{max-width:1680px;padding-left:24px;padding-right:24px}
  /* post individual não usa a largura cheia (1680): artigo (760) + sidebar
     (288+28) num container estreito e centralizado, sem o vão gigante.
     Escopo em body.single p/ não afetar home/arquivo/autor. */
  body.single .main-wrap{max-width:1140px}
  .footer-grid,.footer-bottom{max-width:1680px}
  .footer{padding-left:24px;padding-right:24px}
  /* faixas listradas sangram até a borda do container (acompanha o padding 24) */
  .sec-stripe{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
}
/* grid "Todas as postagens": 4 colunas em telas grandes */
@media(min-width:1400px){
  .feed-grid{grid-template-columns:repeat(4,1fr)}
}

/* botão "Ver todas as postagens" sem sublinhado */
.btn-load-more{text-decoration:none}

/* ============================================================
   BUSCA NO NAV + MENU HAMBÚRGUER (mobile)
============================================================ */
.nav-search{display:flex;align-items:center;height:38px;background:var(--bg-card);border:1px solid var(--ruled);border-radius:var(--rpill);overflow:hidden;transition:border-color var(--t)}
.nav-search:focus-within{border-color:var(--brand)}
.nav-search input{border:none;background:transparent;outline:none;padding:0 4px 0 16px;font-family:var(--fu);font-size:13.5px;color:var(--ink);width:210px}
.nav-search input::placeholder{color:var(--inkf)}
.nav-search button{display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0 13px;color:var(--ink3);height:100%}
.nav-search button:hover{color:var(--brand)}
.nav-search--mobile{display:none}

.nav-burger{display:none;width:42px;height:42px;flex-shrink:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:1px solid var(--ruled);border-radius:10px;background:transparent;cursor:pointer;padding:0}
.nav-burger span{display:block;width:18px;height:2px;background:var(--ink2);border-radius:2px;transition:transform .25s var(--ease),opacity .2s var(--ease)}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1100px){
  .nav{position:relative}
  .nav-burger{display:flex}
  .nav-search--desktop{display:none}
  /* menu mobile: painel dropdown abaixo do nav */
  .nav-links{
    display:none;position:absolute;top:60px;left:0;right:0;z-index:300;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg-card);border-top:1px solid var(--rule);border-bottom:1px solid var(--ruled);
    box-shadow:0 16px 32px rgba(0,0,0,.12);padding:12px 16px 16px;
    max-height:calc(100vh - 60px);overflow-y:auto;
  }
  .nav-links.open{display:flex}
  .nav-links .nav-a{padding:13px 12px;border-radius:8px;font-size:15px;font-weight:500;border-bottom:1px solid var(--rule);white-space:normal}
  .nav-links .nav-a:last-child{border-bottom:none}
  .nav-search--mobile{display:flex;height:44px;margin-bottom:8px}
  .nav-search--mobile input{flex:1;width:auto}
}

/* esconde o widget/botão flutuante do SiteLeads */
.siteleads-root{display:none!important}

/* ============================================================
   AJUSTES (lista 2): placeholder sem emoji, foto do autor,
   sem fade lateral, autor no card
============================================================ */
/* placeholder neutro (SVG) no lugar dos emojis */
.thumb-ph{width:42px;height:42px;color:rgba(24,33,31,.16)}
.feat-thumb .thumb-ph{width:64px;height:64px}
.sc-thumb .thumb-ph{width:26px;height:26px}

/* foto do autor (get_avatar) arredondada */
.au-photo{border-radius:50%;object-fit:cover;display:block;flex-shrink:0}
.card-author .au-photo,.fc-author .au-photo{width:22px;height:22px}

/* autor no rodapé do card (nome + foto, abaixo da data) */
.card-author{display:flex;align-items:center;gap:7px;margin-top:10px;text-decoration:none;color:var(--ink3);font-size:12px;transition:color var(--t)}
.card-author:hover{color:var(--brand)}

/* (item 4) remove o fade/blur das laterais dos carrosséis */
.fade-l,.fade-r{display:none!important}

/* fotos de autor por contexto */
.single-meta .au-photo{width:30px;height:30px}
.author-box-av{overflow:hidden}
.author-box-av .au-photo{width:58px;height:58px}
.author-av{overflow:hidden}
.author-av .au-photo{width:84px;height:84px}

/* ============================================================
   AJUSTES (lista 3)
============================================================ */
/* (A) Primeira dobra: hero contido/alinhado ao container das caixinhas */
.hero-wrap{max-width:1680px;margin:24px auto 0;padding:0 24px}
.hero{border-radius:var(--r16)}
@media(max-width:1100px){ .hero-wrap{padding:0 20px;margin-top:16px} }
@media(max-width:680px){ .hero-wrap{padding:0 16px} }

/* (E) 4 caixinhas visíveis por vez (antes ~5) */
.car-track .card{width:326px}
@media(max-width:1100px){ .car-track .card{width:300px} }
@media(max-width:600px){ .car-track .card{width:82vw;max-width:360px} }

/* (A.2) hero com a MESMA largura da coluna de conteúdo (reserva a sidebar à direita) */
@media(min-width:1101px){
  .hero-wrap{padding-right:340px}  /* 288 sidebar + 28 gap + 24 = alinha com os cards */
}

/* setas do carrossel acima do card em hover (z-index:50) — corrige clique bloqueado */
.arr{z-index:60}

/* body é flex-column (footer sticky) → wrapper precisa de width:100% pra
   não encolher pro conteúdo. Faz o hero alinhar com a coluna de conteúdo. */
.hero-wrap{width:100%}

/* hero agora vive dentro da coluna de conteúdo (sidebar sobe ao lado dele) */
.content > .hero,.hero{margin-bottom:32px}

/* ============================================================
   BARRA DE ESTADOS — estilo Klaos (faixa verde-escura + pills)
============================================================ */
.geo-bar{background:#0f4630;border-bottom:none}
.geo-inner{gap:8px;padding:6px 24px;min-height:42px;align-items:center}
.geo-lbl{color:rgba(255,255,255,.7);border-right:none;margin-right:6px;padding:0;
  letter-spacing:.5px;font-size:11px;display:inline-flex;align-items:center;gap:5px;flex:none}
.geo-lbl svg{width:14px;height:14px}
.geo-btn{
  padding:3px 9px;margin-bottom:0;border:1px solid rgba(255,255,255,.22);
  border-radius:999px;background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);font-size:11.5px;font-weight:700;
}
.geo-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff}
.geo-btn.on{background:#149c2e;border-color:#149c2e;color:#fff;box-shadow:0 2px 8px rgba(20,156,46,.4)}
/* estados sem conteúdo (span) ficam apagados */
.geo-inner span.geo-btn{opacity:.4}

/* logo do footer (fundo escuro): mesma logo, invertida p/ branco (como o dark do Klaos) */
.footer-logo-img{filter:brightness(0) invert(1);opacity:.92}

/* ============================================================
   HEADER alinhado ao portal /notícias (consistência) + DARK/LIGHT
============================================================ */
:root{ --accent:#149c2e; --header-bg:#ffffff; --surface-2:#f0f3f1; }

/* barra de estados: acima do header, NÃO fixa; conteúdo centralizado */
.geo-bar{position:static;top:auto;z-index:auto}
.geo-inner{max-width:1680px;margin:0 auto}

/* header sticky */
.site-header{position:sticky;top:0;z-index:200;background:var(--header-bg);border-bottom:1px solid var(--rule)}
.header-main{max-width:1680px;margin:0 auto;display:flex;align-items:center;gap:22px;height:76px;padding:0 24px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.logo img{height:38px;width:auto;display:block}

/* busca grande (escopada ao header p/ não afetar a busca da 404) */
.header-main .search-form{display:flex;gap:8px;margin-left:auto;margin-right:0;max-width:none;width:auto;flex:0 1 380px}
.header-main .search-field{flex:1;min-width:0;height:46px;border:1px solid var(--ruled);background:var(--surface-2);
  border-radius:999px;padding:0 20px;color:var(--ink);font-family:var(--fu);font-size:15px;outline:none;
  transition:border-color var(--t),box-shadow var(--t)}
.header-main .search-field::placeholder{color:var(--ink3)}
.header-main .search-field:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}
.header-main .search-submit{height:46px;width:46px;flex:none;padding:0;border:0;border-radius:50%;background:var(--brand);color:#fff;
  cursor:pointer;display:grid;place-items:center;transition:background var(--t)}
.header-main .search-submit:hover{background:var(--accent)}

/* toggle de tema */
.theme-toggle{height:44px;width:44px;flex:none;border-radius:50%;border:1px solid var(--ruled);
  background:var(--surface-2);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:all var(--t)}
.theme-toggle:hover{border-color:var(--brand);color:var(--brand)}
.theme-toggle .icon-sun{display:none}
[data-theme="dark"] .theme-toggle .icon-moon{display:none}
[data-theme="dark"] .theme-toggle .icon-sun{display:block}

/* catnav (categorias) */
.catnav{border-top:1px solid var(--rule);background:var(--bg-card)}
.catnav-inner{max-width:1680px;margin:0 auto;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:0 24px}
.catnav-inner::-webkit-scrollbar{display:none}
.catnav a{white-space:nowrap;padding:13px 14px;font-size:14px;font-weight:600;color:var(--ink3);
  text-decoration:none;border-bottom:3px solid transparent;transition:color var(--t),border-color var(--t)}
.catnav a:hover,.catnav a.active{color:var(--brand);border-bottom-color:var(--brand)}

/* hambúrguer (mobile) */
.nav-toggle{display:none;width:44px;height:44px;flex:none;flex-direction:column;justify-content:center;
  align-items:center;gap:4px;border:1px solid var(--ruled);border-radius:10px;background:var(--surface-2);cursor:pointer;padding:0}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--ink2);border-radius:2px;transition:transform .25s,opacity .2s}
.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:900px){
  .header-main{height:64px;gap:12px}
  .header-main .search-form{display:none}
  .nav-toggle{display:flex}
  .theme-toggle{margin-left:auto}
  .catnav{display:none;position:absolute;top:100%;left:0;right:0;
    border-bottom:1px solid var(--ruled);box-shadow:0 16px 32px rgba(0,0,0,.2);z-index:200}
  .catnav.open{display:block}
  .catnav-inner{flex-direction:column;overflow:visible;padding:8px 16px}
  .catnav a{border-bottom:1px solid var(--rule);border-radius:0;padding:13px 8px}
  .catnav a.active{border-bottom-color:var(--rule)}
}

/* sidebar sticky abaixo do header sticky (header ~122px) */
.sidebar{top:138px}

/* ============================================================
   DARK MODE — flip global dos tokens (aplica no projeto inteiro)
============================================================ */
[data-theme="dark"]{
  --bg:#0d1411; --bg-card:#141d18; --bg-stripe:#1a261f;
  --ink:#eaf2ed; --ink2:#c2d0c8; --ink3:#9db0a6; --inkf:#6f8177;
  --rule:rgba(255,255,255,.09); --ruled:rgba(255,255,255,.16);
  --brand:#3ab371; --brand-l:#6EDAA0; --brand-bg:#16301f; --brand-bd:rgba(58,179,113,.32);
  --surface-2:#1a261f; --header-bg:#111a15; --accent:#2fc04f;
}
/* placeholders de thumb (gradientes claros) atenuados no dark */
[data-theme="dark"] .thumb-ph{color:rgba(255,255,255,.14)}

/* ============================================================
   CORREÇÕES pós-review do header/dark
============================================================ */
/* logo branca no tema escuro (igual portal /notícias) */
[data-theme="dark"] .logo img{filter:brightness(0) invert(1);opacity:.92}

/* sidebar (newsletter + mais acessadas) empilha no fim no mobile (antes sumia) */
@media(max-width:1100px){
  .sidebar{display:flex;position:static;width:auto;margin-left:0;top:auto;margin-top:32px}
}

/* estado vazio (categoria/busca sem posts) — centralizado e bem posicionado */
.empty-state{text-align:center;padding:64px 24px 72px;color:var(--ink3);max-width:520px;margin:0 auto}
.empty-state svg{width:46px;height:46px;color:var(--ruled);margin-bottom:14px}
.empty-state strong{display:block;color:var(--ink);font-size:18px;font-weight:700;margin-bottom:6px}

/* ============================================================
   THUMB à prova de esticamento (altura derivada da largura)
============================================================ */
.car-track{align-items:flex-start}         /* cards com altura natural, sem stretch */
.thumb,.fc-thumb{aspect-ratio:16/9;height:auto;flex:none}

/* ============================================================
   ESTADOS DENTRO DO MENU (mobile) — igual ao portal /notícias
============================================================ */
.drawer-states{display:none}
@media(max-width:900px){
  /* some a barra de estados standalone; vai pro menu */
  .geo-bar{display:none}
  .drawer-states{display:block;margin-top:8px;padding:14px 8px 6px;border-top:1px solid var(--rule)}
  .drawer-states-lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;
    text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
  .states-wrap{display:flex;flex-wrap:wrap;gap:6px}
  /* no menu (fundo claro) os pills ficam escuros sobre claro */
  .drawer-states .geo-btn{color:var(--ink);background:var(--bg-stripe);border:1px solid var(--ruled);
    padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:700;opacity:1}
  .drawer-states .geo-btn.on{background:#149c2e;border-color:#149c2e;color:#fff}
  .drawer-states .geo-btn--off{opacity:.4}
}

/* hero menor no mobile (evita banner altíssimo) */
@media(max-width:680px){
  .hero{min-height:340px}
  .hero-main{padding:26px 20px 30px}
}

/* ============================================================
   RESPONSIVIDADE GLOBAL — corrige largura inconsistente e overflow
   Causa raiz: body é flex-column; containers com margin:auto encolhiam
   para o conteúdo. width:100% força preencher (todas as páginas iguais).
============================================================ */
.main-wrap{width:100%}
.hero-wrap{width:100%}

/* sem scroll lateral — só no body (overflow no <html> quebra position:sticky) */
body{max-width:100%;overflow-x:hidden}

@media(max-width:1100px){
  /* sidebar (newsletter + mais acessadas) full width e sem estouro */
  .sidebar{width:100%;max-width:100%}
  .lead-widget,.widget{width:100%;max-width:100%}
  .lw-input,.lw-btn{width:100%;max-width:100%}
}

@media(max-width:680px){
  /* hero cabe na tela, sem cortar conteúdo */
  .hero-main{min-width:0;max-width:100%}
  .s-title{font-size:1.5rem}
  .s-lead{max-width:100%}
  .s-datepill{flex-wrap:wrap;max-width:100%}
  .s-eye{flex-wrap:wrap}
  /* páginas de conteúdo (single/arquivo/busca): padding menor */
  .single-wrap{padding:24px 16px 48px}
}

/* ============================================================
   CARDS ALINHADOS + ARROWS INTELIGENTES
============================================================ */
/* título sempre reserva 2 linhas → todos os cards com a mesma altura */
.card-title,.fc-title{min-height:2.88em}

/* esconde as setas quando o carrossel não tem conteúdo pra rolar */
.car-outer.no-scroll .arr{display:none}

/* ============================================================
   AJUSTES FINOS
============================================================ */
/* "Todas as postagens" no mobile: título em cima, filtros embaixo (não quebra) */
@media(max-width:680px){
  .all-posts-hd{flex-direction:column;align-items:stretch;gap:14px}
  .all-posts-hd h2{font-size:22px}
  .feed-filter{gap:8px}
}
/* botão "Ver todas as postagens" e "Veja mais": só a seta, sem underline */
.btn-load-more,.btn-load-more:hover{text-decoration:none}
.see-all{border-bottom:none}
.see-all:hover{border-bottom-color:transparent;opacity:.75}
