/**
 * Product Image Uniform Sizing
 * Ensures all product images display in consistent 196x196px boxes
 * Maintains aspect ratio using object-fit
 */

/* Product Image Container */
.single_product .product-img {
    position: relative;
    width: 100%;
    max-width: 196px;
    height: 196px;
    overflow: hidden;
    display: block;
    margin: 0 auto;
}

/* Product Image Link */
.single_product .product-img a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

/* Primary and Secondary Images */
.single_product .product-img img.primary-img,
.single_product .product-img img.secondary-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: opacity 0.3s ease;
}

/* Secondary Image (Hidden by default, shows on hover) */
.single_product .product-img img.secondary-img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 1;
}

/* Show secondary image on hover */
.single_product .product-img:hover img.secondary-img {
    opacity: 1;
}

.single_product .product-img:hover img.primary-img {
    opacity: 0;
}

/* Stickers (badges) positioning */
.single_product .product-img .sticker,
.single_product .product-img .sticker-2 {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10;
}

/* Action buttons */
.single_product .product-img .add-actions {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

/* Responsive Sizing */
@media (max-width: 1199px) {
    .single_product .product-img {
        max-width: 180px;
        height: 180px;
    }
}

@media (max-width: 991px) {
    .single_product .product-img {
        max-width: 170px;
        height: 170px;
    }
}

@media (max-width: 767px) {
    .single_product .product-img {
        max-width: 160px;
        height: 160px;
    }
}

@media (max-width: 575px) {
    .single_product .product-img {
        max-width: 100%;
        height: 200px;
    }
}

@media (max-width: 480px) {
    .single_product .product-img {
        height: 180px;
    }
}

/* Ensure product content doesn't affect sizing */
.single_product .hiraola-product_content {
    width: 100%;
    padding-top: 15px;
}

/* List view compatibility (if needed) */
.list-slide_item .single_product .product-img {
    max-width: 150px;
    height: 150px;
}

/* Loading state for lazy images */
.single_product .product-img img[loading="lazy"] {
    background: #f5f5f5;
}

/* Fallback for images without dimensions */
.single_product .product-img img {
    max-width: 100%;
    height: auto;
    min-height: 100%;
}

/* Override any conflicting styles from main stylesheet */
.slide-item .single_product .product-img img,
.hiraola-product_slider .slide-item .single_product .product-img img,
.hiraola-product-tab_slider-2 .slide-item .single_product .product-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Ensure consistent product card height */
.single_product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.single_product .product-img {
    flex-shrink: 0;
}

/* Additional actions overlay positioning */
.single_product .product-img .additional-add_action {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 10;
}

