/* FitUI V2 — Single Listing Promotions */

body.fitui-v2-listing .fit-v2-promotions {
    position: relative;
    width: min(calc(100% - (var(--fit-gutter) * 2)), var(--fit-container));
    margin-inline: auto;
    padding-top: var(--fit-section-space);
    padding-bottom: var(--fit-section-space);
    scroll-margin-top: 220px;
}

body.fitui-v2-listing .fit-v2-promotions::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    border-top: 1px solid var(--fit-border-soft);
    border-bottom: 1px solid var(--fit-border-soft);
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--fit-gold-rgb), .075), transparent 32%),
        linear-gradient(180deg, rgba(15, 17, 20, .72), rgba(8, 11, 16, .72));
    transform: translateX(-50%);
    pointer-events: none;
}

body.fitui-v2-listing .fit-v2-promotions::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    width: min(720px, 64vw);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--fit-gold-rgb), .52), transparent);
    transform: translateX(-50%);
    pointer-events: none;
}

body.fitui-v2-listing .fit-v2-promotions__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(16px, 2vw, 26px);
}

body.fitui-v2-listing .fit-v2-promotions__grid > .fit-feature-card {
    min-height: 100%;
}

/* A single offer becomes a deliberate featured composition, not a lonely card. */
body.fitui-v2-listing .fit-v2-promotions__grid:has(> .fit-feature-card:only-child) {
    grid-template-columns: minmax(0, 980px);
    justify-content: center;
}

body.fitui-v2-listing .fit-v2-promotions__grid > .fit-feature-card:only-child:has(> .fit-feature-card__media) {
    min-height: 430px;
    display: grid;
    grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
    grid-template-rows: minmax(0, 1fr) auto;
}

body.fitui-v2-listing .fit-v2-promotions__grid > .fit-feature-card:only-child > .fit-feature-card__media {
    height: 100%;
    min-height: 430px;
    grid-row: 1 / -1;
    border-right: 1px solid var(--fit-border-soft);
    border-bottom: 0;
}

body.fitui-v2-listing .fit-v2-promotions__grid > .fit-feature-card:only-child:not(:has(> .fit-feature-card__media)) {
    width: min(100%, 760px);
    min-height: 370px;
    margin-inline: auto;
}

@media (max-width: 1020px) {
    body.fitui-v2-listing .fit-v2-promotions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.fitui-v2-listing .fit-v2-promotions__grid:has(> .fit-feature-card:only-child) {
        grid-template-columns: minmax(0, 980px);
    }
}

@media (max-width: 680px) {
    body.fitui-v2-listing .fit-v2-promotions {
        width: min(calc(100% - 36px), var(--fit-container));
        padding-top: 76px;
        padding-bottom: 76px;
        scroll-margin-top: 170px;
    }

    body.fitui-v2-listing .fit-v2-promotions__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    body.fitui-v2-listing .fit-v2-promotions__grid > .fit-feature-card:only-child:has(> .fit-feature-card__media) {
        min-height: 0;
        display: flex;
    }

    body.fitui-v2-listing .fit-v2-promotions__grid > .fit-feature-card:only-child > .fit-feature-card__media {
        height: 220px;
        min-height: 220px;
        border-right: 0;
        border-bottom: 1px solid var(--fit-border-soft);
    }
}
