/**
 * Unified Product Image Sizing
 * Ensures all product images have consistent dimensions across the site
 */

/* Single Product Page - Main Image */
.woocommerce div.product div.images,
.woocommerce-page div.product div.images {
    width: 100%;
}

.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
    border-radius: 8px;
}

/* Product Gallery */
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce-page div.product div.images .woocommerce-product-gallery__image {
    width: 100%;
    margin-bottom: 10px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce-page div.product div.images .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
    border-radius: 8px;
}

/* Product Thumbnails */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce-page div.product div.images .woocommerce-product-gallery__wrapper {
    display: flex;
    flex-direction: column;
}

.woocommerce div.product div.images .woocommerce-product-gallery__thumbnails a,
.woocommerce-page div.product div.images .woocommerce-product-gallery__thumbnails a {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 6px;
    margin-bottom: 10px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__thumbnails img,
.woocommerce-page div.product div.images .woocommerce-product-gallery__thumbnails img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Product Archive/Shop - Grid View */
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
    border-radius: 8px;
    margin-bottom: 15px;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link {
    display: block;
    width: 100%;
}

/* Product Cards in Custom Sections */
.livora-product-item img,
.livora-product-card img,
.livora-brand-product-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
    border-radius: 8px;
}

.livora-product-item .livora-product-image-wrapper,
.livora-product-card .livora-product-image-wrapper,
.livora-brand-product-card .livora-product-image-wrapper {
    width: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background-color: #f8f8f8;
}

.livora-product-item .livora-product-image-wrapper img,
.livora-product-card .livora-product-image-wrapper img,
.livora-brand-product-card .livora-product-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Variation Images */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
}

/* Elementor WooCommerce Widgets */
.elementor-widget-woocommerce-products .woocommerce ul.products li.product img,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
    border-radius: 8px;
}

/* Quick View Modal */
.lv-quick-view-product .lv-quick-view-images img,
.lv-quick-view-product .lv-main-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background-color: #f8f8f8;
    border-radius: 8px;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .woocommerce div.product div.images img,
    .woocommerce-page div.product div.images img {
        max-width: 100%;
    }
    
    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        max-width: 100%;
    }
}

/* Ensure consistent sizing for placeholder images */
.woocommerce img.placeholder,
.woocommerce-page img.placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    background-color: #f0f0f0;
}

/* Fix for missing image containers */
.woocommerce div.product div.images:empty::before,
.woocommerce-page div.product div.images:empty::before {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 100%;
    background-color: #f8f8f8;
    border-radius: 8px;
}

