/* Only opted-in templates are changed; desktop and untouched collections keep WooCommerce's layout. */
@media (max-width: 767px) {
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-mobile-layout {
        display: grid !important;
        grid-template-columns: repeat(var(--casamar-mobile-columns, 2), minmax(0, 1fr)) !important;
    }
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-mobile-layout > :is(li, .wc-block-product) {
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-mobile-column-gap { column-gap: var(--casamar-mobile-column-gap) !important; }
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-mobile-row-gap { row-gap: var(--casamar-mobile-row-gap) !important; }
    :is(ul.casamar-catalog-grid,ul.products).has-casamar-mobile-layout::before,
    :is(ul.casamar-catalog-grid,ul.products).has-casamar-mobile-layout::after { content: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-tablet-layout {
        display: grid !important;
        grid-template-columns: repeat(var(--casamar-tablet-columns, 2), minmax(0, 1fr)) !important;
    }
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-tablet-layout > :is(li, .wc-block-product) {
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-tablet-column-gap { column-gap: var(--casamar-tablet-column-gap) !important; }
    :is(.wp-block-woocommerce-product-template,ul.casamar-catalog-grid,ul.products).has-casamar-tablet-row-gap { row-gap: var(--casamar-tablet-row-gap) !important; }
    :is(ul.casamar-catalog-grid,ul.products).has-casamar-tablet-layout::before,
    :is(ul.casamar-catalog-grid,ul.products).has-casamar-tablet-layout::after { content: none !important; }
}
