/* Store Weave promotions: independent, site-neutral front-end presentation. */
.sw-promo-bar {box-sizing:border-box;width:100%;background:var(--sw-promo-bar-bg,var(--sw-surface-alt,#b8eaf0));color:var(--sw-promo-bar-color,var(--sw-text,#24566a))}
.sw-promo-bar *{box-sizing:border-box}
.sw-promo-bar-inner{display:flex;align-items:center;justify-content:center;max-width:1440px;margin:0 auto;min-height:44px;height:var(--sw-promo-bar-height,auto);padding:9px clamp(15px,2.3vw,32px);font-size:var(--sw-promo-bar-font-size,16px);font-weight:var(--sw-promo-bar-font-weight,700);line-height:1.4;text-align:center}
.sw-promo-bar-fixed-height .sw-promo-bar-inner{min-height:0;padding-top:0;padding-bottom:0;overflow:hidden}
.sw-promo-bar-left .sw-promo-bar-inner{justify-content:flex-start;text-align:left}
.sw-promo-bar:not(.sw-promo-bar-left) .sw-promo-bar-inner{text-align:center}
.sw-promo-bar:not(.sw-promo-bar-left) .sw-promo-bar-slide,.sw-promo-bar:not(.sw-promo-bar-left) .sw-promo-bar-rotator{text-align:center}
.sw-promo-bar:not(.sw-promo-bar-left) .sw-promo-bar-inner>a,.sw-promo-bar:not(.sw-promo-bar-left) .sw-promo-bar-inner>button{margin-inline:auto}
.sw-promo-bar-inner>*,.sw-promo-bar-rotator{width:100%}
.sw-promo-bar a,.sw-promo-bar button{color:inherit;font:inherit;text-decoration-line:var(--sw-promo-bar-decoration,none);text-underline-offset:3px}
.sw-promo-bar-inner>span,.sw-promo-bar-slide{text-decoration-line:var(--sw-promo-bar-decoration,none);text-underline-offset:3px}
.sw-promo-bar a:hover,.sw-promo-bar button:hover{text-decoration:underline;text-underline-offset:3px}
.sw-promo-bar button{background:none;border:0;padding:0;cursor:pointer}
.sw-promo-bar-rotator{position:relative;min-height:1.5em;overflow:hidden}
.sw-promo-bar-slide{display:block;width:100%;position:absolute;inset:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;transform:translateY(100%);transition:opacity .4s ease,transform .4s ease}
.sw-promo-bar-slide:first-child{opacity:1;transform:none}
.sw-promo-bar-slide[hidden]{display:none!important}
.sw-promo-bar-slide.sw-promo-active{opacity:1;transform:none}
.sw-promo-bar-slide.sw-promo-leaving{opacity:0;transform:translateY(-100%)}

/* Continuous top-bar marquee: one CSS animation, no visitor-side script. */
.sw-promo-bar-marquee-mode .sw-promo-bar-inner{max-width:none;padding-inline:0;overflow:hidden}
.sw-promo-marquee{width:100%;min-width:0;overflow:hidden;white-space:nowrap}
.sw-promo-marquee-track{display:flex;align-items:center;width:max-content;min-width:0;animation:sw-promo-marquee-move var(--sw-promo-marquee-duration,30s) linear infinite}
.sw-promo-marquee-track.is-reverse{animation-direction:reverse}
.sw-promo-marquee-set{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;width:max-content;min-width:0;gap:var(--sw-promo-marquee-gap,56px);padding-inline-end:var(--sw-promo-marquee-gap,56px)}
.sw-promo-marquee-item{display:inline-flex;align-items:center;flex:none;white-space:nowrap;text-decoration-line:var(--sw-promo-bar-decoration,none)}
.sw-promo-marquee:hover .sw-promo-marquee-track,.sw-promo-marquee:focus-within .sw-promo-marquee-track{animation-play-state:paused}
@keyframes sw-promo-marquee-move{to{transform:translateX(var(--sw-promo-marquee-shift,-50%))}}

@media(max-width:767px){.sw-promo-bar-inner{font-size:var(--sw-promo-bar-mobile-font-size,13px);min-height:38px;padding:8px 12px}.sw-promo-bar-hide-mobile{display:none}}
@media(prefers-reduced-motion:reduce){.sw-promo-bar-slide{transition:none}.sw-promo-marquee-track{animation:none}.sw-promo-marquee{overflow-x:auto}}
