/* ══════════════════════════════
   GLOBAL TYPOGRAPHY
   Applied site-wide on frontend only (Divi + Gutenberg).
   Excludes GEA block containers so their scoped styles win.
══════════════════════════════ */

body {
  font-family: 'Barlow', sans-serif !important;
  -webkit-font-smoothing: antialiased;
  color: var(--gea-suave);
}

/* Headings */
:where(h1) { font-family: 'Averia Serif Libre', serif; font-size: clamp(2.6rem, 8vw, 5.5rem); font-weight: 400; line-height: 1.05; color: var(--gea-verde); letter-spacing: -0.01em; }
:where(h2) { font-family: 'Averia Serif Libre', serif; font-size: clamp(2rem, 5vw, 4rem); font-weight: 400; line-height: 1.1; color: var(--gea-verde); }
:where(h3) { font-family: 'Averia Serif Libre', serif; font-size: clamp(1.4rem, 3vw, 1.8rem); font-weight: 400; line-height: 1.2; color: var(--gea-verde); }
:where(h4) { font-family: 'Averia Serif Libre', serif; font-size: clamp(1.1rem, 2vw, 1.35rem); font-weight: 400; line-height: 1.3; color: var(--gea-verde); }
:where(h5) { font-family: 'Barlow', sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.4; color: var(--gea-verde); }
:where(h6) { font-family: 'Barlow', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gea-mostaza); }
:where(p)  { font-family: 'Barlow', sans-serif; font-size: clamp(0.98rem, 1.8vw, 1.1rem); font-weight: 400; line-height: 1.75; color: var(--gea-suave); }

/* Divi modules — higher specificity to override Divi defaults */
.et_pb_module h1 { font-family: 'Averia Serif Libre', serif !important; font-size: clamp(2.6rem, 8vw, 5.5rem) !important; font-weight: 400 !important; line-height: 1.05 !important; color: var(--gea-verde) !important; }
.et_pb_module h2 { font-family: 'Averia Serif Libre', serif !important; font-size: clamp(2rem, 5vw, 4rem) !important; font-weight: 400 !important; line-height: 1.1 !important; color: var(--gea-verde) !important; }
.et_pb_module h3 { font-family: 'Averia Serif Libre', serif !important; font-size: clamp(1.4rem, 3vw, 1.8rem) !important; font-weight: 400 !important; line-height: 1.2 !important; color: var(--gea-verde) !important; }
.et_pb_module h4 { font-family: 'Averia Serif Libre', serif !important; font-size: clamp(1.1rem, 2vw, 1.35rem) !important; font-weight: 400 !important; line-height: 1.3 !important; color: var(--gea-verde) !important; }
.et_pb_module h5 { font-family: 'Barlow', sans-serif !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--gea-verde) !important; }
.et_pb_module h6 { font-family: 'Barlow', sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: var(--gea-mostaza) !important; }
.et_pb_module p  { font-family: 'Barlow', sans-serif !important; font-size: clamp(0.98rem, 1.8vw, 1.1rem) !important; font-weight: 400 !important; line-height: 1.75 !important; color: var(--gea-suave) !important; }

/* Italic accents in headings */
:where(h1, h2, h3, h4) em {
  font-style: italic;
  color: var(--gea-mostaza);
}

/* Blockquote */
:where(blockquote) {
  font-family: 'Averia Serif Libre', serif;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 300;
  font-style: italic;
  color: var(--gea-verde);
  border-left: 3px solid var(--gea-mostaza);
  padding-left: 24px;
}
.et_pb_module blockquote {
  font-family: 'Averia Serif Libre', serif !important;
  font-size: clamp(1.1rem, 2vw, 1.3rem) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: var(--gea-verde) !important;
  border-left: 3px solid var(--gea-mostaza) !important;
  padding-left: 24px !important;
}
