.fit-single-promo-frame {
    padding-top: 0 !important;
    overflow: hidden;
}

/* HERO */

.fit-single-promo-hero {
    position: relative;
    min-height: 760px;
    margin-top: -130px;
    padding: 220px 0 90px;
    display: flex;
    align-items: flex-end;
}

.fit-single-promo-bg {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(212,170,70,.16),
            transparent 34%
        ),
        #11141c;

    background-size: cover;
    background-position: center;

    transform: scale(1.03);

    transition:
        transform 1.2s ease,
        filter .8s ease;
}

.fit-single-promo-hero:hover .fit-single-promo-bg {
    transform: scale(1.07);

    filter:
        saturate(1.08)
        contrast(1.03);
}

.fit-single-promo-hero::after {
    content: '';

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 340px;

    background:
        linear-gradient(
            180deg,
            rgba(6,7,11,0) 0%,
            rgba(6,7,11,.24) 34%,
            rgba(6,7,11,.76) 72%,
            var(--fit-bg) 100%
        );

    z-index: 2;
}

.fit-single-promo-inner {
    position: relative;
    z-index: 5;

    display: flex;
    align-items: flex-end;
    gap: 40px;
}

.fit-single-promo-logo {
    width: 180px;
    height: 180px;

    overflow: hidden;

    border-radius: 42px;

    background: rgba(255,255,255,.06);

    border: 1px solid rgba(255,255,255,.08);

    box-shadow:
        0 30px 90px rgba(0,0,0,.42),
        0 0 50px rgba(212,170,70,.08);
}

.fit-single-promo-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fit-single-promo-copy {
    max-width: 820px;
}

.fit-single-offer {
    width: fit-content;

    margin: 0 0 18px;

    padding: 11px 16px;

    border-radius: 999px;

    color: #161616;

    background:
        linear-gradient(
            135deg,
            var(--fit-gold),
            var(--fit-gold-light)
        );

    font-size: 12px;
    font-weight: 1000;

    text-transform: uppercase;
    letter-spacing: .12em;
}

.fit-single-promo-copy h1 {
    margin: 0;

    color: #fff;

    font-size: clamp(58px, 8vw, 120px);

    line-height: .88;

    letter-spacing: -.08em;

    text-shadow:
        0 10px 34px rgba(0,0,0,.55);
}

.fit-single-promo-business {
    margin: 20px 0 0;

    color: rgba(255,255,255,.76);

    font-size: 18px;
    font-weight: 700;
}

.fit-single-promo-expire {
    width: fit-content;

    margin-top: 18px;

    padding: 10px 14px;

    border-radius: 999px;

    color: rgba(255,255,255,.82);

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.08);

    font-size: 11px;
    font-weight: 1000;

    text-transform: uppercase;
    letter-spacing: .12em;
}

.fit-single-promo-actions {
    margin-top: 34px;

    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* CONTENT */

.fit-single-promo-content {
    position: relative;
    z-index: 10;

    margin-top: -40px;

    padding-bottom: 90px;
}

.fit-single-promo-card {
    padding: 42px;

    border-radius: 38px;

    backdrop-filter: blur(20px);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border: 1px solid rgba(255,255,255,.08);

    box-shadow:
        0 24px 80px rgba(0,0,0,.28),
        0 0 40px rgba(212,170,70,.06);
}

.fit-single-promo-description {
    color: rgba(255,255,255,.78);

    font-size: 17px;

    line-height: 1.9;
}

/* ELITE */

.fit-single-promo-hero.elite .fit-single-promo-logo {
    box-shadow:
        0 30px 90px rgba(0,0,0,.42),
        0 0 60px rgba(212,170,70,.18);
}

/* MOBILE */

@media (max-width: 780px) {

    .fit-single-promo-hero {
        min-height: 640px;

        padding-top: 180px;
    }

    .fit-single-promo-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .fit-single-promo-logo {
        width: 130px;
        height: 130px;

        border-radius: 30px;
    }

    .fit-single-promo-card {
        padding: 28px;
    }
}
/* SHARE BAR */

.fit-promo-share {
    margin-top: 26px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.fit-promo-share span {
    color: rgba(255,255,255,.58);

    font-size: 11px;
    font-weight: 1000;

    text-transform: uppercase;
    letter-spacing: .12em;
}

.fit-promo-share a {
    min-height: 42px;
    padding: 0 16px;

    border-radius: 999px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    background: rgba(255,255,255,.06);

    border: 1px solid rgba(255,255,255,.08);

    text-decoration: none;

    font-size: 13px;
    font-weight: 800;

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease;
}

.fit-promo-share a:hover {
    transform: translateY(-3px);

    background: rgba(255,255,255,.10);

    border-color: rgba(212,170,70,.24);
}
.fit-save-deal-btn {
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    cursor: pointer;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: 14px;
    font-weight: 900;
    transition: .25s ease;
}

.fit-save-deal-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(212,170,70,.28);
    box-shadow: 0 0 24px rgba(212,170,70,.10);
}

.fit-save-deal-btn.saved {
    color: #161616;
    background: linear-gradient(135deg, var(--fit-gold), var(--fit-gold-light));
}

.fit-save-deal-btn.loading {
    opacity: .6;
    pointer-events: none;
}
.fit-single-promo-inner {
    padding-top: 80px;
}

.fit-single-promo-copy h1 {
    margin-bottom: 24px;
}

.fit-single-promo-actions {
    margin-top: 42px;
}
.fit-single-promo-logo {
    width: 220px;
    height: 220px;
}