/* Seasonal accents are scoped to the public layout. Default restores original styles. */
body[data-seasonal-theme="halloween"] {
    --blue: #eaa35e;
    --blue-deep: #9a491d;
    --gold: #edc69a;
    --line: rgba(210, 139, 75, .24);
    --line-strong: rgba(234, 163, 94, .55);
    --season-accent: #eaa35e;
    --season-glow: rgba(126, 64, 156, .22);
    --season-button: linear-gradient(180deg, #a45122, #6f2d14);
}
body[data-seasonal-theme="winter"] {
    --blue: #9bdaf0;
    --blue-deep: #397a9f;
    --gold: #dce9f1;
    --line: rgba(155, 218, 240, .24);
    --line-strong: rgba(155, 218, 240, .55);
    --season-accent: #bceaff;
    --season-glow: rgba(94, 161, 205, .22);
    --season-button: linear-gradient(180deg, #276486, #173c59);
}
body:is([data-seasonal-theme="halloween"], [data-seasonal-theme="winter"]) .site-header {
    border-bottom-color: var(--line-strong);
    box-shadow: 0 5px 36px var(--season-glow);
}
body:is([data-seasonal-theme="halloween"], [data-seasonal-theme="winter"]) .home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(ellipse at 82% 22%, var(--season-glow), transparent 58%);
}
body:is([data-seasonal-theme="halloween"], [data-seasonal-theme="winter"]) .eyebrow {
    color: var(--season-accent);
}
body:is([data-seasonal-theme="halloween"], [data-seasonal-theme="winter"]) .button--primary {
    background: var(--season-button);
    border-color: var(--season-accent);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 10px 32px var(--season-glow);
}
body:is([data-seasonal-theme="halloween"], [data-seasonal-theme="winter"]) .site-footer {
    border-top: 1px solid var(--line-strong);
}


.seasonal-banner, .halloween-scene { display: none; }
body[data-seasonal-theme="halloween"] .seasonal-banner { display: block; position: relative; z-index: 2; border-bottom: 1px solid rgba(227,155,85,.3); background: radial-gradient(ellipse at 15% 50%, rgba(165,76,24,.24), transparent 52%), linear-gradient(90deg, #1d1515, #171020 75%, #0d101a); }
.seasonal-banner__link { display: flex; align-items: center; gap: 24px; width: var(--wide); margin: auto; padding: 16px 0; color: #eadfd5; text-decoration: none; }
.seasonal-banner strong { color: #ffd399; font-family: var(--font-display); font-size: 18px; letter-spacing: .08em; }
.seasonal-banner__description { flex: 1; color: #c6b7c7; font-size: 13px; }
.seasonal-banner__action { margin-left: auto; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: #ffd399; }
.seasonal-banner__link:hover .seasonal-banner__action { color: #fff0da; }
.seasonal-banner__link:focus-visible { outline: 2px solid #ffd399; outline-offset: -3px; }
body[data-seasonal-theme="halloween"] .halloween-scene { display: block; position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.halloween-fog { position: absolute; inset: 45% -8% 0; opacity: .4; background: radial-gradient(ellipse at 70% 70%, rgba(153,98,172,.28), transparent 55%), radial-gradient(ellipse at 25% 80%, rgba(225,143,70,.12), transparent 50%); filter: blur(18px); animation: halloween-mist 22s ease-in-out infinite alternate; }
body[data-seasonal-theme="halloween"] .home-hero__inner { z-index: 2; }
@keyframes halloween-mist { from { transform: translateX(-2%); } to { transform: translateX(2%); } }
@media (prefers-reduced-motion: reduce) { .halloween-fog { animation: none; } }
@media (max-width: 900px) { .seasonal-banner__description { display: none; } }
@media (max-width: 540px) { .seasonal-banner__link { gap: 12px; padding: 12px 0; } .seasonal-banner strong { font-size: 14px; } .seasonal-banner__action { font-size: 10px; letter-spacing: .04em; } }

body[data-seasonal-theme="halloween"] .home-hero { margin-top: 0; padding-top: 0; }

/* In-game event illustration replaces decorative stand-ins while Halloween is active. */
.halloween-event-copy { display: none; }
body[data-seasonal-theme="halloween"] .home-hero__backdrop {
    background-image: none;
    background-position: center, center top;
    background-size: cover;
}
body[data-seasonal-theme="halloween"] .home-hero__copy,
body[data-seasonal-theme="halloween"] .hero-video { display: none; }
body[data-seasonal-theme="halloween"] .home-hero__inner { min-height: 530px; align-items: flex-end; padding-top: 260px; padding-bottom: 48px; }
body[data-seasonal-theme="halloween"] .halloween-event-copy { display: block; max-width: 700px; }
.halloween-event-copy h1 { font-size: clamp(38px, 4.5vw, 68px); line-height: 1.1; margin: 8px 0 14px; }
.halloween-event-copy .lead { font-size: 18px; }
body[data-seasonal-theme="halloween"] .home-hero { min-height: 690px; }
@media (max-width: 700px) {
    body[data-seasonal-theme="halloween"] .home-hero__backdrop { background-size: 100% auto; background-repeat: no-repeat; }
    body[data-seasonal-theme="halloween"] .home-hero__inner { min-height: 420px; padding-top: 180px; padding-bottom: 35px; }
    .halloween-event-copy .lead { font-size: 15px; }
}

/* Art-directed images: full width on desktop and a dedicated portrait on mobile. */
.halloween-event-art { display: none; }
body[data-seasonal-theme="halloween"] .halloween-event-art { display: block; width: 100%; height: 100%; }
.halloween-event-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
body[data-seasonal-theme="halloween"] .home-hero__backdrop { background-image: none; }
body[data-seasonal-theme="halloween"] .home-hero__backdrop::after { height: 70%; background: linear-gradient(0deg, #03070c, rgba(3,7,12,.65) 42%, transparent); }
@media (max-width: 700px) {
    body[data-seasonal-theme="halloween"] .home-hero__backdrop { height: 125vw; }
    body[data-seasonal-theme="halloween"] .home-hero__backdrop::after { height: 25%; }
    body[data-seasonal-theme="halloween"] .home-hero__inner { min-height: 0; padding-top: calc(125vw + 8px); padding-bottom: 180px; }
    body[data-seasonal-theme="halloween"] .home-hero { min-height: 0; }
    .halloween-event-copy { width: 100%; }
    .halloween-event-copy .hero-actions { flex-wrap: wrap; }
}
