/* =========================================================
   SKLS FINAL PUBLISHER TYPOGRAPHY + NAVY VISIBILITY OVERRIDE
   Load this file LAST.

   Headings: Merriweather Bold
   Subheadings: Merriweather SemiBold
   Body: Open Sans Regular 16–18px
   Captions: Open Sans 14px
========================================================= */

:root {
    --pub-ui-font: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pub-heading-font: "Merriweather", Georgia, "Times New Roman", Times, serif;

    --pub-text: #1f2937;
    --pub-muted: #64748b;
    --pub-soft: #6b7280;
    --pub-navy: #0f172a;
    --pub-blue: #1d4ed8;
}

/* =========================================================
   BASE
========================================================= */

html {
    font-size: 16px;
}

body {
    font-family: var(--pub-ui-font) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    color: var(--pub-text) !important;
    letter-spacing: 0 !important;
}

/* =========================================================
   BODY TEXT: OPEN SANS REGULAR
========================================================= */

p,
li,
.abstract-text,
.article-content,
.article-body,
.article-show-content,
.manuscript-content,
.publisher-content,
.article-excerpt-pro,
.journal-description,
.cat-description,
.catshow-excerpt,
.issueshow-excerpt,
.side-card p,
.side-panel p,
.profile-card p,
.pub-card p,
.info-card p,
.journal-panel p,
.article-panel p,
.dash-card p,
.skls-fulltext-content,
.skls-abstract-text,
.prose-reset,
.prose-reset p {
    font-family: var(--pub-ui-font) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    color: #1f2937 !important;
}

/* Larger academic reading text */
.abstract-text,
.article-content,
.article-body,
.article-show-content,
.manuscript-content,
.publisher-content,
.skls-fulltext-content,
.skls-abstract-text {
    font-size: 17px !important;
    line-height: 1.85 !important;
}

/* Abstract slightly more prominent */
.abstract-text,
.skls-abstract-text {
    font-size: 18px !important;
    line-height: 1.88 !important;
}

/* =========================================================
   HEADINGS: MERRIWEATHER BOLD
========================================================= */

h1,
.pub-hero h1,
.articles-hero h1,
.article-show-hero h1,
.journals-hero h1,
.journal-hero h1,
.issue-hero h1,
.issueshow-hero h1,
.profile-hero h1,
.info-hero h1,
.cat-hero h1,
.catshow-hero h1,
.dash-hero h1,
.home-hero h1,
.auth-brand h1,
.skls-article-title,
.skls-journal-name {
    font-family: var(--pub-heading-font) !important;
    font-size: clamp(34px, 3.5vw, 48px) !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
}

/* Large article titles */
.skls-article-title,
.article-show-title,
.article-title-main {
    font-family: var(--pub-heading-font) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.12 !important;
}

/* =========================================================
   SECTION HEADINGS: MERRIWEATHER BOLD
========================================================= */

