/* ===== Transiciones más suaves SOLO en móvil (< lg) ===== */
@media (max-width: 1023.98px) {
  /* Easing suave y duraciones base un poco más largas */
  :root {
    /* Mantén naming existente y sobreescribe si aplica */
    --default-transition-timing-function: cubic-bezier(.22,.61,.36,1); /* easeOutQuint-like */
    --default-transition-duration: .35s; /* de .15s => .35s */
  }

  /* Utilidades personalizadas del proyecto */
  .transition-smooth,
  .hover-lift,
  .hover-scale-subtle,
  .hover-glow {
    transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
    transition-duration: .35s !important;
  }

  .transition-smooth-slow,
  .transition-elegant-slow,
  .transition-bounce-subtle {
    transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
    transition-duration: .6s !important;
  }

  .transition-elegant {
    transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
    transition-duration: .35s !important;
  }

  /* Overrides de utilidades tailwind-like duration-* ya presentes */
  .duration-150 { transition-duration: .35s !important; }
  .duration-300 { transition-duration: .50s !important; }
  .duration-400 { transition-duration: .65s !important; }
  .duration-500 { transition-duration: .80s !important; }
  .duration-700 { transition-duration: 1.00s !important; }
  .duration-1000 { transition-duration: 1.40s !important; }

  /* Animaciones del proyecto (suavizar entrada) */
  .animate-fade-in-up,
  .animate-fade-in-up-delay-1,
  .animate-fade-in-up-delay-2,
  .animate-fade-in-up-delay-3 {
    animation-duration: 1.1s !important; /* antes ~0.8–1.4s => +suave */
    animation-timing-function: cubic-bezier(.22,.61,.36,1) !important;
  }

  .pulse-subtle,
  .pulse-accent {
    animation-duration: 3s !important; /* más calmado */
  }

  /* En componentes del menú móvil, suaviza transform/opacity */
  #mobile-menu-overlay,
  #mobile-menu-overlay .js-mobile-card {
    transition: opacity .45s cubic-bezier(.22,.61,.36,1),
                transform .45s cubic-bezier(.22,.61,.36,1) !important;
  }

  /* Respetar accesibilidad: si el usuario prefiere menos movimiento */
  @media (prefers-reduced-motion: reduce) {
    * {
      transition-duration: .01ms !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
    }
  }
}

