/* The reviewed source files already contain white margins. Show their complete canvas. */
.card-img-wrap,
.product-image-container {
  background: #fff;
  aspect-ratio: 1 / 1;
  height: auto;
  position: relative;
}
.card-img-wrap img,
.product-image-container .product-image,
.similar-card img {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #fff;
}
.similar-card img { height: auto; aspect-ratio: 1 / 1; }
.product-card:hover .card-img-wrap img,
.product-card:hover .product-image { transform: none; }
.product-image-col { min-width: 0; align-self: start; }
.product-image-col .product-main-photo,
.modal-image {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: #fff;
}
.hero-stage img {
  border-radius: 14px;
  background: #fff;
  filter: none;
}
/* Keep gallery thumbnails and inspection images separate from product-photo framing. */
.product-image-col .rs-qc-image {
  width: 100%;
  height: auto;
  max-height: 640px;
  object-fit: contain;
  border-radius: 12px;
}
.product-image-col .rs-qc-thumb img {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
@media (max-width: 640px) {
  .product-image-col .rs-qc-image { max-height: 70vh; }
}
