/* 2026 Halloween sale banner under the "Close" button of free-trial-form
   (resources/views/v2/individual_free_trial/sale_2026/halloween-sale-signup-banner.blade.php).
   Full-width ("hw-wide") variant of the reference sale box; countdown: public/v2/js/sale-2026.js */
.hw-signup-banner { position: relative; display: block; width: 100%; margin: 14px 0 24px; padding: 0; border: 1px solid rgba(255, 170, 70, .45); border-radius: 16px; text-align: left; color: #fff; cursor: pointer; overflow: hidden; font-family: 'Inter', sans-serif; line-height: normal;
    background: radial-gradient(120% 160% at 0% 0%, rgba(124, 58, 237, .55), transparent 55%), radial-gradient(90% 140% at 100% 100%, rgba(255, 122, 24, .38), transparent 60%), linear-gradient(135deg, #1d0b33, #0d0518);
    box-shadow: 0 8px 24px rgba(255, 122, 24, .22); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.hw-signup-banner:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(255, 122, 24, .38); border-color: rgba(255, 179, 71, .85); }
.hw-signup-banner:focus-visible { outline: 3px solid #ffb347; outline-offset: 3px; }
.hw-signup-banner__bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hw-signup-banner__stars { position: absolute; inset: 0; opacity: .9; animation: hwSignupTwinkle 3.2s ease-in-out infinite alternate;
    background: radial-gradient(1.2px 1.2px at 22% 28%, #fff, transparent 60%), radial-gradient(1px 1px at 48% 18%, #ffe9c2, transparent 60%), radial-gradient(1.4px 1.4px at 66% 72%, #fff, transparent 60%), radial-gradient(1px 1px at 84% 30%, #ffd8a8, transparent 60%), radial-gradient(1.2px 1.2px at 38% 80%, #fff, transparent 60%), radial-gradient(1px 1px at 92% 78%, #fff, transparent 60%); }
.hw-signup-banner__web { position: absolute; left: 0; top: 0; width: 64px; height: 64px; opacity: .28; }
.hw-signup-banner__row { position: relative; display: flex; align-items: center; gap: 20px; min-height: 84px; padding: 14px 24px; }
.hw-signup-banner__pumpkin { flex: 0 0 auto; width: 56px; height: 56px; animation: hwSignupFlicker 2.4s ease-in-out infinite; }
.hw-signup-banner__copy { display: block; flex: 1 1 auto; min-width: 0; line-height: 1; }
.hw-signup-banner__label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #ffb347; white-space: nowrap; }
.hw-signup-banner__line { display: flex; align-items: center; flex-wrap: nowrap; gap: 6px 22px; }
.hw-signup-banner__main { display: flex; align-items: center; flex-wrap: nowrap; gap: 4px 16px; flex: 0 0 auto; }
.hw-signup-banner__title { font-size: 30px; font-weight: 900; letter-spacing: -.02em; line-height: 1.1; color: #ffb347; text-shadow: 0 0 20px rgba(255, 122, 24, .45); white-space: nowrap; }
.hw-signup-banner__price { display: flex; align-items: baseline; gap: 7px; white-space: nowrap; }
.hw-signup-banner__now { font-size: 32px; font-weight: 900; letter-spacing: -.02em; background: linear-gradient(180deg, #fff 10%, #ffd08a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 18px rgba(255, 122, 24, .35); }
.hw-signup-banner__price s { font-size: 16px; font-weight: 600; color: rgba(255, 255, 255, .72); padding: 0 1px; }
/* Struck-out old price: a corner-to-corner slash instead of line-through. A flat line through the 9s closes their
   loops so "199" reads as "100"; the slash crosses each digit at a different height. Same rule as sale-logo.css. */
.hw-slash { position: relative; text-decoration: none; }
.hw-slash::after { content: ""; position: absolute; top: 12%; right: -2px; bottom: 8%; left: -2px; pointer-events: none;
    background: linear-gradient(to bottom right, transparent calc(50% - .65px), var(--hw-slash-color, #ff5d3a) calc(50% - .65px), var(--hw-slash-color, #ff5d3a) calc(50% + .65px), transparent calc(50% + .65px)); }
.hw-signup-banner__price small { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .7); }
.hw-signup-banner__text { flex: 1 1 0; min-width: 0; font-size: 16px; font-weight: 500; line-height: 1.4; color: rgba(255, 255, 255, .88); white-space: normal; padding-left: 22px; border-left: 1px solid rgba(255, 255, 255, .22); }
.hw-signup-banner__text b { color: #ffd08a; font-weight: 700; }
.hw-signup-banner__timer { display: flex; gap: 8px; }
.hw-signup-banner__cell { display: block; min-width: 56px; padding: 8px 6px 6px; text-align: center; border-radius: 9px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); }
.hw-signup-banner__cell b { display: block; font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.hw-signup-banner__cell i { display: block; margin-top: 2px; font-style: normal; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ffb347; }
.hw-signup-banner__cell.is-tick b { animation: hwSignupTick .35s ease; }
.hw-signup-banner__cta { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; font-size: 15px; font-weight: 700; color: #fff; white-space: nowrap; }
.hw-signup-banner__go { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #1d0b33; background: linear-gradient(135deg, #ff7a18, #ffb347); box-shadow: 0 4px 12px rgba(255, 122, 24, .45); transition: transform .2s ease; }
.hw-signup-banner__go svg { width: 20px; height: 20px; }
.hw-signup-banner:hover .hw-signup-banner__go, .hw-signup-banner:active .hw-signup-banner__go { transform: translateX(3px); }
@keyframes hwSignupFlicker { 0%, 100% { filter: drop-shadow(0 0 7px rgba(255, 150, 40, .85)); } 45% { filter: drop-shadow(0 0 3px rgba(255, 150, 40, .45)); } 60% { filter: drop-shadow(0 0 11px rgba(255, 190, 70, 1)); } }
@keyframes hwSignupTwinkle { from { opacity: .35; } to { opacity: 1; } }
@keyframes hwSignupTick { 0% { transform: translateY(-4px); opacity: .3; } 100% { transform: none; opacity: 1; } }

@media (max-width: 1199.98px) {
    .hw-signup-banner__line { flex-wrap: wrap; }
    .hw-signup-banner__text { border-left: 0; padding-left: 0; flex: 1 1 100%; font-size: 15px; }
}
@media (max-width: 991.98px) {
    .hw-signup-banner__row { flex-wrap: wrap; gap: 12px 16px; padding: 14px 16px; }
    .hw-signup-banner__copy { flex: 1 1 100%; order: 2; }
    .hw-signup-banner__pumpkin, .hw-signup-banner__cta { order: 1; }
    .hw-signup-banner__timer { order: 1; margin-left: auto; }
    .hw-signup-banner__cta-label { display: none; }
    .hw-signup-banner__text { font-size: 14px; }
}
@media (max-width: 575.98px) {
    .hw-signup-banner__pumpkin { width: 36px; height: 36px; }
    .hw-signup-banner__label { white-space: normal; line-height: 1.4; font-size: 10.5px; letter-spacing: .1em; }
    .hw-signup-banner__main { gap: 2px 10px; flex-wrap: wrap; flex: 1 1 100%; max-width: 100%; }
    .hw-signup-banner__title { font-size: 22px; }
    .hw-signup-banner__price { gap: 5px; }
    .hw-signup-banner__now { font-size: 24px; }
    .hw-signup-banner__timer { gap: 5px; }
    .hw-signup-banner__cell { min-width: 40px; }
    .hw-signup-banner__cell b { font-size: 16px; }
    .hw-signup-banner__go { width: 34px; height: 34px; }
    .hw-signup-banner__go svg { width: 16px; height: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .hw-signup-banner, .hw-signup-banner *, .hw-signup-banner__cell.is-tick b { animation: none !important; transition: none !important; }
}
