/* ==========================================================================
   FLORAL & ENTRANCE ANIMATIONS
   ========================================================================== */

/* Swaying Flowers Animation */
@keyframes flowerSway {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(2.5deg) scale(1.02); }
  100% { transform: rotate(0deg) scale(1); }
}

.anim-flower-sway {
  animation: flowerSway 5s ease-in-out infinite;
  transform-origin: center bottom;
}

/* Falling Floral Petals Effect */
.petals-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 10;
}

.petal {
  position: absolute;
  background: radial-gradient(circle, #e295a0 0%, #c86d7c 70%, #8a3b47 100%);
  border-radius: 15px 0 15px 0;
  opacity: 0.7;
  pointer-events: none;
  animation: petalFall 10s linear infinite;
}

@keyframes petalFall {
  0% {
    top: -10%;
    transform: translateX(0) rotate(0deg);
    opacity: 0.8;
  }
  50% {
    transform: translateX(50px) rotate(180deg);
  }
  100% {
    top: 110%;
    transform: translateX(-30px) rotate(360deg);
    opacity: 0.1;
  }
}

/* Scroll Reveal Animations (Intersection Observer) */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.reveal-zoom {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal-zoom.active {
  opacity: 1;
  transform: scale(1);
}

/* Flower Reveal Rotate */
.reveal-flower {
  opacity: 0;
  transform: translateY(20px) scale(0.8);
  transition: all 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.reveal-flower.active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
