body {
  font-family: "Poppins", sans-serif;
}

/* Parallax and Scroll Reveal Animations */
.scroll-reveal {
  transform: translateY(30px);
  transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-reveal.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger animation for multiple elements */
.scroll-reveal:nth-child(1) { transition-delay: 0.1s; }
.scroll-reveal:nth-child(2) { transition-delay: 0.2s; }
.scroll-reveal:nth-child(3) { transition-delay: 0.3s; }
.scroll-reveal:nth-child(4) { transition-delay: 0.4s; }
.scroll-reveal:nth-child(5) { transition-delay: 0.5s; }

/* Horizontal slider parallax - start offset to the right */
.slider-parallax {
  transform: translateX(20px);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Parallax container styles */
.parallax-wrapper {
  position: relative;
  overflow: hidden;
}

.parallax-bg {
  position: relative !important;
  will-change: transform;
  transition: transform 0.1s ease-out;
}

/* Mobile: disable parallax for better performance */
/* @media (max-width: 768px) {
  .parallax-bg {
    transform: none !important;
  }
  
  .scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
} */

/* Target only Bootstrap form-floating labels, exclude CustomSelect */
.form-floating > label:not([class*="custom-select"]) {
  /* Make label background more prominent on textareas */
  background-color: inherit !important;
  border-radius: 8px !important;

  /* Expand to full width of textarea for proper overlap - account for form padding */
  width: calc(100% + 36px) !important;
  left: 0px !important;
  right: 0px !important;
  height: 55px !important;
  z-index: 30 !important;
  opacity: 1 !important;
  padding: 12px 0 !important;
  margin-left: 12px !important;

  /* Move label down by a few pixels to better cover text */
  top: 6px !important;
  transform: scale(.85) translateY(-.35rem) translateX(0) translateY(2px) !important;
}

/* Specific background color for event modal labels only */
.event-modal .form-floating > label:not([class*="custom-select"]) {
  background-color: #23212A !important;
}

/* Target only form-floating inputs, not CustomSelect */
.form-floating > input:not([class*="custom-select"]) {
  padding-top: 45px !important;
  height: 100px !important;
}

/* Target only form-floating textareas */
.form-floating > textarea {
  padding-top: 50px !important;
}

.slick-dots li button:before {
  color: #fff !important;
}

.slick-slide {
  opacity: 0.5;
}

.slick-slide.slick-center {
  opacity: 1;
}

/** Privacy **/
[data-custom-class="body"],
[data-custom-class="body"] * {
  background: transparent !important;
}
[data-custom-class="title"],
[data-custom-class="title"] * {
  font-family: Arial !important;
  font-size: 26px !important;
  color: #000000 !important;
}
[data-custom-class="subtitle"],
[data-custom-class="subtitle"] * {
  font-family: Arial !important;
  color: #595959 !important;
  font-size: 14px !important;
}
[data-custom-class="heading_1"],
[data-custom-class="heading_1"] * {
  font-family: Arial !important;
  font-size: 19px !important;
  color: #000000 !important;
}
[data-custom-class="heading_2"],
[data-custom-class="heading_2"] * {
  font-family: Arial !important;
  font-size: 17px !important;
  color: #000000 !important;
}
[data-custom-class="body_text"],
[data-custom-class="body_text"] * {
  color: #595959 !important;
  font-size: 14px !important;
  font-family: Arial !important;
}
[data-custom-class="link"],
[data-custom-class="link"] * {
  color: #3030f1 !important;
  font-size: 14px !important;
  font-family: Arial !important;
  word-break: break-word !important;
}

ul {
  list-style-type: square;
}
ul > li > ul {
  list-style-type: circle;
}
ul > li > ul > li > ul {
  list-style-type: square;
}
ol li {
  font-family: Arial;
}

/* 3D Event Card Stack Animation */
.event-card-3d {
  opacity: 0;
  transform: translateX(0) translateY(0) translateZ(0) rotateX(0deg) rotateZ(0deg);
  transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform, opacity;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));
  transform-style: preserve-3d;
}

.event-card-3d.visible {
  opacity: 1;
}

/* Card 1 (top) - front of stack, positioned upper left */
.event-card-3d.visible:nth-child(1) {
  transform:
    translateX(0px)
    translateY(-50px)
    translateZ(0px)
    rotateX(45deg)
    rotateZ(-45deg);
  z-index: 3;
  transition-delay: 0.4s;
}

/* Card 2 (middle) - middle depth, centered right */
.event-card-3d.visible:nth-child(2) {
  transform:
    translateX(0px)
    translateY(0px)
    translateZ(0px)
    rotateX(45deg)
    rotateZ(-45deg);
  z-index: 2;
  transition-delay: 0.2s;
}

/* Card 3 (bottom) - back of stack, positioned lower left */
.event-card-3d.visible:nth-child(3) {
  transform:
    translateX(0px)
    translateY(50px)
    translateZ(0px)
    rotateX(45deg)
    rotateZ(-45deg);
  z-index: 1;
  transition-delay: 0s;
}

/* Sound Section - Tinder Swipe Animation */
.scroll-cycle {
  opacity: 0;
  transform: translateX(0) scale(0.95);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  position: absolute;
  width: auto;
  height: 100%;
  object-fit: contain;
}

.scroll-cycle.visible {
  opacity: 1;
  transform: translateX(0) scale(1);
}

.scroll-cycle.swiping-out {
  opacity: 0;
  transform: translateX(120%) scale(0.8) rotate(8deg);
  transition: all 0.5s cubic-bezier(0.6, 0, 0.4, 1);
}
