/* ===== Slider Stacked / Superpositions ===== */
.ams-gs { 
  --dot:#d0d0d0; 
  --dot-active:#d4a93d; 
  --cap:#4b4b4b; 
}

.ams-gs__title {
  text-align:center; 
  margin:0 0 16px; 
  font-size:clamp(22px,3.5vw,32px);
}

/* Viewport fixe, track relatif, slides absolues */
.ams-gs__viewport {
  --ratio: .66; /* hauteur/largeur configurable */
  position:relative; 
  overflow:visible;
  aspect-ratio: calc(1 / var(--ratio));
}
.ams-gs__track {
  position:relative; 
  width:100%; 
  height:100%;
  overflow:visible;
  touch-action: pan-y; /* drag horizontal géré par JS, vertical laissé au navigateur */
}

/* Cartes superposées */
.ams-gs__slide {
  position:absolute; 
  top:50%; 
  left:50%;
  transform:translate(-50%,-50%);
  height:80%;
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  justify-content:flex-end;
  transition: 
    transform .35s cubic-bezier(.22,.61,.36,1), 
    opacity .25s ease, 
    filter .25s ease, 
    z-index .15s linear;
  will-change: transform;
  pointer-events:auto;   /* cliquable */
  cursor: zoom-in;       /* feedback zoom */
}
.ams-gs__slide img {
  width:100%; 
  height:100%; 
  object-fit:cover; 
  border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  pointer-events:auto;   /* l’image reçoit le clic */
}

/* Légende */
.ams-gs__caption {
  margin-top:10px; 
  color:var(--cap); 
  text-align:center; 
  font-size:14px;
  background:rgba(255,255,255,.85); 
  padding:6px 10px; 
  border-radius:10px;
  backdrop-filter: blur(2px);
  pointer-events:auto;   /* la légende aussi peut recevoir le clic */
}

/* Dots */
.ams-gs__dots { 
  display:flex; 
  gap:8px; 
  justify-content:center; 
  margin-top:14px; 
}
.ams-gs__dot { 
  width:8px; 
  height:8px; 
  border-radius:50%; 
  background:var(--dot); 
  border:0; 
  cursor:pointer; 
}
.ams-gs__dot.is-active { 
  background:var(--dot-active); 
}

/* Flèches */
.ams-gs__arrow {
  position:absolute; 
  top:50%; 
  transform:translateY(-50%);
  width:38px; 
  height:38px; 
  border-radius:999px; 
  border:0; 
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.18); 
  font-size:22px; 
  line-height:38px; 
  cursor:pointer; 
  z-index:40;
}
.ams-gs__arrow--prev { left:-10px; }
.ams-gs__arrow--next { right:-10px; }
@media (min-width:1100px){
  .ams-gs__arrow--prev{ left:-18px; }
  .ams-gs__arrow--next{ right:-18px; }
}

/* Lightbox */
.ams-gs__lightbox[hidden]{ display:none; }
.ams-gs__lightbox {
  position:fixed; 
  inset:0; 
  background:rgba(0,0,0,.9);
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  justify-content:center; 
  padding:22px; 
  z-index:9999;
}
.ams-gs__lb-img { 
  max-width:92vw; 
  max-height:78vh; 
  border-radius:14px; 
  box-shadow:0 20px 80px rgba(0,0,0,.5); 
}
.ams-gs__lb-cap { 
  color:#eee; 
  text-align:center; 
  margin-top:12px; 
  max-width:920px; 
}
.ams-gs__lb-close, 
.ams-gs__lb-prev, 
.ams-gs__lb-next {
  position:absolute; 
  background:#fff; 
  border:0; 
  border-radius:999px; 
  width:44px; 
  height:44px; 
  font-size:22px; 
  cursor:pointer;
}
.ams-gs__lb-close{ top:18px; right:18px; }
.ams-gs__lb-prev{ top:50%; left:18px; transform:translateY(-50%); }
.ams-gs__lb-next{ top:50%; right:18px; transform:translateY(-50%); }

/* Éditeur (liste des images) */
.ams-gs--editor .ams-gs__list .ams-gs__row { 
  display:flex; 
  gap:12px; 
  align-items:center; 
  margin-top:12px; 
}