/* Que horas votar no seu local? (assets/horario-voto.js) */
.hv-br{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px;align-items:end;margin-bottom:18px;padding:18px 20px}
.hv-kicker{margin:0 0 4px;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hv-br h2{margin:0 0 6px;font:800 clamp(1.1rem,2.4vw,1.45rem)/1.25 var(--display);color:var(--text)}
.hv-filtro{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:14px;margin-bottom:18px;padding:16px 18px}
.hv-cidade{padding:18px 20px;margin-bottom:18px}
.hv-resp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 10px}
.hv-resp-item{padding:12px 14px;border-radius:12px;background:var(--blue-5);border-left:5px solid var(--blue-70);display:flex;flex-direction:column;gap:2px}
.hv-resp-item small{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.hv-resp-item b{font:800 clamp(1.25rem,3vw,1.7rem)/1.1 var(--display);color:var(--text);font-variant-numeric:tabular-nums}
.hv-resp-item span{font-size:.85rem;color:var(--muted)}
.hv-resp-item.calmo{border-left-color:var(--green);background:var(--green-10)}
.hv-resp-item.cheio{border-left-color:#C2850C;background:var(--yellow-10)}
.hv-resp-item.fila{border-left-color:var(--gray-60, #636363)}
.hv-nota{margin:0 0 12px;color:var(--muted);font-size:.88rem}
/* gráfico de barras por hora (cresce ao aparecer) */
.hv-graf{display:flex;align-items:flex-end;gap:6px;height:170px;padding-top:6px}
.hv-b{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.hv-b i{display:block;width:100%;height:var(--h);min-height:2px;border-radius:6px 6px 2px 2px;background:var(--blue-50);transform-origin:bottom;animation:hvSobe .7s cubic-bezier(.22,1,.36,1) both}
.hv-b.calmo i{background:var(--green)}
.hv-b.cheio i{background:#E8A600}
.hv-b.fila i{background:repeating-linear-gradient(135deg,var(--gray-20,#ccc) 0 6px,var(--gray-10,#e6e6e6) 6px 12px)}
.hv-v{font-size:.72rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.hv-h{font-size:.78rem;font-weight:700;color:var(--text)}
@keyframes hvSobe{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.hv-b i{animation:none}}
.hv-peq{height:38px;gap:2px;width:150px;flex:none;padding:0}
.hv-peq .hv-h,.hv-peq .hv-v{display:none}
.hv-peq .hv-b i{border-radius:2px;animation:none}
/* lista de locais */
.hv-locais{padding:18px 20px;margin-bottom:18px}
.hv-locais-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.hv-locais-topo h2{margin:0;font:800 1.15rem/1.2 var(--display)}
.hv-locais-topo input{min-width:min(360px,100%)}
.hv-lista{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.hv-local{width:100%;display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font:inherit;color:var(--text);text-align:left;cursor:pointer;min-height:56px}
.hv-local:hover,.hv-local[aria-expanded="true"]{border-color:var(--blue-50);background:var(--blue-5)}
.hv-local-nome{flex:1;min-width:0;display:flex;flex-direction:column}
.hv-local-nome small{color:var(--muted);font-size:.8rem}
.hv-local-calmo{flex:none;font-size:.8rem;color:var(--muted);white-space:nowrap}
.hv-local-calmo b{color:var(--green);font-size:1rem}
.hv-local-det{padding:12px 6px 4px}
.hv-mais{margin:10px 0 0;text-align:center}
.hv-aviso{display:flex;gap:12px;padding:16px 18px;align-items:flex-start}
.hv-aviso>.ico{flex:none;color:var(--primary);width:22px;height:22px}
.hv-aviso p{margin:0 0 8px}
.hv-vazio p{margin:0;display:flex;align-items:center;gap:8px;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:760px){
  .hv-br,.hv-filtro{grid-template-columns:1fr}
  .hv-resp{grid-template-columns:1fr}
  .hv-graf{gap:3px;height:150px}
  .hv-v{font-size:.72rem}
  .hv-h{font-size:.72rem}
  .hv-local{flex-wrap:wrap}
  .hv-peq{width:100%}
}
[data-theme="contrast"] .hv-resp-item,[data-theme="contrast"] .hv-local{background:#000;border-color:#fff}
@media (max-width:760px){.hv-peq{height:38px}}
.hv-tab{padding:18px 20px;margin-bottom:18px}
.hv-tab h2{margin:0 0 10px;font:800 1.15rem/1.2 var(--display)}
.hv-uf{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--primary);cursor:pointer;text-align:left;min-height:32px}
/* quem pode votar aqui (perfil por idade) */
.hv-perfil{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--blue-5)}
.hv-perfil-tit{margin:0 0 8px;font-weight:800;color:var(--text)}
.hv-perfil-tit small{font-weight:500;color:var(--muted)}
.hv-perfil-barra{display:flex;height:18px;border-radius:999px;overflow:hidden;background:var(--gray-10,#e6e6e6)}
.hv-perfil-barra i{display:block;height:100%}
.hv-perfil-leg{list-style:none;margin:8px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted)}
.hv-perfil-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.hv-perfil-leg b{color:var(--text)}
.hv-perfil-num{margin:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.88rem;color:var(--muted)}
.hv-perfil-num b{color:var(--text);font-size:1rem}
/* estudo: o que a idade muda */
.hv-estudo{margin-bottom:18px}
.hv-estudo h2{margin:0 0 6px;font:800 clamp(1.15rem,2.4vw,1.45rem)/1.25 var(--display)}
.hv-estudo-lead{margin:0 0 12px;font-size:1rem;line-height:1.5;max-width:900px}
.hv-estudo-bloco{padding:16px 18px;margin-bottom:12px}
.hv-estudo-bloco h3{margin:0 0 10px;font:800 1.02rem/1.2 var(--display)}
.hv-e-bar{display:flex;align-items:center;gap:8px;min-width:120px}
.hv-e-bar i{display:block;height:10px;border-radius:999px;background:var(--blue-50);flex:none;max-width:70px;min-width:2px}
.hv-e-bar b{font-variant-numeric:tabular-nums;white-space:nowrap}
.hv-e-bar.cor i{background:var(--cor)}
.hv-estudo-alerta{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:12px 14px;border-radius:12px;background:var(--yellow-10);border-left:4px solid #C2850C}
.hv-estudo-alerta .ico{flex:none;width:20px;height:20px;color:#C2850C}
.hv-estudo-alerta p{margin:0;font-size:.92rem;line-height:1.5}
.hv-e-num{font-variant-numeric:tabular-nums}
.hv-e-bar.cor i{max-width:none;width:auto}
.hv-e-bar.cor{min-width:150px}
.hv-estudo-sub{margin:22px 0 6px;font:800 1.15rem/1.25 var(--display)}
/* painel comparar/tendências e filtro de grupos de locais */
.hv-painel{padding:16px 18px;margin-bottom:18px}
.hv-abas{display:flex;gap:6px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.hv-abas button{border:0;background:none;padding:10px 14px;font:inherit;font-weight:800;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;min-height:44px}
.hv-abas button[aria-selected="true"]{color:var(--primary);border-bottom-color:var(--primary)}
.hv-tend-ctl{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.hv-tend-frase{margin:0 0 10px;font-size:.95rem;line-height:1.5}
.hv-locais-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.hv-locais-filtros .field{min-width:min(260px,100%)}
.hv-grupo{margin:12px 0;padding:12px 14px;border-radius:12px;border:2px solid var(--blue-20);background:var(--surface)}
/* seções que mudaram de local no 2º turno */
.hv-mudou{padding:0;margin-bottom:18px;border:2px solid #E8A600;background:var(--yellow-10)}
.hv-mudou summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;min-height:56px;list-style:none}
.hv-mudou summary::-webkit-details-marker{display:none}
.hv-mudou summary .ico{flex:none;width:24px;height:24px;color:#C2850C}
.hv-mudou summary span{display:flex;flex-direction:column;gap:2px}
.hv-mudou summary small{color:var(--muted)}
.hv-mudou[open] summary{border-bottom:1px solid #E8A600}
.hv-mudou .table-wrap,.hv-mudou .tf-barra,.hv-mudou>p{margin:12px 18px}
.hv-mudou .table{background:var(--surface)}
.hv-selo-mudou{display:inline-block;margin:2px 0;padding:1px 8px;border-radius:999px;background:#E8A600;color:#071D41;font-size:.72rem;font-weight:800;width:max-content}
/* versões visuais: comparar, tendências e ranking dos estados */
.hv-cv{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.hv-cv-card{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.hv-cv-card>p{margin:0 0 8px;font-weight:800;font-size:.92rem;color:var(--text)}
.hv-cv-pres{grid-column:1 / -1}
.hv-cv-l{display:grid;grid-template-columns:minmax(70px,110px) minmax(0,1fr) auto;align-items:center;gap:8px;margin:5px 0;font-size:.86rem}
.hv-cv-l>span:first-child{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hv-cv-l b{font-variant-numeric:tabular-nums;white-space:nowrap}
.hv-cv-t{display:block;height:12px;border-radius:999px;background:var(--blue-5);overflow:hidden}
.hv-cv-t i{display:block;height:100%;border-radius:999px;background:var(--blue-50)}
.hv-cv-split{display:flex;height:16px;border-radius:999px;background:var(--blue-5);overflow:hidden}
.hv-cv-split i{display:block;height:100%}
.hv-cv-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;font-size:.8rem;color:var(--muted)}
.hv-cv-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.hv-ver-tab{margin-top:12px}
.hv-ver-tab>summary{cursor:pointer;font-weight:700;color:var(--primary);min-height:44px;display:flex;align-items:center}
.hv-mini-eixo{margin:4px 0 10px;font-size:.88rem;color:var(--muted)}
.hv-minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px;margin-bottom:10px}
.hv-mini{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.hv-mini>p:first-child{margin:0 0 6px;font-weight:800;font-size:.9rem}
.hv-mini-g{display:flex;align-items:flex-end;gap:6px;height:110px}
.hv-mini-b{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}
.hv-mini-b span{font-size:.7rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.hv-mini-b i{display:block;width:100%;border-radius:5px 5px 2px 2px;transform-origin:bottom;animation:hvSobe .7s cubic-bezier(.22,1,.36,1) both}
.hv-mini-par{flex:1;height:100%;display:flex;gap:2px}
.hv-mini-x{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-top:4px}
.hv-rank-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}
.hv-rank-ctl .field{min-width:min(280px,100%)}
.hv-rank{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.hv-rank-l{width:100%;display:grid;grid-template-columns:minmax(110px,36%) minmax(0,1fr) 80px;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:8px;background:none;font:inherit;color:var(--text);cursor:pointer;text-align:left;min-height:40px}
.hv-rank-l:hover{background:var(--blue-5)}
.hv-rank-l b{text-align:right;font-variant-numeric:tabular-nums}
.hv-rank-n{font-weight:700;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){.hv-rank-l{grid-template-columns:minmax(90px,120px) minmax(0,1fr) 64px;gap:6px}.hv-mini-g{height:90px}}
@media (prefers-reduced-motion:reduce){.hv-mini-b i{animation:none}}
@media (max-width:640px){.hv-mini-voto .hv-mini-b span{display:none}.hv-rank-l{grid-template-columns:minmax(0,48%) minmax(0,1fr) 52px;font-size:.86rem}.hv-cv-l{grid-template-columns:minmax(64px,96px) minmax(0,1fr) auto}}
/* tendências em frente a frente: menos × mais, com veredito */
.hv-d-intro{margin:4px 0 12px;font-size:.95rem;line-height:1.5}
.hv-d{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;margin-bottom:10px}
.hv-d-card{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:4px}
.hv-d-card>p:first-child{margin:0 0 4px;font-weight:800;font-size:.95rem}
.hv-d-lado{display:grid;grid-template-columns:minmax(96px,130px) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.86rem}
.hv-d-rot{color:var(--muted)}
.hv-d-lado b{font-variant-numeric:tabular-nums;white-space:nowrap}
.hv-d-ver{align-self:flex-start;margin-top:6px;padding:3px 10px;border-radius:999px;font-size:.82rem;font-weight:800}
.hv-d-ver.igual{background:var(--blue-5);color:var(--muted)}
.hv-d-ver.mais{background:#FDE0DB;color:#9C1C00}
.hv-d-ver.menos{background:var(--green-10);color:#0E5C16}
.hv-d-ver.neutro{background:var(--blue-5);color:var(--blue-80)}
.hv-ver-de{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 12px;padding:10px 12px;border-radius:12px;background:var(--blue-5)}
.hv-ver-de label{font-weight:800}
.hv-ver-de select{min-height:42px;flex:1 1 260px;max-width:420px}
.hv-ver-de-nota{margin:0 0 8px;font-size:.88rem;color:var(--muted)}
/* "Monte o seu filtro": quem × quando × onde */
.hv-combo{margin:6px 0 12px;padding:12px 14px;border-radius:12px;background:var(--blue-5);border:1px solid var(--blue-20)}
.hv-combo-tit{margin:0 0 8px;font-weight:800;color:var(--blue-80)}
.hv-combo-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.hv-combo-campos select{min-height:42px;width:100%}
.hv-combo-res{margin:4px 0 10px;padding:12px 14px;border-radius:12px;background:var(--surface);border-left:5px solid var(--primary)}
.hv-combo-num{margin:0;font-size:1.05rem;line-height:1.4}
.hv-combo-num b{font:800 clamp(1.4rem,3.4vw,1.9rem)/1 var(--display);color:var(--primary);margin-right:4px}
.hv-combo-sub{margin:4px 0 0;color:var(--muted);font-size:.88rem}
.hv-combo-graf-tit{margin:14px 0 6px;font-weight:800}

.hv-estado .hv-vazio-dica{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem}
.hv-estado .hv-vazio-dica .ico{width:18px;height:18px}

/* 1º × 2º turno */
.hv-turno{margin:0 0 16px;flex-wrap:wrap}
.hv-par .hv-par-i{display:flex;align-items:flex-end;gap:2px;width:100%;flex:1;min-height:0}
.hv-par .hv-par-i i{flex:1;width:auto}
.hv-par .hv-par-i i.t1{background:#9CC3FF}
.hv-par .hv-par-i i.t2{background:#1351B4}
.hv-comp2 h2,.hv-prorr h2,.hv-gp h2{margin:0 0 8px}
.hv-comp2 .hv-graf{margin:10px 0 4px}
.hv-prorr-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:8px}
.hv-gp .vp-seg{margin:8px 0 12px;flex-wrap:wrap}
.hv-comp2 .hv-vazio-dica{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem}
.hv-comp2 .hv-vazio-dica .ico{width:18px;height:18px}
.hv-comp2,.hv-prorr,.hv-gp{padding:18px 20px;margin-bottom:18px}
.hv-comp2 h2,.hv-prorr h2,.hv-gp h2{font:800 1.15rem/1.25 var(--display)}
