/* Product card: photo fills the whole card, no background visible */
.single-product .product-img{
    position:relative !important;
    overflow:hidden !important;
    aspect-ratio:3/4;
    border-radius:16px !important;
    background:transparent !important;
    box-shadow:0 8px 24px rgba(17,17,17,.10) !important;
    transition:box-shadow .35s ease, transform .35s ease;
}
.single-product:hover .product-img{
    box-shadow:0 16px 36px rgba(17,17,17,.18) !important;
}
.single-product .product-img > a{
    display:block !important;
    position:relative;
    width:100%;
    height:100%;
}
.single-product .product-img > a img.default-img,
.single-product .product-img > a img.hover-img{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block;
}
.single-product .product-img > a img.default-img{
    z-index:0;
    transition:transform .7s ease;
}
.single-product:hover .product-img > a img.default-img{
    transform:scale(1.06);
}
.single-product .product-img > a img.hover-img{
    z-index:1;
}
/* soft shade on the bottom so action buttons stay readable */
.single-product .product-img::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:35%;
    background:linear-gradient(to top, rgba(0,0,0,.28), rgba(0,0,0,0));
    opacity:0;
    transition:opacity .35s ease;
    pointer-events:none;
    z-index:2;
}
.single-product:hover .product-img::after{
    opacity:1;
}
.single-product .product-img .button-head{
    z-index:4;
}
