.scmb-poll {
    --poll-primary: #0f766e;
    --poll-primary-dark: #115e59;
    --poll-accent: #f59e0b;
    --poll-text: #17231f;
    --poll-muted: #64736e;
    --poll-line: #dbe5e1;
    --poll-surface: #fff;
    width: min(100%, 760px);
    margin: 28px auto;
    padding: 24px;
    border: 1px solid var(--poll-line);
    border-radius: 8px;
    background: var(--poll-surface);
    color: var(--poll-text);
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    box-sizing: border-box;
    text-align: right;
}
.scmb-poll *, .scmb-poll *::before, .scmb-poll *::after { box-sizing: border-box; }
.scmb-poll__header { margin-bottom: 20px; }
.scmb-poll__header h3 { margin: 5px 0 8px; color: var(--poll-text); font-size: clamp(1.2rem, 3vw, 1.65rem); line-height: 1.8; }
.scmb-poll__header p { margin: 0; color: var(--poll-muted); }
.scmb-poll__eyebrow { display: inline-flex; padding: 3px 10px; border-radius: 6px; background: #eef7f4; color: var(--poll-primary-dark); font-size: .82rem; font-weight: 700; }
.scmb-poll__identity { margin-bottom: 14px; padding: 10px 12px; border-inline-start: 3px solid var(--poll-primary); background: #eef7f4; color: var(--poll-primary-dark); font-weight: 700; }
.scmb-poll__guest-verification { margin: 0 0 18px; padding: 16px; border: 1px solid #f0c979; border-radius: 8px; background: #fffbeb; }
.scmb-poll__guest-verification > strong { color: #854d0e; }
.scmb-poll__guest-verification > p { margin: 5px 0 12px; color: #713f12; font-size: .9rem; }
.scmb-poll__guest-mobile-row, .scmb-poll__guest-code-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.scmb-poll__guest-code-row { grid-template-columns: minmax(0,1fr) auto 60px; margin-top: 9px; align-items: center; }
.scmb-poll__guest-verification input { min-width: 0; height: 42px; padding: 8px 11px; border: 1px solid #d6b65f; border-radius: 6px; background: #fff; font: inherit; }
.scmb-poll__guest-verification button { min-height: 42px; padding: 7px 14px; border: 0; border-radius: 6px; background: #92400e; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.scmb-poll__guest-verification button:disabled { opacity: .55; cursor: wait; }
.scmb-poll__guest-status { min-height: 22px; margin-top: 8px; color: #713f12; font-size: .88rem; }
.scmb-poll__guest-status.is-error { color: #991b1b; }
.scmb-poll__guest-status.is-success { color: #166534; }
.scmb-poll__guest-verification.is-verified { border-color: #86c99a; background: #f0fdf4; }
.scmb-poll__guest-countdown { color: #713f12; font-variant-numeric: tabular-nums; text-align: center; }
.scmb-poll__timer { margin: 0 0 18px; }
.scmb-poll__timer-row { display: flex; justify-content: space-between; gap: 16px; color: var(--poll-muted); }
.scmb-poll__timer-row strong { color: var(--poll-text); font-variant-numeric: tabular-nums; }
.scmb-poll__progress { height: 7px; margin-top: 8px; overflow: hidden; border-radius: 4px; background: #e5eeeb; }
.scmb-poll__progress i { display: block; width: 100%; height: 100%; background: var(--poll-primary); transition: width .3s linear; }
.scmb-poll fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.scmb-poll__options { display: grid; gap: 10px; }
.scmb-poll__option { position: relative; display: flex; align-items: center; gap: 12px; min-height: 54px; margin: 0; padding: 11px 13px; border: 1px solid var(--poll-line); border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.scmb-poll__option:hover { border-color: #8cc5bd; background: #f8fcfb; }
.scmb-poll__option:focus-within { outline: 2px solid rgba(15, 118, 110, .2); outline-offset: 2px; }
.scmb-poll__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.scmb-poll__control { flex: 0 0 21px; width: 21px; height: 21px; border: 2px solid #9aaba5; border-radius: 50%; background: #fff; }
.scmb-poll input[type="checkbox"] + .scmb-poll__control { border-radius: 5px; }
.scmb-poll__option input:checked + .scmb-poll__control { border: 6px solid var(--poll-primary); }
.scmb-poll input[type="checkbox"]:checked + .scmb-poll__control { border-width: 2px; background: var(--poll-primary); box-shadow: inset 0 0 0 4px #fff; }
.scmb-poll__option:has(input:checked) { border-color: var(--poll-primary); background: #eef7f4; box-shadow: 0 0 0 1px rgba(15, 118, 110, .12); }
.scmb-poll__option-text { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--poll-text); line-height: 1.75; }
.scmb-poll__option-text b { display: inline-grid; flex: 0 0 25px; width: 25px; height: 25px; place-items: center; border-radius: 5px; background: #edf2f0; color: var(--poll-muted); font-size: .78rem; }
.scmb-poll__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.scmb-poll__actions button { min-height: 42px; padding: 8px 20px; border: 1px solid var(--poll-primary); border-radius: 7px; font: inherit; font-weight: 700; cursor: pointer; }
.scmb-poll__submit { background: var(--poll-primary); color: #fff; }
.scmb-poll__submit:hover { background: var(--poll-primary-dark); }
.scmb-poll__results-button { background: #fff; color: var(--poll-primary-dark); }
.scmb-poll__actions button:disabled { opacity: .55; cursor: not-allowed; }
.scmb-poll__submit.is-loading { color: transparent; position: relative; }
.scmb-poll__submit.is-loading::after { position: absolute; inset: 50% auto auto 50%; width: 17px; height: 17px; margin: -9px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; content: ""; animation: scmb-poll-spin .7s linear infinite; }
.scmb-poll__loading { padding: 13px 0 0; color: var(--poll-muted); font-size: .9rem; }
.scmb-poll-message { margin-top: 16px; padding: 12px 14px; border-radius: 7px; background: #eef7f4; color: var(--poll-primary-dark); }
.scmb-poll-message--error { background: #fef2f2; color: #991b1b; }
.scmb-poll-message--success { background: #f0fdf4; color: #166534; }
.scmb-poll-message--info { margin: 0; background: #f8faf9; color: var(--poll-muted); }
.scmb-poll__results { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--poll-line); }
.scmb-poll__results-heading, .scmb-poll__result-row > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.scmb-poll__results-heading span { color: var(--poll-muted); font-size: .9rem; }
.scmb-poll__result-list { display: grid; gap: 16px; margin-top: 18px; }
.scmb-poll__result-row > div:first-child { margin-bottom: 7px; }
.scmb-poll__result-row span { min-width: 0; overflow-wrap: anywhere; }
.scmb-poll__result-row strong { flex: 0 0 auto; color: var(--poll-muted); font-size: .86rem; }
.scmb-poll__result-row > div:last-child { height: 9px; overflow: hidden; border-radius: 5px; background: #e7efec; }
.scmb-poll__result-row i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--poll-primary), #2aa89e); transition: width .45s ease; }
.scmb-poll__results--static { display: block; }
@keyframes scmb-poll-spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
    .scmb-poll { margin: 18px auto; padding: 17px; }
    .scmb-poll__option { align-items: flex-start; }
    .scmb-poll__actions { display: grid; grid-template-columns: 1fr; }
    .scmb-poll__actions button { width: 100%; }
    .scmb-poll__guest-mobile-row, .scmb-poll__guest-code-row { grid-template-columns: 1fr; }
    .scmb-poll__guest-countdown { text-align: right; }
    .scmb-poll__result-row > div:first-child { align-items: flex-start; }
}
[data-theme="dark"] .scmb-poll, .dark .scmb-poll {
    --poll-surface: #17231f;
    --poll-text: #f4f8f6;
    --poll-muted: #afbeb8;
    --poll-line: #34463f;
    background: var(--poll-surface);
}
[data-theme="dark"] .scmb-poll__option, [data-theme="dark"] .scmb-poll__results-button, .dark .scmb-poll__option, .dark .scmb-poll__results-button { background: #1d2c27; color: var(--poll-text); }
[data-theme="dark"] .scmb-poll__guest-verification, .dark .scmb-poll__guest-verification { background: #2f2618; border-color: #71521f; }
[data-theme="dark"] .scmb-poll__option:hover, .dark .scmb-poll__option:hover { background: #243832; }

/* Compact presentation used only by [scmb_poll_card]. */
.scmb-poll--card {
    width: 100%;
    margin: 0;
    padding: 14px;
    border-color: var(--scmb-border, var(--poll-line));
    border-radius: 7px;
    background: var(--scmb-surface-glass, var(--poll-surface));
    color: var(--scmb-heading, var(--poll-text));
    box-shadow: none;
    transform: none;
}
.scmb-poll--card strong { font-size: inherit; line-height: inherit; }
.scmb-poll--card p { max-inline-size: none; margin: 0; font-size: .82rem; line-height: 1.65; }
.scmb-poll--card .scmb-poll__identity,
.scmb-poll--card .scmb-poll__timer { display: none !important; }
.scmb-poll--card .scmb-poll__form { margin: 0; padding: 0; border: 0; background: transparent; }
.scmb-poll--card .scmb-poll__progress { height: 5px; margin-top: 5px; }
.scmb-poll--card .scmb-poll__options { gap: 7px; }
.scmb-poll--card .scmb-poll__option {
    gap: 8px;
    min-height: 42px;
    padding: 7px 9px;
    border-color: var(--scmb-border, var(--poll-line));
    border-radius: 6px;
    background: var(--scmb-surface, #fff);
}
.scmb-poll--card .scmb-poll__option:hover { border-color: var(--scmb-primary, var(--poll-primary)); }
.scmb-poll--card .scmb-poll__control { flex-basis: 18px; width: 18px; height: 18px; }
.scmb-poll--card .scmb-poll__option input:checked + .scmb-poll__control { border-width: 5px; }
.scmb-poll--card .scmb-poll__option-text { gap: 7px; font-size: .84rem; line-height: 1.55; }
.scmb-poll--card .scmb-poll__option-text b { flex-basis: 21px; width: 21px; height: 21px; font-size: .7rem; }
.scmb-poll--card .scmb-poll__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 11px;
}
.scmb-poll--card .scmb-poll__actions button,
.scmb-poll--card .scmb-poll__page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 36px;
    padding: 6px 8px;
    border: 1px solid var(--scmb-primary, var(--poll-primary));
    border-radius: 7px;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}
.scmb-poll--card .scmb-poll__submit { background: var(--scmb-primary, var(--poll-primary)); }
.scmb-poll--card .scmb-poll__page-link {
    background: var(--scmb-surface, #fff);
    color: var(--scmb-primary-2, var(--poll-primary-dark));
}
.scmb-poll--card .scmb-poll__page-link:hover { background: var(--scmb-surface-soft, #eef7f4); }
.scmb-poll--card .scmb-poll__actions button:only-child { grid-column: 1 / -1; }
.scmb-poll--card .scmb-poll__guest-verification { margin-bottom: 10px; padding: 10px; }
.scmb-poll--card .scmb-poll__guest-mobile-row,
.scmb-poll--card .scmb-poll__guest-code-row { grid-template-columns: 1fr; }
.scmb-poll--card .scmb-poll__guest-verification input,
.scmb-poll--card .scmb-poll__guest-verification button { width: 100%; min-height: 36px; height: auto; }
.scmb-poll--card .scmb-poll__results { margin-top: 13px; padding-top: 12px; }
.scmb-poll--card .scmb-poll__result-list { gap: 10px; margin-top: 11px; }
.scmb-poll--card .scmb-poll__result-row > div:first-child { align-items: flex-start; gap: 7px; }
.scmb-poll--card .scmb-poll__result-row strong { font-size: .72rem; }

/* The existing hero card remains the visual container; avoid a nested card. */
.scmb-hero-card .scmb-poll--card {
    margin-top: 13px;
    padding: 13px 0 0;
    border: 0;
    border-top: 1px solid var(--scmb-border, var(--poll-line));
    border-radius: 0;
    background: transparent;
}

@media (max-width: 480px) {
    .scmb-poll--card .scmb-poll__actions { grid-template-columns: 1fr; }
}
