
/* One continuous launch rectangle; motion responds to the whole panel. */
.sale-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:190px;padding:27px clamp(22px,5vw,56px);color:white;background:linear-gradient(115deg,#092b61 0%,#153f9b 60%,#285bf0 100%);border-radius:0;transition:filter .35s ease,box-shadow .35s ease;outline-offset:-5px}
.sale-banner:before{content:'';position:absolute;z-index:-1;inset:-130% -40%;pointer-events:none;background:linear-gradient(105deg,transparent 40%,#91b5ff22 49%,transparent 59%);transform:translateX(-25%);animation:sale-light 8s ease-in-out infinite;transition:opacity .45s;opacity:.45}
.sale-banner:after{content:'';position:absolute;inset:10px;border:1px solid #b8cdff38;pointer-events:none}
.sale-copy,.sale-amount{position:relative;transition:transform .35s ease}.sale-kicker{display:block;font:700 10px/1.4 Arial;letter-spacing:2px;color:#ffd5aa;margin-bottom:12px}.sale-copy>strong{display:block;font:700 clamp(24px,3vw,32px)/1.12 Arial;letter-spacing:-.5px}.sale-detail{display:block;font:12px/1.6 Arial;color:#d7e4ff;margin-top:13px}
.sale-amount{text-align:center;flex-shrink:0;padding:0 5px}.sale-amount>strong{display:block;font:800 clamp(54px,7.8vw,84px)/1 Arial;letter-spacing:-3px;color:white}.sale-amount>span{display:block;font:700 10px/1.5 Arial;letter-spacing:1px;color:#ffe0ba;margin-top:15px;border-top:2px solid #ffa15c;padding-top:12px}
@keyframes sale-light{0%,100%{transform:translateX(-25%)}50%{transform:translateX(25%)}}
@media(hover:hover){.sale-banner:hover{filter:brightness(1.07);box-shadow:inset 0 0 60px #6a9fff24}.sale-banner:hover:before{opacity:1}.sale-banner:hover .sale-copy{transform:translateX(3px)}.sale-banner:hover .sale-amount{transform:translateY(-3px)}}
.sale-banner:focus-visible{outline:3px solid #ffca91;filter:brightness(1.07)}
@media(max-width:480px){.sale-banner{gap:14px;padding:25px 22px;min-height:190px}.sale-copy>strong{font-size:22px}.sale-detail{font-size:10px;max-width:150px}.sale-kicker{font-size:8px;letter-spacing:1.3px}.sale-amount>strong{font-size:51px;letter-spacing:-2px}.sale-amount>span{font-size:8px;letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){.sale-banner,.sale-copy,.sale-amount,.sale-banner:before{animation:none!important;transition:none!important;transform:none!important}}
