.content-image-zoom,.product-photo,.product-inspection-image { display:block; cursor:zoom-in; }
.content-image-zoom:focus-visible,.product-inspection-image:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
/* Keep the layout slot stable while the photo frame follows the source ratio.
   Transparent space reveals the actual page background, including gradients. */
.hero-media.hero-media--adaptive {
  --hero-slot-ratio:1.2;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:var(--hero-slot-ratio);
  display:grid;
  align-items:start;
  justify-items:center;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.hero-media--adaptive .hero-media__frame {
  position:relative;
  /* A tall image is limited by slot height; a wide image by slot width.
     CMS dimensions reserve the exact frame before the image loads. */
  width:min(100%, calc(100% * var(--hero-image-width) / var(--hero-image-height) / var(--hero-slot-ratio)));
  min-width:0;
  aspect-ratio:var(--hero-image-width) / var(--hero-image-height);
  margin:0;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:transparent;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
}
.hero-media__frame > .content-image-zoom { width:100%; height:100%; }
.hero-media__frame:has(> .content-image-zoom:focus-visible) { outline:2px solid var(--accent); outline-offset:4px; }
.hero-media--adaptive .hero-media__frame img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:top center;
  background:transparent;
}
.hero-media--adaptive .image-badge { overflow-wrap:anywhere; }
@media(max-width:760px) {
  .hero-media.hero-media--adaptive { --hero-slot-ratio:1.65; }
  .hero-media--adaptive .hero-media__frame { border-radius:12px; }
  .hero-media--adaptive .image-badge { right:.5rem; max-width:calc(100% - 1rem); }
}
.hero-media .image-badge { pointer-events:none; }
.photo-zoom-hint { display:none; }
.v2-card-copy h3 a { color:inherit; text-decoration:none; display:flex; width:100%; justify-content:space-between; gap:1rem; }
.v2-card-copy h3 a:hover { text-decoration:underline; text-underline-offset:.2em; }
.pswp { --pswp-bg:#10231c; z-index:1000; }
.pswp__collection-caption { position:absolute; bottom:0; left:0; right:0; padding:.8rem 1rem; color:white; background:rgba(0,0,0,.65); text-align:center; font-size:.85rem; line-height:1.5; pointer-events:none; }
.product-inspection-copy { position:relative; }
.product-magnifier-pane { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; border-radius:var(--radius); visibility:hidden; }
.product-magnifier-pane.is-active { visibility:visible; }
.product-magnifier-pane .drift-zoom-pane { width:100%; height:100%; left:0; top:0; background:white; }
.drift-bounding-box { background:rgba(217,111,67,.15); outline:1px solid var(--accent); pointer-events:none; }
@media(max-width:760px),(hover:none) { .product-magnifier-pane,.magnifier-desktop-note { display:none; } }
