@charset "utf-8";

/* 1. Reset y Configuración Global */
* {
    box-sizing: border-box; /* Evita que los bordes desborden las cajas */
    margin: 0;
    padding: 0;
}

body {
    width: 80%; /* Cuerpo al 80% */
    margin: 20px auto; /* Centrado horizontal */
    background-color: #f4f4f4;
    font-family: sans-serif;
}

/* 2. Cabecera y Logo (Franja Negra) */
#div1 {
    border: solid blue 10px;
    border-bottom: double blue 10px;
    background-color: grey;
    margin-bottom: 20px;
}

#div2 {
    background-color: black;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center; /* Centra el logo y el texto */
    gap: 20px;
    flex-wrap: wrap;
}

#div2 a {
    font-size: clamp(1.5rem, 5vw, 3rem); /* Tamaño de fuente fluido */
    font-weight: bold;
    text-decoration: none;
    color: white; /* Enlaces de cabecera en blanco */
    text-transform: uppercase;
}

#logo {
    width: 80px;
    height: auto;
}

h1 {
    text-align: center;
    font-size: 2.5rem;
    margin: 20px 0;
    color: #333;
}

/* 3. Contenedor Principal (Cuadro Azul) */
.cuadrogrande {
    background-color: #47A0F2;
    padding: 20px;
    border: 1px solid blue;
    width: 100%;
}

.cuadrogrande nav {
    display: flex;
    flex-wrap: wrap;       /* Permite que los elementos bajen de fila */
    justify-content: center; /* CENTRA los elementos sobrantes en la última fila */
    gap: 20px;             /* Espacio entre las cajas grises */
}

/* 4. Cajas de Ejercicios (Botones Grises) */
.div3 {
    background-color: #E6E6EC;
    border: 2px dotted #666; /* Bordes punteados */
    padding: 15px;
    transition: transform 0.2s ease;
    
    /* Configuración de tamaño para centrado dinámico */
    flex: 0 1 300px;       /* Intenta medir 300px, puede encogerse */
    min-width: 250px;      /* Ancho mínimo para móviles */
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    min-height: 220px;
}

.div3:hover {
    transform: scale(1.02);
    background-color: #d1d1d1;
}

.div3 a {
    text-decoration: none !important; /* Sin subrayado */
    color: black !important;          /* Letra negra para ejercicios */
    font-weight: bold;
    text-transform: uppercase;       /* Mayúsculas */
    font-size: 0.9rem;
}

.div3 img {
    max-width: 100%;
    height: 130px; /* Altura uniforme para las capturas */
    object-fit: contain;
    margin-bottom: 10px;
}

/* Eliminamos el antiguo #oculto y añadimos la clase de control */
.bloque-ejercicios {
    display: block; /* Por defecto se muestran si no tienen la clase oculto */
}

.oculto {
    display: none !important; /* Fuerza a que se oculte cuando tenga esta clase */
}

 /* Un pequeño extra de estilo para los títulos de los bloques */
        .titulo-bloque {
            text-align: left;
            font-size: 1.8rem;
            color: #1e1099;
            margin-bottom: 10px;
            text-transform: uppercase;
            border-left: 5px solid #1e1099;
            padding-left: 10px;
        }