/**
 * JSE — PRISM / Modern Purple, Teal & Pink
 * Target: OJS 3.4.0.11, Default Theme markup and compatible child themes.
 * Revision: 2026-10-28 / 2.3 (PRISM / soft sidebar hover)
 * Adapted from supplied WHOOSH / DEMETER / SANA stylesheet.
 * Original credits: PKP; John Willinsky; themeOJS.com / IDPublishing.
 * Replace the old journal stylesheet; do not append this to all legacy layers.
 * Frontend CSS only. DOI output requires the included Smarty integration
 * note when the active article_summary.tpl does not output DOI metadata.
 * No imports, remote fonts, JavaScript, or fabricated metadata.
 * Custom HTML: jse-* preferred; existing demeter/sana/whoosh blocks supported.
 * Audited: jse.rezkimedia.org/jse — homepage, article/467, archive, about.
 * Matched against the live generated theme CSS and journal stylesheet.
 * The active theme still owns menu visibility, dropdown JS and PDF viewer layout.
 */

/* 01 — Design tokens. Change these to restyle all native and custom blocks. */
:root {
  --primary-color: #4a00e0;
  --secondary-color: #00bac6;
  --accent-color: #ff007f;
  --bg-light: #fdfbf7;
  --text-dark: #2d3748;
  --text-muted: #718096;
  /* Contrast-safe derivative for small secondary text on a light surface. */
  --jse-menu-hover-bg: #f3f0f8;
  --jse-menu-hover-text: #493b64;
  --jse-menu-hover-border: #ded6ea;
  --jse-menu-hover-accent: #9b86bc;
  --jse-muted-readable: #526174;
  --jse-teal-readable: #006c73;
  --jse-pink-readable: #b80059;
  --jse-primary: var(--primary-color);
  --jse-primary-hover: #3500a6;
  --jse-ink: var(--text-dark);
  --jse-muted: var(--text-muted);
  --jse-sky: #f0eaff;
  --jse-cloud: var(--bg-light);
  --jse-paper: #ffffff;
  --jse-line: #e2ddeb;
  --jse-lilac: #f4edff;
  --jse-accent: var(--secondary-color);
  --jse-radius: 14px;
  --jse-radius-sm: 10px;
  --jse-shadow: 0 8px 26px rgba(74, 0, 224, .07);
  --jse-font: "Segoe UI", "Noto Sans", Arial, sans-serif;
  --jse-width: 1240px;
  --demeter-primary: var(--jse-primary);
  --demeter-dark: var(--jse-ink);
  --demeter-accent: var(--jse-primary);
  --demeter-soft: var(--jse-sky);
  --demeter-soft-2: var(--jse-cloud);
  --demeter-text: var(--jse-ink);
  --demeter-muted: var(--jse-muted);
  --demeter-border: var(--jse-line);
  --demeter-white: var(--jse-paper);
}

/* 02 — Scope to public OJS structure, leaving dashboard/UI widgets alone. */
.pkp_structure_page {
  box-sizing: border-box;
  width: 100%; max-width: none; margin: 0;
  color: var(--jse-ink); font-family: var(--jse-font);
  font-size: 15px; line-height: 1.75;
  background: radial-gradient(ellipse at 0 0, #f0eaff 0, transparent 45%),
              radial-gradient(ellipse at 100% 12%, #e7f9f8 0, transparent 38%), var(--bg-light);
}
.pkp_structure_page *, .pkp_structure_page *::before,
.pkp_structure_page *::after { box-sizing: border-box; }
.pkp_structure_page a { color: var(--jse-primary); text-underline-offset: 3px; }
.pkp_structure_page a:hover { color: var(--jse-primary-hover); }
.pkp_structure_page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--jse-primary); outline-offset: 4px;
}
.pkp_structure_page img { max-width: 100%; height: auto; }
.pkp_structure_page :is(h1,h2,h3,h4) { color: var(--jse-ink); line-height: 1.35; }
.pkp_structure_page h1 { font-size: clamp(1.65rem, 3vw, 2.2rem); }
.pkp_structure_page h2 { font-size: 1.4rem; }
.pkp_structure_page h3 { font-size: 1.15rem; }
.pkp_structure_page :is(p,li,dd,a) { overflow-wrap: break-word; }


/* 03 — Header: airy identity band. Ordinary logos retain natural proportions.
 * To use a wide uploaded masthead, add .jse-banner to its custom HTML wrapper;
 * native OJS logos remain fluid without being enlarged beyond natural size. */
