/*
  transitions.css — Transição suave entre páginas (porta de layout/page-transition.tsx).

  Site PHP = MPA real (cada navegação é um load). Usa a Cross-Document View
  Transitions API: o browser anima a troca de página nativamente. Progressive
  enhancement puro — navegadores sem suporte navegam normalmente (no-op) e não
  há animação no PRIMEIRO acesso (não há página "antiga"), exatamente como o
  Next (que também não animava o load inicial, só as trocas de rota).

  Mantido como CSS estático (fora do Tailwind) porque a regra @view-transition
  não é um utilitário e não deve passar pelo bundler de utilitários.

  Fallback universal: a @view-transition acima só anima em browsers Chromium
  recentes — em qualquer outro (Firefox, Safari) não havia NENHUMA animação de
  entrada. A regra ".js body" abaixo reaproveita o @keyframes page-in já
  definido em tailwind/input.css (compilado em styles.css, carregado antes
  deste arquivo) para animar a entrada em TODO browser evergreen; quem também
  suporta View Transitions ganha a transição cross-document por cima.
*/
@view-transition {
  navigation: auto;
}

@media (prefers-reduced-motion: no-preference) {
  .js body {
    animation: page-in 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  ::view-transition-old(root) {
    animation: dm-fade-out 160ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  ::view-transition-new(root) {
    animation: dm-page-in 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  @keyframes dm-fade-out {
    to { opacity: 0; }
  }
  @keyframes dm-page-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: none; }
  }
}
