/* Keep product listing images consistent across homepage carousels and grid pages. */
.main .product.product-2 {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.main .product.product-2 .product-media {
    width: 100%;
    aspect-ratio: 5 / 6;
    min-height: 18rem;
    max-height: 41.5rem;
    padding: clamp(1rem, 1.2vw + 0.6rem, 1.8rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

.main .product.product-2 .product-media > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.main .product.product-2 .product-media .product-image,
.main .product.product-2 .product-media .product-image-hover {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
}

.main .product.product-2 .product-media .product-image-hover {
    inset: 0;
}

.main .product.product-2 .product-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
