/* ---- SLIDER WRAPPER ---- */
.avis-slider-outer {
  position: relative;
  overflow: hidden;
  margin: 0 -16px; /* déborde sur les bords mobile */
}

.avis-slider-track {
  display: flex;
  gap: 14px;
  padding: 4px 16px 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.avis-slider-track::-webkit-scrollbar { display: none; }

/* Chaque carte occupe ~88% de la largeur mobile → on voit le bord de la suivante */
.avis-card {
  scroll-snap-align: start;
  flex: 0 0 88%;
  min-width: 0;
  /* hauteur auto : plus de height:300px fixe */
  height: auto;
  margin-bottom: 0; /* retire le margin-bottom: 1.6rem qui posait problème */
  box-sizing: border-box;
}

/* Dots de pagination */
.avis-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}
.avis-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ddd;
  transition: background .25s, transform .25s;
  cursor: pointer;
  border: none;
  padding: 0;
}
.avis-dot.active {
  background: #f5a623; /* couleur orange du site */
  transform: scale(1.3);
}

/* Desktop : on repasse en grid classique */
@media (min-width: 768px) {
  .avis-slider-outer {
    overflow: visible;
    margin: 0;
  }
  .avis-slider-track {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: visible;
    scroll-snap-type: none;
    padding: 4px 0 0;
  }
  .avis-card {
    flex: unset;
  }
  .avis-dots { display: none; }
}