/* =========================================================
   Physics SciEd Academic Typography
   Applies to all HTML pages.
   ========================================================= */

:root {
  --ps-heading-font: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --ps-body-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ps-heading-weight: 700;
  --ps-heading-color: #1D2738;
}

body {
  font-family: var(--ps-body-font);
}

/* Academic / book-style headings */
h1,
h2,
h3,
h4,
h5,
h6,
.card-title,
.book-title,
.reader-title,
.library-hero h1,
.section-title,
.course-title-bar h1,
.course-hero h1,
.profile-name,
.post-title,
.module-title,
.page-title,
.lesson-title,
.quiz-title,
.task-title,
.navbar-brand span:not(.brand-mark):not(.brand-mark-img) {
  font-family: var(--ps-heading-font) !important;
  font-weight: var(--ps-heading-weight) !important;
  letter-spacing: -0.015em !important;
}

/* Avoid overly heavy modern-display appearance */
.fw-black,
.font-black {
  font-weight: 700 !important;
}

/* Keep interface elements clean and readable */
body,
p,
li,
td,
th,
label,
input,
select,
textarea,
button,
.btn,
.badge,
.form-control,
.form-select,
.nav-link,
.navbar-text,
small,
.category-chip,
.category-badge,
.reader-btn,
.book-action,
.alert,
.modal,
.dropdown-menu {
  font-family: var(--ps-body-font) !important;
}

/* Page-specific refinements */
.book-title {
  font-size: 1.02rem;
  line-height: 1.38;
}

.library-hero h1,
.reader-title,
.course-title-bar h1,
.course-hero h1 {
  letter-spacing: -0.01em !important;
}

.library-hero p,
.reading-tip,
.protected-note,
.book-author,
.reader-meta,
.stat-label,
.section-kicker,
.text-muted {
  font-family: var(--ps-body-font) !important;
}


/* MY DASHBOARD SHADOWLESS OVERRIDE */
body:has(.profile-card) .profile-card,
body:has(.profile-card) .library-card,
body:has(.profile-card) .course-card-minimal,
body:has(.profile-card) .minimal-panel,
body:has(.profile-card) .profile-avatar,
body:has(.profile-card) .profile-avatar-initials {
  box-shadow-none: none;
}
