/*!
 * AIJANS Journal Style Sheet v1.2.8
 * OJS target: 3.2.1-1
 * Theme target: Manuscript (Default child theme) 1.0.3
 * Scope: CSS-only. No PHP/TPL/JavaScript/theme replacement.
 *
 * Design direction:
 * - Deep forest green
 * - Muted sage/olive
 * - Warm ivory
 * - Restrained golden ochre accent
 *
 * This stylesheet deliberately targets the OJS 3.2.1 / Manuscript 1.0.3
 * selectors, including #navigationPrimary, .pkp_navigation_primary_row,
 * .pkp_structure_page, .homepage_image, .homepage_about, .current_issue,
 * .obj_issue_toc, .obj_article_summary and .pkp_block.
 */

/* =========================================================
   01. DESIGN TOKENS
   ========================================================= */
:root {
  --aijans-forest-950: #0b3528;
  --aijans-forest-900: #104632;
  --aijans-forest-850: #15563b;
  --aijans-forest-800: #1d6644;
  --aijans-forest-700: #287a50;
  --aijans-leaf-600: #3f9161;
  --aijans-sage-500: #91aa72;
  --aijans-sage-200: #dfe8d7;
  --aijans-gold-600: #b78928;
  --aijans-gold-500: #d0a548;

  --aijans-ink: #26372d;
  --aijans-muted: #627267;
  --aijans-ivory: #f6f6ef;
  --aijans-paper: #ffffff;
  --aijans-paper-soft: #fbfcf8;
  --aijans-border: #dbe5d8;
  --aijans-border-strong: #cbd8c8;

  --aijans-shadow-sm: 0 4px 14px rgba(18, 54, 34, .06);
  --aijans-shadow-md: 0 10px 28px rgba(18, 54, 34, .09);
  --aijans-shadow-lg: 0 16px 38px rgba(18, 54, 34, .12);

  --aijans-serif: Georgia, "Times New Roman", Times, serif;
  --aijans-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* =========================================================
   02. GLOBAL / MANUSCRIPT BOX
   Manuscript 1.0.3 normally uses a narrow paper-like box.
   Widen it and soften the surrounding background.
   ========================================================= */
html,
body {
  background: var(--aijans-ivory) !important;
}

body {
  color: var(--aijans-ink) !important;
  font-family: var(--aijans-sans);
  line-height: 1.58;
}

.pkp_structure_page {
  width: calc(100% - 44px) !important;
  max-width: 1500px !important;
  margin: 22px auto 28px !important;
  background: var(--aijans-paper) !important;
  box-shadow: 0 0 0 1px rgba(34, 67, 43, .04), var(--aijans-shadow-lg) !important;
  border-radius: 12px;
  overflow: visible;
}

a {
  color: var(--aijans-forest-700);
}

a:hover,
a:focus {
  color: var(--aijans-forest-950);
}

/* =========================================================
   03. HEADER / JOURNAL IDENTITY
   OJS 3.2.1 stable markup:
   .pkp_head_wrapper > .pkp_site_name_wrapper > .pkp_site_name
   ========================================================= */
.pkp_structure_head,
.pkp_head_wrapper {
  background: var(--aijans-paper) !important;
}

.pkp_site_name_wrapper {
  min-height: 118px;
  padding: 18px 36px !important;
  background:
    linear-gradient(90deg, rgba(145,170,114,.09), rgba(255,255,255,0) 42%),
    var(--aijans-paper) !important;
  border-bottom: 1px solid #edf1ea;
}

.pkp_site_name {
  width: 74% !important;
  min-height: 80px;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
}

.pkp_site_name .is_img {
  display: inline-flex !important;
  align-items: center;
}

.pkp_site_name .is_img img {
  width: auto !important;
  height: auto !important;
  max-height: 86px !important;
  max-width: 620px !important;
  object-fit: contain;
}

.pkp_site_name .is_text {
  color: var(--aijans-forest-950) !important;
  font-family: var(--aijans-serif) !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  letter-spacing: -.01em;
}

/* user menu stays in the upper-right identity row */
.pkp_navigation_user_wrapper {
  top: 18px !important;
  right: 28px !important;
  width: auto !important;
  padding-right: 0 !important;
  background: transparent !important;
}

.pkp_navigation_user,
.pkp_navigation_user ul {
  background: transparent !important;
}

.pkp_navigation_user a {
  color: var(--aijans-forest-850) !important;
  font-family: var(--aijans-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.pkp_navigation_user a:hover,
.pkp_navigation_user a:focus {
  color: var(--aijans-forest-950) !important;
  border-color: var(--aijans-gold-500) !important;
}

/* =========================================================
   04. PRIMARY NAVIGATION
   Manuscript 1.0.3 applies the color to .pkp_navigation_primary_row
   and uses #navigationPrimary with strong specificity.
   ========================================================= */
.pkp_navigation_primary_row {
  min-height: 56px;
  padding: 0 34px !important;
  background:
    linear-gradient(90deg, var(--aijans-forest-950) 0%, var(--aijans-forest-800) 52%, var(--aijans-forest-950) 100%) !important;
  border-top: 1px solid rgba(255,255,255,.05);
  border-bottom: 1px solid rgba(7, 39, 27, .4);
  box-shadow: 0 5px 14px rgba(12, 54, 35, .10);
}

.pkp_navigation_primary_wrapper {
  width: 100% !important;
  min-height: 56px;
  display: flex;
  align-items: center;
}

#navigationPrimary {
  margin: 0 !important;
}

#navigationPrimary > li {
  margin: 0 !important;
}

#navigationPrimary a {
  font-family: var(--aijans-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

#navigationPrimary > li > a {
  min-height: 56px;
  display: flex;
  align-items: center;
  padding: 0 15px !important;
  color: #fff !important;
  border-bottom: 3px solid transparent !important;
}

#navigationPrimary > li:first-child > a,
#navigationPrimary > li > a:hover,
#navigationPrimary > li > a:focus {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border-bottom-color: var(--aijans-gold-500) !important;
}

/* dropdown / pulldown */
#navigationPrimary ul {
  min-width: 230px;
  padding: 7px 0 !important;
  background: #fff !important;
  border: 1px solid var(--aijans-border-strong) !important;
  border-top: 3px solid var(--aijans-leaf-600) !important;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 14px 28px rgba(18, 54, 34, .16);
}

#navigationPrimary ul a {
  padding: 9px 15px !important;
  color: var(--aijans-ink) !important;
  background: #fff !important;
  white-space: normal;
}

#navigationPrimary ul a:hover,
#navigationPrimary ul a:focus {
  color: var(--aijans-forest-950) !important;
  background: #edf6ee !important;
  border-color: transparent !important;
}

/* OJS 3.2 Manuscript search prompt */
.pkp_head_wrapper .pkp_search {
  color: #fff;
}

