/* =============================================================
   animations.css — Keyframes compartilhados
   ============================================================= */

/* Shimmer para skeleton loading */
@keyframes skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Fade simples */
@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Ken-Burns — zoom suave na imagem do hero ativo */
@keyframes ken-burns {
  from { transform: scale(1)    translate(0, 0); }
  to   { transform: scale(1.08) translate(-1%, -1%); }
}

/* Header — slide-in ao carregar */
@keyframes header-slide-in {
  from { transform: translateY(-100%); opacity: 0; }
  to   { transform: translateY(0);     opacity: 1; }
}

/* Blog — reveal horizontal */
@keyframes blog-reveal {
  from { transform: translateX(-20px); opacity: 0; }
  to   { transform: translateX(0);     opacity: 1; }
}

/* Social icons — pop de escala */
@keyframes social-icon-pop {
  from { transform: scale(0.5); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

/* Footer colunas — reveal vertical */
@keyframes footer-col-reveal {
  from { transform: translateY(40px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* Newsletter reveal */
@keyframes footer-newsletter-reveal {
  from { transform: translateY(40px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* ============================================================
   prefers-reduced-motion — desabilitar todas as animações
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
