/* Banner das Eleições 2026 abaixo do topo (25 e 26/10/2026) — app/apuracao.php → apuracao_banner() */
.apu-banner { display: block; position: relative; background: #fff; border-bottom: 1px solid #e3e8ef; color: #111; text-decoration: none; box-shadow: 0 1px 0 rgba(0, 0, 0, .03); }
.apu-banner:hover .apu-banner-cta { text-decoration: underline; }
.apu-banner-in { display: flex; align-items: center; gap: 18px; min-height: 64px; padding-top: 8px; padding-bottom: 8px; }
.apu-banner-tag { display: flex; flex-direction: column; line-height: 1.2; padding-right: 16px; border-right: 1px solid #e3e8ef; flex: 0 0 auto; }
.apu-banner-tag b { color: #e00000; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.apu-banner-tag span { color: #002452; font-weight: 700; font-size: 15px; }
.apu-banner-race { display: flex; align-items: center; gap: 14px; flex: 1 1 auto; min-width: 0; }
.apu-banner-c { display: flex; align-items: center; gap: 10px; min-width: 0; }
.apu-banner-c2 { flex-direction: row-reverse; text-align: right; }
.apu-banner-c img { width: 34px; height: auto; flex: 0 0 34px; } /* foto como vem do TSE, sem recorte */
.apu-banner-nome { display: flex; flex-direction: column; font-weight: 700; font-size: 15px; line-height: 1.15; white-space: nowrap; min-width: 0; }
.apu-banner-nome, .apu-banner-nome small { overflow: hidden; text-overflow: ellipsis; }
.apu-banner-race { justify-content: center; }
.apu-banner-nome small { font-weight: 400; color: #666; font-size: 12px; }
.apu-banner-c.is-eleito .apu-banner-nome small { color: #146c3a; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.apu-banner-pct { font-size: 24px; letter-spacing: -.5px; color: #002452; }
.apu-banner-c2 .apu-banner-pct { color: #5b7db1; }
.apu-banner-vs { color: #aaa; font-size: 18px; }
.apu-banner-st { font-size: 12px; color: #555; white-space: nowrap; margin-top: 2px; }
.apu-banner-apurando .apu-banner-st::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #e00000; margin-right: 6px; vertical-align: 1px; animation: apu-banner-pulse 1.6s infinite; }
@keyframes apu-banner-pulse { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .apu-banner-apurando .apu-banner-st::before { animation: none; } }
.apu-banner-cta { background: #002452; color: #fff; font-weight: 700; font-size: 14px; padding: 9px 14px; border-radius: 8px; white-space: nowrap; flex: 0 0 auto; }
.apu-banner-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: #5b7db1; }
.apu-banner-bar i { display: block; height: 100%; background: #002452; transition: width .6s ease; }

@media (max-width: 980px) {
    .apu-banner-cta { display: none; }
}
@media (max-width: 680px) {
    .apu-banner-in { flex-wrap: wrap; gap: 6px 10px; min-height: 0; padding-top: 8px; padding-bottom: 10px; }
    .apu-banner-tag { flex-direction: row; gap: 6px; align-items: baseline; border-right: 0; padding-right: 0; width: 100%; }
    .apu-banner-tag span { font-size: 13px; }
    .apu-banner-st { margin: 0 0 0 auto; }
    .apu-banner-race { width: 100%; justify-content: space-between; gap: 8px; }
    .apu-banner-c img { width: 28px; height: auto; flex-basis: 28px; }
    .apu-banner-nome { font-size: 13px; white-space: normal; line-height: 1.15; }
    .apu-banner-nome small { display: none; }
    .apu-banner-c.is-eleito .apu-banner-nome small { display: block; }
    .apu-banner-pct { font-size: 18px; }
    .apu-banner-vs { display: none; }
    .apu-banner-cta { display: none; }
}

/* Chamada nas matérias sobre a eleição (app/apuracao.php → apuracao_post_call) */
.apu-chamada { display: flex; flex-direction: column; gap: 6px; margin: 26px 0; padding: 18px 20px; border-radius: 12px; background: #002452; color: #fff; border-left: 6px solid #e00000; }
.apu-chamada-tag { color: #ff9b9b; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.apu-chamada b { font-size: 21px; line-height: 1.2; }
.apu-chamada-txt { color: #c9d6ea; font-size: 15px; line-height: 1.45; }
.apu-chamada-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.apu-chamada .apu-chamada-btn { background: #fff; color: #002452; font-weight: 700; font-size: 15px; padding: 9px 16px; border-radius: 8px; text-decoration: none; }
.apu-chamada .apu-chamada-btn2 { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .55); }
.apu-chamada .apu-chamada-btn:hover { opacity: .9; text-decoration: underline; }
@media (max-width: 600px) { .apu-chamada { padding: 16px; } .apu-chamada b { font-size: 19px; } .apu-chamada-btn { flex: 1 1 auto; text-align: center; } }
