.tc-promo-banner,
.tc-promo-banner *{
    box-sizing:border-box;
}

.tc-promo-banner{
    text-align:center;
    color:var(--tc-text-color);
    font-family:var(--tc-font-family);
    font-size:var(--tc-font-size);
    line-height:1.45;
    padding:10px 0 0;
    position:relative;
    width:100%;
    font-weight:350;
    background:
        radial-gradient(circle at 18% 12%, rgba(103,232,249,0.11) 0%, rgba(0,0,0,0) 42%),
        radial-gradient(circle at 82% 12%, rgba(167,139,250,0.14) 0%, rgba(0,0,0,0) 46%),
        linear-gradient(180deg,#040914 0%, var(--tc-bg-color) 100%);
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    overflow:hidden;
    isolation:isolate;
}

.tc-promo-banner > *{ position:relative; z-index:1; }

.tc-promo-banner::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    background-image:var(--tc-bg-image);
    background-repeat:repeat-x;
    background-position:center top;
    background-size:cover;
    filter:blur(var(--tc-blur));
    opacity:var(--tc-bg-opacity,.45);
}

.tc-promo-banner button{
    font:inherit;
    letter-spacing:inherit;
    text-transform:none;
    text-decoration:none;
}

.tc-promo-banner,
.tc-promo-banner p,
.tc-promo-banner span,
.tc-promo-banner small,
.tc-promo-banner button,
.tc-promo-banner i{
    margin:0;
}

.tc-promo-banner .tc-close{
    appearance:none;
    -webkit-appearance:none;
    position:absolute;
    top:10px;
    right:calc(10px + (100vw - 100%));
    width:28px;
    min-width:28px;
    height:28px;
    min-height:28px;
    margin:0;
    padding:0;
    border:0;
    background:rgba(255,255,255,0.06);
    border-radius:9px;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:transform .25s ease, background .2s ease, opacity .2s ease;
    z-index:2;
    box-shadow:0 10px 22px rgba(0,0,0,0.22), inset 0 0 0 1px rgba(255,255,255,0.04);
}

