/* Padrão Horizon do ecossistema (Timesheet/Gateway): fundo pastel com manchas de luz, cards de vidro fosco,
   cantos 20px, Poppins nos títulos e DM Sans no texto. Aqui o roxo/azul do Horizon vira verde, amarelo e azul da bandeira.
   Regra editorial: a bandeira fica só na marca. Candidatos sempre em tons neutros, na ordem do número. */
:root{
  --grad-marca:linear-gradient(135deg,#00A651 0%,#0B8F6A 45%,#1F4FA8 100%);
  --grad-ouro:linear-gradient(135deg,#FFE066,#FFC400);
  --bg1:#F3F8F5; --bg2:#EEF3FB;
  --glass:rgba(255,255,255,.72); --glass-forte:rgba(255,255,255,.86); --glass-borda:rgba(255,255,255,.65);
  --linha:rgba(150,165,200,.28);
  --fg:#14234B; --muted:#7D89A8;
  --sombra:0 18px 40px rgba(100,130,170,.16); --sombra-hover:0 22px 48px rgba(100,130,170,.24);
  --raio:20px;
  --c-pl:#00A651; --c-pt:#E3262E;
  --c1:#3A4766; --c2:#A3AEC8; --c-outros:#D5DBE8; --trilho:rgba(150,165,200,.18);
  --ok:#1A8A57; --tint-ok:rgba(0,166,81,.12); --warn:#8A5A00; --tint-warn:rgba(255,209,0,.22);
  --f-head:"Poppins","DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){:root{
  --bg1:#06142A; --bg2:#0A1B36;
  --glass:rgba(16,32,64,.62); --glass-forte:rgba(20,38,74,.82); --glass-borda:rgba(255,255,255,.08);
  --linha:rgba(140,160,210,.18); --fg:#E8EEF8; --muted:#93A1C0;
  --sombra:0 18px 40px rgba(0,0,0,.35); --sombra-hover:0 22px 48px rgba(0,0,0,.45);
  --c-pl:#2FD27A; --c-pt:#FF5A5F;
  --c1:#DCE3F0; --c2:#6E7C9C; --c-outros:#33456B; --trilho:rgba(140,160,210,.14);
  --ok:#4FD69A; --tint-ok:rgba(79,214,154,.14); --warn:#FFD84D; --tint-warn:rgba(255,216,77,.14); color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{font:15px/1.55 var(--f-body);color:var(--fg);min-height:100vh;
  background:
    radial-gradient(1100px 560px at 8% -12%, rgba(0,166,81,.16), transparent 60%),
    radial-gradient(900px 520px at 100% -4%, rgba(255,209,0,.18), transparent 58%),
    radial-gradient(900px 600px at 60% 115%, rgba(31,79,168,.14), transparent 60%),
    linear-gradient(160deg, var(--bg1), var(--bg2)) fixed}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding-inline:16px}
.num{font-variant-numeric:tabular-nums}

/* topo em vidro, fixo */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--glass-forte);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-borda);box-shadow:0 8px 24px rgba(100,130,170,.08)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;font:800 22px/1 var(--f-head);color:var(--fg);text-decoration:none;letter-spacing:-.01em}
.logo b{background:var(--grad-marca);-webkit-background-clip:text;background-clip:text;color:transparent}
.mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,#16C26B,#00843D);position:relative;flex:none;box-shadow:0 8px 18px rgba(0,132,61,.35),inset 0 1px 0 rgba(255,255,255,.4)}
.mark::before{content:"";position:absolute;inset:7px 4px;background:#FFD100;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.mark::after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#002776;left:10.5px;top:10.5px}
.strip{height:3px;background:linear-gradient(90deg,#00A651 0 55%,#FFD100 55% 80%,#1F4FA8 80%);opacity:.9}
.status{font:600 12.5px var(--f-body);color:var(--muted);display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:var(--glass);border:1px solid var(--glass-borda)}
.status i{width:8px;height:8px;border-radius:50%;background:var(--c-outros)}
.status.vivo{color:var(--fg)}
.status.vivo i{background:#E5484D;box-shadow:0 0 0 3px rgba(229,72,77,.22)}
@media (prefers-reduced-motion:no-preference){.status.vivo i{animation:pulso 1.4s ease-in-out infinite}}
@keyframes pulso{50%{box-shadow:0 0 0 7px rgba(229,72,77,0)}}

/* contagem regressiva: card azul profundo com brilho verde e dourado, contadores em vidro */
.hero{padding-block:28px 8px}
.hero .wrap>div{position:relative;overflow:hidden;border-radius:26px;padding:32px 28px;color:#fff;
  background:radial-gradient(600px 300px at 0% 0%, rgba(0,166,81,.55), transparent 60%),
             radial-gradient(520px 300px at 100% 100%, rgba(255,209,0,.35), transparent 60%),
             linear-gradient(140deg,#0A2A6B,#002776 60%,#061B4F);
  box-shadow:0 30px 60px -24px rgba(0,39,118,.55)}
.hero .k{font:700 12px var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#FFE066}
.hero h1{font:800 clamp(28px,5vw,46px)/1.05 var(--f-head);margin:10px 0 22px;text-wrap:balance;letter-spacing:-.02em}
.cd{display:flex;gap:10px;flex-wrap:wrap}
.cd div{background:rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);
  border-radius:18px;padding:12px 16px;min-width:88px;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.cd b{display:block;font:800 44px/1 var(--f-head);background:var(--grad-ouro);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.cd small{font:600 11px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#C9D6F0}
.hero p{color:#D3DDF2;max-width:62ch;margin:20px 0 0}

/* painel */
.painel{padding-block:22px 8px;display:grid;gap:18px}
.card{border-radius:var(--raio);padding:20px;min-width:0;background:var(--glass);backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-borda);box-shadow:var(--sombra)}
.card h2{font:700 24px/1.1 var(--f-head);margin:0;letter-spacing:-.01em}
.card h3{font:700 12.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.topo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.prog{display:grid;gap:6px;margin-bottom:18px}
.prog .row{display:flex;justify-content:space-between;gap:10px;font:12.5px var(--f-body);color:var(--muted)}
.prog .row b{color:var(--fg);font:700 14px var(--f-head)}
.bar{height:10px;background:var(--trilho);border-radius:99px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--grad-ouro);border-radius:99px;box-shadow:0 0 12px rgba(255,196,0,.45);transition:width .6s}
.cands{display:grid;gap:16px}
.cand{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:end}
.cand .nm{font:700 19px/1.15 var(--f-head);letter-spacing:-.01em}
.cand .nm small{display:block;font:500 12.5px var(--f-body);color:var(--muted);letter-spacing:0;margin-top:2px}
.cand .pc{font:800 32px/1 var(--f-head);text-align:right;letter-spacing:-.02em}
.cand .pc small{display:block;font:500 12px var(--f-body);color:var(--muted);text-align:right;letter-spacing:0;margin-top:4px}
.vbar{grid-column:1/-1;height:12px;background:var(--trilho);border-radius:99px;overflow:hidden}
.vbar span{display:block;height:100%;border-radius:99px;transition:width .6s}
.tag{display:inline-block;font:700 11px var(--f-body);letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--tint-ok);color:var(--ok);margin-left:8px;vertical-align:middle}
.tag.def{background:var(--tint-warn);color:var(--warn)}

/* KPIs no padrão Horizon: ícone em quadrado de gradiente + valor */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
@media (max-width:640px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--glass-forte);border:1px solid var(--glass-borda);min-width:0}
.kpi-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 16px -8px rgba(20,35,75,.45)}
.kpi-ic svg{width:20px;height:20px}
.ic-verde{background:linear-gradient(140deg,#3DDC8B,#00A651)} .ic-ouro{background:linear-gradient(140deg,#FFE066,#F2B200);color:#5A4300}
.ic-azul{background:linear-gradient(140deg,#6E9BF0,#1F4FA8)} .ic-cinza{background:linear-gradient(140deg,#B6C0D6,#7C89A8)}
.kpi b{display:block;font:700 18px/1.1 var(--f-head)}
.kpi>div>span{font-size:12px;color:var(--muted)}

.outros{margin-top:12px;font-size:13.5px;color:var(--muted)}
.outros summary{cursor:pointer;font-weight:600}
.outros table{width:100%;border-collapse:collapse;margin-top:8px}
.outros td{padding:6px 8px;border-bottom:1px solid var(--linha);color:var(--fg)}
.outros td:last-child,.outros td:nth-child(3){text-align:right}

/* linha do tempo */
.tl svg{width:100%;height:160px;display:block}
.tl input{width:100%;accent-color:#00A651;margin-top:8px}
.tl .leg{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:12.5px var(--f-body);color:var(--muted)}
.tl .leg b{color:var(--fg);font-family:var(--f-head)}

/* mapa em mosaico */
.grade{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}
@media (max-width:860px){.grade{grid-template-columns:1fr}}
.mapa{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:480px;margin-inline:auto}
.uf{aspect-ratio:1;border-radius:12px;background:var(--glass-forte);border:1px solid var(--glass-borda);display:flex;flex-direction:column;align-items:center;justify-content:center;
  font:700 15px/1 var(--f-head);cursor:pointer;color:var(--fg);padding:0;transition:transform .12s, box-shadow .12s}
.uf:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.uf small{font:500 10px var(--f-body);color:var(--muted);margin-top:3px}
.uf.l1{background:var(--c1);color:#fff;border-color:transparent} .uf.l1 small{color:rgba(255,255,255,.8)}
.uf.l2{background:var(--c2);color:#fff;border-color:transparent} .uf.l2 small{color:rgba(255,255,255,.88)}
@media (prefers-color-scheme: dark){.uf.l1{color:#0B1630}.uf.l1 small{color:rgba(11,22,48,.75)}}
.uf[aria-pressed="true"]{box-shadow:0 0 0 3px #FFD100}
.uf:focus-visible{outline:3px solid #FFD100;outline-offset:2px}
.det{font-size:14px}
.det h4{font:700 20px var(--f-head);margin:0 0 8px}
.legenda{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--muted);margin-top:12px;justify-content:center}
.legenda i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-2px}

.govs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.gov{border-radius:16px;padding:14px;display:grid;gap:10px;background:var(--glass-forte);border:1px solid var(--glass-borda)}
.gov .u{display:flex;justify-content:space-between;align-items:baseline;font:700 17px var(--f-head)}
.gov .u span{font:600 12px var(--f-body);color:var(--muted)}
.gl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;font-size:13.5px}
.gl b{font:700 14px var(--f-head);font-variant-numeric:tabular-nums}
.gl .vbar{height:7px}

.selo{border-radius:16px;padding:12px 16px;font:12.5px/1.5 var(--f-body);color:var(--ok);background:var(--tint-ok);border:1px solid var(--glass-borda)}
.aviso{border-radius:16px;padding:14px 16px;font-size:14px;color:var(--warn);background:var(--tint-warn);border:1px solid var(--glass-borda)}
main{min-height:calc(100vh - 190px)}
footer{margin-top:32px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-borda)}
footer .wrap{padding-block:18px;display:flex;flex-wrap:wrap;gap:6px 20px;font:12.5px var(--f-body);color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ================= Portal de notícias ================= */
.nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.nav a{font:600 13.5px var(--f-body);color:var(--muted);text-decoration:none;padding:7px 12px;border-radius:12px}
.nav a:hover{color:var(--fg);background:rgba(0,166,81,.08)}
.nav a[aria-current="page"]{color:var(--fg);background:rgba(0,166,81,.12)}
.topo-dir{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:560px){header.site .wrap{flex-wrap:wrap}.topo-dir{width:100%;justify-content:space-between}}

.news{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;padding-block:22px 0}
@media (max-width:900px){.news{grid-template-columns:1fr}}
.lista{display:grid;gap:14px;align-content:start}
.nc{display:grid;gap:6px;padding:18px 20px;border-radius:var(--raio);background:var(--glass);backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-borda);box-shadow:var(--sombra);text-decoration:none;color:inherit;transition:transform .12s, box-shadow .12s}
.nc:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.nc:focus-visible{outline:3px solid #FFD100;outline-offset:2px}
.nc.destaque h4{font-size:24px}
.nc h4{font:700 19px/1.2 var(--f-head);margin:0;letter-spacing:-.01em;text-wrap:balance}
.nc p{margin:0;color:var(--muted);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tema{font:700 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ok)}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted)}
.lateral{display:grid;gap:14px;align-content:start}
.alta ol{list-style:none;margin:0;padding:0;counter-reset:a}
.alta li{counter-increment:a;display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--linha);font-weight:500}
.alta li:last-child{border-bottom:0}
.alta li::before{content:counter(a);font:800 20px/1 var(--f-head);background:var(--grad-ouro);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta{display:grid;gap:6px;text-decoration:none;color:#fff;border-radius:var(--raio);padding:18px;
  background:radial-gradient(300px 160px at 0% 0%, rgba(0,166,81,.6), transparent 60%),linear-gradient(140deg,#0A2A6B,#002776);box-shadow:0 20px 40px -22px rgba(0,39,118,.6)}
.cta b{font:700 18px var(--f-head)} .cta span{color:#D3DDF2;font-size:13.5px}
.vazio{padding:26px;text-align:center;color:var(--muted)}

/* matéria */
.materia{max-width:760px;margin-inline:auto;padding-block:26px 0;display:grid;gap:16px}
.materia h1{font:800 clamp(26px,4.5vw,40px)/1.08 var(--f-head);margin:0;letter-spacing:-.02em;text-wrap:balance}
.materia .corpo{font-size:17px;line-height:1.7;white-space:pre-line}
.rotulos{display:flex;flex-wrap:wrap;gap:6px}
.rot{font:600 11.5px var(--f-body);padding:5px 10px;border-radius:99px;background:var(--glass-forte);border:1px solid var(--glass-borda);color:var(--muted)}
.rot.ok{background:var(--tint-ok);color:var(--ok)}
.embed{border-radius:16px;overflow:hidden;background:var(--glass-forte);border:1px solid var(--glass-borda)}
.embed .abre{display:grid;gap:8px;place-items:center;text-align:center;padding:28px 18px;width:100%;border:0;background:transparent;color:var(--fg);cursor:pointer;font:inherit}
.embed .abre b{font:700 16px var(--f-head)} .embed .abre span{font-size:12.5px;color:var(--muted);max-width:46ch}
.embed iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.embed blockquote{margin:12px auto!important}
.voltar{font:600 13.5px var(--f-body);color:var(--muted);text-decoration:none}
.voltar:hover{color:var(--fg)}
.pesq{border-radius:14px;padding:12px 14px;background:var(--tint-warn);color:var(--warn);font-size:13.5px}

/* formulários (pedido de correção e painel) */
.form{display:grid;gap:12px}
.campo{display:grid;gap:5px}
.campo label{font:600 12.5px var(--f-body);color:var(--muted)}
.campo input,.campo select,.campo textarea{font:15px/1.45 var(--f-body);color:var(--fg);background:var(--glass-forte);border:1px solid var(--linha);border-radius:12px;padding:10px 12px;width:100%}
.campo textarea{min-height:120px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:#00A651;box-shadow:0 0 0 3px rgba(0,166,81,.18)}
.ajuda{font-size:12px;color:var(--muted)}
.btn{font:600 14px var(--f-body);border:0;border-radius:12px;padding:10px 16px;cursor:pointer;color:var(--fg);background:var(--glass-forte);border:1px solid var(--linha)}
.btn:hover{filter:brightness(1.04)}
.btn.pri{color:#fff;border:0;background:var(--grad-marca);box-shadow:0 10px 20px -8px rgba(0,132,61,.45)}
.btn.perigo{color:#fff;border:0;background:linear-gradient(135deg,#ff8a8a,#e5484d)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn:focus-visible{outline:3px solid #FFD100;outline-offset:2px}
.acoes{display:flex;flex-wrap:wrap;gap:8px}
.msg{font-size:14px;border-radius:12px;padding:10px 12px}
.msg.ok{background:var(--tint-ok);color:var(--ok)} .msg.erro{background:rgba(229,72,77,.12);color:#C2363B}
@media (prefers-color-scheme: dark){.msg.erro{color:#FF8A8F}}
.guia{max-width:820px;margin-inline:auto;padding-block:26px 0;display:grid;gap:16px}
.guia h1{font:800 clamp(26px,4.5vw,38px)/1.1 var(--f-head);margin:0;letter-spacing:-.02em}
.guia .card p,.guia .card li{font-size:15.5px}
.guia .card ul{margin:0;padding-left:20px;display:grid;gap:6px}

/* fotos dos candidatos e cores de campanha */
.cand .pessoa{display:flex;align-items:center;gap:14px;min-width:0}
.foto{border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none;background:var(--glass-forte);
  box-shadow:0 0 0 3px var(--anel, var(--c-outros)), 0 8px 18px -8px rgba(20,35,75,.45)}
.foto.ini{display:grid;place-items:center;font:700 16px var(--f-head);color:#fff;background:var(--anel, var(--c-outros))}
.gp{display:flex;align-items:center;gap:10px;min-width:0}
.gl .vbar{grid-column:1/-1}
.uf.p-pl{background:var(--c-pl);color:#fff;border-color:transparent} .uf.p-pl small{color:rgba(255,255,255,.88)}
.uf.p-pt{background:var(--c-pt);color:#fff;border-color:transparent} .uf.p-pt small{color:rgba(255,255,255,.88)}

/* ---- ajustes 07/10: contador menor ---- */
.hero{padding-block:20px 4px}
.hero .wrap>div{padding:22px 24px;border-radius:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:center}
.hero .k{grid-column:1/-1}
.hero h1{font-size:clamp(22px,3.4vw,32px);margin:2px 0 0}
.hero p{grid-column:1/-1;margin:8px 0 0;font-size:14px}
.cd{gap:8px}
.cd div{min-width:66px;padding:8px 10px;border-radius:14px}
.cd b{font-size:30px}
.cd small{font-size:10px}
@media (max-width:640px){.hero .wrap>div{grid-template-columns:1fr}}

/* ---- presidentes ao lado do Guia ---- */
.pres1t{display:grid;gap:12px;padding:18px}
.pres1t h3{margin:0}
.pc1{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}
.pc1 .pessoa{display:flex;align-items:center;gap:10px;min-width:0}
.pc1 .nm{font:700 15px/1.15 var(--f-head)}
.pc1 .nm small{display:block;font:500 12px var(--f-body);color:var(--muted)}
.pc1 b{font:800 22px var(--f-head)}
.pc1 .vbar{height:10px}
.mini1{margin:0;font-size:12px;color:var(--muted)}

/* barras: cor sólida da campanha (o degradê foi retirado a pedido em 07/10) */
.vbar span{--cor:var(--c-outros);background:var(--cor)}

/* ---- pop-up de anúncio ---- */
.anuncio{position:fixed;z-index:50;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:min(340px,calc(100vw - 32px));
  min-height:170px;background:#fff;color:#14234B;border-radius:20px;padding:22px 22px 26px;display:grid;align-content:center;gap:8px;text-align:center;
  box-shadow:0 30px 70px -20px rgba(20,35,75,.45),0 0 0 1px rgba(20,35,75,.06);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .25s,transform .25s}
.anuncio.aberto{opacity:1;transform:none}
.anuncio p{margin:0;font:700 19px/1.3 var(--f-head)}
.anuncio .selo-ad{font:700 10.5px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#8692B0}
.anuncio .fechar{position:absolute;top:8px;right:10px;width:32px;height:32px;border-radius:50%;border:0;background:#F1F4F9;color:#14234B;font:600 20px/1 var(--f-body);cursor:pointer}
.anuncio .fechar:hover{background:#E4E9F2}
.anuncio .fechar:focus-visible{outline:3px solid #FFD100;outline-offset:2px}
.anuncio .tempo{position:absolute;left:0;bottom:0;height:4px;width:100%;border-radius:0 0 20px 20px;background:linear-gradient(90deg,#00A651,#FFD100,#1F4FA8);transform-origin:left}
.anuncio.aberto .tempo{animation:tempo-ad 5s linear forwards}
@keyframes tempo-ad{to{transform:scaleX(0)}}
@media (max-width:560px){.anuncio{left:16px;right:16px;width:auto;margin-inline:auto}}

/* ---- presidentes e Guia lado a lado (07/10) ---- */
.duo{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:18px;padding-top:22px;align-items:stretch}
.duo>#pres1t{display:grid}
.duo .pres1t{height:100%;align-content:start}
.duo .cta{height:100%;align-content:start;padding:22px}
.cta-l{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;color:#D3DDF2;font-size:13.5px}
.cta em{font-style:normal;font:700 13.5px var(--f-body);color:#FFE066;margin-top:auto;padding-top:8px}
.duo .pc1 .nm{font-size:16px}
@media (max-width:760px){.duo{grid-template-columns:1fr}}

/* ---- ajuste 07/10 (2): contador ainda mais compacto, presidentes maiores ---- */
.hero{padding-block:16px 0}
.hero .wrap>div{padding:16px 22px;border-radius:20px;gap:2px 20px}
.hero .k{font-size:11px}
.hero h1{font-size:clamp(19px,2.6vw,25px)}
.hero p{font-size:13px;margin-top:4px}
.cd{gap:6px}
.cd div{min-width:54px;padding:6px 8px;border-radius:12px}
.cd b{font-size:24px}
.cd small{font-size:9px;letter-spacing:.1em}

.duo .pres1t{padding:22px 24px;gap:16px}
.duo .pc1{gap:8px 14px}
.duo .pc1 .pessoa{gap:14px}
.duo .pc1 .foto{width:64px!important;height:64px!important}
.duo .pc1 .nm{font-size:19px}
.duo .pc1 .nm small{font-size:13px}
.duo .pc1 b{font-size:30px}
.duo .pc1 .vbar{height:12px}
.duo .mini1{font-size:12.5px}

/* ---- ajuste 07/10 (3): página larga e grade única ----
   Largura quase total (como o seuimposto.com) e uma só grade para as duas linhas:
   coluna principal flexível + coluna lateral fina e igual (Guia em cima, Em alta embaixo). */
:root{--lateral:300px;--gutter:clamp(16px,2.6vw,40px)}
.wrap{max-width:1480px;padding-inline:var(--gutter)}
.duo,.news{grid-template-columns:minmax(0,1fr) var(--lateral);gap:20px}
.duo{padding-top:20px}
.news{padding-top:20px}
@media (max-width:900px){.duo,.news{grid-template-columns:1fr}}

/* contador: título e números um pouco maiores, caixas do mesmo tamanho */
.hero .k{font-size:13px;letter-spacing:.14em}
.hero h1{font-size:clamp(21px,2.4vw,28px)}
.cd{gap:8px}
.cd div{min-width:66px;padding:8px 10px}
.cd b{font-size:32px}
.cd small{font-size:10px}

/* governadores e demais blocos acompanham a mesma largura */
.painel{gap:20px}
.govs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* ---- ajuste 07/10 (4): governadores sobem na coluna principal; notícias compactas na lateral ---- */
.principal{display:grid;gap:20px;align-content:start;min-width:0}
.principal .painel{padding-block:0}
.lat-tit{font:700 12.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 2px -4px}
.nc.compacto{padding:14px 16px;gap:4px}
.nc.compacto h4{font-size:15.5px}
.nc.compacto p{font-size:13px;-webkit-line-clamp:3}
.nc.compacto .meta{font-size:11.5px}

/* ---- ajuste 07/10 (5): contador mais baixo ----
   Texto em uma linha só (sem limite de largura) e os números à direita ocupando as três linhas do texto. */
.hero .wrap>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k cd" "t cd" "p cd";row-gap:2px;padding:14px 22px}
.hero .k{grid-area:k;grid-column:auto}
.hero h1{grid-area:t;margin:0}
.hero p{grid-area:p;grid-column:auto;max-width:none;margin:2px 0 0}
.hero .cd{grid-area:cd;align-self:center}
@media (max-width:640px){.hero .wrap>div{grid-template-columns:1fr;grid-template-areas:"k" "t" "cd" "p"}}

/* ---- mapa do Brasil ---- */
.mapa-grade{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:24px;align-items:start}
@media (max-width:820px){.mapa-grade{grid-template-columns:1fr}}
.mapa-wrap{max-width:640px;width:100%;margin-inline:auto}
.mapa-br{width:100%;height:auto;display:block;overflow:visible}
.uf-forma{stroke:var(--bg1);stroke-width:1.6;stroke-linejoin:round;cursor:pointer;transition:fill-opacity .2s, filter .2s}
.uf-forma:hover,.uf-forma:focus-visible,.uf-forma.sel{fill-opacity:1!important;filter:drop-shadow(0 6px 10px rgba(20,35,75,.35));outline:none}
.uf-forma.sel{stroke:#FFD100;stroke-width:3}
.rotulos text{pointer-events:none;font-family:var(--f-head)}
.rot-dentro{text-anchor:middle;fill:#fff;paint-order:stroke;stroke:rgba(10,25,60,.45);stroke-width:3px;stroke-linejoin:round}
.rot-dentro .sg{font-size:19px;font-weight:800;letter-spacing:.02em}
.rot-dentro .pc{font-size:15px;font-weight:600}
.rot-mini .sg{font-size:12px}
.rot-fora{fill:var(--fg)}
.rot-fora .sg{font-size:16px;font-weight:800}
.rot-fora .pc{font-size:14px;font-weight:600;fill:var(--muted)}
.guia-linha{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3}
.mapa-lado{display:grid;gap:16px;align-content:start}
.legenda-mapa{display:grid;gap:8px;font-size:13.5px}
.leg-item{display:flex;align-items:center;gap:8px}
.leg-item i{width:14px;height:14px;border-radius:4px;flex:none}
.leg-item.fraco{color:var(--muted);font-size:12px}
.mapa-det{display:grid;gap:12px;padding:14px;border-radius:16px;background:var(--glass-forte);border:1px solid var(--glass-borda);min-height:120px}
.mapa-det h4,.det h4{font:700 18px var(--f-head);margin:0}
.uf-ext{justify-self:start;font:600 12.5px var(--f-body);padding:6px 12px;border-radius:10px;border:1px solid var(--linha);background:var(--glass-forte);color:var(--fg);cursor:pointer}
.uf-ext[aria-pressed="true"]{box-shadow:0 0 0 2px #FFD100}
/* etiquetas do mapa maiores (legíveis no tamanho em que o mapa aparece) */
.rot-dentro .sg{font-size:25px}
.rot-dentro .pc{font-size:19px}
.rot-mini .sg{font-size:14px}
.rot-fora .sg{font-size:21px}
.rot-fora .pc{font-size:18px}

/* ---- celular (verificado em 375 px) ---- */
.uf-sel-l,.uf-sel{display:none}
@media (max-width:820px){
  .uf-sel-l{display:block;font:600 12.5px var(--f-body);color:var(--muted)}
  .uf-sel{display:block;width:100%;font:15px var(--f-body);color:var(--fg);background:var(--glass-forte);border:1px solid var(--linha);border-radius:12px;padding:10px 12px}
}
@media (max-width:560px){
  header.site .wrap{padding-block:8px;gap:6px}
  .status span:last-child{display:none}
  .status{padding:6px 8px}
  .nav a{padding:6px 10px}
  .duo .pres1t{padding:16px}
  .duo .pc1{grid-template-columns:minmax(0,1fr) auto}
  .duo .pc1 .foto{width:50px!important;height:50px!important}
  .duo .pc1 .nm{font-size:15px;overflow-wrap:anywhere}
  .duo .pc1 b{font-size:22px}
  .cand .nm{font-size:16px;overflow-wrap:anywhere}
  .cand .pc{font-size:24px}
  .gov .u{font-size:15px}
  .hero .wrap>div{padding:14px 16px}
  .cd div{min-width:58px}
  .cd b{font-size:26px}
}

/* número absoluto de votos embaixo do percentual */
small.abs{display:block;font:500 11.5px/1.3 var(--f-body);color:var(--muted);text-align:right;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.duo .pc1 small.abs,.mapa-det small.abs{font-size:12.5px}
.gl b{text-align:right}

/* ---- ajuste 07/10 (6): usa mais a tela ---- */
:root{--lateral:320px;--gutter:clamp(12px,1.8vw,32px)}
.wrap{max-width:1760px}

/* ---- pop-up: no meio da tela e com o dobro do tamanho (07/10) ---- */
.anuncio-fundo{position:fixed;inset:0;z-index:49;background:rgba(10,20,45,.35);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}
.anuncio-fundo.aberto{opacity:1}
.anuncio{left:50%;top:50%;right:auto;bottom:auto;width:min(680px,calc(100vw - 32px));min-height:340px;padding:44px 40px 48px;gap:14px;border-radius:26px;
  transform:translate(-50%,-46%) scale(.97)}
.anuncio.aberto{transform:translate(-50%,-50%)}
.anuncio p{font-size:clamp(24px,3.4vw,36px);line-height:1.2}
.anuncio .selo-ad{font-size:12.5px}
.anuncio .fechar{top:14px;right:14px;width:42px;height:42px;font-size:26px}
.anuncio .tempo{height:6px;border-radius:0 0 26px 26px}
@media (max-width:560px){.anuncio{left:50%;right:auto;min-height:260px;padding:36px 22px 40px}}

/* ================= v2 (07/10): marca, faixa, lista, anúncio, apresentação ================= */
.marca{white-space:nowrap}
.ao-vivo{display:inline-flex;align-items:center;gap:5px;font:800 10.5px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:#E5484D;padding:5px 8px 5px 7px;border-radius:99px;margin-left:2px;box-shadow:0 6px 14px -6px rgba(229,72,77,.7)}
.ao-vivo::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff}
@media (prefers-reduced-motion:no-preference){.ao-vivo::before{animation:pisca 1.4s ease-in-out infinite}}
@keyframes pisca{50%{opacity:.25}}
@media (max-width:420px){.marca{font-size:18px}.ao-vivo{display:none}}

.faltam{align-self:center;font:800 18px var(--f-head);color:#FFE066;letter-spacing:.02em;margin-right:4px;text-transform:uppercase}

/* faixa de breaking news */
.ticker{border-top:1px solid var(--glass-borda);background:linear-gradient(90deg,rgba(0,39,118,.96),rgba(10,42,107,.92))}
.tk{display:flex;align-items:center;gap:12px;height:38px;overflow:hidden}
.tk-rot{flex:none;font:800 11px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#14234B;background:#FFD100;padding:5px 10px;border-radius:8px}
.tk-janela{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tk-trilho{display:inline-flex;align-items:center;gap:16px;white-space:nowrap;will-change:transform}
@media (prefers-reduced-motion:no-preference){.tk-trilho{animation:rolar 70s linear infinite}.ticker:hover .tk-trilho{animation-play-state:paused}}
@keyframes rolar{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-janela{overflow-x:auto}.tk-copia{display:none}}
.tk-item{display:inline-flex;align-items:baseline;gap:8px}
.tk-item a{color:#fff;text-decoration:none;font:600 13.5px var(--f-body)}
.tk-item a:hover{text-decoration:underline}
.tk-f{font:600 11.5px var(--f-body);color:#FFE066}
.tk-sep{font-style:normal;color:rgba(255,255,255,.35);font-size:8px}

/* coluna direita: lista de notícias */
.lista-n ul{list-style:none;margin:0;padding:0;display:grid}
.lista-n li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--linha)}
.lista-n li:last-child{border-bottom:0}
.lista-n li a{font:600 14px/1.3 var(--f-head);color:var(--fg);text-decoration:none}
.lista-n li a:hover{text-decoration:underline}
.lista-n li span{font-size:11.5px;color:var(--muted)}
.lista-n .mini1{margin-top:8px}

/* Guia + Anuncie aqui empilhados ao lado dos presidentes */
.duo-lado{display:grid;gap:14px;grid-template-rows:1fr auto}
.anuncie-lat{display:grid;gap:4px;text-align:left;cursor:pointer;border:2px dashed rgba(0,166,81,.45);border-radius:18px;padding:14px 16px;
  background:var(--glass);color:var(--fg);font:inherit;transition:border-color .15s, transform .15s}
.anuncie-lat:hover{border-color:#00A651;transform:translateY(-2px)}
.anuncie-lat:focus-visible{outline:3px solid #FFD100;outline-offset:2px}
.anuncie-lat b{font:800 18px var(--f-head)}
.anuncie-lat span:not(.selo-ad){font-size:12.5px;color:var(--muted)}
.selo-ad{font:700 10.5px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#8692B0}

/* pop-up com botões e formulário */
.anuncio-acoes{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}
.btn-verde,.btn-amarelo{font:700 16px var(--f-body);border:0;border-radius:14px;padding:14px 22px;cursor:pointer}
.btn-verde{color:#fff;background:linear-gradient(135deg,#16C26B,#00843D);box-shadow:0 12px 24px -10px rgba(0,132,61,.6)}
.btn-amarelo{color:#3D2E00;background:linear-gradient(135deg,#FFE066,#FFC400);box-shadow:0 12px 24px -10px rgba(242,178,0,.6)}
.btn-verde:hover,.btn-amarelo:hover{filter:brightness(1.05)}
.btn-verde:focus-visible,.btn-amarelo:focus-visible{outline:3px solid #1F4FA8;outline-offset:2px}
.btn-verde:disabled{opacity:.6}
.anuncio.com-form{text-align:left;align-content:start;min-height:0;max-height:calc(100vh - 32px);overflow:auto}
.anuncio.com-form .selo-ad{text-align:left}
.an-tit{font:800 26px var(--f-head);margin:0;color:#14234B}
.an-form .campo label{color:#5A667D}
.an-form .campo input{background:#F5F7FB;color:#14234B;border-color:#DCE2EC}
.an-linha{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.an-linha{grid-template-columns:1fr}}
.an-form .ajuda{color:#5A667D}
.an-form .btn-verde{justify-self:start}
.isca{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.an-ok{font:700 26px var(--f-head);color:#00843D;margin:6px 0 0;text-align:center}

/* botão do modo apresentação */
.topo-ap{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.topo-ap h3{margin:0}
.card>.topo-ap{margin-bottom:12px}
.btn-tela{font:600 12.5px var(--f-body);color:var(--fg);background:var(--glass-forte);border:1px solid var(--linha);border-radius:10px;padding:6px 10px;cursor:pointer;white-space:nowrap}
.btn-tela:hover{border-color:#00A651}
.btn-tela:focus-visible{outline:3px solid #FFD100;outline-offset:2px}

/* tela de apresentação (16:9, letras grandes para telão) */
body.em-apres{overflow:hidden}
.apres{position:fixed;inset:0;z-index:200;display:grid;grid-template-rows:auto 1fr auto;color:#fff;font-family:var(--f-body);
  background:radial-gradient(1200px 700px at 0% 0%,rgba(0,166,81,.35),transparent 60%),radial-gradient(1000px 700px at 100% 100%,rgba(255,209,0,.18),transparent 60%),
  linear-gradient(140deg,#061B4F,#002776 55%,#04122F)}
.ap-topo{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2.2vh 3vw}
.apres .logo{color:#fff;font-size:clamp(20px,2vw,34px)}
.apres .logo .mark{width:clamp(28px,2.4vw,44px);height:clamp(28px,2.4vw,44px)}
.ap-fase{display:flex;align-items:center;gap:10px;font:700 clamp(16px,1.5vw,28px) var(--f-head);color:#FFE066}
.ap-dot{width:14px;height:14px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 5px rgba(229,72,77,.3)}
@media (prefers-reduced-motion:no-preference){.ap-dot{animation:pisca 1.4s ease-in-out infinite}}
.ap-hora{font:700 clamp(16px,1.5vw,28px) var(--f-head);font-variant-numeric:tabular-nums;color:#C9D6F0}
.ap-palco{display:grid;place-items:center;padding:0 3vw;min-height:0}
.ap-tit{font:800 clamp(26px,3vw,56px) var(--f-head);margin:0 0 2.5vh;text-align:center}
.ap-duelo{width:100%;max-width:1700px}
.ap-cands{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.ap-c{display:grid;justify-items:center;text-align:center;gap:.6vh;padding:3vh 2vw;border-radius:32px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.ap-c .foto{width:clamp(120px,13vw,260px)!important;height:clamp(120px,13vw,260px)!important;box-shadow:0 0 0 8px var(--cor),0 20px 50px -10px rgba(0,0,0,.5)}
.ap-nome{font:800 clamp(24px,2.8vw,54px)/1.1 var(--f-head);margin-top:1.5vh}
.ap-part{font:600 clamp(14px,1.3vw,24px) var(--f-body);color:#C9D6F0}
.ap-pct{font:800 clamp(56px,8vw,150px)/1 var(--f-head);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ap-votos{font:600 clamp(16px,1.6vw,30px) var(--f-body);color:#C9D6F0;font-variant-numeric:tabular-nums}
.ap-bar{width:100%;height:clamp(12px,1.4vh,22px);margin-top:1vh;background:rgba(255,255,255,.15)}
.ap-sec{text-align:center;margin-top:2.5vh;font:600 clamp(16px,1.5vw,28px) var(--f-body);color:#C9D6F0}
.ap-sec b{color:#FFE066}
.ap-govs{width:100%;max-width:1800px}
.ap-grade{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6vw}
.ap-gov{padding:2vh 1.2vw;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);display:grid;gap:1.4vh}
.ap-uf{display:flex;justify-content:space-between;align-items:baseline;font:800 clamp(18px,1.7vw,32px) var(--f-head)}
.ap-uf span{font:600 clamp(11px,.9vw,16px) var(--f-body);color:#C9D6F0}
.ap-gl{display:grid;grid-template-columns:auto 1fr auto;gap:.8vw;align-items:center}
.ap-gl .foto{width:clamp(40px,3.6vw,72px)!important;height:clamp(40px,3.6vw,72px)!important}
.ap-gn{font:700 clamp(13px,1.1vw,21px)/1.15 var(--f-head)}
.ap-gn small{display:block;font:600 clamp(10px,.8vw,15px) var(--f-body);color:#C9D6F0}
.ap-gl b{font:800 clamp(20px,2vw,38px) var(--f-head);font-variant-numeric:tabular-nums}
.ap-rod{display:flex;justify-content:space-between;gap:20px;padding:1.8vh 3vw;font:600 clamp(12px,1vw,18px) var(--f-body);color:#C9D6F0;border-top:1px solid rgba(255,255,255,.1)}
.ap-ctrl{position:fixed;right:24px;bottom:70px;display:flex;gap:8px;padding:8px;border-radius:16px;background:rgba(0,0,0,.45);backdrop-filter:blur(10px);transition:opacity .3s}
.ap-ctrl button{font:600 14px var(--f-body);color:#fff;background:rgba(255,255,255,.12);border:0;border-radius:10px;padding:9px 14px;cursor:pointer}
.ap-ctrl button[aria-pressed="true"]{background:#00A651}
.ap-ctrl [data-sair]{background:rgba(229,72,77,.85)}
.apres.ocioso .ap-ctrl{opacity:0;pointer-events:none}
.apres.ocioso{cursor:none}
@media (max-width:900px){.ap-grade{grid-template-columns:repeat(2,1fr)}.ap-cands{gap:3vw}}
.anuncio .ajuda,.anuncio .msg{font:500 13px/1.4 var(--f-body)}
.anuncio .msg.erro{font-weight:600}
.anuncio.com-form p.an-ok{font:700 26px/1.3 var(--f-head)}
.apres footer.ap-rod{margin:0;background:rgba(0,0,0,.18);backdrop-filter:none;-webkit-backdrop-filter:none;border-top:1px solid rgba(255,255,255,.1)}

/* "FALTAM" no mesmo tamanho dos números do contador */
.faltam{font-size:32px;line-height:1;font-weight:800}
@media (max-width:560px){.faltam{font-size:26px}}
