/* Victor Scientific storefront performance and interaction layer.
 * Uses the project's real Blade card selectors. No JS animation loop and no
 * layout-affecting animation properties are used.
 */
:root {
    --vsc-motion-fast: 150ms;
    --vsc-motion-standard: 190ms;
    --vsc-motion-ease: cubic-bezier(.2,.7,.2,1);
}

/* Main catalogue cards (home, all-products and category listings). */
.main_product_inner .product_item,
.product_item.wist_item {
    transition: transform var(--vsc-motion-standard) var(--vsc-motion-ease),
                box-shadow var(--vsc-motion-standard) var(--vsc-motion-ease),
                border-color var(--vsc-motion-fast) ease;
    backface-visibility: hidden;
}
.main_product_inner .product_item .pro_img img,
.product_item.wist_item .pro_img img {
    transition: transform 230ms var(--vsc-motion-ease);
    transform-origin: center;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .main_product_inner .product_item:hover,
    .product_item.wist_item:hover {
        transform: translate3d(0, -3px, 0);
        box-shadow: 0 12px 26px rgba(15, 23, 42, .10);
    }
    .main_product_inner .product_item:hover .pro_img img,
    .product_item.wist_item:hover .pro_img img {
        transform: scale(1.025);
    }
}

/* Touch feedback is immediate and does not rely on hover emulation. */
@media (hover: none) {
    .main_product_inner .product_item:active,
    .product_item.wist_item:active {
        transform: scale(.992);
    }
}

/* Homepage's bespoke product cards retain their existing geometry. */
.vsc-product-card {
    transition: transform var(--vsc-motion-standard) var(--vsc-motion-ease),
                box-shadow var(--vsc-motion-standard) var(--vsc-motion-ease),
                border-color var(--vsc-motion-fast) ease;
    backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .vsc-product-card:hover {
        transform: translate3d(0, -4px, 0);
        box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
    }
    .vsc-product-card:hover .vsc-product-card__media img {
        transform: scale(1.035);
    }
}
.vsc-product-card__media img {
    transition: transform 260ms var(--vsc-motion-ease);
    transform-origin: center;
}

/* Clear keyboard focus without changing normal pointer appearance. */
.product_item :where(a, button):focus-visible,
.vsc-product-card :where(a, button):focus-visible {
    outline: 2px solid var(--site-primary, #0b3b82);
    outline-offset: 3px;
}

/* Respect system motion preferences and avoid expensive global effects. */
@media (prefers-reduced-motion: reduce) {
    .main_product_inner .product_item,
    .product_item.wist_item,
    .main_product_inner .product_item .pro_img img,
    .product_item.wist_item .pro_img img,
    .vsc-product-card,
    .vsc-product-card__media img {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