.pkp_head_wrapper .pkp_search .search_controls .search_prompt {
  color: rgba(255,255,255,.94) !important;
  font-family: var(--aijans-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  border-bottom: 0 !important;
}

.pkp_head_wrapper .pkp_search .search_controls .search_prompt:before {
  color: #d8eddb !important;
}

.pkp_head_wrapper .pkp_search .search_controls .search_prompt:hover,
.pkp_head_wrapper .pkp_search .search_controls .search_prompt:focus {
  color: #fff !important;
}

.pkp_head_wrapper .pkp_search.is_open {
  background: #fff !important;
  box-shadow: var(--aijans-shadow-md);
}

.pkp_head_wrapper .pkp_search.is_open input[type="text"] {
  background: #fff !important;
  border: 1px solid var(--aijans-border) !important;
  color: var(--aijans-ink) !important;
}

.pkp_head_wrapper .pkp_search.is_open .search_controls .search_prompt {
  background: var(--aijans-forest-700) !important;
  color: #fff !important;
}

/* =========================================================
   05. HOMEPAGE GRID
   CSS-only technique for a hero image spanning BOTH content columns.
   Applied only to the journal homepage.
   ========================================================= */
@media (min-width: 992px) {
  .pkp_page_index .pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px;
    grid-auto-flow: row;
    column-gap: 26px;
    align-items: start;
    padding: 28px 34px 46px !important;
  }

  .pkp_page_index .pkp_structure_content.has_sidebar > .pkp_structure_main {
    display: contents !important;
  }

  .pkp_page_index .pkp_structure_main > .page_index_journal {
    display: contents !important;
  }

  .pkp_page_index .homepage_image {
    grid-column: 1 / -1;
  }

  .pkp_page_index .homepage_about,
  .pkp_page_index .cmp_announcements,
  .pkp_page_index .current_issue,
  .pkp_page_index .additional_content {
    grid-column: 1;
    min-width: 0;
  }

  .pkp_page_index .pkp_structure_sidebar {
    grid-column: 2;
    grid-row: 2 / span 30;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .pkp_page_index .pkp_structure_sidebar:before {
    display: none !important;
  }
}

/* fallback / non-home page column proportions */
@media (min-width: 992px) {
  .pkp_structure_content.has_sidebar:not(:has(.page_index_journal)) .pkp_structure_main {
    width: calc(100% - 340px) !important;
  }

  .pkp_structure_content.has_sidebar:not(:has(.page_index_journal)) .pkp_structure_sidebar {
    width: 320px !important;
  }
}

/* =========================================================
   06. HERO / HOMEPAGE IMAGE
   Upload the generated wide agriculture image as OJS "Homepage Image".
   ========================================================= */
.pkp_page_index .homepage_image {
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.pkp_page_index .homepage_image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 470px;
  object-fit: cover;
  object-position: center;
  border-radius: 15px;
  box-shadow: var(--aijans-shadow-lg);
}

/* =========================================================
   07. HOMEPAGE ABOUT
   ========================================================= */
.homepage_about {
  margin: 0 0 26px !important;
  padding: 25px 28px !important;
  background:
    linear-gradient(135deg, rgba(223,232,215,.32), rgba(255,255,255,0) 55%),
    #fff !important;
  border: 1px solid var(--aijans-border) !important;
  border-left: 4px solid var(--aijans-forest-700) !important;
  border-radius: 14px;
  box-shadow: var(--aijans-shadow-sm);
}

.homepage_about h2 {
  display: block !important;
  margin: 0 0 15px !important;
  padding: 0 0 11px !important;
  color: var(--aijans-forest-950) !important;
  border-bottom: 1px solid #e2e9df !important;
  font-family: var(--aijans-serif) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  position: relative;
}

.homepage_about h2:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 64px;
  height: 3px;
  background: var(--aijans-gold-500);
  border-radius: 4px;
}

.homepage_about p {
  color: #405247 !important;
  font-size: 15px;
  line-height: 1.7;
}

/* =========================================================
   08. CURRENT ISSUE
   ========================================================= */
.current_issue {
  margin: 0 0 26px !important;
  padding: 24px 26px 26px !important;
  background: #fff !important;
  border: 1px solid var(--aijans-border) !important;
  border-radius: 14px;
  box-shadow: var(--aijans-shadow-sm);
}

.current_issue > h2 {
  display: block !important;
  width: 100%;
  margin: 0 0 18px !important;
  padding: 0 0 11px !important;
  color: var(--aijans-forest-950) !important;
  border-bottom: 1px solid #e2e9df !important;
  font-family: var(--aijans-serif) !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  position: relative;
}

.current_issue > h2:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 62px;
  height: 3px;
  background: var(--aijans-gold-500);
}

