/* ===========================
   BASE — comum a todas as páginas
   (carregar antes do CSS de cada página)
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* transição de saída usada pelo js/script.js */
body{
    transition: opacity .45s ease;
}

body.saindo{
    opacity: 0;
}

/* ===========================
   MOVIMENTO REDUZIDO
=========================== */

@media (prefers-reduced-motion: reduce){

    /* Toda animação termina na hora, sem atraso:
       - as entradas que começam com opacity:0 (cartas, envelopes,
         carimbo da carta 4, itens da carta 1...) vão direto para o
         estado final e ficam visíveis;
       - os loops decorativos (estrelas cadentes e piscando da carta 2,
         holofote da carta 4, pétalas e estrela cadente dos envelopes,
         fundo "respirando" da carta 3) rodam uma única vez,
         instantânea, e ficam parados no estado de repouso. */
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-delay:0s !important;
        animation-iteration-count:1 !important;
    }

    /* estrelas piscando (carta 2): paradas no meio do brilho */
    .ceu::before,
    .ceu::after{
        opacity:.3;
    }

    /* pétalas dos envelopes: paradas ficariam presas na borda */
    .petala::before,
    .petala::after{
        opacity:0;
    }

}
