/* Match the bounded OSS preview canvas without stretching or cropping products. */
.model-gallery .item .mod-pic {
    width: 100%;
    height: auto !important;
    aspect-ratio: 21 / 16;
    overflow: hidden;
    border-radius: 8px;
    background: #f0f2f5;
}
.model-gallery .item .mod-pic > a { width: 100%; height: 100%; display: block; }
.model-gallery .item .mod-pic img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: contain;
}
.page-index .gallery-sm .item { height: auto !important; }
.panel-product .col-2 .weui-media-box__hd { height: auto; aspect-ratio: 21 / 16; }
.panel-product .col-2 .weui-media-box__thumb {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 21 / 16;
    object-fit: contain;
    background: #f0f2f5;
}
.items-cate .item img { display: block; width: 100%; height: 200px; object-fit: contain; background: #f0f2f5; }
#js_slider .swiper-slide { background-position: center; background-size: cover; }
.carousel-caption {
    position: absolute;
    left: 6%;
    bottom: 45px;
    max-width: 85%;
    padding: 8px 14px;
    border-radius: 8px;
    color: #fff;
    background: rgba(0, 0, 0, .38);
    font-size: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.slider-index .swiper-slide img { display: block; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }
.slider-index .carousel-caption { left: 12px; bottom: 22px; max-width: 80%; font-size: 13px; padding: 5px 8px; }
