/* Nova Films — transiciones compartidas: fade-in de página, fade-in de imágenes,
   transición suave al navegar entre páginas. Puro CSS: funciona incluso si
   el JS tarda en cargar o falla. */

@keyframes nf-page-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
body {
    opacity: 0;
    animation: nf-page-fade-in 0.7s ease forwards;
}
/* Añadido por JS justo antes de navegar a otra página */
body.leaving {
    opacity: 0;
    transition: opacity 0.28s ease;
    animation: none;
}

/* Fade-in individual de cada foto de contenido cuando termina de cargar,
   para que nunca "aparezcan de golpe" aunque tarden en descargar.
   El hero-slide tiene su propio crossfade con GSAP, se excluye aquí. */
img:not(.hero-slide) {
    opacity: 0;
    transition: opacity 0.8s ease;
}
img:not(.hero-slide).img-loaded {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    body {
        opacity: 1;
        animation: none;
    }
    body.leaving {
        opacity: 1;
        transition: none;
    }
    img:not(.hero-slide) {
        opacity: 1;
        transition: none;
    }
}
