:root{--urgency-height:60px;--urgency-terracotta:#b23b1e;--urgency-terracotta-dark:#87240d}
body{padding-top:var(--urgency-height)}
html{scroll-padding-top:calc(var(--urgency-height) + 24px)}
.urgency-bar{box-sizing:border-box;position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(105deg,var(--urgency-terracotta-dark),var(--urgency-terracotta));color:white;text-align:center;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));font-family:'Inter',sans-serif;font-size:12px;font-weight:800;line-height:20px;font-variant-numeric:tabular-nums;animation:pulse-promo-banner 2s cubic-bezier(.4,0,.6,1) infinite}
.promo-date,.promo-countdown{white-space:nowrap}.promo-countdown{font-variant-numeric:tabular-nums;display:inline-block;animation:none;box-shadow:none;padding-inline:0;border-radius:0}
@keyframes pulse-promo-banner{0%,100%{filter:brightness(1);box-shadow:0 2px 8px rgba(167,54,27,.15)}50%{filter:brightness(1.2);box-shadow:0 5px 22px rgba(167,54,27,.5)}}
@media(prefers-reduced-motion:reduce){.urgency-bar{animation:none}}

/* Explicit emphasis on every active button and on the countdown. */
.cta[data-checkout],.cta,button:not(:disabled){animation:button-attention 1.8s ease-in-out infinite!important;transform-origin:center}
@keyframes button-attention{0%,100%{opacity:1;transform:scale(1);box-shadow:0 6px 20px rgba(178,59,30,.3)}50%{opacity:.68;transform:scale(1.04);box-shadow:0 8px 28px rgba(178,59,30,.65),0 0 0 5px rgba(178,59,30,.16)}}
.urgency-bar{animation:banner-attention 1.8s ease-in-out infinite!important}
@keyframes banner-attention{0%,100%{filter:brightness(1);box-shadow:0 2px 8px rgba(167,54,27,.15)}50%{filter:brightness(1.28);box-shadow:0 5px 24px rgba(167,54,27,.6)}}
.promo-countdown{display:inline-block;padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.16);animation:timer-attention 1.8s ease-in-out infinite!important}
@keyframes timer-attention{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,249,237,0)}50%{opacity:.55;box-shadow:0 0 0 3px rgba(255,249,237,.25)}}
/* Reduced motion retains the requested fade, without scaling or displacement. */
@media(prefers-reduced-motion:reduce){.cta[data-checkout],.cta,button:not(:disabled){animation:button-fade 1.8s ease-in-out infinite!important}}
@keyframes button-fade{0%,100%{opacity:1}50%{opacity:.68}}
