/* =================================================================
   CSS General para el Sitio Familiar
   ================================================================= */

/* --- 1. Variables Globales y Reseteo --- */
/* Usar variables te permite cambiar los colores de todo el sitio fácilmente */
:root {
    --color-primario: #877000; /* Azul oscuro y sobrio */
    --color-secundario: #FFCD00; /* Amarillo/Dorado para acentos */
    --color-texto: #333333; /* Gris oscuro para texto, más suave que el negro puro */
    --color-fondo: #fdfdfd; /* Un blanco muy suave */
    --color-footer: #000000; /* Un color oscuro para el pie de página */
    
    --fuente-titulos: 'Georgia', 'Times New Roman', serif;
    --fuente-cuerpo: 'Helvetica', 'Arial', sans-serif;
    
    --ancho-maximo: 1100px;
    --sombra-caja: 0 4px 10px rgba(0, 0, 0, 0.08);
}

/* Reseteo básico para un comportamiento consistente en todos los navegadores */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--fuente-cuerpo);
    background-color: var(--color-fondo);
    color: var(--color-texto);
    line-height: 1.6;
}

/* --- 2. Estructura Principal (Header, Main, Footer) --- */

.main-header {
    background-color: #ffffff;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: var(--sombra-caja);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.main-header h1 {
    color: var(--color-primario);
    font-family: var(--fuente-titulos);
    font-size: 1.8rem;
}

main {
    max-width: var(--ancho-maximo);
    margin: 2rem auto; /* Centra el contenido y le da espacio arriba/abajo */
    padding: 0 2rem;
    min-height: 70vh; /* Asegura que el footer no suba en páginas con poco contenido */
}

.main-footer {
    background-color: var(--color-footer);
    color: #ecf0f1;
    text-align: center;
    padding: 2rem;
    margin-top: 2rem;
}

.main-footer p {
    margin-bottom: 1rem;
}


/* --- 3. Navegación --- */

nav ul {
    list-style: none;
    display: flex;
    gap: 1.5rem; /* Espacio entre elementos del menú */
}

nav a {
    text-decoration: none;
    color: var(--color-primario);
    font-weight: bold;
    padding: 0.5rem 0;
    position: relative;
    transition: color 0.3s ease;
}

/* Efecto de línea inferior al pasar el mouse */
nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-secundario);
    transition: width 0.3s ease;
}

nav a:hover {
    color: #00f936; /* Un azul un poco más claro */
}

nav a:hover::after {
    width: 100%;
}


/* --- 4. Tipografía y Elementos Comunes --- */

h2, h3, h4 {
    font-family: var(--fuente-titulos);
    color: var(--color-primario);
    margin-bottom: 1rem;
}

h2 { font-size: 2.2rem; }
h3 { font-size: 1.8rem; }

p {
    margin-bottom: 1rem;
}

a {
    color: var(--color-primario);
    transition: color 0.3s ease;
}

a:hover {
    color: #0056b3;
}

.main-footer a {
    color: #ffffff;
    text-decoration: underline;
}

.main-footer a:hover {
    color: var(--color-secundario);
}


/* --- 5. Estilos para Formularios (Sección Secretos) --- */

form {
    max-width: 400px;
    margin: 2rem auto;
    padding: 2rem;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: var(--sombra-caja);
}

form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
}

form input[type="password"],
form input[type="text"] {
    width: 100%;
    padding: 0.8rem;
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}

form input[type="submit"] {
    width: 100%;
    padding: 0.8rem;
    background-color: var(--color-primario);
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 1.1rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

form input[type="submit"]:hover {
    background-color: #0056b3;
}


/* --- 6. Diseño Responsivo (Para Móviles) --- */

@media (max-width: 768px) {
    .main-header {
        flex-direction: column; /* Apila el título y el menú */
        padding: 1rem;
    }

    .main-header h1 {
        margin-bottom: 1rem;
    }

    nav ul {
        flex-direction: column;
        gap: 0.5rem;
        align-items: center;
    }

    nav a::after {
        /* Opcional: deshabilitar la animación de línea en móvil si se prefiere */
        display: none; 
    }
    
    main {
        padding: 0 1rem;
        margin-top: 1rem;
    }

    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.5rem; }
    
}

/* --- 7. Estilos de Página de Inicio (Welcome Section) --- */

.welcome-section {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Crea dos columnas de igual tamaño */
    align-items: center; /* Centra el contenido de ambas columnas verticalmente */
    gap: 3rem; /* Espacio entre la imagen y el texto */
    margin: 4rem auto; /* Más espacio vertical para la sección */
}

.welcome-text-container h2 {
    font-size: 2.8em; /* Hacemos el título más grande e impactante */
    line-height: 1.2;
}

.welcome-text-container p {
    font-size: 1.1em;
    margin-bottom: 2rem; /* Más espacio antes del botón */
}

/* Estilos para el nuevo botón de llamada a la acción */
.cta-button {
    display: inline-block;
    background-color: var(--color-primario);
    color: white;
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1em;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.cta-button:hover {
    background-color: #0056b3; /* Tono de azul más claro del primario */
    transform: translateY(-3px); /* Efecto de levantar el botón */
}

/* Estilos para la imagen (ajustamos la clase que ya tenías) */
.imagen-bienvenida {
    width: 100%; /* La imagen ocupa todo el ancho de su contenedor */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); /* Sombra más pronunciada */
}

/* --- Ajuste para Responsivo en la sección de bienvenida --- */

@media (max-width: 900px) { /* Se activa en tablets y móviles */
    .welcome-section {
        grid-template-columns: 1fr; /* Las columnas se apilan en una sola */
        text-align: center; /* Centramos todo el texto en móvil */
    }

    .welcome-image-container {
        margin-bottom: 2rem; /* Espacio entre la imagen y el texto cuando se apilan */
    }

    .welcome-text-container h2 {
        font-size: 2.2em; /* Reducimos un poco el tamaño del título en móvil */
    }
}

