.cta-underline-animate { position:relative;display:inline-block;text-decoration:none;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:transparent;background:linear-gradient(95deg,#0d5dde 0%,#138df5 12%,#11bfae 28%,#15b497 40%,#22c95c 54%,#2ad678 66%,#ff7f3a 82%,#ff5a1b 100%);-webkit-background-clip:text;background-clip:text;padding-bottom:4px; }
.cta-underline-animate::after,.cta-underline-animate::before { content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left center;border-radius:999px; }
.cta-underline-animate::after { background:linear-gradient(95deg,#0d5dde 0%,#138df5 12%,#11bfae 28%,#15b497 40%,#22c95c 54%,#2ad678 66%,#ff7f3a 82%,#ff5a1b 100%);opacity:0;animation:lineReveal 5s cubic-bezier(.55,.15,.25,1) infinite; }
.cta-underline-animate::before { background:linear-gradient(95deg,#0d5dde 0%,#138df5 12%,#11bfae 28%,#15b497 40%,#22c95c 54%,#2ad678 66%,#ff7f3a 82%,#ff5a1b 100%);opacity:0;animation:lineGlow 5s cubic-bezier(.55,.15,.25,1) infinite; }
@keyframes lineReveal{0%{transform:scaleX(0);opacity:0;}10%{opacity:1;}12%{transform:scaleX(1);opacity:1;}36%{transform:scaleX(1);opacity:1;}46%{transform:scaleX(1);opacity:0;}100%{transform:scaleX(1);opacity:0;}}
@keyframes lineGlow{0%{transform:scaleX(0);opacity:0;}12%{transform:scaleX(1);opacity:.35;}36%{transform:scaleX(1);opacity:.35;}46%{transform:scaleX(1);opacity:0;}100%{transform:scaleX(1);opacity:0;}}
.cta-underline-animate:hover::after,.cta-underline-animate:hover::before,
.cta-underline-animate:focus-visible::after,.cta-underline-animate:focus-visible::before { animation:none;transform:scaleX(1);opacity:1; }
.cta-underline-animate:focus-visible { outline:3px solid rgba(14,165,233,.45);outline-offset:4px;border-radius:6px; }
@media (prefers-reduced-motion: reduce) {
    .cta-underline-animate::after,.cta-underline-animate::before { animation:none;transform:scaleX(1);opacity:1;filter:none; }
}
.discount-emphasis { background:linear-gradient(90deg,#ff3e4d 0%,#d4002a 55%,#8a001c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;white-space:nowrap; }
@media (prefers-reduced-motion: reduce) {
    .discount-emphasis { background:none;color:#c40028; }
}
@media (max-width: 640px) {
    .discount-emphasis { white-space: normal; overflow-wrap: anywhere; }
}