/* Zynto Bazaar v23.4 — Normalized Full Product Media
   One stable 4:5 listing frame. Listing derivatives are already composed at 4:5,
   so the complete original product photo remains visible without card-dependent cropping. */

body.zynto-ui :is(.z13-product-media,.zpk-media,.product-media){
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4/5!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  background:#f1eee9!important;
  box-sizing:border-box!important;
}

/* Homepage card: the link owns exactly the media frame, not the whole product card. */
body.zynto-ui .z13-product-media>a{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}

/* Collection/default cards: link remains in normal document flow. */
body.zynto-ui :is(.zpk-card.product-card-pro,.product.product-v2.product-card-pro) > :is(.zpk-media-link,.product-link){
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
}

/* The listing picture always fills the one 4:5 media box. Because the source itself
   is normalized to 4:5, contain/cover cannot cut the original product photograph. */
body.zynto-ui .z13-product-media>a>img.z234-card-img,
body.zynto-ui .zpk-media>img.z234-card-img,
body.zynto-ui .product-media>img.z234-card-img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  transform-origin:center!important;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Old experimental media layers must never paint over the normalized image. */
body.zynto-ui .z233-media-layer,
body.zynto-ui .z232-media-layer{display:none!important;background:none!important}

/* Keep the entire grid stable even if the v21 orientation detector writes attributes. */
body.zynto-ui :is(.z13-product-media,.zpk-media,.product-media)[data-sam-orientation]{
  aspect-ratio:4/5!important;
  --sam-card-ratio:.8!important;
}

body.zynto-ui :is(.z13-product,.zpk-card.product-card-pro,.product.product-v2.product-card-pro):hover img.z234-card-img{
  transform:none!important;
}

@media(max-width:760px){
  body.zynto-ui :is(.z13-product-media,.zpk-media,.product-media){aspect-ratio:4/5!important}
}
