/* Keep the entire image inside the frame, independently of intrinsic grid sizing. */
:is(.product-image, .catalog-detail-media, .product-detail-media, .catalog-mini-card-media) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
:is(.product-image, .catalog-detail-media, .product-detail-media, .catalog-mini-card-media) > :is(img, picture),
:is(.product-image, .catalog-detail-media, .product-detail-media, .catalog-mini-card-media) > picture > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.product-image-reflection {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    filter: blur(12px);
    transform: scale(1.08);
    opacity: 0.8;
}
