/*
 * Invaris Typography System
 * v1.5.6.98
 *
 * Two selectable editorial systems:
 * - IBM Plex Sans + IBM Plex Serif
 * - Source Sans 3 + Source Serif 4
 * This file is intentionally loaded after all frontend presentation layers.
 */

:root,
body.invaris-type-ibm-plex {
  --invaris-font-sans: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  --invaris-font-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;

  /* Backward-compatible alias used throughout earlier Invaris CSS. */
  --invaris-ui-font: var(--invaris-font-sans);

  --invaris-type-body-size: 15.5px;
  --invaris-type-body-leading: 1.62;
  --invaris-type-ui-leading: 1.4;
  --invaris-type-heading-leading: 1.12;
}

body.invaris-type-source {
  --invaris-font-sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --invaris-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --invaris-ui-font: var(--invaris-font-sans);
}

/* --------------------------------------------------------------------------
   Base reading system
   -------------------------------------------------------------------------- */

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
button,
input,
select,
textarea {
  font-family: var(--invaris-font-sans) !important;
}

body {
  font-size: var(--invaris-type-body-size) !important;
  line-height: var(--invaris-type-body-leading) !important;
  font-weight: 400 !important;
  font-kerning: normal;
}

p,
li,
dd,
dt,
td,
th {
  font-family: var(--invaris-font-sans);
}

p,
li {
  line-height: var(--invaris-type-body-leading);
}

/* --------------------------------------------------------------------------
   Brand / header: light technical sans-serif identity
   -------------------------------------------------------------------------- */

.brand-title {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 300 !important;
  line-height: 1.08 !important;
  letter-spacing: -.022em !important;
}

.brand-kicker {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
}

