/* Seasonal layer. Set data-season="off" in master.njk to restore your normal palette. */
.hw-decor,.hw-season-banner { display:none; }
:root[data-season="halloween"] {
  --cl-accent:#ff8a32; --cl-accent-rgb:255,138,50;
  --cl-background-primary:#100d16; --cl-background-primary-rgb:16,13,22;
  --cl-background-secondary:#1b1423; --cl-background-secondary-rgb:27,20,35;
  --cl-border:#493047; --cl-border-rgb:73,48,71;
  --level-text:#fbf4ff; --level-muted:#c0b2c6; --level-on-accent:#1b0c03;
  --bs-primary:#ff8a32; --bs-primary-rgb:255,138,50; --bs-body-bg:#100d16; --bs-body-color:#fbf4ff;
}
html[data-season="halloween"] body { background-image:radial-gradient(ellipse at 100% 10%,#5c2a6b20,transparent 48%),radial-gradient(ellipse at 0 50%,#ff8a3208,transparent 40%); }
html[data-season="halloween"] .flex-wrapper { position:relative; z-index:1; }
html[data-season="halloween"] .hw-decor { display:block; position:fixed; inset:0; pointer-events:none; z-index:3; overflow:hidden; }
html[data-season="halloween"] .hw-web { position:absolute; top:124px; width:clamp(70px,12vw,170px); color:#ceaccd; opacity:.16; }
html[data-season="halloween"] .hw-web-left { left:0; }
html[data-season="halloween"] .hw-web-right { right:0; transform:scaleX(-1); }
html[data-season="halloween"] .hw-bat { position:absolute; color:#c297e6; opacity:.3; width:70px; left:0; top:0; will-change:transform; animation:hw-flight-one 24s linear infinite; }
html[data-season="halloween"] .hw-bat-one { animation-delay:-4s; }
html[data-season="halloween"] .hw-bat-two { width:48px; animation-name:hw-flight-two; animation-duration:31s; animation-delay:-14s; }
html[data-season="halloween"] .hw-pumpkin { position:absolute; left:15px; bottom:20px; width:68px; opacity:.45; filter:drop-shadow(0 0 20px #f9803020); }
html[data-season="halloween"] .hw-season-banner {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; padding:10px 22px;
  color:#ffd2a5; background:linear-gradient(100deg,#24101c,#3a1b20 50%,#26162f); border-bottom:1px solid #ff8a323b;
  text-decoration:none; font-size:11px; line-height:1.5;
}
html[data-season="halloween"] .hw-season-banner strong { color:#ffb575; font-size:10px; letter-spacing:.18em; }
html[data-season="halloween"] .hw-banner-mark { font-size:16px; }
html[data-season="halloween"] .hw-banner-copy { color:#d3bdcc; }
html[data-season="halloween"] .hw-banner-cta { padding-inline-start:15px; margin-inline-start:4px; border-inline-start:1px solid #ffb5753d; color:#ffb575; font-weight:600; }
html[data-season="halloween"] .hw-season-banner:hover .hw-banner-cta { color:#fff3e6; }
html[data-season="halloween"] header.sticky-top { background:#120e18f5; border-bottom-color:#ff8a3229; }
html[data-season="halloween"] .navbar .brand-mark { border-radius:11px 11px 17px 17px; box-shadow:0 0 25px #ff8a3225; }
html[data-season="halloween"] .navbar .nav-link.active { color:#ffad70; }
html[data-season="halloween"] .announcement { background:#ff8a3208; }
html[data-season="halloween"] .hero { position:relative; isolation:isolate; overflow:hidden; background-color:#100d16; background-image:none!important; border-bottom:1px solid #4e3042; }
html[data-season="halloween"] .hero .bg-overlay { background:radial-gradient(ellipse at 90% 10%,#743c7150,transparent 65%),linear-gradient(95deg,#100d16fa 5%,#100d16de 50%,#28162ca1); }
html[data-season="halloween"] .hero::before {
  content:""; position:absolute; z-index:0; pointer-events:none; right:8%; top:10%; width:clamp(160px,21vw,300px); aspect-ratio:1;
  border-radius:50%; opacity:.65; background:radial-gradient(circle at 30% 34%,#b86d4838 0 9%,transparent 9.5%),radial-gradient(circle at 66% 60%,#9c57332e 0 14%,transparent 14.5%),radial-gradient(circle at 39% 76%,#aa60302b 0 6%,transparent 6.5%),radial-gradient(circle at 35% 33%,#ffddaa,#ffa257 52%,#dc613b 82%);
  box-shadow:0 0 100px #fb7c2424,0 0 180px #ad6cd51a;
}
html[data-season="halloween"] .hero > .container { position:relative; z-index:1; }
html[data-season="halloween"] .hero .content h1 { color:#fff2e6; text-shadow:0 3px 40px #0005; }
html[data-season="halloween"] .hero .fake-searchbar { background:#1a1222ed; border-color:#684240; box-shadow:0 12px 45px #0002; }
html[data-season="halloween"] .hero .fake-searchbar svg { fill:#ff8a32; }
html[data-season="halloween"] .btn-primary { --bs-btn-bg:#ff8a32; --bs-btn-border-color:#ff8a32; --bs-btn-color:#1b0c03; --bs-btn-hover-bg:#ffab69; --bs-btn-hover-border-color:#ffab69; --bs-btn-hover-color:#1b0c03; --bs-btn-active-bg:#ef7721; --bs-btn-active-border-color:#ef7721; --bs-btn-active-color:#1b0c03; }
html[data-season="halloween"] .btn-primary:hover { box-shadow:0 5px 25px #ff8a322a; }
html[data-season="halloween"] .product-wrapper [x-data="productForm"] { border-color:#5e343b; background:linear-gradient(155deg,#ff8a3209,transparent 35%),#1b1423; box-shadow:0 20px 65px #0004; }
html[data-season="halloween"] .ugs-product-page .ugs-purchase-panel { top:148px; }
html[data-season="halloween"] .product-tabs { background:#191220; border-color:#443047; }
html[data-season="halloween"] .ugs-panel-eyebrow { color:#c89de8; }
html[data-season="halloween"] .product-wrapper .variants .variant.active { background:#ff8a3210; border-color:#ff8a32; box-shadow:0 0 0 1px #ff8a321c; }
html[data-season="halloween"] .ugs-quantity-preset.is-selected { background:#ff8a32; color:#1b0c03; box-shadow:0 4px 17px #ff8a3233; }
html[data-season="halloween"] .products .card { background:linear-gradient(155deg,#aa6bcd07,transparent 55%),#1b1423; border-color:#493047; }
/* Halloween product glow: keyboard focus receives the same highlight. */
html[data-season="halloween"] .products .card { transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease; }
html[data-season="halloween"] .products .card:focus-visible { outline:2px solid #ffb36b; outline-offset:4px; border-color:#ffad60; box-shadow:0 0 0 1px #ff8a3244,0 0 22px #ff8a3270,0 0 48px #b653d94d; }
@media (hover:hover) and (pointer:fine) {
  html[data-season="halloween"] .products .card:hover { transform:translateY(-4px); border-color:#ffad60; box-shadow:0 12px 28px #0005,0 0 0 1px #ff8a3244,0 0 22px #ff8a3270,0 0 48px #b653d94d; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-season="halloween"] .products .card { transition:none; }
  html[data-season="halloween"] .products .card:hover { transform:none; }
}
html[data-season="halloween"] .ugs-card-action { border-color:#57313b; }
html[data-season="halloween"] .product-img-placeholder { color:#ff8a32!important; }
html[data-season="halloween"] .section-title h1,html[data-season="halloween"] .section-title h2 { text-wrap:balance; }
html[data-season="halloween"] footer.footer { background:linear-gradient(0deg,#21112770,transparent 65%),#130e19; border-top-color:#5c3340; }
@keyframes hw-flight-one {
  0% { transform:translate3d(-12vw,22vh,0) rotate(-12deg); }
  25% { transform:translate3d(22vw,44vh,0) rotate(12deg); }
  50% { transform:translate3d(55vw,18vh,0) rotate(-10deg); }
  75% { transform:translate3d(83vw,55vh,0) rotate(10deg); }
  100% { transform:translate3d(112vw,30vh,0) rotate(-8deg); }
}
@keyframes hw-flight-two {
  0% { transform:translate3d(112vw,74vh,0) rotate(8deg) scaleX(-1); }
  25% { transform:translate3d(75vw,45vh,0) rotate(-12deg) scaleX(-1); }
  50% { transform:translate3d(48vw,78vh,0) rotate(10deg) scaleX(-1); }
  75% { transform:translate3d(16vw,38vh,0) rotate(-8deg) scaleX(-1); }
  100% { transform:translate3d(-12vw,68vh,0) rotate(10deg) scaleX(-1); }
}
@keyframes hw-wingbeat { 0%,100% { transform:scaleY(1); } 50% { transform:scaleY(.65); } }
html[data-season="halloween"] .hw-bat path { transform-origin:center; animation:hw-wingbeat 1.2s ease-in-out infinite; }
@media (max-width:991px) {
  html[data-season="halloween"] .hw-web { top:114px; width:82px; opacity:.12; }
  html[data-season="halloween"] .hw-bat { width:38px; opacity:.2; }
  html[data-season="halloween"] .hw-pumpkin { display:none; }
  html[data-season="halloween"] .ugs-product-page .ugs-purchase-panel { position:static; }
  html[data-season="halloween"] .hero::before { right:-35px; top:30px; opacity:.28; width:180px; }
}
@media (max-width:575px) {
  html[data-season="halloween"] .hw-season-banner { gap:9px; padding:9px 12px; }
  html[data-season="halloween"] .hw-banner-copy { display:none; }
  html[data-season="halloween"] .hw-banner-cta { padding-inline-start:10px; font-size:10px; }
  html[data-season="halloween"] .hw-season-banner strong { letter-spacing:.1em; font-size:9px; }
}
@media (prefers-reduced-motion:reduce) { html[data-season="halloween"] .hw-bat { display:none; animation:none; } html[data-season="halloween"] .hw-bat path { animation:none; } }
html[data-season="halloween"] .hw-season-banner { width:100%; cursor:pointer; border:0; border-bottom:1px solid #ff8a323b; border-radius:0; font-family:inherit; }
html[data-season="halloween"] .hw-banner-code { color:#f5d7bf; font-size:11px; }
html[data-season="halloween"] .hw-banner-code strong { font-size:12px; letter-spacing:.03em; color:#fff0df; text-transform:none; }
.hw-promo { width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; margin:auto; padding:34px; border:1px solid #a45a3a; border-radius:24px; color:#fff0e4; background:radial-gradient(ellipse at 50% 0,#ff8a321a,transparent 60%),linear-gradient(145deg,#25172d,#160f1b); box-shadow:0 30px 100px #0009,0 0 65px #ff8a3214; text-align:center; }
.hw-promo::backdrop { background:#08050db8; backdrop-filter:blur(6px); }
.hw-promo-close { position:absolute; top:10px; right:12px; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:transparent; color:#d8bed4; font-size:28px; line-height:1; cursor:pointer; }
.hw-promo-close:hover { background:#ffffff0b; color:#fff; }
.hw-promo-icon { margin:2px 0 15px; }
.hw-promo-eyebrow { margin:0 0 14px; font-size:10px; letter-spacing:.22em; color:#ffb579; font-weight:600; }
.hw-promo h2 { color:#fff1e5; margin:0 0 18px; font-size:clamp(48px,12vw,66px); line-height:1; font-weight:750; letter-spacing:-.06em; }
.hw-promo h2 span { color:#ff9a4b; }
.hw-promo #hw-promo-description { font-size:14px; line-height:1.8; color:#d0bfcf; margin:0 0 25px; }
.hw-promo-code-row { display:flex; gap:12px; align-items:center; justify-content:space-between; border:1px dashed #a66a42; border-radius:12px; padding:12px; background:#0f0a1480; }
.hw-promo-code-row code { color:#ffe1bb; font-size:18px; font-weight:600; padding-inline:6px; letter-spacing:.04em; }
.hw-copy-button { padding:11px 15px; min-height:44px; border:0; border-radius:8px; background:#ff963f; color:#1b0c03; font-size:12px; font-weight:700; white-space:nowrap; cursor:pointer; }
.hw-copy-button:hover { background:#ffb06e; }
.hw-copy-button:disabled { cursor:wait; opacity:.7; }
.hw-copy-status { min-height:20px; margin:10px 0 14px; font-size:12px; color:#dfc9da; line-height:1.6; }
.hw-promo-shop { display:flex; align-items:center; justify-content:center; gap:16px; min-height:48px; border-radius:10px; background:#ff8a32; color:#1b0c03; text-decoration:none; font-size:14px; font-weight:700; }
.hw-promo-shop:hover { color:#1b0c03; background:#ffab69; }
.hw-promo-dismiss { background:transparent; color:#cbb8c9; border:0; font-size:12px; min-height:44px; margin-top:10px; padding:8px 14px; cursor:pointer; }
.hw-promo-dismiss:hover { color:#fff; }
.hw-promo :focus-visible { outline:2px solid #ffb579; outline-offset:4px; }
@media (max-width:420px) { .hw-promo { padding:30px 22px 22px; }.hw-promo-code-row { gap:8px; padding:10px; }.hw-promo-code-row code { font-size:16px; padding-inline:0; }.hw-copy-button { padding:11px 12px; } }

/* Stronger Halloween atmosphere. */
html[data-season="halloween"] body { background-image:radial-gradient(ellipse at 95% 12%,#8b36b538,transparent 52%),radial-gradient(ellipse at 0 55%,#ff751a22,transparent 48%); }
html[data-season="halloween"] .hw-web { width:clamp(95px,16vw,215px); opacity:.3; filter:drop-shadow(0 0 8px #c487e655); }
html[data-season="halloween"] .hw-bat { color:#d7b1f5; opacity:.55; filter:drop-shadow(0 0 8px #9d4edd66); }
html[data-season="halloween"] .hw-pumpkin { width:86px; opacity:.8; filter:drop-shadow(0 0 24px #ff791a66); }
html[data-season="halloween"] .hero .bg-overlay { background:radial-gradient(ellipse at 88% 18%,#8c3b9266,transparent 60%),linear-gradient(95deg,#100d16f5 5%,#1f1026cb 52%,#381a3c88); }
html[data-season="halloween"] .hero::before { opacity:.9; box-shadow:0 0 70px #fb7c2455,0 0 160px #ad6cd544; }
html[data-season="halloween"] .hero::after { content:""; position:absolute; inset:55% -10% -25%; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 20% 80%,#b464d52b,transparent 55%),radial-gradient(ellipse at 85% 90%,#ff8a3222,transparent 60%); filter:blur(18px); }
html[data-season="halloween"] .hero .content h1 { text-shadow:0 0 30px #ff8a3244,0 4px 24px #0008; }
html[data-season="halloween"] .hw-season-banner { background:linear-gradient(100deg,#42152b,#6a291c 50%,#3d2052); border-bottom-color:#ff9c5266; box-shadow:0 4px 24px #ff782522; }
html[data-season="halloween"] .products .card { background:linear-gradient(145deg,#ff8a3215,transparent 42%,#a652cb16),#1b1423; border-color:#86503f; box-shadow:0 5px 22px #0003,0 0 14px #ff8a320d; }
html[data-season="halloween"] .section-title h1,html[data-season="halloween"] .section-title h2 { color:#ffbc87; text-shadow:0 0 24px #ff8a3222; }
html[data-season="halloween"] footer.footer { background:radial-gradient(ellipse at 50% 100%,#732c6038,transparent 70%),#160f1c; border-top-color:#ad623c; }
@media (max-width:991px) {
  html[data-season="halloween"] .hw-web { width:94px; opacity:.22; }
  html[data-season="halloween"] .hw-bat { width:40px; opacity:.35; }
  html[data-season="halloween"] .hero::before { opacity:.45; }
}


/* Clickable seasonal controls. */
html[data-season="halloween"] .hw-pumpkin-control { position:fixed; left:15px; bottom:20px; z-index:1040; width:76px; height:80px; padding:0; border:0; background:transparent; cursor:pointer; }
html[data-season="halloween"] .hw-pumpkin-control .hw-pumpkin { display:block; position:static; width:100%; height:100%; opacity:.9; transform-origin:50% 55%; transition:transform .65s cubic-bezier(.2,.8,.3,1); filter:drop-shadow(0 0 18px #ff791a66); }
html[data-season="halloween"] .hw-back-top { position:fixed; right:20px; bottom:24px; z-index:1040; width:48px; height:48px; border:1px solid #ffad60; border-radius:50%; background:#25152e; color:#ffba79; box-shadow:0 0 18px #ff8a3233; font-size:26px; cursor:pointer; }
html[data-season="halloween"] .hw-back-top[hidden] { display:none; }
html[data-season="halloween"] :is(.hw-back-top,.hw-pumpkin-control):focus-visible { outline:3px solid #d7b0ff; outline-offset:4px; }
@media(max-width:575px) { html[data-season="halloween"] .hw-pumpkin-control { left:10px; bottom:14px; width:54px; height:60px; } html[data-season="halloween"] .hw-back-top { right:14px; bottom:18px; } }
@media(prefers-reduced-motion:reduce) { html[data-season="halloween"] .hw-pumpkin-control .hw-pumpkin { transition-duration:.01ms; } }
