/* Resultado — primeira revisão editorial do layout. Mantém a camada de dados R5.2. */
.results-hero-editorial { padding-top: 44px; padding-bottom: 44px; }
.results-hero-editorial .home-hero-inner { align-items: center; }
.results-hero-editorial h1 { max-width: 880px; font-size: clamp(46px, 6.3vw, 84px); }
.results-hero-editorial .deck { max-width: 820px; font-size: clamp(17px,1.8vw,22px); }

.results-featured-home { display: grid; gap: 18px; margin-bottom: 26px; }
.featured-election-bar {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 20px;
  padding: 0 4px 4px;
}
.featured-kicker,.featured-card-heading span,.featured-state-heading span,.featured-race-header span {
  color: var(--red-dark); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase;
}
.featured-election-bar h2 { margin: 5px 0 0; color: var(--blue-deep); font-size: clamp(27px,3vw,40px); letter-spacing: -.045em; line-height: 1.04; }
.featured-election-meta { color: var(--muted); font-size: 11px; text-align: right; }

.featured-president-card,.featured-state-card {
  border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); overflow: hidden;
}
.featured-card-heading,.featured-state-heading {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 22px 24px 18px;
  border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
}
.featured-card-heading h3,.featured-state-heading h3 { margin: 4px 0 0; color: var(--blue-deep); font-size: clamp(25px,2.5vw,34px); letter-spacing: -.04em; }
.featured-card-heading p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.featured-link-button {
  min-height: 38px; padding: 8px 13px; border: 1px solid #bfd0df; border-radius: 9px; background: #fff; color: var(--blue);
  font: inherit; font-size: 10px; font-weight: 850; cursor: pointer;
}
.featured-link-button:hover,.featured-link-button:focus-visible { border-color: var(--blue); background: var(--blue-pale); }
.featured-loading { grid-column: 1/-1; padding: 34px 20px; color: var(--muted); text-align: center; }

.featured-president-results { padding: 22px 24px 24px; }
.featured-president-leaders { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.featured-candidate-lead {
  position: relative; display: grid; grid-template-columns: 138px minmax(0,1fr); gap: 18px; align-items: center;
  min-height: 176px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfe;
}
.featured-candidate-position {
  position: absolute; top: 12px; right: 13px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 999px;
  background: var(--blue-deep); color: #fff; font-size: 11px; font-weight: 900;
}
.featured-candidate-photo {
  position: relative; display: grid; place-items: center; width: 138px; height: 138px; overflow: hidden; border-radius: 999px;
  background: #eaf0f6; border: 4px solid #fff; box-shadow: 0 5px 18px rgba(14,50,89,.12);
}
.featured-candidate-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.featured-photo-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: var(--blue-deep); font-size: 30px; font-weight: 900; }
.featured-candidate-copy { min-width: 0; padding-right: 28px; }
.featured-candidate-name { margin: 0; color: var(--blue-deep); font-size: clamp(23px,2.5vw,34px); letter-spacing: -.04em; line-height: .98; }
.featured-candidate-party { margin: 7px 0 0; color: var(--muted); font-size: 11px; font-weight: 750; }
.featured-candidate-numbers { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; margin-top: 15px; }
.featured-candidate-percent { color: var(--blue-deep); font-size: clamp(26px,3vw,38px); font-weight: 900; letter-spacing: -.045em; }
.featured-candidate-votes { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.featured-progress { height: 7px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: #e6edf4; }
.featured-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--blue); }

