/* ==========================================================================
   PANVEL OFFICE TIFFIN - ANIMATIONS STYLESHEET
   Keyframe Animations, Floating Effects & Hover Dynamics
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. FLOATING & STEAM ANIMATIONS
   -------------------------------------------------------------------------- */
@keyframes float {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(2deg);
  }
  100% {
    transform: translateY(0px) rotate(0deg);
  }
}

.float-anim {
  animation: float 5s ease-in-out infinite;
}

@keyframes steam {
  0% {
    opacity: 0.2;
    transform: translateY(0) scaleX(1);
  }
  50% {
    opacity: 0.7;
    transform: translateY(-15px) scaleX(1.1);
  }
  100% {
    opacity: 0;
    transform: translateY(-30px) scaleX(1.2);
  }
}

.steam-effect {
  position: absolute;
  top: -15px;
  right: 20%;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  filter: blur(10px);
  animation: steam 3s infinite ease-out;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   2. SCROLL REVEAL ANIMATIONS (Intersection Observer Fallback)
   -------------------------------------------------------------------------- */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

[data-aos="fade-up"] {
  transform: translateY(40px);
}

[data-aos="fade-left"] {
  transform: translateX(40px);
}

[data-aos="fade-right"] {
  transform: translateX(-40px);
}

[data-aos="zoom-in"] {
  transform: scale(0.9);
}

[data-aos].aos-animate {
  opacity: 1;
  transform: translate(0) scale(1);
}

/* Delay helpers */
[data-aos-delay="100"] { transition-delay: 0.1s; }
[data-aos-delay="200"] { transition-delay: 0.2s; }
[data-aos-delay="300"] { transition-delay: 0.3s; }
[data-aos-delay="400"] { transition-delay: 0.4s; }

/* --------------------------------------------------------------------------
   3. BUTTON RIPPLE & GLOW
   -------------------------------------------------------------------------- */
@keyframes pulse-glow {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 107, 53, 0.4);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(255, 107, 53, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 107, 53, 0);
  }
}

.pulse-primary {
  animation: pulse-glow 2.5s infinite;
}
