.sale-banner{background:#142249;color:#eaf0ff}
.sale-banner-inner{display:flex;justify-content:center;align-items:center;gap:25px;min-height:35px;padding-top:6px;padding-bottom:6px;font-size:10px}
.sale-banner p{margin:0}.sale-banner strong{color:white;font-weight:700}
.sale-banner button{border:0;background:none;color:#c8d8ff;font:700 10px var(--font);padding:0;cursor:pointer;white-space:nowrap}
.sale-countdown{color:#b3c5eb;font-variant-numeric:tabular-nums;font-size:10px;letter-spacing:.04em}
.offer-tab{position:fixed;left:20px;bottom:20px;z-index:15;background:#254cc8;color:white;border:1px solid #5373d5;border-radius:40px;padding:11px 18px;box-shadow:0 6px 24px #14275226;font:700 12px var(--font);cursor:pointer}
.offer-tab:hover{background:#1c3da8}
.offer-tab[hidden],.sale-banner[hidden]{display:none!important}
.offer-dialog{padding:0;border:0;border-radius:10px;width:min(740px,calc(100% - 32px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 30px 100px #111b4655;color:var(--ink)}
.offer-dialog::backdrop{background:#101b3f96;backdrop-filter:blur(4px)}
.offer-layout{display:grid;grid-template-columns:.88fr 1.12fr;min-height:430px}
.offer-art{position:relative;background:#182b5d;padding:28px 25px 0;overflow:hidden;color:white;display:flex;flex-direction:column}
.offer-art-label{font-size:9px;letter-spacing:.18em;font-weight:700;color:#a7bdeb}
.offer-art-heading{font-family:var(--display);font-size:29px;line-height:1.12;letter-spacing:-.045em;max-width:220px;margin:24px 0 10px;z-index:1}
.offer-art img{display:block;width:calc(100% + 50px);max-width:none;margin:15px -25px 0;flex:1;min-height:0;object-fit:cover;object-position:center}
.offer-copy{position:relative;padding:44px 33px 28px;background:#fff}
.offer-copy .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.12em;max-width:240px;color:#8d9ab3}
.offer-copy h2{font-size:34px;line-height:1.12;letter-spacing:-.055em;margin:14px 0}
.offer-copy>p:not(.offer-terms):not(.offer-status){font-size:13px;color:#68748c;line-height:1.75}
.offer-close{position:absolute;right:13px;top:12px;border:1px solid #e0e6f0;background:white;color:#76829b;font-size:21px;width:29px;height:29px;border-radius:50%;cursor:pointer;display:grid;place-items:center;line-height:1}
.offer-code{border:1px dashed #b9c8ec;background:#f3f6fd;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;margin:22px 0 15px;border-radius:5px}
.offer-code>span{font-size:8px;letter-spacing:.13em;font-weight:700;color:#8491af}
.offer-code strong{font-family:var(--display);font-size:18px;letter-spacing:.1em;color:#244bc3}
.offer-apply{border:0;cursor:pointer;width:100%;justify-content:center;padding:14px}
.offer-status{font-size:11px;color:#345fa9;margin:9px 0 0;line-height:1.5}
.offer-decline{border:0;background:none;display:block;margin:13px auto 0;padding:5px 8px;cursor:pointer;color:#718099;font:500 11px var(--font);text-decoration:underline;text-underline-offset:3px}
.offer-terms{font-size:9px!important;color:#99a3b6!important;line-height:1.65;margin-top:18px}
.discount-row{color:#245ab2;border:0;margin-top:0;padding-top:12px}
.summary-total{font-size:16px;margin-top:16px}
.applied-coupon{margin-top:18px;padding:10px 12px;border:1px solid #d9e7df;border-radius:4px;background:#f0f7f3;color:#37634c;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.remove-coupon{background:none;border:0;color:#587868;font-size:10px;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.coupon-edit{font-size:10px;text-decoration:underline}
.coupon-entry{margin-top:19px}
.coupon-entry>summary{font-size:11px;color:#677690;cursor:pointer}
.coupon-form{display:flex;gap:7px;margin-top:12px}
.coupon-form input{min-width:0;width:100%;border:1px solid #d3ddeb;background:white;border-radius:4px;padding:10px 11px;font:500 12px var(--font);color:var(--ink);text-transform:uppercase}
.coupon-form input::placeholder{text-transform:none}
.coupon-form button{border:1px solid #d3ddeb;border-radius:4px;background:white;color:#3159ba;padding:9px 12px;cursor:pointer;font:700 11px var(--font)}
.coupon-message{font-size:11px;color:#995244;line-height:1.6;margin-top:10px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:600px){
.sale-banner-inner{gap:9px;font-size:9px;flex-wrap:wrap;line-height:1.4;padding-top:7px;padding-bottom:7px}
.sale-countdown{font-size:9px}.sale-banner button{font-size:9px}
.offer-tab{left:12px;bottom:12px;padding:9px 14px;font-size:11px}
.offer-layout{grid-template-columns:1fr;min-height:0}
.offer-art{height:150px;padding:19px 22px;display:block}
.offer-art-label{font-size:8px;position:relative;z-index:1}
.offer-art-heading{display:block;font-size:25px;width:52%;margin-top:15px;max-width:170px}
.offer-art img{position:absolute;right:-8px;top:5px;width:50%;height:180px;margin:0;object-fit:cover}
.offer-copy{padding:27px 24px 23px}
.offer-copy h2{font-size:31px;max-width:260px}
.offer-close{top:12px;right:12px}
.offer-code{margin-top:17px}
.offer-terms{font-size:9px!important;margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.offer-dialog::backdrop{backdrop-filter:none}}
.applied-coupon [role=status]:focus-visible{outline:2px solid #5377cc;outline-offset:3px}.sale-banner button:focus-visible,.offer-decline:focus-visible,.coupon-entry summary:focus-visible{outline:2px solid #8aa6f2;outline-offset:4px}
