/*
 * Refinamento visual da consulta pública.
 * Camada final: preserva o conteúdo e as regras eleitorais, mas normaliza
 * contraste, hierarquia, espaçamento e comportamento em telas pequenas.
 */
:root{
    --et-ink:#12342a;
    --et-muted:#587167;
    --et-brand:#087e5b;
    --et-brand-dark:#064c38;
    --et-mint:#eff8f2;
    --et-surface:#ffffff;
    --et-canvas:#f5f8f6;
    --et-border:#d6e5dc;
    --et-shadow:0 14px 34px rgba(13,53,39,.08);
    --et-radius:14px;
}

body{background:var(--et-canvas)!important;color:var(--et-ink)!important}
.topbar{background:rgba(255,255,255,.97)!important;box-shadow:0 1px 0 rgba(18,52,42,.1)!important}
.topbar .button{min-height:44px!important;box-shadow:none!important}
.topbar .button:focus-visible,.search button:focus-visible,.result a:focus-visible{outline:3px solid #f0bf32!important;outline-offset:3px!important}

.notice{border-radius:10px!important;background:#f0f8f3!important;border-color:#cce3d5!important;color:#315b4b!important;box-shadow:none!important}

/* Abertura: uma única mensagem principal e uma superfície de evidência. */
.hero{
    min-height:auto!important;
    padding-top:5rem!important;
    padding-bottom:5rem!important;
    background:linear-gradient(132deg,#063e2d 0%,#07533d 62%,#064231 100%)!important;
    box-shadow:none!important;
}
.hero h1{max-width:750px!important;letter-spacing:-.065em!important;line-height:1.02!important}
.hero-copy>p{max-width:620px!important;font-size:1.04rem!important;line-height:1.65!important}
.hero-notice{max-width:920px!important;font-size:.95rem!important}
.hero blockquote{align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:center!important;border-radius:var(--et-radius)!important}
.hero blockquote span{font-family:Manrope,Arial,sans-serif!important;font-size:1rem!important;line-height:1.7!important}

/* Consulta: superfície estável, campos grandes e uma ação inequívoca. */
.search{border:1px solid #195e48!important;border-radius:var(--et-radius)!important;background:#073d2e!important;box-shadow:var(--et-shadow)!important}
.search:after{opacity:.55}
.search h2{font-size:clamp(1.65rem,2.3vw,2.2rem)!important;letter-spacing:-.04em!important}
.search .fields label{font-size:.7rem!important;letter-spacing:.04em!important}
.search .fields select,.search .select2-selection--single{min-height:48px!important;border-radius:8px!important}
.search .select2-selection--single{height:48px!important}
.search .select2-selection__rendered{line-height:46px!important}
.search .select2-selection__arrow{height:46px!important}
.search .yellow{min-height:48px!important;border-radius:8px!important;font-size:.8rem!important}

.transparency-strip{border-radius:var(--et-radius)!important;border-color:var(--et-border)!important;box-shadow:none!important}
.transparency-strip div{background:var(--et-surface)!important}
.transparency-strip b{color:var(--et-ink)!important}
.transparency-strip span{color:var(--et-muted)!important}

/* Resultado: destacar fonte, candidatos e totais sem cartões excessivos. */
.result{padding-top:4.5rem!important;padding-bottom:4.5rem!important}
.result .home-result{border-color:var(--et-border)!important;border-radius:var(--et-radius)!important;box-shadow:var(--et-shadow)!important}
.home-result-head{background:#0a4936!important;padding:1.6rem 1.75rem!important}
.home-result-head h3{font-size:1.2rem!important}
.home-result-head a{min-height:40px!important;display:inline-flex!important;align-items:center!important;border-radius:8px!important;font-weight:800!important}
.home-votes{background:#fff!important}
.home-vote{min-height:84px!important;padding:1rem 1.4rem!important;transition:background-color .18s ease}
.home-vote:hover{background:#f4faf6!important}
.home-vote .candidate-photo{width:50px!important;height:50px!important;flex-basis:50px!important;border:2px solid #d7ebdf!important}
.home-vote b{font-size:.9rem!important}
.home-vote span{font-size:.75rem!important}
.home-vote strong{color:var(--et-brand)!important}
.vote-chart{margin:0!important;border-top:1px solid var(--et-border)!important;background:#f8fbf9!important}
.result-summary,.summary-details{gap:.9rem!important}
.summary-card{border-color:var(--et-border)!important;border-radius:10px!important;box-shadow:none!important}
.summary-card h4{font-size:.98rem!important}
.summary-row{font-size:.8rem!important}

/* Indicadores: leitura em bloco, sem ocupar a altura inteira da tela. */
.metrics-screen{height:auto!important;min-height:0!important;padding-top:4.5rem!important;padding-bottom:4.5rem!important;background:#083d2e!important}
.metrics-screen .metrics-content{height:auto!important;align-content:start!important}
.metrics-screen .metric-grid{grid-auto-rows:minmax(156px,auto)!important;gap:.9rem!important}
.metrics-screen .metric-grid article{border-radius:10px!important;border-color:rgba(197,232,214,.38)!important;box-shadow:none!important}
.metrics-screen .metric-grid article:hover{border-color:#7ed5aa!important;background:#fff!important}

/* Metodologia: documentação legível, não uma segunda página de campanha. */
.method-screen{height:auto!important;min-height:0!important;padding-top:4.8rem!important;padding-bottom:4.8rem!important;background:#fff!important}
.method-screen ol{border-radius:var(--et-radius)!important}
.method-screen li{min-height:88px!important}

@media (max-width:900px){
    .hero{padding-top:3.75rem!important;padding-bottom:3.75rem!important}
    .result{padding-top:3.5rem!important;padding-bottom:3.5rem!important}
    .method-screen{padding-top:3.75rem!important;padding-bottom:3.75rem!important}
}

@media (max-width:700px){
    .hero blockquote{padding:1.35rem!important}
    .search{border-radius:12px!important}
    .home-result-head{padding:1.25rem!important}
    .home-vote{min-height:76px!important;padding:1rem!important}
    .home-vote .candidate-photo{width:44px!important;height:44px!important;flex-basis:44px!important}
    .home-vote strong{min-width:76px!important;font-size:1.1rem!important}
}

@media (max-width:540px){
    .hero{padding-top:3rem!important;padding-bottom:3rem!important}
    .hero h1{font-size:clamp(2.55rem,13vw,3.35rem)!important}
    .search{width:calc(100% - 2rem)!important;margin:1rem!important;padding:1.4rem 1rem!important}
    .result{width:calc(100% - 2rem)!important;margin-inline:1rem!important}
    .transparency-strip,.notice{width:calc(100% - 2rem)!important;margin-inline:1rem!important}
    .home-vote{gap:.7rem!important}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
