/* ===== Surrender School — Typography System =====
 * Libre Baskerville: H1–H3 (serif, screen-optimized)
 * Inter: H4–H6, body, menus, buttons, UI
 *
 * All values reference variables.css tokens.
 * ================================================= */

/* ── Base body ──────────────────────────────────────────────────────── */

body,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content td {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
  color: var(--color-text);
}

/* ── Heading fonts ──────────────────────────────────────────────────── */

/* H1–H3: Libre Baskerville */
h1, h2, h3,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
  font-family: var(--font-heading) !important;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  letter-spacing: 0.01em;
}

/* H4–H6: Inter */
h4, h5, h6,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: var(--font-body) !important;
  font-weight: var(--font-weight-semibold);
  line-height: 1.3;
  letter-spacing: 0;
}

/* ── Heading scale ──────────────────────────────────────────────────── */

.entry-content h1 { font-size: 2.5rem !important;    line-height: 1.25; } /* 40px */
.entry-content h2 { font-size: 2rem !important;      line-height: 1.25; } /* 32px */
.entry-content h3 { font-size: 1.5rem !important;    line-height: 1.3;  font-weight: var(--font-weight-normal) !important; } /* 24px */
.entry-content h4 { font-size: 1.25rem !important;   line-height: 1.3;  } /* 20px */
.entry-content h5 { font-size: 1rem !important;      line-height: 1.4;  } /* 16px */
.entry-content h6 { font-size: 0.9375rem !important; line-height: 1.4;  } /* 15px */

/* ── Navigation: Inter ──────────────────────────────────────────────── */

#nav-primary,
#nav-primary a,
#nav-primary .weaverx-theme-menu a {
  font-family: var(--font-body) !important;
  font-weight: var(--font-weight-semibold);
}

/* ── CTA buttons: Inter ─────────────────────────────────────────────── */

.ss-cta-btn {
  font-family: var(--font-body) !important;
}

/* ==============================================
   INLINE FONT-FAMILY OVERRIDES
   Suppress rogue fonts entered in WP editor.
   ============================================== */

/* Papyrus — retained for decorative section headers per Joy's preference */

/* Handlee cursive → Inter */
.entry-content [style*="font-family: Handlee"] {
  font-family: var(--font-body) !important;
  font-style: normal;
}

/* Trebuchet MS → Inter (no longer a design-system font) */
.entry-content [style*="font-family: 'Trebuchet MS'"],
.entry-content [style*='font-family: "Trebuchet MS"'] {
  font-family: var(--font-body) !important;
}

/* Cormorant Garamond → Libre Baskerville (retired heading font) */
.entry-content [style*="font-family: 'Cormorant Garamond'"],
.entry-content [style*='font-family: "Cormorant Garamond"'] {
  font-family: var(--font-heading) !important;
}

/* Verdana → Inter */
.entry-content [style*="font-family: Verdana"] {
  font-family: var(--font-body) !important;
}

/* Lucida Sans → Inter */
.entry-content [style*="font-family: 'Lucida Sans'"],
.entry-content [style*="font-family: Lucida Sans"] {
  font-family: var(--font-body) !important;
}

/* ==============================================
   INLINE FONT-SIZE CAPS
   Tame 72px / 48px decorative extremes only.
   ============================================== */

/* 72px → 2.25rem (36px) */
.entry-content [style*="font-size: 72px"] {
  font-size: 2.25rem !important;
}

/* 48px → 1.75rem (28px) */
.entry-content [style*="font-size: 48px"] {
  font-size: 1.75rem !important;
}

/* ==============================================
   MOBILE
   ============================================== */

@media (max-width: 768px) {
  .entry-content h1 { font-size: 2rem !important; }
  .entry-content h2 { font-size: 1.75rem !important; }
  .entry-content h3 { font-size: 1.375rem !important; }

  .entry-content [style*="font-size: 72px"],
  .entry-content [style*="font-size: 48px"],
  .entry-content [style*="font-size: 32px"] {
    font-size: 1.5rem !important;
  }

  .entry-content [style*="font-size: 28px"],
  .entry-content [style*="font-size: 22px"] {
    font-size: 1.125rem !important;
  }
}