h2,
.pub-header h1,
.pub-header h2,
.issue-toolbar h2,
.issueshow-toolbar h2,
.cat-toolbar h2,
.catshow-toolbar h2,
.section-title,
.section-heading h2,
.step h4,
.skls-article-info-card h2,
.skls-abstract-card h2,
.skls-asset-section h2,
.skls-reference-section h2,
.skls-main-article-content h2 {
    font-family: var(--pub-heading-font) !important;
    font-size: clamp(26px, 2.6vw, 34px) !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

/* =========================================================
   SUBHEADINGS: MERRIWEATHER SEMIBOLD
========================================================= */

h3,
.profile-card h3,
.pub-card h3,
.article-panel h3,
.journal-panel h3,
.info-card h3,
.dash-card h3,
.skls-side-panel h3,
.skls-mini-section h3 {
    font-family: var(--pub-heading-font) !important;
    font-size: 22px !important;
    line-height: 1.32 !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em !important;
}

h4,
h5,
h6,
.side-card h4,
.side-panel h4,
.pub-card h4,
.article-panel h4,
.journal-panel h4,
.credit-heading,
.em-question-block h5,
.reviewer-preference-heading strong,
.excluded-reviewers-heading strong {
    font-family: var(--pub-heading-font) !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

/* =========================================================
   ARTICLE / ISSUE / CARD TITLES
========================================================= */

.article-title,
.article-title-pro,
.issue-title,
.issueshow-title,
.cat-title,
.catshow-title,
.article-link,
.issue-link,
.related-link,
.skls-caption-title,
.skls-table-title {
    font-family: var(--pub-heading-font) !important;
    font-size: 21px !important;
    line-height: 1.38 !important;
    font-weight: 700 !important;
    letter-spacing: -0.005em !important;
}

/* =========================================================
   CAPTIONS: OPEN SANS 14PX
========================================================= */

figcaption,
caption,
.figure-caption,
.table-caption,
.skls-caption-text,
.skls-table-description,
.skls-figure-caption,
.skls-reference-list,
.existing-file-meta,
.skls-selected-file-meta,
.pub-note,
.pub-meta,
.small-meta,
.article-meta-pro,
.journal-meta,
.issue-meta,
.issueshow-meta,
.cat-meta,
.catshow-meta,
.profile-card-subtitle,
.pub-subtitle,
.field-note,
.input-note,
.published-date,
.profile-identity-email,
.dash-stat-label {
    font-family: var(--pub-ui38 !important;
    font-weight: 700 !important;
    letter-spacing: -0.005em !important;
}

/* =========================================================
   CAPTIONS: OPEN SANS 14PX
========================================================= */

figcaption,
caption,
.figure-caption,
.table-caption,
.skls-caption-text,
.skls-table-description,
.skls-figure-caption,
.skls-reference-list,
.existing-file-meta,
.skls-selected-file-meta,
.pub-note,
.pub-meta,
.small-meta,
.article-font) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    color: var(--pub-muted) !important;
}

/* Small metadata can remain compact */
small,
.small,
.meta {
    font-family: var(--pub-ui-font) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: var(--pub-muted) !important;
}

/* =========================================================
   FORMS: OPEN SANS
========================================================= */

input,
select,
textarea,
.form-control,
.pub-control,
.input-field {
    font-family: var(--pub-ui-font) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

label,
.form-label,
.pub-form-group label {
    font-family: var(--pub-ui-font) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

/* =========================================================
   BUTTONS: OPEN SANS STRONG
========================================================= */

button,
.btn,
.pub-btn,
.article-btn,
.journal-btn,
.issue-btn,
.issueshow-btn,
.cat-btn,
.catshow-btn,
.dash-btn,
.art-btn,
.btn-journal,
.btn-main,
.btn-outline,
.btn-profile-primary,
.btn-profile-secondary,
.btn-profile-orcid,
.login-btn,
.btn-reset,
.btn-confirm,
.btn-primary,
.btn-danger,
.btn-accept,
.btn-decline,
.submit-btn,
.orcid-auth-btn,
.skls-toolbar-links a,
.skls-toolbar-actions a {
    font-family: var(--pub-ui-font) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

/* =========================================================
   BADGES / CHIPS / UI LABELS
========================================================= */

.pub-badge,
.article-badge,
.journal-badge,
.access-badge,
.article-type,
.pub-chip,
.section-chip,
.orcid-badge,
.issue-count,
.cat-count,
.dash-badge,
.skls-keywords span,
.skls-article-type,
.skls-info-label,
.skls-file-slot-title,
.existing-file-name,
.skls-selected-file-name {
    font-family: var(--pub-ui-font) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

/* File names should be readable */
.existing-file-name,
.skls-selected-file-name {
    font-size: 12.5px !important;
    font-weight: 700 !important;
}

/* =========================================================
   TABLES
========================================================= */

table,
.pub-table,
.dash-table,
.prose-reset table,
.skls-rendered-table {
    font-family: var(--pub-ui-font) !important;
    font-size: 14px !important;
}

table th,
.pub-table th,
.dash-table th,
.prose-reset th,
.skls-rendered-table th {
    font-family: var(--pub-ui-font) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
}

table td,
.pub-table td,
.dash-table td,
.prose-reset td,
.skls-rendered-table td {
    font-family: var(--pub-ui-font) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

/* =========================================================
   NAVY / DARK HERO TEXT VISIBILITY FIX
========================================================= */

:is(
    .pub-hero,
    .articles-hero,
    .article-show-hero,
    .journals-hero,
    .journal-hero,
    .issue-hero,
    .issueshow-hero,
    .profile-hero,
    .info-hero,
    .cat-hero,
    .catshow-hero,
    .dash-hero,
    .home-hero,
    .auth-brand
) {
    color: #e5e7eb !important;
}

:is(
    .pub-hero,
    .articles-hero,
    .article-show-hero,
    .journals-hero,
    .journal-hero,
    .issue-hero,
    .issueshow-hero,
    .profile-hero,
    .info-hero,
    .cat-hero,
    .catshow-hero,
    .dash-hero,
    .home-hero,
    .auth-brand
) :is(h1, h2, h3, h4, h5, h6) {
    color: #ffffff !important;
}

:is(
    .pub-hero,
    .articles-hero,
    .article-show-hero,
    .journals-hero,
    .journal-hero,
    .issue-hero,
    .issueshow-hero,
    .profile-hero,
    .info-hero,
    .cat-hero,
    .catshow-hero,
    .dash-hero,
    .home-hero,
    .auth-brand
) :is(p, span, div, label, li) {
    color: #cbd5e1 !important;
}

:is(
    .pub-hero,
    .articles-hero,
    .article-show-hero,
    .journals-hero,
    .journal-hero,
    .issue-hero,
    .issueshow-hero,
    .profile-hero,
    .info-hero,
    .cat-hero,
    .catshow-hero,
    .dash-hero,
    .home-hero,
    .auth-brand
) a {
    color: #bfdbfe !important;
}

:is(
    .pub-hero,
    .articles-hero,
    .article-show-hero,
    .journals-hero,
    .journal-hero,
    .issue-hero,
    .issueshow-hero,
    .profile-hero,
    .info-hero,
    .cat-hero,
    .catshow-hero,
    .dash-hero,
    .home-hero,
    .auth-brand
) a:hover {
    color: #ffffff !important;
}

/* Important white text */
.profile-identity-name,
.brand-logo strong,
.auth-brand strong,
.article-show-title {
    color: #ffffff !important;
}

/* Kicker labels */
.articles-kicker,
.article-kicker,
.issue-kicker,
.issueshow-kicker,
.profile-kicker,
.info-kicker,
.cat-kicker,
.catshow-kicker,
.dash-kicker,
.brand-kicker {
    color: #dbeafe !important;
}

/* Keep search/input fields readable inside dark hero */
.articles-search input,
.articles-search input::placeholder,
.home-hero input,
.home-hero input::placeholder {
    color: #111827 !important;
}

/* =========================================================
   JOURNAL SUBMIT BANNER
========================================================= */

.journal-submit-banner {
    margin: 18px 0 22px;
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #eff6ff, #f8fafc);
    border: 1px solid #bfdbfe;
}

.journal-submit-kicker {
    font-family: var(--pub-ui-font) !important;
    font-size: 12px;
    font-weight: 800;
    color: #1d4ed8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 6px;
}

.journal-submit-title {
    font-family: var(--pub-heading-font) !important;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 6px;
}

.journal-submit-text {
    font-family: var(--pub-ui-font) !important;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.journal-submit-link {
    display: inline-flex;
    margin-top: 12px;
    font-family: var(--pub-ui-font) !important;
    font-weight: 800;
    color: #1d4ed8;
    text-decoration: none;
}

/* =========================================================
   SELECTED JOURNAL BANNER
========================================================= */

.pub-journal-banner {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin: 18px 0 24px;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(135deg, #eff6ff, #f8fafc);
    border: 1px solid #bfdbfe;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
}

.pub-journal-kicker {
    font-family: var(--pub-ui-font) !important;
    font-size: 12px;
    font-weight: 900;
    color: #1d4ed8;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 6px;
}

.pub-journal-banner h2 {
    font-family: var(--pub-heading-font) !important;
    margin: 0 0 8px;
    font-size: 24px;
    color: #0f172a;
    font-weight: 700;
}

.pub-journal-banner p {
    font-family: var(--pub-ui-font) !important;
    margin: 4px 0;
    color: #475569;
    line-height: 1.6;
    font-size: 14px !important;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {
    body {
        font-size: 15px !important;
    }

    p,
    li,
    .abstract-text,
    .article-content,
    .article-body,
    .article-show-content,
    .manuscript-content,
    .publisher-content,
    .article-excerpt-pro,
    .journal-description,
    .cat-description,
    .catshow-excerpt,
    .issueshow-excerpt,
    .side-card p,
    .side-panel p,
    .profile-card p,
    .pub-card p,
    .info-card p,
    .journal-panel p,
    .article-panel p,
    .dash-card p,
    .skls-fulltext-content,
    .skls-abstract-text {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    h1,
    .pub-hero h1,
    .articles-hero h1,
    .article-show-hero h1,
    .journals-hero h1,
    .journal-hero h1,
    .issue-hero h1,
    .issueshow-hero h1,
    .profile-hero h1,
    .info-hero h1,
    .cat-hero h1,
    .catshow-hero h1,
    .dash-hero h1,
    .home-hero h1,
    .auth-brand h1,
    .skls-article-title {
        font-size: 34px !important;
        line-height: 1.18 !important;
    }

    h2,
    .pub-header h1,
    .pub-header h2,
    .issue-toolbar h2,
    .issueshow-toolbar h2,
    .cat-toolbar h2,
    .catshow-toolbar h2,
    .section-title,
    .section-heading h2,
    .step h4 {
        font-size: 27px !important;
    }

    h3,
    .profile-card h3,
    .pub-card h3,
    .article-panel h3,
    .journal-panel h3,
    .info-card h3,
    .dash-card h3 {
        font-size: 21px !important;
    }

    .abstract-text,
    .skls-abstract-text {
        font-size: 17px !important;
    }

    .pub-journal-banner {
        flex-direction: column;
    }
}