.current_issue .current_issue_title {
  margin: 0 0 18px !important;
  color: var(--aijans-forest-900) !important;
  font-family: var(--aijans-serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.obj_issue_toc .heading {
  margin-bottom: 22px;
}

.obj_issue_toc .heading .published,
.obj_issue_toc .heading .pub_id {
  color: var(--aijans-muted) !important;
  font-family: var(--aijans-sans) !important;
  font-size: 12px !important;
}

.obj_issue_toc .heading .published .label,
.obj_issue_toc .heading .pub_id .type {
  color: var(--aijans-forest-800) !important;
}

.obj_issue_toc .section {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.obj_issue_toc .section > h2 {
  color: var(--aijans-muted) !important;
  border-bottom-color: var(--aijans-gold-500) !important;
  font-family: var(--aijans-sans) !important;
  font-size: 13px !important;
  letter-spacing: .03em;
}

/* article summaries become light scholarly cards */
.obj_article_summary {
  margin: 0 0 13px !important;
  padding: 16px 17px 15px !important;
  background: var(--aijans-paper-soft) !important;
  border: 1px solid #e2e9df !important;
  border-left: 3px solid transparent !important;
  border-radius: 11px;
  box-shadow: 0 3px 10px rgba(18, 54, 34, .035);
}

.obj_article_summary:hover {
  border-left-color: var(--aijans-leaf-600) !important;
  box-shadow: var(--aijans-shadow-sm);
}

.obj_article_summary .title,
.obj_article_summary .title a {
  color: var(--aijans-forest-850) !important;
  font-family: var(--aijans-serif) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.34 !important;
}

.obj_article_summary .subtitle {
  color: var(--aijans-ink) !important;
  font-family: var(--aijans-sans) !important;
  font-size: 13px !important;
}

.obj_article_summary .authors,
.obj_article_summary .pages {
  color: var(--aijans-muted) !important;
  font-size: 12px !important;
}

.obj_galley_link {
  padding: 6px 10px !important;
  color: #fff !important;
  background: var(--aijans-forest-700) !important;
  border: 1px solid var(--aijans-forest-800) !important;
  border-radius: 6px !important;
  font-family: var(--aijans-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.obj_galley_link:hover,
.obj_galley_link:focus {
  color: #fff !important;
  background: var(--aijans-forest-900) !important;
}

.current_issue .read_more {
  display: inline-block;
  margin-top: 8px !important;
  color: var(--aijans-forest-800) !important;
  font-family: var(--aijans-sans) !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

/* =========================================================
   09. ANNOUNCEMENTS
   Override the default 65/35 split used by OJS 3.2.
   ========================================================= */
.cmp_announcements {
  float: none !important;
  width: 100% !important;
  margin: 0 0 26px !important;
  padding: 22px 24px !important;
  background: #fff !important;
  border: 1px solid var(--aijans-border) !important;
  border-radius: 14px;
  box-shadow: var(--aijans-shadow-sm);
}

.cmp_announcements h2 {
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  margin: 0 0 17px !important;
  padding: 0 0 11px !important;
  color: var(--aijans-forest-950) !important;
  border-bottom: 1px solid #e2e9df;
  font-family: var(--aijans-serif) !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
}

.cmp_announcements > .obj_announcement_summary,
.cmp_announcements .more,
.cmp_announcements .more .obj_announcement_summary {
  float: none !important;
  width: 100% !important;
}

.cmp_announcements > .obj_announcement_summary,
.cmp_announcements .more .obj_announcement_summary {
  margin: 0 0 13px !important;
  padding: 15px 17px !important;
  background: var(--aijans-paper-soft) !important;
  border: 1px solid #e2e9df !important;
  border-left: 3px solid var(--aijans-leaf-600) !important;
  border-radius: 10px;
}

.cmp_announcements > .obj_announcement_summary:before,
.cmp_announcements > .more:before {
  display: none !important;
}

.obj_announcement_summary .title,
.obj_announcement_summary .title a {
  color: var(--aijans-forest-850) !important;
  font-family: var(--aijans-serif) !important;
  font-weight: 700 !important;
}

.obj_announcement_summary .date {
  color: var(--aijans-muted) !important;
  font-size: 12px !important;
}

/* =========================================================
   10. SIDEBAR
   ========================================================= */
.pkp_structure_sidebar {
  color: var(--aijans-ink);
}

.pkp_structure_sidebar .pkp_block {
  margin: 0 0 18px !important;
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid var(--aijans-border) !important;
  border-radius: 12px;
  box-shadow: var(--aijans-shadow-sm);
}

.pkp_structure_sidebar .pkp_block .title {
  display: block !important;
  margin: 0 0 13px !important;
  padding: 0 0 9px !important;
  color: var(--aijans-forest-950) !important;
  border-bottom: 2px solid var(--aijans-gold-500) !important;
  font-family: var(--aijans-serif) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.pkp_structure_sidebar .pkp_block .content {
  color: var(--aijans-muted);
}

.pkp_structure_sidebar .pkp_block img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 8px auto 14px;
}

/* Submission block */
.pkp_structure_sidebar .block_make_submission {
  padding: 10px !important;
  background: #eef7ef !important;
  border-color: #cfe1d1 !important;
}

.pkp_structure_sidebar .block_make_submission a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 11px 15px !important;
  color: #fff !important;
  background:
    linear-gradient(180deg, var(--aijans-forest-700), var(--aijans-forest-900)) !important;
  border: 1px solid var(--aijans-forest-900) !important;
  border-radius: 8px !important;
  font-family: var(--aijans-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

/* Harmonize text-only policy links in custom sidebar blocks.
   Image/logo links remain unaffected in most common OJS custom block markup. */
.pkp_structure_sidebar .pkp_block .content p > a:only-child,
.pkp_structure_sidebar .pkp_block .content li > a {
  display: block;
  padding: 8px 10px;
  color: #fff !important;
  background: var(--aijans-forest-700) !important;
  border: 1px solid var(--aijans-forest-800);
  border-radius: 6px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

.pkp_structure_sidebar .pkp_block .content p > a:only-child:hover,
.pkp_structure_sidebar .pkp_block .content li > a:hover {
  background: var(--aijans-forest-900) !important;
}

/* =========================================================
   11. GENERAL CONTENT PAGES
   ========================================================= */
.pkp_structure_main {
  color: var(--aijans-ink);
}

.page {
  color: var(--aijans-ink);
}

.page h1,
.page h2,
.page h3,
.page h4,
.obj_article_details h1,
.obj_article_details h2,
.obj_article_details h3 {
  color: var(--aijans-forest-950);
}

.page h1,
.obj_article_details h1 {
  font-family: var(--aijans-serif);
}

.page_about,
.page_contact,
.page_submissions,
.page_issue_archive,
.page_article {
  padding-top: 30px;
  padding-bottom: 40px;
}

/* article details */
.obj_article_details .main_entry,
.obj_article_details .entry_details {
  color: var(--aijans-ink);
}

.obj_article_details .abstract,
.obj_article_details .item.references,
.obj_article_details .item.keywords,
.obj_article_details .item.copyright {
  background: var(--aijans-paper-soft);
  border: 1px solid var(--aijans-border);
  border-radius: 10px;
  padding: 17px;
}

/* =========================================================
   12. FORMS / TABLES
   ========================================================= */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
  border-color: var(--aijans-border-strong) !important;
  border-radius: 6px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
  border-color: var(--aijans-leaf-600) !important;
  box-shadow: 0 0 0 3px rgba(63,145,97,.12);
}

table {
  border-color: var(--aijans-border);
}

th {
  color: var(--aijans-forest-950);
  background: #f2f7ef;
}

/* =========================================================
   13. FOOTER
   ========================================================= */
.pkp_structure_footer_wrapper {
  margin-top: 28px !important;
  padding: 0 !important;
  color: rgba(255,255,255,.86) !important;
  background:
    linear-gradient(100deg, var(--aijans-forest-950), var(--aijans-forest-800)) !important;
  border-top: 4px solid var(--aijans-gold-500) !important;
  border-bottom: 0 !important;
}

.pkp_structure_footer {
  background: transparent !important;
}

.pkp_footer_content {
  padding: 28px 34px !important;
  color: rgba(255,255,255,.86) !important;
}

.pkp_footer_content p,
.pkp_footer_content div,
.pkp_footer_content address,
.pkp_footer_content li {
  color: rgba(255,255,255,.86) !important;
}

.pkp_footer_content strong,
.pkp_footer_content b {
  color: #fff !important;
}

.pkp_footer_content a {
  color: #d9efda !important;
}

.pkp_footer_content a:hover,
.pkp_footer_content a:focus {
  color: #fff !important;
}

.pkp_brand_footer {
  background: transparent !important;
}

.pkp_brand_footer img {
  filter: brightness(0) invert(1);
  opacity: .9;
}

/* =========================================================
   14. TABLET
   ========================================================= */
@media (max-width: 991px) {
  .pkp_structure_page {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0;
  }

  .pkp_site_name_wrapper {
    min-height: 92px;
    padding: 14px 18px !important;
  }

  .pkp_site_name {
    width: calc(100% - 54px) !important;
  }

  .pkp_site_name .is_img img {
    max-height: 64px !important;
  }

  .pkp_navigation_primary_row {
    padding: 0 16px !important;
  }

  .pkp_structure_content,
  .pkp_page_index .pkp_structure_content.has_sidebar {
    display: block !important;
    padding: 20px 18px 36px !important;
  }

  .pkp_page_index .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_page_index .pkp_structure_main > .page_index_journal {
    display: block !important;
  }

  .pkp_structure_main,
  .pkp_structure_sidebar {
    float: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pkp_structure_sidebar {
    margin-top: 24px !important;
  }

  .pkp_structure_sidebar:before {
    display: none !important;
  }

  .homepage_about,
  .current_issue,
  .cmp_announcements {
    border-radius: 11px;
  }
}

/* =========================================================
   15. MOBILE
   ========================================================= */
@media (max-width: 767px) {
  .pkp_site_name_wrapper {
    padding: 10px 14px !important;
  }

  .pkp_site_name .is_img img {
    max-height: 54px !important;
  }

  .pkp_navigation_primary_row {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #navigationPrimary > li > a {
    min-height: 46px;
    padding: 0 10px !important;
    font-size: 12px !important;
  }

  .pkp_page_index .homepage_image img {
    border-radius: 9px;
  }

  .homepage_about,
  .current_issue,
  .cmp_announcements,
  .pkp_structure_sidebar .pkp_block {
    padding: 17px !important;
  }

  .homepage_about h2 {
    font-size: 23px !important;
  }

  .current_issue > h2 {
    font-size: 22px !important;
  }

  .obj_article_summary {
    padding: 13px !important;
  }

  .obj_article_summary .title,
  .obj_article_summary .title a {
    font-size: 16px !important;
  }
}

/* =========================================================
   16. PRINT
   ========================================================= */
@media print {
  html,
  body,
  .pkp_structure_page {
    background: #fff !important;
    box-shadow: none !important;
  }

  .pkp_structure_head,
  .pkp_structure_sidebar,
  .pkp_structure_footer_wrapper {
    display: none !important;
  }

  .pkp_structure_main {
    width: 100% !important;
  }
}

/* =========================================================
   17. REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    transition: none !important;
    animation: none !important;
  }
}
/* =========================================================
   18. V1.2.0 HOMEPAGE STRUCTURAL REPAIR
   IMPORTANT:
   - Removes the v1.1.0 display:contents homepage experiment.
   - Restores the native OJS 3.2.1 / Manuscript document flow.
   - Uses a controlled visual breakout for the hero.
   - Keeps sidebar and main content stable.
   ========================================================= */

@media (min-width: 992px) {

  /* -------------------------------------------------------
     18.1 Restore normal OJS layout flow
     ------------------------------------------------------- */
  .pkp_page_index .pkp_structure_content.has_sidebar {
    display: block !important;
    position: relative !important;
    padding: 28px 34px 46px !important;
  }

  .pkp_page_index .pkp_structure_content.has_sidebar > .pkp_structure_main {
    display: block !important;
    float: left !important;
    width: calc(100% - 346px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_page_index .pkp_structure_main > .page_index_journal {
    display: block !important;
    width: 100% !important;
  }

  .pkp_page_index .pkp_structure_sidebar {
    display: block !important;
    float: right !important;
    width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_page_index .pkp_structure_sidebar:before {
    display: none !important;
  }

  .pkp_page_index .pkp_structure_content.has_sidebar:after {
    content: "";
    display: table;
    clear: both;
  }

  /* -------------------------------------------------------
     18.2 Hero breakout
     The uploaded Homepage Image is 8:3.
     It visually extends across the sidebar width while remaining
     inside the native main-column DOM.
     ------------------------------------------------------- */
  .pkp_page_index .homepage_image {
    position: relative !important;
    z-index: 4;
    width: calc(100% + 346px) !important;
    max-width: none !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .pkp_page_index .homepage_image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 8 / 3;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 15px !important;
    box-shadow: 0 14px 34px rgba(18, 54, 34, .14) !important;
  }

  /*
   * Align sidebar below the wide hero.
   * The clamp follows the 8:3 hero ratio over the supported
   * Manuscript desktop widths without relying on JS.
   */
  .pkp_page_index .pkp_structure_sidebar {
    margin-top: clamp(350px, 35.5vw, 548px) !important;
  }

  /* -------------------------------------------------------
     18.3 Main content after hero
     ------------------------------------------------------- */
  .pkp_page_index .homepage_about,
  .pkp_page_index .current_issue,
  .pkp_page_index .cmp_announcements,
  .pkp_page_index .additional_content {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }
}

/* =========================================================
   19. HOMEPAGE VISUAL TUNING
   ========================================================= */

/* About panel */
.pkp_page_index .homepage_about {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding: 24px 26px !important;
  border-left-width: 4px !important;
}

/* Current issue */
.pkp_page_index .current_issue {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding: 22px 24px 24px !important;
}

/* Make article cards less vertically wasteful */
.pkp_page_index .obj_article_summary {
  margin-bottom: 11px !important;
  padding: 14px 15px 13px !important;
}

.pkp_page_index .obj_article_summary .title,
.pkp_page_index .obj_article_summary .title a {
  font-size: 16px !important;
  line-height: 1.30 !important;
}

/* =========================================================
   20. SIDEBAR REFINEMENT
   ========================================================= */

.pkp_structure_sidebar .pkp_block {
  padding: 15px !important;
  border-radius: 11px !important;
}

/* Policy links: slightly darker, more academic, less "mint button" */
.pkp_structure_sidebar .pkp_block .content p > a:only-child,
.pkp_structure_sidebar .pkp_block .content li > a {
  padding: 8px 9px !important;
  background: #2d7d53 !important;
  border-color: #286c49 !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

.pkp_structure_sidebar .pkp_block .content p > a:only-child:hover,
.pkp_structure_sidebar .pkp_block .content li > a:hover {
  background: #174d39 !important;
}

/* Keep indexing/tool logos visually contained */
.pkp_structure_sidebar .pkp_block .content img {
  max-width: 88% !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================================
   21. HEADER REFINEMENT
   ========================================================= */

@media (min-width: 992px) {
  .pkp_site_name_wrapper {
    min-height: 105px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .pkp_site_name {
    min-height: 72px !important;
  }

  .pkp_site_name .is_img img {
    max-height: 76px !important;
  }

  .pkp_navigation_primary_row {
    min-height: 52px !important;
  }

  #navigationPrimary > li > a {
    min-height: 52px !important;
  }
}

/* =========================================================
   22. FOOTER HEIGHT REPAIR
   ========================================================= */

.pkp_structure_footer_wrapper {
  margin-top: 34px !important;
}

.pkp_footer_content {
  min-height: 0 !important;
  padding: 26px 34px 22px !important;
}

.pkp_brand_footer {
  padding-top: 16px !important;
  padding-bottom: 22px !important;
}

/* =========================================================
   23. TABLET / SMALL DESKTOP
   Full breakout is disabled before the layout becomes fragile.
   ========================================================= */

@media (min-width: 992px) and (max-width: 1180px) {
  .pkp_page_index .pkp_structure_content.has_sidebar > .pkp_structure_main {
    width: calc(100% - 300px) !important;
  }

  .pkp_page_index .pkp_structure_sidebar {
    width: 276px !important;
  }

  .pkp_page_index .homepage_image {
    width: calc(100% + 300px) !important;
  }

  .pkp_page_index .pkp_structure_sidebar {
    margin-top: clamp(330px, 35vw, 430px) !important;
  }
}

/* =========================================================
   24. <= 991px: return completely to single-column native flow
   ========================================================= */

@media (max-width: 991px) {
  .pkp_page_index .pkp_structure_content.has_sidebar {
    display: block !important;
  }

  .pkp_page_index .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_page_index .pkp_structure_sidebar {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pkp_page_index .pkp_structure_main > .page_index_journal {
    display: block !important;
  }

  .pkp_page_index .homepage_image {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
  }

  .pkp_page_index .homepage_image img {
    width: 100% !important;
    aspect-ratio: 8 / 3;
    object-fit: cover !important;
  }

  .pkp_page_index .pkp_structure_sidebar {
    margin-top: 24px !important;
  }
}

/* =========================================================
   25. Browser-compatibility cleanup
   Do not rely on :has() for layout.
   ========================================================= */

@media (min-width: 992px) {
  .pkp_structure_content.has_sidebar .pkp_structure_main {
    box-sizing: border-box;
  }

  .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
    box-sizing: border-box;
  }
}
/* =========================================================
   26. V1.2.2 DESKTOP NAV + HERO/SIDEBAR ALIGNMENT + CUSTOM BLOCKS
   ========================================================= */

/* ---------------------------------------------------------
   26.1 Hide the mobile menu toggle on desktop only.
   The narrow white control visible at the far-right of the
   desktop navigation is OJS .pkp_site_nav_toggle.
   --------------------------------------------------------- */
@media (min-width: 992px) {
  .pkp_site_nav_toggle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }
}

/* ---------------------------------------------------------
   26.2 Deterministic hero height and exact sidebar offset.
   The SAME clamp() controls hero height and sidebar offset,
   eliminating the empty gap caused by independent estimates.
   --------------------------------------------------------- */
@media (min-width: 1181px) {
  .pkp_page_index .homepage_image img {
    width: 100% !important;
    height: clamp(300px, 23vw, 390px) !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .pkp_page_index .pkp_structure_sidebar {
    margin-top: calc(clamp(300px, 23vw, 390px) + 28px) !important;
  }
}

@media (min-width: 992px) and (max-width: 1180px) {
  .pkp_page_index .homepage_image img {
    width: 100% !important;
    height: clamp(255px, 25vw, 320px) !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .pkp_page_index .pkp_structure_sidebar {
    margin-top: calc(clamp(255px, 25vw, 320px) + 28px) !important;
  }
}

/* ---------------------------------------------------------
   26.3 Sidebar card system
   Apply one coherent visual language to ALL custom blocks.
   --------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block {
  box-sizing: border-box !important;
  margin-bottom: 16px !important;
  padding: 12px !important;
  background: #ffffff !important;
  border: 1px solid #dbe5d8 !important;
  border-radius: 11px !important;
  box-shadow: 0 4px 14px rgba(18, 54, 34, .055) !important;
  overflow: hidden;
}

.pkp_structure_sidebar .pkp_block .content {
  box-sizing: border-box;
  width: 100%;
  padding: 0 !important;
  color: #53645a;
}

/* Remove excessive vertical spacing created by old inline custom-block HTML */
.pkp_structure_sidebar .pkp_block .content p {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.pkp_structure_sidebar .pkp_block .content div {
  max-width: 100%;
}

/* ---------------------------------------------------------
   26.4 Re-theme old mint-green inline headers/buttons
   Existing custom blocks contain #68caa1 in inline styles.
   Override it without requiring every block to be rewritten now.
   --------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block [style*="#68caa1"],
.pkp_structure_sidebar .pkp_block [style*="#68CAA1"],
.pkp_structure_sidebar .pkp_block [style*="rgb(104, 202, 161)"] {
  background-color: #2f7a52 !important;
  background-image: linear-gradient(180deg, #347f57 0%, #286b49 100%) !important;
  border-color: #235f41 !important;
  color: #ffffff !important;
}

/* Section-style mint headers such as Visitor Counter / Indexed in /
   Recommended Tools become compact forest-green title bars. */
.pkp_structure_sidebar .pkp_block div[style*="#68caa1"],
.pkp_structure_sidebar .pkp_block p[style*="#68caa1"],
.pkp_structure_sidebar .pkp_block span[style*="#68caa1"] {
  border-radius: 6px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  font-family: var(--aijans-sans) !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

/* ---------------------------------------------------------
   26.5 Images, logos, counters and indexer blocks
   --------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 82% !important;
  margin: 10px auto !important;
  object-fit: contain;
}

/* Allow especially wide indexer logos to use more card width */
.pkp_structure_sidebar .pkp_block img[width],
.pkp_structure_sidebar .pkp_block a img {
  max-width: 86% !important;
}

/* Visitor counters/iframes must stay inside the card */
.pkp_structure_sidebar .pkp_block iframe {
  display: block;
  max-width: 100% !important;
  margin: 8px auto !important;
  border: 0;
}

/* Keep old badge/button rows compact */
.pkp_structure_sidebar .pkp_block .content a {
  max-width: 100%;
}

/* ---------------------------------------------------------
   26.6 Navigation custom block
   The HTML has already been updated to the synchronized palette.
   Keep it compact and remove any residual wrapper whitespace.
   --------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] {
  width: 100% !important;
  max-width: none !important;
  margin: 4px auto !important;
  padding: 0 !important;
}

/* ---------------------------------------------------------
   26.7 Give the first sidebar block no artificial top whitespace.
   Alignment is handled entirely by the sidebar margin-top above.
   --------------------------------------------------------- */
.pkp_page_index .pkp_structure_sidebar > .pkp_block:first-child {
  margin-top: 0 !important;
}

/* =========================================================
   27. MOBILE/TABLET SAFETY
   ========================================================= */
@media (max-width: 991px) {
  .pkp_site_nav_toggle {
    display: block;
  }

  .pkp_page_index .pkp_structure_sidebar {
    margin-top: 24px !important;
  }

  .pkp_structure_sidebar .pkp_block {
    padding: 13px !important;
  }
}
/* =========================================================
   28. V1.2.3 HEADER / JOURNAL TITLE / FULL-WIDTH NAV REPAIR
   ========================================================= */

/* ---------------------------------------------------------
   28.1 Clean white identity area
   Remove the earlier decorative gradient completely.
   --------------------------------------------------------- */
.pkp_structure_head,
.pkp_head_wrapper,
.pkp_site_name_wrapper {
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Manuscript constrains the head wrapper more tightly than the enlarged
   .pkp_structure_page. Open it to the full white page width. */
.pkp_head_wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   28.2 Desktop masthead
   Use the REAL OJS journal title already present in
   h1.pkp_screen_reader, rather than hard-coding duplicate text.
   --------------------------------------------------------- */
@media (min-width: 992px) {
  .pkp_site_name_wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 112px !important;

    margin: 0 !important;
    padding: 14px 34px !important;

    box-sizing: border-box !important;
    border-bottom: 1px solid #edf1ea !important;
  }

  /* Existing AIJANS logo */
  .pkp_site_name {
    order: 1 !important;
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: 72px !important;
    min-height: 76px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
  }

  .pkp_site_name .is_img,
  .pkp_site_name a.is_img {
    display: flex !important;
    align-items: center !important;
  }

  .pkp_site_name .is_img img,
  .pkp_site_name a.is_img img {
    width: auto !important;
    height: auto !important;
    max-width: 76px !important;
    max-height: 76px !important;
    object-fit: contain !important;
  }

  /*
   * OJS 3.2.1 already outputs the configured journal title inside
   * this screen-reader H1. Reveal only this exact heading visually.
   */
  .pkp_site_name_wrapper > h1.pkp_screen_reader {
    order: 2 !important;

    position: static !important;
    top: auto !important;
    left: auto !important;

    width: auto !important;
    max-width: 780px !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    white-space: normal !important;

    color: #0b3528 !important;
    background: transparent !important;

    font-family: Georgia, "Times New Roman", Times, serif !important;
    font-size: 27px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em !important;
    text-transform: none !important;
    text-align: left !important;
  }

  /* Keep account/user controls at the upper-right. */
  .pkp_navigation_user_wrapper {
    z-index: 20 !important;
    top: 16px !important;
    right: 28px !important;
  }
}

/* ---------------------------------------------------------
   28.3 Navigation bar must span the entire white page.
   Manuscript's internal header containers are explicitly reset.
   --------------------------------------------------------- */
@media (min-width: 992px) {
  .pkp_site_nav_menu {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .pkp_navigation_primary_row {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 34px !important;

    box-sizing: border-box !important;

    background:
      linear-gradient(
        90deg,
        #0b3528 0%,
        #1d6644 52%,
        #0b3528 100%
      ) !important;

    border-top: 0 !important;
    border-bottom: 1px solid rgba(7, 39, 27, .45) !important;
    box-shadow: 0 5px 14px rgba(12, 54, 35, .10) !important;
  }

  .pkp_navigation_primary_wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #navigationPrimary {
    max-width: calc(100% - 92px) !important;
  }

  #navigationPrimary > li > a {
    min-height: 52px !important;
  }

  /* Search remains at the right edge of the full-width green bar. */
  .pkp_search_desktop {
    right: 0 !important;
  }

  /* Defensive desktop removal of the responsive hamburger/toggle. */
  button.pkp_site_nav_toggle,
  .pkp_site_nav_toggle,
  .pkp_site_nav_toggle span {
    display: none !important;
    visibility: hidden !important;
  }
}

/* ---------------------------------------------------------
   28.4 Tablet: show title, but more compactly.
   --------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  .pkp_site_name_wrapper {
    background: #fff !important;
  }

  .pkp_site_name_wrapper > h1.pkp_screen_reader {
    position: static !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    white-space: normal !important;

    margin: 0 54px 8px 74px !important;

    color: #0b3528 !important;
    font-family: Georgia, "Times New Roman", Times, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-transform: none !important;
  }
}

/* ---------------------------------------------------------
   28.5 Small mobile: keep the existing compact mobile header.
   Do not expose the long journal title there.
   --------------------------------------------------------- */
@media (max-width: 767px) {
  .pkp_site_name_wrapper > h1.pkp_screen_reader {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .pkp_site_name_wrapper {
    background: #fff !important;
  }
}
/* =========================================================
   29. V1.2.4 FULL-BLEED HOMEPAGE HERO INSIDE WHITE PAGE
   Goal:
   - Homepage image touches the left/right edges of .pkp_structure_page.
   - It does NOT extend into the ivory outer background.
   - Current issue + sidebar retain their normal inner margins.
   ========================================================= */

@media (min-width: 992px) {

  /*
   * Manuscript 1.0.3 constrains .pkp_structure_content independently
   * from the enlarged page wrapper. On the homepage, open it to the
   * full white-page width and recreate the desired inner gutters.
   */
  .pkp_page_index .pkp_structure_content.has_sidebar {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 34px !important;
    padding-right: 34px !important;
    box-sizing: border-box !important;
  }

  /*
   * Main column starts 34px inside the white page.
   * The hero already expands across main + sidebar.
   * Move it 34px left and add 68px width so it reaches both page edges.
   */
  .pkp_page_index .homepage_image {
    width: calc(100% + 346px + 68px) !important;
    max-width: none !important;
    margin-left: -34px !important;
    margin-right: -34px !important;
    margin-top: -28px !important;
    margin-bottom: 28px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .pkp_page_index .homepage_image img {
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 0 15px 15px !important;
  }
}

/* Medium desktop uses the narrower sidebar width from v1.2.0. */
@media (min-width: 992px) and (max-width: 1180px) {
  .pkp_page_index .homepage_image {
    width: calc(100% + 300px + 68px) !important;
  }
}

/* At large desktop widths, keep the page-edge treatment exact. */
@media (min-width: 1181px) {
  .pkp_page_index .homepage_image {
    width: calc(100% + 346px + 68px) !important;
  }
}

/* Tablet/mobile: full width of the content area, no unsafe breakout. */
@media (max-width: 991px) {
  .pkp_page_index .homepage_image {
    width: auto !important;
    max-width: none !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    margin-top: -20px !important;
  }

  .pkp_page_index .homepage_image img {
    width: calc(100% + 36px) !important;
    max-width: none !important;
    border-radius: 0 !important;
  }
}
/* =========================================================
   30. V1.2.5 FINAL VISUAL PATCH
   - Square homepage hero corners
   - Strong gold left accent on policy/custom navigation buttons
   - Clear hover movement/feedback
   - Native OJS dynamic title styling where OJS renders .is_text
   ========================================================= */

/* ---------------------------------------------------------
   30.1 Homepage hero: no rounded corners
   --------------------------------------------------------- */
.pkp_page_index .homepage_image,
.pkp_page_index .homepage_image img {
  border-radius: 0 !important;
}

/* Keep the image completely flush with the white page edges */
@media (min-width: 992px) {
  .pkp_page_index .homepage_image {
    overflow: hidden !important;
  }

  .pkp_page_index .homepage_image img {
    border-radius: 0 !important;
  }
}

/* ---------------------------------------------------------
   30.2 Custom policy/navigation block
   Existing inline HTML is overridden intentionally.
   Gold strip strengthens hover affordance.
   --------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a {
  box-sizing: border-box !important;

  width: 100% !important;
  margin: 0 0 5px !important;
  padding: 9px 12px 9px 14px !important;

  background-color: #2f7a52 !important;
  background-image: linear-gradient(
    180deg,
    #327f57 0%,
    #286b49 100%
  ) !important;

  border: 1px solid #235f41 !important;
  border-left: 5px solid #d0a548 !important;
  border-radius: 6px !important;

  color: #ffffff !important;
  text-align: center !important;
  text-decoration: none !important;

  font-family: var(--aijans-sans) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;

  box-shadow:
    inset 0 0 0 0 rgba(224, 184, 94, 0),
    0 2px 5px rgba(17, 58, 37, .06) !important;

  transform: translateX(0);
  transition:
    transform .16s ease,
    background .16s ease,
    border-left-width .16s ease,
    border-left-color .16s ease,
    box-shadow .16s ease !important;
}

.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:hover,
.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:focus {
  background-color: #174d39 !important;
  background-image: linear-gradient(
    180deg,
    #205f42 0%,
    #174d39 100%
  ) !important;

  border-color: #174d39 !important;
  border-left-width: 9px !important;
  border-left-color: #e0b85e !important;

  color: #ffffff !important;

  transform: translateX(3px);

  box-shadow:
    inset 3px 0 0 rgba(255,255,255,.05),
    0 5px 12px rgba(17, 58, 37, .14) !important;
}

.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:focus {
  outline: 2px solid rgba(208, 165, 72, .48) !important;
  outline-offset: 2px !important;
}

/* Download Template: retain olive distinction, but use same gold interaction */
.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:last-child {
  margin-top: 4px !important;

  background-color: #71833f !important;
  background-image: linear-gradient(
    180deg,
    #7d9148 0%,
    #66783a 100%
  ) !important;

  border-color: #596b33 !important;
  border-left-color: #d0a548 !important;
}

.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:last-child:hover,
.pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:last-child:focus {
  background-color: #53642f !important;
  background-image: linear-gradient(
    180deg,
    #66783a 0%,
    #53642f 100%
  ) !important;

  border-color: #4b5b2a !important;
  border-left-color: #e0b85e !important;
}

/* ---------------------------------------------------------
   30.3 Dynamic OJS header-title styling
   This uses OJS-rendered text only; no journal name is hard-coded.
   If OJS renders Page Header Title as .is_text, it will appear
   consistently on every page.
   --------------------------------------------------------- */
.pkp_site_name .is_text,
.pkp_site_name a.is_text {
  display: inline-block !important;
  width: auto !important;
  max-width: 820px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #0b3528 !important;
  background: transparent !important;

  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
  white-space: normal !important;
}

/*
 * IMPORTANT OJS 3.2.1 limitation:
 * With Page Header Logo enabled, OJS does not render a journal-title
 * text node in the header on non-index pages. Therefore CSS cannot
 * dynamically reproduce the configured journal name there.
 * This stylesheet intentionally does NOT hard-code the journal title.
 */

/* ---------------------------------------------------------
   30.4 Reduced-motion accessibility for hover movement
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a,
  .pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:hover,
  .pkp_structure_sidebar .pkp_block .content > div[style*="flex-direction: column"] > a:focus {
    transform: none !important;
    transition: none !important;
  }
}
/* =========================================================
   31. V1.2.6 ARTICLE LANDING PAGE REPAIR
   OJS 3.2.1 / Manuscript 1.0.3
   Goals:
   - Move .entry_details to the upper-right beside author information.
   - Keep it as ONE metadata column; do not wrap it in another card.
   - Add vertical breathing room between Keywords and Abstract.
   - Preserve mobile/tablet stacking.
   ========================================================= */

/* ---------------------------------------------------------
   31.1 Desktop: use the native main_entry + entry_details
   as a two-column grid.
   --------------------------------------------------------- */
@media (min-width: 992px) {

  .page_article .obj_article_details > .row,
  .pkp_page_article .obj_article_details > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 230px !important;
    column-gap: 30px !important;
    align-items: start !important;

    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;

    border: 0 !important;
    box-sizing: border-box !important;
  }

  .page_article .obj_article_details .main_entry,
  .pkp_page_article .obj_article_details .main_entry {
    grid-column: 1 !important;
    grid-row: 1 !important;

    float: none !important;
    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    box-sizing: border-box !important;
  }

  .page_article .obj_article_details .entry_details,
  .pkp_page_article .obj_article_details .entry_details {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;

    float: none !important;
    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }
}

/* ---------------------------------------------------------
   31.2 Metadata column styling.
   No additional outer box; only the existing OJS items remain.
   --------------------------------------------------------- */
.page_article .obj_article_details .entry_details .item,
.pkp_page_article .obj_article_details .entry_details .item {
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;

  background: #fbfcf8 !important;
  border: 1px solid #dbe5d8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  overflow: visible !important;

  word-break: normal !important;
  overflow-wrap: anywhere;
}

.page_article .obj_article_details .entry_details .item:last-child,
.pkp_page_article .obj_article_details .entry_details .item:last-child {
  margin-bottom: 0 !important;
}

/* Metadata labels */
.page_article .obj_article_details .entry_details .item > .label,
.page_article .obj_article_details .entry_details .sub_item:first-child > .label,
.pkp_page_article .obj_article_details .entry_details .item > .label,
.pkp_page_article .obj_article_details .entry_details .sub_item:first-child > .label {
  display: block !important;

  margin: 0 !important;
  padding: 8px 11px !important;

  background: #edf3e9 !important;
  border: 0 !important;
  border-radius: 7px 7px 0 0 !important;

  color: #526157 !important;
  font-family: var(--aijans-sans) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}

/* Metadata values */
.page_article .obj_article_details .entry_details .item > .value,
.page_article .obj_article_details .entry_details .sub_item .value,
.pkp_page_article .obj_article_details .entry_details .item > .value,
.pkp_page_article .obj_article_details .entry_details .sub_item .value {
  display: block !important;
  padding: 10px 11px !important;

  color: #405247 !important;
  font-family: var(--aijans-sans) !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

/* Subsequent labels inside Issue/Section etc. */
.page_article .obj_article_details .entry_details .sub_item:not(:first-child) > .label,
.pkp_page_article .obj_article_details .entry_details .sub_item:not(:first-child) > .label {
  display: block !important;
  margin: 0 11px !important;
  padding: 8px 0 5px !important;

  color: #526157 !important;
  border: 0 !important;
  border-bottom: 2px solid #d0a548 !important;

  font-family: var(--aijans-sans) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

/* ---------------------------------------------------------
   31.3 PDF / galley at top of article metadata column.
   --------------------------------------------------------- */
.page_article .obj_article_details .entry_details .item.galleys,
.pkp_page_article .obj_article_details .entry_details .item.galleys {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: 14px !important;
}

.page_article .obj_article_details .entry_details .galleys_links,
.pkp_page_article .obj_article_details .entry_details .galleys_links {
  margin: 0 !important;
  padding: 0 !important;
}

.page_article .obj_article_details .entry_details .galleys_links > li,
.pkp_page_article .obj_article_details .entry_details .galleys_links > li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.page_article .obj_article_details .entry_details .obj_galley_link,
.pkp_page_article .obj_article_details .entry_details .obj_galley_link {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;

  width: 100% !important;
  min-height: 38px;
  padding: 9px 12px !important;

  background: linear-gradient(180deg, #2f7a52 0%, #256845 100%) !important;
  border: 1px solid #1f5a3d !important;
  border-left: 5px solid #d0a548 !important;
  border-radius: 7px !important;

  color: #fff !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  text-align: left !important;
}

/* ---------------------------------------------------------
   31.4 Citation stays usable in the narrow right column.
   --------------------------------------------------------- */
.page_article .obj_article_details .entry_details .citation_display .value,
.pkp_page_article .obj_article_details .entry_details .citation_display .value {
  font-size: 10.5px !important;
  line-height: 1.48 !important;
}

.page_article .obj_article_details .entry_details .citation_formats,
.pkp_page_article .obj_article_details .entry_details .citation_formats {
  margin-top: 9px !important;
}

.page_article .obj_article_details .entry_details .citation_formats_button,
.pkp_page_article .obj_article_details .entry_details .citation_formats_button {
  min-height: 34px !important;
  padding: 7px 28px 7px 9px !important;

  background: #ffffff !important;
  border: 1px solid #d2ddcf !important;
  color: #526157 !important;

  font-size: 10px !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   31.5 License/card content
   Manuscript normally removes the license box styling.
   Keep it aligned with the metadata column.
   --------------------------------------------------------- */
.page_article .obj_article_details .entry_details .item.copyright,
.pkp_page_article .obj_article_details .entry_details .item.copyright {
  background: #fbfcf8 !important;
  border: 1px solid #dbe5d8 !important;
  box-shadow: none !important;
}

.page_article .obj_article_details .entry_details .copyright img,
.pkp_page_article .obj_article_details .entry_details .copyright img {
  max-width: 82px !important;
  height: auto !important;
}

/* ---------------------------------------------------------
   31.6 Author area and DOI
   Give the upper-left article metadata a little more breathing room.
   --------------------------------------------------------- */
.page_article .obj_article_details .main_entry > .authors,
.pkp_page_article .obj_article_details .main_entry > .authors {
  padding-top: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

.page_article .obj_article_details .main_entry .authors li,
.pkp_page_article .obj_article_details .main_entry .authors li {
  margin-bottom: 13px !important;
}

.page_article .obj_article_details .main_entry .doi,
.pkp_page_article .obj_article_details .main_entry .doi {
  margin-top: 6px !important;
  margin-bottom: 20px !important;
}

/* ---------------------------------------------------------
   31.7 Keywords vs Abstract:
   explicit vertical gap requested.
   --------------------------------------------------------- */
.page_article .obj_article_details .main_entry .item.keywords,
.pkp_page_article .obj_article_details .main_entry .item.keywords {
  margin-top: 0 !important;
  margin-bottom: 30px !important;
}

.page_article .obj_article_details .main_entry .item.abstract,
.pkp_page_article .obj_article_details .main_entry .item.abstract {
  margin-top: 0 !important;
  padding-top: 20px !important;
}

/* Keep a visible separation even if theme margins collapse */
.page_article .obj_article_details .main_entry .item.keywords + .item.abstract,
.pkp_page_article .obj_article_details .main_entry .item.keywords + .item.abstract {
  border-top: 0 !important;
}

/* ---------------------------------------------------------
   31.8 References and long article content use full LEFT column.
   --------------------------------------------------------- */
.page_article .obj_article_details .main_entry .item.references,
.pkp_page_article .obj_article_details .main_entry .item.references {
  margin-top: 28px !important;
}

/* ---------------------------------------------------------
   31.9 Article title refinement
   --------------------------------------------------------- */
.page_article .obj_article_details > .page_title,
.pkp_page_article .obj_article_details > .page_title {
  max-width: 820px;
  margin-bottom: 8px !important;

  color: #0b3528 !important;
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 27px !important;
  line-height: 1.14 !important;
  letter-spacing: -.012em !important;
}

/* ---------------------------------------------------------
   31.10 Tablet/mobile: return to native vertical stacking.
   --------------------------------------------------------- */
@media (max-width: 991px) {
  .page_article .obj_article_details > .row,
  .pkp_page_article .obj_article_details > .row {
    display: block !important;
    width: auto !important;
    margin-top: 22px !important;
  }

  .page_article .obj_article_details .main_entry,
  .page_article .obj_article_details .entry_details,
  .pkp_page_article .obj_article_details .main_entry,
  .pkp_page_article .obj_article_details .entry_details {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page_article .obj_article_details .entry_details,
  .pkp_page_article .obj_article_details .entry_details {
    margin-top: 28px !important;
  }
}

/* ---------------------------------------------------------
   31.11 Reduced motion
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .page_article .obj_article_details *,
  .pkp_page_article .obj_article_details * {
    transition: none !important;
  }
}
/* =========================================================
   32. V1.2.7 LICENSE BLOCK SPACING REFINEMENT
   ========================================================= */

.page_article .obj_article_details .entry_details .item.copyright,
.pkp_page_article .obj_article_details .entry_details .item.copyright {
  overflow: hidden !important;
}

/* Add proper breathing room inside the license card */
.page_article .obj_article_details .entry_details .item.copyright > .value,
.page_article .obj_article_details .entry_details .item.copyright .value,
.pkp_page_article .obj_article_details .entry_details .item.copyright > .value,
.pkp_page_article .obj_article_details .entry_details .item.copyright .value {
  display: block !important;
  padding: 13px 14px 15px !important;

  color: #405247 !important;
  font-size: 11.5px !important;
  line-height: 1.65 !important;

  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* Space around Creative Commons image */
.page_article .obj_article_details .entry_details .item.copyright img,
.pkp_page_article .obj_article_details .entry_details .item.copyright img {
  display: block !important;
  max-width: 84px !important;
  height: auto !important;

  margin: 12px 0 10px !important;
}

/* Prevent license links from touching the card border */
.page_article .obj_article_details .entry_details .item.copyright a,
.pkp_page_article .obj_article_details .entry_details .item.copyright a {
  display: inline !important;
  color: #2f7a52 !important;
  line-height: 1.65 !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* Slightly reduce label-to-content crowding */
.page_article .obj_article_details .entry_details .item.copyright > .label,
.pkp_page_article .obj_article_details .entry_details .item.copyright > .label {
  margin-bottom: 0 !important;
}
/* =========================================================
   33. V1.2.8 LICENSE CARD HARD SPACING FIX
   OJS 3.2.1 Manuscript may place copyright text directly
   inside .item.copyright without a .value wrapper.
   Therefore padding is applied to the card parent itself.
   ========================================================= */

.page_article .obj_article_details .entry_details .item.copyright,
.pkp_page_article .obj_article_details .entry_details .item.copyright {
  box-sizing: border-box !important;

  padding: 0 14px 15px !important;

  background: #fbfcf8 !important;
  border: 1px solid #dbe5d8 !important;
  border-radius: 8px !important;

  color: #405247 !important;
  font-size: 11.5px !important;
  line-height: 1.65 !important;

  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Make the LICENSE heading still span the full card width */
.page_article .obj_article_details .entry_details .item.copyright > .label,
.pkp_page_article .obj_article_details .entry_details .item.copyright > .label {
  display: block !important;

  margin: 0 -14px 13px !important;
  padding: 8px 11px !important;

  background: #edf3e9 !important;
  border: 0 !important;
  border-radius: 7px 7px 0 0 !important;

  color: #526157 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}

/* Normalize any paragraphs/spans generated inside the copyright item */
.page_article .obj_article_details .entry_details .item.copyright p,
.page_article .obj_article_details .entry_details .item.copyright span,
.pkp_page_article .obj_article_details .entry_details .item.copyright p,
.pkp_page_article .obj_article_details .entry_details .item.copyright span {
  margin-left: 0 !important;
  margin-right: 0 !important;
  line-height: 1.65 !important;
}

/* Creative Commons badge */
.page_article .obj_article_details .entry_details .item.copyright img,
.pkp_page_article .obj_article_details .entry_details .item.copyright img {
  display: block !important;
  max-width: 84px !important;
  width: auto !important;
  height: auto !important;

  margin: 14px 0 10px !important;
}

/* License link */
.page_article .obj_article_details .entry_details .item.copyright a,
.pkp_page_article .obj_article_details .entry_details .item.copyright a {
  color: #2f7a52 !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
  text-underline-offset: 2px;
}

/* If a .value wrapper does exist on another article/page,
   avoid double-padding because the parent now supplies it. */
.page_article .obj_article_details .entry_details .item.copyright > .value,
.page_article .obj_article_details .entry_details .item.copyright .value,
.pkp_page_article .obj_article_details .entry_details .item.copyright > .value,
.pkp_page_article .obj_article_details .entry_details .item.copyright .value {
  padding: 0 !important;
}
