/* Product recommendations: one compact row, native horizontal scrolling. */
body.single-product .upsells.products {
    padding:24px 0 20px;
}
body.single-product .upsells.products h2 {
    font-size:18px;
    font-weight:400;
    line-height:1.4;
    letter-spacing:.035em;
    margin:0 0 14px;
    padding:0;
}
body.single-product .upsells.products .residus-curated-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
    min-height:32px;
}
body.single-product .upsells.products .residus-curated-heading h2 { margin:0; }
body.single-product .upsells.products ul.nm-products.products {
    --residus-curated-columns:4;
    display:grid !important;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - (var(--residus-curated-columns) - 1) * 1px) / var(--residus-curated-columns));
    grid-template-columns:none;
    gap:1px;
    width:100%;
    margin:0;
    padding:0 0 8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#c7c7c7 transparent;
}
body.single-product .upsells.products ul.nm-products.products::before,
body.single-product .upsells.products ul.nm-products.products::after { display:none; }
body.single-product .upsells.products ul.nm-products.products > li.product {
    float:none !important;
    clear:none !important;
    width:auto !important;
    min-width:0;
    margin:0 !important;
    padding:0 0 12px !important;
    scroll-snap-align:start;
}
/* Let horizontal gestures move the recommendation row; image arrows still work. */
body.single-product .upsells.products .nm-shop-loop-thumbnail a.nm-shop-loop-thumbnail-link {
    overflow-x:hidden;
}
body.single-product .upsells.products .nm-shop-loop-details {
    margin:8px 0 0 !important;
    padding:0 8px;
    min-height:0;
}
body.single-product .upsells.products .nm-shop-loop-title-price { padding:0; }
body.single-product .upsells.products .woocommerce-loop-product__title {
    margin:0;
    padding:0;
    line-height:1.5;
}
body.single-product .upsells.products .nm-shop-loop-title-link {
    font-size:10px;
    line-height:1.5;
    letter-spacing:.06em;
}
body.single-product .upsells.products .price {
    font-size:10px;
    line-height:1.5;
    margin-top:3px;
}
body.single-product .upsells.products .nm-shop-loop-actions { margin-top:3px; }
body.single-product .upsells.products .residus-curated-controls { display:flex; gap:4px; flex-shrink:0; }
body.single-product .upsells.products .residus-curated-controls[hidden] { display:none !important; }
body.single-product .upsells.products .residus-curated-arrow {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:32px;
    min-width:0;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:#282828;
    box-shadow:none;
    cursor:pointer;
}
body.single-product .upsells.products .residus-curated-arrow:disabled { opacity:.25; cursor:default; }
body.single-product .upsells.products .residus-curated-arrow:focus-visible { outline:1px solid currentColor; outline-offset:2px; }
body.single-product .upsells.products .residus-curated-arrow svg { width:18px; height:18px; }
@media (min-width:768px) and (max-width:1199px) {
    body.single-product .upsells.products ul.nm-products.products { --residus-curated-columns:3; }
}
@media (max-width:767px) {
    body.single-product .upsells.products ul.nm-products.products { --residus-curated-columns:2; }
    body.single-product .upsells.products { padding-top:32px; }
    body.single-product .upsells.products h2 { font-size:16px; }
    body.single-product .upsells.products .residus-curated-heading { margin-bottom:10px; }
}
