/* Card frame, preview and decoded image occupy exactly the same rectangle. */
html body li.rcs-product-card .rcs-product-card__media {
  position: relative !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
}
html body li.rcs-product-card .rcs-product-card__media > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background-size: cover !important;
}
/* One full-width 4:5 PDP frame; zoom retains the complete photograph. */
html body.single-product .rcp-gal .rcp-stage {
  position: relative;
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 5;
}
html body.single-product .rcp-gal .rcp-main {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background-size: cover !important;
}
html body.single-product .rcp-gal .rcp-vig { box-shadow: none; }
/* Touch feedback changes only the photograph, never its frame or preview. */
@media (prefers-reduced-motion: no-preference) {
  html body li.rcs-product-card .rcs-product-card__link .rcs-product-card__media > img {
    transition: transform 180ms ease-out, filter 120ms ease-out !important;
  }
  html body li.rcs-product-card .rcs-product-card__link:active .rcs-product-card__media > img {
    transform: scale(1.015) !important;
    filter: brightness(.97) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body li.rcs-product-card .rcs-product-card__link .rcs-product-card__media > img {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}
