/* Shared theme surfaces; ticket artwork and paper retain their original colours. */
.theme-toggle{position:relative;display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer;font:24px/1 var(--body)}
.theme-toggle:hover{border-color:var(--brand)}
.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.theme-symbol{display:grid;place-items:center;width:24px;height:24px}.theme-symbol .ui-icon{width:24px;height:24px}
.theme-toggle::after{content:attr(data-period-label);position:absolute;z-index:5;right:0;top:calc(100% + 9px);padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 10px 28px rgba(0,0,0,.24);font:750 10px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;translate:0 -3px;pointer-events:none;transition:opacity .16s ease,translate .16s ease}
.theme-toggle:hover::after,.theme-toggle:focus-visible::after{opacity:1;translate:0 0}
.theme-toggle[data-period=morning]{color:#2e587f}.theme-toggle[data-period=evening]{color:#e3ad7f}
html[data-theme=light]{color-scheme:light;--bg:#f5f3ee;--surface:#fffdf9;--surface-2:#eae6df;--text:#202024;--muted:#625f59;--line:rgba(30,27,24,.18);--brand:#c7352c}
html[data-theme=light] .site-header{background:rgba(245,243,238,.92)}
html[data-theme=light] .site-nav a{color:var(--muted)}
html[data-theme=light] .site-nav a:hover,html[data-theme=light] .site-nav a[aria-current=page]{color:var(--text)}
html[data-theme=light] :is(.button,.city-trigger){border-color:var(--line);background:var(--surface)}
html[data-theme=light] .filter-reset.reset-bin{border-color:transparent;background:transparent}
html[data-theme=light] .button.primary{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-theme=light] :is(.site-footer,.city-events,.proof){background:var(--surface-2)}
html[data-theme=light] :is(.footer-made-by strong,.prose h3,.dialog-close,.inline-city,.no-js-notice a:not(.button)){color:var(--text)}
html[data-theme=light] :is(.footer-made-by span,.footer-bottom,.prose,.city-status,.filter-field>span,.filter-field>label,.filter-field output,.listing-locate,.city-group-heading>a,.route-stop time){color:var(--muted)}
html[data-theme=light] :is(.city-dialog,.city-option,.city-detect,.event-filters,.city-group-empty,.empty-state){background:var(--surface);color:var(--text);border-color:var(--line)}
html[data-theme=light] :is(.city-search,.filter-search,.filter-field input,.filter-field select){background:var(--bg);color:var(--text);border-color:var(--line)}
html[data-theme=light] .filter-field input[type=range]{background:transparent}
html[data-theme=light] :is(.city-option:hover,.city-option[aria-pressed=true]){background:var(--surface-2);border-color:var(--brand)}
html[data-theme=light] .filter-bar{background:rgba(245,243,238,.94)}
html[data-theme=light] .city-group-heading{border-color:var(--line)}
html[data-theme=light] .city-group-heading span{color:var(--brand)}
html[data-theme=light] .city-mark{color:var(--text)}
html[data-theme=light] :is(.home-events-listing,.tour-stage,.no-js-notice){background:radial-gradient(circle at 84% 2%,rgba(197,53,44,.07),transparent 35%),var(--bg);border-color:var(--line)}
html[data-theme=light] :is(.home-hero,.program-hero){background:radial-gradient(circle at 70% 38%,color-mix(in srgb,var(--scene) 16%,transparent),transparent 48%),var(--bg)}
html[data-theme=light] :is(.hero-atmosphere,.program-backdrop)::after{background:linear-gradient(90deg,#f5f3ee 0,rgba(245,243,238,.94) 29%,rgba(245,243,238,.3) 65%,#f5f3ee 100%),linear-gradient(0deg,#f5f3ee 2%,transparent 55%)}
html[data-theme=light] :is(.hero-kicker,.hero-side-mark,.hero-side-mark span){color:var(--muted)}
html[data-theme=light] .hero-giant-name{-webkit-text-stroke-color:rgba(30,27,24,.14)}
html[data-theme=light] :is(.hero-subtitle,.transfer-copy h1 em){-webkit-text-stroke-color:var(--muted)}
html[data-theme=light] :is(.main-ticket,.fan-ticket)::before,html[data-theme=light] :is(.main-ticket,.fan-ticket)::after{background:var(--bg)}
html[data-theme=light] .home-scene-curtain{background:var(--bg)}
html[data-theme=light] .home-pagination button{color:rgba(32,32,36,.34)}
html[data-theme=light] .home-pagination button[aria-current=step]{color:var(--brand)}
html[data-theme=light] .intro-scene{background:var(--bg)}
html[data-theme=light] :is(.intro-brand,.intro-skip,.intro-statement,.intro-lock,.intro-list span.is-hot,.intro-rail span.is-active){color:var(--text)}
html[data-theme=light] :is(.intro-list span,.intro-list small,.intro-rail span){color:var(--muted)}
html[data-theme=light] .transfer-page{background:var(--bg);color:var(--text);--transfer-amber:#856030}
html[data-theme=light] :is(.transfer-hero,.transfer-contact){background:radial-gradient(circle at 72% 42%,rgba(197,154,94,.12),transparent 40%),var(--bg)}
html[data-theme=light] :is(.transfer-lead,.transfer-text-link,.transfer-specs dd,.transfer-specs dt,.stage-caption,.vehicle-hint,.scroll-cue,.transfer-contact .shell>div p,.transfer-made-by,.transfer-made-by strong){color:var(--muted)}
html[data-theme=light] :is(.transfer-specs,.transfer-specs div,.vehicle-parts button){border-color:var(--line)}
html[data-theme=light] .vehicle-parts button{color:var(--text);background:var(--surface)}
html[data-theme=light] .vehicle-parts button[aria-pressed=true]{border-color:var(--transfer-amber);background:var(--surface-2)}
html[data-theme=light] .transfer-scene::after{background:linear-gradient(180deg,transparent 15%,rgba(245,243,238,.4))}
html[data-theme=light] .transfer-pagination button{color:var(--muted)}
html[data-theme=light] .transfer-pagination button[aria-current=step]{color:var(--transfer-amber)}
html[data-theme=light] .tickets-page{--stage-black:var(--bg);--ticket-ash:var(--muted);background:radial-gradient(circle at 78% 9%,rgba(197,53,44,.07),transparent 30rem),var(--bg)}
html[data-theme=light] :is(.tickets-hero h1,.account-head h2,.ticket-empty strong,.eyebrow){color:var(--text)}
html[data-theme=light] .dev-badge{color:var(--brand)}
html[data-theme=light] .preview-switcher{background:var(--surface);border-color:var(--line);box-shadow:0 8px 24px rgba(30,27,24,.06)}
html[data-theme=light] :is(.preview-switcher button:hover,.ticket-tabs button:hover){color:var(--text)}
html[data-theme=light] :is(.ticket-tabs button,.ticket-empty){border-color:var(--line)}
@media(min-width:901px) and (max-width:1200px){.site-header .shell{gap:18px}.site-nav{gap:12px}.header-actions .button{padding-inline:10px}}

/* Keep the artist between the headline and ticket in the light hero. */
html[data-theme=light] .hero-atmosphere::after{background:linear-gradient(90deg,#f5f3ee 0,rgba(245,243,238,.94) 24%,rgba(245,243,238,.18) 48%,rgba(245,243,238,.12) 64%,#f5f3ee 94%),linear-gradient(0deg,#f5f3ee 2%,transparent 55%)}

/* Bright white motes over a clearer photograph in the light hero. */
html[data-theme=light] .hero-atmosphere img{mix-blend-mode:normal;opacity:.9;filter:saturate(1.02) contrast(1.06)}
html[data-theme=light] .hero-atmosphere::after{background:linear-gradient(90deg,#f5f3ee 0,rgba(245,243,238,.94) 24%,rgba(245,243,238,.08) 48%,transparent 64%,#f5f3ee 94%),linear-gradient(0deg,#f5f3ee 2%,transparent 40%)}
html[data-theme=light] .hero-atmosphere::before{opacity:.25}
html[data-theme=light] .stage-dust{mix-blend-mode:screen;opacity:.9}
html[data-theme=light] .stage-particle::before{background:#fff;box-shadow:0 0 5px #fff,0 0 13px rgba(255,255,255,.85)}
html[data-theme=light] .stage-dust::before,html[data-theme=light] .stage-dust::after{background-image:radial-gradient(circle,#fff 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,255,255,.95) 0 1px,transparent 2px)}
/* Avoid a shadow halo inside the transparent notches on pale backgrounds. */
html[data-theme=light] .hero-ticket-zone,html[data-theme=light] .intro-ticket-flight{filter:none}
html[data-theme=light] .main-ticket .ticket-peel{filter:none}
html[data-theme=light] .hero-ticket-zone,html[data-theme=light] .intro-ticket-flight{filter:drop-shadow(0 20px 24px rgba(36,27,20,.24))}

/* Time-of-day theme: morning keeps the light layout with an icy blue atmosphere. */
html[data-period=morning]{--bg:#c9dbf2;--surface:#dce8f7;--surface-2:#b9cee8;--text:#172434;--muted:#50657b;--line:rgba(23,36,52,.18);--brand:#cf3f36}
html[data-period=morning] .site-header{background:rgba(201,219,242,.91)}
html[data-period=morning] .filter-bar{background:rgba(201,219,242,.94)}
html[data-period=morning] :is(.home-hero,.program-hero){background:radial-gradient(circle at 70% 38%,color-mix(in srgb,var(--scene) 15%,transparent),transparent 48%),var(--bg)}
html[data-period=morning] :is(.hero-atmosphere,.program-backdrop)::after{background:linear-gradient(90deg,#c9dbf2 0,rgba(201,219,242,.95) 24%,rgba(201,219,242,.08) 48%,transparent 64%,#c9dbf2 94%),linear-gradient(0deg,#c9dbf2 2%,transparent 40%)}
html[data-period=morning] .hero-giant-name{-webkit-text-stroke-color:rgba(23,36,52,.15)}
html[data-period=morning] .hero-subtitle{-webkit-text-stroke-color:#50657b}
html[data-period=morning] .home-pagination button{color:rgba(23,36,52,.35)}
html[data-period=morning] .artist-gradient{background:linear-gradient(160deg,#dce8f7,#c9dbf2 45%,#b9cee8)}
html[data-period=morning] .transfer-scene::after{background:linear-gradient(180deg,transparent 15%,rgba(201,219,242,.42))}

/* Ticket stock remains warm matte paper in every mode, especially on blue morning. */
html[data-period=morning] :is(.main-ticket,.poster-ticket,.main-ticket .ticket-reveal,.main-ticket .ticket-peel-face){--paper:var(--ticket-paper);background-color:var(--ticket-paper)}
html[data-period=morning] .main-ticket::before{background:var(--ticket-paper)!important}
html[data-period=morning] .main-ticket .ticket-footer{background-color:#f8f3e9!important;box-shadow:inset 0 0 0 100px #f8f3e9,0 0 0 12px #f8f3e9!important}

/* Evening is a softer blue graphite; night remains the original near-black theme. */
html[data-period=evening]{--bg:#171a1f;--surface:#20242a;--surface-2:#292e35;--text:#f2f1ed;--muted:#a8adb5;--line:rgba(255,255,255,.13);--brand:#ef4b3f}
html[data-period=evening] .site-header{background:rgba(23,26,31,.88)}
html[data-period=evening] .home-hero{background:radial-gradient(circle at 70% 38%,color-mix(in srgb,var(--scene) 19%,transparent),transparent 34%),radial-gradient(circle at 47% 55%,#33343a 0,#22252b 39%,#15171b 78%)}
html[data-period=evening] .hero-atmosphere::after{background:linear-gradient(90deg,#171a1f 0,rgba(23,26,31,.94) 29%,rgba(23,26,31,.24) 63%,#171a1f 100%),linear-gradient(0deg,#171a1f 2%,transparent 48%,rgba(23,26,31,.3))}
html[data-period=evening] .home-scene-curtain{background:radial-gradient(circle at 50% 12%,rgba(239,75,63,.1),transparent 42%),var(--bg)}
html[data-period=evening] .city-events{background:#1c2025}
html[data-period=evening] .tour-stage{background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--scene) 12%,transparent),transparent 34%),#181b20}
html[data-period=evening] :is(.proof,.site-footer){background:#14171b}
html[data-period=evening] .home-events-listing{background:radial-gradient(circle at 84% 2%,rgba(239,75,63,.08),transparent 25%),#1a1d22}
html[data-period=evening] :is(.event-filters,.city-dialog,.city-option,.city-detect,.city-group-empty,.empty-state){background:var(--surface);border-color:var(--line)}

@media(max-width:620px){.theme-toggle::after{right:auto;left:50%;translate:-50% -3px}.theme-toggle:hover::after,.theme-toggle:focus-visible::after{translate:-50% 0}}
