/* ================================================================
   OLYMPUS OPEN — olympus.css (clean rewrite)
   OJS 3.4.0.9 | olympustheme | loaded via addStyle()

   Per-journal color override via Journal Style Sheet upload:
   IJRBSM  #1b6b3a / #134d2a / #e8f5ee  (default below)
   IJRHSS  #0d5073 / #094060 / #e6f2f8
   IJRSMHS #0d5c5c / #094040 / #e6f4f4
   IJRAF   #4a6741 / #3a5233 / #edf2eb
   IJEERT  #1a3a6b / #122c54 / #e8eef7
   IJRSSET #4a1a6b / #3a1254 / #f0e8f7
   IJRPB   #0f5e5e / #0a4444 / #e6f4f4
   ================================================================ */

/* ── 1. VARIABLES ────────────────────────────────────────────── */
:root {
  --j:      #1b6b3a;
  --jd:     #134d2a;
  --jl:     #e8f5ee;
  --gold:   #c9a84c;
  --goldd:  #a8882e;
  --border: #e0e8e3;
  --bg:     #f4f6f5;
  --text:   #1a1a1a;
  --muted:  #555;
  --hint:   #888;
}

/* ── 2. GLOBAL ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: 'Noto Sans','Open Sans','Helvetica Neue',Arial,sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
  background: var(--bg);
  margin: 0;
}
a { color: var(--j); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }

/* ── 3. HIDE UNWANTED ELEMENTS ───────────────────────────────── */
/* Register/Login nav */
#navigationUserWrapper,
ul#navigationUser,
.pkp_navigation_user_wrapper { display: none !important; }
/* Screen reader h1 / text fallback site name */
h1.pkp_screen_reader,
.pkp_screen_reader { display: none !important; }
.pkp_site_name a.is_text { display: none !important; }
/* PKP brand footer */
.pkp_brand_footer { display: none !important; }
/* Empty browse submenu */
.block_browse .has_submenu { display: none !important; }

/* ── 4. HEADER ───────────────────────────────────────────────── */
.pkp_structure_head {
  background: var(--j) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.pkp_head_wrapper {
  background: var(--j) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 20px !important;
}
.pkp_site_name_wrapper {
  padding: 0 !important;
  min-height: 0 !important;
}
.pkp_site_name a.is_img img {
  max-height: 48px;
  width: auto;
}

/* ── 5. NAV BAR ──────────────────────────────────────────────── */
nav.pkp_site_nav_menu { background: var(--j) !important; }
.pkp_navigation_primary_row {
  background: var(--j) !important;
  padding: 0 !important;
  border: none !important;
}
.pkp_navigation_primary_wrapper {
  background: var(--j) !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}
ul#navigationPrimary {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 !important;
  flex-wrap: nowrap !important;
}
ul#navigationPrimary > li { margin: 0 !important; padding: 0 !important; position: relative; }
ul#navigationPrimary > li > a {
  color: rgba(255,255,255,0.78) !important;
  font-size: 13px !important;
  padding: 9px 14px !important;
  display: block !important;
  border-bottom: 2px solid transparent !important;
  white-space: nowrap;
  text-decoration: none !important;
}
ul#navigationPrimary > li > a:hover { color: #fff !important; border-bottom-color: rgba(255,255,255,0.5) !important; text-decoration: none !important; }
ul#navigationPrimary > li.current > a { color: #fff !important; border-bottom-color: #fff !important; font-weight: 500 !important; }
/* Dropdown */
ul#navigationPrimary ul {
  background: var(--jd) !important;
  border: none !important;
  border-radius: 0 0 8px 8px !important;
  min-width: 180px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important;
  z-index: 999 !important;
}
ul#navigationPrimary ul li a {
  color: rgba(255,255,255,0.82) !important;
  font-size: 12px !important;
  padding: 8px 14px !important;
  border-bottom: 0.5px solid rgba(255,255,255,0.07) !important;
}
/* Search */
.pkp_navigation_search_wrapper { flex-shrink: 0 !important; margin-left: auto !important; }
.pkp_search.pkp_search_desktop {
  color: rgba(255,255,255,0.78) !important;
  font-size: 13px !important;
  padding: 9px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  text-decoration: none !important;
}
.pkp_search.pkp_search_desktop:hover { color: #fff !important; }
.pkp_search svg { fill: currentColor !important; width: 14px; height: 14px; }
/* Mobile toggle */
.pkp_site_nav_toggle {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 4px !important;
  padding: 6px 8px !important;
  cursor: pointer !important;
}

/* ── 6. HERO (oo-* classes from header.tpl injection) ────────── */
.oo-hero {
  background: var(--jd);
  padding: 20px;
  border-bottom: 3px solid var(--gold);
}
.oo-hero-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: nowrap;
}
.oo-cover-placeholder {
  width: 56px;
  height: 56px;
  min-width: 56px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  text-align: center;
  line-height: 1.3;
}
.oo-hero-info { flex: 1; min-width: 0; }
.oo-hero-info h1 {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
}
.oo-abbr { color: rgba(255,255,255,0.65); font-size: 11px; margin-bottom: 7px; }
.oo-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.oo-badge {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.85);
  font-size: 10px;
  font-weight: 500;
  padding: 2px 9px;
  border-radius: 4px;
  border: 0.5px solid rgba(255,255,255,0.18);
  display: inline-block;
}
.oo-badge-strong {
  background: rgba(201,168,76,0.2) !important;
  color: var(--gold) !important;
  border-color: rgba(201,168,76,0.4) !important;
}
.oo-hero-submit { flex-shrink: 0; }
.oo-submit-btn {
  display: inline-block !important;
  background: var(--gold) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 9px 16px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  white-space: nowrap;
  border: none !important;
}
.oo-submit-btn:hover { background: var(--goldd) !important; text-decoration: none !important; }

