.carousel-container {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.carousel-controls {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.carousel-list {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  list-style: none;
  padding: 0;
  margin: 0;
  /* nasconde la scrollbar nei browser basati su webkit e in firefox */
  scrollbar-width: none; 
}

.carousel-list::-webkit-scrollbar {
  display: none;
}

.carousel-item {
  /* calcola la larghezza esatta per mostrare 3 card, considerando il gap di 16px */
  flex: 0 0 calc(33.333% - 10.66px); 
  scroll-snap-align: start;
}

.card {
  background-color: #f4f4f4;
  border: 1px solid #ccc;
  padding: 20px;
  height: 150px;
}

/* classe di utilità per l'accessibilità: nasconde visivamente l'elemento */
.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;
}
