﻿.product-card, ._shop-product-card {
    border-radius: 1rem !important;
    overflow: hidden;
    border: none;
    transition: box-shadow .13s, border-color .13s;
    background: #fff;
}

    .product-card:hover, ._shop-product-card:hover {
        box-shadow: 0 10px 32px #0d6efd22, 0 2px 12px #0002;
        border-color: #0d6efd33;
        transform: translateY(-3px) scale(1.015);
    }

.product-image-container {
    aspect-ratio: 4/3;
    background: #f6f6f6;
    border-bottom: 1px solid #eee;
}

.product-main-img {
    aspect-ratio: 4/3;
    border-radius: 0;
    background: #fafafd;
    min-height: 180px;
    max-height: 600px;
    object-fit: cover;
    transition: .16s;
}

.product-img-zone {
    cursor: pointer;
    background: rgba(0,0,0,0.01);
    transition: background 0.11s;
}

    .product-img-zone:hover, .product-img-zone.img-zone-active {
        background: rgba(13,110,253,0.08);
    }

.card-badge-anim {
    animation: popin .7s cubic-bezier(.48,1.75,.42,.77);
    box-shadow: 0 1px 6px #0d6efd22;
}

@keyframes popin {
    0% {
        transform: scale(.7) rotate(-6deg);
        opacity: .4;
    }

    60% {
        transform: scale(1.15) rotate(2deg);
    }

    100% {
        transform: scale(1) rotate(0);
        opacity: 1;
    }
}

.product-card .card-body, ._shop-product-card .card-body {
    padding: 0.85rem 0.7rem 0.6rem 0.7rem;
    background: #fff;
}

.product-card .card-title, ._shop-product-card .card-title {
    font-size: 1.09rem;
    font-weight: 600;
    line-height: 1.3;
    min-height: 32px;
    max-width: 100%;
    letter-spacing: .01em;
}

.product-card:focus, ._shop-product-card:focus {
    outline: 2px solid #0d6efd88;
    outline-offset: 2px;
}
