html { scroll-behavior: smooth; }

.carousel-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
}

.carousel-track {
  display: flex;
  height: 100%;
  transition: transform 0.45s ease;
  will-change: transform;
}

.carousel-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.5rem;
}

.carousel-slide img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.carousel-dot.active {
  background-color: rgb(34 211 238);
  transform: scale(1.15);
}

.region-dot {
  transition: transform 0.2s ease, filter 0.2s ease;
}
.region-dot:hover {
  transform: scale(1.15);
  filter: drop-shadow(0 0 6px rgba(34, 211, 238, 0.8));
}
