.serif-heading {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  letter-spacing: -0.025em;
  color: white;
  line-height: 1.25;
}

/* Base custom styles for carousel */
.carousel-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  width: 100%;
  padding: 2rem calc(50vw - 160px);
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
}

.carousel-container.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.carousel-container.is-dragging .carousel-item iframe {
  pointer-events: none !important;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.carousel-container::-webkit-scrollbar {
  display: none;
}

.custom-carousel-track {
  margin: 20px auto 0;
  width: 120px;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  position: relative;
  overflow: hidden;
}

.custom-carousel-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 30px;
  background: #f59e0b;
  border-radius: 2px;
  transition: transform 0.1s ease-out;
}

.carousel-item {
  flex: 0 0 320px;
  opacity: 0.5;
  filter: blur(3px);
  transform: scale(0.9);
  transition: all 0.3s ease;
  scroll-snap-align: center;
  margin: 0 16px;
  border-radius: 12px;
  box-shadow: 0 0 0px 0px rgba(245, 158, 11, 0);
}

.carousel-item:hover, .carousel-item.active {
  opacity: 1;
  filter: blur(0px);
  transform: scale(1);
}

.carousel-item.active {
  box-shadow: 0 0 40px 10px rgba(245, 158, 11, 0.15);
}

.carousel-item iframe {
  pointer-events: none;
}

.carousel-item:hover iframe, .carousel-item.active iframe {
  pointer-events: auto;
}

/* Custom Scroll animations */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
