/* JLN visual system — approved 2026-08-11
 * Scope: journal context 1 (JLN). CSS-only, no OJS core/template/data changes.
 */

:root {
  --jln-green-950: #0d2f20;
  --jln-green-900: #123d2a;
  --jln-green-800: #18513a;
  --jln-green-700: #1f6b4a;
  --jln-green-100: #e8f3ec;
  --jln-green-050: #f4f8f5;
  --jln-gold-500: #d7a72e;
  --jln-ink: #17211b;
  --jln-muted: #5e6b63;
  --jln-border: #dce5df;
  --jln-surface: #fff;
  --jln-bg: #f4f6f4;
  --jln-radius: 12px;
  --jln-shadow: 0 12px 35px rgba(18, 61, 42, .07);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--jln-bg);
  color: var(--jln-ink);
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--jln-green-700); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--jln-green-900); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(215,167,46,.55) !important;
  outline-offset: 3px;
}

/* Header and navigation */
.pkp_structure_head { background: var(--jln-green-900); border: 0; box-shadow: 0 4px 18px rgba(13,47,32,.16); }
.pkp_head_wrapper { padding-top: 1rem; padding-bottom: 1rem; }
.pkp_site_name { margin-bottom: .75rem; }
.pkp_site_name .is_img img { width: auto; max-width: min(420px, 100%); max-height: 100px; object-fit: contain; }
.pkp_site_name .is_text { color: #fff; font-family: "Noto Serif", Georgia, serif; font-weight: 700; }
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
.pkp_navigation_search_wrapper a {
  color: rgba(255,255,255,.94);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-decoration: none;
}
.pkp_navigation_primary > li > a { padding: 1rem .85rem; }
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_search_wrapper a:hover { color: #f1cd71; border-color: #f1cd71; }
.pkp_navigation_primary ul { border-radius: 8px; border-color: var(--jln-border); box-shadow: var(--jln-shadow); overflow: hidden; }
.pkp_navigation_primary ul a { font-family: Inter, "Segoe UI", Arial, sans-serif; }
.pkp_navigation_primary .dropdown-menu a:hover { background: var(--jln-green-050); color: var(--jln-green-900); }
.pkp_site_nav_toggle { color: #fff; min-width: 44px; min-height: 44px; }

/* Main shell */
.pkp_structure_content {
  max-width: 1240px;
  margin: 2rem auto;
  background: var(--jln-surface);
  border: 1px solid var(--jln-border);
  border-radius: var(--jln-radius);
  box-shadow: var(--jln-shadow);
  overflow: hidden;
}
.pkp_structure_main { padding: clamp(1.35rem, 3vw, 3rem); }
.pkp_structure_sidebar { padding: clamp(1.25rem, 2.4vw, 2rem); background: #fbfcfb; border-left-color: var(--jln-border); }
.pkp_page_content p, .page_index_journal .homepage_about p, .obj_article_details .abstract p {
  max-width: 75ch;
  line-height: 1.78;
  margin-bottom: 1.15rem;
}

/* Typography */
h1, h2, h3, h4, .pkp_page_title, .obj_article_summary .title, .obj_issue_toc .section h2 {
  color: var(--jln-green-900);
  font-family: "Noto Serif", Georgia, serif;
  line-height: 1.25;
}
.pkp_page_title { margin: 0 0 1.5rem; font-size: clamp(1.75rem, 3vw, 2.55rem); }
.pkp_page_content h2 { margin: 2rem 0 1rem; font-size: clamp(1.4rem, 2.3vw, 1.9rem); }
.pkp_page_content h3 { margin: 1.6rem 0 .75rem; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.pkp_page_content > p strong { color: var(--jln-green-900); font-family: Inter, "Segoe UI", Arial, sans-serif; }

/* Breadcrumbs */
.cmp_breadcrumbs { margin-bottom: 1.3rem; color: var(--jln-muted); font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: .84rem; overflow-wrap: anywhere; }
.cmp_breadcrumbs a { color: var(--jln-green-700); font-weight: 650; text-decoration: none; }
.cmp_breadcrumbs a:hover { text-decoration: underline; }

/* Homepage media */
.page_index_journal .homepage_image img, .pkp_page_content > p > img {
  max-width: min(100%, 360px);
  height: auto;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(18,61,42,.13);
}

/* Issue and article summaries */
.obj_issue_toc .sections { margin-top: 1.5rem; }
.obj_issue_toc .section { margin-top: 1.75rem; }
.obj_issue_toc .articles { margin: 0; }
.obj_article_summary {
  margin: 0 0 1.25rem;
  padding: 1.35rem 1.4rem;
  background: #fff;
  border: 1px solid var(--jln-border);
  border-left: 4px solid var(--jln-green-700);
  border-radius: 10px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.obj_article_summary:hover { border-color: #afc9b8; box-shadow: 0 10px 24px rgba(18,61,42,.09); transform: translateY(-1px); }
.obj_article_summary .title { margin-bottom: .7rem; font-size: clamp(1.08rem, 2vw, 1.3rem); }
.obj_article_summary .title a { color: var(--jln-green-900); text-decoration: none; }
.obj_article_summary .title a:hover { color: var(--jln-green-700); text-decoration: underline; }
.obj_article_summary .authors, .obj_article_summary .pages, .obj_issue_toc .published {
  color: var(--jln-muted); font-family: Inter, "Segoe UI", Arial, sans-serif; line-height: 1.55;
}

/* Buttons, submissions, and galleys */
.block_make_submission a, .cmp_button, .cmp_form .buttons button, .obj_galley_link, a.obj_galley_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .7rem 1.05rem;
  border: 1px solid var(--jln-green-700);
  border-radius: 8px;
  background: var(--jln-green-700);
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.block_make_submission a:hover, .cmp_button:hover, .cmp_form .buttons button:hover, .obj_galley_link:hover {
  background: var(--jln-green-900); border-color: var(--jln-green-900); color: #fff !important; transform: translateY(-1px);
}

/* Sidebar panels */
.pkp_structure_sidebar .pkp_block {
  margin-bottom: 1.25rem;
  padding: 1.15rem;
  background: var(--jln-green-050);
  border: 1px solid var(--jln-border);
  border-radius: 10px;
}
.pkp_structure_sidebar .pkp_block .title {
  margin: 0 0 .85rem;
  color: var(--jln-green-900);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pkp_structure_sidebar .content ul { margin: 0; padding: 0; }
.pkp_structure_sidebar .content ul li { margin-bottom: .45rem; }
.pkp_structure_sidebar .content ul li a { color: var(--jln-ink); font-size: .95rem; line-height: 1.45; text-decoration: none; }
.pkp_structure_sidebar .content ul li a:hover { color: var(--jln-green-700); }
.pkp_structure_sidebar .content ul li a:before { margin-right: .55rem; color: var(--jln-green-700); font-family: "Font Awesome 5 Free"; font-weight: 900; }
.pkp_structure_sidebar img { max-width: 100%; height: auto; }
.pkp_structure_sidebar .pkp_block p img { max-height: 54px; object-fit: contain; }

/* Existing sidebar icons */
.pkp_structure_sidebar a[href*="FocusandScope"]:before { content: "\f05b"; }
.pkp_structure_sidebar a[href*="editorial"]:before { content: "\f0c0"; }
.pkp_structure_sidebar a[href*="Reviewers"]:before { content: "\f007"; }
.pkp_structure_sidebar a[href*="contact"]:before { content: "\f0e0"; }
.pkp_structure_sidebar a[href*="Readers"]:before { content: "\f02d"; }
.pkp_structure_sidebar a[href*="Author"]:before, .pkp_structure_sidebar a[href*="Authors"]:before { content: "\f4ff"; }
.pkp_structure_sidebar a[href*="Template"]:before { content: "\f70e"; }
.pkp_structure_sidebar a[href*="Librarians"]:before { content: "\f19c"; }
.pkp_structure_sidebar a[href*="forReviewer"]:before { content: "\f560"; }

/* Forms and search */
.pkp_page_search .cmp_form, .page_login .cmp_form, .page_register .cmp_form {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  background: var(--jln-green-050);
  border: 1px solid var(--jln-border);
  border-radius: 10px;
}
.cmp_form label { color: var(--jln-green-900); font-family: Inter, "Segoe UI", Arial, sans-serif; font-weight: 700; }
.cmp_form input[type="text"], .cmp_form input[type="email"], .cmp_form input[type="password"], .cmp_form input[type="search"], .cmp_form select, .cmp_form textarea {
  min-height: 44px;
  padding: .65rem .75rem;
  border: 1px solid #b8c7bd;
  border-radius: 7px;
  background: #fff;
  color: var(--jln-ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.cmp_form input:focus, .cmp_form select:focus, .cmp_form textarea:focus { border-color: var(--jln-green-700); box-shadow: 0 0 0 3px rgba(31,107,74,.13); }

/* Citations */
.csl-entry { margin-bottom: .75rem; padding: 1rem; border: 1px solid var(--jln-border); border-radius: 8px; background: var(--jln-green-050); font-size: .9rem; line-height: 1.6; }
.csl-entry .doi { display: block; margin-top: .4rem; color: var(--jln-green-700); }

/* Footer */
.pkp_structure_footer_wrapper { background: var(--jln-green-900); color: rgba(255,255,255,.86); }
.pkp_structure_footer { padding: 2rem clamp(1rem, 3vw, 3rem); }
.pkp_structure_footer a { color: #f1cd71; }
.pkp_structure_footer p { margin: .4rem 0; }
.pkp_brand_footer { display: none; }

/* Responsive */
@media (max-width: 991px) {
  .pkp_structure_content { margin: 1rem; }
  .pkp_structure_sidebar { border-left: 0; border-top: 1px solid var(--jln-border); }
}
@media (max-width: 767px) {
  body { font-size: 15.5px; }
  .pkp_structure_content { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .pkp_structure_main, .pkp_structure_sidebar { padding-left: 1rem; padding-right: 1rem; }
  .pkp_site_name { padding-top: .4rem; padding-bottom: .4rem; }
  .pkp_site_name .is_img img { max-height: 72px; max-width: calc(100vw - 90px); }
  .pkp_page_title { font-size: 1.72rem; }
  .obj_article_summary { padding: 1rem; border-left-width: 3px; }
  .obj_article_summary .title { overflow-wrap: anywhere; }
  .cmp_breadcrumbs { overflow-wrap: anywhere; }
  .pkp_structure_sidebar { background: #fff; }
  .pkp_structure_sidebar .pkp_block { padding: 1rem; }
  .block_make_submission a, .cmp_form .buttons button { width: 100%; }
}
/* Priority visual corrections — header/logo and normal sidebar flow, 2026-08-11 */
@media (min-width: 992px) {
  .pkp_head_wrapper {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .pkp_site_name {
    display: flex;
    align-items: center;
    min-height: 108px;
    margin-bottom: .25rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
  }
  .pkp_site_name .is_img {
    display: block;
    width: 290px;
    height: 100px;
    max-width: 100%;
    background-image: url("pageHeaderLogoImage_en.png");
    background-repeat: no-repeat;
    background-size: 303px 220px;
    background-position: 0 -50px;
  }
  .pkp_site_name .is_img img {
    display: block;
    width: 290px;
    height: 100px;
    max-width: 100%;
    opacity: 0;
  }

  .pkp_structure_content.has_sidebar {
    display: flex;
    align-items: flex-start;
    height: auto;
    min-height: 0;
  }
  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    float: none;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
  }
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    float: none;
    flex: 0 0 300px;
    align-self: flex-start;
    width: 300px;
    height: auto;
    min-height: 0;
    margin-top: 0;
    position: static;
    top: auto;
    transform: none;
  }
}

/* The custom MENU block contains an old nested .pkp_structure_sidebar.
 * Neutralize that legacy layout wrapper so its contents size the block normally. */
.pkp_structure_sidebar .pkp_block .pkp_structure_sidebar {
  display: block;
  float: none !important;
  clear: both;
  width: 100% !important;
  max-width: 100%;
  height: auto;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  background: transparent;
  position: static;
  top: auto;
  transform: none;
  overflow: visible;
}
.pkp_structure_sidebar .pkp_block .pkp_structure_sidebar > .pkp_block {
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
}
.pkp_structure_sidebar .pkp_block:empty,
.pkp_structure_sidebar .pkp_block .content:empty,
.pkp_structure_sidebar .pkp_block .content > ul:empty {
  display: none;
}

@media (max-width: 767px) {
  .pkp_structure_head,
  .pkp_head_wrapper {
    height: 72px;
    min-height: 72px;
    overflow: hidden;
    background: var(--jln-green);
  }
  .pkp_head_wrapper {
    padding-top: 0;
    padding-bottom: 0;
  }
  .pkp_site_name {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: auto;
    height: 72px;
    min-height: 72px;
    margin: 0;
    padding: 11px 64px 11px 56px;
    position: relative;
    transform: none;
    overflow: hidden;
  }
  .pkp_site_name .is_img {
    display: block;
    width: 150px;
    height: 50px;
    max-width: calc(100vw - 130px);
    overflow: hidden;
    background-image: url("pageHeaderLogoImage_en.png");
    background-repeat: no-repeat;
    background-size: 150px 109px;
    background-position: -4px -24px;
  }
  .pkp_site_name .is_img img {
    display: block;
    width: 150px;
    height: 50px;
    max-width: 100%;
    margin: 0;
    position: static;
    transform: none;
    opacity: 0;
  }
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar {
    height: auto;
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
