/* Paleta de Colores:
   - Fondo principal (body): #f7f2f7 (Morado muy pálido/Blanco roto)
   - Fondo Header/Footer: #c3aed6 (Morado lavanda)
   - Accent/Borders: #8e7cc3 (Morado medio)
   - Texto Header: #3c2a61 (Morado oscuro)
*/

/* ==================================== */
/* 1. Reset y Estilos Base */
/* ==================================== */

body {
    font-family: 'Arial', sans-serif;
    color: #333;
    margin: 0;
    padding: 0;
    background-color: #f7f2f7; 
}

/* Encabezado fijo y estilizado */
header {
    background-color: #c3aed6; /* Morado lavanda */
    color: #3c2a61; /* Morado oscuro para el texto */
    padding: 20px 0;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

header h1 {
    margin: 0;
    font-size: 2.2em;
}

header p {
    margin: 5px 0 0;
    font-style: italic;
    color: #5d4a7d; 
}

/* ==================================== */
/* 2. Navegación */
/* ==================================== */

nav {
    background-color: #a088bd; /* Tono de morado más fuerte */
    position: sticky;
    top: 0;
    z-index: 1000;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex; 
    justify-content: center;
}

nav ul li a {
    display: block;
    padding: 15px 25px;
    text-decoration: none;
    color: white;
    font-weight: bold;
    transition: background-color 0.3s;
    white-space: nowrap; 
}

nav ul li a:hover {
    background-color: #8e7cc3; /* Morado Accent */
}

/* ==================================== */
/* 3. Contenido Principal y Flexbox */
/* ==================================== */

main {
    padding: 20px 10px;
    max-width: 1200px; /* Ancho máximo para el contenido */
    margin: 0 auto; /* Centrar el contenido */
}

/* Estilo para todas las secciones de la página */
main section {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px; /* Separación entre las secciones principales */
}

/* Encabezado de la sección principal (Ejercicios, Info, Ayuda, Extra) */
section h2 {
    color: #8e7cc3; /* Morado Accent */
    border-bottom: 3px solid #e6e6fa; /* Línea de separación clara */
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 20px;
}

/* Contenedor flexible para los 3 sub-ejercicios */
#ejercicios-row {
    display: flex;
    flex-wrap: wrap; /* Permite envolver en pantallas pequeñas */
    gap: 20px;
    justify-content: space-between;
}

/* Estilo para los sub-ejercicios (Ecuación, Complejos, Lagrange) */
#ejercicios-row section {
    flex-basis: calc(33.333% - 14px); /* Ancho para 3 columnas con gap de 20px */
    flex-grow: 1; 
    min-width: 280px; 
    padding: 15px;
    box-sizing: border-box; 
    border: 1px solid #e6e6fa; /* Borde muy sutil */
    background-color: #fbfbfc; /* Fondo ligeramente diferente para los sub-bloques */
}

#ejercicios-row h3 {
    color: #5d4a7d;
    margin-top: 0;
}

/* Estilos de inputs y botones */
input[type="text"], input[type="number"] {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

input[type="text"]:focus, input[type="number"]:focus {
    border-color: #8e7cc3;
    outline: none;
}

input[type="button"] {
    background-color: #8e7cc3;
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s, box-shadow 0.3s;
}

input[type="button"]:hover {
    background-color: #a088bd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Ajustes para fórmulas, gráficos y elementos extras */
.formula {
    background-color: #e6e6fa; /* Morado muy claro para destacar fórmulas */
    padding: 10px;
    border-radius: 4px;
    text-align: center;
    overflow-x: auto;
}

.info-block, .help-content {
    margin-bottom: 20px;
    padding: 15px;
    border-left: 5px solid #c3aed6; /* Línea morada lavanda */
    background-color: #f7f7fc;
    border-radius: 4px;
}

.grafica canvas {
    max-width: 100%;
    height: auto;
    border: 1px solid #ccc;
    display: block;
    margin: 10px auto;
}

#extras img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* ==================================== */
/* 4. Pie de Página */
/* ==================================== */

footer {
    background-color: #c3aed6;
    color: #3c2a61;
    text-align: center;
    padding: 15px 0;
}