/* ==========================================================================
   STAR Scholars Press — Refined Professional OJS Stylesheet
   Compatible with OJS Default Theme, OJS 3.4/3.5
   ========================================================================== */

:root {
    --star-navy: #103f52;
    --star-navy-dark: #092f3f;
    --star-blue: #176b94;
    --star-blue-dark: #0d5275;
    --star-gold: #c89b3c;
    --star-text: #26343d;
    --star-muted: #667781;
    --star-border: #dbe3e8;
    --star-soft: #f6f8fa;
    --star-white: #ffffff;
}

/* ---------- Base ---------- */

html,
body {
    background: var(--star-white);
}

body {
    margin: 0;
    color: var(--star-text);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

a {
    color: var(--star-blue);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--star-blue-dark);
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
}

/* ---------- Header ---------- */

.pkp_structure_head {
    position: relative;
    z-index: 100;
    background: var(--star-navy);
    border-bottom: 4px solid var(--star-gold);
}

.pkp_site_name {
    padding-top: 1.2rem;
    padding-bottom: 1.1rem;
}

.pkp_site_name .is_text {
    display: block;
    max-width: 100%;
    color: var(--star-white) !important;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(1.45rem, 2.6vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    white-space: normal;
}

/* ---------- Navigation ---------- */

.pkp_navigation_primary_row {
    position: relative;
    z-index: 110;
    background: var(--star-white);
    border-bottom: 1px solid var(--star-border);
}

.pkp_navigation_primary_wrapper,
.pkp_navigation_primary {
    overflow: visible;
}

.pkp_navigation_primary > li > a {
    padding: 0.82rem 0.95rem;
    color: var(--star-navy) !important;
    font-size: 0.92rem;
    font-weight: 650;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    background: var(--star-soft);
    color: var(--star-blue-dark) !important;
    text-decoration: none;
}

.pkp_navigation_primary ul {
    z-index: 9999;
    min-width: 230px;
    padding: 0.25rem 0;
    background: var(--star-white);
    border: 1px solid var(--star-border);
    border-top: 3px solid var(--star-gold);
    border-radius: 0 0 3px 3px;
    box-shadow: 0 4px 12px rgba(12, 48, 64, 0.12);
}

.pkp_navigation_primary ul li a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 0.62rem 0.9rem;
    background: var(--star-white);
    color: var(--star-navy) !important;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: normal;
}

.pkp_navigation_primary ul li a:hover,
.pkp_navigation_primary ul li a:focus {
    background: #edf4f7;
    color: var(--star-blue-dark) !important;
    text-decoration: none;
}

/* ---------- Main content ---------- */

.pkp_structure_content,
.pkp_structure_main,
.page {
    color: var(--star-text);
}

.pkp_structure_main {
    min-width: 0;
}

.page h1,
.page h2,
.page h3,
.page h4,
.obj_page_title,
.current_issue_title,
.obj_issue_toc .heading,
.obj_article_details .page_title {
    color: var(--star-navy);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    line-height: 1.3;
}

.page h1,
.obj_page_title {
    font-size: 1.75rem;
    padding-bottom: 0.45rem;
    border-bottom: 2px solid var(--star-gold);
}

.page h2 {
    font-size: 1.35rem;
    margin-top: 1.5rem;
}

.page h3 {
    font-size: 1.15rem;
}

.page h4 {
    font-size: 1rem;
}

.pkp_page_content p,
.page p {
    margin-top: 0;
    margin-bottom: 0.9rem;
}

/* ---------- Homepage ---------- */

.page_index_journal .journal_description,
.page_index_journal .homepage_about,
.page_index_journal .additional_content {
    margin-bottom: 1.6rem;
    padding: 1.2rem 1.3rem;
    background: var(--star-soft);
    border: 1px solid var(--star-border);
    border-left: 4px solid var(--star-blue);
    border-radius: 3px;
}

.page_index_journal .current_issue {
    margin: 1.6rem 0;
    padding: 1.35rem;
    background: var(--star-white);
    border: 1px solid var(--star-border);
    border-top: 4px solid var(--star-gold);
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(12, 48, 64, 0.06);
}

.page_index_journal .current_issue h2 {
    margin-top: 0;
    font-size: 1.45rem;
}

.page_index_journal .current_issue .current_issue_title {
    font-size: 1.08rem;
    line-height: 1.4;
}

/* ---------- Announcements ---------- */

.cmp_announcements {
    margin: 1.3rem 0 1.7rem;
}

.obj_announcement_summary {
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--star-border);
}

/* ---------- Issue and article listings ---------- */

.obj_issue_toc {
    margin-top: 1rem;
}

.obj_issue_toc .section {
    margin-top: 1.5rem;
}

.obj_issue_toc .section h2 {
    padding: 0.5rem 0.65rem;
    background: var(--star-soft);
    border-left: 4px solid var(--star-gold);
    font-size: 1.15rem;
}

.obj_article_summary {
    margin: 0;
    padding: 0.9rem 0;
    border-bottom: 1px solid var(--star-border);
}

