/* FitUI V2 — Single Listing foundation */

body.fitui-v2-listing {
    background: var(--fit-bg-deep);
}

body.fitui-v2-listing .fit-listing-v2 {
    --fit-listing-section-space: clamp(62px, 6.4vw, 92px);
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: 100vh;
    overflow: visible;
    background:
        radial-gradient(circle at 16% 16%, rgba(var(--fit-gold-rgb), .045), transparent 24%),
        linear-gradient(180deg, var(--fit-bg-deep), var(--fit-bg));
    color: var(--fit-text);
}

body.fitui-v2-listing .fit-listing-v2,
body.fitui-v2-listing .fit-listing-v2 button,
body.fitui-v2-listing .fit-listing-v2 input,
body.fitui-v2-listing .fit-listing-v2 select,
body.fitui-v2-listing .fit-listing-v2 textarea {
    font-family: var(--fit-font-sans);
}

body.fitui-v2-listing .fit-listing-v2 img {
    max-width: 100%;
}

/* Reusable Listing section heading */

body.fitui-v2-listing .fit-v2-section-head {
    max-width: 760px;
    margin-bottom: clamp(34px, 4vw, 54px);
}

body.fitui-v2-listing .fit-v2-section-head .fit-badge {
    margin-bottom: 17px;
}

body.fitui-v2-listing .fit-v2-section-head h2 {
    margin: 0 !important;
    color: var(--fit-text) !important;
    font-family: var(--fit-font-display);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: var(--fit-weight-black);
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.fitui-v2-listing .fit-v2-section-head p {
    max-width: 660px;
    margin: 20px 0 0 !important;
    color: var(--fit-text-muted) !important;
    font-size: var(--fit-text-base);
    line-height: 1.75;
    text-wrap: balance;
}

body.fitui-v2-listing .fit-v2-section-head--center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

body.fitui-v2-listing .fit-v2-section-head--center p {
    margin-right: auto !important;
    margin-left: auto !important;
}

/*
 * Pro density pass.
 * Adjacent sections previously combined two large padding values and made
 * listings with limited content feel unfinished. This keeps the cinematic
 * rhythm while bringing the conversion content closer together.
 */
body.fitui-v2-listing .fit-v2-experience {
    padding-top: clamp(112px, 10vw, 154px);
    padding-bottom: var(--fit-listing-section-space);
}

body.fitui-v2-listing .fit-v2-about,
body.fitui-v2-listing .fit-v2-services,
body.fitui-v2-listing .fit-v2-visit,
body.fitui-v2-listing .fit-v2-promotions,
body.fitui-v2-listing .fit-v2-events,
body.fitui-v2-listing .fit-reviews,
body.fitui-v2-listing .fit-v2-final {
    padding-top: var(--fit-listing-section-space);
    padding-bottom: var(--fit-listing-section-space);
}

body.fitui-v2-listing .fit-v2-about {
    padding-top: clamp(58px, 5.6vw, 82px);
}

body.fitui-v2-listing .fit-v2-business-nav + .fit-v2-about {
    padding-top: clamp(112px, 10vw, 154px);
}

/* Optional rating block supported by the Listing Pro hero markup. */
body.fitui-v2-listing .fit-v2-hero__social-proof {
    margin-top: 18px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--fit-text-muted);
    font-size: var(--fit-text-sm);
    font-weight: var(--fit-weight-bold);
}

body.fitui-v2-listing .fit-v2-hero__social-proof strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--fit-gold-light);
    font-size: var(--fit-text-base);
    font-weight: var(--fit-weight-black);
}

body.fitui-v2-listing .fit-v2-hero__social-proof span {
    padding-left: 10px;
    border-left: 1px solid var(--fit-border-strong);
}

@media (max-width: 680px) {
    body.fitui-v2-listing .fit-listing-v2 {
        --fit-listing-section-space: 66px;
    }

    body.fitui-v2-listing .fit-v2-experience {
        padding-top: 104px;
        padding-bottom: var(--fit-listing-section-space);
    }

    body.fitui-v2-listing .fit-v2-about,
    body.fitui-v2-listing .fit-v2-services,
    body.fitui-v2-listing .fit-v2-visit,
    body.fitui-v2-listing .fit-v2-promotions,
    body.fitui-v2-listing .fit-v2-events,
    body.fitui-v2-listing .fit-reviews,
    body.fitui-v2-listing .fit-v2-final {
        padding-top: var(--fit-listing-section-space);
        padding-bottom: var(--fit-listing-section-space);
    }

    body.fitui-v2-listing .fit-v2-business-nav + .fit-v2-about {
        padding-top: 104px;
    }

    body.fitui-v2-listing .fit-v2-section-head {
        margin-bottom: 30px;
    }

    body.fitui-v2-listing .fit-v2-section-head h2 {
        font-size: clamp(38px, 12vw, 52px);
    }

    body.fitui-v2-listing .fit-v2-section-head p {
        margin-top: 16px !important;
        font-size: var(--fit-text-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.fitui-v2-listing .fit-listing-v2 *,
    body.fitui-v2-listing .fit-listing-v2 *::before,
    body.fitui-v2-listing .fit-listing-v2 *::after {
        scroll-behavior: auto !important;
    }
}
