/* ========================
   Animations smooth génériques
======================== */

.anim-smooth {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 700ms ease,
    transform 700ms cubic-bezier(.22, 1, .36, 1);
  will-change: opacity, transform;
}

.anim-smooth.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Variantes */
.anim-fade {
  transform: none;
}

.anim-up {
  transform: translateY(28px);
}

.anim-left {
  transform: translateX(-28px);
}

.anim-right {
  transform: translateX(28px);
}

.anim-zoom {
  transform: scale(.96);
}

.anim-soft-blur {
  filter: blur(8px);
}

.anim-soft-blur.is-visible {
  filter: blur(0);
}

/* Délais */
.anim-delay-1 { transition-delay: 100ms; }
.anim-delay-2 { transition-delay: 200ms; }
.anim-delay-3 { transition-delay: 300ms; }
.anim-delay-4 { transition-delay: 400ms; }

/* Désactivation animations en mode édition Beaver Builder */
.fl-builder-edit .anim-smooth,
.fl-builder-edit .anim-smooth * {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}
/* Respect accessibilité */
@media (prefers-reduced-motion: reduce) {
  .anim-smooth {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}