/* Product photos share a stable frame; transparent source margins are measured
   without modifying the original asset or cropping the visible product. */
.product-image > a {
  padding: 42px 24px 24px;
}
.product-photo-frame {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.product-image > a .product-photo-frame img,
.product-main-image .product-photo-frame img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  transform: none;
  margin: 0;
}
.product-main-image {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  padding: 48px;
  overflow: hidden;
}
@media (max-width: 760px) {
  .product-image > a {
    padding: 34px 16px 18px;
  }
  .product-main-image {
    padding: 32px;
  }
}
