/* Storefront-only selectors leave checkout and account dialogs unchanged. */
@media (hover: hover) and (pointer: fine) {
  body[data-store-season="halloween"] > main,
  body[data-store-season="halloween"] > .site-header,
  body[data-store-season="halloween"] > main :is(a,button,[role="button"]),
  body[data-store-season="halloween"] > .site-header :is(a,button) {
    cursor: url('assets/halloween-pumpkin-arrow.svg') 2 2, pointer;
  }
  body[data-store-season="halloween"] > main :is(input,textarea,[contenteditable="true"]) { cursor: text; }
  body[data-store-season="halloween"] > main select { cursor: pointer; }
  body[data-store-season="halloween"] > main :disabled { cursor: not-allowed; }
}
.hero[data-season="halloween"] ~ .status-band,
.hero[data-season="halloween"] ~ .delivery-availability-banner,
.hero[data-season="halloween"] ~ .quick-paths { display: none; }
body[data-store-season="halloween"] > .site-header {
  background: #25232b;
  border-bottom: 3px solid #ed9b37;
  color: #fff;
}
body[data-store-season="halloween"] > .site-header .brand small,
body[data-store-season="halloween"] > .site-header nav a,
body[data-store-season="halloween"] > .site-header .nav-button { color: #f5e5d2; }
body[data-store-season="halloween"] > .site-header .brand strong { color: #fff; }
body[data-store-season="halloween"] > .site-header .brand::after {
  content: ""; width: 30px; height: 30px; flex: 0 0 30px;
  background: url('assets/halloween-pumpkin.svg') center / contain no-repeat;
}
body[data-store-season="halloween"] #catalogo {
  background-color: #25232b;
  background-image: url('assets/halloween-pattern.svg');
  background-size: 640px 520px;
  border-top: 4px solid #ed9b37;
}
body[data-store-season="halloween"] #catalogo .section-heading,
body[data-store-season="halloween"] #catalogo .catalog-overview,
body[data-store-season="halloween"] #catalogo .product-section-head { color: #fff; }
body[data-store-season="halloween"] #catalogo .section-heading .eyebrow,
body[data-store-season="halloween"] #catalogo .product-section-head span,
body[data-store-season="halloween"] #catalogo .category-subfilter { color: #ffcc86; }
body[data-store-season="halloween"] #catalogo .product-section-head {
  border-bottom: 1px solid #85613c; padding-bottom: 12px;
}
body[data-store-season="halloween"] #catalogo .product-section-head h3::before {
  content: ""; display: inline-block; width: 26px; height: 26px; margin-right: 10px;
  vertical-align: middle; background: url('assets/halloween-pumpkin.svg') center / contain no-repeat;
}
body[data-store-season="halloween"] #catalogo .segmented button.active {
  background: #aa3e16; border-color: #aa3e16; color: #fff;
}
body[data-store-season="halloween"] #catalogo .product-card { border-color: #b98442; background: #fff; }
.hero[data-season="halloween"] > :not(.seasonal-static-image) { display: none; }
.seasonal-static-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 700px) {
  .seasonal-static-image { object-position: 73% center; }
  body[data-store-season="halloween"] > .site-header .brand::after { width:22px; height:22px; flex-basis:22px; }
  body[data-store-season="halloween"] #catalogo { background-size: 480px 390px; }
}
.hero[data-season="halloween"] { outline: 2px solid #d9a438; outline-offset: -2px; }
.hero[data-season="halloween"] .eyebrow { color: #ffcf68; }
.hero[data-season="christmas"] { outline: 2px solid #b6d8c4; outline-offset: -2px; }
.hero[data-season="christmas"] .eyebrow { color: #e4d29b; }
.hero[data-season="halloween"] [data-hero-slide]:first-child .hero-content { max-width: 650px; }
.hero[data-season="halloween"] [data-hero-slide]:first-child::after { background: linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.1)); }
.seasonal-snow { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 2; }
.seasonal-snow span { position: absolute; top: -12px; width: 5px; height: 5px; border-radius: 50%; background: #fff; opacity: .65; animation: vovo-snow 9s linear infinite; }
@keyframes vovo-snow { to { transform: translate(25px,460px); opacity: 0; } }
.seasonal-preview { display:flex; align-items:center; justify-content:center; gap:16px; padding:10px 16px; background:#253e32; color:white; flex-wrap:wrap; }
.seasonal-preview a { color:white; text-decoration:underline; }
.seasonal-form { border-top:1px solid #ddd; padding-top:24px; margin-top:24px; }
.seasonal-form-actions { display:flex; flex-wrap:wrap; gap:12px; }
.seasonal-form label { min-width:0; }
.seasonal-form input, .seasonal-form select { max-width:100%; }
@media (max-width: 700px) {
  .hero[data-season="halloween"] [data-hero-slide]:first-child .hero-image { object-position: 73% center; }
  .hero[data-season="halloween"] [data-hero-slide]:first-child::after { background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.05) 85%); }
  .seasonal-snow span:nth-child(n+7) { display:none; }
}
@media (prefers-reduced-motion: reduce) { .seasonal-snow { display:none; } }

/* Christmas is opt-in through the existing theme preview or admin settings. */
body[data-store-season="christmas"] > .site-header { background:#163e31; border-bottom:3px solid #c49a50; color:#fff; }
body[data-store-season="christmas"] > .site-header :is(.brand strong,.brand small,nav a,.nav-button) { color:#fff; }
body[data-store-season="christmas"] > main { background:#182c29; }
.hero[data-season="christmas"] ~ .status-band,
.hero[data-season="christmas"] ~ .delivery-availability-banner,
.hero[data-season="christmas"] ~ .quick-paths { display:none; }
body[data-store-season="christmas"] #catalogo { background:#182c29 url('assets/christmas-pattern.svg') repeat; border-top:4px solid #ab2937; }
body[data-store-season="christmas"] #catalogo .section-heading h2,
body[data-store-season="christmas"] #catalogo .product-section-head h3,
body[data-store-season="christmas"] #catalogo .catalog-overview { color:#fff; }
body[data-store-season="christmas"] #catalogo .section-heading .eyebrow,
body[data-store-season="christmas"] #catalogo .product-section-head span,
body[data-store-season="christmas"] #catalogo .category-subfilter { color:#f2d392; }
body[data-store-season="christmas"] #catalogo .product-section-head { border-bottom:1px solid #bb9859; padding-bottom:12px; }
body[data-store-season="christmas"] #catalogo .segmented button.active { background:#a52535; border-color:#a52535; color:white; }
body[data-store-season="christmas"] #catalogo .product-card { background:white; border-color:#d2b881; }
.hero[data-season="christmas"] > :not(.christmas-stage) { display:none; }
.christmas-stage { position:absolute; inset:0; overflow:hidden; }
.christmas-banner-image { width:100%; height:100%; object-fit:cover; }
.christmas-banner-copy { position:absolute; inset:0 auto 0 0; width:47%; padding:32px 5%; display:flex; flex-direction:column; justify-content:center; color:white; }
.christmas-banner-copy h1 { font-size:48px; line-height:1.08; margin:12px 0; letter-spacing:0; }
.christmas-message { font-size:18px; line-height:1.5; margin:0; }
.christmas-action { align-self:flex-start; margin-top:16px; }
.christmas-action[hidden] { display:none; }
.christmas-controls { position:absolute; right:20px; bottom:18px; display:flex; align-items:center; gap:6px; padding:4px; background:#163e31; color:white; border:1px solid #c49a50; border-radius:6px; }
.christmas-controls button { width:36px; height:36px; padding:0; font-size:24px; background:transparent; color:white; border:0; cursor:pointer; }
.christmas-controls button:hover,.christmas-controls button:focus-visible { background:#a52535; }
.christmas-controls [data-counter] { min-width:48px; text-align:center; }
.christmas-controls [hidden] { display:none; }
.seasonal-snow-page { position:fixed; z-index:21; pointer-events:none; }
.seasonal-snow-page span { width:24px; height:24px; top:-28px; border-radius:0; background:none; box-shadow:none; color:#fff; font-size:22px; line-height:24px; font-family:Arial,sans-serif; text-shadow:0 1px 3px #163e31; opacity:.8; animation-name:vovo-page-snow; }
@keyframes vovo-page-snow { to { transform:translate(25px,105vh); opacity:0; } }
.seasonal-snow-paused .seasonal-snow-page { display:none; }
body:has(.cart-panel.open) .seasonal-snow-page,
body:has(.customer-page:not([hidden])) .seasonal-snow-page { display:none; }
@media (hover:hover) and (pointer:fine) {
 body[data-store-season="christmas"] > main,
 body[data-store-season="christmas"] > .site-header,
 body[data-store-season="christmas"] > main :is(a,button,[role="button"]),
 body[data-store-season="christmas"] > .site-header :is(a,button) { cursor:url('assets/christmas-santa-arrow.svg') 2 2,pointer; }
 body[data-store-season="christmas"] > main :is(input,textarea,[contenteditable="true"]) { cursor:text; }
 body[data-store-season="christmas"] > main select { cursor:pointer; }
 body[data-store-season="christmas"] > main :disabled { cursor:not-allowed; }
}
@media (max-width:700px) {
 .hero[data-season="christmas"] { min-height:470px; }
 .christmas-banner-image { object-position:78% center; }
 .christmas-banner-copy { inset:auto 0 0; width:100%; padding:52px 20px 70px; background:linear-gradient(transparent,rgba(9,37,26,.94) 38%); }
 .christmas-banner-copy h1 { font-size:30px; margin:8px 0; }
 .christmas-banner-copy .eyebrow { margin:0; }
 .christmas-message { font-size:15px; }
 .christmas-controls { bottom:12px; right:16px; }
}
.christmas-music { display:flex; flex-direction:column; align-items:flex-end; gap:6px; padding:12px 16px; background:#163e31; color:#fff; border-bottom:1px solid #b99b5d; }
.christmas-music audio { width:280px; max-width:100%; height:40px; }
.christmas-music-controls { display:flex; align-items:center; gap:8px; max-width:100%; }
.christmas-music-controls audio { min-width:0; flex:1; }
.christmas-music small { max-width:100%; text-align:right; font-size:12px; line-height:1.5; }
.christmas-music a { color:#fff; text-decoration:underline; }
.christmas-music [data-music-error] { max-width:280px; text-align:right; }
.customer-page-active .christmas-music { display:none; }
@media (max-width:640px) {
  .christmas-music { gap:8px; padding:12px 16px; }
  .christmas-music-controls { width:280px; }
  .christmas-music small { font-size:10px; }
}
@media (max-width:380px) {
  .christmas-music small { font-size:9px; }
}