/* ── 7. PAGE LAYOUT ──────────────────────────────────────────── */
/* Remove default theme pseudo-element vertical lines */
.pkp_structure_main::before,
.pkp_structure_main::after { display: none !important; content: none !important; }
/* Remove default theme fixed container widths */
.pkp_structure_content,
.pkp_structure_footer,
.pkp_site_name_wrapper,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Two-column layout */
.pkp_structure_content {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: var(--bg) !important;
  overflow: hidden !important;
}
.pkp_structure_main {
  flex: 1 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
}
.pkp_structure_sidebar {
  width: 258px !important;
  min-width: 258px !important;
  max-width: 258px !important;
  flex-shrink: 0 !important;
  padding: 16px 14px !important;
  background: #f4f6f5 !important;
  border-left: 0.5px solid var(--border) !important;
}

/* ── 8. BREADCRUMBS ──────────────────────────────────────────── */
.cmp_breadcrumbs,
nav.cmp_breadcrumbs {
  padding: 10px 24px !important;
  font-size: 12px !important;
  color: var(--hint) !important;
  border-bottom: 0.5px solid var(--border) !important;
  margin: 0 !important;
  background: #fff !important;
}
.cmp_breadcrumbs ol {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 4px !important;
}
.cmp_breadcrumbs li { display: inline !important; }
.cmp_breadcrumbs a { color: var(--j) !important; }

/* ── 9. HOMEPAGE — ABOUT ─────────────────────────────────────── */
.page_index_journal { background: #fff; padding: 0 !important; margin: 0 !important; }
.homepage_about {
  padding: 16px 24px !important;
  border-bottom: 0.5px solid var(--border) !important;
  margin: 0 !important;
}
.homepage_about h2 {
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--hint) !important;
  margin: 0 0 8px !important;
}
.homepage_about p {
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #2a2a2a !important;
  margin: 0 0 6px !important;
}

/* ── 10. HOMEPAGE — CURRENT ISSUE ────────────────────────────── */
.current_issue { padding: 16px 24px !important; margin: 0 !important; }
.current_issue h2 {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin: 0 0 8px !important;
}
.current_issue_title {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--hint) !important;
  margin: 0 0 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 0.5px solid var(--border) !important;
}

/* ── 11. ISSUE TOC ───────────────────────────────────────────── */
.obj_issue_toc { margin: 0 !important; padding: 0 !important; }
.obj_issue_toc .heading { padding: 6px 0 4px !important; margin: 0 !important; }
.obj_issue_toc .published { margin: 0 !important; padding: 0 !important; font-size: 13px !important; }
.obj_issue_toc .sections { margin: 0 !important; padding: 0 !important; }
.obj_issue_toc .section { margin: 0 !important; padding: 0 0 12px !important; }
.obj_issue_toc .section h3 {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--hint) !important;
  margin: 8px 0 6px !important;
  padding: 0 !important;
}

