/* Medizinarius – Keyframes & Shared Animations */

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

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

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 var(--teal-glow); }
  50%       { box-shadow: 0 0 18px 4px var(--teal-glow); }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%       { transform: translateX(-6px); }
  40%       { transform: translateX(6px); }
  60%       { transform: translateX(-4px); }
  80%       { transform: translateX(4px); }
}

@keyframes pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.2); }
  100% { transform: scale(1); }
}

@keyframes slide-in-right {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes slide-in-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

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

/* Utility-Klassen */
.anim-fade-in       { animation: fadeIn 0.4s ease both; }
.anim-fade-in-scale { animation: fadeInScale 0.35s cubic-bezier(0.34,1.56,0.64,1) both; }
.anim-shake         { animation: shake 0.4s ease; }
.anim-pop           { animation: pop 0.3s ease; }
.anim-slide-right   { animation: slide-in-right 0.35s ease both; }
.anim-slide-up      { animation: slide-in-up 0.35s ease both; }
.anim-spin          { animation: spin 0.8s linear infinite; }
.anim-pulse-glow    { animation: pulse-glow 2s ease-in-out infinite; }

/* Staggered children: .stagger-children > * bekommen Delay */
.stagger-children > *:nth-child(1)  { animation-delay: 0.05s; }
.stagger-children > *:nth-child(2)  { animation-delay: 0.10s; }
.stagger-children > *:nth-child(3)  { animation-delay: 0.15s; }
.stagger-children > *:nth-child(4)  { animation-delay: 0.20s; }
.stagger-children > *:nth-child(5)  { animation-delay: 0.25s; }
.stagger-children > *:nth-child(6)  { animation-delay: 0.30s; }
.stagger-children > *:nth-child(7)  { animation-delay: 0.35s; }
.stagger-children > *:nth-child(8)  { animation-delay: 0.40s; }