.pkp_structure_head {
  background: linear-gradient(115deg, #f1eaff, var(--bg-light) 58%, #e9f9f7);
  border-bottom: 1px solid var(--jse-line);
}
.pkp_head_wrapper { max-width: var(--jse-width); margin-inline: auto; }
.pkp_site_name_wrapper { background: transparent; }
.pkp_site_name { margin: 0; padding-block: 20px; }
.pkp_site_name a { color: var(--jse-ink); text-decoration: none; }
.pkp_site_name .is_img { display: block; line-height: 0; }
.pkp_site_name .is_img img { width: auto; max-width: 100%; height: auto; max-height: 200px; }
.jse-banner img { display: block; width: 100%; height: auto; max-height: none; }
.pkp_navigation_primary_wrapper { background: #fff; border-top: 1px solid var(--jse-line); }
.pkp_navigation_primary > li > a {
  color: var(--jse-ink); font-weight: 650; border-color: transparent;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus { color: var(--jse-primary); border-color: var(--jse-primary); background: var(--jse-sky); }
.pkp_navigation_primary ul {
  background: #fff; border: 1px solid var(--jse-line);
  border-radius: var(--jse-radius-sm); box-shadow: var(--jse-shadow);
}
.pkp_navigation_primary ul a { color: var(--jse-ink); }
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus { background: var(--jse-sky); color: var(--jse-primary); }
.pkp_navigation_user > li > a { color: var(--jse-primary); }
.pkp_site_nav_toggle { color: var(--jse-primary); }
.pkp_navigation_search_wrapper a { color: var(--jse-primary); }

/* 04 — Native layout: preserve Default Theme's sidebar/no-sidebar widths. */
.pkp_structure_content { max-width: var(--jse-width); margin-inline: auto; }
.pkp_structure_main { background: #fff; min-width: 0; }
.pkp_structure_main::before, .pkp_structure_main::after { border-color: var(--jse-line); }
.pkp_structure_main .page { color: var(--jse-ink); }
.pkp_structure_main .page > h1 { margin-bottom: 24px; }
.pkp_structure_main .page > h1::after {
  content: ""; display: block; width: 64px; height: 4px; margin-top: 14px;
  border-radius: 99px; background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
}
.pkp_structure_main .cmp_breadcrumbs { color: var(--jse-muted); font-size: .85rem; }
.pkp_structure_main :is(.description,.additional_content,.abstract,.references) { overflow-wrap: anywhere; }
.pkp_structure_main :is(.description,.additional_content) img { height: auto; }
.pkp_structure_main table { max-width: 100%; border-collapse: collapse; }
.pkp_structure_main :is(th,td) { padding: 10px 12px; border-bottom: 1px solid var(--jse-line); }
.pkp_structure_main th { color: var(--jse-ink); background: var(--jse-sky); text-align: start; }
.jse-table-scroll { max-width: 100%; overflow-x: auto; }

/* 05 — Sidebar blocks. No hover-only access or overwritten plugin list logic. */
.pkp_structure_sidebar .pkp_block {
  margin-bottom: 20px; padding: 20px;
  background: linear-gradient(150deg,#fff, var(--bg-light));
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius);
  box-shadow: var(--jse-shadow); color: var(--jse-ink);
}
.pkp_structure_sidebar .pkp_block > .title:not(.pkp_screen_reader) {
  display: block; margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 2px solid #d5efee; color: var(--jse-ink);
  font-size: .95rem; font-weight: 750; letter-spacing: .02em;
}
.pkp_structure_sidebar .pkp_block .content { font-size: .9rem; line-height: 1.7; }
.pkp_structure_sidebar .pkp_block .content a { overflow-wrap: anywhere; }
.pkp_structure_sidebar .block_make_submission a {
  display: block; padding: 12px 16px; border: 1px solid var(--jse-primary);
  border-radius: var(--jse-radius-sm); color: #fff;
  background: var(--jse-primary); font-weight: 700; text-align: center; text-decoration: none;
}
.pkp_structure_sidebar .block_make_submission a:hover { background: var(--jse-primary-hover); }

/* 06 — Homepage, announcements, issues and archives. */
.pkp_page_index .homepage_image img { display: block; border-radius: var(--jse-radius); }
.pkp_page_index :is(.homepage_about,.additional_content) { margin-block: 24px; }
.pkp_structure_main .cmp_announcements { border-color: var(--jse-line); }
.pkp_structure_main .obj_announcement_summary {
  padding: 20px; margin-bottom: 16px; background: var(--jse-cloud);
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius-sm);
}
.pkp_structure_main .obj_announcement_summary h3 a { color: var(--jse-primary); }
.pkp_structure_main .obj_issue_toc .heading { margin-bottom: 24px; }
.pkp_structure_main .obj_issue_toc .cover img,
.pkp_structure_main .obj_issue_summary .cover img { border-radius: 10px; box-shadow: var(--jse-shadow); }
.pkp_structure_main .obj_issue_toc .sections,
.pkp_structure_main .obj_issue_toc .articles { margin: 0; padding: 0; list-style: none; }
.pkp_structure_main .obj_issue_toc .section { margin-bottom: 26px; padding: 0; border: 0; }
.pkp_structure_main .obj_issue_toc .section > h2,
.pkp_structure_main .obj_issue_toc .section > h3 {
  margin: 0 0 16px; padding: 12px 16px; background: var(--jse-sky);
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius-sm); color: var(--jse-ink);
}
.pkp_structure_main .obj_issue_toc .articles > li { margin: 0 0 16px; padding: 0; border: 0; }
.pkp_structure_main .obj_article_summary {
  position: relative; margin: 0 0 18px; padding: 22px;
  background: linear-gradient(125deg, #fff 70%, #f6f0ff);
  border: 1px solid var(--jse-line); border-inline-start: 4px solid var(--secondary-color);
  border-radius: var(--jse-radius); box-shadow: 0 4px 16px rgba(74,0,224,.05);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.pkp_structure_main .obj_article_summary:hover { border-color: #b8a0ee; box-shadow: var(--jse-shadow); }
.pkp_structure_main .obj_article_summary .title { margin: 0 0 10px; font-size: 1.07rem; line-height: 1.5; }
.pkp_structure_main .obj_article_summary .title a { color: var(--jse-ink); text-decoration: none; }
.pkp_structure_main .obj_article_summary .title a:hover { color: var(--jse-primary); text-decoration: underline; }
.pkp_structure_main .obj_article_summary .meta { color: var(--jse-muted); font-size: .88rem; }
.pkp_structure_main .obj_article_summary .authors { color: var(--jse-muted); line-height: 1.65; }
.pkp_structure_main .obj_article_summary .pages { color: var(--jse-muted); }
.pkp_structure_main .obj_article_summary .galleys_links { margin-top: 14px; }
.pkp_structure_main .obj_article_summary .galleys_links li { margin: 0 6px 6px 0; }
.pkp_structure_main .issues_archive { list-style: none; padding-inline-start: 0; }
.pkp_structure_main .obj_issue_summary { padding: 20px; margin-bottom: 18px; border: 1px solid var(--jse-line); border-radius: var(--jse-radius); background: var(--jse-cloud); }

/* 07 — Article landing page. Keep OJS row/main/entry columns and usage charts.
 * Keywords are typically comma-delimited text: do not pretend each is a chip.
 * Never style every galley-area link as a download (purchase/login may occur). */
.pkp_structure_main .obj_article_details { color: var(--jse-ink); }
.pkp_structure_main .obj_article_details > .page_title {
  margin: 0 0 16px; padding: 26px;
  background: linear-gradient(120deg, #f1ebff, var(--bg-light) 65%, #e9f9f7);
  border: 1px solid var(--jse-line); border-top: 4px solid var(--secondary-color);
  border-radius: var(--jse-radius); font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.4;
}
.pkp_structure_main .obj_article_details .subtitle { color: var(--jse-muted); line-height: 1.5; }
.pkp_structure_main .obj_article_details .row { border-color: var(--jse-line); }
.pkp_structure_main .obj_article_details .main_entry,
.pkp_structure_main .obj_article_details .entry_details { min-width: 0; border-color: var(--jse-line); }
.pkp_structure_main .obj_article_details .item.authors {
  margin-block: 0 22px; padding: 18px; list-style: none;
  background: var(--jse-cloud); border: 1px solid var(--jse-line); border-radius: var(--jse-radius-sm);
}
.pkp_structure_main .obj_article_details .authors > li { margin-bottom: 12px; }
.pkp_structure_main .obj_article_details .authors > li:last-child { margin-bottom: 0; }
.pkp_structure_main .obj_article_details .authors .name { color: var(--jse-ink); font-weight: 700; }
.pkp_structure_main .obj_article_details .authors :is(.affiliation,.orcid) { color: var(--jse-muted); font-size: .9rem; }
.pkp_structure_main .obj_article_details .item { min-width: 0; overflow-wrap: anywhere; }
.pkp_structure_main .obj_article_details .item > :is(h2,h3,.label) { color: var(--jse-ink); font-weight: 700; }
.pkp_structure_main .obj_article_details .item.doi,
.pkp_structure_main .obj_article_details .item.keywords {
  margin-block: 0 18px; padding: 14px 16px; background: var(--jse-sky);
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius-sm);
}
.pkp_structure_main .obj_article_details .item.keywords .value { display: block; color: var(--jse-ink); line-height: 1.8; }
.pkp_structure_main .obj_article_details :is(.item.abstract,.item.references,.item.author_bios) {
  padding: 20px; margin-block: 20px; background: #fff;
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius);
}
.pkp_structure_main .obj_article_details :is(.abstract,.references) > :is(h2,h3) {
  margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid #d7eeec;
}
.pkp_structure_main .obj_article_details .abstract p { font-size: 1rem; line-height: 1.85; text-align: start; }
.pkp_structure_main .obj_article_details .references { font-size: .9rem; line-height: 1.85; }
.pkp_structure_main .obj_article_details .references p { margin-bottom: 14px; }
.pkp_structure_main .obj_article_details .entry_details .item {
  margin: 0 0 16px; padding: 16px; background: var(--jse-cloud);
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius-sm);
}
.pkp_structure_main .obj_article_details .entry_details .sub_item { margin-block: 12px; }
.pkp_structure_main .obj_article_details .entry_details .label { color: var(--jse-ink); }
.pkp_structure_main .obj_article_details .entry_details .value { color: var(--jse-muted); }
.pkp_structure_main .obj_article_details .item.copyright img { width: auto; max-width: 100%; }
.pkp_structure_main .obj_article_details .citation_display { line-height: 1.75; overflow-wrap: anywhere; }

/* 08 — Galleys, forms and pagination. Keep icon pseudo-elements from OJS. */
.pkp_structure_main .obj_galley_link,
.pkp_structure_main .cmp_button,
.pkp_structure_main .cmp_form .submit button {
  display: inline-block; padding: 9px 16px; min-height: 42px;
  border: 1px solid var(--jse-primary); border-radius: var(--jse-radius-sm);
  background: var(--jse-primary); color: #fff; box-shadow: 0 3px 9px rgba(74,0,224,.12);
  font-family: inherit; font-size: .88rem; font-weight: 700; line-height: 1.5;
  text-decoration: none; white-space: normal;
}
.pkp_structure_main .obj_galley_link:hover,
.pkp_structure_main .cmp_button:hover,
.pkp_structure_main .cmp_form .submit button:hover { background: var(--jse-primary-hover); color: #fff; }
.pkp_structure_main .cmp_form :is(input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],select,textarea),
.pkp_structure_main .cmp_search input[type=text] {
  max-width: 100%; min-height: 44px; padding: 10px 12px;
  border: 1px solid #aa9cbf; border-radius: 8px; background: #fff;
  color: var(--jse-ink); font: inherit;
}
.pkp_structure_main .cmp_form textarea { min-height: 140px; }
.pkp_structure_main .cmp_form .label { color: var(--jse-ink); }
.pkp_structure_main .cmp_form .description { color: var(--jse-muted); }
.pkp_structure_main .cmp_notification { background: var(--jse-sky); border-color: var(--jse-line); color: var(--jse-ink); }
.pkp_structure_main .cmp_pagination { margin-top: 24px; color: var(--jse-muted); }
.pkp_structure_main .cmp_pagination a { display: inline-block; padding: 7px 12px; border: 1px solid var(--jse-line); border-radius: 8px; background: var(--jse-cloud); }

/* 09 — Footer. PKP branding is hidden as requested in section 14. */
.pkp_structure_footer_wrapper { background: linear-gradient(120deg,#f0eaff,#e7f8f6); border-top: 1px solid var(--jse-line); }
.pkp_structure_footer { max-width: var(--jse-width); margin-inline: auto; color: var(--jse-muted); }
.pkp_footer_content { font-size: .9rem; line-height: 1.8; }
.pkp_brand_footer a { display: inline-block; }

/* 10 — Optional JSE custom components and legacy HTML compatibility.
 * Exact class lists are generated below; no broad [class*=card] selectors.
 */
.jse-home,
.jse-policy,
.jse-sidebar,
.jse-footer,
.demeter-home,
.sana-home,
.demeter-policy,
.sana-policy-page,
.whoosh-sidebar,
.sana-sidebar,
.demeter-sidebar {
  color: var(--jse-ink); font-family: var(--jse-font); line-height: 1.75; min-width: 0;
}
.jse-card,
.jse-hero,
.jse-policy-section,
.demeter-af-card,
.demeter-af-hero,
.demeter-af-note,
.demeter-af-section,
.demeter-ag-hero,
.demeter-ag-note,
.demeter-ag-section,
.demeter-ai-card,
.demeter-ai-hero,
.demeter-ai-note,
.demeter-ai-section,
.demeter-cr-card,
.demeter-cr-hero,
.demeter-cr-note,
.demeter-cr-section,
.demeter-di-card,
.demeter-di-hero,
.demeter-di-note,
.demeter-highlight,
.demeter-indexing,
.demeter-intro,
.demeter-license-box,
.demeter-oa-hero,
.demeter-oa-section,
.demeter-pe-core-item,
.demeter-pe-hero,
.demeter-pe-note,
.demeter-pe-section,
.demeter-person-card,
.demeter-pf-hero,
.demeter-pf-info-item,
.demeter-pf-note,
.demeter-pf-section,
.demeter-policy-intro,
.demeter-policy-notice,
.demeter-policy-section,
.demeter-pp-flow-item,
.demeter-pp-hero,
.demeter-pp-note,
.demeter-pp-section,
.demeter-pr-hero,
.demeter-pr-note,
.demeter-pr-section,
.demeter-profile,
.demeter-reviewer-card,
.demeter-reviewers-intro,
.demeter-scope-card,
.demeter-scope-hero,
.demeter-scope-note,
.demeter-scope-section,
.demeter-sidebar-note,
.demeter-sidebar-section,
.demeter-team-intro,
.demeter-team-section,
.sana-crypto-identity,
.sana-disclosure-item,
.sana-highlight,
.sana-indexing,
.sana-intro,
.sana-person-card,
.sana-policy-box,
.sana-policy-intro,
.sana-policy-section,
.sana-profile,
.sana-reviewer-card,
.sana-sidebar-note,
.sana-sidebar-section,
.sana-stat-box,
.sana-structure-item,
.sana-team-section,
.sana-tech-card,
.sana-tech-panel,
.sana-tool-card {
  margin-bottom: 18px; padding: 20px; background: var(--jse-cloud); border: 1px solid var(--jse-line); border-radius: var(--jse-radius); box-shadow: 0 4px 16px rgba(74,0,224,.04); min-width: 0;
}
.jse-hero,
.demeter-af-hero,
.demeter-ag-hero,
.demeter-ai-hero,
.demeter-cr-hero,
.demeter-di-hero,
.demeter-intro,
.demeter-oa-hero,
.demeter-pe-hero,
.demeter-pf-hero,
.demeter-policy-intro,
.demeter-pp-hero,
.demeter-pr-hero,
.demeter-reviewers-intro,
.demeter-scope-hero,
.demeter-team-intro,
.sana-intro,
.sana-policy-intro {
  background: linear-gradient(120deg,#f0e8ff,var(--bg-light) 65%,#e8f9f6); border-top: 3px solid var(--secondary-color);
}
.jse-grid,
.demeter-af-grid,
.demeter-ai-grid,
.demeter-cr-cards,
.demeter-di-grid,
.demeter-pp-flow,
.demeter-pr-steps,
.demeter-reviewers-grid,
.demeter-scope-grid,
.demeter-sidebar-tool-grid,
.demeter-team-grid,
.sana-disclosure-grid,
.sana-index-card-grid,
.sana-network-flow,
.sana-reviewer-grid,
.sana-structure-grid,
.sana-team-grid,
.sana-tech-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 18px;
}
.jse-highlights,
.demeter-highlights,
.sana-highlights {
  display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 12px; margin-bottom: 18px;
}
.jse-profile,
.demeter-profile,
.sana-profile {
  display: grid; grid-template-columns: minmax(120px,180px) minmax(0,1fr); gap: 22px;
}
.demeter-cover img,
.sana-cover img,
.jse-cover img {
  display: block; max-width: 100%; height: auto; border-radius: 10px; box-shadow: var(--jse-shadow);
}
.demeter-info-grid,
.sana-info-grid,
.jse-info-grid {
  display: grid; grid-template-columns: minmax(110px,145px) minmax(0,1fr); margin: 0;
}
.demeter-info-grid dt,
.demeter-info-grid dd,
.sana-info-grid dt,
.sana-info-grid dd,
.jse-info-grid dt,
.jse-info-grid dd {
  margin: 0; padding: 10px; border-bottom: 1px solid var(--jse-line); overflow-wrap: anywhere;
}
.jse-badge,
.demeter-af-badge,
.demeter-ag-badge,
.demeter-ai-badge,
.demeter-cc-badge,
.demeter-cr-badge,
.demeter-oa-badge,
.demeter-pe-badge,
.demeter-pf-month,
.demeter-policy-chip,
.demeter-pp-badge,
.demeter-pr-badge,
.demeter-profile-badge,
.demeter-reviewer-badge,
.sana-cc-badge,
.sana-profile-badge {
  display: inline-block; padding: 5px 11px; border: 1px solid var(--jse-line); border-radius: 999px; background: var(--jse-sky); color: var(--jse-primary); font-size: .8rem; font-weight: 700; line-height: 1.5;
}
.jse-badges,
.demeter-af-badges,
.demeter-ag-badges,
.demeter-ai-badges,
.demeter-cr-badges,
.demeter-index-links,
.demeter-oa-badges,
.demeter-pe-badges,
.demeter-person-links,
.demeter-pf-months,
.demeter-pp-badges,
.demeter-pr-badges,
.demeter-reviewer-links,
.demeter-subjects,
.sana-index-links,
.sana-person-links,
.sana-reviewer-links,
.sana-subjects {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.demeter-subjects span,
.sana-subjects span,
.jse-subjects span {
  display: inline-block; padding: 5px 11px; background: var(--jse-lilac); color: var(--jse-ink); border: 1px solid var(--jse-line); border-radius: 999px; font-size: .8rem;
}
.jse-block-title,
.demeter-person-name,
.demeter-reviewer-name,
.demeter-sidebar-title,
.demeter-team-heading,
.sana-person-name,
.sana-policy-heading,
.sana-sidebar-title,
.sana-team-heading,
.whoosh-group-title {
  color: var(--jse-ink); font-weight: 750; line-height: 1.45;
}
.demeter-footer-label,
.demeter-footer-logo-text,
.demeter-license-text,
.demeter-person-affiliation,
.demeter-person-role,
.demeter-reviewer-affiliation,
.demeter-reviewer-role,
.sana-crypto-label,
.sana-footer-label,
.sana-footer-logo-text,
.sana-info-text,
.sana-license-text,
.sana-meta-text,
.sana-person-affiliation {
  color: var(--jse-muted);
}
.whoosh-group,
.whoosh-mou,
.whoosh-menu,
.demeter-sidebar,
.sana-sidebar,
.jse-sidebar {
  padding: 16px; margin-bottom: 16px; border: 1px solid var(--jse-line); border-radius: var(--jse-radius-sm); background: #fff;
}
.whoosh-group-title,
.demeter-sidebar-title,
.sana-sidebar-title,
.jse-block-title {
  display: block; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid #d5efee; font-size: .95rem;
}
.whoosh-menu ul,
.whoosh-group ul,
.demeter-sidebar-list,
.sana-sidebar-list,
.sana-sidebar-menu {
  list-style: none; margin: 0; padding: 0;
}
.whoosh-menu li a,
.whoosh-group li a,
.demeter-sidebar-list li a,
.sana-sidebar-list li a,
.sana-sidebar-menu li a {
  display: block; padding: 9px 10px; border-radius: 8px; color: var(--jse-ink); text-decoration: none; line-height: 1.55;
}
.whoosh-menu li a:hover,
.whoosh-group li a:hover,
.demeter-sidebar-list li a:hover,
.sana-sidebar-list li a:hover,
.sana-sidebar-menu li a:hover {
  background: var(--jse-sky); color: var(--jse-primary);
}
.demeter-footer,
.sana-footer,
.jse-footer {
  padding: 22px; background: transparent; border-top: 1px solid var(--jse-line); color: var(--jse-muted);
}
.demeter-footer-main,
.sana-footer-main,
.jse-footer-main {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px;
}

/* 11 — Live JSE theme integration (source audit, 28 October 2026).
 * This installation has a 6184 x 1182 masthead, nested custom blocks,
 * fixed article columns, manuscript-style metadata labels and nested footer.
 */
.pkp_structure_page :is(h1,h2,h3,h4),
.pkp_structure_page .pkp_site_nav_menu a { font-family: var(--jse-font); }
.pkp_structure_page .pkp_head_wrapper { position: relative; }
.pkp_structure_page .pkp_site_name_wrapper {
  width: 100%; height: auto; padding: 0; background: transparent;
}
.pkp_structure_page .pkp_site_name {
  position: relative; inset: auto; width: 100%; margin: 0; padding: 0;
  overflow: visible; white-space: normal;
}
.pkp_structure_page .pkp_site_name .is_img {
  display: block; width: 100%; margin: 0; padding: 0;
}
.pkp_structure_page .pkp_site_name .is_img img {
  display: block; width: 100%; max-width: 100%; height: auto; max-height: none;
}
.pkp_structure_page .pkp_site_nav_menu { background: var(--bg-light); }
.pkp_structure_page .pkp_navigation_primary_wrapper { border-top: 0; }
.pkp_structure_page .pkp_navigation_primary > li > a { padding-inline: 13px; }
.pkp_structure_page .pkp_site_nav_toggle {
  border: 1px solid var(--jse-line); border-radius: 8px; background: #fff;
}
.pkp_structure_page .pkp_site_nav_toggle > span { border-bottom-color: var(--jse-primary); }
.pkp_structure_page .pkp_site_nav_toggle > span::before,
.pkp_structure_page .pkp_site_nav_toggle > span::after { background: var(--jse-primary); }
.pkp_structure_page .pkp_structure_main::before,
.pkp_structure_page .pkp_structure_main::after,
.pkp_structure_page .pkp_structure_sidebar::before { display: none; }
.pkp_structure_page .pkp_structure_main { padding: 26px; }
.pkp_structure_page .pkp_structure_sidebar { min-width: 0; }
.pkp_structure_page .pkp_structure_content { padding-top: 24px; }
.pkp_page_index .homepage_about {
  padding: 22px; background: linear-gradient(125deg,#f1ebff,var(--bg-light) 70%,#e9f9f7);
  border: 1px solid var(--jse-line); border-radius: var(--jse-radius);
}
.pkp_page_index .homepage_about > h2 { margin-top: 0; }
.pkp_page_index .homepage_about a > img { margin: 4px; vertical-align: middle; }
.pkp_structure_main .obj_article_summary .meta { padding-top: 0; }
.pkp_structure_main .obj_article_summary .meta .authors { padding-right: 0; padding-inline-end: 0; }
.pkp_structure_main .obj_article_summary .meta .pages {
  position: static; display: block; margin-top: 6px; line-height: 1.6;
}
.pkp_structure_main .obj_article_summary .galleys_links { padding: 0; }
.pkp_structure_main .obj_article_details .row { display: block; margin: 22px 0 0; border: 0; }
.pkp_structure_main .obj_article_details .row::before,
.pkp_structure_main .obj_article_details .row::after { display: none; }
.pkp_structure_main .obj_article_details .main_entry,
.pkp_structure_main .obj_article_details .entry_details {
  float: none; width: 100%; margin: 0; padding: 0; border: 0;
}
.pkp_structure_main .obj_article_details .item.authors ul.authors {
  margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none;
}
.pkp_structure_main .obj_article_details .main_entry > .item:first-child { margin-top: 0; }
.pkp_structure_main .obj_article_details .entry_details .item { box-shadow: none; }
.pkp_structure_main .obj_article_details .entry_details .item > .label,
.pkp_structure_main .obj_article_details .entry_details .sub_item > .label {
  display: block; margin: 0 0 10px; padding: 0 0 8px;
  background: transparent; border: 0; border-bottom: 1px solid var(--jse-line);
  border-radius: 0; color: var(--jse-ink); font-size: .9rem; text-transform: none;
}
.pkp_structure_main .obj_article_details .entry_details .item > .value,
.pkp_structure_main .obj_article_details .entry_details .sub_item .value {
  margin: 0; padding: 0; background: transparent; border-radius: 0;
}
.pkp_structure_main .obj_article_details .entry_details .sub_item { padding: 0; }
.pkp_structure_main .obj_article_details .entry_details .cover_image img { max-width: 180px; width: 100%; height: auto; }
.pkp_structure_main .obj_article_details .entry_details .galleys_links { list-style: none; }
.pkp_structure_main .obj_article_details .entry_details .galleys_links > li a { text-align: center; }
.pkp_structure_main .obj_article_details .citation_formats_button {
  max-width: 100%; padding: 10px 12px; border: 1px solid var(--jse-primary);
  border-radius: 8px; background: #fff; color: var(--jse-primary); white-space: normal;
}
.pkp_structure_main .obj_article_details .citation_formats { max-width: 100%; }
/* Suppress the duplicate card only; retain its content and real title. */
.pkp_structure_sidebar .pkp_block .pkp_block {
  padding: 0; margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none;
}
.pkp_structure_sidebar .block_custom .content .title:not(.pkp_screen_reader),
.pkp_structure_sidebar .block_developed_by .content > .title {
  display: block; margin: 0 0 14px; padding: 0 0 10px;
  color: var(--jse-ink); border-bottom: 2px solid #d5efee;
  font-size: .95rem; font-weight: 750; text-align: start;
}
.pkp_structure_sidebar .editorial_team_block { text-align: center; }
.pkp_structure_sidebar .editorial_team_block .title { border: 0; }
.pkp_structure_sidebar .editorial_team_block img { border-radius: 10px; }
.pkp_structure_sidebar .editorial_team_block img[width="36"] {
  width: 30px; height: 30px; object-fit: contain; margin: 4px 2px; border-radius: 6px;
}
.pkp_structure_sidebar .most_read { margin: 0; padding: 0; list-style: none; }
.pkp_structure_sidebar .most_read_article { padding-block: 12px; border-bottom: 1px solid var(--jse-line); }
.pkp_structure_sidebar .most_read_article:last-child { border: 0; }
.pkp_structure_sidebar .most_read_article_journal { margin-top: 5px; color: var(--jse-muted); font-size: .8rem; }
.pkp_structure_sidebar .block_keyword_cloud #wordcloud { max-width: 100%; overflow: hidden; }
.pkp_structure_footer > .pkp_footer_content { float: none; width: 100%; padding: 26px; }
.pkp_structure_footer .pkp_footer_content .pkp_footer_content { float: none; width: 100%; margin: 0; padding: 0; }
.pkp_structure_footer .row.footer { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.pkp_structure_footer .row.footer .col-4 { float: none; width: auto; min-width: 0; }
.pkp_structure_footer .pkp_brand_footer { padding: 0 26px 22px; }
.pkp_structure_footer .pkp_brand_footer a { float: none; max-width: 130px; }
@media (min-width: 992px) {
  .pkp_structure_page .pkp_structure_content {
    display: grid; grid-template-columns: minmax(0,1fr); gap: 24px;
  }
  .pkp_structure_page .pkp_structure_content.has_sidebar {
    grid-template-columns: minmax(0,1fr) 280px;
  }
  .pkp_structure_page .pkp_structure_content::before,
  .pkp_structure_page .pkp_structure_content::after { display: none; }
  .pkp_structure_page .pkp_structure_content > .pkp_structure_main,
  .pkp_structure_page .pkp_structure_content > .pkp_structure_sidebar {
    float: none; width: auto; margin: 0; padding-top: 26px;
  }
  .pkp_structure_page .pkp_navigation_primary_wrapper { width: auto; }
  .pkp_structure_page .pkp_navigation_user_wrapper { top: 0; }
}
/* Allow the long abstract to retain useful width at the 992px breakpoint. */
@media (min-width: 1200px) {
  .pkp_structure_main .obj_article_details .row {
    display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 22px;
  }
}
@media (max-width: 991px) {
  .pkp_structure_page .pkp_head_wrapper { padding-top: 50px; }
  .pkp_structure_page .pkp_site_nav_toggle { top: 5px; left: 10px; width: 40px; height: 40px; }
  .pkp_structure_page .pkp_site_nav_menu { border-bottom: 1px solid var(--jse-line); box-shadow: var(--jse-shadow); }
  .pkp_structure_page .pkp_structure_sidebar { width: 100%; float: none; }
  .pkp_structure_page .pkp_structure_main { width: 100%; float: none; }
  .pkp_structure_page .pkp_navigation_primary > li > a { display: block; padding: 10px 12px; }
}
@media (max-width: 767px) {
  .pkp_structure_page .pkp_structure_main { padding: 16px; }
  .pkp_page_index .homepage_about { padding: 16px; }
  .pkp_structure_footer .row.footer { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .pkp_structure_footer > .pkp_footer_content { padding: 20px 16px; }
}

/* 12 — PRISM issue cards. One sequence across all sections of each issue.
 * Only issue TOCs/current issue are numbered; search results remain unchanged.
 * Pages use the real .meta .pages text supplied by OJS, anchored at the right.
 */
.pkp_structure_main .obj_issue_toc { counter-reset: jse-article; }
.pkp_structure_main .obj_issue_toc .obj_article_summary {
  counter-increment: jse-article;
  position: relative; min-height: 126px; padding: 22px 22px 22px 84px;
  border: 1px solid var(--jse-line); border-left: 0;
  border-radius: var(--jse-radius); background: #fff;
  box-shadow: 0 4px 18px rgba(45,55,72,.045);
}
.pkp_structure_main .obj_issue_toc .obj_article_summary::before {
  content: counter(jse-article, decimal-leading-zero);
  position: absolute; top: 22px; left: 17px;
  display: grid; place-items: center; width: 46px; height: 46px;
  border: 1px solid #ded2fb; border-radius: 12px;
  background: #f1eaff; color: var(--primary-color);
  font: 750 1.05rem/1 var(--jse-font); font-variant-numeric: tabular-nums;
}
.pkp_structure_main .obj_issue_toc .obj_article_summary::after {
  content: ""; position: absolute; top: 80px; bottom: 22px; left: 39px;
  width: 2px; border-radius: 2px; background: #d6efef;
}
.pkp_structure_main .obj_issue_toc .obj_article_summary .title {
  margin: 0 0 12px; padding-right: 105px; font-size: 1.04rem; line-height: 1.55;
}
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a { color: var(--text-dark); }
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:hover { color: var(--primary-color); }
.pkp_structure_main .obj_issue_toc .obj_article_summary .meta { position: static; padding: 0; }
.pkp_structure_main .obj_issue_toc .obj_article_summary .meta .authors {
  padding: 0; margin: 0; color: var(--jse-muted-readable); font-size: .88rem; line-height: 1.7;
}
.pkp_structure_main .obj_issue_toc .obj_article_summary .meta .pages {
  position: absolute; top: 23px; right: 22px;
  display: block; max-width: 102px; margin: 0; padding: 5px 8px;
  border: 1px solid #c9e9e7; border-radius: 7px;
  background: #eaf8f6; color: var(--jse-teal-readable);
  font-size: .76rem; font-weight: 700; line-height: 1.5;
  text-align: right; overflow-wrap: anywhere; font-variant-numeric: tabular-nums;
}
.pkp_structure_main .obj_issue_toc .obj_article_summary .meta .pages::before { content: "pp. "; }
.pkp_structure_main .obj_article_summary :is(.jse-article-doi,.pub_id.doi,.doi) {
  margin: 12px 0 0; padding: 0; border: 0; background: transparent;
  color: var(--jse-muted-readable); font-size: .8rem; line-height: 1.65;
  overflow-wrap: anywhere;
}
.pkp_structure_main .obj_article_summary .jse-article-doi .label {
  display: inline-block; margin-right: 6px; padding: 2px 7px;
  border-radius: 5px; background: #f1eaff; color: var(--primary-color);
  font-size: .7rem; font-weight: 750; letter-spacing: .04em;
}
.pkp_structure_main .obj_article_summary :is(.jse-article-doi,.pub_id.doi,.doi) a {
  color: var(--jse-teal-readable); text-decoration: none; overflow-wrap: anywhere;
}
.pkp_structure_main .obj_article_summary :is(.jse-article-doi,.pub_id.doi,.doi) a:hover {
  color: var(--primary-color); text-decoration: underline;
}
.pkp_structure_main .obj_issue_toc .obj_article_summary .galleys_links { margin-top: 14px; }
.pkp_structure_main .obj_issue_toc .obj_article_summary:hover { border-color: #c2acee; }
.pkp_structure_main .obj_issue_toc .obj_article_summary:hover::before {
  background: var(--primary-color); border-color: var(--primary-color); color: #fff;
}
.pkp_structure_main .obj_galley_link.pdf { background: var(--primary-color); border-color: var(--primary-color); }
.pkp_structure_main .obj_galley_link.pdf:hover {
  background: var(--jse-pink-readable); border-color: var(--jse-pink-readable);
}
.pkp_structure_page .page > h1::after { background: linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--accent-color)); }
@media (max-width: 767px) {
  .pkp_structure_main .obj_issue_toc .obj_article_summary { padding: 62px 16px 18px 66px; }
  .pkp_structure_main .obj_issue_toc .obj_article_summary::before {
    top: 17px; left: 14px; width: 36px; height: 36px; border-radius: 9px; font-size: .9rem;
  }
  .pkp_structure_main .obj_issue_toc .obj_article_summary::after { left: 31px; top: 67px; bottom: 18px; }
  .pkp_structure_main .obj_issue_toc .obj_article_summary .title { padding-right: 0; font-size: 1rem; }
  .pkp_structure_main .obj_issue_toc .obj_article_summary .meta .pages { top: 18px; right: 16px; max-width: calc(100% - 82px); }
}

/* 13 — Responsive refinement; OJS owns its native navigation breakpoints. */
@media (min-width: 992px) {
  .pkp_structure_main { border-radius: 0 0 20px 20px; }
  .pkp_structure_sidebar { padding-top: 30px; }
}
@media (max-width: 767px) {
  .pkp_structure_page { font-size: 14px; }
  .pkp_site_name { padding-block: 14px; }
  .pkp_site_name .is_img img { max-height: 150px; }
  .pkp_structure_main .obj_article_summary { padding: 17px; border-radius: 12px; }
  .pkp_structure_main .obj_article_details > .page_title { padding: 20px; }
  .pkp_structure_main .obj_article_details :is(.item.abstract,.item.references,.item.author_bios) { padding: 16px; }
  .pkp_structure_sidebar .pkp_block { padding: 16px; border-radius: 12px; }
.jse-grid,
.demeter-af-grid,
.demeter-ai-grid,
.demeter-cr-cards,
.demeter-di-grid,
.demeter-pp-flow,
.demeter-pr-steps,
.demeter-reviewers-grid,
.demeter-scope-grid,
.demeter-sidebar-tool-grid,
.demeter-team-grid,
.sana-disclosure-grid,
.sana-index-card-grid,
.sana-network-flow,
.sana-reviewer-grid,
.sana-structure-grid,
.sana-team-grid,
.sana-tech-grid,
.jse-profile,
.demeter-profile,
.sana-profile,
.demeter-footer-main,
.sana-footer-main,
.jse-footer-main {
  grid-template-columns: minmax(0,1fr);
}
.demeter-cover,
.sana-cover,
.jse-cover {
  max-width: 165px;
}
}
@media (max-width: 420px) {
  .demeter-info-grid, .sana-info-grid, .jse-info-grid { grid-template-columns: minmax(0,1fr); }
  .pkp_structure_main .obj_galley_link { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pkp_structure_page *, .pkp_structure_page *::before, .pkp_structure_page *::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
}
@media print {
  .pkp_structure_page { background: #fff; color: #000; }
  .pkp_structure_page .pkp_structure_content.has_sidebar,
  .pkp_structure_page .pkp_structure_content,
  .pkp_structure_main .obj_article_details .row { display: block; }
  .pkp_structure_head, .pkp_structure_sidebar, .pkp_structure_footer_wrapper,
  .pkp_structure_main .cmp_breadcrumbs { display: none; }
  .pkp_structure_content, .pkp_structure_main { float: none; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; }
  .pkp_structure_page a { color: #000; }
  .pkp_structure_main .obj_article_details .main_entry,
  .pkp_structure_main .obj_article_details .entry_details { float: none; width: 100%; padding: 0; border: 0; }
  .pkp_structure_main .obj_article_summary,
  .pkp_structure_main .obj_article_details .item { box-shadow: none; background: #fff; }
}

/* 14 — JSE PRISM footer integration.
 * OJS already supplies the outer .pkp_footer_content container.
 * Paste the custom .jse-footer HTML inside the Page Footer setting.
 * These rules also support legacy duplicated .pkp_footer_content wrappers.
 */
.pkp_structure_footer .pkp_brand_footer {
  display: none !important;
}
.pkp_structure_footer > .pkp_footer_content {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
}
.pkp_structure_footer .pkp_footer_content .pkp_footer_content {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.pkp_structure_footer .jse-footer {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--text-dark);
  font-family: var(--jse-font);
  line-height: 1.8;
}
.pkp_structure_footer .jse-footer-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.pkp_structure_footer .jse-footer-main > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.pkp_structure_footer .jse-footer h3 {
  margin: 0 0 12px;
  color: var(--primary-color);
  font-size: 1.1rem;
  line-height: 1.5;
}
.pkp_structure_footer .jse-footer p {
  margin: 0 0 12px;
}
.pkp_structure_footer .jse-footer p:last-child {
  margin-bottom: 0;
}
.pkp_structure_footer .jse-footer a {
  overflow-wrap: anywhere;
  text-underline-offset: 3px;
}
.pkp_structure_footer .jse-footer a[href^="https://wa.me/"] {
  color: var(--jse-teal-readable);
}
.pkp_structure_footer .jse-footer .jse-badge {
  text-decoration: none;
}
.pkp_structure_footer .jse-footer .jse-badge:hover {
  border-color: var(--primary-color);
  background: var(--primary-color);
  color: #fff;
}
@media (max-width: 767px) {
  .pkp_structure_footer .jse-footer-main {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
}

/* JSE PRISM v2.3 — Grouped sidebar / soft hover.
   Works with the previously supplied .jse-sidebar HTML and WHOOSH markup.
   Keep this section after legacy .whoosh-* rules. No JavaScript required. */
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group {
  margin: 0 0 18px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--jse-line);
  border-radius: 14px;
  background: var(--jse-paper);
  box-shadow: 0 2px 8px rgba(45, 55, 72, .035);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group:focus-within,
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group:hover {
  border-color: var(--jse-menu-hover-border);
  box-shadow: 0 2px 8px rgba(45, 55, 72, .035);
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group-title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 14px 15px;
  border: 0;
  border-bottom: 1px solid var(--jse-line);
  background: linear-gradient(110deg, #eee5ff, var(--bg-light));
  color: var(--primary-color);
  font-family: var(--jse-font);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group:nth-child(2) > .whoosh-group-title {
  background: linear-gradient(110deg, #ddf6f3, var(--bg-light));
  color: var(--jse-teal-readable);
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group:nth-child(4) > .whoosh-group-title {
  background: linear-gradient(110deg, #ffe8f2, var(--bg-light));
  color: var(--jse-pink-readable);
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group-title > .fa {
  color: currentColor !important;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul {
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li {
  margin: 3px 0;
  padding: 0;
  list-style: none;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a {
  position: relative;
  display: block;
  width: 100%;
  min-height: 46px;
  padding: 12px 28px 12px 44px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--text-dark);
  font-family: var(--jse-font);
  font-size: .83rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: start;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .2s ease, background .2s ease, border-color .2s ease,
              transform .2s ease, box-shadow .2s ease;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 2px;
  border-radius: 0 3px 3px 0;
  background: var(--jse-menu-hover-accent);
  opacity: 0;
  transform: scaleY(.3);
  transition: opacity .2s ease, transform .2s ease;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 12px;
  color: #a59bac;
  font-size: 18px;
  line-height: 1;
  transform: translateY(-50%);
  transition: color .2s ease, right .2s ease;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a > .fa:first-child {
  position: absolute;
  top: 50%;
  left: 10px;
  display: inline-block;
  width: 24px !important;
  height: 24px;
  border-radius: 6px;
  background: #f5f3f7;
  color: #746583 !important;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  transform: translateY(-50%);
  transition: color .2s ease, background .2s ease;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a:is(:hover, :focus-visible) {
  border-color: var(--jse-menu-hover-border);
  background: var(--jse-menu-hover-bg);
  color: var(--jse-menu-hover-text);
  transform: none;
  box-shadow: none;
  text-decoration: none;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a:is(:hover, :focus-visible)::before {
  opacity: 1;
  transform: scaleY(1);
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a:is(:hover, :focus-visible)::after {
  right: 12px;
  color: #746583;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a:is(:hover, :focus-visible) > .fa {
  color: var(--jse-menu-hover-text) !important;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a:is(:hover, :focus-visible) > .fa:first-child {
  background: #e9e3f0;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}
.pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a[aria-current="page"]:not(:hover):not(:focus-visible) {
  border-color: var(--jse-menu-hover-border);
  background: var(--jse-menu-hover-bg);
  color: var(--jse-menu-hover-text);
  box-shadow: inset 2px 0 0 var(--jse-menu-hover-accent);
}
@media (prefers-reduced-motion: reduce) {
  .pkp_structure_sidebar :is(.jse-sidebar, .whoosh-sidebar) .whoosh-group > ul > li > a {
    transform: none;
  }
}


/* DOI INTEGRATION — OJS 3.4.0.11 (Smarty; this comment does not execute).
   The live summary HTML does not contain article DOI metadata.
   In frontend/objects/article_summary.tpl, insert the following immediately
   BEFORE {if !$hideGalleys}, inside .obj_article_summary.
   Prefer the active child theme's template override, and back up the file.
   Reuse an existing DOI row instead if a plugin already prints one.

   {assign var=jseDoiObject value=$publication->getData('doiObject')}
   {if $jseDoiObject}
     {assign var=jseDoiUrl value=$jseDoiObject->getData('resolvingUrl')}
     {if $jseDoiUrl}
       <div class="jse-article-doi">
         <span class="label">DOI</span>
         <a href="{$jseDoiUrl|escape}">{$jseDoiUrl|escape}</a>
       </div>
     {/if}
   {/if}

   Then clear OJS template cache. Articles without a DOI remain without a DOI
   row. Numbering and right-aligned pages require only this stylesheet.
   Installation: replace the journal stylesheet; do not stack legacy CSS.
   Visual browser verification is still required after installation.
*/

/* End JSE PRISM. */
