.carousel {
  display: flex;
  gap: 16px;
  overflow-x: scroll; 
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 10px;
}

.carousel-item {
  width: 420px;
  height: 544px;
  flex-shrink: 0;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}

.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
}

.carousel-item .caption {
  margin-top: 8px;
  text-align: center;
  font-size: 14px;
  color: #555;
}

@media (max-width: 640px) {
  .carousel {
      gap: 8px; 
      padding: 8px; 
  }

  .carousel-item {
      width: 250px; 
      height: 320px; 
  }

  .carousel-item .caption {
      font-size: 12px; 
  }
}
