/* --- FUENTES --- */
@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Geist:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* --- CONFIGURACIÓN BASE --- */
body {
    background-color: #EFECE6;
    background-size: cover;
    background-blend-mode: soft-light;
    background-attachment: fixed;
    color: #121411;
    overflow-x: hidden;
    min-height: 100vh;
}

/* --- CLASES DE UTILIDAD --- */
.font-serif { font-family: "Italiana", serif; }
.font-sans { font-family: "Geist", sans-serif; }
.font-playfair { font-family: "Playfair Display", serif; }

/* --- COMPONENTES --- */
.glass-panel { 
    background: rgba(255, 255, 255, 0.9); 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(156, 109, 87, 0.1); 
}

#app-container { 
    display: none; 
    opacity: 0; 
    transition: opacity 1s ease; 
    width: 100%; 
}

/* --- NAVEGACIÓN SPA --- */
.tab-section { 
    display: none; 
    min-height: 100vh; 
    padding-top: 140px; 
    padding-bottom: 50px; 
}

@media (min-width: 768px) { 
    .tab-section { padding-top: 110px; } 
}

/* Estado activo del menú */
.nav-active { 
    color: #9C6D57 !important; 
    border-bottom: 2px solid #9C6D57; 
}

/* Carrusel de frases */
#carousel-quote { 
    transition: opacity 0.8s ease-in-out; 
}

/* Footer genérico */
.footer-copy {
    width: 100%;
    border-top: 1px solid rgba(18, 20, 17, 0.1);
    padding: 2rem 0;
    text-align: center;
    font-size: 9px;
    font-family: "Geist", sans-serif;
    color: rgba(18, 20, 17, 0.4);
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

/* Animación de la portada */
#cover-screen {
    transition: transform 1s cubic-bezier(0.85, 0, 0.15, 1);
}

#cover-screen.up {
    transform: translateY(-100%);
    pointer-events: none;
}