/* SR-only : visible pour lecteurs d'écran, caché visuellement */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* La piste de carrousel utilise le conteneur existant de ton module */
.module-bloc-graphic-131.carousel-track{
  display: flex;
  gap: 2.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: .5rem;
      margin-top: -7em;
  /* Masque la scrollbar visuellement mais conserve le scroll (RGAA OK) */
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* IE/Edge legacy */
}
.module-bloc-graphic-131.carousel-track::-webkit-scrollbar{ display: none; } /* WebKit */

/* Cartes */
.module-bloc-graphic-131.carousel-track .module-bloc-graphic-item{
  scroll-snap-align: start;
  flex: 0 0 85%;
  max-width: 370px; /* ta règle existante */
}

/* Responsive: 2 cartes / 3 cartes */
@media (min-width: 768px){
  .module-bloc-graphic-131.carousel-track .module-bloc-graphic-item{ flex-basis: 48%; }
.module-bloc-graphic-131.carousel-track{margin-top:0}

}
@media (min-width: 1024px){
  .module-bloc-graphic-131.carousel-track .module-bloc-graphic-item{ flex-basis: 31.5%; }
}

/* NAV sous le texte (colonne gauche) */
.carousel-nav-under-text{
display: flex;
    gap: .75rem;
    align-items: center;
    justify-content: flex-end;
    margin-top: -3rem;
    flex-wrap: wrap;
    position: relative;
    z-index: 5;
}

/* Boutons ronds */
.carousel-nav-under-text .carousel-btn{
display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
   border: 1px solid #ffc903;
    background: #ffc903;
    border-radius: 9999px;
    cursor: pointer;
    line-height: 1;
    font-size: 27px;
    font-weight: 700;
    user-select: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
    color: #000000;
}
.carousel-nav-under-text .carousel-btn[aria-disabled="true"]{ opacity: .5; cursor: not-allowed; }
.carousel-nav-under-text .carousel-btn:focus-visible{ outline: 2px solid #005fcc; outline-offset: 3px; }

/* Effet d'animation (se coupe si prefers-reduced-motion) */
@media (prefers-reduced-motion: reduce) {
  .carousel-anim-left .module-bloc-graphic-item,
  .carousel-anim-right .module-bloc-graphic-item,
  .module-bloc-graphic-131 .module-bloc-graphic-item-image img {
    animation: none !important;
    transition: none !important;
  }
}

/* Transition légère sur les images pour le micro-parallax */
.module-bloc-graphic-131 .module-bloc-graphic-item-image img {
  transition: transform 300ms ease, opacity 300ms ease;
  will-change: transform;
}

/* Keyframes */
@keyframes carouselSlideRight {
  from { transform: translateX(-12px) scale(.985); opacity: .92; }
  to   { transform: translateX(0)      scale(1);    opacity: 1; }
}
@keyframes carouselSlideLeft {
  from { transform: translateX(12px) scale(.985); opacity: .92; }
  to   { transform: translateX(0)    scale(1);    opacity: 1; }
}

/* Application des anims selon la direction */
.module-bloc-graphic-131.carousel-track.carousel-anim-right .module-bloc-graphic-item {
  animation: carouselSlideRight 320ms ease both;
}
.module-bloc-graphic-131.carousel-track.carousel-anim-left .module-bloc-graphic-item {
  animation: carouselSlideLeft 320ms ease both;
}

/* Micro-parallax des images */
.module-bloc-graphic-131.carousel-track.carousel-anim-right .module-bloc-graphic-item-image img {
  transform: translateX(6px);
}
.module-bloc-graphic-131.carousel-track.carousel-anim-left .module-bloc-graphic-item-image img {
  transform: translateX(-6px);
}

/* Renfort léger du relief pendant l'anim (facultatif) */
.module-bloc-graphic-131.carousel-track.carousel-anim-right .module-bloc-graphic-item,
.module-bloc-graphic-131.carousel-track.carousel-anim-left  .module-bloc-graphic-item {
  filter: saturate(1.02);
}

/* Sécurité empilement */
.module-bloc-graphic-131.carousel-track{ position: relative; z-index: 1; }