.brand-subtitle {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

.invaris-topbar,
.invaris-utility-bar,
.invaris-nav-shell,
.invaris-offcanvas,
.search-field,
.masthead-actions,
.invaris-floating-tools {
  font-family: var(--invaris-font-sans) !important;
}

.invaris-desktop-menu > li > a,
.invaris-mobile-menu a,
.invaris-user-menu a,
.invaris-topbar-user-menu a,
.outline-button,
.search-field input {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* --------------------------------------------------------------------------
   Editorial hierarchy
   H1/H2 carry the scientific/editorial voice. H3+ remain UI-friendly Sans.
   -------------------------------------------------------------------------- */

.pkp_structure_main .page > h1,
.pkp_structure_main .page > h2,
.pkp_structure_main .page-header h1,
.pkp_structure_main .page-header h2,
.pkp_structure_main .invaris-info-title,
.pkp_structure_main .invaris-issue-hero-title,
.pkp_structure_main .invaris-issue-page-heading h2,
.pkp_structure_main .invaris-issue-page-articles-heading h2,
.pkp_structure_main .invaris-archive-hero-title,
.pkp_structure_main .invaris-archive-card-year,
.pkp_structure_main .invaris-article-title,
.pkp_structure_main .invaris-article-subtitle,
.pkp_structure_main .obj_article_details .page_title,
.pkp_structure_main .obj_issue_toc .heading .title {
  font-family: var(--invaris-font-serif) !important;
  font-weight: 500 !important;
  line-height: var(--invaris-type-heading-leading) !important;
  letter-spacing: -.014em !important;
}

.pkp_structure_main .page h3,
.pkp_structure_main .page h4,
.pkp_structure_main .page h5,
.pkp_structure_main .page h6 {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Static/informational pages retain an editorial hierarchy inside cards. */
.pkp_structure_main > .page.invaris-info-page h2:not(.invaris-info-title) {
  font-family: var(--invaris-font-serif) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}

.pkp_structure_main > .page.invaris-info-page h3 {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   Current Issue / Archives
   -------------------------------------------------------------------------- */

.invaris-issue-hero-eyebrow,
.invaris-issue-hero-intro,
.invaris-issue-hero-actions,
.invaris-issue-page-kicker,
.invaris-issue-page-count,
.invaris-archive-hero-eyebrow,
.invaris-archive-hero-intro,
.invaris-archive-card-volume,
.invaris-archive-card-meta,
.invaris-archive-card-link {
  font-family: var(--invaris-font-sans) !important;
}

.invaris-issue-hero-title,
.invaris-archive-hero-title {
  font-weight: 500 !important;
}

.invaris-issue-page-toc .obj_article_summary .title,
.invaris-archive-card-title {
  font-family: var(--invaris-font-serif) !important;
  font-weight: 500 !important;
  line-height: 1.28 !important;
  letter-spacing: -.006em !important;
}

.invaris-issue-page-toc .obj_article_summary .authors,
.invaris-issue-page-toc .obj_article_summary .meta,
.invaris-issue-page-toc .obj_article_summary .pages,
.invaris-issue-page-toc .obj_article_summary .doi,
.invaris-issue-page-toc .obj_article_summary .published {
  font-family: var(--invaris-font-sans) !important;
}

/* --------------------------------------------------------------------------
   Article page
   -------------------------------------------------------------------------- */

.invaris-article-title {
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: -.016em !important;
}

.invaris-article-subtitle {
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.008em !important;
}

.invaris-article-kicker,
.invaris-article-byline,
.invaris-article-meta,
.invaris-article-actions,
.invaris-article-shell,
.invaris-article-frame p,
.invaris-article-frame li,
.invaris-article-frame .value,
.invaris-keyword,
.invaris-article-metrics-panel,
.invaris-article-primary-galleys,
.invaris-article-cite-action {
  font-family: var(--invaris-font-sans) !important;
}

.invaris-article-frame section > h2,
.invaris-article-shell section > h2,
.invaris-article-references h2,
.invaris-article-citation h2 {
  font-family: var(--invaris-font-serif) !important;
  font-weight: 500 !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
}

.invaris-article-frame section > h3,
.invaris-article-shell section > h3 {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   Sidebar / reusable cards: clearly interface typography
   -------------------------------------------------------------------------- */

.pkp_structure_sidebar,
.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar .pkp_block:not(.block_custom) a,
.pkp_structure_sidebar .pkp_block:not(.block_custom) p,
.pkp_structure_sidebar .pkp_block:not(.block_custom) li,
.pkp_structure_sidebar .pkp_block:not(.block_custom) .content,
.pkp_structure_sidebar .pkp_block.block_custom > .content {
  font-family: var(--invaris-font-sans) !important;
}

.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block > h2,
.pkp_structure_sidebar .pkp_block > h3,
.pkp_structure_sidebar .pkp_block:not(.block_custom) h2,
.pkp_structure_sidebar .pkp_block:not(.block_custom) h3,
.pkp_structure_sidebar .invaris-block-title {
  font-family: var(--invaris-font-sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* --------------------------------------------------------------------------
   Forms, menus, plugin output, metadata
   -------------------------------------------------------------------------- */

.btn,
.button,
.pkp_button,
.obj_galley_link,
.dropdown-menu,
.dropdown-item,
.cmp_breadcrumbs,
.cmp_notification,
.cmp_form,
.pkp_form,
.pkp_structure_main label,
.pkp_structure_main input,
.pkp_structure_main select,
.pkp_structure_main textarea,
.pkp_structure_main table,
.pkp_structure_main .metadata,
.pkp_structure_main .meta,
.pkp_structure_main .authors,
.pkp_structure_main .doi,
.pkp_structure_main .published,
.pkp_structure_main .pages {
  font-family: var(--invaris-font-sans) !important;
}

.btn,
.button,
.pkp_button,
.obj_galley_link {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.invaris-footer,
.invaris-footer a,
.invaris-footer p,
.invaris-footer li,
.invaris-footer h2,
.invaris-footer h3,
.invaris-footer-copyright,
.invaris-footer-platform {
  font-family: var(--invaris-font-sans) !important;
}

.invaris-footer h2,
.invaris-footer h3 {
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   Responsive typography
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {
  :root {
    --invaris-type-body-size: 15px;
    --invaris-type-body-leading: 1.58;
  }

  .brand-title {
    font-weight: 300 !important;
    line-height: 1.1 !important;
  }

  .invaris-article-title,
  .invaris-issue-hero-title,
  .invaris-archive-hero-title,
  .invaris-info-title {
    line-height: 1.16 !important;
  }
}

/* Metadata remains secondary, but must stay comfortably readable in every scheme. */
.obj_article_summary .authors,
.invaris-home-issue-toc .invaris-home-article-card .authors,
.invaris-article-byline,
.invaris-article-frame .obj_article_details .item.authors .name {
  font-size: 14px !important;
}

.obj_article_summary .meta,
.obj_article_summary .pages,
.obj_article_summary .doi,
.obj_article_summary .published,
.invaris-home-issue-toc .invaris-home-article-card .meta,
.invaris-home-issue-toc .invaris-home-article-card .pages,
.invaris-home-issue-toc .invaris-home-article-card .doi,
.invaris-archive-card-meta,
.invaris-article-meta,
.invaris-article-frame .obj_article_details .item.authors .affiliation,
.invaris-article-frame .obj_article_details .item.authors .userGroup,
.invaris-article-frame .obj_article_details .item.authors .orcid {
  font-size: 13px !important;
}
