/* Preserve original artwork detail. The DOM pass provides real pixel limits. */
.bpd-refresh .bpd-product-intro:not(.bpd-service-intro) .bpd-product-zoom {
  min-height: 230px;
  padding: 24px;
  background: #fff !important;
}
.bpd-refresh .bpd-product-intro:not(.bpd-service-intro) .bpd-product-zoom img[data-bpd-native-width] {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, var(--bpd-native-width)) !important;
  max-height: min(510px, var(--bpd-native-height)) !important;
  margin: auto;
  object-fit: contain;
  transform: none !important;
  image-rendering: auto;
}

/* Keep the range rows aligned while the artwork stays within its own detail. */
.bpd-refresh .bpd-product-tile .elementor-widget-image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(210px, 20vw, 280px);
  padding: 16px;
  box-sizing: border-box;
  background: #fff;
}
.bpd-refresh .bpd-product-tile .elementor-widget-image img[data-bpd-native-width] {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(100%, var(--bpd-native-width)) !important;
  max-height: min(100%, var(--bpd-native-height)) !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: auto;
  transform: none !important;
}
.bpd-refresh .bpd-related-card img[data-bpd-native-width],
.bpd-refresh .bpd-category-card img[data-bpd-native-width] {
  width: auto !important;
  height: min(250px, var(--bpd-native-height)) !important;
  max-width: min(100%, var(--bpd-native-width)) !important;
  max-height: var(--bpd-native-height) !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin-inline: auto;
  padding: 0;
  transform: none !important;
}

/* The home carousel may use a wide stage, but it never stretches a small PNG. */
.bpd-showcase-slide:not(.bpd-showcase-slide-wide) {
  padding: 20px;
  box-sizing: border-box;
}
.bpd-showcase .bpd-showcase-slide:not(.bpd-showcase-slide-wide) .bpd-showcase-image[data-bpd-native-width] {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, var(--bpd-native-width)) !important;
  max-height: min(100%, var(--bpd-native-height)) !important;
  padding: 0;
  object-fit: contain;
  transform: none !important;
}

.bpd-image-viewer {
  width: min(94vw, max(440px, calc(var(--bpd-native-width, 900px) + 48px)));
}
.bpd-image-viewer img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(calc(94vw - 48px), var(--bpd-native-width)) !important;
  max-height: min(72dvh, var(--bpd-native-height)) !important;
  object-fit: contain;
  padding: 0;
  margin: 24px auto;
}
@media (max-width: 767px) {
  .bpd-refresh .bpd-product-intro:not(.bpd-service-intro) .bpd-product-zoom {
    min-height: 200px;
    padding: 18px;
  }
  .bpd-refresh .bpd-product-tile .elementor-widget-image {
    height: 225px;
    padding: 14px;
  }
  .bpd-refresh .bpd-related-card img[data-bpd-native-width] {
    height: min(175px, var(--bpd-native-height)) !important;
  }
  .bpd-showcase-slide:not(.bpd-showcase-slide-wide) { padding: 12px; }
  .bpd-image-viewer img { max-height: min(65dvh, var(--bpd-native-height)) !important; }
}
