/* ================================
   FUENTES
================================= */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=Space+Grotesk:wght@300..700&display=swap');

/* ================================
   ESTRUCTURA PRINCIPAL
================================= */
body {
  margin: 0;
  padding: 0;
  background-color: rgb(220, 213, 209);
  font-family: "IBM Plex Sans", sans-serif;
}

.pagina {
  max-width: 80rem;
  margin: auto;
  padding: 2rem;
}

/* ================================
   MENÚ PRINCIPAL
================================= */
.menu {
  background-color: #d9ae9f;
  padding: 1rem;
  text-align: center;
  color: #412d22;
}

.menu ul {
  list-style: none;
  display: flex;        
  justify-content: center;
  gap: 2rem;            
  margin: 0;
  padding: 0;
  font-family: "Space Grotesk", sans-serif;
}

.menu a {
  text-decoration: none;
  color: rgb(19, 16, 16);
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Cambio de estado */
.menu a:hover {
  background-color: rgb(108, 88, 88);
  color: #ff8002;
}

/* ================================
   ENCABEZADOS
================================= */
h1 {
  background-color: transparent;
  border-bottom: 2px solid black;
  font-size: 3.5rem;
  margin: 2rem auto;
  padding: 0.3rem 0;
  font-family: "Space Grotesk", sans-serif;
  width: fit-content;
  text-align: center;
}

h2 {
  font-family: "Space Grotesk", sans-serif;
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  color: #222;
}

h3 {
  font-family: "Space Grotesk", sans-serif;
  margin-bottom: 1rem;
  color: #333;
}



/* ================================
   IMAGEN
================================= */
img {
  display: block;
  margin: 2rem auto;
  border-radius: 50%;
  max-width: 200px;
  box-shadow: 0 0 1rem rgba(0,0,0,0.2);
  outline: 2px solid black; /* Línea negra finita */
  outline-offset: 5px;
}



/* ================================
   NAVEGACIÓN SECUNDARIA
================================= */
nav.volver {
  text-align: center;
  margin: 2rem 0;
  text-align: center;
}

nav.volver a {
  text-decoration: none;
  color: #926d6d;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  border: 0.1rem solid #cda7a7;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  text-align: center;
}

nav.volver a:hover {
  background-color: #f7dede;
  color: white;
}

/* ================================
   SECCIONES DE TEXTO
================================= */
p {
  background-color: aliceblue; 
  padding: 0.4rem;
  margin: 1rem auto;
  max-width: 60rem;
  border-radius: 0.5rem;
  line-height: 1.5;
}

/* ================================
   MATERIAS CURSADAS
================================= */
.materias {
  max-width: 70rem;
  margin: 3rem auto;
}

.materias h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 1.5rem;
}

.card {
  background-color: aliceblue;
  padding: 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.2rem 0.5rem rgba(0,0,0,0.1);
}

.card h3 {
  margin-top: 0;
  font-family: "Space Grotesk", sans-serif;
  color: #412d22;
  text-transform: uppercase;
  font-size: 1.2rem;
}

/* ================================
   LAYOUT DE DOS COLUMNAS
================================= */
.datos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  max-width: 70rem;
  margin: 3rem auto;
}

.datos div {
  background-color: aliceblue;
  padding: 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.2rem 0.5rem rgba(0,0,0,0.1);
}

.datos h3 {
  margin-top: 0;
  font-family: "Space Grotesk", sans-serif;
  color: #412d22;
}