/* ============================================================
   BIGGBOSS WORLD VOTING
   PART 1 — LAYOUT + HERO
============================================================ */

.vote-language-page{
    max-width:1200px;
    margin:0 auto;
    padding:24px 16px 60px;
}

.vote-hero{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    padding:38px;
    color:#fff;

    background:
    radial-gradient(circle at top right,
        rgba(99,102,241,.35),
        transparent 45%),

    linear-gradient(
        135deg,
        #0f172a,
        #111827,
        #1e293b
    );

    box-shadow:
        0 20px 45px rgba(15,23,42,.18);
}

.vote-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(
        90deg,
        rgba(255,255,255,.04),
        transparent
    );

    pointer-events:none;

}

.vote-hero__content{

    position:relative;

    z-index:2;

    max-width:720px;

}

.vote-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:7px 14px;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(12px);

    font-size:12px;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

}

.vote-badge::before{

    content:"●";

    color:#22c55e;

}

.vote-hero h1{

    margin:20px 0 10px;

    font-size:44px;

    font-weight:800;

    line-height:1.15;

}

.vote-season{

    font-size:18px;

    color:rgba(255,255,255,.82);

    margin-bottom:30px;

}

.vote-week-label{display:inline-flex;align-items:center;margin-left:8px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:13px;font-weight:700}

/* =========================
   Countdown
========================= */

.vote-countdown{

    display:flex;

    flex-wrap:wrap;

    gap:16px;

}

.vote-countdown div{

    width:95px;

    padding:16px;

    border-radius:18px;

    text-align:center;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.08);

}

.vote-countdown strong{

    display:block;

    font-size:30px;

    font-weight:800;

    color:#fff;

}

.vote-countdown span{

    display:block;

    margin-top:6px;

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:.05em;

    color:rgba(255,255,255,.72);

}

/* =========================
   Hero Bottom
========================= */

.vote-info{

    display:flex;

    gap:14px;

    flex-wrap:wrap;

    margin-top:28px;

}

.vote-pill{

    padding:10px 16px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

    font-size:13px;

    font-weight:600;

}

/* =========================
   Mobile
========================= */

@media(max-width:768px){

.vote-language-page{

padding:16px;

}

.vote-hero{

padding:24px;

border-radius:18px;

}

.vote-hero h1{

font-size:30px;

}

.vote-season{

font-size:15px;

margin-bottom:20px;

}

.vote-countdown{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:10px;

}

.vote-countdown div{

width:auto;

padding:12px;

}

.vote-countdown strong{

font-size:24px;

}

.vote-info{

gap:8px;

}

.vote-pill{

width:100%;

text-align:center;

}

}

/* ============================================================
   PART 2 — CONTESTANTS
============================================================ */

.vote-section{

    margin-top:40px;

}

.vote-section-head{

    margin-bottom:24px;

}

.vote-section-head h2{

    margin:0;

    font-size:30px;

    font-weight:800;

    color:var(--text,#111827);

}

.vote-section-head p{

    margin-top:8px;

    color:var(--muted,#6b7280);

    font-size:15px;

}

/* =========================
   Contestants Grid
========================= */

.contestants-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;

    width:100%;

}

/* =========================
   Card
========================= */

.contestant-card{

    position:relative;

    display:block;

    overflow:hidden;

    border-radius:18px;

    background:var(--card,#ffffff);

    box-shadow:var(--shadow-1,0 10px 30px rgba(0,0,0,.08));

    cursor:pointer;

    transition:.25s ease;

    border:2px solid transparent;

}

.contestant-card:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 45px rgba(0,0,0,.18);

}

.contestant-card input{

    display:none;

}

/* selected */

.contestant-card input:checked ~ .contestant-name{

    background:#7c3aed;

    color:#fff;

}

.contestant-card input:checked ~ .contestant-photo{

    outline:4px solid #7c3aed;

}

/* =========================
   Photo
========================= */

.contestant-photo{

    position:relative;

    aspect-ratio:3/4;

    overflow:hidden;

}

.contestant-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.35s;

}

.contestant-card:hover img{

    transform:scale(1.05);

}

/* =========================
   LIVE BADGE
========================= */

.contestant-photo::after{

    content:"LIVE";

    position:absolute;

    top:12px;

    right:12px;

    padding:5px 10px;

    border-radius:999px;

    background:#ef4444;

    color:#fff;

    font-size:11px;

    font-weight:700;

}

/* =========================
   Name
========================= */

.contestant-name{

    padding:16px;

    text-align:center;

    font-weight:700;

    font-size:16px;

    transition:.25s;

}

/* =========================
   Vote Button
========================= */

.vote-bottom{

    margin:45px 0;

    text-align:center;

}

.vote-submit-btn{

    min-width:220px;

    height:54px;

    border:none;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        #7c3aed,
        #6366f1
    );

    color:#fff;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

    box-shadow:
        0 14px 30px rgba(124,58,237,.35);

}

.vote-submit-btn:hover{

    transform:translateY(-3px);

    box-shadow:
        0 20px 40px rgba(124,58,237,.45);

}

.vote-submit-btn:disabled{

    opacity:.55;

    cursor:not-allowed;

}

/* =========================
   Disclaimer
========================= */

