/* ============================================================
   G AQUAAURA – ANIMATIONS v2
   ============================================================ */

/* ====== REVEAL ON LOAD ====== */
.aqua-reveal-up {
  opacity: 0;
  transform: translateY(36px);
  animation: revealUp 0.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.aqua-delay-1 { animation-delay: 0.18s; }
.aqua-delay-2 { animation-delay: 0.34s; }
.aqua-delay-3 { animation-delay: 0.50s; }
.aqua-delay-4 { animation-delay: 0.66s; }

@keyframes revealUp {
  to { opacity: 1; transform: translateY(0); }
}

/* ====== SCROLL REVEAL (AOS-style) ====== */
[data-aos] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}
[data-aos].aqua-aos-visible {
  opacity: 1;
  transform: translateY(0);
}
[data-aos][data-delay="100"]  { transition-delay: 0.1s; }
[data-aos][data-delay="200"]  { transition-delay: 0.2s; }
[data-aos][data-delay="300"]  { transition-delay: 0.3s; }
[data-aos][data-delay="400"]  { transition-delay: 0.4s; }

[data-aos="zoom-in"] {
  opacity: 0;
  transform: scale(0.94);
}
[data-aos="zoom-in"].aqua-aos-visible {
  opacity: 1;
  transform: scale(1);
}
[data-aos="fade-right"] {
  opacity: 0;
  transform: translateX(-36px);
}
[data-aos="fade-right"].aqua-aos-visible {
  opacity: 1;
  transform: translateX(0);
}
[data-aos="fade-left"] {
  opacity: 0;
  transform: translateX(36px);
}
[data-aos="fade-left"].aqua-aos-visible {
  opacity: 1;
  transform: translateX(0);
}

/* ====== PARTICLES ====== */
.aqua-particle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  animation: floatParticle linear infinite;
  opacity: 0;
}
@keyframes floatParticle {
  0%   { opacity: 0; transform: translateY(0) scale(0); }
  10%  { opacity: 0.7; transform: translateY(-18px) scale(1); }
  80%  { opacity: 0.25; }
  100% { opacity: 0; transform: translateY(-110px) scale(0.4); }
}

/* ====== SHIMMER TEXT ====== */
@keyframes shimmerText {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.aqua-shimmer {
  background: linear-gradient(90deg, var(--accent-cyan) 0%, #ffffff 40%, var(--accent-cyan) 80%);
  background-size: 400px 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmerText 3s linear infinite;
}

/* ====== PULSE GLOW ====== */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 20px rgba(255,165,219,0.3); }
  50%       { box-shadow: 0 0 55px rgba(255,165,219,0.75); }
}
.aqua-pulse-glow { animation: pulseGlow 2.2s ease-in-out infinite; }

/* ====== FLOAT UP-DOWN ====== */
@keyframes floatUpDown {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}
.float-anim { animation: floatUpDown 4s ease-in-out infinite; }

/* ====== WATER RIPPLE ====== */
@keyframes ripple {
  0%   { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(2.5); opacity: 0; }
}

/* ====== SCAN LINE EFFECT ====== */
.scan-lines::before {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.02) 2px, rgba(0,0,0,0.02) 4px);
  pointer-events: none; z-index: 10;
}

/* ====== NAVBAR SLIDE DOWN ====== */
@keyframes navSlideDown {
  from { transform: translateY(-100%); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.aqua-navbar { animation: navSlideDown 0.7s cubic-bezier(0.4,0,0.2,1) both; }

/* ====== BUTTON RIPPLE ====== */
.aqua-btn { position: relative; overflow: hidden; }
.aqua-btn::before {
  content: '';
  position: absolute; top: 50%; left: 50%;
  width: 0; height: 0;
  background: rgba(255,255,255,0.14);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.5s ease, height 0.5s ease, opacity 0.5s ease;
  opacity: 0;
}
.aqua-btn:active::before {
  width: 300px; height: 300px;
  opacity: 1; transition: 0s;
}

/* ====== COLLECTION CARD ====== */
@keyframes borderShimmer {
  0%   { opacity: 0.3; }
  50%  { opacity: 1; }
  100% { opacity: 0.3; }
}

/* ====== TRUST ICON SPIN ====== */
.aqua-trust-item:hover .aqua-trust-icon {
  animation: spinOnce 0.55s ease;
}
@keyframes spinOnce {
  0%   { transform: rotate(0deg) scale(1); }
  50%  { transform: rotate(180deg) scale(1.18); }
  100% { transform: rotate(360deg) scale(1); }
}

/* ====== PRICE COUNTER ====== */
@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ====== HERO TITLE LETTERS ====== */
.aqua-hero-title .char {
  display: inline-block;
  animation: charReveal 0.5s cubic-bezier(0.4,0,0.2,1) forwards;
  opacity: 0;
  transform: translateY(18px);
}
@keyframes charReveal {
  to { opacity: 1; transform: translateY(0); }
}

/* ====== GRADIENT BORDER ANIMATION ====== */
@keyframes gradientBorder {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ====== TYPEWRITER ====== */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* ====== BUBBLE UP ====== */
@keyframes bubbleUp {
  0%   { transform: translateY(100%) scale(0.5); opacity: 0; }
  50%  { opacity: 1; }
  100% { transform: translateY(-200%) scale(1.2); opacity: 0; }
}

/* ====== PAGE TRANSITIONS ====== */
.page-enter { animation: pageEnter 0.6s ease forwards; }
@keyframes pageEnter {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ====== SKELETON LOADING ====== */
@keyframes skeleton {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.skeleton {
  background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card2) 50%, var(--bg-card) 75%);
  background-size: 800px 100%;
  animation: skeleton 1.5s linear infinite;
}

/* ====== WHY STAT COUNT REVEAL ====== */
.aqua-why-stat { transition: transform 0.3s ease; }
.aqua-why-stat:hover { transform: translateY(-2px); }
.aqua-why-stat-num {
  transition: color 0.3s ease;
}
.aqua-why-stat:hover .aqua-why-stat-num {
  color: var(--accent-gold);
}
