/* WinterLab: registered landscape and motion share one panoramic coordinate system. */
body.wl-services-site::before,body:has(header .site-logo.is-winter)::before{display:none!important;content:none!important;background-image:none!important}
#winterlab-mountain-scene{position:fixed;inset:0;z-index:-1;pointer-events:none;user-select:none;overflow:hidden;contain:strict;opacity:.64}
#winterlab-mountain-scene>svg{display:block;position:absolute;bottom:0;left:50%;width:max(100vw,300vh);height:max(100vh,33.333333vw);max-width:none;transform:translateX(-50%);overflow:visible}
#winterlab-mountain-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,249,255,.32),rgba(244,249,255,0) 68%)}
.wl-scene-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin-top:16px;padding:7px 12px;border:1px solid #b9d2e3;border-radius:11px;background:#ffffffd9;color:#315d79;font:inherit;font-size:12px;line-height:1.3;cursor:pointer}
.wl-scene-toggle:focus-visible{outline:3px solid #287dab;outline-offset:3px}
.wl-scene-toggle:hover{background:#fff;border-color:#72a2be}
@media(max-width:640px){#winterlab-mountain-scene>svg{left:72%;transform:translateX(-72%)}}
@media(max-width:640px){#winterlab-mountain-scene{opacity:.48}#winterlab-mountain-scene:after{background:linear-gradient(180deg,rgba(244,249,255,.48),rgba(244,249,255,.08))}}
@media(prefers-reduced-data:reduce),(forced-colors:active),print{#winterlab-mountain-scene{display:none}.wl-scene-toggle{display:none}}

/* Reuse the solar clock's existing daylight/night multiplier. No filters. */
.wl-cabin-interior{opacity:var(--solar-night,0)}
@media print{.wl-cabin-interior{display:none!important}}


/* Sky and festive lighting follow the existing solar gates. */
/* Keep logo pixels unchanged through all 15 light levels. */
html[data-solar-site="bike"] header :is(.bf-site-brand__logo,.site-logo:not(.is-winter)){background:#fff!important;border-radius:10px;isolation:isolate}
html[data-solar-site="bike"] header :is(.bf-site-brand__logo img,.site-logo:not(.is-winter) img){filter:none!important;opacity:1!important;mix-blend-mode:normal!important;image-rendering:auto}
/* The artwork is 30% narrower; countdown labels keep their readable width. */
header .solar-control.rf-theme-toggle{--rf-switch-w:75.6px;--rf-switch-h:43.2px}
@media(max-width:640px){header .solar-control.rf-theme-toggle{--rf-switch-w:57.4px;--rf-switch-h:32.8px}}
.wl-sky-night{opacity:var(--solar-night,0)}
.wl-sky-day{opacity:calc(1 - var(--solar-night,0))}
.wl-cabin-glimmer{opacity:.82}
@media print{.wl-sky-night,.wl-sky-day,[data-festive-program],[data-cable-lanterns]{display:none!important}}

/* Visible, wider groomed piste; lamp hardware stands beyond its uphill edge. */
.wl-piste-surface{opacity:calc(.34 - var(--solar-night,0)*.16)}
#winterlab-mountain-scene .wl-lamp-pole{fill:none;stroke:#78A1B7;stroke-width:2;stroke-linecap:round;opacity:.98}
/* Rental remains a distinct action in the full navigation and mobile menu. */
html[data-solar-site="winter"] header .site-nav a[href="/rent"]{border:1.5px solid #70ACD8!important;border-radius:14px!important;background:#DCEFFA!important;color:#123C5D!important;box-shadow:0 0 0 3px #67ABDA16; padding:9px 14px!important;font-weight:800}
html[data-solar-site="winter"][data-solar-level="14"] header .site-nav a[href="/rent"]{background:#234D70!important;color:#EDF8FF!important;border-color:#90C6ED!important}
html[data-solar-site="winter"] header .site-nav a[href="/rent"]:hover{background:#B6DDF6!important;color:#10314B!important;box-shadow:0 0 0 4px #67ABDA22}
html[data-solar-site="winter"] header .site-nav a[href="/rent"][aria-current="page"]{background:#285EAA!important;color:#fff!important;border-color:#A2D8FF!important}
html[data-solar-site="winter"] header .site-nav a[href="/rent"]:focus-visible{outline:3px solid #B4DDF7;outline-offset:4px}
@media(max-width:640px){html[data-solar-site="winter"] header .site-nav a[href="/rent"]{margin:4px 0;justify-content:center}}

/* Small park structure follows actual night level instead of glowing like snow. */
.wl-ramp-night{opacity:var(--solar-night,0)}

/* The scene is hidden during its synchronous first build. */
body:not(.wl-scene-ready) #winterlab-mountain-scene{visibility:hidden}

/* A small invitation at the real kicker; the 44 px target also works by touch. */
.wl-ramp-target{position:fixed;z-index:0;width:44px;height:44px;min-width:44px;min-height:44px;transform:translate(-50%,-50%);border:0;border-radius:50%;padding:0;margin:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wl-ramp-target:focus-visible{outline:2px solid #a8e8ff;outline-offset:2px}
.wl-ramp-target:disabled{pointer-events:none;cursor:default}
@media(forced-colors:active),(prefers-reduced-data:reduce),print{.wl-ramp-target{display:none}}

/* The snow kicker itself changes brightness and colour; no surrounding disc. */
.wl-interactive-ramp{animation:wl-kicker-wink 2.6s ease-in-out infinite}
.wl-kicker-surface{animation:wl-kicker-face 2.6s ease-in-out infinite}
@keyframes wl-kicker-wink{0%,100%{opacity:.69}43%,64%{opacity:1}}
@keyframes wl-kicker-face{0%,100%{fill:#c6e0ef}43%,64%{fill:#fff}}
body:has(.wl-ramp-target:is(:hover,:focus-visible)) .wl-interactive-ramp{opacity:1!important}
body:has(.wl-ramp-target:is(:hover,:focus-visible)) .wl-kicker-surface{fill:#fff!important}
#winterlab-mountain-scene[data-paused="true"] :is(.wl-interactive-ramp,.wl-kicker-surface){animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.wl-interactive-ramp,.wl-kicker-surface{animation:none;opacity:1}}