.vote-disclaimer{

    margin-top:45px;

    padding:24px;

    border-radius:18px;

    background:var(--card,#fff);

    box-shadow:var(--shadow-1);

}

.vote-disclaimer h3{

    margin-top:0;

    margin-bottom:12px;

}

.vote-disclaimer p{

    color:var(--muted,#6b7280);

    line-height:1.8;

}

/* =========================
   Mobile
========================= */

@media(max-width:768px){

.contestants-grid{

grid-template-columns:repeat(2,1fr);

gap:16px;

}

.vote-section-head h2{

font-size:24px;

}

.contestant-name{

font-size:15px;

padding:14px;

}

.vote-submit-btn{

width:100%;

}

}


/* ============================================================
   PART 3 — STICKY BAR + MODAL
============================================================ */

/* =========================
   Sticky Vote Bar
========================= */

.vote-sticky{

    position:fixed;

    left:0;

    right:0;

    bottom:0;

    z-index:999;

    background:rgba(15,23,42,.96);

    backdrop-filter:blur(18px);

    border-top:1px solid rgba(255,255,255,.08);

    padding:14px 20px;

    transform:translateY(110%);

    transition:.35s;

}

.vote-sticky.show{

    transform:translateY(0);

}

.vote-sticky-inner{

    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.vote-selected{

    color:#fff;

    font-size:15px;

    font-weight:600;

}

.vote-selected strong{

    color:#a78bfa;

}

.vote-sticky-btn{

    border:none;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        #8b5cf6,
        #6366f1
    );

    color:#fff;

    padding:14px 28px;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.vote-sticky-btn:hover{

    transform:translateY(-2px);

}

/* =========================
   Success Modal
========================= */

.vote-modal{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(2,6,23,.75);

    opacity:0;

    visibility:hidden;

    transition:.30s;

    z-index:9999;

}

.vote-modal.show{

    opacity:1;

    visibility:visible;

}

.vote-modal-card{

    width:min(420px,92%);

    background:#fff;

    border-radius:24px;

    padding:34px;

    text-align:center;

    animation:votePop .35s ease;

}

@keyframes votePop{

0%{

transform:scale(.8);

opacity:0;

}

100%{

transform:scale(1);

opacity:1;

}

}

.vote-success-icon{

    width:90px;

    height:90px;

    margin:auto;

    border-radius:50%;

    background:#22c55e;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:42px;

    margin-bottom:22px;

}

.vote-modal h2{

    margin:0;

    font-size:28px;

}

.vote-modal p{

    margin-top:12px;

    color:#6b7280;

    line-height:1.7;

}

.vote-close{

    margin-top:26px;

    border:none;

    background:#7c3aed;

    color:#fff;

    border-radius:999px;

    padding:12px 28px;

    font-weight:700;

    cursor:pointer;

}

/* =========================
   Loading
========================= */

.vote-loading{

    display:inline-flex;

    align-items:center;

    gap:10px;

}

.vote-spinner{

    width:22px;

    height:22px;

    border:3px solid rgba(255,255,255,.25);

    border-top-color:#fff;

    border-radius:50%;

    animation:spin .7s linear infinite;

}

@keyframes spin{

to{

transform:rotate(360deg);

}

}

/* =========================
   Selection Animation
========================= */

.contestant-card.selected{

    border-color:#8b5cf6;

    transform:translateY(-6px);

    box-shadow:

        0 18px 50px rgba(124,58,237,.35);

}

.contestant-card.selected::before{

    content:"✓";

    position:absolute;

    top:12px;

    left:12px;

    width:34px;

    height:34px;

    border-radius:50%;

    background:#22c55e;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    z-index:5;

}

/* =========================
   Mobile
========================= */

@media(max-width:768px){

.vote-sticky-inner{

flex-direction:column;

align-items:stretch;

}

.vote-sticky-btn{

width:100%;

}

.vote-modal-card{

padding:26px 20px;

}

.vote-modal h2{

font-size:22px;

}

.vote-success-icon{

width:70px;

height:70px;

font-size:34px;

}

}

/* ============================================================
   PART 4 — RESULTS PAGE
============================================================ */

/* =========================
   Results Wrapper
========================= */

.vote-results{

    margin-top:45px;

}

.vote-results-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    margin-bottom:24px;

    flex-wrap:wrap;

}

.vote-results-title{

    font-size:32px;

    font-weight:800;

}

.vote-last-update{

    color:var(--muted,#6b7280);

    font-size:14px;

}

/* =========================
   Winner Card
========================= */

.vote-winner{

    position:relative;

    display:grid;

    grid-template-columns:220px 1fr;

    gap:28px;

    background:linear-gradient(
        135deg,
        #fbbf24,
        #f59e0b
    );

    color:#111827;

    border-radius:24px;

    padding:28px;

    margin-bottom:34px;

    overflow:hidden;

}

.vote-winner::before{

    content:"🏆";

    position:absolute;

    top:-18px;

    right:-10px;

    font-size:90px;

    opacity:.12;

}

.vote-winner-photo{

    aspect-ratio:3/4;

    overflow:hidden;

    border-radius:18px;

}

.vote-winner-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.vote-winner h2{

    margin:0;

    font-size:34px;

}

.vote-winner small{

    display:block;

    margin-bottom:12px;

    font-weight:700;

    letter-spacing:.05em;

}

.vote-winner p{

    margin-top:12px;

    line-height:1.7;

}

/* =========================
   Result List
========================= */

.vote-result-card{

    background:var(--card,#fff);

    border-radius:18px;

    padding:18px;

    margin-bottom:18px;

    box-shadow:var(--shadow-1);

}

.vote-result-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:12px;

}

.vote-result-name{

    font-size:18px;

    font-weight:700;

}

.vote-result-percent{

    font-size:18px;

    font-weight:800;

    color:#7c3aed;

}

/* =========================
   Progress
========================= */

.vote-progress{

    width:100%;

    height:12px;

    background:#e5e7eb;

    border-radius:999px;

    overflow:hidden;

}

.vote-progress span{

    display:block;

    height:100%;

    width:0;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        #8b5cf6,
        #6366f1
    );

    transition:width .8s ease;

}

.vote-total{

    margin-top:10px;

    color:var(--muted,#6b7280);

    font-size:13px;

}

/* =========================
   Statistics
========================= */

.vote-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;

    margin:35px 0;

}

.vote-stat{

    background:var(--card,#fff);

    border-radius:18px;

    padding:20px;

    text-align:center;

    box-shadow:var(--shadow-1);

}

.vote-stat strong{

    display:block;

    font-size:34px;

    margin-bottom:8px;

    color:#7c3aed;

}

.vote-stat span{

    color:var(--muted,#6b7280);

}

/* =========================
   Archive Button
========================= */

.vote-archive{

    margin-top:40px;

    text-align:center;

}

.vote-archive a{

    display:inline-block;

    padding:14px 28px;

    border-radius:999px;

    text-decoration:none;

    background:#111827;

    color:#fff;

    transition:.25s;

}

.vote-archive a:hover{

    background:#7c3aed;

}

/* =========================
   Mobile
========================= */

@media(max-width:900px){

.vote-winner{

grid-template-columns:1fr;

}

.vote-winner-photo{

max-width:240px;

margin:auto;

}

.vote-stats{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.vote-results-title{

font-size:24px;

}

.vote-result-top{

flex-direction:column;

align-items:flex-start;

gap:6px;

}

.vote-stat{

padding:16px;

}

.vote-stat strong{

font-size:26px;

}

.vote-stats{

grid-template-columns:1fr;

}

.vote-archive a{

width:100%;

}

}

.contestant-season {
    padding: 0 12px 15px;
    text-align:center;
    font-size:14px;
    color:#6b7280;
}


.contestant-card {
    height:auto;
}


.contestant-photo {
    height:260px;
}


.contestant-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}


.contestant-card:has(input:checked) {
    border:3px solid #7c3aed;
    transform:translateY(-5px);
}

/* V2 compact vote flow and protected results */
.vote-language-page{max-width:1060px;padding:28px 20px 64px}
.vote-hero{padding:30px 32px;border-radius:20px}
.vote-hero h1{font-size:clamp(30px,4vw,46px);margin:16px 0 6px}
.vote-countdown{gap:10px}
.vote-countdown div{width:78px;padding:12px;border-radius:13px}
.vote-countdown strong{font-size:23px}
.vote-section-head{margin:28px 0 16px}
.vote-section-head h2{font-size:clamp(24px,3vw,32px)}
.contestants-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.contestant-card{border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 28px rgba(15,23,42,.08)}
.contestant-photo{height:auto;aspect-ratio:4/5}
.contestant-name{margin:0;padding:13px 10px 5px;font-size:15px}
.contestant-season{font-size:12px;padding:0 10px 14px}
.vote-bottom{margin:30px 0}
.vote-disclaimer{margin-top:28px}
.vote-state-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin:28px 0;padding:25px;border-radius:20px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #a7f3d0;color:#064e3b;box-shadow:0 16px 36px rgba(16,185,129,.10)}
.vote-gate-notice{margin-bottom:14px;padding:12px 16px;border:1px solid #fcd34d;border-radius:12px;background:#fffbeb;color:#92400e;font-size:14px;font-weight:700}
.vote-state-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#10b981;color:white;font-size:25px;font-weight:900}
.vote-state-kicker,.results-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#7c3aed;margin:0 0 5px}
.vote-state-card h2{margin:0 0 5px;font-size:23px}.vote-state-card p{margin:0;line-height:1.55}
.daily-reset{min-width:145px;padding:11px 14px;border-radius:13px;background:rgba(255,255,255,.72);text-align:center}.daily-reset span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.daily-reset strong{display:block;margin-top:3px;font-size:19px;font-variant-numeric:tabular-nums}
.vote-state-card .vote-results-btn{grid-column:2/4;justify-self:end}
.vote-results-btn,.vote-close{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;border-radius:12px;padding:13px 18px;font-weight:800;white-space:nowrap}
.vote-modal-card{background:#fff;color:#111827;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.vote-modal-card h2{color:#111827}.vote-modal-card p{color:#64748b}
.results-hero{padding:34px;border-radius:22px;background:linear-gradient(135deg,#111827,#1e1b4b);color:white;box-shadow:0 18px 45px rgba(15,23,42,.2)}
.results-hero h1{font-size:clamp(32px,5vw,52px);margin:8px 0}.results-hero p:last-child{color:#cbd5e1;margin:0}
.results-panel{margin-top:20px;padding:28px;border-radius:20px;background:var(--card,#fff);border:1px solid rgba(148,163,184,.25);box-shadow:0 14px 36px rgba(15,23,42,.08)}
.results-panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.results-panel-head h2{margin:0}.results-panel-head a{color:#7c3aed;font-weight:800;text-decoration:none}
.results-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.results-summary div{padding:15px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.results-summary span{display:block;color:#64748b;font-size:12px}.results-summary strong{display:block;margin-top:5px;font-size:19px;color:#111827}
.results-list{display:grid;gap:12px}.result-row{display:grid;grid-template-columns:44px 50px 1fr;align-items:center;gap:14px;padding:15px;border:1px solid rgba(148,163,184,.25);border-radius:15px}
.result-rank{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ede9fe;color:#6d28d9;font-weight:900}
.result-photo{width:48px;height:48px;border-radius:13px;object-fit:cover;background:#0f172a}
.result-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.result-label span{color:var(--muted,#64748b);font-size:13px;white-space:nowrap}
.result-track{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.result-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#ec4899)}
.results-note{margin:20px 0 0;color:var(--muted,#64748b);font-size:13px;line-height:1.6}

/* Explicit light theme surfaces */
:root:not([data-theme="dark"]) .vote-language-page{color:#111827}
:root:not([data-theme="dark"]) .vote-section-head h2,
:root:not([data-theme="dark"]) .results-panel h2,
:root:not([data-theme="dark"]) .result-label strong{color:#111827}
:root:not([data-theme="dark"]) .contestant-card,
:root:not([data-theme="dark"]) .vote-disclaimer,
:root:not([data-theme="dark"]) .results-panel{background:#fff;color:#111827}
:root:not([data-theme="dark"]) .result-row{background:#fff;border-color:#dbe3ef}

/* Complete vote component dark theme */
[data-theme="dark"] .vote-language-page{color:#f8fafc}
[data-theme="dark"] .vote-section-head h2,
[data-theme="dark"] .vote-section-head p,
[data-theme="dark"] .contestant-name,
[data-theme="dark"] .vote-disclaimer h3,
[data-theme="dark"] .results-panel h2,
[data-theme="dark"] .result-label strong{color:#f8fafc}
[data-theme="dark"] .contestant-card,
[data-theme="dark"] .vote-disclaimer,
[data-theme="dark"] .results-panel{background:#10141d;color:#f8fafc;border-color:#2b3443;box-shadow:none}
[data-theme="dark"] .contestant-card{border-color:#293346}
[data-theme="dark"] .contestant-season,
[data-theme="dark"] .vote-section-head p,
[data-theme="dark"] .vote-disclaimer p,
[data-theme="dark"] .results-note,
[data-theme="dark"] .result-label span{color:#a8b3c7}
[data-theme="dark"] .results-summary div{background:#171d29;border-color:#303a4b}
[data-theme="dark"] .results-summary span{color:#9aa7bb}
[data-theme="dark"] .results-summary strong{color:#f8fafc}
[data-theme="dark"] .result-row{background:#111722;border-color:#303a4b}
[data-theme="dark"] .result-rank{background:#312e50;color:#c4b5fd}
[data-theme="dark"] .result-track{background:#303846}
[data-theme="dark"] .vote-state-card{background:linear-gradient(135deg,#0d2b24,#10251f);border-color:#1f6f58;color:#d1fae5}
[data-theme="dark"] .daily-reset{background:rgba(255,255,255,.07);color:#ecfdf5}
[data-theme="dark"] .vote-gate-notice{background:#2b2110;border-color:#6d531b;color:#fde68a}
[data-theme="dark"] .vote-modal-card{background:#151a24;color:#f8fafc;border:1px solid #364154}
[data-theme="dark"] .vote-modal-card h2{color:#f8fafc}
[data-theme="dark"] .vote-modal-card p{color:#b5c0d2}

@media(max-width:700px){
 .vote-language-page{width:100%;max-width:none;padding:14px 12px 46px;overflow-x:hidden}
 .vote-hero{padding:22px 18px;border-radius:16px}.vote-season{margin-bottom:16px}
 .vote-countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.vote-countdown div{width:auto;padding:10px 4px}.vote-countdown strong{font-size:20px}.vote-countdown span{font-size:8px}
 .contestants-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contestant-card{border-radius:14px}.contestant-photo::after{top:8px;right:8px;padding:4px 7px;font-size:9px}
 .contestant-name{font-size:13px}.contestant-season{font-size:10px;line-height:1.3}
 .vote-state-card{grid-template-columns:auto 1fr;padding:18px;gap:13px}.daily-reset{grid-column:1/-1;width:100%}.vote-state-card .vote-results-btn{grid-column:1/-1;width:100%;justify-self:stretch}
 .results-hero{padding:25px 20px;border-radius:17px}.results-panel{padding:17px 13px}.results-panel-head{align-items:flex-start}.results-panel-head a{font-size:13px}
 .results-summary{grid-template-columns:1fr}.result-row{grid-template-columns:34px 42px 1fr;padding:12px 10px;gap:9px}.result-rank{width:34px;height:34px}.result-photo{width:40px;height:40px;border-radius:10px}.result-label{align-items:flex-start;flex-direction:column;gap:2px}.result-label span{white-space:normal}
}

/* ============================================================
   CENTRAL VOTE V3 — HYBRID OLD HERO + ROUND NOMINEE UI
============================================================ */
.bbw-central-vote .vote-hero{margin-bottom:28px}
.bbw-vote-loading,.bbw-empty-vote{padding:22px;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:var(--card,#fff);color:var(--text,#111827)}
[data-theme="dark"] .bbw-vote-loading,[data-theme="dark"] .bbw-empty-vote{background:#10141d;color:#f8fafc;border-color:#2b3443}
.bbw-round-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.bbw-round-card{position:relative;min-width:0;padding:18px 12px 14px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:var(--card,#fff);text-align:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.bbw-round-card:hover{transform:translateY(-3px)}
.bbw-round-card.selected{border-color:#d5b24a;box-shadow:0 0 0 2px rgba(213,178,74,.14),0 12px 30px rgba(0,0,0,.08)}
.bbw-face{position:relative;width:104px;height:104px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.bbw-face img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #a8872e;background:#0f172a}
.bbw-check{position:absolute;right:1px;bottom:5px;display:none;width:27px;height:27px;border-radius:50%;place-items:center;background:#d5b24a;color:#111;font-size:15px;font-weight:900;border:3px solid var(--card,#fff)}
.bbw-round-card.selected .bbw-check{display:grid}
.bbw-round-card h3{margin:10px 0 3px;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.bbw-round-card p{margin:0 0 9px;color:var(--muted,#64748b);font-size:11px;text-transform:capitalize}
.bbw-select-btn{width:100%;margin-top:9px;padding:8px 10px;border-radius:9px;border:1px solid rgba(148,163,184,.38);background:transparent;color:inherit;cursor:pointer}
.bbw-round-card.selected .bbw-select-btn{background:#4c3d11;border-color:#d5b24a;color:#fff}
.bbw-stepper{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:5px;margin-top:10px}
.bbw-stepper button{height:34px;border:1px solid rgba(148,163,184,.35);border-radius:9px;background:transparent;color:inherit;font-size:19px;cursor:pointer}.bbw-stepper strong{font-variant-numeric:tabular-nums}
.bbw-allocation-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:center;gap:18px;margin:28px auto 6px;padding:10px;border-radius:18px;background:color-mix(in srgb,var(--card,#fff) 92%,transparent);backdrop-filter:blur(12px)}
.bbw-allocation-bar .vote-submit-btn{margin:0}.bbw-allocation-bar>span{font-size:13px;color:var(--muted,#64748b)}
.bbw-own{margin:20px 0;padding:18px;border:1px solid rgba(213,178,74,.28);border-radius:16px;background:rgba(213,178,74,.06)}
.bbw-own-row{display:flex;align-items:center;gap:11px;margin-top:10px}.bbw-own-row img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid #a8872e}.bbw-own-row div{display:flex;flex-direction:column}.bbw-own-row span{font-size:12px;color:#d5b24a}
.bbw-total-voters{min-width:110px;padding:10px 14px;border-radius:13px;background:rgba(213,178,74,.09);text-align:center}.bbw-total-voters span{display:block;font-size:11px;color:var(--muted,#64748b);text-transform:uppercase;letter-spacing:.06em}.bbw-total-voters strong{display:block;margin-top:2px;font-size:20px}
[data-theme="dark"] .bbw-round-card{background:#10141d;color:#f8fafc;border-color:#293346;box-shadow:none}[data-theme="dark"] .bbw-round-card.selected{border-color:#d5b24a;background:#15160f}[data-theme="dark"] .bbw-check{border-color:#10141d}[data-theme="dark"] .bbw-select-btn,[data-theme="dark"] .bbw-stepper button{border-color:#3b4659;color:#f8fafc}[data-theme="dark"] .bbw-allocation-bar{background:rgba(16,20,29,.92)}
@media(max-width:1050px){.bbw-round-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.bbw-round-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bbw-face{width:90px;height:90px}}
@media(max-width:560px){.bbw-round-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bbw-round-card{padding:14px 8px 11px}.bbw-face{width:82px;height:82px}.bbw-round-card h3{font-size:13px}.bbw-allocation-bar{flex-direction:column;gap:8px;bottom:8px}.bbw-allocation-bar .vote-submit-btn{width:100%}}
\n\n/* ============================================================\n   V4.0 — PREMIUM CENTRAL POLL HERO\n   Display-only update. Vote logic remains unchanged.\n============================================================ */\n.bbw-central-vote .vote-hero--premium{\n  min-height:310px;\n  display:flex;\n  align-items:stretch;\n  isolation:isolate;\n  padding:0;\n  border:1px solid rgba(241,190,72,.26);\n  background:\n    radial-gradient(circle at 78% 14%,rgba(218,165,45,.20),transparent 34%),\n    radial-gradient(circle at 15% 110%,rgba(117,75,255,.18),transparent 42%),\n    linear-gradient(135deg,#080b12 0%,#11131b 52%,#15101d 100%);\n  box-shadow:0 22px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);\n}\n.bbw-central-vote .vote-hero--premium::before{\n  background:linear-gradient(90deg,rgba(5,7,12,.98) 0%,rgba(8,10,16,.88) 46%,rgba(8,10,16,.18) 78%,rgba(8,10,16,.08) 100%);\n  z-index:1;\n}\n.bbw-central-vote .vote-hero--premium::after{\n  content:\"\";position:absolute;inset:auto 0 0;height:2px;z-index:3;\n  background:linear-gradient(90deg,transparent,#e6b94e 22%,#9c61e8 70%,transparent);opacity:.72\n}\n.vote-hero__media{\n  position:absolute;right:0;top:0;bottom:0;width:min(46%,520px);z-index:0;overflow:hidden;\n  display:grid;place-items:center;\n}\n.vote-hero__media img{\n  width:100%;height:100%;object-fit:cover;object-position:center;opacity:.52;\n  transform:scale(1.015);filter:saturate(.92) contrast(1.04);\n}\n.vote-hero__media:not(.has-cover) img{width:62%;height:62%;object-fit:contain;opacity:.22;filter:drop-shadow(0 0 28px rgba(226,180,69,.25))}\n.vote-hero__media-glow{position:absolute;inset:0;background:linear-gradient(90deg,#0b0d13 0%,transparent 48%),linear-gradient(0deg,rgba(7,8,12,.62),transparent 42%);pointer-events:none}\n.bbw-central-vote .vote-hero--premium .vote-hero__content{\n  z-index:2;max-width:720px;width:67%;padding:32px 34px 30px;display:flex;flex-direction:column;justify-content:center\n}\n.vote-hero__topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}\n.vote-language-badge,.vote-open-badge{display:inline-flex;align-items:center;min-height:28px;padding:6px 11px;border-radius:999px;font-size:11px;line-height:1;font-weight:800;letter-spacing:.07em;text-transform:uppercase}\n.vote-language-badge{color:#f4d579;background:rgba(230,185,78,.11);border:1px solid rgba(230,185,78,.28)}\n.vote-open-badge{color:#a9f3bd;background:rgba(34,197,94,.09);border:1px solid rgba(34,197,94,.22)}\n.vote-open-badge i{width:7px;height:7px;border-radius:50%;background:#35df72;margin-right:7px;box-shadow:0 0 0 4px rgba(53,223,114,.09)}\n.vote-hero__eyebrow{margin:0 0 7px;color:rgba(255,255,255,.55);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}\n.bbw-central-vote .vote-hero--premium h1{margin:0 0 8px;font-size:clamp(30px,4.2vw,48px);line-height:1.04;letter-spacing:-.035em;max-width:680px;text-wrap:balance}\n.bbw-central-vote .vote-hero--premium .vote-season{margin:0 0 18px;font-size:14px;font-weight:650;color:rgba(255,255,255,.72)}\n.bbw-central-vote .vote-hero--premium .vote-info{margin:0;gap:8px}\n.bbw-central-vote .vote-hero--premium .vote-pill{padding:8px 11px;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.09);font-size:12px;color:rgba(255,255,255,.82)}\n.bbw-central-vote .vote-hero--premium .vote-pill--primary{color:#f7d978;border-color:rgba(230,185,78,.25);background:rgba(230,185,78,.08)}\n.bbw-central-vote .vote-countdown--compact{margin-top:16px;gap:7px}\n.bbw-central-vote .vote-countdown--compact div{width:58px;padding:8px 5px;border-radius:10px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07)}\n.bbw-central-vote .vote-countdown--compact strong{font-size:18px;line-height:1.1}\n.bbw-central-vote .vote-countdown--compact span{margin-top:3px;font-size:8px}\n@media(max-width:768px){\n .bbw-central-vote .vote-hero--premium{min-height:250px;border-radius:18px}\n .vote-hero__media{width:58%;left:auto}\n .vote-hero__media img{opacity:.43;object-position:center}\n .bbw-central-vote .vote-hero--premium::before{background:linear-gradient(90deg,rgba(7,9,14,.99) 0%,rgba(8,10,15,.92) 46%,rgba(8,10,15,.44) 76%,rgba(8,10,15,.22) 100%)}\n .bbw-central-vote .vote-hero--premium .vote-hero__content{width:78%;padding:23px 18px 21px}\n .vote-hero__topline{margin-bottom:13px}\n .vote-hero__eyebrow{font-size:9px;margin-bottom:6px}\n .bbw-central-vote .vote-hero--premium h1{font-size:clamp(27px,8vw,38px);max-width:100%;margin-bottom:7px}\n .bbw-central-vote .vote-hero--premium .vote-season{font-size:12px;max-width:90%;margin-bottom:14px}\n .bbw-central-vote .vote-countdown--compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(280px,100%);gap:5px;margin-top:13px}\n .bbw-central-vote .vote-countdown--compact div{width:auto;padding:7px 3px}\n .bbw-central-vote .vote-countdown--compact strong{font-size:16px}\n}\n@media(max-width:430px){\n .bbw-central-vote .vote-hero--premium{min-height:235px}\n .vote-hero__media{width:62%}\n .bbw-central-vote .vote-hero--premium .vote-hero__content{width:83%;padding:20px 15px}\n .vote-language-badge,.vote-open-badge{min-height:25px;padding:5px 9px;font-size:9px}\n .bbw-central-vote .vote-hero--premium h1{font-size:clamp(25px,8.2vw,34px)}\n .bbw-central-vote .vote-hero--premium .vote-pill{padding:7px 9px;font-size:10px}\n}\n@media(max-width:350px){\n .vote-hero__media{width:55%;opacity:.8}\n .bbw-central-vote .vote-hero--premium .vote-hero__content{width:88%}\n}\n
/* ============================================================
   V4.1 HERO HOTFIX — compact season-art hero
   Keeps artwork as a supporting visual instead of a full banner.
============================================================ */
.vote-hero.vote-hero--premium{
    display:grid;
    grid-template-columns:minmax(0,1fr) 240px;
    align-items:center;
    gap:28px;
    min-height:260px;
    padding:30px 32px;
    border:1px solid rgba(212,175,55,.24);
    background:
      radial-gradient(circle at 82% 18%,rgba(212,175,55,.10),transparent 30%),
      radial-gradient(circle at 25% 0%,rgba(102,51,238,.16),transparent 35%),
      linear-gradient(135deg,#111827 0%,#121a2a 58%,#182033 100%);
}
.vote-hero.vote-hero--premium::after{
    content:"";
    position:absolute;
    inset:auto -80px -120px auto;
    width:300px;
    height:300px;
    border-radius:50%;
    background:rgba(212,175,55,.035);
    pointer-events:none;
}
.vote-hero--premium .vote-hero__content{
    max-width:none;
    min-width:0;
}
.vote-hero--premium .vote-hero__topline{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}
.vote-language-badge,
.vote-open-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.vote-language-badge{
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.06);
    color:#e5e7eb;
}
.vote-open-badge{
    color:#f7d66a;
    border:1px solid rgba(212,175,55,.25);
    background:rgba(212,175,55,.09);
}
.vote-open-badge i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.10);
}
.vote-hero--premium .vote-hero__eyebrow{
    margin:0 0 7px;
    color:#d5b64d;
    font-size:12px;
    font-weight:750;
}
.vote-hero--premium h1{
    margin:0 0 7px;
    font-size:clamp(32px,4vw,50px);
    line-height:1.03;
    letter-spacing:-.03em;
}
.vote-hero--premium .vote-season{
    margin:0 0 18px;
    font-size:15px;
    color:rgba(255,255,255,.72);
}
.vote-hero--premium .vote-info{
    margin-top:0;
    gap:8px;
}
.vote-hero--premium .vote-pill{
    padding:8px 11px;
    font-size:12px;
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.09);
}
.vote-hero--premium .vote-pill--primary{
    color:#f6d65e;
    border-color:rgba(212,175,55,.24);
    background:rgba(212,175,55,.09);
}
.vote-hero--premium .vote-countdown{
    margin-top:15px;
    gap:7px;
}
.vote-hero--premium .vote-countdown div{
    width:58px;
    padding:8px 6px;
    border-radius:11px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.075);
    backdrop-filter:none;
}
.vote-hero--premium .vote-countdown strong{
    font-size:18px;
    line-height:1;
}
.vote-hero--premium .vote-countdown span{
    margin-top:5px;
    font-size:8px;
}
.vote-hero__visual{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:0;
}
.vote-hero__visual-frame{
    width:220px;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(212,175,55,.28);
    background:#080c13;
    box-shadow:0 18px 40px rgba(0,0,0,.30),0 0 0 6px rgba(255,255,255,.018);
}
.vote-hero__visual-frame img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

@media(max-width:700px){
    .vote-hero.vote-hero--premium{
        grid-template-columns:minmax(0,1fr) 116px;
        gap:14px;
        min-height:0;
        padding:20px 18px;
        border-radius:18px;
    }
    .vote-hero--premium h1{
        font-size:29px;
    }
    .vote-hero--premium .vote-hero__eyebrow{
        font-size:10px;
    }
    .vote-hero--premium .vote-season{
        font-size:13px;
        margin-bottom:13px;
    }
    .vote-hero__visual-frame{
        width:112px;
        border-radius:14px;
    }
    .vote-language-badge,.vote-open-badge{
        padding:5px 8px;
        font-size:9px;
    }
    .vote-hero--premium .vote-pill{
        width:auto;
        text-align:left;
        padding:6px 8px;
        font-size:10px;
    }
    .vote-hero--premium .vote-countdown{
        display:flex;
        gap:5px;
    }
    .vote-hero--premium .vote-countdown div{
        width:43px;
        padding:6px 3px;
    }
    .vote-hero--premium .vote-countdown strong{font-size:15px}
    .vote-hero--premium .vote-countdown span{font-size:7px}
}

@media(max-width:430px){
    .vote-hero.vote-hero--premium{
        grid-template-columns:minmax(0,1fr) 96px;
        padding:17px 14px;
        gap:10px;
    }
    .vote-hero--premium h1{font-size:25px}
    .vote-hero__visual-frame{width:94px;border-radius:12px}
    .vote-hero--premium .vote-info{gap:5px}
    .vote-hero--premium .vote-pill{font-size:9px;padding:5px 7px}
    .vote-hero--premium .vote-countdown div{width:38px}
}

/* ============================================================
   V4.2 HERO — fitted artwork panel + separate details panel
   Artwork fills its own right-side panel. Text never overlays it.
============================================================ */
.vote-hero.vote-hero--premium{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    align-items:stretch;
    gap:0;
    min-height:300px;
    padding:0;
    overflow:hidden;
    border-radius:22px;
    background:linear-gradient(135deg,#111827 0%,#182238 100%);
}
.vote-hero--premium .vote-hero__content{
    width:auto!important;
    max-width:none!important;
    padding:32px 34px 30px!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    z-index:2;
}
.vote-hero__visual{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    min-width:0;
    padding:14px 14px 14px 0;
}
.vote-hero__visual-frame{
    width:100%!important;
    height:100%;
    min-height:272px;
    aspect-ratio:auto;
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(212,175,55,.30);
    background:#080c13;
    box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.vote-hero__visual-frame img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}
.vote-hero.vote-hero--premium::before{
    display:none!important;
}
.vote-hero.vote-hero--premium::after{
    content:"";
    position:absolute;
    left:0;right:auto;bottom:0;
    width:58%;height:1px;
    background:linear-gradient(90deg,rgba(212,175,55,.65),transparent);
    opacity:.7;
}

@media(max-width:820px){
    .vote-hero.vote-hero--premium{
        grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);
        min-height:270px;
    }
    .vote-hero--premium .vote-hero__content{
        padding:24px 22px!important;
    }
    .vote-hero__visual{padding:12px 12px 12px 0}
    .vote-hero__visual-frame{min-height:246px;border-radius:15px}
}

@media(max-width:620px){
    .vote-hero.vote-hero--premium{
        grid-template-columns:1fr;
        grid-template-areas:"visual" "details";
        min-height:0;
    }
    .vote-hero__visual{
        grid-area:visual;
        padding:12px 12px 0;
    }
    .vote-hero__visual-frame{
        min-height:0;
        height:auto;
        aspect-ratio:16/9;
        border-radius:15px;
    }
    .vote-hero--premium .vote-hero__content{
        grid-area:details;
        padding:20px 18px 22px!important;
    }
    .vote-hero--premium h1{font-size:30px}
    .vote-hero.vote-hero--premium::after{width:100%}
}

@media(max-width:390px){
    .vote-hero__visual{padding:10px 10px 0}
    .vote-hero--premium .vote-hero__content{padding:17px 14px 19px!important}
    .vote-hero--premium h1{font-size:27px}
}


/* ============================================================
   V4.3 HERO — countdown removed for cleaner poll hero
============================================================ */
.vote-hero--premium .vote-countdown{display:none!important;}

/* ============================================================
   V4.4 HERO — full artwork hero with readable bottom overlay
   Artwork is the hero. Poll details sit directly on the image.
============================================================ */
.vote-hero.vote-hero--premium{
    position:relative;
    display:block;
    min-height:430px;
    padding:0;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(212,175,55,.20);
    background:#05070b;
    isolation:isolate;
}
.vote-hero.vote-hero--premium::before{
    content:""!important;
    display:block!important;
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(3,5,9,.04) 18%,rgba(3,5,9,.20) 43%,rgba(3,5,9,.88) 78%,rgba(3,5,9,.98) 100%),
      linear-gradient(90deg,rgba(3,5,9,.58) 0%,rgba(3,5,9,.20) 48%,rgba(3,5,9,.02) 78%);
}
.vote-hero.vote-hero--premium::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    width:auto;height:2px;
    z-index:4;
    background:linear-gradient(90deg,transparent,rgba(226,183,66,.80) 28%,rgba(167,94,255,.55) 72%,transparent);
}
.vote-hero__visual{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
    display:block!important;
}
.vote-hero__visual-frame{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    border:0!important;
    border-radius:0!important;
    background:#05070b!important;
    box-shadow:none!important;
}
.vote-hero__visual-frame img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
    filter:saturate(.98) contrast(1.02);
}
.vote-hero--premium .vote-hero__content{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    max-width:760px!important;
    min-height:430px;
    padding:34px 34px 30px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    background:transparent!important;
}
.vote-hero--premium .vote-hero__topline{margin:0 0 10px!important}
.vote-hero--premium .vote-hero__eyebrow{
    margin:0 0 6px!important;
    color:#f0c74f!important;
    text-shadow:0 2px 12px rgba(0,0,0,.78);
}
.vote-hero--premium h1{
    margin:0 0 6px!important;
    color:#fff!important;
    font-size:clamp(34px,4.8vw,58px)!important;
    line-height:1.02!important;
    text-shadow:0 3px 20px rgba(0,0,0,.92);
}
.vote-hero--premium .vote-season{
    margin:0 0 14px!important;
    color:rgba(255,255,255,.90)!important;
    font-size:14px!important;
    text-shadow:0 2px 12px rgba(0,0,0,.9);
}
.vote-hero--premium .vote-info{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0!important;
}
.vote-hero--premium .vote-pill{
    color:#fff!important;
    background:rgba(5,8,14,.66)!important;
    border:1px solid rgba(255,255,255,.20)!important;
    backdrop-filter:blur(7px);
    box-shadow:0 4px 14px rgba(0,0,0,.16);
}
.vote-hero--premium .vote-pill--primary{
    color:#ffe071!important;
    border-color:rgba(226,183,66,.50)!important;
    background:rgba(63,47,8,.60)!important;
}
.vote-language-badge,
.vote-open-badge{
    backdrop-filter:blur(7px);
    box-shadow:0 3px 12px rgba(0,0,0,.20);
}

@media(max-width:700px){
    .vote-hero.vote-hero--premium{
        min-height:390px;
        border-radius:18px;
    }
    .vote-hero--premium .vote-hero__content{
        min-height:390px;
        max-width:100%!important;
        padding:24px 18px 22px!important;
    }
    .vote-hero.vote-hero--premium::before{
        background:
          linear-gradient(180deg,rgba(3,5,9,.02) 15%,rgba(3,5,9,.18) 40%,rgba(3,5,9,.88) 72%,rgba(3,5,9,.99) 100%);
    }
    .vote-hero--premium h1{font-size:clamp(30px,9vw,42px)!important}
    .vote-hero--premium .vote-season{font-size:12px!important;margin-bottom:12px!important}
    .vote-hero--premium .vote-pill{font-size:10px!important;padding:7px 9px!important}
}

@media(max-width:390px){
    .vote-hero.vote-hero--premium{min-height:360px}
    .vote-hero--premium .vote-hero__content{min-height:360px;padding:20px 14px 18px!important}
    .vote-hero--premium h1{font-size:29px!important}
    .vote-language-badge,.vote-open-badge{font-size:9px!important;padding:5px 8px!important}
}

/* ============================================================
   V4.5 MOBILE HERO — compact image overlay + seamless fade
   Mobile only: hide allowance/deadline pills and blend the
   hero's lower shade into the page background.
============================================================ */
@media(max-width:700px){
  .vote-hero.vote-hero--premium{
    min-height:300px!important;
    border:0!important;
    border-radius:18px 18px 0 0!important;
    box-shadow:none!important;
    background:transparent!important;
    margin-bottom:18px!important;
  }
  .vote-hero.vote-hero--premium::before{
    background:
      linear-gradient(180deg,
        rgba(3,5,9,.00) 0%,
        rgba(3,5,9,.04) 31%,
        rgba(3,5,9,.34) 55%,
        rgba(5,7,11,.84) 76%,
        #05070b 100%)!important;
  }
  .vote-hero.vote-hero--premium::after{
    display:none!important;
  }
  .vote-hero--premium .vote-hero__content{
    min-height:300px!important;
    padding:20px 16px 17px!important;
  }
  .vote-hero--premium .vote-info{
    display:none!important;
  }
  .vote-hero--premium .vote-hero__topline{
    margin-bottom:7px!important;
  }
  .vote-hero--premium .vote-hero__eyebrow{
    margin-bottom:4px!important;
  }
  .vote-hero--premium h1{
    margin-bottom:4px!important;
    font-size:clamp(27px,8.4vw,36px)!important;
  }
  .vote-hero--premium .vote-season{
    margin-bottom:0!important;
  }
  .vote-hero__visual-frame img{
    object-position:center center!important;
  }
}
@media(max-width:390px){
  .vote-hero.vote-hero--premium{
    min-height:278px!important;
  }
  .vote-hero--premium .vote-hero__content{
    min-height:278px!important;
    padding:18px 14px 15px!important;
  }
}

/* ============================================================
   V4.6 — CLEAN OPEN NOMINEE GRID + SELECTION-ONLY STICKY CTA
   Mobile mirrors the app: round faces, names, no card chrome.
============================================================ */
.vote-section-head--clean{
  margin:30px 0 20px;
  text-align:left;
}
.vote-section-eyebrow{
  display:block;
  margin-bottom:7px;
  color:#caa94c;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.14em;
}
.vote-section-head--clean h2{
  margin:0;
  font-size:clamp(23px,3.2vw,31px);
  line-height:1.12;
  letter-spacing:-.025em;
}
.vote-section-head--clean p{
  margin:7px 0 0;
  max-width:620px;
  font-size:13px;
  line-height:1.55;
}

.bbw-round-grid--open{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px 14px;
  align-items:start;
}
.bbw-round-grid--open .bbw-round-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}
.bbw-round-grid--open .bbw-round-card:hover{
  transform:none;
}
.bbw-round-grid--open .bbw-round-card.selected{
  border:0;
  background:transparent!important;
  box-shadow:none!important;
}
.bbw-round-grid--open .bbw-face{
  width:112px;
  height:112px;
  max-width:100%;
  transition:transform .18s ease;
}
.bbw-round-grid--open .bbw-face:active{
  transform:scale(.96);
}
.bbw-round-grid--open .bbw-face img{
  border:2px solid rgba(203,169,76,.72);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.bbw-round-grid--open .bbw-round-card.selected .bbw-face img{
  border-color:#f0c95d;
  box-shadow:0 0 0 3px rgba(240,201,93,.16),0 10px 28px rgba(0,0,0,.24);
  transform:scale(1.025);
}
.bbw-round-grid--open .bbw-check{
  right:0;
  bottom:4px;
  width:29px;
  height:29px;
  border:3px solid #0b0d12!important;
  background:linear-gradient(135deg,#f6d36d,#c99a2e);
  color:#17130a;
  box-shadow:0 4px 12px rgba(0,0,0,.32);
}
.bbw-round-grid--open .bbw-round-card h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:2.55em;
  margin:9px auto 0;
  max-width:124px;
  font-size:13px;
  line-height:1.28;
  font-weight:750;
  text-align:center;
  overflow-wrap:normal;
  word-break:normal;
}
.bbw-round-grid--open .bbw-stepper{
  width:104px;
  margin:7px auto 0;
}

/* CTA exists only after a real selection because render() only emits it then. */
.bbw-allocation-bar.is-visible{
  z-index:999;
}
.bbw-allocation-bar.is-visible .vote-submit-btn{
  border:1px solid rgba(249,211,102,.50);
  background:linear-gradient(135deg,#e8bd4b 0%,#bd8b22 100%);
  color:#171108;
  font-weight:850;
  letter-spacing:.015em;
  box-shadow:0 12px 28px rgba(194,143,32,.27);
}
.bbw-allocation-bar.is-visible .vote-submit-btn:hover{
  box-shadow:0 15px 32px rgba(194,143,32,.34);
}

@media(max-width:1050px){
  .bbw-round-grid--open{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:780px){
  .vote-section-head--clean{margin:24px 2px 18px}
  .vote-section-head--clean h2{font-size:23px}
  .vote-section-head--clean p{font-size:12px}
  .bbw-round-grid--open{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px 8px;
  }
  .bbw-round-grid--open .bbw-face{
    width:96px;
    height:96px;
  }
  .bbw-round-grid--open .bbw-round-card h3{
    max-width:106px;
    font-size:12px;
  }
  .bbw-round-grid--open .bbw-stepper{width:94px}
  .bbw-allocation-bar.is-visible{
    position:fixed;
    left:12px;
    right:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
    width:auto;
    margin:0;
    padding:8px;
    border:1px solid rgba(202,169,76,.25);
    border-radius:16px;
    background:rgba(10,12,17,.92)!important;
    box-shadow:0 16px 40px rgba(0,0,0,.38);
    backdrop-filter:blur(15px);
  }
  .bbw-allocation-bar.is-visible .vote-submit-btn{
    width:100%;
    min-width:0;
    height:50px;
    margin:0;
  }
  .bbw-allocation-bar.is-visible>span{
    color:#d7dbe4;
    text-align:center;
  }
  .bbw-round-grid--open{padding-bottom:82px}
}
@media(max-width:560px){
  .bbw-round-grid--open{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px 6px;
  }
  .bbw-round-grid--open .bbw-round-card{padding:0}
  .bbw-round-grid--open .bbw-face{
    width:88px;
    height:88px;
  }
  .bbw-round-grid--open .bbw-check{
    width:25px;
    height:25px;
    font-size:13px;
  }
  .bbw-round-grid--open .bbw-round-card h3{
    max-width:96px;
    font-size:11.5px;
  }
  .bbw-allocation-bar.is-visible{flex-direction:column;gap:5px}
}
@media(max-width:350px){
  .bbw-round-grid--open .bbw-face{width:80px;height:80px}
  .bbw-round-grid--open .bbw-round-card h3{font-size:11px;max-width:88px}
}

/* =========================================================
   V4.9 — vote submit success-state hard cleanup + modal UI
   ========================================================= */
.bbw-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(2,6,14,.76);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.bbw-vote-modal{
  position:relative;
  width:min(100%,420px);
  margin:auto;
  padding:28px 24px 22px;
  border:1px solid rgba(212,175,55,.38);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(20,25,35,.98),rgba(10,14,21,.99));
  color:#f8fafc;
  box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.025) inset;
  text-align:center;
}
.bbw-vote-modal .bbw-modal-x{
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.bbw-success-mark{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto 14px;
  border-radius:50%;
  background:linear-gradient(135deg,#f7d65b,#b98717);
  color:#111;
  font-size:26px;
  font-weight:900;
  box-shadow:0 10px 28px rgba(216,173,45,.28);
}
.bbw-vote-modal .results-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#e8c34d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.bbw-vote-modal h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(22px,5vw,30px);
  line-height:1.12;
}
.bbw-vote-modal .bbw-success-note{
  margin:0;
  color:#b8c0cf;
  font-size:14px;
  line-height:1.6;
}
.bbw-vote-modal .bbw-success-note strong{color:#fff}
.bbw-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}
.bbw-modal-actions button,
.bbw-modal-actions .bbw-modal-home{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 14px;
  border-radius:13px;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.bbw-modal-actions button{
  border:1px solid #d0aa34;
  background:linear-gradient(135deg,#e7c24d,#b98618);
  color:#101010;
}
.bbw-modal-actions .bbw-modal-home{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#f8fafc;
}
.bbw-selection-modal-open .bbw-modal-actions{grid-template-columns:1fr}

/* The CTA is visible only while the current render has a selection.
   On a successful response render() removes it before the success modal opens. */
.bbw-allocation-bar:not(.is-visible){display:none!important}

@media(max-width:560px){
  .bbw-modal-backdrop{padding:14px;align-items:flex-end}
  .bbw-vote-modal{
    width:100%;
    padding:26px 18px 18px;
    border-radius:22px 22px 16px 16px;
  }
  .bbw-modal-actions{grid-template-columns:1fr;gap:8px}
}

/* V4.10 — restore share/result action styling after V4.9 */
.bbw-share-box{
  margin-top:24px;
  padding:18px;
  border:1px solid rgba(214,174,55,.28);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(214,174,55,.08),rgba(255,255,255,.025));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.bbw-share-box strong{
  display:block;
  margin-top:4px;
  font-size:18px;
  color:#fff;
}
.bbw-share-box p{
  margin:6px 0 0;
  max-width:650px;
  color:#aeb7c5;
  font-size:13px;
  line-height:1.5;
}
.bbw-share-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.bbw-share-actions button{
  appearance:none;
  border:1px solid rgba(214,174,55,.42);
  background:#171d28;
  color:#fff;
  border-radius:12px;
  padding:11px 15px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}
.bbw-share-actions button:first-child{
  background:linear-gradient(135deg,#e1bc4c,#b98716);
  color:#080a0f;
  border-color:transparent;
}
.bbw-share-actions button:hover{
  transform:translateY(-1px);
  border-color:#d6ae37;
}
.bbw-share-actions button:disabled{
  opacity:.58;
  cursor:wait;
  transform:none;
}
@media(max-width:620px){
  .bbw-share-box{align-items:stretch}
  .bbw-share-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .bbw-share-actions button:first-child{grid-column:1/-1}
  .bbw-share-actions button{width:100%}
}

/* =========================================================
   V4.11 — SPLIT VOTE COUNT BADGE
   For multi-vote polls, each photo tap adds one vote and the
   selection badge displays the allocation number (1,2,3...).
   Single-vote polls keep the normal check mark.
   ========================================================= */
.bbw-round-grid--open .bbw-check--count{
  display:none;
  min-width:30px;
  width:auto;
  height:30px;
  padding:0 8px;
  border-radius:999px;
  font-size:14px;
  line-height:1;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.bbw-round-grid--open .bbw-round-card.selected .bbw-check--count{display:grid}
.bbw-stepper--compact{
  margin-top:6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}
.bbw-stepper--compact button{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  padding:0!important;
  border-radius:50%!important;
  line-height:1!important;
  font-size:18px!important;
}
.bbw-stepper--compact span{
  font-size:11px;
  color:var(--muted,#94a3b8);
  white-space:nowrap;
}
@media(max-width:640px){
  .bbw-round-grid--open .bbw-check--count{min-width:27px;height:27px;padding:0 7px;font-size:13px}
  .bbw-stepper--compact span{font-size:10px}
}


/* V5.16 — mobile result label parity with desktop */
@media(max-width:700px){
  .results-list .result-row > div:last-child{min-width:0}
  .results-list .result-label{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    margin-bottom:7px;
  }
  .results-list .result-label strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .results-list .result-label span{
    flex:0 0 auto;
    white-space:nowrap;
    text-align:right;
  }
}


/* =========================================================
   V5.20 — MALAYALAM SEASON 8 SEO PILLAR CONTENT
   Useful publisher content below the interactive vote UI.
   ========================================================= */
.vote-hero__title{
  margin:0;
  color:#fff;
  font-size:clamp(34px,5vw,62px);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.vote-seo-pillar{
  margin:34px auto 26px;
  max-width:1040px;
  color:var(--text,#f8fafc);
}
.vote-seo-intro,
.vote-seo-block,
.vote-seo-card{
  border:1px solid rgba(148,163,184,.16);
  background:linear-gradient(180deg,rgba(18,24,35,.88),rgba(10,14,22,.92));
  border-radius:20px;
}
.vote-seo-intro{padding:30px}
.vote-seo-kicker{
  display:inline-block;
  color:#e0b63e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  margin-bottom:10px;
}
.vote-seo-intro h1{
  margin:0;
  max-width:900px;
  font-size:clamp(30px,4vw,48px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:#fff;
}
.vote-seo-lead{
  max-width:880px;
  margin:18px 0 0;
  color:#c4ccda;
  font-size:16px;
  line-height:1.75;
}
.vote-seo-updated{
  margin:15px 0 0;
  color:#8995a7;
  font-size:12px;
}
.vote-seo-block{margin-top:16px;padding:26px 28px}
.vote-seo-block h2,.vote-seo-card h2{
  margin:0 0 12px;
  color:#fff;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.vote-seo-block p,.vote-seo-card p{
  margin:10px 0 0;
  color:#b8c2d1;
  font-size:15px;
  line-height:1.75;
}
.vote-seo-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
}
.vote-seo-card{padding:26px 28px}
.vote-seo-official{
  border-color:rgba(224,182,62,.30);
  background:linear-gradient(135deg,rgba(224,182,62,.08),rgba(10,14,22,.95) 42%);
}
.vote-seo-list{
  margin:14px 0 0;
  padding-left:20px;
  color:#b8c2d1;
  line-height:1.75;
}
.vote-seo-list li+li{margin-top:5px}
.vote-seo-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.vote-seo-links a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 13px;
  border:1px solid rgba(224,182,62,.28);
  border-radius:12px;
  color:#f0c84d;
  background:rgba(224,182,62,.06);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.vote-seo-links a:hover{border-color:#d9ae32;background:rgba(224,182,62,.11)}
.vote-seo-faq details{
  border-top:1px solid rgba(148,163,184,.14);
  padding:15px 0 2px;
}
.vote-seo-faq details:first-of-type{margin-top:6px}
.vote-seo-faq summary{
  cursor:pointer;
  color:#f8fafc;
  font-weight:800;
  line-height:1.45;
}
.vote-seo-faq details p{margin-top:8px}
@media(max-width:700px){
  .vote-hero__title{font-size:clamp(30px,10vw,43px)}
  .vote-seo-pillar{margin-top:26px}
  .vote-seo-intro,.vote-seo-block,.vote-seo-card{border-radius:16px}
  .vote-seo-intro{padding:22px 18px}
  .vote-seo-block,.vote-seo-card{padding:21px 18px}
  .vote-seo-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .vote-seo-block{margin-top:12px}
  .vote-seo-lead,.vote-seo-block p,.vote-seo-card p{font-size:14px;line-height:1.7}
  .vote-seo-links{display:grid;grid-template-columns:1fr}
  .vote-seo-links a{justify-content:center;text-align:center}
}

/* ============================================================
   V5.20 — MOBILE RESULT POLISH + SHARE SUPPORT
   Display-only. Voting/API logic is unchanged.
============================================================ */
.results-title-block{min-width:0}
.results-stats{display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.result-main{min-width:0}
.result-meta{margin:-2px 0 7px;color:#94a3b8;font-size:12px;line-height:1.2}

@media(max-width:700px){
  .vote-state-card{
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    margin:18px 0;
    padding:16px;
    border-radius:18px;
  }
  .vote-state-icon{width:44px;height:44px;font-size:22px}
  .vote-state-kicker{font-size:10px;margin-bottom:4px}
  .vote-state-card h2{font-size:20px;line-height:1.18;margin:0 0 5px}
  .vote-state-card p{font-size:13px;line-height:1.45}

  .bbw-own{margin:16px 0;padding:14px;border-radius:15px}
  .bbw-own-row{gap:10px;margin-top:9px}
  .bbw-own-row img{width:44px;height:44px}
  .bbw-own-row strong{font-size:15px}

  .results-panel{
    margin-top:16px;
    padding:16px 12px 14px;
    border-radius:19px;
  }
  .results-panel-head{
    display:block;
    margin-bottom:15px;
  }
  .results-title-block .results-eyebrow{font-size:10px;margin-bottom:5px}
  .results-panel-head h2{
    margin:0;
    font-size:26px;
    line-height:1.08;
    letter-spacing:-.02em;
    white-space:nowrap;
  }
  .results-stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    gap:8px;
    margin-top:13px;
  }
  .results-stats .bbw-total-voters{
    min-width:0;
    width:100%;
    padding:9px 8px 10px;
    border-radius:12px;
  }
  .results-stats .bbw-total-voters span{
    font-size:9px;
    line-height:1.15;
    letter-spacing:.05em;
  }
  .results-stats .bbw-total-voters strong{
    margin-top:4px;
    font-size:20px;
    line-height:1;
  }
  .results-list{gap:9px}
  .results-list .result-row{
    grid-template-columns:32px 46px minmax(0,1fr);
    gap:10px;
    padding:10px;
    border-radius:14px;
  }
  .results-list .result-rank{
    width:32px;
    height:32px;
    border-radius:10px;
    font-size:14px;
  }
  .results-list .result-photo{
    width:46px;
    height:46px;
    border-radius:50%;
    border:1px solid rgba(213,178,74,.55);
  }
  .results-list .result-label{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    margin:0 0 3px;
  }
  .results-list .result-label strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:15px;
    line-height:1.15;
  }
  .results-list .result-label span{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:13px;
    font-weight:750;
    text-align:right;
  }
  .results-list .result-meta{
    margin:0 0 6px;
    font-size:11px;
    line-height:1.15;
  }
  .results-list .result-track{height:7px}
  .bbw-share-box{margin-top:16px}
}

@media(max-width:380px){
  .results-panel{padding-left:10px;padding-right:10px}
  .results-panel-head h2{font-size:23px}
  .results-list .result-row{grid-template-columns:29px 42px minmax(0,1fr);gap:8px;padding:9px 8px}
  .results-list .result-rank{width:29px;height:29px;font-size:13px}
  .results-list .result-photo{width:42px;height:42px}
  .results-list .result-label strong{font-size:14px}
}

/* =========================================================
   V5.21 — CURRENT SELECTION-SHOW SEARCH LAYER + GUIDE CARDS
   Display/SEO copy only. Vote API logic remains unchanged.
   ========================================================= */
.vote-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:16px 0 0;
}
.vote-guide-card{
  position:relative;
  min-width:0;
  padding:25px 24px 23px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(18,24,35,.92),rgba(10,14,22,.96));
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.vote-guide-number{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  border:1px solid rgba(249,115,22,.36);
  border-radius:13px;
  background:rgba(249,115,22,.10);
  color:#fb923c;
  font-size:15px;
  font-weight:900;
}
.vote-guide-card h2{
  margin:0 0 11px;
  color:#fff;
  font-size:19px;
  line-height:1.3;
  letter-spacing:-.015em;
}
.vote-guide-card p{
  margin:0;
  color:#b8c2d1;
  font-size:14px;
  line-height:1.72;
}
.vote-guide-card strong{color:#e8edf5}
.vote-seo-campaign{
  border-color:rgba(249,115,22,.26);
  background:
    radial-gradient(circle at 100% 0,rgba(249,115,22,.08),transparent 35%),
    linear-gradient(180deg,rgba(18,24,35,.90),rgba(10,14,22,.96));
}
.vote-campaign-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:6px 10px;
  margin-bottom:11px;
  border:1px solid rgba(249,115,22,.30);
  border-radius:999px;
  color:#fb923c;
  background:rgba(249,115,22,.08);
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:.1em;
}
@media(max-width:860px){
  .vote-guide-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .vote-guide-card{padding:20px 18px;border-radius:16px}
  .vote-guide-number{width:38px;height:38px;margin-bottom:14px;border-radius:11px}
  .vote-guide-card h2{font-size:18px}
  .vote-guide-card p{font-size:14px;line-height:1.68}
}

/* Completed poll archive + editorial content */
.results-archive-meta{display:inline-flex;margin-top:16px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#cbd5e1;font-size:13px;font-weight:700}
.results-editorial{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:20px;margin-top:24px}
.results-editorial-main,.results-disclaimer-card,.results-explainer{padding:26px;border-radius:20px;background:var(--card,#fff);border:1px solid rgba(148,163,184,.25)}
.results-editorial-main h2,.results-explainer h2{margin:6px 0 14px;font-size:clamp(24px,3.5vw,34px);line-height:1.18}
.results-editorial-main p,.results-disclaimer-card p,.results-explainer p{line-height:1.75;margin:0 0 14px;color:var(--muted,#64748b)}
.results-editorial-main p:last-child,.results-disclaimer-card p:last-of-type{margin-bottom:0}
.results-disclaimer-card{align-self:start;background:linear-gradient(145deg,rgba(124,58,237,.09),rgba(99,102,241,.04))}
.results-disclaimer-card>strong{display:block;font-size:19px;margin-bottom:9px}
.results-disclaimer-card a{display:inline-flex;margin-top:18px;color:#7c3aed;font-weight:800;text-decoration:none}
.results-explainer{margin-top:20px;margin-bottom:10px}
.results-explainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.results-explainer-grid article{padding:17px;border:1px solid rgba(148,163,184,.22);border-radius:15px}
.results-explainer-grid h3{margin:0 0 7px;font-size:17px}
.results-explainer-grid p{font-size:14px;margin:0}
[data-theme="dark"] .results-editorial-main,[data-theme="dark"] .results-disclaimer-card,[data-theme="dark"] .results-explainer{background:#10141d;color:#f8fafc;border-color:#2b3443}
[data-theme="dark"] .results-editorial-main p,[data-theme="dark"] .results-disclaimer-card p,[data-theme="dark"] .results-explainer p{color:#a8b3c7}
[data-theme="dark"] .results-explainer-grid article{border-color:#2b3443;background:#0d1119}
@media(max-width:760px){.results-editorial{grid-template-columns:1fr}.results-editorial-main,.results-disclaimer-card,.results-explainer{padding:20px}.results-explainer-grid{grid-template-columns:1fr}.results-archive-meta{font-size:12px}.vote-results-page .results-hero{padding:28px 24px}}
