/*
 * ZCPojs 0.5 — cache-stable scholarly interface layer.
 * Loaded as a uniquely named CSS asset so OJS/browser caches cannot leave a
 * newly-upgraded PHP plugin paired with an older stylesheet.
 */
:root {
  --zcp-accent: #0b6b5b;
  --zcp-accent-text: #fff;
  --zcp-ink: #14202b;
  --zcp-muted: #62707d;
  --zcp-line: #e4e9ed;
  --zcp-soft: #f5f8f8;
  --zcp-card: #fff;
  --zcp-radius: 12px;
  --zcp-shadow: 0 14px 40px rgba(20,32,45,.07);
  --zcp-max: 1240px;
}

/* -------------------------------------------------------------------------
   Canvas and width corrections — do not depend on JavaScript
   ------------------------------------------------------------------------- */
@media (min-width: 992px) {
  .pkp_site_name_wrapper,
  .pkp_navigation_primary_wrapper,
  .pkp_navigation_user,
  .pkp_structure_content,
  .pkp_structure_footer {
    width: min(calc(100% - 48px), var(--zcp-max)) !important;
    max-width: var(--zcp-max) !important;
  }
  .pkp_structure_main:first-child:last-child {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pkp_structure_main:first-child:last-child::before,
  .pkp_structure_main:first-child:last-child::after {
    display: none !important;
  }
}

.pkp_structure_main {
  overflow: hidden;
  border: 1px solid var(--zcp-line);
  border-radius: var(--zcp-radius);
  box-shadow: var(--zcp-shadow);
}

/* -------------------------------------------------------------------------
   Header / navigation
   ------------------------------------------------------------------------- */
.pkp_structure_head {
  box-shadow: 0 1px 0 rgba(15,23,42,.12);
}
.pkp_site_name .is_text,
.pkp_site_name a {
  font-weight: 800;
  letter-spacing: -.025em;
}
.pkp_navigation_primary > li > a {
  letter-spacing: .035em;
}

/* -------------------------------------------------------------------------
   Homepage discovery surface
   ------------------------------------------------------------------------- */
.page_index_journal {
  padding: 34px 38px 46px;
}
.zcp_journal_identity {
  display: grid !important;
  grid-template-columns: minmax(0,1.35fr) minmax(230px,.65fr);
  gap: 20px 30px;
  margin: 0 0 34px;
  padding: 28px 30px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--zcp-accent) 10%, #fff), #fff 66%);
  border: 1px solid color-mix(in srgb, var(--zcp-accent) 20%, #e4e9ed);
  border-radius: var(--zcp-radius);
}
.zcp_identity_intro { min-width: 0; }
.zcp_eyebrow {
  display: inline-block;
  margin: 0 0 8px;
  color: var(--zcp-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.zcp_identity_intro h1,
.zcp_identity_intro h2 {
  margin: 0 0 10px;
  color: var(--zcp-ink);
  font-size: clamp(22px,2.2vw,34px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.zcp_identity_intro p {
  max-width: 760px;
  margin: 0;
  color: #34424f;
  font-size: 15px;
  line-height: 1.7;
}
.zcp_identity_facts {
  align-self: start;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 8px 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--zcp-line);
  border-radius: calc(var(--zcp-radius) - 3px);
}
.zcp_identity_facts > div {
  display: grid;
  grid-template-columns: 80px minmax(0,1fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--zcp-line);
}
.zcp_identity_facts > div:last-child { border-bottom: 0; }
.zcp_identity_facts dt,
.zcp_identity_facts dd { margin: 0; overflow-wrap: anywhere; }
.zcp_identity_facts dt {
  color: var(--zcp-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.zcp_identity_facts dd { color: var(--zcp-ink); font-size: 13px; font-weight: 700; }
.zcp_home_actions {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--zcp-accent) 17%, #e4e9ed);
}
.zcp_home_actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 12px;
  color: var(--zcp-ink);
  background: #fff;
  border: 1px solid var(--zcp-line);
  border-radius: calc(var(--zcp-radius) - 4px);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.zcp_home_actions a:first-child {
  color: var(--zcp-accent-text);
  background: var(--zcp-accent);
  border-color: var(--zcp-accent);
}
.zcp_home_actions a:hover,
.zcp_home_actions a:focus { border-color: var(--zcp-accent); transform: translateY(-1px); }

.page_index_journal .homepage_about.zcp-is-empty { display: none !important; }
.page_index_journal .homepage_about {
  max-width: none !important;
  padding: 22px 26px !important;
  background: #fff !important;
}

.page_index_journal .current_issue > h2 {
  margin: 0 0 16px;
  font-size: clamp(23px,2vw,30px);
  letter-spacing: -.03em;
}
.page_index_journal .current_issue_title {
  margin-bottom: 18px;
}

.obj_issue_toc .heading {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 22px;
  align-items: start;
  min-height: 0 !important;
  padding: 20px !important;
}
.obj_issue_toc .heading .cover {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.obj_issue_toc .heading .cover img { width: 100%; max-width: 150px; }

/* Article discovery cards in issue/home lists */
.cmp_article_list > li {
  margin: 0 0 14px;
  padding: 0;
  border: 0 !important;
}
.obj_article_summary {
  padding: 22px 24px !important;
  background: #fff;
  border: 1px solid var(--zcp-line);
  border-radius: calc(var(--zcp-radius) - 2px);
  box-shadow: 0 5px 20px rgba(20,32,45,.035);
}
.obj_article_summary .title {
  margin-bottom: 7px;
  font-size: 16px;
  line-height: 1.45;
}
.obj_article_summary .authors { color: var(--zcp-muted); font-size: 13px; }
.obj_article_summary .galleys_links { margin-top: 12px; }
.zcp_issue_article_utilities { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--zcp-line); }
.zcp_issue_affiliations {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 7px;
  margin-bottom: 10px;
  color: var(--zcp-muted);
  font-size: 12px;
}
.zcp_issue_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}
.zcp_issue_meta span {
  display: inline-flex;
  gap: 4px;
  align-items: baseline;
  padding: 5px 8px;
  color: #44515d;
  background: var(--zcp-soft);
  border: 1px solid var(--zcp-line);
  border-radius: 999px;
  font-size: 11px;
}
.zcp_issue_meta strong { color: var(--zcp-ink); font-weight: 800; }
.zcp_issue_meta a { overflow-wrap: anywhere; }
.zcp_issue_actions { display: flex; flex-wrap: wrap; gap: 8px; }
.zcp_abstract_toggle,
.zcp_article_detail_link {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 11px;
  border-radius: 999px;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.zcp_abstract_toggle { color: var(--zcp-accent); background: color-mix(in srgb,var(--zcp-accent) 8%,#fff); border: 1px solid color-mix(in srgb,var(--zcp-accent) 28%,#fff); }
.zcp_article_detail_link { color: var(--zcp-ink); background: #fff; border: 1px solid var(--zcp-line); }
.zcp_abstract_toggle:hover,.zcp_abstract_toggle:focus,.zcp_article_detail_link:hover,.zcp_article_detail_link:focus { color: var(--zcp-accent-text); background: var(--zcp-accent); border-color: var(--zcp-accent); }
.zcp_inline_abstract {
  margin-top: 12px;
  padding: 16px 18px;
  color: #34424f;
  background: #fbfcfd;
  border: 1px solid var(--zcp-line);
  border-left: 3px solid var(--zcp-accent);
  border-radius: 0 calc(var(--zcp-radius) - 2px) calc(var(--zcp-radius) - 2px) 0;
  font-size: 13px;
  line-height: 1.7;
}
.zcp_inline_abstract[hidden] { display: none !important; }
.zcp_inline_abstract h4 { margin: 0 0 8px; }

/* -------------------------------------------------------------------------
   Article landing page
   ------------------------------------------------------------------------- */
.page_article { padding: 26px 32px 42px; }
.obj_article_details .page_title {
  max-width: 1000px;
  margin: 10px 0 8px !important;
  color: var(--zcp-ink);
  font-size: clamp(28px,3.2vw,46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
}
.obj_article_details > .row {
  margin-top: 24px !important;
}
@media (min-width: 768px) {
  .obj_article_details > .row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 320px !important;
    align-items: start;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 1px solid var(--zcp-line);
    border-radius: calc(var(--zcp-radius) - 2px);
    overflow: visible;
  }
  .obj_article_details .main_entry,
  .obj_article_details .entry_details {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }
  .obj_article_details .main_entry {
    border: 0 !important;
    border-right: 1px solid var(--zcp-line) !important;
    background: #fff;
  }
  .obj_article_details .entry_details {
    padding: 16px !important;
    border: 0 !important;
    background: #f8fafb;
  }
}
@media (min-width: 1180px) {
  .obj_article_details > .row { grid-template-columns: minmax(0,1fr) 350px !important; }
}
.obj_article_details .main_entry > .item { padding: 24px 28px !important; margin: 0 !important; border-bottom: 1px solid var(--zcp-line); }
.obj_article_details .main_entry > .item:last-child { border-bottom: 0; }
.obj_article_details .main_entry > .item.authors > ul.authors {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 10px;
}
.obj_article_details .main_entry > .item.authors > ul.authors > li {
  margin: 0;
  padding: 14px 16px;
  background: #f8fafb;
  border: 1px solid var(--zcp-line);
  border-radius: calc(var(--zcp-radius) - 3px);
}
.obj_article_details .authors .name { color: var(--zcp-ink); font-size: 14px; font-weight: 800; }
.obj_article_details .authors .affiliation,
.obj_article_details .authors .userGroup,
.obj_article_details .authors .orcid { font-size: 12px; line-height: 1.55; }
.obj_article_details .item.doi {
  background: color-mix(in srgb,var(--zcp-accent) 6%,#fff);
  border-left: 3px solid var(--zcp-accent);
}
.obj_article_details .item.keywords .value { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.obj_article_details .main_entry .abstract { max-width: none !important; font-size: 15px; line-height: 1.82; }
.obj_article_details .main_entry .abstract .label { font-size: 22px !important; text-transform: none !important; letter-spacing: -.025em !important; }
.obj_article_details .references .value { font-size: 13px; line-height: 1.68; }
.obj_article_details .references .value p { padding: 0 0 12px 24px; text-indent: -24px; border-bottom: 1px dashed #edf0f2; }
.obj_article_details .entry_details > .item,
.obj_article_details .entry_details > section.item,
.obj_article_details .entry_details > div.item {
  margin: 0 0 10px !important;
  padding: 14px 15px !important;
  background: #fff !important;
  border: 1px solid var(--zcp-line) !important;
  border-radius: calc(var(--zcp-radius) - 3px) !important;
}
.obj_article_details .entry_details > .item.cover_image { padding: 10px !important; }
.obj_article_details .entry_details .cover_image img { display: block; width: 100%; height: auto; border-radius: calc(var(--zcp-radius) - 5px); }
.obj_article_details .entry_details > .item.galleys { background: color-mix(in srgb,var(--zcp-accent) 7%,#fff) !important; border-color: color-mix(in srgb,var(--zcp-accent) 22%,#fff) !important; }
.obj_article_details .entry_details > .item.galleys .obj_galley_link { color: var(--zcp-accent-text) !important; background: var(--zcp-accent) !important; border-color: var(--zcp-accent) !important; }
.obj_article_details .entry_details .label { color: var(--zcp-muted) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .075em !important; text-transform: uppercase !important; }
.obj_article_details .entry_details .value { margin-top: 5px; color: var(--zcp-ink); font-size: 12px; line-height: 1.55; }
.obj_article_details .entry_details > .item.zcp_reader_metrics { background: linear-gradient(145deg,color-mix(in srgb,var(--zcp-accent) 8%,#fff),#fff 72%) !important; }
.zcp_metric_grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.zcp_metric { padding: 11px; background: #fff; border: 1px solid var(--zcp-line); border-radius: 8px; }
.zcp_metric_value { display: block; color: var(--zcp-ink); font-size: 22px; font-weight: 850; line-height: 1; letter-spacing: -.04em; }
.zcp_metric_label { display: block; margin-top: 5px; color: var(--zcp-muted); font-size: 10px; font-weight: 700; line-height: 1.3; }
.zcp_metric_breakdown { margin: 10px 0 0; padding: 8px 0 0; border-top: 1px solid var(--zcp-line); }
.zcp_metric_breakdown > div { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; }
.zcp_metric_breakdown dt,.zcp_metric_breakdown dd { margin: 0; font-size: 10px; }
.zcp_metric_breakdown dd { font-weight: 800; }
.zcp_metric_note { margin: 9px 0 0; color: var(--zcp-muted); font-size: 10px; line-height: 1.45; }
.zcp_on_this_page ul { display: grid; gap: 2px; margin: 8px 0 0; padding: 0; list-style: none; }
.zcp_on_this_page a { display: block; padding: 5px 7px; color: #44515d; border-radius: 6px; font-size: 11px; font-weight: 700; text-decoration: none; }
.zcp_on_this_page a:hover,.zcp_on_this_page a:focus { color: var(--zcp-accent); background: color-mix(in srgb,var(--zcp-accent) 7%,#fff); }
.zcp_reference_count { display: inline-flex; margin-left: 7px; padding: 3px 7px; color: var(--zcp-muted); background: var(--zcp-soft); border: 1px solid var(--zcp-line); border-radius: 999px; font-size: 10px; text-transform: none; letter-spacing: 0; }
.zcp-copy-doi,.zcp-copy-link,.zcp-print-article {
  appearance: none;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-left: 6px;
  padding: 5px 9px;
  color: var(--zcp-accent-text);
  background: var(--zcp-accent);
  border: 1px solid var(--zcp-accent);
  border-radius: 999px;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.zcp_article_tools { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.zcp_article_tools .zcp-copy-link,.zcp_article_tools .zcp-print-article { margin-left: 0; color: var(--zcp-ink); background: #fff; border-color: var(--zcp-line); }

/* -------------------------------------------------------------------------
   Footer and responsive
   ------------------------------------------------------------------------- */
.pkp_structure_footer_wrapper { background: #14202b !important; }
.pkp_brand_footer img { filter: grayscale(1) invert(1); opacity: .72; }

@media (max-width: 900px) {
  .zcp_journal_identity { grid-template-columns: 1fr; }
  .zcp_home_actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .obj_issue_toc .heading { grid-template-columns: 120px minmax(0,1fr); }
}
@media (max-width: 767px) {
  .page_index_journal,.page_article { padding: 20px 18px 30px; }
  .zcp_journal_identity { padding: 20px; }
  .obj_article_details > .row { display: block !important; border: 0; }
  .obj_article_details .main_entry > .item { padding: 20px 0 !important; }
  .obj_article_details .entry_details { margin-top: 12px !important; }
  .obj_issue_toc .heading { display: block; }
  .obj_issue_toc .heading .cover { margin-bottom: 14px !important; }
}
@media (max-width: 520px) {
  .zcp_home_actions { grid-template-columns: 1fr; }
  .zcp_identity_facts > div { grid-template-columns: 1fr; gap: 3px; }
  .zcp_issue_actions > * { width: 100%; }
}
@media print {
  .zcp_article_tools,.zcp_on_this_page,.zcp_reader_metrics { display:none !important; }
}

/* -------------------------------------------------------------------------
   ZCPojs 0.7 — deterministic OJS grid repair + scholarly article rail
   ------------------------------------------------------------------------- */
/* OJS Default Theme clearfix pseudo-elements become real grid items when a
   float-based container is converted to CSS Grid. Remove them explicitly. */
.obj_article_details > .row::before,
.obj_article_details > .row::after,
.obj_issue_toc .heading::before,
.obj_issue_toc .heading::after {
  content: none !important;
  display: none !important;
}

/* Issue masthead: cover is compact and factual issue metadata uses the second
   column instead of leaving a large empty promotional canvas. */
.obj_issue_toc .heading {
  grid-template-columns: 170px minmax(0,1fr) !important;
  column-gap: 24px !important;
  row-gap: 10px !important;
}
.obj_issue_toc .heading > .cover {
  grid-column: 1 !important;
  grid-row: 1 / span 8 !important;
  align-self: start !important;
  justify-self: start !important;
}
.obj_issue_toc .heading > .description,
.obj_issue_toc .heading > .pub_id,
.obj_issue_toc .heading > .published {
  grid-column: 2 !important;
  min-width: 0;
}
.obj_issue_toc .heading .cover img {
  width: 100% !important;
  max-width: 170px !important;
  height: auto !important;
}

/* Article grid: exactly two children, exactly two columns. */
@media (min-width: 768px) {
  .obj_article_details > .row {
    grid-template-columns: minmax(0,1fr) 330px !important;
  }
  .obj_article_details > .row > .main_entry {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .obj_article_details > .row > .entry_details {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (min-width: 1180px) {
  .obj_article_details > .row {
    grid-template-columns: minmax(0,1fr) 350px !important;
  }
}

.obj_article_details .main_entry > .item {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
}
.obj_article_details .main_entry .abstract,
.obj_article_details .references {
  width: 100% !important;
  max-width: none !important;
}
.obj_article_details .main_entry .abstract > p,
.obj_article_details .main_entry .abstract > div,
.obj_article_details .references > .value {
  max-width: 78ch;
}

/* Right rail is information, not a second article column. */
@media (min-width: 768px) {
  .obj_article_details .entry_details {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    align-self: stretch;
  }
  .obj_article_details .entry_details > * {
    flex: 0 0 auto;
  }
  .obj_article_details .entry_details > .item,
  .obj_article_details .entry_details > section.item,
  .obj_article_details .entry_details > div.item {
    margin: 0 !important;
    order: 70;
  }
  .obj_article_details .entry_details > .zcp_article_tools { order: 5; }
  .obj_article_details .entry_details > .item.galleys { order: 10; }
  .obj_article_details .entry_details > .item.zcp_reader_metrics { order: 20; }
  .obj_article_details .entry_details > .item.zcp_on_this_page { order: 30; }
  .obj_article_details .entry_details > .item.zcp_article_workflow { order: 35; }
  .obj_article_details .entry_details > .item.published { order: 40; }
  .obj_article_details .entry_details > .item.dataAvailability { order: 45; }
  .obj_article_details .entry_details > .item.issue { order: 50; }
  .obj_article_details .entry_details > .item.copyright { order: 60; }
  .obj_article_details .entry_details > .item.cover_image { order: 90; }
}
.obj_article_details .entry_details > .item.cover_image {
  background: transparent !important;
  border-color: transparent !important;
  padding: 12px 0 !important;
}
.obj_article_details .entry_details .cover_image .sub_item {
  display: flex;
  justify-content: center;
}
.obj_article_details .entry_details .cover_image img {
  width: auto !important;
  max-width: 180px !important;
  max-height: 255px;
  object-fit: contain;
  box-shadow: 0 10px 28px rgba(20,32,45,.12);
}
.obj_article_details .entry_details > .item.zcp_article_workflow {
  background: #fff !important;
}

/* Rich issue utilities are now fed explicit article/publication objects by the
   theme's article_summary template override. */
.zcp_issue_article_utilities {
  display: block !important;
}

@media (max-width: 767px) {
  .obj_issue_toc .heading {
    display: block !important;
  }
  .obj_issue_toc .heading > .cover {
    margin-bottom: 16px !important;
  }
  .obj_article_details .entry_details {
    display: block !important;
  }
}

/* -------------------------------------------------------------------------
   ZCPojs 0.7 — scholarly-rich issue cards and refined article navigation
   ------------------------------------------------------------------------- */
.obj_article_summary.zcp_article_card {
  display: block;
  padding: 18px !important;
  border: 1px solid var(--zcp-line);
  border-radius: calc(var(--zcp-radius) - 2px);
  background: #fff;
  box-shadow: 0 6px 18px rgba(20,32,45,.035);
}
.obj_article_summary.zcp_article_card.zcp_has_cover {
  display: grid;
  grid-template-columns: 138px minmax(0,1fr);
  gap: 18px;
  align-items: start;
}
.obj_article_summary.zcp_article_card .zcp_article_card_cover {
  width: 138px;
  margin: 0 !important;
}
.obj_article_summary.zcp_article_card .zcp_article_card_cover a {
  display: block;
}
.obj_article_summary.zcp_article_card .zcp_article_card_cover img {
  display: block;
  width: 138px !important;
  height: 176px !important;
  object-fit: cover;
  object-position: center top;
  border: 1px solid var(--zcp-line);
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(20,32,45,.08);
}
.obj_article_summary.zcp_article_card .zcp_article_card_body { min-width: 0; }
.obj_article_summary.zcp_article_card .title {
  margin: 0 0 8px !important;
  font-size: 17px !important;
  line-height: 1.4 !important;
}
.obj_article_summary.zcp_article_card .authors {
  margin-bottom: 6px;
  color: var(--zcp-muted);
  font-size: 13px;
  line-height: 1.5;
}
.obj_article_summary.zcp_article_card .zcp_issue_affiliations:empty { display: none; }
.obj_article_summary.zcp_article_card .zcp_issue_affiliations {
  margin: 0 0 11px;
  color: #64717c;
  font-size: 11px;
  line-height: 1.45;
}
.obj_article_summary.zcp_article_card .zcp_issue_meta {
  margin: 0 0 12px;
}
.obj_article_summary.zcp_article_card .zcp_issue_meta span {
  max-width: 100%;
}
.obj_article_summary.zcp_article_card .zcp_meta_doi a {
  max-width: 420px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.obj_article_summary.zcp_article_card .zcp_article_card_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.obj_article_summary.zcp_article_card .zcp_article_card_actions .galleys_links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 !important;
  padding: 0 !important;
}
.obj_article_summary.zcp_article_card .zcp_article_card_actions .galleys_links li {
  margin: 0 !important;
}
.obj_article_summary.zcp_article_card .zcp_abstract_toggle,
.obj_article_summary.zcp_article_card .zcp_article_detail_link {
  min-height: 34px;
  padding: 6px 11px;
}
.obj_article_summary.zcp_article_card .zcp_inline_abstract {
  grid-column: 1 / -1;
  margin-top: 14px;
}

/* A scholarly page outline should point to content, not administrative facts. */
.zcp_on_this_page a[href*="published"],
.zcp_on_this_page a[href*="issue"],
.zcp_on_this_page a[href*="license"],
.zcp_on_this_page a[href*="submitted"] { display: none; }

/* Article cover/graphical image is supporting material, never the visual focus. */
.obj_article_details .entry_details > .item.cover_image {
  max-width: 190px;
  margin-left: auto !important;
  margin-right: auto !important;
  background: transparent !important;
  border-color: transparent !important;
}
.obj_article_details .entry_details .cover_image img {
  max-height: 245px;
  object-fit: contain;
}

/* Improve article rail scanning. */
.obj_article_details .entry_details > .item.published,
.obj_article_details .entry_details > .item.issue,
.obj_article_details .entry_details > .item.license,
.obj_article_details .entry_details > .item.zcp_article_workflow {
  box-shadow: 0 2px 8px rgba(20,32,45,.025);
}

@media (max-width: 760px) {
  .obj_article_summary.zcp_article_card.zcp_has_cover {
    grid-template-columns: 92px minmax(0,1fr);
    gap: 13px;
  }
  .obj_article_summary.zcp_article_card .zcp_article_card_cover,
  .obj_article_summary.zcp_article_card .zcp_article_card_cover img {
    width: 92px !important;
  }
  .obj_article_summary.zcp_article_card .zcp_article_card_cover img {
    height: 120px !important;
  }
  .obj_article_summary.zcp_article_card .zcp_meta_doi a {
    max-width: 220px;
  }
}
@media (max-width: 520px) {
  .obj_article_summary.zcp_article_card.zcp_has_cover { display: block; }
  .obj_article_summary.zcp_article_card .zcp_article_card_cover {
    width: 100%;
    margin-bottom: 14px !important;
  }
  .obj_article_summary.zcp_article_card .zcp_article_card_cover img {
    width: 100% !important;
    max-width: 170px;
    height: 150px !important;
    object-fit: cover;
  }
}
.zcp_fact_list { margin: 8px 0 0; }
.zcp_fact_list > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-top: 1px solid #eef1f3; }
.zcp_fact_list > div:first-child { border-top: 0; }
.zcp_fact_list dt,.zcp_fact_list dd { margin: 0; font-size: 11px; }
.zcp_fact_list dt { color: var(--zcp-muted); }
.zcp_fact_list dd { color: var(--zcp-ink); font-weight: 750; text-align: right; }

/* -------------------------------------------------------------------------
   ZCPojs 0.7.1 — issue-card grid hotfix
   OJS Default Theme applies a clearfix to .obj_article_summary. Once the
   summary becomes CSS Grid, those pseudo-elements become anonymous grid
   items and push the real card body into a narrow implicit column. Remove
   them and neutralise legacy float behaviour on the cover.
   ------------------------------------------------------------------------- */
.obj_article_summary.zcp_article_card::before,
.obj_article_summary.zcp_article_card::after {
  content: none !important;
  display: none !important;
}

.obj_article_summary.zcp_article_card .zcp_article_card_cover {
  float: none !important;
  max-height: none !important;
}

.obj_article_summary.zcp_article_card.zcp_has_cover {
  grid-template-columns: 138px minmax(0, 1fr) !important;
  grid-auto-columns: 0 !important;
}

.obj_article_summary.zcp_article_card > .zcp_article_card_body {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.obj_article_summary.zcp_article_card:not(.zcp_has_cover) > .zcp_article_card_body {
  grid-column: 1 !important;
}

.obj_article_summary.zcp_article_card .zcp_article_card_body > .title,
.obj_article_summary.zcp_article_card .zcp_article_card_body > .authors,
.obj_article_summary.zcp_article_card .zcp_article_card_body > .zcp_issue_affiliations,
.obj_article_summary.zcp_article_card .zcp_article_card_body > .zcp_issue_meta,
.obj_article_summary.zcp_article_card .zcp_article_card_body > .zcp_article_card_actions,
.obj_article_summary.zcp_article_card .zcp_article_card_body > .zcp_inline_abstract {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
}

@media (max-width: 760px) {
  .obj_article_summary.zcp_article_card.zcp_has_cover {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }
}

@media (max-width: 520px) {
  .obj_article_summary.zcp_article_card.zcp_has_cover {
    display: block !important;
  }
  .obj_article_summary.zcp_article_card > .zcp_article_card_body {
    width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
   ZCPojs 0.8 — scholarly citation metrics extension points
   -------------------------------------------------------------------------- */
.zcp_metric_grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}
.zcp_metric.zcp_metric_citations .zcp_metric_source{display:block;margin-top:2px;font-size:10px;color:#6b7280}
.zcp_issue_meta .zcp_meta_citations{display:inline-flex;align-items:center;gap:4px}
.zcp_issue_meta .zcp_meta_citations small{color:#6b7280;font-size:10px}

/* --------------------------------------------------------------------------
   ZCPojs 0.8.1 — Visual Article Experience
   Decorative public-facing icons use CSS/glyphs only. Labels remain the
   accessible source of meaning; no external icon font or CDN is required.
   -------------------------------------------------------------------------- */

/* Unified icon chip language for public article labels. */
.page_article .obj_article_details .label::before,
.page_article .zcpojs_metadata > .label::before,
.page_article .zcp_on_this_page > .label::before,
.page_article .zcp_reader_metrics > .label::before,
.page_article .zcp_article_workflow > .label::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 7px;
  border-radius: 7px;
  color: var(--zcp-accent);
  background: color-mix(in srgb,var(--zcp-accent) 10%,#fff);
  border: 1px solid color-mix(in srgb,var(--zcp-accent) 20%,#fff);
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  vertical-align: middle;
  text-transform: none;
  letter-spacing: 0;
}

/* Main scholarly content. */
.page_article .obj_article_details .item.keywords > .label::before { content: "#"; }
.page_article .obj_article_details .item.abstract > .label::before { content: "≡"; }
.page_article .obj_article_details .item.references > .label::before { content: "R"; }
.page_article .obj_article_details .item.author_bios > .label::before { content: "A"; }
.page_article .obj_article_details .item.doi > .label::before { content: "↗"; }
.page_article .obj_article_details .downloads_chart > .label::before { content: "▥"; }

/* Right-rail native OJS information. */
.page_article .obj_article_details .entry_details > .item.published .label::before { content: "✓"; }
.page_article .obj_article_details .entry_details > .item.dataAvailability .label::before { content: "D"; }
.page_article .obj_article_details .entry_details > .item.issue .sub_item:first-child > .label::before { content: "J"; }
.page_article .obj_article_details .entry_details > .item.issue .sub_item:nth-child(2) > .label::before { content: "§"; }
.page_article .obj_article_details .entry_details > .item.issue .sub_item:nth-child(3) > .label::before { content: "C"; }
.page_article .obj_article_details .entry_details > .item.copyright > .label::before { content: "©"; }
.page_article .obj_article_details .entry_details > .item.pubid > .label::before { content: "ID"; font-size: 9px; }
.page_article .obj_article_details .entry_details > .item.citation .label:first-child::before { content: "“"; font-size: 17px; }
.page_article .zcp_article_workflow > .label::before { content: "i"; }
.page_article .zcp_reader_metrics > .label::before { content: "▥"; }
.page_article .zcp_on_this_page > .label::before { content: "☰"; }

/* ZCPojs Scholarly Metadata companion plugin blocks. */
.page_article .zcpojs_article_history > .label::before { content: "▦"; }
.page_article .zcpojs_corresponding_author > .label::before { content: "@"; }
.page_article .zcpojs_integrity > .label::before { content: "◆"; }
.page_article .zcpojs_funding > .label::before { content: "$"; }
.page_article .zcpojs_research_objects > .label::before { content: "≋"; }

/* Make rail headings icon-led but preserve the compact scholarly hierarchy. */
.page_article .obj_article_details .entry_details .label,
.page_article .zcpojs_metadata > .label,
.page_article .zcp_reader_metrics > .label,
.page_article .zcp_on_this_page > .label,
.page_article .zcp_article_workflow > .label {
  display: flex;
  align-items: center;
  gap: 0;
  color: var(--zcp-ink) !important;
  font-size: 10px !important;
}

/* Main entry headings get slightly larger icon chips. */
.page_article .obj_article_details .main_entry > .item.abstract > .label::before,
.page_article .obj_article_details .main_entry > .item.references > .label::before,
.page_article .obj_article_details .main_entry > .item.author_bios > .label::before {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  margin-right: 9px;
  font-size: 13px;
}
.page_article .obj_article_details .main_entry > .item.abstract > .label,
.page_article .obj_article_details .main_entry > .item.references > .label,
.page_article .obj_article_details .main_entry > .item.author_bios > .label {
  display: flex;
  align-items: center;
}

/* Author cards receive a subtle identity marker without changing markup. */
.page_article .obj_article_details .main_entry > .item.authors > ul.authors > li {
  position: relative;
  padding-left: 42px !important;
}
.page_article .obj_article_details .main_entry > .item.authors > ul.authors > li::before {
  content: "A";
  position: absolute;
  left: 12px;
  top: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  color: var(--zcp-accent);
  background: color-mix(in srgb,var(--zcp-accent) 10%,#fff);
  border: 1px solid color-mix(in srgb,var(--zcp-accent) 22%,#fff);
  font-size: 10px;
  font-weight: 850;
}

/* Reader metrics: icon + number + label. */
.page_article .zcp_metric {
  position: relative;
  padding-top: 34px;
  overflow: hidden;
}
.page_article .zcp_metric .zcp_metric_icon {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  color: var(--zcp-accent);
  background: color-mix(in srgb,var(--zcp-accent) 10%,#fff);
  font-size: 11px;
  font-weight: 850;
}
.page_article .zcp_metric.zcp_metric_citations::before {
  content: "↗";
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  color: var(--zcp-accent);
  background: color-mix(in srgb,var(--zcp-accent) 10%,#fff);
  font-size: 11px;
  font-weight: 850;
}

/* Public metadata statements get small field-level markers. */
.page_article .zcpojs_integrity .zcpojs_statement { position: relative; padding-left: 20px; }
.page_article .zcpojs_integrity .zcpojs_statement::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--zcp-accent);
  font-size: 11px;
  font-weight: 900;
}
.page_article .zcpojs_metadata_list > div { position: relative; padding-left: 18px; }
.page_article .zcpojs_metadata_list > div::before {
  content: "•";
  position: absolute;
  left: 2px;
  top: 3px;
  color: var(--zcp-accent);
  font-weight: 900;
}

/* Article rail cards feel intentionally related to the visual editor system. */
.page_article .obj_article_details .entry_details > .zcpojs_metadata,
.page_article .obj_article_details .entry_details > .item.citation,
.page_article .obj_article_details .entry_details > .item.copyright,
.page_article .obj_article_details .entry_details > .item.issue,
.page_article .obj_article_details .entry_details > .item.published,
.page_article .obj_article_details .entry_details > .item.dataAvailability,
.page_article .obj_article_details .entry_details > .item.zcp_article_workflow,
.page_article .obj_article_details .entry_details > .item.zcp_reader_metrics,
.page_article .obj_article_details .entry_details > .item.zcp_on_this_page {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
@media (hover:hover) {
  .page_article .obj_article_details .entry_details > .zcpojs_metadata:hover,
  .page_article .obj_article_details .entry_details > .item.citation:hover,
  .page_article .obj_article_details .entry_details > .item.copyright:hover,
  .page_article .obj_article_details .entry_details > .item.issue:hover,
  .page_article .obj_article_details .entry_details > .item.published:hover,
  .page_article .obj_article_details .entry_details > .item.dataAvailability:hover {
    border-color: color-mix(in srgb,var(--zcp-accent) 28%,#dbe2e8) !important;
    box-shadow: 0 5px 16px rgba(20,32,45,.055);
    transform: translateY(-1px);
  }
}

/* Issue cards also gain small visual cues for quick scanning. */
.obj_article_summary.zcp_article_card .zcp_issue_meta span::before {
  display: inline-block;
  margin-right: 4px;
  color: var(--zcp-accent);
  font-weight: 850;
}
.obj_article_summary.zcp_article_card .zcp_meta_doi::before { content: "↗"; }
.obj_article_summary.zcp_article_card .zcp_meta_citations::before { content: "↗"; }
.obj_article_summary.zcp_article_card .zcp_article_detail_link::before { content: "→"; margin-right: 5px; }
.obj_article_summary.zcp_article_card .zcp_abstract_toggle::before { content: "≡"; margin-right: 5px; font-weight: 850; }

@media (max-width: 760px) {
  .page_article .obj_article_details .main_entry > .item.authors > ul.authors > li {
    padding-left: 38px !important;
  }
}

@media print {
  .page_article .obj_article_details .label::before,
  .page_article .zcpojs_metadata > .label::before,
  .page_article .zcp_metric .zcp_metric_icon,
  .page_article .zcp_metric.zcp_metric_citations::before,
  .page_article .obj_article_details .main_entry > .item.authors > ul.authors > li::before {
    display: none !important;
  }
}