.tc-promo-banner .tc-close:hover{ background:rgba(255,255,255,0.12); transform:rotate(90deg) scale(1.05); }
.tc-promo-banner .tc-close .bar{ position:absolute; width:16px; height:2px; background:#EAF7FF; border-radius:2px; }
.tc-promo-banner .tc-close .bar1{ transform:rotate(45deg); }
.tc-promo-banner .tc-close .bar2{ transform:rotate(-45deg); }

.tc-promo-banner .bfm-line{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:10px;
    line-height:1.65;
    padding:0 40px 0 10px;
}

.tc-promo-banner .tc-bf-icon,
.tc-promo-banner .tc-banner-icon{ display:inline-flex; align-items:center; justify-content:center; }
.tc-promo-banner .tc-bf-icon{ width:18px; height:18px; }
.tc-promo-banner .tc-banner-icon{ width:1em; height:1em; flex:none; line-height:1; font-style:normal; font-variant:normal; text-rendering:auto; -webkit-font-smoothing:antialiased; }
.tc-promo-banner i.tc-banner-icon::before{ line-height:1; }
.tc-promo-banner .tc-bf-icon .tc-banner-icon{ font-size:var(--tc-main-icon-size,14px); animation:tc-bob 2.2s ease-in-out infinite; transform-origin:50% 80%; text-shadow:0 0 16px rgba(103,232,249,0.82), 0 0 30px rgba(167,139,250,0.42); }
.tc-promo-banner .tc-banner-icon--main{ color:var(--tc-main-icon-color,var(--tc-text-color)); }
.tc-promo-banner .tc-banner-icon--pill{ color:var(--tc-pill-icon-color,#EAF7FF); }
.tc-promo-banner .tc-banner-icon--coupon{ color:var(--tc-coupon-icon-color,#EAF7FF); }
.tc-promo-banner .tc-banner-icon--countdown{ color:var(--tc-countdown-icon-color,#EAF7FF); }
.tc-promo-banner .tc-banner-icon--copied{ color:var(--tc-copied-icon-color,#EAF7FF); }
@keyframes tc-bob{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-2px) rotate(-5deg); } }

.tc-promo-banner .bfm-title{
    font-weight:800;
    letter-spacing:.25px;
    display:inline-block;
    font-size:var(--tc-title-size);
    background-image:linear-gradient(180deg,var(--tc-title-gradient-start) 0%, var(--tc-title-gradient-mid) 44%, var(--tc-title-gradient-end) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
    text-shadow:0 10px 26px rgba(0,0,0,.62);
}

.tc-promo-banner .pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:2px 10px;
    font-weight:650;
    letter-spacing:.35px;
    text-transform:uppercase;
    font-size:12px;
    color:#EAF7FF;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(191,231,255,.20);
    border-radius:999px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05), 0 0 20px rgba(103,232,249,0.10);
    animation:tc-pill-pulse 2.3s ease-in-out infinite;
}
@keyframes tc-pill-pulse{ 0%,100%{ box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05),0 0 20px rgba(103,232,249,0.10);} 50%{ box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05),0 0 28px rgba(103,232,249,0.18),0 0 36px rgba(167,139,250,0.12);} }

.tc-promo-banner .bfm-support-text{ color:rgba(234,247,255,0.92); text-shadow:0 6px 16px rgba(0,0,0,0.55); }
.tc-promo-banner .coupon-section{ display:inline-flex; align-items:center; gap:8px; position:relative; }

.tc-promo-banner .copy-button{
    appearance:none;
    -webkit-appearance:none;
    padding:10px 12px;
    min-height:auto;
    min-width:auto;
    font-size:var(--tc-coupon-size);
    line-height:1;
    border:2px solid rgba(255,255,255,0.18);
    background:radial-gradient(circle at 18% 12%, rgba(103,232,249,0.30) 0%, rgba(0,0,0,0) 58%), radial-gradient(circle at 90% 18%, rgba(167,139,250,0.24) 0%, rgba(0,0,0,0) 58%), #071427;
    color:#EAF7FF;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition:background .25s, transform .1s, border-color .25s, box-shadow .25s;
    font-weight:800;
    border-radius:14px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
    position:relative;
    overflow:hidden;
    white-space:nowrap;
    vertical-align:middle;
    text-decoration:none !important;
}

.tc-promo-banner .copy-button:focus,
.tc-promo-banner .copy-button:active{
    outline:none;
}

.tc-promo-banner .copy-button .button-text,
.tc-promo-banner .copy-button .tc-banner-icon{
    position:relative;
    z-index:1;
}

.tc-promo-banner .copy-button:hover{ background:var(--tc-hover-blue,#0b2a4a) !important; border-color:rgba(103,232,249,.55) !important; }
.tc-promo-banner .copy-button.clicked,
.tc-promo-banner .copy-button.clicked:hover{ background:var(--tc-click-blue,#071a33) !important; border-color:rgba(167,139,250,.55) !important; }
.tc-promo-banner .button-text{ letter-spacing:.5px; display:inline-block; line-height:1; }
.tc-promo-banner .copy-button.clicked .button-text{ text-shadow:0 0 10px rgba(180,240,255,1),0 0 28px rgba(120,210,255,.9),0 0 52px rgba(167,139,250,.55); }
.tc-promo-banner .copy-button .tc-banner-icon{ font-size:1.05em; }

.tc-promo-banner .bfm-shine{ position:absolute; top:0; left:-40%; width:40%; height:100%; background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.42) 50%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); opacity:0; pointer-events:none; }
@keyframes bfm-sweep{ 0%{ left:-40%; opacity:0; } 10%{ opacity:1; } 100%{ left:120%; opacity:0; } }

.tc-promo-banner .bfm-copied{
    position:absolute;
    top:50%;
    left:calc(100% + 8px);
    transform:translateY(-50%) scale(.95);
    transform-origin:left center;
    background:rgba(255,255,255,0.14);
    color:#EAF7FF;
    font-size:11px;
    font-weight:650;
    padding:4px 8px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    opacity:0;
    pointer-events:none;
    border:1px solid rgba(255,255,255,0.28);
    box-shadow:0 4px 10px rgba(0,0,0,0.25);
    backdrop-filter:blur(6px);
    transition:opacity .18s ease, transform .18s ease;
    white-space:nowrap;
    vertical-align:middle;
    text-decoration:none !important;
}

.tc-promo-banner .copy-button:focus,
.tc-promo-banner .copy-button:active{
    outline:none;
}

.tc-promo-banner .copy-button .button-text,
.tc-promo-banner .copy-button .tc-banner-icon{
    position:relative;
    z-index:1;
}

.tc-promo-banner .bfm-copied.on{ opacity:1; transform:translateY(-50%) scale(1); }

.tc-promo-banner .bfm-countdown-wrap{ margin-top:2px; position:relative; top:-3px; display:flex; justify-content:center; align-items:center; gap:8px; flex-wrap:wrap; padding:0 10px; }
.tc-promo-banner .bfm-month-tag{ display:inline-flex; align-items:center; padding:2px 8px; font-size:10px; font-weight:750; letter-spacing:.5px; text-transform:uppercase; border-radius:6px; background:rgba(255,255,255,0.10); color:#EAF7FF; border:1px solid rgba(191,231,255,0.22); }
.tc-promo-banner .bfm-countdown{ color:rgba(234,247,255,0.86); font-weight:450; text-shadow:0 6px 16px rgba(0,0,0,0.55); }
.tc-promo-banner .bfm-countdown.final-hours{ color:#ffb86b !important; font-weight:700 !important; text-shadow:0 0 10px rgba(255,184,107,.30),0 6px 16px rgba(0,0,0,0.55); }
.tc-promo-banner .bfm-countdown.last-call{ color:#ff7b7b !important; font-weight:800 !important; text-shadow:0 0 12px rgba(255,123,123,.38),0 6px 16px rgba(0,0,0,0.55); }

.tc-promo-banner .promo-ticker{ margin-top:6px; position:relative; width:100%; height:24px; overflow:hidden; background:linear-gradient(180deg,var(--tc-ticker-bg-start),var(--tc-ticker-bg-end)); border-top:1px solid var(--tc-ticker-border-color,#D6E0EA); }
.tc-promo-banner .promo-ticker::before,
.tc-promo-banner .promo-ticker::after{ content:""; position:absolute; top:0; width:36px; height:100%; pointer-events:none; z-index:2; }
.tc-promo-banner .promo-ticker::before{ left:0; background:linear-gradient(to right,var(--tc-ticker-bg-start) 0%,rgba(237,246,255,0)100%); }
.tc-promo-banner .promo-ticker::after{ right:0; background:linear-gradient(to left,var(--tc-ticker-bg-end) 0%,rgba(230,242,255,0)100%); }
.tc-promo-banner .promo-ticker__track{ position:absolute; top:0; left:0; display:inline-flex; align-items:center; gap:12px; white-space:nowrap; padding-left:8px; color:var(--tc-ticker-text-color); font-size:11px; line-height:24px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; animation-name:tickerScroll; animation-timing-function:linear; animation-iteration-count:infinite; animation-duration:var(--duration,50s); }
.tc-promo-banner .promo-ticker__sep{ color:var(--tc-ticker-separator-color,#00C690); opacity:.9; }
.tc-promo-banner.tc-no-ticker{ padding-bottom:8px; }
@keyframes tickerScroll{ from{ transform:translateX(var(--start,0)); } to{ transform:translateX(calc(var(--start,0) - var(--distance,800px))); } }

@keyframes bfm-pop{ 0%{ transform:translate(0,0) scale(1); opacity:1; } 100%{ transform:translate(var(--dx), var(--dy)) rotate(180deg) scale(.8); opacity:0; } }
@keyframes bfm-spark{ 0%{ transform:translate(0,0) scale(.7); opacity:1; } 100%{ transform:translate(var(--dx), var(--dy)) scale(0); opacity:0; } }
@keyframes bfm-ring{ 0%{ transform:translate(-50%,-50%) scale(.3); opacity:.95; } 100%{ transform:translate(-50%,-50%) scale(2.2); opacity:0; } }
@keyframes bfm-glow-pop{ 0%{ transform:scale(1); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04); } 35%{ transform:scale(1.04); box-shadow:0 0 0 4px rgba(103,232,249,.16), 0 0 28px rgba(167,139,250,.35), inset 0 0 0 1px rgba(255,255,255,0.12); } 100%{ transform:scale(1); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04); } }
.tc-promo-banner .bfm-confetti,.tc-promo-banner .bfm-spark{ position:absolute; pointer-events:none; opacity:.95; }
.tc-promo-banner .bfm-confetti{ width:6px; height:6px; border-radius:1px; animation:bfm-pop .7s ease forwards; }
.tc-promo-banner .bfm-spark{ width:7px; height:7px; border-radius:50%; filter:blur(.2px); box-shadow:0 0 10px currentColor; animation:bfm-spark .65s ease-out forwards; }
.tc-promo-banner .bfm-ring{ position:absolute; left:0; top:0; width:18px; height:18px; border-radius:999px; border:2px solid rgba(103,232,249,.75); box-shadow:0 0 0 2px rgba(167,139,250,.18), 0 0 18px rgba(103,232,249,.22); pointer-events:none; animation:bfm-ring .55s ease-out forwards; }
.tc-promo-banner .copy-button.effect-glow-pop{ animation:bfm-glow-pop .5s ease; }

@media (max-width:640px){
    .tc-promo-banner .bfm-line{ gap:8px; padding-right:10px; }
    .tc-promo-banner .tc-close{ top:8px; right:8px; }
    .tc-promo-banner .bfm-copied{ left:50%; top:calc(100% + 8px); transform:translateX(-50%) scale(.95); transform-origin:center top; }
    .tc-promo-banner .bfm-copied.on{ transform:translateX(-50%) scale(1); }
}

.tc-promo-banner .bfm-month-tag{ gap:6px; }
.tc-promo-banner .tc-bf-icon:empty{ display:none; }
.tc-promo-banner .bfm-month-tag:has(.tc-banner-icon:first-child){ gap:6px; }
.tc-icon-none{ font-size:12px; color:#646970; font-weight:600; }
@keyframes bfm-shimmer-pop{ 0%{ transform:scale(1); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04),0 0 0 rgba(103,232,249,0); } 35%{ transform:scale(1.03); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04),0 0 0 6px rgba(103,232,249,.12),0 0 24px rgba(167,139,250,.22); } 100%{ transform:scale(1); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04),0 0 0 rgba(103,232,249,0); } }
.tc-promo-banner .copy-button.effect-shimmer-blast{ animation:bfm-shimmer-pop .55s ease; }
