/* Pro Dive Reliable Product Grid v1.9 */
.prodive-reliable-product-grid,
.prodive-reliable-product-grid * {
    box-sizing: border-box;
}

/* TheGem may output either ul.products/li.product or div.products/div.inline-column. */
.prodive-reliable-product-grid > ul.products,
.prodive-reliable-product-grid > .products,
.prodive-reliable-product-grid .products.row,
.prodive-reliable-product-grid .products.products-grid {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch !important;
    gap: var(--prpg-grid-gap, 32px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.prodive-reliable-product-grid--columns-1 > .products,
.prodive-reliable-product-grid--columns-1 .products.row { grid-template-columns: minmax(0, 1fr) !important; }
.prodive-reliable-product-grid--columns-2 > .products,
.prodive-reliable-product-grid--columns-2 .products.row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.prodive-reliable-product-grid--columns-3 > .products,
.prodive-reliable-product-grid--columns-3 .products.row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.prodive-reliable-product-grid--columns-4 > .products,
.prodive-reliable-product-grid--columns-4 .products.row { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.prodive-reliable-product-grid--columns-5 > .products,
.prodive-reliable-product-grid--columns-5 .products.row { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.prodive-reliable-product-grid--columns-6 > .products,
.prodive-reliable-product-grid--columns-6 .products.row { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

.prodive-reliable-product-grid .products::before,
.prodive-reliable-product-grid .products::after {
    content: none !important;
    display: none !important;
}

/* Reset both standard WooCommerce cards and TheGem inline-column cards. */
.prodive-reliable-product-grid .products > li.product,
.prodive-reliable-product-grid .products > .product,
.prodive-reliable-product-grid .products > .inline-column,
.prodive-reliable-product-grid .products > .prpg-product-card {
    float: none !important;
    clear: none !important;
    display: block !important;
    width: auto !important;
    flex: none !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: relative !important;
    align-self: stretch !important;
}

/* Extra protection if cached HTML still contains Bootstrap classes. */
.prodive-reliable-product-grid .products > [class*="col-xs-"],
.prodive-reliable-product-grid .products > [class*="col-sm-"],
.prodive-reliable-product-grid .products > [class*="col-md-"],
.prodive-reliable-product-grid .products > [class*="col-lg-"] {
    width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
}

.prodive-reliable-product-grid .product-inner,
.prodive-reliable-product-grid .product-image,
.prodive-reliable-product-grid .product-info,
.prodive-reliable-product-grid .product-bottom {
    min-width: 0 !important;
    max-width: 100% !important;
}

.prodive-reliable-product-grid .product-image {
    position: relative;
    display: block;
}

.prodive-reliable-product-grid .product-labels {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    z-index: 20 !important;
}

.prodive-reliable-product-grid .product-title,
.prodive-reliable-product-grid .product-price,
.prodive-reliable-product-grid [class*="stock"],
.prodive-reliable-product-grid [class*="availability"] {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 820px) {
    .prodive-reliable-product-grid--columns-4 > .products,
    .prodive-reliable-product-grid--columns-5 > .products,
    .prodive-reliable-product-grid--columns-6 > .products,
    .prodive-reliable-product-grid--columns-4 .products.row,
    .prodive-reliable-product-grid--columns-5 .products.row,
    .prodive-reliable-product-grid--columns-6 .products.row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .prodive-reliable-product-grid > .products,
    .prodive-reliable-product-grid .products.row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--prpg-grid-gap-tablet, 22px) !important;
    }
}

@media (max-width: 480px) {
    .prodive-reliable-product-grid > .products,
    .prodive-reliable-product-grid .products.row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: var(--prpg-grid-gap-mobile, 18px) !important;
    }
}
