/*-----------------------------------*\
  #TRANSICAO ENTRE PAGINAS
  Navegadores com View Transitions entre documentos (Chrome/Edge 126+,
  Safari 18.2+): transicao nativa, sem atrasar a navegacao.
  Demais navegadores: fallback em page-transitions.js (classe pt-fallback).
\*-----------------------------------*/

@view-transition {
  navigation: auto;
}

/* Cabecalho compartilhado permanece fixo enquanto o conteudo troca */
#site-header {
  view-transition-name: site-header;
}

::view-transition-group(site-header) {
  animation-duration: 220ms;
  animation-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

::view-transition-old(root) {
  animation: ptFadeOut 140ms cubic-bezier(0.4, 0, 1, 1) both;
}

::view-transition-new(root) {
  animation: ptFadeIn 240ms cubic-bezier(0.2, 0, 0, 1) 40ms both;
}

@keyframes ptFadeOut {
  to { opacity: 0; }
}

@keyframes ptFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* Fallback: apenas opacidade no body (transform quebraria elementos fixos) */
html.pt-fallback body {
  animation: ptBodyIn 240ms cubic-bezier(0.2, 0, 0, 1) both;
}

html.pt-fallback.pt-leaving body {
  opacity: 0;
  transition: opacity 140ms cubic-bezier(0.4, 0, 1, 1);
  pointer-events: none;
}

@keyframes ptBodyIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }

  html.pt-fallback body {
    animation: none;
  }
}
