.site-header:has(>[data-site-promotion]),body.sovereign-obsidiana .site-header:has(>[data-site-promotion]){height:auto;min-height:0;display:flex;flex-direction:column;overflow:visible;--promotion-nav-height:76px}
body.sovereign-obsidiana .site-header:has(>[data-site-promotion]){--promotion-nav-height:82px}
.site-header:has(>[data-site-promotion])>.shell,body.sovereign-obsidiana .site-header:has(>[data-site-promotion])>.shell{height:var(--promotion-nav-height);min-height:var(--promotion-nav-height);flex:0 0 auto;box-sizing:border-box}
.site-header>[data-site-promotion]{width:100%;flex:0 0 auto;box-sizing:border-box}
.site-promotion{position:relative;isolation:isolate;overflow:hidden;background:var(--promotion-bg);background-size:cover;background-position:center;color:var(--promotion-text);border-block:1px solid #ffffff20;min-width:0}
.site-promotion[hidden]{display:none!important}
.promotion-inner{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;max-width:1440px;min-height:48px;margin:auto;padding:9px 48px;box-sizing:border-box}
.promotion-message{margin:0;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere;text-align:center;white-space:pre-line}
.promotion-countdown{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 8px;flex-shrink:0;padding:6px 10px;border:1px solid #ffffff30;border-radius:7px;background:#00000038;line-height:1.3}
.promotion-countdown span{font-size:11px}
.promotion-countdown strong{font-size:13px;letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.promotion-cta,.promotion-coupon{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;text-decoration:none;border-radius:7px;font:inherit;font-size:12px;font-weight:750;line-height:1.3;padding:7px 12px;cursor:pointer}
.site-promotion .promotion-cta{background:var(--promotion-button);color:var(--promotion-button-text);border:1px solid transparent}
.promotion-coupon{color:inherit;background:#00000020;border:1px dashed currentColor;max-width:100%;overflow-wrap:anywhere}
.promotion-coupon span{min-width:0;word-break:break-word}
.promotion-coupon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.promotion-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:#00000020;color:inherit;font-size:22px;cursor:pointer}
.site-promotion :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.promotion-status:empty{display:none}
.promotion-status{font-size:12px}
.promotion-effects{position:absolute;inset:0;pointer-events:none;opacity:var(--promotion-effect-opacity,1);overflow:hidden}
.promotion-effect-layer{position:absolute;inset:0;pointer-events:none}
.promotion-effect-shine{background:linear-gradient(110deg,transparent 20%,#ffffff44 45%,transparent 70%);width:45%;animation:promotion-shine calc(8s * var(--promotion-effect-speed,1)) ease-in-out infinite}
.promotion-effect-glow{background:radial-gradient(ellipse at 30% 50%,#ffffff55,transparent 65%);animation:promotion-glow calc(5s * var(--promotion-effect-speed,1)) ease-in-out infinite alternate}
.promotion-effect-sparkles{background-image:radial-gradient(circle,#ffffffaa 1px,transparent 2px),radial-gradient(circle,#ffffff66 1px,transparent 2px);background-size:125px 39px,195px 49px;background-position:15px 5px,70px 23px;animation:promotion-sparkles calc(12s * var(--promotion-effect-speed,1)) linear infinite}
.promotion-effect-aurora{inset:-100% -20%;background:radial-gradient(ellipse at 25% 55%,#8c5bff70,transparent 48%),radial-gradient(ellipse at 75% 45%,#33dbc360,transparent 48%);animation:promotion-aurora calc(12s * var(--promotion-effect-speed,1)) ease-in-out infinite alternate}
.promotion-effect-confetti{inset:-60px 0;background-image:radial-gradient(ellipse 2px 4px at 12px 18px,#f1c75cdd 90%,transparent),radial-gradient(ellipse 3px 2px at 48px 39px,#aa85f2dd 90%,transparent),radial-gradient(ellipse 2px 3px at 82px 14px,#6ee0d8dd 90%,transparent),radial-gradient(ellipse 3px 2px at 135px 50px,#f29bafcc 90%,transparent);background-size:110px 75px,175px 105px,210px 85px,265px 125px;animation:promotion-confetti calc(9s * var(--promotion-effect-speed,1)) linear infinite}
.promotion-effect-waves{inset:-100% -20%;background:repeating-radial-gradient(ellipse at 50% 120%,transparent 0 24px,#ffffff20 25px 27px,transparent 28px 51px);animation:promotion-waves calc(10s * var(--promotion-effect-speed,1)) ease-in-out infinite alternate}
.promotion-effect-neon{box-shadow:inset 0 2px 8px #a980ffb0,inset 0 -2px 8px #5ce3d599;animation:promotion-neon calc(4s * var(--promotion-effect-speed,1)) ease-in-out infinite alternate}
.promotion-effect-snow{inset:-80px 0;background-image:radial-gradient(circle,#fff 2px,transparent 3px),radial-gradient(circle,#ffffffbb 1px,transparent 2px),radial-gradient(circle,#ffffff88 3px,transparent 4px);background-size:80px 70px,130px 110px,200px 170px;background-position:10px 0,50px 30px,120px 60px;animation:promotion-snow calc(14s * var(--promotion-effect-speed,1)) linear infinite}
.promotion-effect-christmasLights{background:radial-gradient(ellipse at 12px 3px,#ff7272 0 3px,#ff494955 4px,transparent 13px),radial-gradient(ellipse at 42px 3px,#ffe38a 0 3px,#ffda5555 4px,transparent 13px),radial-gradient(ellipse at 72px 3px,#83e7a5 0 3px,#47d68355 4px,transparent 13px),radial-gradient(ellipse at 102px 3px,#9acbff 0 3px,#6aa7ff55 4px,transparent 13px);background-size:120px 22px;background-repeat:repeat-x;animation:promotion-lights calc(5s * var(--promotion-effect-speed,1)) ease-in-out infinite alternate}
.promotion-effect-stars{background:radial-gradient(ellipse 1px 5px at 24px 20px,#ffe9b0 90%,transparent),radial-gradient(ellipse 5px 1px at 24px 20px,#ffe9b0 90%,transparent),radial-gradient(ellipse 1px 3px at 100px 40px,#fff8df 90%,transparent),radial-gradient(ellipse 3px 1px at 100px 40px,#fff8df 90%,transparent);background-size:145px 65px;animation:promotion-glow calc(6s * var(--promotion-effect-speed,1)) ease-in-out infinite alternate}
.promotion-effect-fireworks::before,.promotion-effect-fireworks::after{content:"";position:absolute;width:100px;height:100px;top:calc(50% - 50px);left:15%;background:repeating-conic-gradient(from 10deg,#ffe28c 0 2deg,transparent 2deg 45deg);mask-image:radial-gradient(circle,transparent 0 15%,#000 16% 30%,transparent 32% 42%,#000 44% 57%,transparent 59%);animation:promotion-fireworks calc(6s * var(--promotion-effect-speed,1)) ease-out infinite}
.promotion-effect-fireworks::after{left:auto;right:15%;background:repeating-conic-gradient(from 32deg,#c2acff 0 2deg,transparent 2deg 45deg);animation-delay:calc(-3s * var(--promotion-effect-speed,1))}
.promotion-effect-balloons{inset:-100px 0;background-image:radial-gradient(ellipse 9px 12px at 16px 24px,#e7b949bb 94%,transparent),linear-gradient(#e7b949aa,#e7b949aa),radial-gradient(ellipse 8px 11px at 66px 75px,#ac86e5bb 94%,transparent),radial-gradient(ellipse 8px 11px at 140px 45px,#59c8b7bb 94%,transparent);background-size:220px 170px,1px 23px,260px 210px,320px 190px;background-position:0 0,16px 35px,90px 0,20px 0;background-repeat:repeat,repeat-x,repeat,repeat;animation:promotion-balloons calc(20s * var(--promotion-effect-speed,1)) linear infinite}
.promotion-enter-fade{animation:promotion-fade .45s ease both}
.promotion-enter-slide{animation:promotion-slide .45s ease both}
@keyframes promotion-shine{0%,15%{transform:translateX(-140%)}70%,100%{transform:translateX(350%)}}
@keyframes promotion-glow{from{opacity:.35}to{opacity:1}}
@keyframes promotion-sparkles{to{background-position:140px 5px,265px 23px}}
@keyframes promotion-aurora{from{transform:translateX(-10%) rotate(-5deg)}to{transform:translateX(10%) rotate(5deg)}}
@keyframes promotion-confetti{to{background-position:110px 150px,-175px 210px,210px 170px,-265px 250px}}
@keyframes promotion-waves{from{transform:translateX(-5%) scale(.9)}to{transform:translateX(5%) scale(1.1)}}
@keyframes promotion-neon{from{opacity:.45}to{opacity:1}}
@keyframes promotion-snow{to{background-position:90px 140px,-80px 250px,320px 400px}}
@keyframes promotion-lights{from{opacity:.5}to{opacity:1}}
@keyframes promotion-fireworks{0%,15%{opacity:0;transform:scale(.2)}35%{opacity:.85}70%,100%{opacity:0;transform:scale(1.5)}}
@keyframes promotion-balloons{to{background-position:20px -340px,36px -305px,65px -420px,50px -380px}}
@keyframes promotion-fade{from{opacity:0}to{opacity:1}}
@keyframes promotion-slide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.promotion-inner{gap:8px;flex-wrap:wrap;padding:9px 42px 9px 12px;min-height:48px}.promotion-message{font-size:12px;flex:1 1 100%}.promotion-cta,.promotion-coupon{padding:6px 9px;font-size:11px}.promotion-close{right:7px}.promotion-status{flex:1 1 100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.site-promotion,.promotion-effect-layer,.promotion-effect-layer::before,.promotion-effect-layer::after{animation:none!important}.promotion-effect-fireworks::before,.promotion-effect-fireworks::after{opacity:.5;transform:none}}
@media(max-width:1100px){body.sovereign-obsidiana .site-header:has(>[data-site-promotion]){--promotion-nav-height:68px}body.sovereign-obsidiana .site-header:has(>[data-site-promotion]) .site-nav{top:100%;max-height:calc(100dvh - var(--site-header-height,var(--promotion-nav-height)));overflow-y:auto}}
@media(max-width:700px){.site-header:has(>[data-site-promotion]){--promotion-nav-height:68px}.site-header:has(>[data-site-promotion]) .site-nav{top:100%;max-height:calc(100dvh - var(--site-header-height,var(--promotion-nav-height)));overflow-y:auto}}
