/* ===================================================================
   ANIMATIONS.CSS — Keyframes مشترک
=================================================================== */

@keyframes float-y{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-18px); }
}
@keyframes float-y-soft{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-10px); }
}
.float{ animation: float-y 6s var(--ease-soft) infinite; }
.float-slow{ animation: float-y 9s var(--ease-soft) infinite; }
.float-soft{ animation: float-y-soft 5s var(--ease-soft) infinite; }

@keyframes pulse-glow{
  0%,100%{ opacity:.55; transform: scale(1); }
  50%{ opacity:1; transform: scale(1.08); }
}
.pulse-glow{ animation: pulse-glow 3.4s ease-in-out infinite; }

@keyframes rotate-cw{ to{ transform: rotate(360deg); } }
@keyframes rotate-ccw{ to{ transform: rotate(-360deg); } }
.spin-cw{ animation: rotate-cw 18s linear infinite; }
.spin-ccw{ animation: rotate-ccw 24s linear infinite; }

@keyframes fade-up{
  from{ opacity:0; transform: translateY(26px); }
  to{ opacity:1; transform: translateY(0); }
}
.fade-up{ animation: fade-up 1s var(--ease-luxury) both; }

@keyframes shimmer{
  0%{ background-position: -200% 0; }
  100%{ background-position: 200% 0; }
}
.shimmer-text{
  background: linear-gradient(90deg, var(--text-soft) 20%, #fff 50%, var(--text-soft) 80%);
  background-size: 200% auto;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation: shimmer 4s linear infinite;
}

@keyframes grain-drift{
  0%{ transform: translate(0,0); }
  100%{ transform: translate(-40px,-40px); }
}

@keyframes blink-dot{
  0%,100%{ opacity:1; } 50%{ opacity:.3; }
}
.blink{ animation: blink-dot 1.6s ease-in-out infinite; }

@keyframes bar-grow{
  from{ transform: scaleX(0); }
  to{ transform: scaleX(1); }
}

@keyframes draw-circle{
  from{ stroke-dashoffset: var(--circ); }
  to{ stroke-dashoffset: var(--offset); }
}

@keyframes ring-spin{
  to{ transform: rotate(360deg); }
}

@keyframes ticker{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@keyframes scale-in{
  from{ opacity:0; transform: scale(.85); }
  to{ opacity:1; transform: scale(1); }
}

/* درخشش پس‌زمینه‌ی متحرک برای بخش‌های هیرو */
@keyframes aurora-move{
  0%{ transform: translate(0,0) rotate(0deg); }
  50%{ transform: translate(3%,-4%) rotate(8deg); }
  100%{ transform: translate(0,0) rotate(0deg); }
}
.aurora{ animation: aurora-move 16s ease-in-out infinite; }
