/**
 * RCS v2.2.23 — WooCommerce product archive grid correction.
 * WooCommerce clearfix pseudo-elements become grid items when ul.products is
 * changed to display:grid. Remove them so real products start in column one.
 */

/* WooCommerce's clearfix must never occupy a CSS-grid cell. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.tax-product_cat .woocommerce ul.products::before,
.tax-product_cat .woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

/* Make every product a clean grid item, regardless of WooCommerce first/last classes. */
.tax-product_cat .woocommerce ul.products {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
}

.tax-product_cat .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product.first,
.tax-product_cat .woocommerce ul.products li.product.last {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
}

/* The four AquaBplus systems are one family: keep them together on desktop. */
@media (min-width: 1181px) {
    .tax-product_cat.term-water-treatment-systems .rcs-product-archive-main > .rcs-container {
        width: min(1360px, calc(100% - 64px)) !important;
        max-width: 1360px !important;
    }

    .tax-product_cat.term-water-treatment-systems .woocommerce ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    .tax-product_cat.term-water-treatment-systems .woocommerce ul.products li.product .rcs-product-loop-image {
        height: 300px !important;
        min-height: 300px !important;
        padding: 18px !important;
    }
}

/* Two balanced columns on smaller laptops/tablets. */
@media (min-width: 768px) and (max-width: 1180px) {
    .tax-product_cat.term-water-treatment-systems .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }
}

/* Single-column catalogue on phones. */
@media (max-width: 767px) {
    .tax-product_cat.term-water-treatment-systems .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }
}

/* Keep action areas aligned even when product titles/descriptions differ. */
.tax-product_cat.term-water-treatment-systems .rcs-product-loop-card {
    display: flex !important;
    flex-direction: column !important;
}

.tax-product_cat.term-water-treatment-systems .rcs-product-loop-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

.tax-product_cat.term-water-treatment-systems .rcs-product-loop-actions {
    margin-top: auto !important;
}
