/*
  product-gallery.css — galerie photo produit : grand visuel + bande de vignettes.
*/
/* Enfant de grille : min-width:0 pour ne pas déborder à cause de l'image (mobile). */
.product-gallery {
  min-width: 0;
}

.product-gallery__main {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  box-shadow: var(--shadow-md);
}

.product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Zoom « loupe » au survol (desktop, cf. gallery.js) : le conteneur masque le
   débordement, l'image est agrandie et suit le curseur via transform-origin. */
.product-gallery__main.is-zoomable {
  cursor: zoom-in;
}

.product-gallery__main.is-zoomable img {
  transition: transform 0.15s ease-out;
  will-change: transform;
}

.product-gallery__main.is-zooming img {
  transform: scale(2.2);
}

.product-gallery__badge {
  position: absolute;
  top: var(--space-4);
  left: var(--space-4);
}

.product-gallery__thumbs {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-3);
  overflow-x: auto;
  padding-bottom: 2px;
}

.product-gallery__thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 2.5px solid transparent;
  padding: 0;
}

.product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-gallery__thumb.is-active {
  border-color: var(--color-terracotta-dark);
}
