/* MouSou Speed + WebP + Lazy + Product Images */

img {
    max-width: 100%;
}

.product-stock-line,
.in-stock,
.out-stock,
.mousou-stock-status,
[class*="stock"] {
    font-weight: 800;
}

.mousou-stock-status {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 12px;
    line-height: 1;
}

.mousou-stock-status.is-available,
.in-stock {
    background: #eefbf1 !important;
    color: #147a34 !important;
    border: 1px solid #ccefd5 !important;
}

.mousou-stock-status.is-unavailable,
.out-stock {
    background: #fff0f0 !important;
    color: #c62828 !important;
    border: 1px solid #ffd1d1 !important;
}

.product-card-modern img,
.product-card-compact img,
.product-img-modern,
.product-img-compact {
    object-fit: contain !important;
    background: #f7f8fb !important;
    transition: transform .25s ease;
}

.product-card-modern:hover img,
.product-card-compact:hover img {
    transform: scale(1.03);
}

.detail-main-image,
.detail-thumb img,
.product-gallery img,
.product-images img,
.main-product-image img {
    object-fit: contain !important;
    background: #f7f8fb !important;
}

.detail-main-image {
    cursor: zoom-in;
    border-radius: 22px !important;
}

.detail-thumb {
    cursor: pointer;
    border: 2px solid transparent !important;
    border-radius: 14px !important;
    overflow: hidden;
    transition: .2s ease;
}

.detail-thumb:hover,
.detail-thumb.is-active {
    border-color: #10213f !important;
    transform: translateY(-2px);
}

.mousou-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.88);
    z-index: 20000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.mousou-lightbox.is-open {
    display: flex;
}

.mousou-lightbox img {
    max-width: min(96vw, 980px);
    max-height: 88vh;
    object-fit: contain;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0,0,0,.45);
}

.mousou-lightbox-close {
    position: fixed;
    top: 18px;
    left: 18px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
}

@media (max-width: 768px) {
    .detail-main-image,
    .detail-image-placeholder,
    .product-gallery img,
    .product-images img,
    .main-product-image img {
        height: 280px !important;
        max-height: 280px !important;
        object-fit: contain !important;
    }

    .detail-thumb img {
        height: 70px !important;
        object-fit: contain !important;
    }

    .product-img-modern {
        height: 185px !important;
        object-fit: contain !important;
    }

    .product-img-compact {
        height: 155px !important;
        object-fit: contain !important;
    }
}

@media (max-width: 420px) {
    .detail-main-image,
    .detail-image-placeholder,
    .product-gallery img,
    .product-images img,
    .main-product-image img {
        height: 245px !important;
        max-height: 245px !important;
    }

    .detail-thumb img {
        height: 62px !important;
    }
}
