/* Scoped presentation layer; no form, price or booking-state selectors. */
html[data-season] .hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 20%,color-mix(in srgb,var(--lime) 15%,transparent),transparent 60%),var(--gcc-season-bg)}
html[data-season] .hero-grid{position:relative;z-index:2}
html[data-season] .site-header{border-bottom-color:var(--lime)}
/* Keep component button colours so dark CTA buttons retain white text in every season. */
.gcc-season-banner{padding:10px 20px;background:var(--lime);color:#101510;text-align:center;font-size:13px;font-weight:700}
.gcc-season-effects{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.gcc-season-effects span{position:absolute;top:-35px;font-size:25px;opacity:.18;color:var(--lime);animation:gcc-season-fall var(--duration) linear infinite;animation-delay:var(--delay)}
@keyframes gcc-season-fall{to{transform:translate(45px,850px) rotate(40deg)}}
html[data-season-motion="off"] .gcc-season-effects{display:none}
.gcc-season-motion{position:relative;z-index:3;display:block;margin:12px 20px 0 auto;min-height:44px;padding:8px 12px;border:1px solid var(--lime);border-radius:8px;background:#101510;color:#fff;font-size:12px}
.gcc-season-motion:focus-visible{outline:3px solid #fff;outline-offset:3px}
html[data-season="pride"] .gcc-season-banner{background:linear-gradient(90deg,#ffacac,#ffd391,#f4e89d,#a8e4b0,#a8cdff,#dab7f6)}
html[data-season="burns-night"] .hero,html[data-season="st-andrews-day"] .hero{background:repeating-linear-gradient(45deg,transparent 0 70px,#ffffff06 70px 77px),var(--gcc-season-bg)}
@media(prefers-reduced-motion:reduce){.gcc-season-effects,.gcc-season-motion{display:none}.gcc-season-effects span{animation:none}}


html[data-season] .service-notice{background:var(--lime);color:#090b09}

