/* Shared palettes for opted-in registration and spectator pages. */
body:is([data-registration-theme="halloween"], [data-event-theme="halloween"]),
body:is([data-registration-theme="halloween-purple"], [data-event-theme="halloween-purple"]),
body:is([data-registration-theme="halloween-harvest"], [data-event-theme="halloween-harvest"]) {
    --page-bg: radial-gradient(ellipse at top, #493024 0%, #171821 65%);
    --text: #fff4e9;
    --text-muted: #d5c4b5;
    --surface: #24242e;
    --surface-muted: #302d35;
    --border: #60525a;
    --input-bg: #1b1c26;
    --brand: #ffb76c;
    --theme-button: #ffb76c;
    --theme-button-text: #2b1b14;
    --theme-glow: rgba(255, 170, 73, 0.2);
    --theme-art-bg: #352d32;
    --radius-xl: 24px;
    color-scheme: dark;
}
body:is([data-registration-theme="halloween-purple"], [data-event-theme="halloween-purple"]) {
    --page-bg: radial-gradient(ellipse at top, #493266 0%, #1b1729 65%);
    --text: #f8efff;
    --text-muted: #d7c4e9;
    --surface: #2b223a;
    --surface-muted: #362b47;
    --border: #736183;
    --input-bg: #221b30;
    --brand: #d3b5ff;
    --theme-button: #d3b5ff;
    --theme-button-text: #291c40;
    --theme-glow: rgba(192, 145, 255, 0.23);
    --theme-art-bg: #433156;
}
body:is([data-registration-theme="halloween-harvest"], [data-event-theme="halloween-harvest"]) {
    --page-bg: radial-gradient(ellipse at top, #ead8b7 0%, #f4ead9 65%);
    --text: #382a22;
    --text-muted: #69523f;
    --surface: #fffaf1;
    --surface-muted: #f5ead9;
    --border: #b9a18c;
    --input-bg: #fffdf7;
    --brand: #994123;
    --theme-button: #994123;
    --theme-button-text: #fffaf1;
    --theme-glow: rgba(173, 99, 40, 0.16);
    --theme-art-bg: #f3dfbe;
    color-scheme: light;
}
body:is([data-registration-theme="thanksgiving-rustic"], [data-event-theme="thanksgiving-rustic"]) {
    --page-bg: radial-gradient(ellipse at top, #efdecb 0%, #faf3e7 65%);
    --text: #3c2c24;
    --text-muted: #715646;
    --surface: #fffaf0;
    --surface-muted: #efdecb;
    --border: #ab8e75;
    --input-bg: #fffdf7;
    --brand: #893c32;
    --theme-button: #893c32;
    --theme-button-text: #ffffff;
    --theme-glow: rgba(137, 60, 50, 0.16);
    --theme-art-bg: #efdecb;
    --radius-xl: 24px;
    color-scheme: light;
}
body:is([data-registration-theme="christmas-workshop"], [data-event-theme="christmas-workshop"]) {
    --page-bg: radial-gradient(ellipse at top, #53232b 0%, #210b0f 65%);
    --text: #fff5e6;
    --text-muted: #e4c7ad;
    --surface: #35161a;
    --surface-muted: #482126;
    --border: #996d64;
    --input-bg: #290f14;
    --brand: #eac17e;
    --theme-button: #eac17e;
    --theme-button-text: #351816;
    --theme-glow: rgba(234, 193, 126, 0.18);
    --theme-art-bg: #482126;
    --radius-xl: 24px;
    color-scheme: dark;
}
body[data-registration-theme="christmas-workshop"] h1 {
    font-family: Georgia, 'Times New Roman', serif;
}
body[data-registration-theme="thanksgiving-rustic"] h1 {
    font-family: Georgia, 'Times New Roman', serif;
}
.registration-theme-art--characters img {
    width: 240px;
    max-width: 100%;
    height: 144px;
    object-fit: contain;
}
body .registration-theme-art--characters::before,
body .registration-theme-art--characters::after { content: none; }
body[data-registration-theme]:not([data-registration-theme="default"]) .registration-card {
    box-shadow: 0 20px 70px rgba(12, 12, 23, 0.2);
}
body[data-registration-theme]:not([data-registration-theme="default"]) .branding {
    border: 0;
    margin-bottom: 1.2rem;
    padding-bottom: 0;
}
.registration-theme-art {
    width: 100%;
    height: 128px;
    display: grid;
    place-items: center;
    margin-bottom: 1.2rem;
    border-radius: 18px;
    background: radial-gradient(circle at 50% 50%, var(--theme-glow), transparent 62%), var(--theme-art-bg);
    position: relative;
    overflow: hidden;
}
.registration-theme-art span { font-size: 64px; line-height: 1; }
.registration-theme-art::before,
.registration-theme-art::after {
    content: "✦";
    position: absolute;
    color: var(--brand);
    font-size: 24px;
    top: 26px;
    left: 20%;
}
.registration-theme-art::after { top: 72px; left: auto; right: 19%; font-size: 16px; }
body[data-registration-theme="halloween-purple"] .registration-theme-art { border-radius: 64px 64px 18px 18px; }
body[data-registration-theme="halloween-harvest"] h1 { font-family: Georgia, 'Times New Roman', serif; }
body[data-registration-theme]:not([data-registration-theme="default"]) .branding p {
    color: var(--brand);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.8rem;
}
body[data-registration-theme]:not([data-registration-theme="default"]) .info-text { margin: 1rem 0; }
body[data-registration-theme]:not([data-registration-theme="default"]) input,
body[data-registration-theme]:not([data-registration-theme="default"]) select,
body[data-registration-theme]:not([data-registration-theme="default"]) textarea {
    accent-color: var(--brand);
    border-color: var(--border);
}
body[data-registration-theme]:not([data-registration-theme="default"]) input:focus,
body[data-registration-theme]:not([data-registration-theme="default"]) select:focus,
body[data-registration-theme]:not([data-registration-theme="default"]) textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--theme-glow);
}
body[data-registration-theme]:not([data-registration-theme="default"]) button[type="submit"],
body[data-registration-theme]:not([data-registration-theme="default"]) .btn,
body[data-registration-theme]:not([data-registration-theme="default"]) #open_waiver,
body[data-registration-theme]:not([data-registration-theme="default"]) #waiver_accept {
    background: var(--theme-button);
    color: var(--theme-button-text);
}
body[data-registration-theme]:not([data-registration-theme="default"]) .choice-button--primary {
    background: var(--theme-button);
    color: var(--theme-button-text);
    box-shadow: none;
}
body[data-registration-theme]:not([data-registration-theme="default"]) .choice-strip__link.is-selected {
    background: var(--theme-glow);
}
body[data-registration-theme]:not([data-registration-theme="default"]) .division-choice,
body[data-registration-theme]:not([data-registration-theme="default"]) .under-18-only,
body[data-registration-theme]:not([data-registration-theme="default"]) .participant-panel {
    background: var(--surface-muted);
    border-color: var(--border);
    color: var(--text);
}
body[data-registration-theme]:not([data-registration-theme="default"]) .division-choice:hover { border-color: var(--brand); box-shadow: 0 0 0 3px var(--theme-glow); }
body[data-registration-theme]:not([data-registration-theme="default"]) .division-choice--disabled:hover { border-color: var(--border); box-shadow: none; }
body[data-registration-theme]:not([data-registration-theme="default"]) .field-hint,
body[data-registration-theme]:not([data-registration-theme="default"]) .parent-note,
body[data-registration-theme]:not([data-registration-theme="default"]) .waiver-document-caption { color: var(--text-muted); }
body[data-registration-theme]:not([data-registration-theme="default"]) .division-auto-status--error { color: var(--brand); }
body[data-registration-theme]:not([data-registration-theme="default"]) .payment-note {
    background: var(--surface-muted);
    box-shadow: none;
    color: var(--text);
}
body[data-registration-theme]:not([data-registration-theme="default"]) .payment-note::before { background: var(--theme-glow); color: var(--brand); }
body[data-registration-theme]:not([data-registration-theme="default"]) .public-legal-links a { color: var(--brand); }
body[data-registration-theme]:not([data-registration-theme="default"]) a:not(.btn) { color: var(--brand); }
body[data-registration-theme]:not([data-registration-theme="default"]) .success-title { color: var(--brand); }
body[data-registration-theme]:not([data-registration-theme="default"]) .success-icon { color: var(--brand); }
body[data-registration-theme]:not([data-registration-theme="default"]) .meet-info { background: var(--surface-muted); color: var(--text); }
body[data-registration-theme]:not([data-registration-theme="default"]) .meet-info h2 { color: var(--brand); }
@media (max-width: 420px) {
    body[data-registration-theme]:not([data-registration-theme="default"]) { padding: 1rem 12px; }
    body[data-registration-theme]:not([data-registration-theme="default"]) .registration-card { padding: 1.5rem 18px; }
    .registration-theme-art { height: 108px; }
}

/* Character art sits directly on the selected palette; pit scenery stays on boards. */
.registration-theme-art.registration-theme-art--characters {
    height: 144px;
    background: none;
    border-radius: 0;
}