/* ── 12. ARTICLE LIST ────────────────────────────────────────── */
ul.cmp_article_list,
ul.cmp_article_list.articles {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
ul.cmp_article_list > li,
ul.cmp_article_list.articles > li { margin-bottom: 10px !important; }
ul.cmp_article_list.articles { margin-top: 8px !important; }

/* ── 13. ARTICLE SUMMARY CARDS ───────────────────────────────── */
.obj_article_summary {
  border: 0.5px solid var(--border) !important;
  border-left: 4px solid var(--j) !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 13px !important;
  background: #fff !important;
  margin-bottom: 0 !important;
}
.obj_article_summary h3.title,
.obj_article_summary h4.title,
.obj_article_summary .title {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 0 5px !important;
  color: var(--text) !important;
  text-transform: none !important;
}
.obj_article_summary h3.title a,
.obj_article_summary h4.title a,
.obj_article_summary .title a {
  color: var(--text) !important;
  text-decoration: none !important;
}
.obj_article_summary h3.title a:hover,
.obj_article_summary h4.title a:hover { color: var(--j) !important; }
.obj_article_summary .authors {
  font-size: 12px !important;
  color: var(--muted) !important;
  margin: 0 0 8px !important;
}
.obj_article_summary .abstract {
  font-size: 12px !important;
  color: #666 !important;
  line-height: 1.65 !important;
  margin: 0 0 8px !important;
}
.obj_article_summary .pages { font-size: 11px !important; color: var(--hint) !important; }
.obj_article_summary .doi,
.obj_article_summary .doi a { font-size: 11px !important; color: var(--hint) !important; }
.obj_article_summary .keywords a {
  display: inline-block !important;
  background: #f5f5f5 !important;
  color: var(--muted) !important;
  font-size: 10px !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  margin: 2px !important;
  border: 0.5px solid #e0e0e0 !important;
}

/* ── 14. GALLEY BUTTONS ──────────────────────────────────────── */
.galleys_links,
.obj_article_summary .galleys {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-top: 8px !important;
  align-items: center !important;
}
.obj_galley_link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  border: 0.5px solid var(--j) !important;
  color: var(--j) !important;
  background: transparent !important;
  text-decoration: none !important;
}
.obj_galley_link:hover { background: var(--jl) !important; text-decoration: none !important; }
.obj_galley_link.pdf { background: var(--j) !important; color: #fff !important; }
.obj_galley_link.pdf:hover { background: var(--jd) !important; }

/* ── 15. INNER PAGES ─────────────────────────────────────────── */
.pkp_structure_main .page { padding: 20px 24px !important; }
.pkp_structure_main .page_index_journal { padding: 0 !important; }
.pkp_structure_main .page h1 {
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin: 0 0 14px !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}
.pkp_structure_main .page h2 {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin: 16px 0 8px !important;
  text-transform: none !important;
}
.pkp_structure_main .page h3 {
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 12px 0 6px !important;
  text-transform: none !important;
}
.pkp_structure_main .page p,
.pkp_structure_main .page li {
  font-size: 13px !important;
  line-height: 1.75 !important;
  color: #2a2a2a !important;
}
.pkp_structure_main .page ul,
.pkp_structure_main .page ol { padding-left: 20px !important; margin: 8px 0 !important; }

/* ── 16. ISSUE ARCHIVE PAGE ──────────────────────────────────── */
.obj_issue_summary {
  border: 0.5px solid var(--border) !important;
  border-left: 4px solid var(--j) !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 13px !important;
  background: #fff !important;
  margin-bottom: 10px !important;
}
.obj_issue_summary .title a {
  color: var(--text) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}
.obj_issue_summary .title a:hover { color: var(--j) !important; }

/* ── 17. ARTICLE DETAIL PAGE ─────────────────────────────────── */
.pkp_page_article .pkp_structure_main { background: #fff !important; }
.obj_article_details .page_title,
.obj_article_details h1 {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
}
.obj_article_details .abstract {
  font-size: 13px !important;
  line-height: 1.8 !important;
  background: #f9fafb !important;
  border-left: 3px solid var(--j) !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 14px !important;
  margin: 14px 0 !important;
}
.obj_article_details .keywords a {
  display: inline-block !important;
  background: var(--jl) !important;
  color: var(--jd) !important;
  font-size: 11px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  margin: 2px !important;
  text-decoration: none !important;
}

/* ── 18. HOW TO CITE (Citation Style Language plugin) ────────── */
#citationStyleLanguage,
.obj_citation_style_language_plugin {
  background: #f5f7f5 !important;
  border: 0.5px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 14px !important;
  margin: 16px 0 !important;
}

/* ── 19. SIDEBAR BLOCKS ──────────────────────────────────────── */
.pkp_structure_sidebar .pkp_block {
  background: #fff !important;
  border: 0.5px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 12px !important;
  margin-bottom: 12px !important;
}
.pkp_structure_sidebar .pkp_block:last-child { margin-bottom: 0 !important; }
.pkp_structure_sidebar .pkp_block h2,
.pkp_structure_sidebar .pkp_block h2.title {
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--hint) !important;
  margin: 0 0 8px !important;
  padding-bottom: 6px !important;
  border-bottom: 0.5px solid var(--border) !important;
}
.pkp_structure_sidebar .pkp_block a {
  color: var(--j) !important;
  font-size: 12px !important;
  display: block !important;
  padding: 3px 0 !important;
  text-decoration: none !important;
}
.pkp_structure_sidebar .pkp_block a:hover { color: var(--jd) !important; text-decoration: underline !important; }
.pkp_structure_sidebar .pkp_block ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.pkp_structure_sidebar .pkp_block ul li {
  padding: 3px 0 !important;
  border-bottom: 0.5px solid #f2f5f3 !important;
}
.pkp_structure_sidebar .pkp_block ul li:last-child { border-bottom: none !important; }

/* ── 20. SUBMIT BLOCK ────────────────────────────────────────── */
#customblock-submitviaolympus {
  background: var(--j) !important;
  border-color: var(--j) !important;
  text-align: center !important;
}
#customblock-submitviaolympus h2.title { display: none !important; }
#customblock-submitviaolympus .content { padding: 0 !important; }
.olympus_submit_block .submit_heading {
  color: rgba(255,255,255,0.9);
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 3px;
}
.olympus_submit_block .submit_sub {
  color: rgba(255,255,255,0.6);
  font-size: 10px;
  margin-bottom: 10px;
}
.olympus_submit_block a {
  display: block !important;
  background: var(--gold) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 8px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-bottom: 5px !important;
}
.olympus_submit_block a:hover { background: var(--goldd) !important; }
.olympus_submit_block .submit_note {
  color: rgba(255,255,255,0.4);
  font-size: 10px;
}

