
/* ===== NAV LINKS ===== */
.nav-link {
  position: relative;
  font-weight: 500;
  color: #374151;
  transition: color .35s ease;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg,#2563eb,#60a5fa);
  border-radius: 10px;
  transition: width .45s cubic-bezier(.4,0,.2,1);
}
.nav-link:hover,
.nav-link.active {
  color: #2563eb;
}
.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* ===== LOGO FLOAT ===== */
@keyframes float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
.logo-float {
  animation: float 3s ease-in-out infinite;
}

/* ===== MOBILE MENU ===== */
.mobile-open {
  animation: slideFade .45s ease forwards;
}
@keyframes slideFade {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}


  /* Popup bounce + fade + rotate */
  @keyframes popupBounce {
    0% { opacity: 0; transform: translateY(-50px) scale(0.9) rotate(-2deg); }
    60% { opacity: 1; transform: translateY(10px) scale(1.05) rotate(1deg); }
    80% { transform: translateY(-5px) scale(1) rotate(0deg); }
    100% { transform: translateY(0) scale(1) rotate(0deg); }
  }
  .animate-popupBounce { animation: popupBounce 0.6s ease-out forwards; }

  /* Small button bounce + shimmer */
  @keyframes bounceShimmer { 0%,100%{transform:translateY(0) scale(1);} 50%{transform:translateY(-4px) scale(1.1);} }
  .animate-bounceShimmer { animation: bounceShimmer 2s infinite; }

  /* Button shimmer overlay */
  @keyframes shimmer { 0% {opacity:0; transform:translateX(-100%);} 50% {opacity:0.4; transform:translateX(100%);} 100% {opacity:0; transform:translateX(100%);} }
  .animate-shimmer { animation: shimmer 2s infinite; }

  /* Glow pulse */
  @keyframes glowPulse { 0% { box-shadow:0 0 6px rgba(0,255,0,0.4);} 50% { box-shadow:0 0 15px rgba(0,255,0,0.7);} 100% { box-shadow:0 0 6px rgba(0,255,0,0.4);} }
  .animate-glowPulse { animation: glowPulse 2s infinite; }

  /* Slide-in right */
  @keyframes slideInRight { from {right:-80px; opacity:0;} to {right:1.5rem; opacity:1;} }

  /* Confetti */
  .confetti { position: fixed; width:10px; height:10px; border-radius:50%; z-index:9999; pointer-events:none; opacity:0.8; animation:fall 1.5s linear forwards;}
  @keyframes fall { to { transform:translateY(800px) rotate(360deg); opacity:0; } }
