/* ================================================
   STATUS PRO LEGALIS — Animations
   ================================================ */

/* ===== KEYFRAMES ===== */
@keyframes ringRotate {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to   { transform: translate(-50%,-50%) rotate(360deg); }
}

@keyframes scrollBounce {
  0%, 100% { transform: rotate(45deg) translateY(0); opacity: 0.6; }
  50%       { transform: rotate(45deg) translateY(8px); opacity: 1; }
}

@keyframes waPulse {
  0%, 100% { box-shadow: 0 6px 24px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.4); }
  50%       { box-shadow: 0 6px 24px rgba(37,211,102,0.4), 0 0 0 14px rgba(37,211,102,0); }
}

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

@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.9); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

@keyframes starGlow {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(255,215,0,0.6)); }
  50%       { filter: drop-shadow(0 0 12px rgba(255,215,0,1)); }
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-12px); }
}

@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes counterUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes borderGlow {
  0%, 100% { border-color: rgba(255,215,0,0.15); }
  50%       { border-color: rgba(255,215,0,0.4); }
}

@keyframes iconSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

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

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

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

/* ===== APPLIED ANIMATIONS ===== */

/* EU Stars glow */
.logo__icon .eu-stars { animation: starGlow 3s ease-in-out infinite; }

/* About visual floating */
.about__ring-wrap { animation: float 6s ease-in-out infinite; }

/* Hero badge pulse */
.hero__badge { animation: pulse 3s ease-in-out infinite; }

/* Section label shimmer */
.section__label {
  background: linear-gradient(90deg, rgba(255,215,0,0.1), rgba(255,215,0,0.25), rgba(255,215,0,0.1));
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
}

/* Featured card border glow */
.service-card--featured { animation: borderGlow 3s ease-in-out infinite; }

/* How step icon hover spin */
.how__step:hover .how__step-icon i { animation: iconSpin 0.6s ease-in-out; }

/* ===== STAGGER DELAYS for cards ===== */
.services__grid .service-card:nth-child(1).reveal { transition-delay: 0s; }
.services__grid .service-card:nth-child(2).reveal { transition-delay: 0.12s; }
.services__grid .service-card:nth-child(3).reveal { transition-delay: 0.24s; }

.how__steps .how__step:nth-child(1) { transition-delay: 0s; }
.how__steps .how__step:nth-child(3) { transition-delay: 0.15s; }
.how__steps .how__step:nth-child(5) { transition-delay: 0.3s; }

.about__feature:nth-child(1) { animation-delay: 0.1s; }
.about__feature:nth-child(2) { animation-delay: 0.2s; }
.about__feature:nth-child(3) { animation-delay: 0.3s; }
.about__feature:nth-child(4) { animation-delay: 0.4s; }

/* ===== 3D TILT effect via CSS perspective ===== */
[data-tilt] {
  transform-style: preserve-3d;
  will-change: transform;
}

/* ===== GRADIENT TEXT ===== */
.gradient-text {
  background: linear-gradient(90deg, var(--gold), #FFF, var(--gold));
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 4s linear infinite;
}

/* ===== PAGE LOAD ANIMATIONS ===== */
.header { animation: fadeInUp 0.6s ease both; }
.hero__badge { animation-delay: 0.2s; }
.hero__title { animation: fadeInUp 0.8s 0.3s ease both; }
.hero__subtitle { animation: fadeInUp 0.8s 0.45s ease both; }
.hero__actions { animation: fadeInUp 0.8s 0.6s ease both; }
.hero__stats { animation: fadeInScale 0.8s 0.75s ease both; }
