/* ============================================
   SANIPRENEUR™ — Animations & Utilities
   Only utility animations. AOS handles scroll reveals.
   ============================================ */

/* === Glow Pulse === */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(1,145,239,0.2); }
  50% { box-shadow: 0 0 40px rgba(1,145,239,0.4); }
}
.glow-pulse { animation: glowPulse 3s ease-in-out infinite; }

/* === Shimmer === */
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  background-size: 200% 100%;
  animation: shimmer 2s ease-in-out infinite;
}

/* === Ripple === */
.ripple { position: relative; overflow: hidden; }
.ripple::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  width: 100px; height: 100px;
  margin-top: -50px; margin-left: -50px;
  top: 50%; left: 50%;
  transform: scale(0); opacity: 0;
}
.ripple:active::after { animation: rippleAnim 0.6s ease-out; }
@keyframes rippleAnim {
  0% { transform: scale(0); opacity: 1; }
  100% { transform: scale(4); opacity: 0; }
}

/* === Hover Lift === */
.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(1,19,74,0.12); }

/* === Float === */
@keyframes floatSlow {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}
.float-anim { animation: floatSlow 6s ease-in-out infinite; }
.float-anim-delay-1 { animation-delay: 0s; }
.float-anim-delay-2 { animation-delay: 2s; }
.float-anim-delay-3 { animation-delay: 4s; }

/* === Section Transition === */
.section-transition { position: relative; }
.section-transition::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 80px;
  background: var(--surface);
  clip-path: ellipse(50% 50% at 50% 100%);
  z-index: 1;
}

/* === Aurora Background === */
@keyframes aurora {
  0% { transform: translate(-30%, -30%) rotate(0deg); }
  50% { transform: translate(30%, 30%) rotate(180deg); }
  100% { transform: translate(-30%, -30%) rotate(360deg); }
}
.aurora-bg {
  position: absolute;
  inset: -50%;
  background: conic-gradient(from 0deg, transparent, rgba(1,145,239,0.05), transparent, rgba(72,167,60,0.05), transparent);
  animation: aurora 20s linear infinite;
}

/* === Mesh Gradient === */
.mesh-gradient {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(1,145,239,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(72,167,60,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(1,19,74,0.05) 0%, transparent 50%);
}

/* === Glass Reflection === */
.glass-reflection { position: relative; overflow: hidden; }
.glass-reflection::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.03) 50%, transparent 70%);
  transform: rotate(45deg);
  animation: reflectionSlide 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes reflectionSlide {
  0% { transform: rotate(45deg) translateX(-100%); }
  50% { transform: rotate(45deg) translateX(100%); }
  100% { transform: rotate(45deg) translateX(-100%); }
}

/* === Gold Gradient Text === */
.gold-text {
  background: linear-gradient(135deg, #D4A843, #F5D76E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
