/* Canindé.Blog — resultados das eleições (2º turno 2026) */
.nav-list .nav-link.nav-eleicao { color:rgba(255,255,255,.72); }
.nav-list .nav-link.nav-eleicao i { margin-right:.25rem; }
.nav-list .nav-link.nav-eleicao:hover, .nav-list .nav-link.nav-eleicao.active { color:#fff; }

.res-dot { display:inline-block; width:.6rem; height:.6rem; border-radius:50%; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:resPulso 1.8s infinite; vertical-align:middle; margin-right:.35rem; }
@keyframes resPulso { 70% { box-shadow:0 0 0 .55rem rgba(34,197,94,0); } 100% { box-shadow:0 0 0 0 rgba(34,197,94,0); } }
@media (prefers-reduced-motion: reduce) { .res-dot { animation:none; } }
.a11y-pausa .res-dot { animation:none; }

/* ── faixa da home ── */
.res-banner { display:block; background:var(--dark); color:#fff; border-bottom:3px solid var(--accent); text-decoration:none; margin-top:1rem; }
.res-banner:hover { color:#fff; background:var(--dark2); }
.res-banner-in { display:flex; align-items:center; gap:.75rem 1rem; flex-wrap:wrap; padding-top:.7rem; padding-bottom:.7rem; }
.res-banner-tag { font-weight:800; font-size:.78rem; letter-spacing:.06em; white-space:nowrap; }
.res-banner-txt { flex:1 1 16rem; font-weight:600; font-size:.95rem; min-width:0; }
.res-banner-cta { font-weight:700; font-size:.85rem; color:var(--highlight); white-space:nowrap; }
.res-banner:focus-visible { outline:3px solid var(--highlight); outline-offset:-3px; }
.urgente-bar + .res-banner { margin-top:0; }

/* ── página ── */
.res-hero { background:linear-gradient(135deg,var(--dark),var(--dark2)); color:#fff; padding:1.6rem 0 1.8rem; }
.res-hero h1 { font-size:clamp(1.5rem,4.5vw,2.3rem); font-weight:800; line-height:1.15; margin:.2rem 0 .6rem; }
.res-hero-tag { font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.85); margin:0; }
.res-hero-sub { max-width:46rem; color:rgba(255,255,255,.8); margin:0; }
.res-wrap { padding-top:1.25rem; padding-bottom:2.5rem; }
.res-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1rem; margin-bottom:1rem; }
.res-tabs { display:inline-flex; background:var(--bg-white); border:1px solid var(--border); border-radius:999px; padding:.25rem; box-shadow:var(--shadow-sm); max-width:100%; }
.res-tab { appearance:none; border:0; background:transparent; color:var(--text); font:inherit; font-weight:700; padding:.5rem 1.15rem; border-radius:999px; cursor:pointer; min-height:44px; }
.res-tab[aria-selected="true"] { background:var(--accent); color:var(--accent-contrast); }
.res-tab:not([aria-selected="true"]):hover { background:var(--accent-soft); }
.res-tab:focus-visible { outline:3px solid var(--accent-dark); outline-offset:2px; }
.res-sync { margin:0; font-size:.85rem; color:var(--muted); }
.res-sync.is-erro { color:#b91c1c; font-weight:600; }

.res-card { background:var(--bg-white); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:1.1rem; margin-bottom:1rem; }
@media (min-width:768px) { .res-card { padding:1.5rem; } }
.res-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem .75rem; margin-bottom:1rem; }
.res-h2 { font-size:1.25rem; font-weight:800; margin:0; color:var(--text); }
.res-chip { font-size:.82rem; font-weight:700; border-radius:999px; padding:.3rem .8rem; background:#e2e8f0; color:#334155; }
.res-chip-andamento { background:#fff7ed; color:#9a3412; }
.res-chip-ok { background:#dcfce7; color:#166534; }
.res-chip-espera { background:#e0f2fe; color:#075985; }
.res-chip-erro { background:#fee2e2; color:#991b1b; }
.res-empty, .res-loading { color:var(--muted); margin:.5rem 0 0; }

.res-bar { display:flex; height:1.1rem; border-radius:999px; overflow:hidden; background:#e2e8f0; margin-bottom:1.1rem; }
.res-bar span { display:block; height:100%; transition:width .6s ease; }
.res-bar span + span { border-left:2px solid #fff; }

.res-cands { display:grid; grid-template-columns:1fr; gap:.75rem; margin-bottom:1.1rem; }
@media (min-width:600px) { .res-cands { grid-template-columns:1fr 1fr; } }
.res-cand { display:grid; grid-template-columns:auto 1fr; grid-template-areas:"av info" "num num"; gap:.6rem .8rem; align-items:center; border:2px solid var(--border); border-left:6px solid var(--c); border-radius:var(--radius); padding:.8rem; }
.res-cand.is-lider { border-color:var(--c); background:color-mix(in srgb,var(--c) 6%,#fff); }
.res-avatar { grid-area:av; position:relative; width:64px; height:64px; border-radius:50%; background:var(--c); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; overflow:hidden; flex-shrink:0; }
.res-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.res-cand-info { grid-area:info; min-width:0; }
.res-cand-info h3 { font-size:1.05rem; font-weight:800; margin:0; overflow-wrap:anywhere; }
.res-cand-meta, .res-cand-vice { margin:.1rem 0 0; font-size:.85rem; color:var(--muted); }
.res-tag { display:inline-block; margin-top:.35rem; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; background:var(--c); color:#fff; border-radius:999px; padding:.15rem .6rem; }
.res-tag-ok { background:#166534; }
.res-cand-num { grid-area:num; display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; border-top:1px dashed var(--border); padding-top:.5rem; }
.res-cand-num strong { font-size:2rem; line-height:1; font-weight:900; color:var(--c); font-variant-numeric:tabular-nums; }
.res-cand-num span { color:var(--muted); font-size:.9rem; font-variant-numeric:tabular-nums; }

.res-prog { margin-bottom:1.1rem; }
.res-prog-top { display:flex; justify-content:space-between; font-size:.9rem; margin-bottom:.3rem; }
.res-prog-bar { height:.7rem; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.res-prog-bar span { display:block; height:100%; background:var(--accent); border-radius:999px; transition:width .6s ease; }
.res-prog small { color:var(--muted); }

.res-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; margin:0 0 .8rem; }
@media (min-width:768px) { .res-stats { grid-template-columns:repeat(4,1fr); } }
.res-stats > div { background:var(--bg); border-radius:var(--radius); padding:.65rem .8rem; }
.res-stats dt { font-size:.78rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; }
.res-stats dd { margin:.1rem 0 0; font-weight:800; font-size:1.05rem; font-variant-numeric:tabular-nums; }
.res-stats dd small { display:block; font-weight:600; font-size:.8rem; color:var(--muted); }
.res-foot { margin:0; font-size:.82rem; color:var(--muted); }

.res-table-wrap { overflow-x:auto; }
.res-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; min-width:420px; }
.res-table th, .res-table td { padding:.65rem .5rem; border-bottom:1px solid var(--border); text-align:right; vertical-align:top; }
.res-table thead th { font-size:.85rem; color:var(--muted); }
.res-table th small, .res-table td small { display:block; font-size:.75rem; font-weight:500; color:var(--muted); }
.res-table tbody th { text-align:left; font-weight:700; }
.res-table thead th:first-child { text-align:left; }
.res-table td.is-lider strong { color:#166534; }
.res-table .res-na { color:var(--muted); }
.res-swatch { display:inline-block; width:.8rem; height:.8rem; border-radius:3px; margin-right:.45rem; vertical-align:-.05rem; }

.res-note { font-size:.88rem; color:var(--muted); }
.res-note p { margin:0 0 .5rem; }
.res-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
