.spna-carousel__header{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between; /* ✅ titre gauche, lien bord droit */
  gap: 1rem;
}

/* Mobile : si ça manque de place, on passe sur 2 lignes proprement */
@media (max-width: 36em){
  .spna-carousel__header{
    flex-wrap: wrap;
  }
  .spna-carousel__header a{
    margin-left: auto; /* ✅ sur la 2e ligne, reste à droite */
  }
}

.spna-carousel__viewport{
  overflow: hidden;
  width: 100%;
}

.spna-carousel__track{
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 100% !important;   /* ✅ 1 slide = 1 écran */
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  gap: 0 !important;
  scrollbar-width: none;               /* Firefox */
}

.spna-carousel__track::-webkit-scrollbar{
  display: none;
}

.spna-carousel__item{
  scroll-snap-align: start;
  width: 100%;
}

.spna-carousel__inner{
  padding-left: 0;
  padding-right: 0;
}

.spna-carousel__controls-wrap{
  width: 100%;
  display: flex;
  justify-content: center; /* centrage garanti */
}

.spna-carousel__controls{
  display: inline-flex;     /* le groupe prend juste la largeur nécessaire */
  justify-content: center;
}

.spna-carousel__nav{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: var(--text-action-high-blue-france);
}

.spna-carousel__arrow{
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  color: var(--text-action-high-blue-france);
}

.spna-carousel__dots{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border-color: var(--text-action-high-blue-france);
}

.spna-carousel__dot{
  width: .75rem;
  height: .75rem;
  border-radius: 999px;
  border: 1px solid currentColor;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.spna-carousel__dot[aria-selected="true"]{
   background: var(--text-action-high-blue-france);
  border-color: var(--text-action-high-blue-france);
}

/* utilitaire sr-only (si tu ne l'as pas déjà dans sitepole.css) */
.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}