.featured-president-others { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 14px; }
.featured-candidate-small {
  display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px;
  border: 1px solid var(--line); border-radius: 12px; background: #fff;
}
.featured-candidate-small .featured-candidate-photo { width: 58px; height: 58px; border-width: 2px; box-shadow: none; }
.featured-candidate-small .featured-photo-fallback { font-size: 16px; }
.featured-small-copy { min-width: 0; }
.featured-small-copy strong { display: block; overflow: hidden; color: var(--blue-deep); font-size: 12px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.featured-small-copy span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.featured-small-copy b { display: block; margin-top: 5px; color: var(--blue-deep); font-size: 15px; letter-spacing: -.02em; }

.featured-state-heading { align-items: center; }
.featured-state-select { width: min(280px,100%); margin: 0; }
.featured-state-select select { min-height: 42px; }
.featured-state-toolbar { display: flex; gap: 8px; padding: 14px 24px 0; }
.featured-mode-button {
  min-height: 38px; padding: 8px 14px; border: 1px solid var(--line-dark); border-radius: 999px; background: #fff; color: var(--blue-deep);
  font: inherit; font-size: 10px; font-weight: 850; cursor: pointer;
}
.featured-mode-button.is-active { border-color: var(--blue-deep); background: var(--blue-deep); color: #fff; }
.featured-state-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 14px 24px 24px; }
.featured-race-panel { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfe; }
.featured-race-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.featured-race-header h4 { margin: 3px 0 0; color: var(--blue-deep); font-size: 19px; letter-spacing: -.025em; }
.featured-race-list { display: grid; gap: 7px; }
.featured-race-item { display: grid; grid-template-columns: 44px 46px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 8px; border-top: 1px solid #e9eef3; }
.featured-race-item:first-child { border-top: 0; }
.featured-race-position { color: var(--muted); font-size: 10px; font-weight: 900; text-align: center; }
.featured-race-photo { position: relative; display: grid; place-items: center; width: 46px; height: 46px; overflow: hidden; border-radius: 999px; background: #eaf0f6; }
.featured-race-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.featured-race-photo .featured-photo-fallback { font-size: 13px; }
.featured-race-name { min-width: 0; }
.featured-race-name strong { display: block; overflow: hidden; color: var(--blue-deep); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.featured-race-name span { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.featured-race-score { text-align: right; }
.featured-race-score strong { display: block; color: var(--blue-deep); font-size: 15px; }
.featured-race-score span { display: block; margin-top: 1px; color: var(--muted); font-size: 8px; white-space: nowrap; }
.featured-empty { padding: 18px; color: var(--muted); font-size: 11px; text-align: center; }

/* A consulta completa continua abaixo, mas perde peso visual no primeiro carregamento. */
.results-layout { margin-top: 6px; }
.results-filter-card { box-shadow: none; }
.results-jump-nav { border-radius: 13px; }

@media (max-width: 1020px) {
  .featured-president-others { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .featured-candidate-lead { grid-template-columns: 112px minmax(0,1fr); }
  .featured-candidate-photo { width: 112px; height: 112px; }
}
@media (max-width: 760px) {
  .results-hero-editorial { padding-top: 34px; padding-bottom: 34px; }
  .featured-election-bar,.featured-card-heading,.featured-state-heading { align-items: flex-start; flex-direction: column; }
  .featured-election-meta { text-align: left; }
  .featured-president-leaders,.featured-state-grid { grid-template-columns: 1fr; }
  .featured-candidate-lead { grid-template-columns: 96px minmax(0,1fr); min-height: 132px; padding: 13px; }
  .featured-candidate-photo { width: 96px; height: 96px; }
  .featured-candidate-name { font-size: 25px; }
  .featured-president-results,.featured-state-grid { padding-left: 14px; padding-right: 14px; }
  .featured-card-heading,.featured-state-heading { padding-left: 16px; padding-right: 16px; }
  .featured-state-toolbar { padding-left: 14px; padding-right: 14px; overflow-x: auto; }
  .featured-state-select { width: 100%; }
}
@media (max-width: 520px) {
  .featured-president-others { grid-template-columns: 1fr; }
  .featured-candidate-lead { grid-template-columns: 82px minmax(0,1fr); }
  .featured-candidate-photo { width: 82px; height: 82px; }
  .featured-candidate-copy { padding-right: 12px; }
  .featured-candidate-percent { font-size: 28px; }
  .featured-race-item { grid-template-columns: 28px 42px minmax(0,1fr) auto; gap: 7px; }
  .featured-race-photo { width: 42px; height: 42px; }
}

/* R2 — filtros simples, turnos, status e páginas detalhadas */
.featured-card-heading-r2 { align-items: center; }
.featured-card-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.turn-switcher,.race-turn-switcher { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.turn-pill { min-height:34px; padding:7px 11px; border:1px solid #c6d3e0; border-radius:999px; background:#fff; color:var(--blue-deep); font:inherit; font-size:10px; font-weight:850; cursor:pointer; }
.turn-pill.is-active { background:var(--blue-deep); border-color:var(--blue-deep); color:#fff; }
.turn-pill:hover,.turn-pill:focus-visible { border-color:var(--blue); }

.featured-scope-filter { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:15px 24px; border-bottom:1px solid var(--line); background:#fff; }
.featured-scope-buttons,.territory-tabs { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.scope-pill { min-height:36px; padding:8px 14px; border:1px solid #c4d1dd; border-radius:999px; background:#fff; color:var(--blue-deep); font:inherit; font-size:10px; font-weight:850; cursor:pointer; }
.scope-pill.is-active { border-color:var(--blue-deep); background:var(--blue-deep); color:#fff; }
.featured-scope-selects { display:flex; gap:10px; align-items:flex-end; }
.featured-scope-selects .field { min-width:230px; margin:0; }
.featured-scope-selects select { min-height:40px; }

.featured-counting { display:grid; grid-template-columns:minmax(180px,auto) minmax(180px,1fr); align-items:center; gap:14px 20px; padding:12px 24px; border-bottom:1px solid var(--line); background:#f8fbfe; }
.featured-counting.compact { grid-template-columns:minmax(105px,auto) 1fr; padding:9px 0 11px; border-bottom:0; background:transparent; }
.counting-copy { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.counting-copy span { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.counting-copy strong { color:var(--blue-deep); font-size:14px; }
.counting-copy small { color:var(--muted); font-size:9px; }
.counting-bar { height:7px; overflow:hidden; border-radius:999px; background:#dfe8f1; }
.counting-bar > span { display:block; height:100%; border-radius:inherit; background:var(--blue); }
.featured-counting.compact .counting-bar { height:5px; }

.featured-photo-link { position:relative; display:inline-grid; text-decoration:none; }
.result-status-badge { position:absolute; z-index:3; left:50%; bottom:-7px; transform:translateX(-50%); max-width:calc(100% + 22px); padding:5px 8px; border-radius:999px; color:#fff; background:#596879; font-size:8px; font-weight:900; line-height:1; white-space:nowrap; box-shadow:0 2px 8px rgba(0,0,0,.12); }
.result-status-badge.is-elected { background:#137749; }
.result-status-badge.is-not-elected { background:#8d3b3b; }
.result-status-badge.is-second-round { background:#9b6500; }
.result-status-badge.is-alternate { background:#48617d; }
.featured-photo-link.small .result-status-badge { bottom:-5px; padding:3px 5px; font-size:6px; }
.candidate-inline-detail { display:inline-block; margin-top:10px; color:var(--blue); font-size:10px; font-weight:800; text-decoration:none; }
.featured-candidate-name a,.featured-small-copy a,.featured-race-name a { color:inherit; text-decoration:none; }
.featured-candidate-name a:hover,.featured-small-copy a:hover,.featured-race-name a:hover,.candidate-inline-detail:hover { text-decoration:underline; }

.featured-state-controls { display:grid; grid-template-columns:repeat(2,minmax(190px,1fr)); gap:10px; width:min(590px,100%); }
.featured-state-help { margin:6px 0 0; color:var(--muted); font-size:10px; }
.featured-empty-large { grid-column:1/-1; min-height:120px; display:grid; place-items:center; border:1px dashed #c9d6e3; border-radius:12px; background:#fbfcfe; }
.race-turn-switcher { margin:-2px 0 7px; }
.mini-pagination,.results-pagination { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:12px; }
.mini-pagination button,.results-pagination button { min-height:32px; padding:6px 10px; border:1px solid #c6d3e0; border-radius:8px; background:#fff; color:var(--blue-deep); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.mini-pagination button:disabled,.results-pagination button:disabled { opacity:.45; cursor:not-allowed; }
.mini-pagination span,.results-pagination span { color:var(--muted); font-size:9px; }

.results-home-tools { display:flex; justify-content:space-between; gap:22px; align-items:center; margin:20px 0 26px; padding:22px 24px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-soft); }
.results-home-tools span { color:var(--red-dark); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.results-home-tools h2 { margin:4px 0 4px; color:var(--blue-deep); font-size:25px; }
.results-home-tools p { margin:0; max-width:780px; color:var(--muted); font-size:11px; }
.results-home-tool-links { display:flex; gap:8px; flex-wrap:wrap; }
.featured-analysis-link { color:var(--blue); font-weight:850; font-size:10px; text-decoration:none; }

/* Página de resultado completo */
.result-detail-page,.candidate-result-detail-page { padding-top:24px; padding-bottom:36px; }
.detail-breadcrumb { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:14px; color:var(--muted); font-size:10px; }
.detail-breadcrumb a { color:var(--blue); text-decoration:none; font-weight:800; }
.detail-hero-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:var(--shadow-soft); }
.detail-hero-card h1 { margin:4px 0 3px; color:var(--blue-deep); font-size:clamp(28px,4vw,48px); letter-spacing:-.045em; }
.detail-hero-card p { margin:0; color:var(--muted); font-size:11px; }
.detail-actions { display:flex; gap:8px; align-items:center; }
.detail-scope-card { display:grid; grid-template-columns:auto auto minmax(300px,1fr); align-items:end; gap:18px; margin-top:14px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.detail-scope-copy { display:grid; gap:2px; }
.detail-scope-copy span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.detail-scope-copy strong { color:var(--blue-deep); font-size:17px; }
.detail-scope-selects { display:flex; justify-content:flex-end; gap:10px; }
.detail-scope-selects .field { min-width:220px; margin:0; }
.detail-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:14px 0 0; }
.detail-metrics article { padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.detail-metrics span { display:block; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.detail-metrics strong { display:block; margin-top:5px; color:var(--blue-deep); font-size:20px; }
.detail-counting { margin-top:10px; border:1px solid var(--line); border-radius:12px; }
.detail-section { margin-top:16px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-soft); }
.detail-section .results-section-heading { margin-bottom:14px; }
.detail-section .results-section-heading h2 { margin:3px 0; color:var(--blue-deep); }
.detail-section .results-section-heading p { margin:0; color:var(--muted); font-size:10px; }
.detail-territory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px; }
.detail-candidate-select { min-width:210px; margin:0; }
.results-table small { display:block; margin-top:2px; color:var(--muted); font-size:8px; }
.table-detail-link { color:var(--blue); font-size:9px; font-weight:850; text-decoration:none; }

/* Página individual do candidato */
.candidate-result-hero { position:relative; display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; align-items:center; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-soft); }
.candidate-result-photo { position:relative; width:180px; height:180px; border-radius:50%; overflow:visible; background:#edf2f7; box-shadow:0 6px 20px rgba(14,50,89,.12); }
.candidate-result-photo img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center top; }
.candidate-result-photo .result-status-badge { bottom:4px; }
.candidate-result-hero-copy h1 { margin:5px 0; color:var(--blue-deep); font-size:clamp(34px,5vw,58px); letter-spacing:-.05em; line-height:.96; }
.candidate-result-hero-copy p { margin:0; color:var(--muted); font-size:12px; }
.candidate-result-score { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:18px 0 12px; }
.candidate-result-score strong { color:var(--blue-deep); font-size:30px; }
.candidate-result-score span { color:var(--muted); font-size:11px; }
.candidate-section-filters { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)) auto; gap:10px; align-items:end; margin-bottom:12px; }
.candidate-section-filters .field { margin:0; }

@media (max-width: 1000px) {
  .detail-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .detail-scope-card { grid-template-columns:1fr; align-items:start; }
  .detail-scope-selects { justify-content:flex-start; }
  .featured-state-controls { width:100%; }
}
@media (max-width: 760px) {
  .featured-scope-filter,.results-home-tools,.detail-hero-card { align-items:flex-start; flex-direction:column; }
  .featured-scope-selects,.detail-scope-selects { width:100%; flex-direction:column; }
  .featured-scope-selects .field,.detail-scope-selects .field { width:100%; min-width:0; }
  .featured-counting { grid-template-columns:1fr; }
  .featured-state-controls { grid-template-columns:1fr; }
  .detail-territory-grid { grid-template-columns:1fr; }
  .candidate-result-hero { grid-template-columns:1fr; text-align:center; }
  .candidate-result-photo { margin:0 auto; width:145px; height:145px; }
  .candidate-result-score { justify-content:center; }
  .candidate-section-filters { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .detail-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-card-actions { justify-content:flex-start; }
}
.analysis-intro-card { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:16px; padding:20px 22px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow-soft); }
.analysis-intro-card h2 { margin:4px 0; color:var(--blue-deep); font-size:27px; letter-spacing:-.035em; }
.analysis-intro-card p { margin:0; max-width:820px; color:var(--muted); font-size:10px; }
@media (max-width:760px){.analysis-intro-card{align-items:flex-start;flex-direction:column;}}

/* R4 — páginas iniciais por eleição, status da apuração e navegação local */
.election-home-selector{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 30px;margin:0 0 22px;background:#fff;border:1px solid #d9e2ec;border-radius:22px;box-shadow:0 10px 30px rgba(15,48,84,.06)}
.election-home-selector-copy>span{display:block;color:#b53631;font-size:.74rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}.election-home-selector-copy p{margin:8px 0 0;color:#68788c;font-size:.9rem}
.election-big-select{position:relative}.election-big-select select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#103a6a;font:800 clamp(1.8rem,4vw,3.25rem)/1.05 inherit;padding:0 46px 2px 0;cursor:pointer;max-width:100%;outline:none}.election-big-select:after{content:'⌄';position:absolute;right:7px;top:50%;transform:translateY(-55%);font-size:1.8rem;color:#103a6a;pointer-events:none}
.municipal-location-card{background:#fff;border:1px solid #d9e2ec;border-radius:22px;padding:28px 30px;margin-bottom:22px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(420px,1.25fr);gap:22px;align-items:end}.municipal-location-card h2{margin:4px 0 8px;color:#103a6a;font-size:clamp(1.55rem,2.5vw,2.25rem)}.municipal-location-card p{margin:0;color:#68788c}.municipal-location-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.municipal-location-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.featured-location-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:0 28px 16px}.race-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.race-analysis-link{font-size:.76rem;font-weight:800;text-decoration:none;color:#174d87}.race-analysis-link:hover{text-decoration:underline}
.featured-counting .counting-copy.is-complete strong{color:#177245}.featured-counting .counting-copy.is-waiting strong{color:#8a5a00}.featured-counting .counting-copy.is-counting strong{color:#b53631}.counting-bar.is-indeterminate span{animation:result-counting-move 1.4s ease-in-out infinite;min-width:18%;max-width:42%}@keyframes result-counting-move{0%{transform:translateX(-80%)}50%{transform:translateX(150%)}100%{transform:translateX(420%)}}
.results-local-page .local-hero-card{background:#fff;border:1px solid #d9e2ec;border-radius:22px;padding:28px 30px;margin-bottom:22px}.local-hero-card h1{margin:4px 0 8px;font-size:clamp(2rem,4vw,3.3rem);color:#103a6a}.local-hero-card p{margin:0;color:#68788c}.local-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.local-race-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.local-race-grid .featured-race-panel{min-width:0}
.candidacy-link-card{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.candidate-result-hero-copy .candidate-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.candidate-result-hero-copy .candidate-action-row .featured-link-button{margin:0}
@media(max-width:850px){.election-home-selector{align-items:flex-start;flex-direction:column}.municipal-location-card{grid-template-columns:1fr}.municipal-location-fields,.local-race-grid{grid-template-columns:1fr}.race-header-actions{justify-content:flex-start}.featured-location-actions{padding-left:18px;padding-right:18px}}
@media(max-width:560px){.election-home-selector,.municipal-location-card{padding:20px}.election-big-select select{font-size:1.8rem}.municipal-location-fields{grid-template-columns:1fr}.race-header-actions{width:100%}}

/* R5 — correções de visibilidade e análise sob demanda */
.results-featured-home[hidden],
#general-election-home[hidden],
#municipal-election-home[hidden],
[hidden] { display:none !important; }

.lazy-analysis-shell{margin:28px 0 32px;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}
.lazy-analysis-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fbfcfe}
.lazy-analysis-head h2{margin:3px 0 0;color:var(--blue-deep);font-size:24px}
.lazy-analysis-head p{margin:4px 0 0;color:var(--muted);font-size:10px}
.lazy-analysis-frame{display:block;width:100%;min-height:1120px;border:0;background:#fff}
.lazy-analysis-placeholder{padding:28px;color:var(--muted);text-align:center}
.js-expand-analysis{cursor:pointer}
.results-analysis-embed .site-header,.results-analysis-embed .footer,.results-analysis-embed .results-news-block,.results-analysis-embed .analysis-intro-card{display:none!important}
.results-analysis-embed .results-content{padding-top:10px}
.results-analysis-embed .results-layout{margin-top:0}
.results-analysis-embed .results-sidebar{top:8px}
.local-mini-chart{display:grid;gap:7px;margin:10px 0 12px}
.local-mini-chart-row{display:grid;grid-template-columns:minmax(90px,1.3fr) minmax(120px,2fr) auto;gap:8px;align-items:center}
.local-mini-chart-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue-deep);font-size:9px;font-weight:800}
.local-mini-chart-track{height:7px;border-radius:999px;background:#e6edf4;overflow:hidden}.local-mini-chart-track>span{display:block;height:100%;border-radius:inherit;background:var(--blue)}
.local-mini-chart-row>b{font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums}
.election-kind-tag{display:inline-flex;align-items:center;margin-left:8px;padding:3px 7px;border-radius:999px;background:#eef4fa;color:var(--blue);font-size:9px;font-weight:850}
.results-home-r5 .municipal-location-card{margin-bottom:0}
.results-home-r5 .featured-state-grid{padding-top:18px}
.results-home-r5 .featured-location-actions .featured-analysis-link,
.results-home-r5 .municipal-location-actions .featured-analysis-link{border:0;background:transparent;padding:0;font:inherit;color:var(--blue);font-weight:850;cursor:pointer}
.geo-consent-note{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.35}
@media(max-width:760px){.lazy-analysis-frame{min-height:1500px}.lazy-analysis-head{align-items:flex-start;flex-direction:column}.local-mini-chart-row{grid-template-columns:100px 1fr auto}}
.results-analysis-embed .results-ad{display:none!important}
