/* Site-owned contract. Scoped !important declarations intentionally outrank family,
   responsive and legacy inline media geometry, never gallery/cart thumbnails. */
.ps60-theme-storefront .product-card { --product-card-media-inset: 12px; }
.ps60-theme-storefront.ps60--ranked .product-card { --product-card-media-inset: 4px; }
.el55-product-card.product-card { --product-card-media-inset: 1rem; }
.el32-product-card.product-card { --product-card-media-inset: 10px; height: auto !important; min-height: 0 !important; }
.related-product-item.product-card .related-product-image.product-card__media { width: 60px !important; flex: 0 0 60px; margin-inline-end: 10px; margin-inline-start: 0; }
.product-card .product-card__media .pr-mob-swiper { position: absolute; inset: 0; width: 100%; height: 100%; }
.product-card .product-card__media .pr-mob-swiper :is(.swiper-wrapper,.swiper-slide) { height: 100%; }
#product-listing .product-card--cover.card,
#product-listing .product-card--cover.card:hover { padding: 0 !important; }
.product-card.product-card--frameless { --product-card-media-inset: 0px !important; color: inherit; }
.ps60-theme-storefront .product-card--frameless :is(h4,.ps60__price strong,.ps60__price del) { color: inherit !important; }
.ps60-theme-storefront.ps60--ranked .ps60__rail { grid-template-rows: repeat(3, auto) !important; }
.product-card .product-card__media {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--product-card-ratio, 1/1) !important;
    padding: 0 !important;
    overflow: hidden;
    flex: none;
}
.product-card--cover .product-card__media { border: 0 !important; }
.product-card .product-card__media > a:not(.btn):not(.card-action):not(.video-trigger-element),
.product-card .product-card__media > .card-img-hover {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
}
.product-card .product-card__media img {
    position: absolute !important;
    inset: var(--product-card-media-inset, 0px) !important;
    display: block;
    width: calc(100% - 2 * var(--product-card-media-inset, 0px)) !important;
    height: calc(100% - 2 * var(--product-card-media-inset, 0px)) !important;
    inline-size: calc(100% - 2 * var(--product-card-media-inset, 0px)) !important;
    block-size: calc(100% - 2 * var(--product-card-media-inset, 0px)) !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: var(--product-card-fit, contain) !important;
    object-position: center !important;
    aspect-ratio: auto !important;
}
.product-card .product-card__media :is(.ps60__image-placeholder,.el55-product-card__image-placeholder,.el57-card__placeholder) {
    position: absolute; inset: 0; display: grid; place-items: center; width: 100%; height: 100%;
}
.product-card .product-card__media :is(.mobile-image-swiper,.swiper-wrapper,.swiper-slide) { height: 100% !important; }
.product-card .product-card__media > .mobile-image-swiper { position: absolute; inset: 0; }
.product-card.product-card--frameless,
.product-card.product-card--frameless:hover,
.product-card.product-card--frameless:focus-within {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.product-card--frameless :is(.product-card__media,.product-card__media img,.ps60-minimal-card__media,.card-body,.card-footer,.card-collapse-parent,.ps60__card-body,.el55-product-card__body,.el57-card__info,.el58-card__info) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.product-card--frameless .product-card__media > a:not(.btn):not(.card-action):not(.video-trigger-element) {
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.product-card--frameless :is(.ps60-minimal-card__media,.card-body,.card-footer,.ps60__card-body,.el55-product-card__body,.el57-card__info,.el58-card__info) {
    padding-inline: 0 !important;
}
.card-sharp:has(> .product-card--frameless) { border: 0 !important; background: transparent !important; box-shadow: none !important; }
