/* Shared by Public, Student, Admin, authentication and legacy layouts.
   Keep page-specific sizing, spacing and responsive breakpoints in their components. */
:root {
    --sofl-heading-color: #08264c;
    --sofl-body-text-color: #4d4d4d;
    --font-heading: "Sora", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bs-font-sans-serif: var(--font-body);
    --bs-body-font-family: var(--font-body);
}
body { font-family: var(--font-body); }
/* Portal page titles use the approved FinLexicon header hierarchy on every page. */
body.sofl-dashboard-body .sofl-topbar .sofl-topbar-title h1 {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--sofl-heading-color);
    margin: 0;
}
@media (max-width: 575.98px) {
    body.sofl-dashboard-body .sofl-topbar .sofl-topbar-title h1 { font-size: 28px; }
}
h1, h2, h3, .modal-title { font-family: var(--font-heading); font-weight: 600; }
button, input, select, textarea, .btn,
nav, .sofl-sidebar, .sofl-topbar, .dropdown-menu,
.tooltip, .popover, .toast, table, .badge,
.sofl-topbar :is(h1, h2, h3) {
  font-family: var(--font-body);
}
/* Dense admin subsections retain the UI face; page/section h1 and h2 use Sora. */
.sofl-admin-portal h3 { font-family: var(--font-body); }
/* Questions are reading content, including the question repeated in review. */
.sofl-quiz-question-content h3,
.sofl-quiz-review-title h3,
.sofl-student-quiz-question legend { font-family: var(--font-body); }
.blog-reading-content, .sofl-blog-richtext, .sofl-blog-detail-focused .sofl-blog-richtext, .sofl-reading-content, .sofl-student-term-page .sofl-reading-content {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.7;
  /*max-width: 72ch;*/
  overflow-wrap: break-word;
}
.blog-reading-content :is(h2, h3, h4),
.sofl-blog-richtext :is(h2, h3, h4),
.sofl-reading-content :is(h2, h3, h4) {
  font-family: var(--font-heading);
  line-height: 1.3;
}
