/* ==========================================================================
   2. TIPOGRAFÍA Y LAYOUT BASE
   ========================================================================== */

/* --- TIPOGRAFÍA --- */
h1, h2, h3, h4 {
  font-weight: bold;
  line-height: 1.3;
  color: var(--color-primary);
}

h1 { font-size: clamp(2.2em, 5vw, 2.8em); }
h3 { font-size: 1.8em; margin-bottom: 20px; }
h4 { font-size: 1.3em; color: var(--color-text-dark); }

p {
  margin-bottom: 1rem;
}

/* --- TÍTULOS DE SECCIÓN (H2) MÁS LLAMATIVOS --- */
h2 {
  font-size: clamp(1.8em, 4vw, 2.2em);
  text-align: center;
  margin-bottom: 60px; /* Aumentamos el margen inferior */
  letter-spacing: 1px; /* Añadimos un poco de espacio entre letras */
  position: relative;
  padding-bottom: 20px; /* Espacio para la línea decorativa */
  color: var(--color-accent-1); /* Color morado para los títulos de sección */
}

/* Línea decorativa debajo del H2 */
h2::after {
  content: '';
  position: absolute;
  display: block;
  width: 80px; /* Ancho de la línea */
  height: 4px;  /* Grosor de la línea */
  background: linear-gradient(45deg, var(--color-accent-1), var(--color-accent-2));
  border-radius: 2px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); /* Centra la línea */
}


/* CLASE DE UTILIDAD PARA EL DEGRADADO DE TEXTO */
.text-gradient {
  background: linear-gradient(45deg, var(--color-accent-1), var(--color-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}


/* --- LAYOUT & HELPERS --- */
.container {
  width: 90%;
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  padding: 60px 20px;
}

.grid-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.section-gray {
  background-color: var(--color-secondary);
}
