/* Slider minimal (responsive) */

/* ✅ Scroll horizontal natif + snap (trackpad + doigt) */
.simple-slider .track-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;

  /* Masquer la scrollbar (optionnel) */
  scrollbar-width: none; /* Firefox */
}
.simple-slider .track-wrapper::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

/* ✅ La piste reste en flex, mais on ne la déplace plus en transform */
.simple-slider .slider-track {
  display: flex;
  will-change: scroll-position;
  transform: none !important;
  transition: none !important;
}

.simple-slider {
  margin: 50px 0;
}

/* ✅ Tes tailles + marges, + snap sur chaque slide */
.simple-slider .slide {
  flex: 0 0 80%; /* largeur = conteneur - marge */
  margin-right: clamp(0rem, 2vw, 20px); /* espace entre slides */
  box-sizing: border-box;
  margin-left: 20px;

  scroll-snap-align: start;
}

/* Controls */
.slider-controls {
  display: flex;
  justify-content: end;
  gap: 1rem;
  margin: 0 5rem 0 5rem;
}

/* On neutralise le positionnement absolu */
.slider-controls .slider-btn {
  position: static;
  transform: none;
  background: #fff;
  color: #87aeba;
  padding: 0.5rem;
  width: clamp(50px, 15vw, 200px);
  height: clamp(28px, 3vw, 40px);
  border: 1px solid #bcd2d9;
  border-radius: 100px;
  cursor: pointer;
}

.primary-btn {
  transform: none;
  background: #fff;
  color: #000;
  padding: 1rem 2rem;
  border: 1px solid #87aeba;
  border-radius: 100px;
  cursor: pointer;
  font-weight: 500;
  font-size: 20px;
  transition: transform 0.8s ease-in-out;
}
.primary-btn:hover {
  background: #000;
  color: #fff;
  transform: scale(1.05);
}

.slider-controls .slider-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.slider-prev {
  left: 10px;
}
.slider-next {
  right: 10px;
}
.slider-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

/* Dots */
.slider-dots {
  display: none;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.slider-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ccc;
  border: 0;
  cursor: pointer;
}
.slider-dot.active {
  background: #333;
}

.icon-slider {
  height: 15px;
}

/* Cartes */
.article-chantier {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.chantier-banner {
  width: 100%;
  height: 500px;
  overflow: hidden;
  cursor: pointer;
}
.chantier-banner img {
  transition: transform 0.5s ease-in-out; /* durée + douceur */
}
.chantier-banner:hover > img {
  transform: scale(1.05);
}

.chantier-title-div {
  position: absolute;
  top: clamp(1rem, 5vw, 50px);
  left: clamp(1rem, 5vw, 50px); /* un peu décalé par rapport à la marge */
}

.chantier-numero {
  color: #000;
  margin: 0;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 18px 18px 0px 0px;
  background: #fff;
  display: inline-flex;
  align-items: center;
}

.chantier-couleur {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 10px;
}

.chantier-title {
  color: #fff;
  background-color: #ffffff;
  width: 80%;
  margin: 0;
  padding: 15px 20px;
}

.link {
  box-shadow: inset 0 0 0 0 #54b3d6;
  color: #000;
  padding: 0 0.25rem;
  margin: 0 -0.25rem;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.link:hover {
  color: #000;
  box-shadow: inset 200px 0 0 0 #ddd;
}

.chantier-author {
  color: #fff;
  margin-top: 6px;
  font-size: 14px;
  padding: 5px 10px;
  border-radius: 5px;
}

/* ✅ Confort interaction (pas obligatoire mais recommandé) */
.simple-slider .track-wrapper {
  cursor: grab;
}
.simple-slider .track-wrapper:active {
  cursor: grabbing;
}

/* Optionnel : évite la sélection de texte pendant le swipe */
.simple-slider .slide,
.simple-slider .slide * {
  user-select: none;
}