.christmas-ambience .site-header{padding-bottom:108px;border-bottom:0;background:linear-gradient(var(--color-surface),var(--color-surface)) top/100% calc(100% - 68px) no-repeat var(--color-background)}
.christmas-ambience .site-footer{position:relative;padding-top:116px}
.christmas-garland{position:absolute;inset:auto 0 0;display:flex;justify-content:space-around;align-items:flex-start;height:88px;overflow:hidden;pointer-events:none;user-select:none;background:radial-gradient(ellipse at 50% 0,#31524c66,transparent 75%),linear-gradient(180deg,#102d34,#071c2a);border-top:1px solid #c6a24a77;border-bottom:1px solid #c6a24a88;box-shadow:inset 0 -12px 22px #020f1b66}
.site-footer>.christmas-garland{inset:0 0 auto}
.christmas-garland:before{position:absolute;z-index:1;inset:0;background-image:url('christmas-fir-realistic-r1.webp');background-size:486px 162px;background-repeat:repeat-x;content:'';pointer-events:none}
.christmas-garland{height:108px;background:#061824;border:0;box-shadow:none}
.site-footer>.christmas-garland{background:transparent}
.site-footer>.christmas-garland:before{mask-image:linear-gradient(to bottom,#000 40%,#000c 62%,transparent 100%)}
.christmas-ambience.template-index:has(.seasonal-banner) .site-header{padding-bottom:68px;background:linear-gradient(var(--color-surface),var(--color-surface)) top/100% calc(100% - 68px) no-repeat #061824}
.christmas-ambience .site-header>.christmas-garland{bottom:-40px;background:transparent}
.christmas-ambience .site-header>.christmas-garland:before{mask-image:linear-gradient(to bottom,#000 40%,#000c 62%,transparent 100%)}
.christmas-ambience:not(.template-index) .site-header>.christmas-garland:before{mask-image:linear-gradient(to bottom,#000 52%,#000e 60%,#000a 66%,#0005 72%,#0001 78%,transparent 82%)}
.christmas-ambience.template-index .seasonal-banner:before{position:absolute;z-index:-2;inset:0 0 auto;height:90px;background:linear-gradient(#061824,transparent);content:'';pointer-events:none}
@media(max-width:749px){.christmas-ambience .site-header{background-size:100% calc(100% - 54px)}.christmas-ambience .site-header>.christmas-garland{bottom:-32px}.christmas-ambience.template-index:has(.seasonal-banner) .site-header{padding-bottom:54px}}
.christmas-cord{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}
.christmas-cord path{fill:none;stroke:#746237;stroke-width:1.2;filter:drop-shadow(0 1px 1px #0008)}
.christmas-garland i{position:relative;z-index:1;display:block;flex:0 0 9px;width:9px;height:15px;margin-top:var(--drop);border:1px solid #ffe4a5;border-radius:40% 40% 50% 50%;background:radial-gradient(ellipse at 40% 35%,#fffef1 10%,#ffe59b 40%,#efad3b 100%);box-shadow:0 0 9px 3px #ffd26b99,0 0 24px 7px #efb54555;opacity:.92;transform:rotate(var(--tilt))}
.christmas-garland i{z-index:3;border-color:#fff0be99;box-shadow:0 0 6px 2px #ffc96c88,0 0 18px 5px #efb54544}
.christmas-garland i:before{position:absolute;bottom:100%;left:1px;width:5px;height:7px;border-radius:2px 2px 0 0;background:repeating-linear-gradient(0deg,#253c2d 0 2px,#536449 2px 3px);box-shadow:1px 0 2px #0009;content:''}
.christmas-bauble{position:absolute;z-index:2;top:48px;left:var(--position);width:23px;height:26px;border:1px solid #e5c680;border-radius:48%;background:radial-gradient(circle at 30% 24%,#fff3ce 0 5%,#e8c574 17%,#bd812c 52%,#72511c 85%);box-shadow:inset -3px -4px 6px #39270755,0 3px 9px #0007;transform-origin:50% -24px;transform:rotate(var(--tilt))}
.christmas-bauble{z-index:4;top:var(--hang);width:var(--ball-size);height:var(--ball-size);border-radius:50%;border-color:#d9ba7866;background:radial-gradient(ellipse at 29% 22%,#fff9df 0 3%,#fff0c5b3 5%,transparent 20%),radial-gradient(ellipse at 40% 115%,#957940,transparent 55%),linear-gradient(125deg,#664b22 0%,#c69c4e 24%,#f2d696 39%,#ad7935 56%,#443722 76%,#b28843 95%);box-shadow:inset -2px -3px 5px #211a1455,1px 4px 6px #0008}
.christmas-bauble:before{position:absolute;bottom:100%;left:50%;width:1px;height:29px;background:#ad925b;box-shadow:1px 0 1px #0006;content:''}
.christmas-bauble:after{position:absolute;left:20%;top:14%;width:26%;height:12%;border:0;border-radius:50%;background:#fff7df80;filter:blur(.6px);transform:rotate(-36deg);content:''}
.christmas-bauble-cap{position:absolute;bottom:calc(100% - 1px);left:calc(50% - 4px);width:8px;height:5px;border:1px solid #baa36c;border-radius:2px 2px 0 0;background:repeating-linear-gradient(90deg,#6d6043 0 1px,#c7b37d 1px 2px);box-shadow:0 1px 2px #0006}
.christmas-bauble--red{border-color:#b6524755;background:radial-gradient(ellipse at 29% 22%,#ffe1c1 0 2%,#ffd5b377 5%,transparent 22%),radial-gradient(circle at 34% 30%,#c9523a,#8a2426 50%,#38171d 83%,#7b352d 100%)}
.christmas-ambience.has-motion .christmas-garland.christmas-awake .christmas-bauble{animation:christmas-sway var(--duration) ease-in-out var(--delay) infinite alternate}
.christmas-ambience.has-motion .christmas-garland.christmas-awake i{animation:christmas-lamp var(--duration) ease-in-out var(--delay) infinite alternate}
.christmas-margins{position:fixed;inset:0;z-index:19;pointer-events:none;overflow:hidden;user-select:none}
.christmas-margin{position:absolute;top:0;bottom:0;width:clamp(8px,calc((100vw - var(--page-width)) / 2 - 24px),64px);overflow:hidden}
.christmas-margin:first-child{left:0}.christmas-margin:last-child{right:0}
.christmas-flake{position:absolute;top:-20px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#e2c988;box-shadow:0 0 4px #fff4cf;opacity:0}
.has-motion .christmas-flake{animation:christmas-drift var(--duration) linear var(--delay) infinite}
.christmas-heading{position:relative}
.christmas-heading-star{position:absolute;top:-14px;left:0;color:var(--color-gold);font-size:12px;line-height:1;opacity:.65;pointer-events:none}
.has-motion .christmas-heading-star.christmas-reveal{animation:christmas-star 1.8s ease-out both}
.christmas-ambience.has-motion .button{position:relative;overflow:hidden}
.christmas-ambience.has-motion .button:after{position:absolute;inset:-30% -60%;background:linear-gradient(110deg,transparent 40%,#fff5d955 50%,transparent 60%);content:'';pointer-events:none;opacity:0;transform:translateX(-65%)}
.christmas-ambience.has-motion .button:focus-visible:after{animation:christmas-sheen .85s ease-out}
.christmas-ambience.has-motion .button:active{transform:scale(.98)}
@media(hover:hover) and (pointer:fine){
 .christmas-ambience.has-motion .button:hover:after{animation:christmas-sheen .85s ease-out}
 .christmas-ambience.has-motion .product-card{transition:transform .3s ease,box-shadow .3s ease}
 .christmas-ambience.has-motion .product-card:hover{transform:translateY(-3px);box-shadow:0 9px 25px #94712824,0 0 0 1px #c7a24a66}
}
.christmas-burst-anchor{position:relative}
.christmas-spark{position:absolute;z-index:5;left:50%;top:50%;color:#e9c977;font-size:var(--spark-size);line-height:1;pointer-events:none;user-select:none;opacity:0;animation:christmas-burst .9s ease-out forwards}
.christmas-cart-bounce{animation:christmas-cart .65s ease-out}
.christmas-paused .christmas-garland i,.christmas-paused .christmas-bauble,.christmas-paused .christmas-flake{animation-play-state:paused!important}
body:has(dialog[open]) .christmas-margins{visibility:hidden}
@keyframes christmas-lamp{0%,18%{opacity:.88;box-shadow:0 0 6px 2px #ffc96788,0 0 16px 4px #eeb34533}64%,100%{opacity:1;box-shadow:0 0 9px 3px #ffe7aabb,0 0 24px 7px #eeb34555}}
@keyframes christmas-sway{from{transform:rotate(-1.7deg)}to{transform:rotate(1.7deg)}}
@keyframes christmas-drift{0%{opacity:0;transform:translate(0,-20px)}10%{opacity:.45}35%{transform:translate(9px,35vh)}65%{transform:translate(-7px,65vh)}90%{opacity:.35}100%{opacity:0;transform:translate(4px,105vh)}}
@keyframes christmas-star{0%{opacity:.15;transform:scale(.6) rotate(-35deg)}40%{opacity:1;transform:scale(1.3) rotate(15deg);text-shadow:0 0 12px #d9b85f}100%{opacity:.65;transform:scale(1) rotate(0)}}
@keyframes christmas-sheen{0%{opacity:0;transform:translateX(-65%)}25%{opacity:1}100%{opacity:0;transform:translateX(65%)}}
@keyframes christmas-burst{10%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.35)}}
@keyframes christmas-cart{0%,100%{transform:scale(1)}35%{transform:scale(1.12)}65%{transform:scale(.97)}}
@media(max-width:749px){.christmas-margins{display:none}.christmas-ambience .site-header{padding-bottom:86px}.christmas-ambience .site-footer{padding-top:94px}.christmas-garland{height:86px;background-position:center}.christmas-garland:before{background-size:387px 129px}.christmas-garland i{flex-basis:8px;width:8px;height:13px;margin-top:calc(var(--drop) * .8)}.christmas-bauble{top:calc(var(--hang) * .8);width:calc(var(--ball-size) * .85);height:calc(var(--ball-size) * .85)}.christmas-bauble:before{height:23px}}
@media(prefers-reduced-motion:reduce){
 .christmas-ambience .christmas-garland i,.christmas-ambience .christmas-bauble,.christmas-ambience .christmas-flake,.christmas-ambience .christmas-heading-star,.christmas-ambience .christmas-spark,.christmas-ambience .christmas-cart-bounce,.christmas-ambience .button:after{animation:none!important}
 .christmas-ambience .christmas-margins,.christmas-ambience .christmas-spark,.christmas-ambience .button:after{display:none}
 .christmas-ambience.has-motion .product-card:hover,.christmas-ambience.has-motion .button:active{transform:none}
 .christmas-ambience.has-motion .product-card{transition:none}
}