.obj_article_summary .title {
    margin-bottom: 0.25rem;
}

.obj_article_summary .title a {
    color: var(--star-navy);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}

.obj_article_summary .authors,
.obj_article_summary .meta {
    color: var(--star-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

/* Improve imported legacy issue lists */

.current_issue ul,
.obj_issue_toc ul,
.pkp_page_content ul {
    padding-left: 1.25rem;
}

.current_issue li,
.obj_issue_toc li,
.pkp_page_content li {
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.current_issue li a,
.obj_issue_toc li a {
    font-size: 0.98rem;
    line-height: 1.45;
}

/* Prevent unusually heavy inherited text */

.current_issue strong,
.obj_issue_toc strong,
.pkp_page_content strong {
    font-weight: 650;
}

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

.obj_article_details .page_title {
    font-size: clamp(1.55rem, 2.7vw, 2.1rem);
}

.obj_article_details .authors,
.obj_article_details .item {
    color: var(--star-muted);
    font-size: 0.92rem;
}

.obj_article_details .abstract {
    margin-top: 1.3rem;
    padding: 1.1rem 1.2rem;
    background: var(--star-soft);
    border-left: 4px solid var(--star-blue);
}

/* ---------- Buttons ---------- */

.cmp_button,
a.cmp_button,
.obj_galley_link,
a.obj_galley_link,
a.read_more,
a.obj_issue_toc_link {
    display: inline-block;
    box-sizing: border-box;
    padding: 0.55rem 0.9rem;
    background: var(--star-blue);
    color: var(--star-white) !important;
    border: 1px solid var(--star-blue);
    border-radius: 3px;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.cmp_button:hover,
.cmp_button:focus,
.obj_galley_link:hover,
.obj_galley_link:focus,
a.read_more:hover,
a.read_more:focus,
a.obj_issue_toc_link:hover,
a.obj_issue_toc_link:focus {
    background: var(--star-blue-dark);
    border-color: var(--star-blue-dark);
    color: var(--star-white) !important;
    text-decoration: none;
}

/* ---------- Sidebar ---------- */

.pkp_structure_sidebar {
    font-size: 0.9rem;
}

.pkp_block {
    margin-bottom: 1.1rem;
    padding: 0.95rem;
    background: var(--star-white);
    border: 1px solid var(--star-border);
    border-top: 3px solid var(--star-navy);
    border-radius: 3px;
}

.pkp_block .title {
    margin-bottom: 0.6rem;
    color: var(--star-navy);
    font-size: 1rem;
    font-weight: 700;
}

/* ---------- Forms ---------- */

.pkp_structure_main input[type="text"],
.pkp_structure_main input[type="password"],
.pkp_structure_main input[type="email"],
.pkp_structure_main input[type="search"],
.pkp_structure_main select,
.pkp_structure_main textarea {
    box-sizing: border-box;
    max-width: 100%;
    padding: 0.58rem;
    background: var(--star-white);
    border: 1px solid #b9c7cf;
    border-radius: 3px;
    font: inherit;
}

/* ---------- Tables ---------- */

.pkp_page_content {
    overflow-wrap: anywhere;
}

.pkp_page_content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

.pkp_page_content th,
.pkp_page_content td {
    padding: 0.65rem;
    vertical-align: top;
    border: 1px solid var(--star-border);
    font-size: 0.92rem;
}

.pkp_page_content th {
    background: var(--star-soft);
    color: var(--star-navy);
    font-weight: 700;
    text-align: left;
}

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

.pkp_structure_footer_wrapper {
    margin-top: 2.2rem;
    padding: 1.7rem 0;
    background: var(--star-navy-dark);
    color: var(--star-white);
    border-top: 4px solid var(--star-gold);
}

.pkp_footer_content {
    color: var(--star-white);
    font-size: 0.88rem;
}

.pkp_structure_footer_wrapper a {
    color: #d6eef8;
}

/* Hide OJS/PKP footer branding */

.pkp_brand_footer,
.pkp_footer_content .pkp_brand_footer,
footer .pkp_brand_footer,
.pkp_structure_footer_wrapper .pkp_brand_footer,
.pkp_structure_footer_wrapper img[alt*="OJS"],
.pkp_structure_footer_wrapper img[alt*="PKP"],
.pkp_structure_footer_wrapper a[href*="pkp.sfu.ca"],
.pkp_structure_footer_wrapper a[href*="openjournalsystems.com"] {
    display: none !important;
}

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

@media (max-width: 768px) {
    body {
        font-size: 14px;
    }

    .pkp_site_name .is_text {
        font-size: 1.35rem;
    }

    .pkp_navigation_primary > li > a {
        padding: 0.72rem 0.8rem;
    }

    .page h1,
    .obj_page_title {
        font-size: 1.5rem;
    }

    .page_index_journal .current_issue,
    .page_index_journal .journal_description,
    .page_index_journal .homepage_about,
    .page_index_journal .additional_content,
    .pkp_block {
        padding: 0.95rem;
    }

    .pkp_page_content {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
