/**
 * Animações e microinterações leves do frontoffice (Fase E).
 * Ver public/assets/front/js/front-animations.js para a lógica.
 */

@media (prefers-reduced-motion: no-preference) {
  .animate-on-scroll {
    opacity: 0;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    transition-delay: var(--reveal-delay, 0s);
  }

  .animate-on-scroll.fade-up {
    transform: translateY(24px);
  }

  .animate-on-scroll.fade-in {
    transform: none;
  }

  .animate-on-scroll.scale-in {
    transform: scale(0.92);
  }

  .animate-on-scroll.is-visible {
    opacity: 1;
    transform: none;
  }

  .hero-fade-in {
    animation: heroFadeIn 0.7s ease-out both;
  }

  @keyframes heroFadeIn {
    from {
      opacity: 0;
      transform: translateY(16px);
    }

    to {
      opacity: 1;
      transform: none;
    }
  }
}

/* Sem preferência de movimento reduzido: mostra tudo de imediato, sem transição. */
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .hero-fade-in {
    animation: none !important;
  }
}

/* Microinteração genérica de elevação ao passar o rato (botões grandes, etc). */
.hover-lift {
  transition: transform 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.15);
}

.btn-lg.hover-lift,
.btn-accent.hover-lift {
  transition: transform 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out;
}
