/* Carousel Styles */
.carousel-container {
  width: 100%;
  max-width: 1000px;
  margin: 2rem auto;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  aspect-ratio: 16 / 9;
  /* background: #fff; */
  z-index: 1;
}

.carousel-track {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
    width: 100%; /* 100% for each slide, will be updated for 1 slide per view */
  height: 100%;
  animation: carousel 15s infinite;
}

@keyframes carousel {
  0% {
    transform: translateX(-66.666%);
  }
  33.33% {
    transform: translateX(-33.333%);
  }
  66.66% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-66.666%);
  }
}

.carousel-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  color: white;
  text-align: left;
}

.carousel-caption h2 {
  margin: 0 0 10px 0;
  font-size: 24px;
}

.carousel-caption p {
  margin: 0;
  font-size: 16px;
  opacity: 0.9;
}

.carousel-slide {
  flex: 0 0 33.333%;
    width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

.carousel-container:hover .carousel-track {
  animation-play-state: paused;
}

@media (max-width: 900px) {
  .carousel-container {
    max-width: 90vw;
  }
}

@media (max-width: 600px) {
  .carousel-container {
    max-width: 98vw;
    border-radius: 8px;
  }
}
