/* Version 3.6: native shop cards, full available content width.
   A new filename prevents reuse of older cached recommendation CSS. */
html body .cvsg-wrapper.cvsg-full-width {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 40px 0 !important;
}
/* Keep the original calculator's 1200 px maximum and 20 px horizontal padding. */
html body .cvsg-wrapper.cvsg-full-width > .cvsg-calculator-section {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}
html body .cvsg-full-width > .cvsg-recommendations {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.cvsg-recommendations {
    margin-top: 42px;
    padding-top: 38px;
    border-top: 1px solid #735346;
}
.cvsg-recommendations,
.cvsg-recommendations *,
.cvsg-recommendations *::before,
.cvsg-recommendations *::after { box-sizing: border-box; }
.cvsg-recommendations [hidden] { display: none !important; }
.cvsg-recommendations-head {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: flex-end;
    margin-bottom: 24px;
}
.cvsg-recommendations-eyebrow {
    margin: 0 0 8px;
    color: #735346;
    font-size: 0.74em;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.cvsg-recommendations h3 {
    margin: 0;
    color: #000;
    font-family: "Libre Baskerville", serif;
    font-size: clamp(1.55rem, 2.5vw, 2.1rem);
    font-weight: 500;
    line-height: 1.2;
}
.cvsg-recommendations-head > p {
    max-width: 230px;
    margin: 0;
    color: #735346;
    font-size: 0.87em;
    text-align: right;
}
.cvsg-recommendations .cvsg-color-filter { max-width: 360px; margin-bottom: 24px; }
.cvsg-recommendations select {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid #735346;
    border-radius: 0;
    background: transparent;
    color: #000;
    font: inherit;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}
.cvsg-recommendations select:focus-visible { outline: 2px solid #735346; outline-offset: 2px; }

/* Three cards plus two 2% gaps fill the entire row. Incomplete rows stay centered.
   Strong scoped selectors neutralize Salient's native first/last widths and margins. */
.cvsg-recommendations .cvsg-shop-products { line-height: 25px; }
html body .cvsg-full-width .cvsg-recommendations .woocommerce.cvsg-shop-products {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products[data-cvsg-products] {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start;
    column-gap: 2%;
    row-gap: 24px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products[data-cvsg-products]::before,
html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products[data-cvsg-products]::after { display: none !important; }
html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products li.product[data-cvsg-product] {
    float: none !important;
    clear: none !important;
    flex: 0 0 32% !important;
    width: 32% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
}
/* Native content-product.php supplies the shop image, title, price and hover UI. */
.cvsg-recommendations .cvsg-product-details { margin: 0 25px 12px; }
.cvsg-product-status {
    display: inline-block;
    margin: 0 0 7px;
    padding: 3px 7px;
    background: #f1eee9;
    color: #735346;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-transform: uppercase;
}
.cvsg-product-status[data-status="recommended"] { background: #e6efec; color: #315d57; }
.cvsg-product-status[data-status="tall"] { background: #f5e8e4; color: #8b4d3f; }
.cvsg-recommendations .cvsg-product-dimensions { margin: 0; color: #735346; font-size: 0.83em; line-height: 1.5; }
.cvsg-recommendations li.is-too-tall .cvsg-product-details { opacity: 0.7; }
.cvsg-recommendations .cvsg-more-button {
    display: block;
    margin: 25px auto 0;
    padding: 12px 24px;
    border: 2px solid #735346;
    border-radius: 0;
    background: #735346;
    color: #fff;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
}
.cvsg-recommendations .cvsg-more-button:hover,
.cvsg-recommendations .cvsg-more-button:focus-visible { background: transparent; color: #735346; }
.cvsg-recommendations-empty { padding: 24px; border: 1px solid #735346; text-align: center; }
@media (min-width: 691px) and (max-width: 999px) {
    html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products li.product[data-cvsg-product] {
        flex-basis: 49% !important;
        width: 49% !important;
    }
}
@media (max-width: 690px) {
    .cvsg-recommendations { margin-top: 30px; padding-top: 28px; }
    .cvsg-recommendations-head { flex-direction: column; align-items: stretch; }
    .cvsg-recommendations-head > p { max-width: none; text-align: left; }
    html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products[data-cvsg-products] { row-gap: 20px; }
    html body .cvsg-full-width .cvsg-recommendations .woocommerce ul.products li.product[data-cvsg-product] {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}
@media (max-width: 480px) {
    html body .cvsg-wrapper.cvsg-full-width { padding-top: 20px !important; padding-bottom: 20px !important; }
    html body .cvsg-wrapper.cvsg-full-width > .cvsg-calculator-section { padding-left: 15px; padding-right: 15px; }
}
