/* Carousel – layout générique */
.carousel-container {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.carousel {
  display: flex;
  gap: 40px;                 /* espace entre cartes */
  transition: transform 0.5s ease-in-out;
  will-change: transform;
  padding: 0 56px;           /* pour que les flèches ne chevauchent pas */
   margin-left: 40px;
}

.carousel-item {
  min-width: 100%;           /* sera écrasé en JS: 33.333/50/100% */
  box-sizing: border-box;
}

.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  transition: opacity .2s ease, transform .2s ease;
}
.slider-btn:is(:hover,:focus) { transform: translateY(-50%) scale(1.05); }
.slider-btn.is-disabled { opacity: .35; pointer-events: none; }

.slider-prev { left: 8px; }
.slider-next { right: 8px; }

@media (min-width: 1200px) {
  .slider-prev { left: 0; transform: translate(-25%, -50%); }
  .slider-next { right: 0; transform: translate(25%, -50%); }
  .slider-btn:is(:hover,:focus) { transform: translate(25%, -50%) scale(1.05); }
  .slider-prev:is(:hover,:focus){ transform: translate(-25%, -50%) scale(1.05); }
}

.carousel-container{
  position: relative;
  overflow: visible;  
}

.carousel{
  display: flex;
  gap: 40px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  padding: 0 56px;
}

/* on cache la barre de scroll */
.carousel::-webkit-scrollbar{ display:none; }
.carousel{ scrollbar-width: none; }

/* Chaque carte "accroche" le snap */
.carousel-item{                  
  scroll-snap-align: start;
}

/* ===== Flèches “➤” hors du flux ===== */
.slider-btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:48px;height:48px;
  border-radius:9999px;
  background:#f5f5f5;            /* même fond que les reviews */
  border:none;
  cursor:pointer;
  z-index:5;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  transition:transform .2s ease, opacity .2s ease;
  /* on remplace le caractère par un pseudo-élément */
  font-size:0;                   /* cache le texte d'origine */
}
.slider-btn::before{
  content:"➤";
  font-size:22px;
  line-height:1;
  color:#fff;                    /* flèche blanche */
  display:inline-block;
}
.slider-prev::before{ transform: rotate(180deg); }

.slider-prev{ left:-28px; }      /* excentrées */
.slider-next{ right:-28px; }

.slider-btn:hover{ transform:translateY(-50%) scale(1.05); }
.slider-btn.is-disabled{ opacity:.35; pointer-events:none; }

/* Responsive: rapprocher un peu sur mobile */
@media (max-width: 767px){
  .slider-prev{ left:-12px; }
  .slider-next{ right:-12px; }
	.carousel {padding:0!important;margin:0!important}
}
