/* Decoration is scoped to the product homepage; merchandise and checkout stay readable. */
body[data-storefront-theme=halloween]{--season-ink:#352443;--season-accent:#9b4618;--season-glow:#f5be77;--season-paper:#fcf6ee;--season-soft:#f1e4d5;background:#fcf6ee}
body[data-storefront-theme=christmas]{--season-ink:#133f35;--season-accent:#8f2638;--season-glow:#f1d38e;--season-paper:#f3f7f2;--season-soft:#dfece3;background:#f3f7f2}
body[data-storefront-theme=july4]{--season-ink:#183558;--season-accent:#a72c3a;--season-glow:#d8e8ff;--season-paper:#f3f6fc;--season-soft:#e2e9f6;background:#f3f6fc}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .topline{background:var(--season-ink);color:#fff}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .topline span{color:#fff}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero{position:relative;background:var(--season-paper);border:1px solid var(--season-soft);border-radius:24px;overflow:hidden;isolation:isolate}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero-copy{background:radial-gradient(ellipse at 0 0,var(--season-soft),transparent 80%);position:relative;z-index:2}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero h1{color:var(--season-ink)}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero h1 span,body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero .eyebrow{color:var(--season-accent)}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero-copy>p:not(.eyebrow){color:#505c60}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero .primary{background:var(--season-ink);color:white;box-shadow:0 8px 22px #18253518}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero .primary:hover{background:var(--season-accent)}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero-image{background:var(--season-ink);min-height:490px;overflow:hidden}
body[data-storefront-theme]:not([data-storefront-theme=standard]) #hero-product{width:100%;height:430px;max-width:none;object-fit:contain;mix-blend-mode:normal;transform:none;filter:none;margin:-25px 0 0;opacity:1}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .image-label{color:var(--season-glow);z-index:2;font-size:10px;letter-spacing:1.6px;top:24px}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .project-contact{background:#fff!important;color:#24303b!important;border:1px solid #ffffff90;z-index:2;bottom:64px!important;left:24px;right:24px;padding:16px;border-radius:14px}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .project-contact small,body[data-storefront-theme]:not([data-storefront-theme=standard]) .project-contact p{color:#52616b!important}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .project-contact strong{color:var(--season-ink)!important}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .catalog-heading h2 span{color:var(--season-accent)}
body[data-storefront-theme]:not([data-storefront-theme=standard]) #grid .card{border-color:var(--season-soft);box-shadow:0 5px 18px #15233306;background:white}
body[data-storefront-theme]:not([data-storefront-theme=standard]) .catalog-heading{border-bottom:1px solid var(--season-soft);padding-bottom:24px}
.seasonal-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;color:var(--season-glow)}
.seasonal-particles span{position:absolute;left:calc(var(--i)*8% + 3%);top:-24px;font-size:calc(10px + var(--i)*1px);opacity:0;animation:seasonal-drift 9s linear infinite;animation-delay:calc(var(--i)*-.8s)}
@keyframes seasonal-drift{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}12%{opacity:.65}85%{opacity:.35}100%{transform:translate3d(20px,500px,0) rotate(85deg);opacity:0}}
.seasonal-motion{position:absolute;right:24px;bottom:10px;z-index:3;background:transparent;border:1px solid #ffffff60;color:#fff;font-family:inherit;font-size:11px;font-weight:500;border-radius:20px;padding:6px 12px;cursor:pointer}
.seasonal-motion:hover{background:#ffffff15}.seasonal-motion:focus-visible{outline:3px solid white;outline-offset:2px}
body.seasonal-paused .seasonal-particles span{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.seasonal-particles span{animation:none;opacity:.45;top:calc(var(--i)*6%)}.seasonal-motion{display:none}}
@media(max-width:700px){body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero{border-radius:18px}body[data-storefront-theme]:not([data-storefront-theme=standard]) .hero-image{min-height:400px}body[data-storefront-theme]:not([data-storefront-theme=standard]) #hero-product{height:330px;margin-top:-45px}body[data-storefront-theme]:not([data-storefront-theme=standard]) .project-contact{left:14px;right:14px;bottom:64px!important;padding:14px}body[data-storefront-theme]:not([data-storefront-theme=standard]) .image-label{left:20px;font-size:9px}.seasonal-motion{right:18px}}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .hero .hero-image.hero-project .image-caption.project-contact{bottom:64px!important}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .hero .hero-image.hero-project{padding-bottom:64px!important}
/* Shared seasonal framing for Products, Contact and Order status. */
body[data-storefront-theme=halloween]{--season-art:url('../images/themes/halloween.svg')}
body[data-storefront-theme=christmas]{--season-art:url('../images/themes/christmas.svg')}
body[data-storefront-theme=july4]{--season-art:url('../images/themes/july4.svg')}
.seasonal-edges{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.seasonal-edge{position:absolute;top:0;bottom:0;width:38px;background:linear-gradient(90deg,var(--season-soft),transparent)}
.seasonal-edge-left{left:0}.seasonal-edge-right{right:0;transform:scaleX(-1)}
.seasonal-edge span{position:absolute;left:9px;top:calc(14% + var(--edge-i)*14%);font-size:19px;color:var(--season-accent);opacity:.3;animation:seasonal-sway 7s ease-in-out infinite alternate;animation-delay:calc(var(--edge-i)*-.9s)}
@keyframes seasonal-sway{from{transform:translateY(-7px) rotate(-15deg)}to{transform:translateY(9px) rotate(15deg)}}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard])>header{border-bottom:2px solid var(--season-soft)}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard])>header nav a.active{color:var(--season-accent);border-color:var(--season-accent)}
.seasonal-page-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;width:min(1160px,90%);margin:26px auto 0;padding:14px 28px;border:1px solid var(--season-soft);border-radius:20px;background:var(--season-ink);color:#fff;overflow:hidden;position:relative;flex-shrink:0}
.seasonal-page-banner p{margin:0 0 6px;font-size:15px;font-weight:700;letter-spacing:.3px}.seasonal-page-banner span{font-size:12px;color:var(--season-glow)}
.seasonal-page-banner img{width:160px;height:105px;object-fit:contain;animation:seasonal-welcome 1s ease-out both}
@keyframes seasonal-welcome{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .contact-intro h1,body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .order-status-page h1{color:var(--season-ink)}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .contact-intro h1 em,body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .order-status-page h1 span{color:var(--season-accent)}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .contact-card,body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) #status-lookup{border:1px solid var(--season-soft);border-top:4px solid var(--season-accent);box-shadow:0 14px 40px #15233309;background:#fff}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .contact-page .primary,body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .order-status-page .primary{background:var(--season-ink);color:white}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) .status-hero-icon{background:var(--season-soft);color:var(--season-ink);animation:seasonal-float 5s ease-in-out infinite}
@keyframes seasonal-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard])>footer.site-footer{background:linear-gradient(110deg,#fff 30%,var(--season-paper) 80%,var(--season-soft));border-top:3px solid var(--season-accent);box-shadow:0 -8px 30px #1722350c;overflow:hidden}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard])>footer.site-footer::after{content:'';position:absolute;right:15%;top:0;width:180px;height:100%;background:var(--season-art) center/contain no-repeat;opacity:.08;pointer-events:none;z-index:-1;animation:seasonal-float 7s ease-in-out infinite}
.seasonal-footer-note{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--season-ink);font-size:12px;font-weight:600;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--season-soft)}
.seasonal-footer-motion{position:static;flex-shrink:0;background:white;color:var(--season-ink);border-color:var(--season-ink);padding:6px 10px}
.seasonal-footer-motion:hover{background:var(--season-soft)}.seasonal-footer-motion:focus-visible{outline-color:var(--season-accent)}
body.seasonal-paused .seasonal-edge span,body.seasonal-paused .seasonal-page-banner img,body.seasonal-paused .status-hero-icon,body.seasonal-paused>footer.site-footer::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.seasonal-edge span,.seasonal-page-banner img,body[data-storefront-theme] .status-hero-icon,body[data-storefront-theme]>footer.site-footer::after{animation:none!important}.seasonal-motion{display:none!important}}
@media(max-width:700px){.seasonal-edge{width:10px}.seasonal-edge span{left:0;font-size:10px;opacity:.18}.seasonal-page-banner{width:calc(100% - 32px);padding:12px 16px;gap:8px;margin-top:18px}.seasonal-page-banner img{width:100px;height:80px}.seasonal-page-banner p{font-size:13px}.seasonal-page-banner span{font-size:11px}.seasonal-footer-note{font-size:10px;gap:8px}.seasonal-footer-motion{font-size:10px}body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard])>footer.site-footer{padding-top:12px;padding-bottom:12px}}
body.seasonal-paused .seasonal-page-banner img{animation:none!important;opacity:1;transform:none}

body[data-storefront-theme=thanksgiving]{--season-ink:#503224;--season-accent:#99532e;--season-glow:#f6d89d;--season-paper:#fbf6ec;--season-soft:#ebdcc5;--season-art:url('../images/themes/thanksgiving.svg');background:#fbf6ec}
body[data-storefront-theme=thanksgiving] .seasonal-particles span{font-size:18px;animation-duration:12s}

/* The docked catalog heading is transparent over the product grid. */
body.store-theme[data-storefront-theme] #catalogo.catalog-search-docked .catalog-heading{border-bottom-color:transparent}
/* Sticky catalog surfaces share the active seasonal background. */
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) #catalogo{--catalog-surface:var(--season-paper)}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) #catalogo .catalog-heading h2{color:var(--season-ink)}
body.store-theme[data-storefront-theme]:not([data-storefront-theme=standard]) #catalogo .catalog-heading .eyebrow{color:var(--season-accent)}
