/* ============================================================
   ml-gallery.css — Visionneuse produit (reproduction CE, sans CE)
   Étape A : principal + miniatures + flèches + bandeau
   ============================================================ */

.ml-gallery {
  width: 100%;
  max-width: 555px;
  margin: 0 auto;
}

/* ── Swiper principal (carré 1:1) ── */
.ml-gallery__main {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #fff;
  overflow: hidden;
}
/* fallback aspect-ratio (navigateurs anciens) */
@supports not (aspect-ratio: 1 / 1) {
  .ml-gallery__main::before { content:''; display:block; padding-top:100%; }
  .ml-gallery__main .swiper-wrapper { position:absolute; top:0; left:0; right:0; bottom:0; }
}

.ml-gallery__slide-inner {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  cursor: zoom-in;
}
.ml-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Bandeau "Photo illustrative" (fidèle prod) ── */
.ml-gallery__notice {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 5;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 11px;
  line-height: 1.4;
  padding: 6px 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  pointer-events: none; /* ne bloque pas le clic sur l'image */
}
.ml-gallery__notice-ico {
  display: inline-flex;
  flex: 0 0 auto;
}
.ml-gallery__notice-ico svg {
  width: 13px;
  height: 13px;
  display: block;
}

/* ── Flèches (remplacent ceicon-chevron, blanc cassé) ── */
.ml-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 6;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: rgba(238, 238, 238, 0.9);
  transition: color .15s ease;
}
.ml-gallery__arrow:hover { color: #fff; }
.ml-gallery__arrow svg { width: 18px; height: 18px; display: block; filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.ml-gallery__arrow--prev { left: 6px; }
.ml-gallery__arrow--next { right: 6px; }
.ml-gallery__arrow.swiper-button-disabled { opacity: .35; cursor: default; }

/* ── Miniatures ── */
.ml-gallery__thumbs {
  margin-top: 10px;
  width: 100%;
}
.ml-gallery__thumbs .swiper-slide {
  width: 90px;
  height: 90px;
  cursor: pointer;
  opacity: .55;
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  transition: opacity .15s ease, border-color .15s ease;
  box-sizing: border-box;
}
.ml-gallery__thumbs .swiper-slide-thumb-active {
  opacity: 1;
  border-color: #FD0065; /* couleur marque */
}
.ml-gallery__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Responsive : miniatures un peu plus petites sur mobile */
@media (max-width: 575px) {
  .ml-gallery__thumbs .swiper-slide { width: 64px; height: 64px; }
}
