/* LMS Linguistique — Animations CSS */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeLeft {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeRight {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.65; }
}
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

.anim-fade-up   { animation: fadeUp  0.6s ease-out both; }
.anim-fade-left { animation: fadeLeft 0.6s ease-out both; }
.anim-fade-right{ animation: fadeRight 0.6s ease-out both; }
.anim-scale     { animation: scaleIn 0.5s ease-out both; }
.anim-float     { animation: float 3s ease-in-out infinite; }

.d1 { animation-delay: 0.05s; }
.d2 { animation-delay: 0.12s; }
.d3 { animation-delay: 0.20s; }
.d4 { animation-delay: 0.28s; }
.d5 { animation-delay: 0.36s; }
.d6 { animation-delay: 0.44s; }

.hover-lift {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}
.btn-hover {
  transition: all 0.2s ease;
}
.btn-hover:hover {
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
