/* Photographs meet the page cleanly, without paper frames or letterbox canvases. */
main figure:has(img),
main figure:has(svg),
main .hero-photo-frame,
main .speaker-photo-frame {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  transform: none !important;
  overflow: hidden;
}
main img[src^="site-images/"] {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
main img[src^="site-images/"]:not([src$=".svg"]) {
  transform: none !important;
}
main figure figcaption {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: .8rem;
  line-height: 1.5;
  transform: none !important;
}
main .format-card:has(> figure) { padding: 0 !important; }
main .format-image { border: 0 !important; }
main .guide-diagram {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
main .guide-diagram img {
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
main .hero-photo img { object-fit: cover !important; }

/* Full-width photographs in the editorial panels; spacing belongs to the copy. */
body[data-page="index"] .car-promo,
body[data-page="index"] .portable-promo,
.personal-panel { padding: 0 !important; overflow: hidden; }
body[data-page="index"] .car-promo > div,
body[data-page="index"] .portable-promo > div,
.personal-panel > div { padding: clamp(22px, 3.5vw, 40px); }
body[data-page="index"] .car-promo figure,
body[data-page="index"] .portable-promo figure { margin: 0; }
body[data-page="index"] .portable-promo img {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: 1 !important; object-fit: cover !important; object-position: center bottom !important;
}
body[data-page="index"] .format-card.reel .format-image {
  height: auto !important; min-height: 0 !important; aspect-ratio: 3 / 4 !important; flex: none;
}
body[data-page="index"] .format-card.reel .format-image img {
  width: 100%; height: 100% !important; object-fit: cover !important; object-position: center 58% !important;
}
body[data-page="index"] .buy-photo img {
  height: auto !important; min-height: 0; aspect-ratio: auto !important; object-fit: cover !important;
}

/* Square equipment examples stay aligned without dark side strips. */
.system-example-photo { aspect-ratio: auto !important; align-self: start; }
.system-example-photo img {
  width: 100%; height: auto !important; min-height: 0 !important;
  aspect-ratio: 1 !important; object-fit: cover !important;
}
.system-example-photo--full img { object-position: center 30% !important; }
.system-example-photo figcaption { color: var(--ink-soft) !important; }
.system-example-detail { padding: 0 !important; background: transparent !important; }
.amplifier-example figure { width: 100% !important; max-width: none !important; margin: 0 !important; }
.amplifier-example img {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: 4 / 3 !important; object-fit: cover !important; object-position: center 60%;
}
.amplifier-example img[src$="glowing-tube-amplifier-with-turntable.jpg"] {
  aspect-ratio: 1 !important; object-position: center 55% !important;
}
.speaker-photo-frame { aspect-ratio: 4 / 5 !important; }
.speaker-photo-frame img {
  width: 100%; height: 100% !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: cover !important;
}
.speaker-photo-frame img[src$="kef-q700-floorstanding-speaker.png"] { object-position: 90% 90% !important; }
main .speaker-photo-frame img[src$="dali-oberon-5-floorstanding-speaker.png"] {
  object-position: 100% 50% !important;
  transform: scale(1.015) !important;
}
.speaker-photo-card figcaption { color: var(--ink-soft) !important; }
.speaker-detail-feature img,
.cable-photo img,
.biwire-gallery img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: 1 !important; object-fit: cover !important; object-position: center 60% !important;
}
.vintage-feature img { height: auto !important; max-height: none !important; aspect-ratio: 3 / 4 !important; object-fit: cover !important; }
.vintage-gallery img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: 4 / 3 !important; object-fit: cover !important; object-position: center 54% !important;
}
.vintage-gallery-portrait img {
  aspect-ratio: 3 / 4 !important; object-position: center 50% !important;
}
.stock-photo--receiver img,
.speaker-intro img {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
.stock-photo--receiver { align-self: start; }

/* Portable players: focus on the player, with no contain canvas. */
body[data-page="portable-audio"] .format-card img {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: 1 !important; object-fit: cover !important; object-position: center 65% !important;
}
body[data-page="portable-audio"] img[src$="sony-discman-d131-portable-cd-player.jpg"] { object-position: center bottom !important; }
body[data-page="portable-audio"] .format-card img[src$="sony-mz-e33-and-mz-r700-minidisc-players.jpg"] { object-position: center 70% !important; }
.portable-photo-row { grid-template-columns: repeat(2, minmax(0, 360px)); justify-content: center; align-items: start; }
.portable-photo-row img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
.personal-panel--portable img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: 1 !important; object-fit: cover !important; object-position: center 70% !important;
}
.personal-panel--car { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.personal-panel--car img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: 3 / 4 !important; object-fit: cover !important; object-position: center 40% !important;
}
.battery-product-photo img {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
.battery-type-card img {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
.battery-type-card figcaption { color: var(--ink-soft) !important; }
/* Trim the grey screenshot edges from the supplied battery example using layout only. */
main img[src$="usb-c-rechargeable-aa-batteries.jpg"] {
  width: 104.5% !important; max-width: none !important; margin-left: -2.25% !important;
}

/* Car hardware and screens fill their own photograph area. */
.road-extra img, .carplay-card img, .headunit-photo-pair img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: 4 / 3 !important; object-fit: cover !important; object-position: center;
}
.carplay-card img[src$="portable-carplay-screen-installed.jpg"] { object-position: center 82% !important; }
.headunit-photo-pair figure { display: block !important; }
.changer-photo img { object-fit: cover !important; object-position: center 57% !important; }

/* Product and rear-panel photographs retain the full unit or labelled sockets. */
.video-media-fact { padding: 0 !important; border: 0 !important; overflow: hidden; align-items: start; }
.video-media-fact-copy { padding: clamp(22px, 3vw, 32px); }
.video-media-fact img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
.video-player-card { color: var(--ink); }
.video-player-card figure { display: block !important; }
.video-player-card--product figure img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
.video-player-card figcaption { color: var(--ink-soft) !important; }
.personal-system-feature img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: 4 / 5 !important; object-fit: cover !important; object-position: center 60% !important;
}
.vhs-photo-pair { align-items: start; }
.vhs-photo-pair figure { display: block !important; min-height: 0 !important; }
.vhs-photo-pair img {
  width: 100%; height: auto !important; min-height: 0 !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: fill !important;
}
body[data-page="about"] .hero-photo img {
  height: auto !important; max-height: none !important; aspect-ratio: auto !important;
}
body[data-page="glossary"] .hero-photo img { object-position: center 60% !important; }
@media (max-width: 760px) {
  .amplifier-example { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .amplifier-example > div { padding: 22px; }
  .portable-photo-row { grid-template-columns: minmax(0, 360px); }
  .personal-panel--car { grid-template-columns: minmax(0, 1fr); }
  .personal-panel > div,
  body[data-page="index"] .car-promo > div,
  body[data-page="index"] .portable-promo > div { padding: 22px; }
}
