/* ============================================================
   Giftrix Premium Effects styles
============================================================ */

/* ===== Hero mouse-follow glow ===== */
.hero { position: relative; }
.hero-glow {
  position: absolute;
  pointer-events: none;
  width: 600px; height: 600px;
  left: 0; top: 0;
  transform: translate(calc(var(--gx, -1000px) - 300px), calc(var(--gy, -1000px) - 300px));
  background: radial-gradient(closest-side, rgba(184, 137, 59, 0.18), rgba(184, 137, 59, 0) 70%);
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.15s ease;
  z-index: 0;
  border-radius: 50%;
  mix-blend-mode: multiply;
}
.hero > * { position: relative; z-index: 1; }

/* ===== Floating particles in stats band ===== */
.stats-band { position: relative; overflow: hidden; }
.gx-particles {
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 0;
}
.gx-particle {
  position: absolute;
  width: 4px; height: 4px;
  background: var(--accent-soft);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(244, 233, 211, 0.6);
  animation: gx-float-particle 12s ease-in-out infinite;
}
@keyframes gx-float-particle {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.3;
  }
  25% {
    transform: translate(20px, -30px) scale(1.3);
    opacity: 0.8;
  }
  50% {
    transform: translate(-10px, -50px) scale(0.8);
    opacity: 0.6;
  }
  75% {
    transform: translate(15px, -20px) scale(1.2);
    opacity: 0.9;
  }
}
.stats-band > .container { position: relative; z-index: 1; }

/* ===== 3D tilt prep — preserve-3d on tilted cards ===== */
.feature, .audience, .category, .brand-card, .how-step, .testimonial {
  transform-style: preserve-3d;
}
.feature *, .audience *, .category *, .brand-card *, .how-step *, .testimonial * {
  transform-style: preserve-3d;
}

/* ===== Animated gradient border on feature/audience cards ===== */
.feature, .audience, .how-step, .testimonial {
  position: relative;
}
