/* Preserve the whole product and the labels in original application captures. */
img.source-photo {
  display: block;
  width: 100%;
  height: auto;
  max-width: 760px;
  max-height: 440px;
  margin: 0 auto 28px;
  object-fit: contain;
  background: #fff;
  border-radius: 0;
}
.hero-visual:has(.source-photo),
.visual-frame:has(.source-photo),
.card-visual:has(.source-photo) {
  background: #fff;
}
.hero-visual img.source-photo,
.visual-frame img.source-photo {
  margin: 0;
  aspect-ratio: 4 / 3;
  padding: 20px;
}
.card-visual img.source-photo {
  height: 220px;
  max-height: none;
  padding: 16px;
  margin: 0;
}

/* LCD/diagnostic captures are dark UI screens, not white product photos. */
img.source-photo.diagnostic-screen {
  width: auto;
  max-width: min(100%, 420px);
  max-height: 520px;
  padding: 18px;
  margin: 0 auto 28px;
  object-fit: contain;
  background: #050607;
  border: 1px solid #1b1e24;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  image-rendering: pixelated;
}
img.diagnostic-screen {
  background: #050607;
  image-rendering: pixelated;
}

@media (max-width: 600px) {
  img.source-photo { max-height: 340px; }
  .hero-visual img.source-photo,
  .visual-frame img.source-photo { padding: 12px; }
}

/* Natural, human-feeling editorial visuals used where no actual product photo exists. */
img.natural-photo {
  display: block;
  width: 100%;
  height: auto;
  max-width: 1080px;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 0;
  background: #111;
}
.natural-frame {
  overflow: hidden;
  border: 1px solid #1b1e24;
  background: #111;
}
.natural-frame .natural-photo,
.hero-visual .natural-photo,
.visual-frame .natural-photo {
  aspect-ratio: 16 / 9;
  height: 100%;
}
.natural-frame-home .natural-photo {
  min-height: 360px;
}
@media (max-width: 600px) {
  .natural-frame-home .natural-photo { min-height: 240px; }
}