/* ── 21. WEB FEED BLOCK ──────────────────────────────────────── */
.block_web_feed ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
}
.block_web_feed li { padding: 0 !important; border: none !important; }
.block_web_feed li a {
  display: inline-block !important;
  border: 0.5px solid var(--j) !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  font-size: 10px !important;
  color: var(--j) !important;
  background: transparent !important;
  text-decoration: none !important;
}
.block_web_feed li a:hover { background: var(--jl) !important; }
.block_web_feed li a img { display: none !important; }
.block_web_feed li:nth-child(1) a::after { content: 'Atom'; }
.block_web_feed li:nth-child(2) a::after { content: 'RSS 2.0'; }
.block_web_feed li:nth-child(3) a::after { content: 'RSS 1.0'; }

/* ── 22. PAGINATION ──────────────────────────────────────────── */
.cmp_pagination {
  padding: 16px 24px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
}
.cmp_pagination a,
.cmp_pagination .page {
  font-size: 12px !important;
  padding: 5px 10px !important;
  border: 0.5px solid var(--border) !important;
  border-radius: 4px !important;
  color: var(--j) !important;
  text-decoration: none !important;
}
.cmp_pagination a:hover { background: var(--jl) !important; }
.cmp_pagination .current_page { background: var(--j) !important; color: #fff !important; border-color: var(--j) !important; }

/* ── 23. FOOTER ──────────────────────────────────────────────── */
.pkp_structure_footer_wrapper,
footer.pkp_structure_footer_wrapper {
  background: var(--jd) !important;
  padding: 0 !important;
  border-top: none !important;
  margin-top: 0 !important;
}
.pkp_structure_footer { background: var(--jd) !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
.pkp_footer_content {
  background: var(--jd) !important;
  padding: 16px 20px !important;
  color: #6aab85 !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
}
.pkp_footer_content a { color: #6aab85 !important; text-decoration: none !important; }
.pkp_footer_content a:hover { color: #9fcfb4 !important; }
.pkp_footer_content strong { color: var(--gold) !important; }

/* ── 24. RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .pkp_structure_content { flex-direction: column !important; }
  .pkp_structure_sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-left: none !important;
    border-top: 0.5px solid var(--border) !important;
  }
  .pkp_head_wrapper { padding: 0 12px !important; }
  .oo-hero { padding: 16px !important; }
  .oo-hero-inner { flex-direction: column !important; }
  ul#navigationPrimary { flex-wrap: wrap !important; }
}

/* ── Fix: breadcrumbs inside .page get double padding ────────── */
.pkp_structure_main .page nav.cmp_breadcrumbs,
.pkp_structure_main .page .cmp_breadcrumbs {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: -24px !important;
  margin-right: -24px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  margin-bottom: 14px !important;
}

/* ── Fix: issues_archive ul browser default padding ─────────── */
ul.issues_archive {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
ul.issues_archive > li { margin-bottom: 10px !important; }

/* ── Fix: issue page obj_issue_toc padding ───────────────────── */
.page_issue .obj_issue_toc { padding: 0 !important; }
.page_issue h1 { margin-bottom: 8px !important; }

/* ── Align breadcrumbs flush with heading ────────────────────── */
.pkp_structure_main .page nav.cmp_breadcrumbs,
.pkp_structure_main .page .cmp_breadcrumbs {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* ── Reduce page left padding ────────────────────────────────── */
.pkp_structure_main .page {
  padding: 16px 20px !important;
}

/* ── Fix: page ol rule bleeding into breadcrumb ol ───────────── */
.pkp_structure_main .page nav.cmp_breadcrumbs ol,
.pkp_structure_main .page .cmp_breadcrumbs ol {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* ── Industry standard max-width container ───────────────────── */
.pkp_head_wrapper { max-width: 1200px !important; margin: 0 auto !important; padding: 0 20px !important; }
.oo-hero-inner { max-width: 1200px !important; margin: 0 auto !important; }
.pkp_structure_content { max-width: 1200px !important; margin: 0 auto !important; }
.pkp_structure_footer { max-width: 1200px !important; margin: 0 auto !important; }
.pkp_footer_content { max-width: 1200px !important; margin: 0 auto !important; }

/* ── Consistent 20px left alignment across all sections ─────── */
.oo-hero { padding: 20px 0 !important; }
.oo-hero-inner { padding: 0 20px !important; }
.homepage_about { padding: 16px 20px !important; }
.current_issue { padding: 16px 20px !important; }
.pkp_structure_main .page { padding: 16px 20px !important; }
.cmp_breadcrumbs,
nav.cmp_breadcrumbs { padding: 10px 20px !important; }
.pkp_structure_main .page nav.cmp_breadcrumbs ol,
.pkp_structure_main .page .cmp_breadcrumbs ol { padding-left: 0 !important; }
.pkp_structure_sidebar { padding: 16px 20px 16px 16px !important; }
.pkp_footer_content { padding: 16px 20px !important; }
/* Text justification override */
.homepage_about p,
.pkp_structure_main .page p { text-align: left !important; }

/* ── Articles section label alignment ───────────────────────── */
.obj_issue_toc .section { padding: 0 !important; }
.obj_issue_toc .section h3 { padding: 8px 0 6px !important; border-top: 0.5px solid var(--border) !important; margin: 0 !important; }
ul.cmp_article_list.articles { margin-top: 8px !important; }

/* ── Remove ARTICLES border-top causing bleeding ────────────── */
.obj_issue_toc .section h3 {
  border-top: none !important;
  border-bottom: none !important;
  padding-top: 12px !important;
  margin-left: 0 !important;
  width: 100% !important;
}

/* ── Fix: default theme negative margins on .section ────────── */
.obj_issue_toc .section,
.obj_issue_toc .galleys {
  position: static !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}
.obj_issue_toc .section::before,
.obj_issue_toc .galleys::before {
  display: none !important;
  content: none !important;
}
.obj_issue_toc .section > h3,
.obj_issue_toc .section > h2 {
  display: block !important;
  position: static !important;
  left: 0 !important;
  padding: 8px 0 6px !important;
  margin: 0 !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--hint) !important;
  border-bottom: 0.5px solid var(--border) !important;
}

/* ── Remove cover image placeholder from hero ────────────────── */
.oo-cover-placeholder,
.oo-hero-cover { display: none !important; }

/* ── Collapse site name wrapper so nav aligns with hero ──────── */
.pkp_site_nav_toggle { display: none !important; }
.pkp_site_name_wrapper {
  width: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* NOTE: when logo image is uploaded, remove these two rules */

/* ── Align first nav item with hero title ────────────────────── */
ul#navigationPrimary > li:first-child > a {
  padding-left: 0 !important;
}

/* ── Fine-tune first nav item alignment ──────────────────────── */
ul#navigationPrimary > li:first-child > a {
  padding-left: 6px !important;
}

/* ── Hide issue-level published date (redundant with article date) */
.obj_issue_toc .published { display: none !important; }

/* ── Remove gap above ARTICLES heading ───────────────────────── */
.obj_issue_toc .sections { margin-top: 0 !important; }
.obj_issue_toc .section:first-child { margin-top: 0 !important; }
.obj_issue_toc .section > h3 { margin-top: 0 !important; padding-top: 4px !important; }

/* ── Hide heading div (contains hidden published date) ───────── */
.obj_issue_toc .heading { display: none !important; }

/* ── Remove remaining gap between volume title and ARTICLES ──── */
.current_issue_title { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.obj_issue_toc { margin-top: 0 !important; padding-top: 0 !important; }
.obj_issue_toc .sections { margin-top: 0 !important; padding-top: 0 !important; }

/* ── Page Footer content styling ─────────────────────────────── */
.pkp_footer_content p {
  margin: 0 0 6px !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
  color: #7aaa90 !important;
}
.pkp_footer_content p:first-child {
  font-size: 13px !important;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 0.5px solid rgba(255,255,255,0.1) !important;
}
.pkp_footer_content p strong { color: var(--gold) !important; font-size: 13px !important; }
.pkp_footer_content a { color: #9fcfb4 !important; text-decoration: none !important; }
.pkp_footer_content a:hover { color: #fff !important; }
.pkp_footer_content p:last-child { 
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 0.5px solid rgba(255,255,255,0.1) !important;
  font-size: 11px !important;
  color: #5a8a6a !important;
}

/* ── Footer content visibility improvements ──────────────────── */
.pkp_footer_content { padding: 20px 20px !important; }
.pkp_footer_content p {
  font-size: 12px !important;
  line-height: 2 !important;
  color: #9fcfb4 !important;
  margin: 0 0 8px !important;
}
.pkp_footer_content p:first-child {
  font-size: 13px !important;
  color: #b8d9c8 !important;
  padding-bottom: 10px !important;
  border-bottom: 0.5px solid rgba(255,255,255,0.12) !important;
  margin-bottom: 10px !important;
}
.pkp_footer_content p:last-child {
  font-size: 11px !important;
  color: #6aaa85 !important;
  padding-top: 8px !important;
  border-top: 0.5px solid rgba(255,255,255,0.08) !important;
  margin-top: 4px !important;
  line-height: 1.8 !important;
}
.pkp_footer_content strong { color: #c9a84c !important; font-size: inherit !important; }
.pkp_footer_content a { color: #9fcfb4 !important; text-decoration: none !important; font-weight: 500 !important; }
.pkp_footer_content a:hover { color: #ffffff !important; text-decoration: underline !important; }

/* ── Footer layout improvements ──────────────────────────────── */
.pkp_structure_footer_wrapper { padding: 0 !important; }
.pkp_structure_footer { padding: 0 !important; }
.pkp_footer_content {
  padding: 24px 20px !important;
  border-top: 2px solid var(--gold) !important;
}
.pkp_footer_content p { max-width: 100% !important; }
.pkp_footer_content p:last-child { word-break: normal !important; }
