/* =========================================
   SAPASPUR — REMOVE PRODUCT IMAGE BLANK GAP
   ========================================= */

/* Product image area */
.woocommerce ul.products li.product .product-element-top,
.product-grid-item .product-element-top,
.wd-product .product-element-top,
.wd-products .product-element-top {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
}

/* Image link must fill the full container */
.woocommerce ul.products li.product .product-image-link,
.product-grid-item .product-image-link,
.wd-product .product-image-link {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Make the actual product image fill everything */
.woocommerce ul.products li.product .product-image-link img,
.product-grid-item .product-image-link img,
.wd-product .product-image-link img,
.wd-products .product-image-link img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
}

/* Remove WoodMart spacer elements that can create the white cut */
.product-element-top::before,
.product-element-top::after,
.product-image-link::before,
.product-image-link::after {
    content: none !important;
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
}

/* Put gallery dots ON the image */
.product-element-top .owl-dots,
.product-element-top .swiper-pagination,
.product-element-top .wd-carousel-dots {
    position: absolute !important;
    z-index: 20 !important;
    left: 50% !important;
    bottom: 10px !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
}

/* MOBILE — 2 cards */
@media (max-width: 767px) {

    .woocommerce ul.products,
    .wd-products,
    .products.wd-products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .woocommerce ul.products li.product,
    .wd-products .product-grid-item {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

/* DESKTOP — prevent excessively tall product images */
@media (min-width: 768px) {

    .woocommerce ul.products li.product .product-element-top,
    .product-grid-item .product-element-top,
    .wd-product .product-element-top {
        aspect-ratio: 4 / 5 !important;
        max-height: 520px !important;
    }
}