/* Keep the mobile-to-desktop image transition from cross-fading both photos. */
.residus-grid-resizing .nm-shop-loop-thumbnail .nm-shop-hover-image {
    transition: none !important;
}
@media (min-width: 750px) {
    .residus-grid-resizing .nm-shop-loop-thumbnail .nm-shop-hover-image {
        opacity: 0 !important;
    }
}
/* Hide mobile controls immediately while the debounced resize handler removes them. */
@media not all and (max-width: 749.98px) {
    .nm-shop-loop-thumbnail > .nm-mobile-slider-arrow { display: none !important; }
}
/* Consistent inset keeps every text row inside its image at intermediate widths. */
.nm-products .nm-shop-loop-details {
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    margin-left: 12px !important;
    margin-right: 12px !important;
}
.nm-products .nm-shop-loop-title-price {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding-right: 0 !important;
}
.nm-products .nm-shop-loop-title-price > .woocommerce-loop-product__title {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    left: 0;
}
.nm-products .nm-shop-loop-title-price > .woocommerce-loop-product__title a {
    overflow-wrap: anywhere;
}
/* Keep price and colour availability on one shared baseline. */
.nm-products .nm-shop-loop-title-price > .woocommerce-loop-product__title {
    min-height: 24px;
    line-height: 12px !important;
}
.nm-shop-loop-title-price {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto 16px;
    align-items: baseline;
    column-gap: 8px;
}
.nm-shop-loop-title-price > .woocommerce-loop-product__title,
.nm-shop-loop-title-price > .star-rating { grid-column: 1 / -1; }
.nm-shop-loop-title-price > .price { grid-column: 1; grid-row: 2; min-width: 0; }
.nm-shop-loop-title-price > .residus-grid-lengths,
.nm-shop-loop-title-price > .residus-grid-colours {
    grid-column: 2;
    grid-row: 2;
    color: #666;
    font: normal 10px/1.6 Helvetica, Arial, sans-serif;
    letter-spacing: .3px;
    white-space: nowrap;
    text-align: right;
    text-decoration: none;
}
.nm-shop-loop-title-price > .residus-grid-lengths { grid-row: 3; }
.nm-shop-loop-title-price > .residus-grid-lengths:focus-visible { outline: 1px solid #666; outline-offset: 3px; }
.nm-shop-loop-title-price > .residus-grid-lengths:hover,
.nm-shop-loop-title-price > .residus-grid-colours:hover { color: #222; text-decoration: underline; text-underline-offset: 3px; }
.nm-shop-loop-title-price > .residus-grid-colours:focus-visible { outline: 1px solid #666; outline-offset: 3px; }
