/* Respect the source image proportions without forced HTML heights or letterboxing. */
.catalog { align-items: start; }
.product-card:has(a[href="#sh-002"]),
.product-card:has(a[href="#sh-003"]) { align-self: start; }
.product-card a.product-cover-wrap[href="#sh-002"],
.product-card a.product-cover-wrap[href="#sh-003"] {
  height: auto;
  min-height: 0;
  padding: 0;
  line-height: 0;
  background: transparent;
}
.product-card a.product-cover-wrap[href="#sh-002"] > img,
.product-card a.product-cover-wrap[href="#sh-003"] > img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0;
  padding: 0;
  background: transparent;
}
#product-view-002 .product-hero,
#product-view-003 .product-hero {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  margin: 0;
  padding: 0;
}
