/**
 * @file name: animations.css
 * @project: Dream Spark Group — Corporate Website
 * @author: Saieed Rahman
 * @copyright: SidMan Solution 2026
 */

/* ─── Float ─────────────────────────────────────────── */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-15px); }
}

/* ─── Shimmer ────────────────────────────────────────── */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

/* ─── Pulse Glow ─────────────────────────────────────── */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 20px rgba(230,57,70,0.3); }
  50%       { box-shadow: 0 0 40px rgba(230,57,70,0.7), 0 0 80px rgba(230,57,70,0.2); }
}

@keyframes pulseGlowGold {
  0%, 100% { box-shadow: 0 0 20px rgba(244,162,97,0.4); }
  50%       { box-shadow: 0 0 50px rgba(244,162,97,0.8), 0 0 100px rgba(244,162,97,0.3); }
}

/* ─── Slide Up ───────────────────────────────────────── */
@keyframes slideUp {
  from { opacity: 0; transform: translateY(50px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes slideLeft {
  from { opacity: 0; transform: translateX(50px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes slideRight {
  from { opacity: 0; transform: translateX(-50px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.85); }
  to   { opacity: 1; transform: scale(1); }
}

/* ─── Rotate Border (Champion Cards) ────────────────── */
@keyframes rotateBorder {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ─── Text Reveal ────────────────────────────────────── */
@keyframes textReveal {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0% 0 0); }
}

/* ─── Floating Geometric Shapes ─────────────────────── */
@keyframes floatShape {
  0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.04; }
  33%       { transform: translateY(-30px) rotate(120deg); opacity: 0.07; }
  66%       { transform: translateY(20px) rotate(240deg); opacity: 0.04; }
}

@keyframes floatShapeSlow {
  0%, 100% { transform: translateY(0) rotate(0deg) scale(1); opacity: 0.03; }
  50%       { transform: translateY(-50px) rotate(180deg) scale(1.1); opacity: 0.06; }
}

/* ─── Pulse ──────────────────────────────────────────── */
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.05); }
}

@keyframes pulseDot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.5); opacity: 0.5; }
}

/* ─── Fade In ────────────────────────────────────────── */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ─── Gradient Shift ─────────────────────────────────── */
@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ─── Spin Slow ──────────────────────────────────────── */
@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ─── Loading Bar ────────────────────────────────────── */
@keyframes loadingBar {
  0%   { width: 0%; }
  20%  { width: 30%; }
  50%  { width: 60%; }
  80%  { width: 80%; }
  100% { width: 100%; }
}

/* ─── WhatsApp Pulse ─────────────────────────────────── */
@keyframes whatsappPulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,0.5); }
  70%  { box-shadow: 0 0 0 15px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}

/* ─── Back to Top ────────────────────────────────────── */
@keyframes bounceUp {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-5px); }
}

/* ─── Scroll Reveal Classes ──────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}

.reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal-scale.visible {
  opacity: 1;
  transform: scale(1);
}

/* ─── Stagger Delays ─────────────────────────────────── */
.stagger-1 { transition-delay: 0.1s !important; }
.stagger-2 { transition-delay: 0.2s !important; }
.stagger-3 { transition-delay: 0.3s !important; }
.stagger-4 { transition-delay: 0.4s !important; }
.stagger-5 { transition-delay: 0.5s !important; }
.stagger-6 { transition-delay: 0.6s !important; }
