/* =============================================
   AMRUTTULYA – ANIMATIONS CSS
   ============================================= */

/* ---- AOS Custom Overrides ---- */
[data-aos] {
  pointer-events: none;
}
[data-aos].aos-animate {
  pointer-events: auto;
}

/* ---- Page Load Fade ---- */
body {
  animation: pageFadeIn 0.5s ease-out;
}

@keyframes pageFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ---- Hero Title Typing Effect ---- */
.hero-title .hindi-text {
  animation: fadeSlideUp 0.8s ease-out 0.3s both;
}

.hero-title .accent-text {
  animation: fadeSlideUp 0.8s ease-out 0.5s both;
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---- Hero Subtitle & Buttons ---- */
.hero-subtitle {
  animation: fadeSlideUp 0.8s ease-out 0.7s both;
}

.hero-buttons {
  animation: fadeSlideUp 0.8s ease-out 0.9s both;
}

.hero-stats {
  animation: fadeSlideUp 0.8s ease-out 1.1s both;
}

.hero-badge {
  animation: fadeSlideDown 0.8s ease-out 0.2s both;
}

@keyframes fadeSlideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---- Floating Tea Leaves ---- */
.tea-leaf {
  position: absolute;
  font-size: 1.2rem;
  opacity: 0;
  pointer-events: none;
  animation: floatLeaf linear infinite;
}

@keyframes floatLeaf {
  0% {
    opacity: 0;
    transform: translateY(100vh) rotate(0deg) scale(0.6);
  }
  10% {
    opacity: 0.5;
  }
  80% {
    opacity: 0.3;
  }
  100% {
    opacity: 0;
    transform: translateY(-20vh) rotate(720deg) scale(1);
  }
}

/* ---- Glow Pulse for CTA Buttons ---- */
.btn-primary {
  position: relative;
  overflow: hidden;
}

.btn-primary::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition:
    width 0.5s ease,
    height 0.5s ease;
}

.btn-primary:hover::before {
  width: 200%;
  height: 200%;
}

/* ---- Shimmer Effect on Cards ---- */
.tea-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.08),
    transparent
  );
  transition: none;
  pointer-events: none;
}

.tea-card:hover::after {
  animation: shimmer 0.6s ease-in-out;
}

@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 150%;
  }
}

/* ---- Number Counter Bounce ---- */
@keyframes countUp {
  from {
    transform: scale(0.7);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.stat-number {
  animation: countUp 0.5s ease-out both;
}

/* ---- Floating Badge on Hero Image ---- */
.hero-badge-float {
  animation: floatBadge 3.5s ease-in-out infinite;
}

@keyframes floatBadge {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* ---- Card Entrance ---- */
.feature-card,
.tea-card,
.testimonial-card,
.fstat-card {
  transition:
    transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.35s ease,
    border-color 0.3s ease;
}

/* ---- Scroll Progress Indicator ---- */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--saffron-light), var(--gold));
  z-index: 1001;
  width: 0%;
  transition: width 0.1s linear;
}

/* ---- Logo spin on hover ---- */
.logo-icon {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.nav-logo:hover .logo-icon {
  transform: rotate(360deg) scale(1.1);
}

/* ---- Testimonial slide transition ---- */
.swiper-slide {
  opacity: 0.5;
  transition: opacity 0.4s ease;
}

.swiper-slide-active {
  opacity: 1;
}

/* ---- Section tag bounce ---- */
.section-tag {
  animation: tagEntrance 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes tagEntrance {
  from {
    transform: scale(0.7) translateY(-10px);
    opacity: 0;
  }
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

/* ---- Contact card hover ---- */
.contact-card {
  transition:
    transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

/* ---- WhatsApp button pulse ---- */
@keyframes waPulseRing {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.whatsapp-float {
  animation: waPulseRing 2s ease-out infinite;
}

/* ---- Footer link transition ---- */
.footer-links ul li a {
  transition:
    padding-left 0.3s ease,
    color 0.3s ease;
}

/* ---- Image zoom on gallery ---- */
.gallery-item {
  transition: transform 0.3s ease;
}

.gallery-item:hover {
  transform: scale(1.01);
}

/* ---- Gradient Text Shimmer ---- */
.accent-text {
  background-size: 200% 100%;
  animation: gradientShimmer 3s ease-in-out infinite;
}

@keyframes gradientShimmer {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* ---- Form Input Focus Animation ---- */
.form-group input,
.form-group textarea {
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

/* ---- Scroll to top button animation ---- */
.scroll-top {
  transition:
    opacity 0.3s ease,
    transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
    background 0.3s ease;
}

/* ---- Navbar scrolled class animation ---- */
.navbar {
  transition:
    background 0.4s ease,
    padding 0.4s ease,
    box-shadow 0.4s ease;
}

/* ---- Mobile menu animation ---- */
.nav-links {
  transition:
    right 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.3s ease;
}

/* ---- Hover border line animation ---- */
.franchise-benefit {
  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

/* ---- Stats number animation ---- */
.fstat-number {
  transition: color 0.3s ease;
}

.fstat-card:hover .fstat-number {
  color: var(--gold);
}

/* ---- Page transition ---- */
.page-transition-overlay {
  position: fixed;
  inset: 0;
  background: var(--saffron);
  z-index: 9999;
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}

/* ---- Hero scroll down bounce ---- */
.scroll-arrow i {
  animation: arrowBounce 1.5s ease-in-out infinite;
}

@keyframes arrowBounce {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.5;
  }
  50% {
    transform: translateY(5px);
    opacity: 1;
  }
}
