.promo-bar { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; padding:12px 24px; background:var(--ink-2); color:var(--cream-2); font-size:14px; }
.promo-bar-badge { padding:3px 9px; border-radius:7px; background:var(--orange); color:white; font-weight:800; }
.promo-bar a { color:var(--gold); font-weight:700; }
.promo-bar a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.promo-badge { display:inline-block; margin-top:20px; border:1px solid rgba(231,172,76,.4); border-radius:999px; padding:7px 15px; color:var(--gold); background:rgba(231,172,76,.09); font-size:13px; font-weight:750; }
.price { flex-wrap:wrap; }
.price .promo-old-price { color:var(--muted-d); font-size:25px; text-decoration-thickness:2px; }
.promo-dates { color:var(--gold); font-size:14px; margin:0 auto 16px; }
.order-price { flex-wrap:wrap; }
.order-price .promo-old-price { flex-basis:100%; margin-top:10px; color:var(--muted-d); font-size:19px; text-decoration-thickness:1px; }
.order-price b [data-current-price] { font-size:inherit; color:inherit; }
.promo-order-dates { margin:-6px 0 20px; color:var(--gold); font-size:12px; }
[data-promo-active][hidden],.promo-bar[hidden] { display:none !important; }
.promo-popover { position:fixed; inset:0; margin:auto; width:min(900px,calc(100vw - 48px)); height:fit-content; max-height:calc(100dvh - 32px); overflow:auto; z-index:100; padding:0 40px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:32px; border:0; border-radius:20px; background:var(--cream-2); color:var(--ink); box-shadow:0 30px 100px rgba(0,0,0,.35); animation:promo-enter .35s var(--ease) both; }
.promo-popover-copy { padding:22px 0; }
.promo-popover::backdrop { background:rgba(23,17,13,.68); backdrop-filter:blur(3px); animation:promo-backdrop .3s ease both; }
.promo-popover[hidden] { display:none; }
.promo-popover-close { position:absolute; top:12px; right:12px; z-index:2; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; background:var(--card); color:var(--muted); font-size:22px; cursor:pointer; }
.promo-popover-close:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.promo-popover-kicker { display:block; margin-bottom:9px; color:var(--orange-d); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.7px; }
.promo-popover h3 { font-size:27px; line-height:1.08; letter-spacing:-.6px; margin:0; }
.promo-popover p { color:var(--muted); font-size:14px; }
.promo-popover-price { display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin:0; white-space:nowrap; }
.promo-popover-price s { color:var(--muted); font-size:16px; }
.promo-popover-price b { color:var(--ink); font-size:36px; letter-spacing:-1.2px; line-height:1.1; }
.promo-popover .btn { padding:0 20px; font-size:14px; }
.promo-popover-date { display:block; margin-top:10px; font-size:10px; color:var(--muted); }
@keyframes promo-enter { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes promo-backdrop { from { opacity:0; } to { opacity:1; } }
@media(max-width:850px) { .promo-popover { grid-template-columns:minmax(0,1fr) auto; gap:12px 24px; padding:20px 30px; } .promo-popover-copy { grid-row:1 / 3; padding:0; } .promo-popover-price { grid-column:2; } .promo-popover .btn { grid-column:2; } .promo-popover h3 { font-size:24px; } }
@media(max-width:600px) { .promo-popover { width:calc(100vw - 24px); gap:10px 14px; padding:24px 18px 18px; } .promo-popover-kicker { font-size:9px; letter-spacing:.3px; } .promo-popover h3 { font-size:23px; } .promo-popover-date { font-size:9px; max-width:150px; } .promo-popover-price b { font-size:29px; } .promo-popover-price s { font-size:12px; } .promo-popover .btn { min-height:42px; padding:0 10px; font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .promo-popover,.promo-popover::backdrop { animation:none; } }
@media(max-width:600px) { .promo-bar { gap:8px; padding:10px 16px; font-size:12px; } .promo-bar a { display:none; } .price .promo-old-price { flex-basis:100%; font-size:23px; } .promo-dates { max-width:270px; line-height:1.6; } }
