/* Rádio Rural Eleições 2026 — tela da transmissão.
   Palco fixo de 1920x1080 escalado para caber em qualquer janela (sem rolagem). */
:root{--ink:#0f2244;--ink-2:#52627c;--blue:#2451a6;--green:#4a9338;--track:rgba(36,81,166,.13);--s:1}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html,body{width:100%;height:100%;overflow:hidden}
html{background:#eef2f3}
body{background:#eef2f3 url("../img/fundo.jpg") center/cover no-repeat;font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}
.no-cursor,.no-cursor *{cursor:none!important}

.stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--s));display:flex;flex-direction:column;padding:20px 64px 18px}

/* Topo */
.top{flex:none;height:122px;display:grid;grid-template-columns:320px 1fr 320px;align-items:center}
.logo-eleicoes{height:116px;width:auto;justify-self:start;margin-left:6px;filter:drop-shadow(0 1px 1.5px rgba(15,34,68,.10))}
.logo-rural{height:106px;width:auto;justify-self:end;margin-right:6px;filter:drop-shadow(0 1px 1.5px rgba(15,34,68,.10))}
.title{justify-self:center;font-size:56px;font-weight:800;line-height:1;letter-spacing:-.04em;white-space:nowrap;color:#0b1f45}
.title span{color:#1f4dab}

/* Cargo */
.board{flex:1;min-height:0;display:flex;flex-direction:column;transition:opacity .26s ease}
.board.is-out{opacity:0}
.office{flex:none;text-align:center;padding:6px 0 14px}
.office-tag{display:inline-flex;align-items:center;gap:18px;font-size:16px;font-weight:800;line-height:1.2;letter-spacing:.26em;text-transform:uppercase;color:#3d8a2e}
.office-tag::before,.office-tag::after{content:"";width:44px;height:2px;border-radius:2px;background:currentColor;opacity:.35}
.office-name{margin-top:4px;font-size:88px;font-weight:800;line-height:.92;letter-spacing:-.05em;color:#0b1f45}

/* Candidatos: um layout por quantidade */
.cands{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--n),var(--w));gap:var(--gap);justify-content:center;align-items:center;
  --n:3;--w:500px;--gap:64px;--pct:118px;--name:35px;--party:20px}
.cands.n1{--n:1;--w:594px;--gap:24px;--pct:118px;--name:35px;--party:20px;zoom:.84}
.cands.n2{--n:2;--w:495px;--gap:48px;--pct:108px;--name:32px;--party:19px;zoom:.95}
.cands.n3{--n:3;--w:429px;--gap:40px;--pct:104px;--name:30px;--party:18px}
.cands.n4{--n:4;--w:369px;--gap:28px;--pct:94px;--name:28px;--party:17px}
.cands.n5{--n:5;--w:319px;--gap:22px;--pct:84px;--name:25px;--party:16px}
.cands.n6{--n:6;--w:286px;--gap:18px;--pct:76px;--name:23px;--party:15px}

.cand{display:flex;flex-direction:column;width:var(--w);min-height:0;background:#fff;border:1px solid rgba(15,34,68,.07);border-radius:28px;overflow:hidden;box-shadow:0 1px 2px rgba(15,34,68,.05),0 10px 24px -12px rgba(15,34,68,.16),0 32px 64px -36px rgba(15,34,68,.36)}
/* Foto: o contêiner define o tamanho; a imagem só preenche (cover), sem deformar.
   As fotos do TSE são retratos fechados: alinhadas pelo topo para nunca cortar a cabeça. */
.cand-photo{position:relative;flex:0 0 auto;width:calc(100% + 30px);height:calc(var(--w) * .75 + 80px);margin-left:-15px;min-height:0;overflow:hidden;background:linear-gradient(180deg,#eaf0f6,#d7e2ed)}
.cand-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;transform-origin:center}
.cand-initials{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(var(--pct) * 1.15);font-weight:800;letter-spacing:-.04em;color:rgba(36,81,166,.26)}
.cand-info{flex:none;padding:22px 30px 26px;border-top:1px solid rgba(15,34,68,.07)}
.cand-pct{display:flex;align-items:baseline;font-size:var(--pct);font-weight:800;line-height:.8;letter-spacing:-.05em;color:#1c48a3;font-variant-numeric:tabular-nums}
.cand-unit{margin-left:.06em;font-size:.4em;font-weight:700;letter-spacing:0;color:#5b7fc6}
.cand-bar{height:8px;margin:16px 0 18px;border-radius:999px;background:rgba(15,34,68,.08);overflow:hidden}
.cand-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c48a3,#3a72d4);transition:width .8s cubic-bezier(.22,.8,.26,1)}
.cand-who{display:flex;flex-direction:column;justify-content:flex-start}
.cand-name{font-size:var(--name);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#0b1f45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cand-party{margin-top:6px;font-size:var(--party);font-weight:700;line-height:1.2;letter-spacing:.12em;color:#687a94}

.cands-empty{flex:1;display:grid;place-items:center;font-size:40px;font-weight:600;letter-spacing:-.01em;color:var(--ink-2)}

/* Rodapé: só os apoiadores */
.sponsors{flex:none;margin-top:16px;height:86px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(15,34,68,.06);border-radius:22px;box-shadow:0 1px 2px rgba(15,34,68,.04),0 14px 30px -22px rgba(15,34,68,.30)}
.sponsors img{height:66px;width:auto;max-width:calc(100% - 72px)}

/* Prévia dentro do painel: sem animação e só aparece depois de receber o rascunho */
.is-preview *{transition:none!important}
.is-preview .stage{visibility:hidden}
.is-preview.is-ready .stage{visibility:visible}

/* O editor reutiliza a estrutura do card fora de .cands. */
.preview-card{--w:var(--modal-w);--pct:var(--modal-pct,104px);--name:var(--modal-name,30px);--party:var(--modal-party,18px);width:var(--w);overflow:hidden;border:1px solid rgba(15,34,68,.07);border-radius:28px;background:#fff;box-shadow:0 1px 2px rgba(15,34,68,.05),0 10px 24px -12px rgba(15,34,68,.16),0 32px 64px -36px rgba(15,34,68,.36)}
.preview-card .cand-photo{width:calc(100% + 30px);height:calc(var(--w) * .75 + 80px);margin-left:-15px;flex:0 0 auto}
.preview-card .cand-info{padding:22px 30px 26px}
.preview-card .cand-photo img{object-position:50% 0!important}
body[style*="--modal-w:594px"] .preview-card{--pct:118px;--name:35px;--party:20px}
body[style*="--modal-w:495px"] .preview-card{--pct:108px;--name:32px;--party:19px}
body[style*="--modal-w:429px"] .preview-card{--pct:104px;--name:30px;--party:18px}
body[style*="--modal-w:369px"] .preview-card{--pct:94px;--name:28px;--party:17px}
body[style*="--modal-w:319px"] .preview-card{--pct:84px;--name:25px;--party:16px}
body[style*="--modal-w:286px"] .preview-card{--pct:76px;--name:23px;--party:15px}
