/* Presentation only: original media, image alternatives, and links stay intact. */
.tdc-product-hero-media img,
.tdc-product-gallery-grid img,
.tdc-simple-directory-media:not(.tdc-simple-directory-media--cover) img,
.tdc-simple-build-media img { padding: 10px; }

.tdc-simple-facility-media.tdc-simple-line-media { padding: 10px; }

.tdc-machine-frame-host { position: relative; }
.tdc-machine-frame {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: inherit;
}
.tdc-machine-frame-host > .tdc-machine-frame {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

/* Fill contexts already have fixed heights, grid tracks, or aspect ratios. */
.tdc-machine-frame--fill { position: absolute; inset: 0; height: 100%; }
.tdc-machine-frame--product-hero { height: 400px; }
.tdc-machine-frame--product-gallery { height: 330px; }
.tdc-machine-frame--curated-hero { height: 500px; }
.tdc-machine-frame--home-line { flex: 0 0 100%; aspect-ratio: 16 / 9; }

/* The original ribbon panel remains 4:3; only the reviewed bounds replace zoom. */
.tdc-product-hero-media--ribbon .tdc-machine-frame--product-hero {
  position: absolute;
  inset: 0;
  height: 100%;
}

/* Important only on enhanced images: neutralize legacy hover/zoom/max-width. */
.tdc-machine-frame.tdc-machine-frame--active > img.tdc-machine-framed {
  position: absolute !important;
  inset: auto !important;
  left: var(--tdc-frame-image-left) !important;
  top: var(--tdc-frame-image-top) !important;
  width: var(--tdc-frame-image-width) !important;
  height: var(--tdc-frame-image-height) !important;
  max-width: none !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  transition: none !important;
  background: transparent !important;
}

/* Keep captions and the untransformed View Full Size control outside the clip. */
.tdc-product-detail .tdc-product-hero-media.tdc-machine-framing-active,
.tdc-product-detail .tdc-product-gallery-grid figure.tdc-machine-framing-active,
.tdc-curated-hero-media.tdc-machine-framing-active { height: auto; min-height: 0; }

.tdc-product-hero-media.tdc-machine-framing-active figcaption,
.tdc-product-gallery-grid figure.tdc-machine-framing-active figcaption,
.tdc-curated-hero-media.tdc-machine-framing-active figcaption {
  position: static;
  margin: 0;
}

.tdc-product-detail .tdc-machine-framing-active .tdc-product-image-expand {
  position: static;
  display: block;
  width: fit-content;
  margin: 0 10px 10px auto;
  padding: 6px 8px;
}

/* Ribbon's original absolute canvas becomes a normal-flow 4:3 image panel. */
.tdc-product-hero-media--ribbon.tdc-machine-framing-active .tdc-product-image-link {
  aspect-ratio: auto;
  overflow: visible;
}
.tdc-product-hero-media--ribbon.tdc-machine-framing-active .tdc-machine-frame--product-hero {
  position: relative;
  inset: auto;
  height: auto;
  aspect-ratio: 4 / 3;
}

@media (max-width: 1080px) {
  .tdc-machine-frame--curated-hero { height: 450px; }
}
@media (max-width: 980px) {
  .tdc-machine-frame--product-hero { height: 380px; }
}
@media (max-width: 900px) {
  .tdc-machine-frame--curated-hero { height: 500px; }
}
@media (max-width: 700px) {
  .tdc-machine-frame--curated-hero { height: 390px; }
}
@media (max-width: 620px) {
  .tdc-machine-frame--product-hero { height: 290px; }
  .tdc-machine-frame--product-gallery { height: 270px; }
}
@media (max-width: 480px) {
  .tdc-machine-frame--curated-hero { height: 310px; }
}
