/* Global Page Transitions */

/* Anima só opacidade, nunca "transform" no <body> — um elemento com
   position:fixed (barra inferior, sidebar do chat, dropdowns, modais...)
   deixa de ficar fixo na tela e passa a ficar preso dentro do <body> se
   o <body> (ou qualquer ancestral) tiver um transform aplicado. */
body.page-transitioning {
    opacity: 0;
}

body.page-entered {
    opacity: 1;
    transition: opacity 0.4s ease-out;
}

body.page-exiting {
    opacity: 0;
    transition: opacity 0.3s ease-in;
}
