
/*
 * 2.16.56 — Catalog Model-Row Hard Grid Reconstruction & Viewport Fit Lock
 * Authority is intentionally limited to the Home Catalog and marked model rows.
 */

body.slc-hc-21656-page {
    overflow-x: hidden !important;
}

body.slc-hc-21656-page #slc21617-rehost,
body.slc-hc-21656-page .slc21656-catalog-root {
    box-sizing: border-box !important;
    width: min(1320px, calc(100vw - 64px)) !important;
    max-width: calc(100vw - 64px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

body.slc-hc-21656-page .slc21656-catalog-root *,
body.slc-hc-21656-page #slc21617-rehost * {
    box-sizing: border-box;
    min-width: 0;
}

/* Hard authority over only the live model media rows detected by JS. */
body.slc-hc-21656-page .slc21656-model-row {
    display: grid !important;
    grid-template-columns: minmax(0, 2.15fr) minmax(250px, .85fr) !important;
    gap: 28px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow: visible !important;
}

body.slc-hc-21656-page .slc21656-primary-col,
body.slc-hc-21656-page .slc21656-support-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

body.slc-hc-21656-page .slc21656-model-row img {
    display: block;
    max-width: 100% !important;
    height: auto !important;
}

body.slc-hc-21656-page .slc21656-primary-col img {
    width: 100% !important;
    object-fit: contain !important;
}

body.slc-hc-21656-page .slc21656-support-col img {
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

/* Neutralize inherited fixed widths on descendants inside the support column. */
body.slc-hc-21656-page .slc21656-support-col > *,
body.slc-hc-21656-page .slc21656-support-col figure,
body.slc-hc-21656-page .slc21656-support-col div {
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Linden construction gallery remains a complete 3x2 presentation. */
body.slc-hc-21656-page .slc21626-gallery,
body.slc-hc-21656-page .slc21656-gallery {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.slc-hc-21656-page .slc21626-gallery img,
body.slc-hc-21656-page .slc21656-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: cover !important;
}

@media (max-width: 1180px) {
    body.slc-hc-21656-page #slc21617-rehost,
    body.slc-hc-21656-page .slc21656-catalog-root {
        width: calc(100vw - 36px) !important;
        max-width: calc(100vw - 36px) !important;
    }

    body.slc-hc-21656-page .slc21656-model-row {
        grid-template-columns: minmax(0, 1.8fr) minmax(210px, .8fr) !important;
        gap: 22px !important;
    }
}

@media (max-width: 820px) {
    body.slc-hc-21656-page #slc21617-rehost,
    body.slc-hc-21656-page .slc21656-catalog-root {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    body.slc-hc-21656-page .slc21656-model-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.slc-hc-21656-page .slc21626-gallery,
    body.slc-hc-21656-page .slc21656-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    body.slc-hc-21656-page #slc21617-rehost,
    body.slc-hc-21656-page .slc21656-catalog-root {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
    }

    body.slc-hc-21656-page .slc21626-gallery,
    body.slc-hc-21656-page .slc21656-gallery {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
