/* Site temporário constanzamatuk.com — CSS mínimo.
   Reaproveita as texturas de papel do app "Entre Folhas" (www/web/css/site.css).
   As fontes (Libre Baskerville / Sacramento / Caveat / Dancing Script) vêm do
   fonts.css vendorizado — sem CDN (convenção 24), carregado por <link> próprio
   no <head> do _layout.php: por @import daqui o browser só descobriria as fontes
   depois de baixar este arquivo (cadeia serializada, bloqueando a renderização). */

/* Textura de fundo do hero (era .bg-pt0 no app). */
.bg-pt0 {
    background-image: url('/assets/images/background.webp');
}

/* Textura de papel repetida (era .bg-pt2 no app) — fundo geral. */
.bg-pt2 {
    background-image: url('/assets/images/paper-texture-2.webp');
    background-repeat: repeat;
}

/* Modal de aviso (native <dialog>, ver _layout.php + main.js) — espelha o
   .feedback-modal do app: backdrop escurecido (sem utilitário Tailwind) e
   animações de abrir/fechar, respeitando prefers-reduced-motion. */
dialog.ef-modal::backdrop {
    background: rgba(47, 58, 44, .45);
    backdrop-filter: blur(2px);
}

dialog.ef-modal[open] {
    animation: efModalIn .18s ease-out;
}

dialog.ef-modal[open]::backdrop {
    animation: efFadeIn .18s ease-out;
}

dialog.ef-modal.is-closing {
    animation: efModalOut .15s ease-in forwards;
}

dialog.ef-modal.is-closing::backdrop {
    animation: efFadeOut .15s ease-in forwards;
}

@keyframes efModalIn {
    from { opacity: 0; transform: translateY(8px) scale(.97); }
    to { opacity: 1; transform: none; }
}

@keyframes efModalOut {
    from { opacity: 1; transform: none; }
    to { opacity: 0; transform: translateY(8px) scale(.97); }
}

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

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

@media (prefers-reduced-motion: reduce) {
    dialog.ef-modal[open],
    dialog.ef-modal.is-closing,
    dialog.ef-modal[open]::backdrop,
    dialog.ef-modal.is-closing::backdrop {
        animation: none;
    }
}
