/*
 * JIL Knowledge Violet — OJS Default Theme
 * Phase 3.1.2 Human research ethics checklist guidance · 31 August 2026
 * Target: ThaiJO / OJS 3.x Default Theme
 * Scope: preserve 3.1.1; style the manuscript ethics guidance note only.
 * Complete replacement stylesheet; approved 2.5 article typography preserved.
 */

:root {
  --jil-violet: #513c78;
  --jil-deep: #30234d;
  --jil-indigo: #405aa8;
  --jil-blue: #009cde;
  --jil-sky: #59cbe8;
  --jil-lavender: #f2eff8;
  --jil-lavender-2: #e7e4f2;
  --jil-canvas: #f6f7f9;
  --jil-paper: #ffffff;
  --jil-ink: #25212e;
  --jil-muted: #66707c;
  --jil-line: #dfe3e8;
  --jil-shadow-sm: 0 5px 16px rgba(39, 29, 61, .07);
  --jil-shadow-md: 0 14px 34px rgba(39, 29, 61, .11);
  --jil-radius-sm: 7px;
  --jil-radius-md: 12px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--jil-ink);
  background: var(--jil-canvas);
  font-family: "Noto Sans", "Noto Sans Thai", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
body a {
  color: #3f5793;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body a:hover,
body a:focus { color: var(--jil-violet); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(0, 156, 222, .42) !important;
  outline-offset: 3px;
}
img { max-width: 100%; height: auto; }

/* Header and navigation */
.pkp_structure_head {
  color: #fff;
  background: linear-gradient(115deg, var(--jil-deep) 0%, var(--jil-violet) 60%, var(--jil-indigo) 100%);
  border: 0;
  border-bottom: 4px solid var(--jil-blue);
  box-shadow: 0 8px 24px rgba(35, 28, 54, .14);
}
.pkp_head_wrapper {
  width: min(100%, 1240px);
  max-width: 1240px;
  margin: 0 auto;
  padding-right: 28px;
  padding-left: 28px;
}
.pkp_site_name_wrapper { min-height: 124px; }
.pkp_site_name { margin: 0; }
.pkp_site_name .is_img {
  display: flex;
  align-items: center;
  width: 405px;
  max-width: 100%;
  min-height: 116px;
  padding: 10px 0;
  overflow: visible;
}
.pkp_site_name .is_img img,
.pkp_site_name_logo {
  display: block;
  width: auto !important;
  max-width: 395px !important;
  height: auto !important;
  max-height: 94px !important;
  object-fit: contain;
  object-position: left center;
}
.pkp_navigation_primary_row,
.pkp_navigation_user_wrapper { background: transparent; }
.pkp_navigation_primary_wrapper { padding: 0; }
.pkp_navigation_primary {
  margin: 0;
  padding: 0;
}
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
.pkp_navigation_search_wrapper a {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}
.pkp_navigation_primary > li > a {
  padding: 15px 15px 13px;
  border-bottom: 3px solid transparent;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-expanded="true"] {
  color: #fff;
  background: rgba(255, 255, 255, .07);
  border-bottom-color: var(--jil-sky);
}
.pkp_navigation_primary .dropdown-menu {
  padding: 8px;
  background: #fff;
  border: 1px solid var(--jil-line);
  border-top: 3px solid var(--jil-blue);
  border-radius: 0 0 var(--jil-radius-sm) var(--jil-radius-sm);
  box-shadow: var(--jil-shadow-md);
}
.pkp_navigation_primary .dropdown-menu a {
  padding: 9px 12px;
  color: var(--jil-deep);
  border-radius: 5px;
}
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus {
  color: var(--jil-deep);
  background: var(--jil-lavender);
}
.pkp_navigation_user_wrapper { top: 12px; }
.pkp_navigation_user > li > a {
  padding: 8px 10px;
  font-size: 12px;
}
.pkp_navigation_search_wrapper a {
  padding: 15px 8px 13px;
}
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus { color: var(--jil-sky); }

/* Page frame */
.pkp_structure_page { background: transparent; }
.pkp_structure_content {
  width: min(100%, 1240px);
  max-width: 1240px;
  margin: 30px auto 0;
  background: transparent;
}
.pkp_structure_main {
  padding: 34px 42px 68px;
  background: var(--jil-paper);
  border: 1px solid var(--jil-line);
  border-radius: var(--jil-radius-md);
  box-shadow: var(--jil-shadow-sm);
}
.pkp_structure_sidebar {
  padding: 0 0 56px 28px;
  background: transparent;
}
.pkp_page_index .pkp_structure_main,
.pkp_page_issue .pkp_structure_main,
.pkp_page_article .pkp_structure_main { min-height: 600px; }

/* Breadcrumb and headings */
.cmp_breadcrumbs {
  margin: 0 0 26px;
  padding: 11px 15px;
  background: #faf9fc;
  border: 1px solid var(--jil-line);
  border-radius: var(--jil-radius-sm);
  color: var(--jil-muted);
  font-size: 13px;
}
.cmp_breadcrumbs a { color: #405f9e; text-decoration: none; }
.page_title,
.page_index_journal h2,
.page_issue h1,
.obj_issue_toc > .heading h2,
.obj_article_details .page_title {
  color: var(--jil-deep);
  font-weight: 700;
  letter-spacing: -.02em;
}
.page_title,
.obj_article_details .page_title {
  margin-top: 0;
  padding: 0 0 18px;
  border-top: 3px solid var(--jil-deep);
  border-bottom: 1px solid var(--jil-line);
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.28;
}

/* Homepage */
.page_index_journal .homepage_about {
  margin: 0 0 32px;
  padding: 26px 28px 28px;
  background: linear-gradient(135deg, #fbfaff 0%, var(--jil-lavender) 100%);
  border: 1px solid #e5e1ee;
  border-top: 4px solid var(--jil-blue);
  border-radius: var(--jil-radius-md);
  box-shadow: var(--jil-shadow-sm);
}
.page_index_journal .homepage_about h2 {
  margin: 0 0 12px;
  color: var(--jil-violet);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.page_index_journal .homepage_about .homepage_about_description,
.page_index_journal .homepage_about p {
  margin-bottom: 0;
  color: #444955;
  font-size: 14px;
  line-height: 1.75;
}
.cmp_announcements {
  margin: 0 0 34px;
  padding: 24px 26px;
  background: #fff;
  border: 1px solid var(--jil-line);
  border-radius: var(--jil-radius-md);
  box-shadow: var(--jil-shadow-sm);
}
.cmp_announcements > h2,
.current_issue > h2 {
  margin: 0 0 20px;
  padding: 0 0 13px;
  border-bottom: 2px solid var(--jil-deep);
  font-size: 22px;
}
.cmp_announcements .obj_announcement_summary {
  padding: 15px 0;
  border-bottom: 1px solid var(--jil-line);
}
.cmp_announcements .obj_announcement_summary:last-child { border-bottom: 0; }
.cmp_announcements .title a { color: var(--jil-violet); font-weight: 700; }
.current_issue { margin-top: 8px; }
.current_issue_title {
  margin-bottom: 18px;
  color: var(--jil-muted);
  font-size: 15px;
}

/* Issue heading and article lists */
.obj_issue_toc > .heading {
  display: grid;
  grid-template-columns: minmax(140px, 190px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin: 0 0 32px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--jil-line);
  border-radius: var(--jil-radius-md);
  box-shadow: var(--jil-shadow-sm);
}
.obj_issue_toc > .heading .cover {
  grid-row: 1 / span 4;
  width: 100%;
  max-width: 190px;
  margin: 0;
}
.obj_issue_toc > .heading h2,
.obj_issue_toc > .heading .published,
.obj_issue_toc > .heading .description { grid-column: 2; }
.obj_issue_toc > .heading h2 {
  margin: 0 0 8px;
  font-size: 25px;
  line-height: 1.35;
}
.obj_issue_toc > .heading .published { color: var(--jil-muted); }
.obj_issue_toc .section { margin-top: 30px; }
.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 {
  margin: 0 0 15px;
  padding: 10px 0;
  color: var(--jil-violet);
  border-top: 2px solid var(--jil-deep);
  border-bottom: 1px solid var(--jil-line);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.obj_issue_toc .articles,
.cmp_article_list.articles { margin: 0; padding: 0; }
.obj_issue_toc .articles > li,
.cmp_article_list.articles > li {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  list-style: none;
}
.obj_article_summary {
  display: grid;
  grid-template-columns: minmax(145px, 190px) minmax(0, 1fr) auto;
  gap: 8px 20px;
  align-items: start;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--jil-line);
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(39, 29, 61, .05);
}
.obj_article_summary:hover {
  border-color: #c8c1d8;
  box-shadow: var(--jil-shadow-md);
  transform: translateY(-1px);
}
.obj_article_summary > .cover {
  grid-column: 1;
  grid-row: 1 / span 5;
  width: 100%;
  margin: 0;
}
.obj_article_summary > .cover img {
  display: block;
  width: 100%;
  border-radius: 4px;
}
.obj_article_summary > .title,
.obj_article_summary > .meta,
.obj_article_summary > .authors { grid-column: 2; }
.obj_article_summary > .title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}
.obj_article_summary > .title a { color: var(--jil-deep); text-decoration: none; }
.obj_article_summary > .title a:hover,
.obj_article_summary > .title a:focus { color: var(--jil-violet); }
.obj_article_summary .authors,
.obj_article_summary .meta {
  color: var(--jil-muted);
  font-size: 12px;
  line-height: 1.5;
}
.obj_article_summary .pages {
  grid-column: 3;
  grid-row: 1;
  color: #89909a;
  font-size: 11px;
}
.obj_article_summary .galleys_links {
  grid-column: 2 / 4;
  margin: 4px 0 0;
  padding: 0;
}

/* Buttons */
.obj_galley_link,
.cmp_button,
.pkp_button,
.block_make_submission a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 13px;
  color: #fff !important;
  background: var(--jil-violet);
  border: 1px solid var(--jil-violet);
  border-radius: 5px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.obj_galley_link:hover,
.obj_galley_link:focus,
.cmp_button:hover,
.cmp_button:focus,
.pkp_button:hover,
.pkp_button:focus,
.block_make_submission a:hover,
.block_make_submission a:focus {
  color: #fff !important;
  background: var(--jil-deep);
  border-color: var(--jil-deep);
}
.block_make_submission a {
  width: 100%;
  min-height: 42px;
  border: 4px solid var(--jil-deep);
  background: #fff;
  color: var(--jil-deep) !important;
}
.block_make_submission a:hover,
.block_make_submission a:focus { background: var(--jil-deep); }

/* Article detail */
.obj_article_details .page_title { margin-bottom: 28px; }
.obj_article_details > .row {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
.obj_article_details .main_entry {
  flex: 1 1 64%;
  width: auto;
  min-width: 0;
  padding: 0;
}
.obj_article_details .entry_details {
  position: sticky;
  top: 22px;
  flex: 0 0 34%;
  width: auto;
  padding: 0;
  background: #fff;
  border: 1px solid var(--jil-line);
  border-radius: var(--jil-radius-md);
  box-shadow: var(--jil-shadow-sm);
  overflow: hidden;
}
.obj_article_details .entry_details > .item {
  margin: 0;
  padding: 18px 20px;
  border-bottom: 1px solid var(--jil-line);
}
.obj_article_details .entry_details > .item:last-child { border-bottom: 0; }
.obj_article_details .entry_details .cover_image img {
  display: block;
  width: 100%;
  border-radius: 5px;
}
.obj_article_details .entry_details .galleys_links { margin: 0; padding: 0; }
.obj_article_details .entry_details .obj_galley_link { width: 100%; }
.obj_article_details .main_entry > .item {
  margin: 0 0 28px;
  padding: 0 0 26px;
  border-bottom: 1px solid var(--jil-line);
}
.obj_article_details .main_entry > .item:last-child { border-bottom: 0; }
.obj_article_details .main_entry > .item > h2,
.obj_article_details .main_entry > .item > h3 {
  margin: 0 0 14px;
  color: var(--jil-deep);
  font-size: 21px;
  line-height: 1.4;
}
.obj_article_details .authors .name,
.obj_article_details .authors .sub_item {
  color: var(--jil-deep);
  font-weight: 700;
}
.obj_article_details .authors .affiliation,
.obj_article_details .authors .orcid { color: var(--jil-muted); }
.obj_article_details .keywords .value { line-height: 1.8; }
.obj_article_details .abstract {
  color: #343842;
  font-size: 16px;
  line-height: 1.85;
}
.obj_article_details .abstract p { margin: 0 0 1.1em; }
.obj_article_details .citation_display,
.obj_article_details .item.references {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.75;
}

/* Sidebar blocks */
.pkp_structure_sidebar .pkp_block {
  margin: 0 0 16px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--jil-line);
  border-radius: 10px;
  box-shadow: var(--jil-shadow-sm);
}
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .pkp_block h2,
.pkp_structure_sidebar .pkp_block h3 {
  margin: 0 0 12px;
  padding: 0 0 10px;
  color: var(--jil-deep);
  border-bottom: 1px solid var(--jil-line);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.pkp_structure_sidebar .pkp_block ul { margin: 0; padding: 0; }
.pkp_structure_sidebar .pkp_block li {
  padding: 7px 0;
  border-bottom: 1px solid #eceef1;
  list-style: none;
}
.pkp_structure_sidebar .pkp_block li:last-child { border-bottom: 0; }
.pkp_structure_sidebar .pkp_block a { text-decoration: none; }
.pkp_structure_sidebar iframe,
.pkp_structure_sidebar img { max-width: 100%; }

/* Search and forms */
.cmp_search input[type="text"],
.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form select,
.cmp_form textarea {
  min-height: 42px;
  padding: 9px 12px;
  background: #fff;
  border: 1px solid #cfd4db;
  border-radius: 6px;
  box-shadow: none;
}

/* Footer supplied through Appearance > Setup > Page Footer */
.pkp_structure_footer_wrapper {
  margin-top: 54px;
  color: #d6cfe2;
  background: #251a3c;
  border-top: 4px solid var(--jil-blue);
}
.pkp_structure_footer {
  width: min(100%, 1240px);
  max-width: 1240px;
  margin: 0 auto;
  padding: 34px 28px 24px;
}
.pkp_footer_content { padding: 0; }
.jil-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
  gap: 32px 44px;
  width: 100%;
}
.jil-footer-brand strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
}
.jil-footer-brand p,
.jil-footer-brand address {
  margin: 0;
  color: #b8b0c5;
  font-size: 10px;
  font-style: normal;
  line-height: 1.7;
}
.jil-footer-group h2 {
  margin: 0 0 11px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jil-footer-group a,
.jil-footer-group .jil-footer-static {
  display: block;
  padding: 3px 0;
  color: #b8b0c5;
  font-size: 10px;
  line-height: 1.5;
  text-decoration: none;
}
.jil-footer-group a:hover,
.jil-footer-group a:focus { color: #fff; }
.jil-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 26px;
  padding-top: 14px;
  color: #91889e;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: 9px;
}
.jil-footer-open-access { color: #b8b0c5; white-space: nowrap; }
.jil-footer-dot {
  display: inline-block;
  margin: 0 5px;
  color: var(--jil-blue);
  font-size: 11px;
  line-height: 1;
}
.pkp_brand_footer { margin-top: 16px; opacity: .66; }

/* Tablet */
@media (max-width: 991px) {
  .pkp_head_wrapper { padding-right: 20px; padding-left: 20px; }
  .pkp_site_name .is_img { width: 320px; }
  .pkp_site_name .is_img img,
  .pkp_site_name_logo { max-width: 310px !important; max-height: 76px !important; }
  .pkp_structure_content { margin-top: 22px; }
  .pkp_structure_main { padding: 30px 28px 58px; }
  .pkp_structure_sidebar { padding-left: 20px; }
  .obj_article_summary { grid-template-columns: minmax(125px, 160px) minmax(0, 1fr); }
  .obj_article_summary .pages { grid-column: 2; grid-row: auto; }
  .obj_article_summary .galleys_links { grid-column: 2; }
  .jil-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 30px; }
  .jil-footer-brand { grid-column: 1 / -1; }
}

/* Mobile */
@media (max-width: 767px) {
  body { font-size: 14px; }
  .pkp_structure_head { border-bottom-width: 3px; }
  .pkp_head_wrapper { padding: 0 16px; }
  .pkp_site_name_wrapper {
    display: flex;
    align-items: center;
    min-height: 94px;
  }
  .pkp_site_name { width: calc(100% - 58px); }
  .pkp_site_name .is_img {
    width: 270px;
    max-width: 100%;
    min-height: 88px;
    padding: 14px 0;
  }
  .pkp_site_name .is_img img,
  .pkp_site_name_logo {
    width: auto !important;
    max-width: 255px !important;
    height: auto !important;
    max-height: 60px !important;
  }
  .pkp_site_nav_toggle {
    top: 27px;
    right: 16px;
    width: 44px;
    height: 40px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 6px;
  }
  .pkp_site_nav_menu {
    margin: 0 -16px;
    padding: 8px 16px 16px;
    background: #251a3c;
    border-top: 1px solid rgba(255, 255, 255, .14);
  }
  .pkp_navigation_primary > li > a {
    padding: 12px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }
  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus { border-bottom-color: var(--jil-sky); }
  .pkp_navigation_user_wrapper { position: static; padding-top: 8px; }
  .pkp_navigation_search_wrapper a { padding: 12px 10px; }

  .pkp_structure_content {
    display: block;
    width: 100%;
    margin: 16px 0 0;
    padding: 0 14px;
  }
  .pkp_structure_main {
    width: 100%;
    padding: 24px 20px 42px;
    border-radius: 10px;
  }
  .pkp_structure_sidebar {
    width: 100%;
    padding: 24px 0 42px;
  }
  .cmp_breadcrumbs {
    margin-bottom: 22px;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.6;
  }
  .page_title,
  .obj_article_details .page_title {
    padding-top: 12px;
    font-size: 26px;
    line-height: 1.35;
  }
  .page_index_journal .homepage_about { padding: 22px 20px; }
  .cmp_announcements { padding: 20px; }
  .cmp_announcements > h2,
  .current_issue > h2 { font-size: 20px; }

  .obj_issue_toc > .heading {
    display: block;
    padding: 18px;
  }
  .obj_issue_toc > .heading .cover {
    width: min(100%, 230px);
    max-width: 230px;
    margin: 0 auto 18px;
  }
  .obj_issue_toc > .heading h2 { font-size: 21px; }
  .obj_article_summary {
    display: block;
    padding: 16px;
  }
  .obj_article_summary > .cover {
    width: 100%;
    max-width: none;
    margin: 0 0 14px;
  }
  .obj_article_summary > .title { margin-bottom: 7px; font-size: 14px; }
  .obj_article_summary .authors,
  .obj_article_summary .meta,
  .obj_article_summary .pages { margin-bottom: 8px; }
  .obj_article_summary .galleys_links { margin-top: 8px; }

  .obj_article_details > .row {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .obj_article_details .main_entry,
  .obj_article_details .entry_details {
    width: 100%;
    flex: 0 0 auto;
  }
  .obj_article_details .entry_details {
    position: static;
    order: -1;
  }
  .obj_article_details .main_entry > .item { margin-bottom: 24px; padding-bottom: 22px; }
  .obj_article_details .main_entry > .item > h2,
  .obj_article_details .main_entry > .item > h3 { font-size: 19px; }
  .obj_article_details .abstract { font-size: 15px; line-height: 1.8; }

  .pkp_structure_sidebar .pkp_block { padding: 16px; }
  .pkp_structure_footer_wrapper { margin-top: 34px; }
  .pkp_structure_footer { padding: 28px 18px 20px; }
  .jil-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 12px; }
  .jil-footer-brand {
    grid-column: 1 / -1;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
  }
  .jil-footer-group h2 { font-size: 9px; }
  .jil-footer-group a,
  .jil-footer-group .jil-footer-static { font-size: 9px; overflow-wrap: anywhere; }
  .jil-footer-bottom { margin-top: 22px; font-size: 8.5px; }
}

/* ==========================================================
   PHASE 2.2 — V21 MASTHEAD, MOBILE DRAWER AND COMPACT FOOTER
   ========================================================== */

/* The utility band remains the header background. The white brand panel and
   violet navigation row are extended to the viewport without changing OJS
   templates. A child theme should eventually render this content semantically. */
.pkp_structure_head {
  overflow: visible !important;
  background: linear-gradient(110deg, #30234d 0%, #513c78 58%, #405aa8 100%) !important;
  border-bottom: 0 !important;
  box-shadow: 0 8px 24px rgba(35, 28, 54, .12) !important;
}
.pkp_structure_head .pkp_head_wrapper {
  position: relative;
  padding-top: 38px !important;
}
.pkp_structure_head .pkp_head_wrapper::before {
  content: "Prince of Songkla University";
  position: absolute;
  top: 9px;
  left: 28px;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}
.pkp_structure_head .pkp_navigation_user_wrapper {
  top: 3px !important;
  right: 28px !important;
  z-index: 3;
}
.pkp_structure_head .pkp_site_name_wrapper {
  position: relative;
  width: 100% !important;
  height: 128px !important;
  min-height: 128px !important;
  background: #fff !important;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}
.pkp_structure_head .pkp_site_name_wrapper::after {
  content: "ESTABLISHED 2020\A Information  •  Learning  •  Innovation";
  position: absolute;
  top: 50%;
  right: 0;
  max-width: 410px;
  color: var(--jil-deep);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .01em;
  text-align: right;
  white-space: pre;
  transform: translateY(-50%);
}
.pkp_structure_head .pkp_site_name_wrapper::first-line {
  color: #66707c;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
}
.pkp_structure_head .pkp_site_name {
  width: 470px !important;
  height: 128px !important;
  padding: 18px 0 !important;
}
.pkp_structure_head .pkp_site_name .is_img {
  width: 455px !important;
  height: 92px !important;
}
.pkp_structure_head .pkp_site_name .is_img img,
.pkp_structure_head .pkp_site_name_logo {
  width: 430px !important;
  max-width: 430px !important;
  max-height: 92px !important;
}
.pkp_structure_head .pkp_site_nav_menu,
.pkp_structure_head .pkp_navigation_primary_row {
  background: var(--jil-deep) !important;
}
.pkp_structure_head .pkp_navigation_primary_row {
  min-height: 68px !important;
  box-shadow: 0 0 0 100vmax var(--jil-deep);
  clip-path: inset(0 -100vmax);
}
.pkp_structure_head .pkp_navigation_primary > li > a,
.pkp_structure_head .pkp_navigation_search_wrapper a {
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 0 17px;
  color: #fff;
  border-bottom: 3px solid transparent;
}
.pkp_structure_head .pkp_navigation_primary > li:first-child > a,
.pkp_structure_head .pkp_navigation_primary > li > a:hover,
.pkp_structure_head .pkp_navigation_primary > li > a:focus,
.pkp_structure_head .pkp_navigation_primary > li > a[aria-current="page"],
.pkp_structure_head .pkp_navigation_primary > li > a[aria-expanded="true"] {
  color: #fff;
  background: rgba(255, 255, 255, .05);
  border-bottom-color: var(--jil-blue);
}
.pkp_structure_head #navigationPrimary > li > a[href*="/submission"] {
  min-height: 46px;
  margin: 11px 0 11px 22px;
  padding: 0 22px;
  color: var(--jil-deep) !important;
  background: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 8px;
}
.pkp_structure_head #navigationPrimary > li > a[href*="/submission"]::after {
  content: "→";
  margin-left: 12px;
  color: var(--jil-blue);
}
.pkp_structure_head #navigationPrimary > li > a[href*="/submission"]:hover,
.pkp_structure_head #navigationPrimary > li > a[href*="/submission"]:focus {
  color: #fff !important;
  background: var(--jil-violet) !important;
  border-color: rgba(255, 255, 255, .55) !important;
}
.pkp_structure_head::after {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 12px 24px;
  content: "●  TCI Tier 1   |   Double-blind peer review   |   Open Access   |   3 issues/year   |   Thai • English";
  color: #4f4661;
  background: #faf9fc;
  border-bottom: 1px solid #e2dfeb;
  font-size: 13px;
  line-height: 1.45;
  text-align: center;
  word-spacing: 8px;
}

/* Remove the unexplained reserve below the custom four-column footer while
   retaining the OJS/PKP brand element whenever the platform outputs it. */
.pkp_structure_footer_wrapper {
  min-height: 0 !important;
  margin-top: 42px !important;
  padding: 0 !important;
}
.pkp_structure_footer {
  min-height: 0 !important;
  padding: 28px 28px 12px !important;
}
.pkp_footer_content {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.jil-footer-bottom {
  margin-top: 18px !important;
  padding-top: 10px !important;
}
.pkp_brand_footer {
  min-height: 0 !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.pkp_brand_footer:empty { display: none !important; }
.pkp_brand_footer img { width: auto !important; max-height: 22px !important; }

@media (min-width: 768px) and (max-width: 991px) {
  .pkp_structure_head .pkp_head_wrapper::before { left: 20px; }
  .pkp_structure_head .pkp_navigation_user_wrapper { right: 20px !important; }
  .pkp_structure_head .pkp_site_name_wrapper::after {
    max-width: 330px;
    font-size: 12px;
  }
  .pkp_structure_head .pkp_site_name { width: 390px !important; }
  .pkp_structure_head .pkp_site_name .is_img { width: 380px !important; }
  .pkp_structure_head .pkp_site_name .is_img img,
  .pkp_structure_head .pkp_site_name_logo { width: 355px !important; max-width: 355px !important; }
  .pkp_structure_head .pkp_navigation_primary > li > a,
  .pkp_structure_head .pkp_navigation_search_wrapper a { padding-right: 11px; padding-left: 11px; }
}

@media (max-width: 767px) {
  .pkp_structure_head .pkp_head_wrapper {
    padding: 32px 14px 0 !important;
  }
  .pkp_structure_head .pkp_head_wrapper::before {
    top: 8px;
    left: 14px;
    font-size: 9px;
  }
  .pkp_structure_head .pkp_navigation_user_wrapper {
    position: absolute !important;
    top: 1px !important;
    right: 8px !important;
    padding: 0 !important;
  }
  .pkp_structure_head .pkp_navigation_user > li > a {
    padding: 7px 6px;
    font-size: 9px;
  }
  .pkp_structure_head .pkp_site_name_wrapper {
    height: 90px !important;
    min-height: 90px !important;
  }
  .pkp_structure_head .pkp_site_name_wrapper::after { display: none; }
  .pkp_structure_head .pkp_site_name {
    width: calc(100% - 64px) !important;
    height: 90px !important;
    padding: 14px 0 !important;
  }
  .pkp_structure_head .pkp_site_name .is_img {
    width: 250px !important;
    max-width: 100% !important;
    height: 62px !important;
  }
  .pkp_structure_head .pkp_site_name .is_img img,
  .pkp_structure_head .pkp_site_name_logo {
    width: 240px !important;
    max-width: 240px !important;
    max-height: 62px !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle {
    position: absolute !important;
    top: 57px !important;
    right: 14px !important;
    z-index: 1002;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border: 1px solid #d7d1e2 !important;
    box-shadow: 0 5px 16px rgba(39, 29, 61, .12);
  }
  .pkp_structure_head .pkp_site_nav_menu {
    display: block !important;
    visibility: hidden;
    position: fixed !important;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    width: min(86vw, 350px);
    height: 100vh;
    margin: 0 !important;
    padding: 82px 22px 28px !important;
    overflow-y: auto;
    color: var(--jil-ink);
    background: #fff !important;
    border: 0 !important;
    box-shadow: 16px 0 42px rgba(23, 15, 37, .25);
    opacity: 0;
    transform: translateX(-104%);
    transition: transform .24s ease, opacity .2s ease, visibility .24s;
  }
  .pkp_structure_head .pkp_site_nav_menu--isOpen {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row {
    min-height: 0 !important;
    background: transparent !important;
    box-shadow: none;
    clip-path: none;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li {
    display: block;
    width: 100%;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_search_wrapper a {
    display: flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 10px;
    color: var(--jil-deep) !important;
    background: transparent !important;
    border-bottom: 1px solid #e8e4ef !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a:hover,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a:focus {
    background: var(--jil-lavender) !important;
    border-left: 3px solid var(--jil-blue) !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary .dropdown-menu {
    position: static;
    width: 100%;
    padding: 5px 8px 10px 18px;
    background: #f8f6fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .pkp_structure_head #navigationPrimary > li > a[href*="/submission"] {
    justify-content: center;
    min-height: 46px;
    margin: 16px 0 0;
    color: #fff !important;
    background: var(--jil-deep) !important;
    border-color: var(--jil-deep) !important;
  }
  .pkp_structure_head::after {
    padding: 9px 12px;
    content: "●  TCI Tier 1   •   Open Access   •   Thai / English";
    font-size: 10px;
    line-height: 1.45;
    word-spacing: 2px;
  }
  .pkp_structure_footer_wrapper { margin-top: 30px !important; }
  .pkp_structure_footer { padding: 24px 18px 10px !important; }
  .jil-footer-bottom { margin-top: 16px !important; padding-top: 9px !important; }
  .pkp_brand_footer { margin-top: 6px !important; }
}

@media (max-width: 359px) {
  .pkp_structure_content { padding: 0 10px; }
  .pkp_structure_main { padding-right: 16px; padding-left: 16px; }
  .jil-footer-grid { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  .jil-footer-brand { grid-column: 1 / -1; }
  .jil-footer-bottom { font-size: 8px; }
}

/* ==========================================================
   PHASE 2.1 CALIBRATION — WORDMARK AND EDITORIAL HIERARCHY
   ========================================================== */
@media (min-width: 768px) {
  .pkp_structure_head .pkp_head_wrapper { padding-top: 0 !important; }
  .pkp_site_name_wrapper {
    width: 100% !important;
    height: 110px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .pkp_site_name {
    width: 430px !important;
    max-width: none !important;
    height: 110px !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    overflow: visible !important;
  }
  .pkp_site_name .is_img {
    display: flex !important;
    align-items: center !important;
    width: 430px !important;
    max-width: none !important;
    height: 86px !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .pkp_site_name .is_img img,
  .pkp_site_name_logo {
    display: block !important;
    width: 395px !important;
    max-width: 395px !important;
    height: auto !important;
    max-height: 86px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .pkp_site_nav_menu,
  .pkp_navigation_primary_row {
    background: transparent !important;
  }
  .pkp_navigation_primary_row { min-height: 52px; }
  .pkp_navigation_primary > li > a,
  .pkp_navigation_search_wrapper a { padding-top: 13px; padding-bottom: 12px; }
  .pkp_navigation_user_wrapper { top: 10px; }
}

.pkp_structure_main .cmp_breadcrumbs {
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 11px 15px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.pkp_structure_main .cmp_breadcrumbs ol,
.pkp_structure_main .cmp_breadcrumbs ul {
  margin: 0 !important;
  padding: 0 !important;
}
.pkp_structure_main .page_title,
.pkp_structure_main .obj_article_details .page_title {
  margin: 0 0 26px !important;
  padding: 10px 0 18px !important;
  font-size: clamp(29px, 2.35vw, 34px) !important;
  font-weight: 600 !important;
  line-height: 1.34 !important;
  letter-spacing: -.018em !important;
}

@media (max-width: 767px) {
  .pkp_site_name_wrapper {
    width: 100% !important;
    height: 84px !important;
    min-height: 84px !important;
    overflow: visible !important;
  }
  .pkp_site_name {
    width: calc(100% - 58px) !important;
    max-width: none !important;
    height: 84px !important;
    margin: 0 !important;
    padding: 11px 0 !important;
    overflow: visible !important;
  }
  .pkp_site_name .is_img {
    display: flex !important;
    align-items: center !important;
    width: 265px !important;
    max-width: 100% !important;
    height: 62px !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .pkp_site_name .is_img img,
  .pkp_site_name_logo {
    display: block !important;
    width: 255px !important;
    max-width: 255px !important;
    height: auto !important;
    max-height: 60px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .pkp_site_nav_toggle { top: 22px !important; }
  .pkp_structure_main .cmp_breadcrumbs {
    margin-bottom: 20px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
  }
  .pkp_structure_main .page_title,
  .pkp_structure_main .obj_article_details .page_title {
    margin-bottom: 22px !important;
    padding: 9px 0 16px !important;
    font-size: 24px !important;
    line-height: 1.38 !important;
  }
}

/* ==========================================================
   PHASE 2.3 FINAL OVERRIDES — V21 MINIMAL + SAFE NAVIGATION
   These rules intentionally come last so they supersede the experimental
   Phase 2.2 off-canvas layer and restore OJS' native open/close state.
   ========================================================== */

/* Minimal elevation: structure comes from spacing, borders and colour. */
:root {
  --jil-shadow-sm: 0 1px 3px rgba(39, 29, 61, .035);
  --jil-shadow-md: 0 6px 18px rgba(39, 29, 61, .075);
}
.pkp_structure_head,
.pkp_structure_main,
.page_index_journal .homepage_about,
.cmp_announcements,
.obj_issue_toc > .heading,
.obj_article_summary,
.obj_article_details .entry_details,
.pkp_structure_sidebar .pkp_block {
  box-shadow: none !important;
}
.obj_article_summary:hover {
  border-color: #c8c1d8;
  box-shadow: none !important;
  transform: none !important;
}

/* Compact V21 masthead. */
.pkp_structure_head {
  position: relative;
  overflow: visible !important;
  background: linear-gradient(110deg, #30234d 0%, #513c78 58%, #405aa8 100%) !important;
  border: 0 !important;
}
.pkp_structure_head .pkp_head_wrapper {
  position: relative;
  padding: 30px 28px 0 !important;
}
.pkp_structure_head .pkp_head_wrapper::before {
  top: 7px;
  left: 28px;
  font-size: 10px;
  font-weight: 500;
}
.pkp_structure_head .pkp_navigation_user_wrapper {
  top: 0 !important;
  right: 28px !important;
}
.pkp_structure_head .pkp_navigation_user > li > a {
  padding: 7px 8px;
  font-size: 10px;
}
.pkp_structure_head .pkp_site_name_wrapper {
  position: relative;
  width: 100% !important;
  height: 92px !important;
  min-height: 92px !important;
  overflow: visible !important;
  background: #fff !important;
  box-shadow: 0 0 0 100vmax #fff !important;
  clip-path: inset(0 -100vmax);
}
.pkp_structure_head .pkp_site_name_wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 380px;
  max-width: 42%;
  height: 68px;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='380' height='68' viewBox='0 0 380 68'%3E%3Ctext x='190' y='19' text-anchor='middle' fill='%2366707C' font-family='Noto Sans,Arial,sans-serif' font-size='10' font-weight='600' letter-spacing='2'%3EESTABLISHED 2020%3C/text%3E%3Ctext x='40' y='52' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='15' font-weight='700'%3EInformation%3C/text%3E%3Ccircle cx='142' cy='47' r='3' fill='%2359CBE8'/%3E%3Ctext x='157' y='52' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='15' font-weight='700'%3ELearning%3C/text%3E%3Ccircle cx='241' cy='47' r='3' fill='%2359CBE8'/%3E%3Ctext x='256' y='52' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='15' font-weight='700'%3EInnovation%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  transform: translateY(-50%);
}
.pkp_structure_head .pkp_site_name {
  width: 360px !important;
  max-width: 52% !important;
  height: 92px !important;
  margin: 0 !important;
  padding: 13px 0 !important;
}
.pkp_structure_head .pkp_site_name .is_img {
  display: flex !important;
  align-items: center !important;
  width: 350px !important;
  max-width: 100% !important;
  height: 66px !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.pkp_structure_head .pkp_site_name .is_img img,
.pkp_structure_head .pkp_site_name_logo {
  display: block !important;
  width: 330px !important;
  max-width: 330px !important;
  height: auto !important;
  max-height: 66px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Compact desktop navigation with a restrained dropdown. */
.pkp_structure_head .pkp_site_nav_menu,
.pkp_structure_head .pkp_navigation_primary_row {
  background: var(--jil-deep) !important;
}
.pkp_structure_head .pkp_navigation_primary_row {
  min-height: 52px !important;
  box-shadow: 0 0 0 100vmax var(--jil-deep) !important;
  clip-path: inset(0 -100vmax);
}
.pkp_structure_head .pkp_navigation_primary > li { position: relative; }
.pkp_structure_head .pkp_navigation_primary > li > a,
.pkp_structure_head .pkp_navigation_search_wrapper a {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 14px !important;
  color: #fff !important;
  border-bottom: 2px solid transparent;
  font-size: 13px;
  line-height: 1.3;
}
.pkp_structure_head .pkp_navigation_primary > li:first-child > a,
.pkp_structure_head .pkp_navigation_primary > li > a:hover,
.pkp_structure_head .pkp_navigation_primary > li > a:focus,
.pkp_structure_head .pkp_navigation_primary > li > a[aria-current="page"],
.pkp_structure_head .pkp_navigation_primary > li > a[aria-expanded="true"] {
  background: rgba(255, 255, 255, .035) !important;
  border-bottom-color: var(--jil-blue) !important;
}
.pkp_structure_head .pkp_navigation_primary .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  min-width: 210px;
  margin: 0;
  padding: 5px;
  background: #fff !important;
  border: 1px solid var(--jil-line) !important;
  border-top: 2px solid var(--jil-blue) !important;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 6px 18px rgba(39, 29, 61, .09) !important;
}
.pkp_structure_head .pkp_navigation_primary .dropdown-menu a {
  display: block;
  min-height: 38px;
  padding: 9px 11px !important;
  color: var(--jil-deep) !important;
  background: #fff !important;
  border: 0 !important;
  font-size: 12px;
  line-height: 1.45;
}
.pkp_structure_head .pkp_navigation_primary .dropdown-menu a:hover,
.pkp_structure_head .pkp_navigation_primary .dropdown-menu a:focus {
  color: var(--jil-deep) !important;
  background: var(--jil-lavender) !important;
}
.pkp_structure_head .pkp_navigation_primary li.open > .dropdown-menu,
.pkp_structure_head .pkp_navigation_primary li:hover > .dropdown-menu,
.pkp_structure_head .pkp_navigation_primary li:focus-within > .dropdown-menu,
.pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] + .dropdown-menu,
.pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] ~ .dropdown-menu {
  display: block !important;
}
.pkp_structure_head #navigationPrimary > li > a[href*="/submission"] {
  min-height: 38px;
  margin: 7px 0 7px 18px;
  padding: 0 17px !important;
  border-radius: 6px;
  font-size: 12px;
}

/* Self-contained journal facts strip. All circular markers are PSU Sky Blue. */
.pkp_structure_head::after {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  padding: 0;
  content: "";
  background-color: #faf9fc;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='850' height='40' viewBox='0 0 850 40'%3E%3Ccircle cx='18' cy='20' r='3.5' fill='%2359CBE8'/%3E%3Ctext x='32' y='25' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='13'%3ETCI Tier 1%3C/text%3E%3Cpath d='M124 10V30M335 10V30M465 10V30M602 10V30' stroke='%23D7D2E0'/%3E%3Ctext x='144' y='25' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='13'%3EDouble-blind peer review%3C/text%3E%3Ctext x='355' y='25' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='13'%3EOpen Access%3C/text%3E%3Ctext x='485' y='25' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='13'%3E3 issues/year%3C/text%3E%3Ctext x='622' y='25' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='13'%3EThai%3C/text%3E%3Ccircle cx='670' cy='20' r='3.5' fill='%2359CBE8'/%3E%3Ctext x='684' y='25' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='13'%3EEnglish%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 850px 40px;
  border-bottom: 1px solid #e2dfeb;
}

@media (min-width: 768px) and (max-width: 991px) {
  .pkp_structure_head .pkp_head_wrapper { padding-right: 20px !important; padding-left: 20px !important; }
  .pkp_structure_head .pkp_head_wrapper::before { left: 20px; }
  .pkp_structure_head .pkp_navigation_user_wrapper { right: 20px !important; }
  .pkp_structure_head .pkp_site_name_wrapper::after { width: 320px; max-width: 43%; }
  .pkp_structure_head .pkp_site_name { width: 315px !important; }
  .pkp_structure_head .pkp_site_name .is_img { width: 305px !important; }
  .pkp_structure_head .pkp_site_name .is_img img,
  .pkp_structure_head .pkp_site_name_logo { width: 290px !important; max-width: 290px !important; }
  .pkp_structure_head .pkp_navigation_primary > li > a,
  .pkp_structure_head .pkp_navigation_search_wrapper a { padding-right: 9px !important; padding-left: 9px !important; font-size: 12px; }
  .pkp_structure_head::after { background-size: 760px auto; }
}

/* Mobile: use OJS' native menu state as a compact accordion panel. No fixed
   positioning, no off-canvas transform and no custom JavaScript dependency. */
@media (max-width: 767px) {
  .pkp_structure_head .pkp_head_wrapper {
    padding: 28px 14px 0 !important;
  }
  .pkp_structure_head .pkp_head_wrapper::before {
    top: 7px;
    left: 14px;
    font-size: 8px;
  }
  .pkp_structure_head .pkp_navigation_user_wrapper {
    position: absolute !important;
    top: 0 !important;
    right: 8px !important;
    padding: 0 !important;
  }
  .pkp_structure_head .pkp_navigation_user > li > a {
    padding: 6px 5px;
    font-size: 8px;
  }
  .pkp_structure_head .pkp_site_name_wrapper {
    height: 76px !important;
    min-height: 76px !important;
  }
  .pkp_structure_head .pkp_site_name_wrapper::after { display: none !important; }
  .pkp_structure_head .pkp_site_name {
    width: calc(100% - 58px) !important;
    max-width: calc(100% - 58px) !important;
    height: 76px !important;
    padding: 11px 0 !important;
  }
  .pkp_structure_head .pkp_site_name .is_img {
    width: 225px !important;
    max-width: 100% !important;
    height: 54px !important;
  }
  .pkp_structure_head .pkp_site_name .is_img img,
  .pkp_structure_head .pkp_site_name_logo {
    width: 215px !important;
    max-width: 215px !important;
    max-height: 54px !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle {
    position: absolute !important;
    top: 45px !important;
    right: 14px !important;
    z-index: 5;
    width: 42px;
    height: 38px;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border: 1px solid #d7d1e2 !important;
    border-radius: 5px;
    box-shadow: none !important;
  }
  .pkp_structure_head .pkp_site_nav_menu {
    display: none !important;
    visibility: visible !important;
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto;
    width: auto !important;
    height: auto !important;
    margin: 0 -14px !important;
    padding: 4px 14px 12px !important;
    overflow: visible !important;
    color: #fff;
    background: var(--jil-deep) !important;
    border: 0 !important;
    box-shadow: 0 0 0 100vmax var(--jil-deep) !important;
    clip-path: inset(0 -100vmax);
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .pkp_structure_head .pkp_site_nav_menu--isOpen { display: block !important; }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row {
    min-height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    clip-path: none;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li {
    display: block;
    width: 100%;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_search_wrapper a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 42px;
    padding: 9px 8px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
    font-size: 12px;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a:hover,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a:focus {
    background: rgba(255, 255, 255, .06) !important;
    border-left: 2px solid var(--jil-sky) !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary .dropdown-menu {
    display: none;
    position: static !important;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 4px 4px 6px 14px;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 0 5px 5px;
    box-shadow: none !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary .dropdown-menu a {
    min-height: 38px;
    padding: 9px 10px !important;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border-bottom: 1px solid #ece9f1 !important;
    font-size: 12px;
  }
  .pkp_structure_head .pkp_navigation_primary li.open > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary li:focus-within > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] + .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] ~ .dropdown-menu {
    display: block !important;
  }
  .pkp_structure_head #navigationPrimary > li > a[href*="/submission"] {
    justify-content: center;
    min-height: 40px;
    margin: 10px 0 0;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border: 1px solid #fff !important;
  }
  .pkp_structure_head::after {
    height: 36px;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='36' viewBox='0 0 420 36'%3E%3Ccircle cx='18' cy='18' r='3' fill='%2359CBE8'/%3E%3Ctext x='31' y='22' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='11'%3ETCI Tier 1%3C/text%3E%3Ccircle cx='137' cy='18' r='3' fill='%2359CBE8'/%3E%3Ctext x='150' y='22' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='11'%3EOpen Access%3C/text%3E%3Ccircle cx='263' cy='18' r='3' fill='%2359CBE8'/%3E%3Ctext x='276' y='22' fill='%2330234D' font-family='Noto Sans,Arial,sans-serif' font-size='11'%3EThai / English%3C/text%3E%3C/svg%3E");
    background-size: min(420px, calc(100% - 12px)) auto;
  }
}

@media (max-width: 359px) {
  .pkp_structure_head .pkp_site_name .is_img img,
  .pkp_structure_head .pkp_site_name_logo { width: 195px !important; max-width: 195px !important; }
  .pkp_structure_head::after { background-size: calc(100% - 8px) auto; }
}

/* ==========================================================
   PHASE 2.4 FINAL CORRECTION — NAVIGATION, ARTICLE AND LINES
   ========================================================== */

/* Prevent the full-bleed header treatments from creating a document-level
   horizontal scrollbar or viewport-length separator artefacts. */
html,
body,
.pkp_structure_page {
  max-width: 100%;
  overflow-x: hidden !important;
  overflow-x: clip !important;
}
.pkp_structure_head .pkp_site_name_wrapper {
  isolation: isolate;
  box-shadow: none !important;
  clip-path: none !important;
}
.pkp_structure_head .pkp_site_name_wrapper::before {
  display: block;
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: 100vw;
  content: "";
  background: #fff;
  transform: translateX(-50%);
}
.pkp_structure_head .pkp_site_name {
  position: relative;
  z-index: 2;
}
.pkp_structure_head .pkp_site_name_wrapper::after { z-index: 2; }
.pkp_structure_head .pkp_navigation_primary_row {
  position: relative;
  z-index: 30;
  overflow: visible !important;
  box-shadow: none !important;
  clip-path: none !important;
}
.pkp_structure_head .pkp_navigation_primary_row::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: 100vw;
  content: "";
  background: var(--jil-deep);
  transform: translateX(-50%);
}
.pkp_structure_head .pkp_navigation_primary_wrapper,
.pkp_structure_head .pkp_navigation_primary,
.pkp_structure_head .pkp_navigation_search_wrapper {
  position: relative;
  z-index: 2;
}
.pkp_structure_head::after {
  position: relative;
  z-index: 1;
  margin: 0 !important;
}

/* Desktop dropdown: remove clipping and reset every hidden-state property
   used by OJS/Default Theme. This keeps click, hover and keyboard paths valid. */
@media (min-width: 992px) {
  .pkp_structure_head .pkp_navigation_primary .dropdown-menu {
    visibility: hidden;
    display: block !important;
    top: calc(100% - 1px) !important;
    left: 0 !important;
    z-index: 1200 !important;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .14s ease, transform .14s ease, visibility .14s;
  }
  .pkp_structure_head .pkp_navigation_primary li.open > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary li:hover > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary li:focus-within > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] + .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] ~ .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary .dropdown-menu[aria-hidden="false"] {
    visibility: visible !important;
    display: block !important;
    left: 0 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Remove Default Theme layout separators that became visible after the grid
   was widened. Content sections keep their own local rules. */
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_sidebar::before,
.pkp_structure_sidebar::after,
.obj_article_details > .row::before,
.obj_article_details > .row::after {
  display: none !important;
  content: none !important;
}
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.obj_article_details > .row {
  border-right: 0 !important;
  border-left: 0 !important;
}
.pkp_structure_content,
.pkp_structure_sidebar,
.obj_article_details > .row {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.pkp_structure_content { margin-top: 18px !important; }
/* Default Theme floats both columns. Establish a new formatting context
   without restoring the decorative pseudo-element separator lines. */
.pkp_structure_content { display: flow-root !important; }
.pkp_structure_footer_wrapper { clear: both; }
.pkp_page_index .pkp_structure_main { padding-top: 24px !important; }

/* V21 article typography and a single consolidated details panel. */
.pkp_page_article .pkp_structure_main {
  padding: 26px 32px 56px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff;
}
.pkp_page_article .obj_article_details .page_title,
.pkp_page_article .page_title {
  margin-bottom: 22px !important;
  padding: 8px 0 16px !important;
  font-size: clamp(26px, 2vw, 30px) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.015em !important;
}
.pkp_page_article .obj_article_details > .row {
  gap: 24px;
}
.pkp_page_article .obj_article_details .main_entry {
  flex-basis: 68%;
}
.pkp_page_article .obj_article_details .entry_details {
  position: sticky;
  top: 18px;
  flex-basis: 30%;
  padding: 16px !important;
  background: #fff;
  border: 1px solid var(--jil-line) !important;
  border-radius: 10px;
  overflow: visible;
}
.pkp_page_article .obj_article_details .entry_details > .item {
  margin: 0 !important;
  padding: 12px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--jil-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.pkp_page_article .obj_article_details .entry_details > .item:first-child { padding-top: 0 !important; }
.pkp_page_article .obj_article_details .entry_details > .item:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}
.pkp_page_article .obj_article_details .main_entry > .item {
  margin-bottom: 22px;
  padding-bottom: 20px;
}
.pkp_page_article .obj_article_details .citation_display,
.pkp_page_article .obj_article_details .item.references {
  font-size: 13px;
  line-height: 1.65;
}

/* The Default Theme can override the foreground without overriding the white
   background, producing an apparently empty More Citation Formats control. */
.obj_article_details .citation_display button,
.obj_article_details .citation_display .cmp_button,
.obj_article_details .citation_formats_button,
.obj_article_details .item.citation button,
.obj_article_details .item.citation .cmp_button,
.obj_article_details .item.citation select {
  min-height: 38px;
  color: var(--jil-deep) !important;
  background: #fff !important;
  border: 1px solid #aeb4bd !important;
  border-radius: 5px;
  box-shadow: none !important;
  opacity: 1 !important;
  text-indent: 0 !important;
}
.obj_article_details .citation_display button:hover,
.obj_article_details .citation_display button:focus,
.obj_article_details .citation_formats_button:hover,
.obj_article_details .citation_formats_button:focus,
.obj_article_details .item.citation .cmp_button:hover,
.obj_article_details .item.citation .cmp_button:focus {
  color: #fff !important;
  background: var(--jil-deep) !important;
  border-color: var(--jil-deep) !important;
}

/* OJS changes to its compact navigation at 992 px, so the visible control and
   safe accordion behaviour must use the same breakpoint. */
@media (max-width: 991px) {
  .pkp_structure_head .pkp_site_name_wrapper::after { display: none !important; }
  .pkp_structure_head .pkp_site_name {
    width: calc(100% - 64px) !important;
    max-width: calc(100% - 64px) !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle {
    visibility: visible !important;
    display: flex !important;
    position: absolute !important;
    top: 45px !important;
    right: 14px !important;
    z-index: 100 !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 38px !important;
    padding: 0 !important;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border: 1px solid #cfc9dc !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle::before {
    display: block !important;
    width: 100%;
    content: "☰" !important;
    color: var(--jil-deep) !important;
    font-family: Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center;
    transform: none !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle::after { display: none !important; content: none !important; }
  .pkp_structure_head .pkp_site_nav_toggle--transform::before,
  .pkp_structure_head .pkp_site_nav_toggle[aria-expanded="true"]::before {
    content: "×" !important;
    font-size: 28px !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .pkp_structure_head .pkp_site_nav_menu {
    display: none !important;
    visibility: visible !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 -14px !important;
    padding: 4px 14px 10px !important;
    overflow: visible !important;
    background: var(--jil-deep) !important;
    border: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .pkp_structure_head .pkp_site_nav_menu--isOpen { display: block !important; }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row {
    min-height: 0 !important;
    background: transparent !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row::before { display: none !important; }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_search_wrapper a {
    min-height: 40px;
    padding: 8px 9px !important;
    font-size: 12px;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary .dropdown-menu {
    visibility: visible;
    display: none;
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100%;
    min-width: 0;
    pointer-events: auto;
    opacity: 1;
    transform: none;
  }
  .pkp_structure_head .pkp_navigation_primary li.open > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary li:focus-within > .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] + .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary a[aria-expanded="true"] ~ .dropdown-menu,
  .pkp_structure_head .pkp_navigation_primary .dropdown-menu[aria-hidden="false"] {
    display: block !important;
  }
}

/* Mobile article reading order:
   title → graphical abstract/actions → authors → published → keywords →
   abstract → citation/other metadata → references. */
@media (max-width: 767px) {
  .pkp_page_article .pkp_structure_main {
    padding: 20px 18px 40px !important;
  }
  .pkp_page_article .obj_article_details .page_title,
  .pkp_page_article .page_title {
    margin-bottom: 18px !important;
    padding: 7px 0 14px !important;
    font-size: 22px !important;
    line-height: 1.34 !important;
  }
  .pkp_page_article .obj_article_details > .row {
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
  }
  .pkp_page_article .obj_article_details .main_entry,
  .pkp_page_article .obj_article_details .entry_details {
    display: contents !important;
  }
  .pkp_page_article .obj_article_details .main_entry > .item,
  .pkp_page_article .obj_article_details .entry_details > .item {
    width: 100%;
    margin: 0 !important;
    padding: 16px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--jil-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    order: 10;
  }
  .pkp_page_article .obj_article_details .entry_details > .item.cover_image,
  .pkp_page_article .obj_article_details .entry_details > .item:has(.cover_image) { order: 1; }
  .pkp_page_article .obj_article_details .entry_details > .item.galleys,
  .pkp_page_article .obj_article_details .entry_details > .item:has(.galleys_links),
  .pkp_page_article .obj_article_details .entry_details > .item:has(.obj_galley_link),
  .pkp_page_article .obj_article_details .entry_details > .item:has(a[href*="galley"]),
  .pkp_page_article .obj_article_details .entry_details > .item:has(a[href*="graphical"]) { order: 2; }
  .pkp_page_article .obj_article_details .main_entry > .item.authors { order: 3; }
  .pkp_page_article .obj_article_details .entry_details > .item.published { order: 4; }
  .pkp_page_article .obj_article_details .main_entry > .item.keywords { order: 5; }
  .pkp_page_article .obj_article_details .main_entry > .item.abstract { order: 6; }
  .pkp_page_article .obj_article_details .main_entry > .item.doi { order: 7; }
  .pkp_page_article .obj_article_details .entry_details > .item.citation,
  .pkp_page_article .obj_article_details .entry_details > .item:has(.citation_display) { order: 8; }
  .pkp_page_article .obj_article_details .main_entry > .item.references { order: 20; }
  .pkp_page_article .obj_article_details .entry_details .cover_image img {
    width: 100%;
    max-width: none;
  }
  .pkp_page_article .obj_article_details .abstract {
    font-size: 14.5px;
    line-height: 1.75;
  }
}

/* ==========================================================
   PHASE 2.5 — LIVE THAIJO DOM CORRECTION
   Exact selectors verified against OJS 3.3.0.8 on JIL.
   ========================================================== */

/* OJS emits nested <ul> elements without a .dropdown-menu class. The earlier
   class-only selector therefore never reached the actual About and Author
   Guidelines menus. */
@media (min-width: 992px) {
  .pkp_structure_head #navigationPrimary > li { position: relative; }
  .pkp_structure_head #navigationPrimary > li > ul {
    visibility: hidden !important;
    display: block !important;
    position: absolute !important;
    top: calc(100% - 1px) !important;
    left: 0 !important;
    z-index: 1500 !important;
    min-width: 230px;
    max-width: 330px;
    margin: 0 !important;
    padding: 6px !important;
    pointer-events: none !important;
    opacity: 0 !important;
    background: #fff !important;
    border: 1px solid var(--jil-line) !important;
    border-top: 3px solid var(--jil-sky) !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 8px 20px rgba(39, 29, 61, .10) !important;
    transform: translateY(-4px);
    transition: opacity .14s ease, transform .14s ease, visibility .14s;
  }
  .pkp_structure_head #navigationPrimary > li:hover > ul,
  .pkp_structure_head #navigationPrimary > li:focus-within > ul,
  .pkp_structure_head #navigationPrimary > li.open > ul,
  .pkp_structure_head #navigationPrimary > li > a[aria-expanded="true"] + ul {
    visibility: visible !important;
    display: block !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .pkp_structure_head #navigationPrimary > li > ul > li,
  .pkp_structure_head #navigationPrimary > li > ul > li > a {
    display: block !important;
    width: 100% !important;
  }
  .pkp_structure_head #navigationPrimary > li > ul > li > a {
    min-height: 38px;
    padding: 9px 11px !important;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #ece9f1 !important;
    font-size: 12px;
    line-height: 1.45;
    white-space: normal;
  }
  .pkp_structure_head #navigationPrimary > li > ul > li:last-child > a {
    border-bottom: 0 !important;
  }
  .pkp_structure_head #navigationPrimary > li > ul > li > a:hover,
  .pkp_structure_head #navigationPrimary > li > ul > li > a:focus {
    color: var(--jil-deep) !important;
    background: #eef9fd !important;
  }
  .pkp_structure_head #navigationPrimary > li:has(> ul) > a::after {
    display: inline-block;
    box-sizing: border-box;
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    content: "";
    /* Default Theme draws its caret using borders on this same pseudo-element. */
    border: 0 !important;
    background: var(--jil-sky);
    background-image: none;
    border-radius: 50%;
    box-shadow: none;
    transform: none;
  }

  /* Account links at the right edge of the shared header container.
     Reset BOTH Default Theme's left:50% and translateX(-50%). */
  .pkp_structure_head .pkp_navigation_user_wrapper {
    visibility: visible !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: 28px !important;
    left: auto !important;
    transform: none !important;
    z-index: 1600 !important;
    width: auto !important;
    padding: 0 !important;
    opacity: 1 !important;
  }
  .pkp_structure_head .pkp_navigation_user {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 30px;
  }
  .pkp_structure_head .pkp_navigation_user::before,
  .pkp_structure_head .pkp_navigation_user::after {
    display: none;
    content: none;
  }
  .pkp_structure_head .pkp_navigation_user > li {
    position: relative;
    float: none;
    width: auto;
  }
  .pkp_structure_head .pkp_navigation_user > li > a {
    display: flex !important;
    align-items: center;
    min-height: 30px;
    margin: 0 !important;
    padding: 0 8px !important;
    color: #fff !important;
    font-size: 11px !important;
  }
  .pkp_structure_head .pkp_navigation_primary_wrapper {
    position: relative !important;
  }
  .pkp_structure_head .pkp_navigation_search_wrapper {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 1600 !important;
    width: auto !important;
  }
  .pkp_structure_head .pkp_navigation_search_wrapper a {
    min-height: 50px !important;
    padding: 0 8px !important;
    color: #fff !important;
    border: 0 !important;
    font-size: 12px !important;
  }
  .pkp_structure_head #navigationPrimary > li:has(> a[href*="/user/setLocale/"]) {
    top: auto !important;
    right: auto !important;
    position: relative !important;
    z-index: 1600 !important;
  }
  .pkp_structure_head #navigationPrimary > li:has(> a[href*="/user/setLocale/"]) > a {
    min-height: 30px !important;
    padding: 0 7px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 11px !important;
  }
}

/* Turn the journal's first highlighted Announcement into the editable Call
   for Papers banner. About the Journal then follows the complete Current
   Issue, matching the V21 reading sequence. */
.pkp_page_index .page_index_journal {
  display: flex;
  flex-direction: column;
}
.pkp_page_index .page_index_journal > .cmp_announcements { order: 1; }
.pkp_page_index .page_index_journal > .current_issue { order: 2; }
.pkp_page_index .page_index_journal > .homepage_about {
  order: 3;
  margin-top: 48px !important;
  margin-bottom: 0 !important;
}
.pkp_page_index .cmp_announcements.highlight_first {
  position: relative;
  margin: 0 0 34px !important;
  padding: 0 !important;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 88% -25%, transparent 0 115px, rgba(255,255,255,.035) 116px 150px, transparent 151px 182px, rgba(255,255,255,.025) 183px 216px, transparent 217px), linear-gradient(120deg, #47336d 0%, #584184 55%, #405aa8 100%) !important;
  border: 0 !important;
  border-bottom: 4px solid var(--jil-sky) !important;
  border-radius: 8px;
}
.pkp_page_index .cmp_announcements.highlight_first::before,
.pkp_page_index .cmp_announcements.highlight_first::after,
.pkp_page_index .cmp_announcements.highlight_first > .obj_announcement_summary::before,
.pkp_page_index .cmp_announcements.highlight_first > .obj_announcement_summary::after {
  display: none !important;
  content: none !important;
}
.pkp_page_index .cmp_announcements.highlight_first > h2,
.pkp_page_index .cmp_announcements.highlight_first > .more {
  display: none !important;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  position: relative;
  z-index: 2;
  margin: 0 !important;
  padding: 27px 30px !important;
  color: #fff;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary h3 {
  max-width: 760px;
  margin: 0 0 8px !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary h3 a {
  color: #fff !important;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary .date {
  margin-bottom: 7px;
  color: var(--jil-sky) !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary .summary {
  color: #e7e1ef !important;
  font-size: 13px;
  line-height: 1.6;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary .summary p {
  max-width: 750px;
  margin: 0 0 14px !important;
  color: inherit !important;
}
.pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary .read_more {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px !important;
  color: var(--jil-deep) !important;
  background: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
}
.pkp_page_index .homepage_about {
  color: #fff;
  background: linear-gradient(120deg, #8068ad 0%, #6f579f 55%, #5b448f 100%) !important;
  border: 1px solid #71589f !important;
  border-top: 4px solid var(--jil-sky) !important;
  box-shadow: none !important;
}
.pkp_page_index .homepage_about h2,
.pkp_page_index .homepage_about p,
.pkp_page_index .homepage_about .homepage_about_description {
  color: #fff !important;
}
.pkp_page_index .homepage_about a[href] { color: #fff; }
/* The CTA must be a real <a> added to the existing homepage summary.
   CSS decorates it; it does not generate or inject a navigation link. */
.pkp_page_index .homepage_about .jil-about-more {
  margin: 18px 0 0 !important;
}
.pkp_page_index .homepage_about a.jil-about-link,
.pkp_page_index .homepage_about a[href="https://so04.tci-thaijo.org/index.php/jil/about"] {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 16px;
  color: #5b448f !important;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  box-shadow: none;
}
.pkp_page_index .homepage_about a.jil-about-link:hover,
.pkp_page_index .homepage_about a[href="https://so04.tci-thaijo.org/index.php/jil/about"]:hover {
  color: #30234d !important;
  background: #f2eff8;
  text-decoration: underline;
}
.pkp_page_index .homepage_about a.jil-about-link:focus-visible,
.pkp_page_index .homepage_about a[href="https://so04.tci-thaijo.org/index.php/jil/about"]:focus-visible {
  color: #30234d !important;
  outline: 2px solid #fff;
  outline-offset: 4px;
}
.pkp_page_index .homepage_about a.jil-about-link > span[aria-hidden="true"] {
  color: inherit;
  text-decoration: none;
}

/* A restrained editorial title scale keeps Thai and English titles readable
   when OJS renders both the site sidebar and the article details column. */
.pkp_page_article .obj_article_details .page_title,
.pkp_page_article .page_title {
  max-width: none !important;
  font-size: clamp(23px, 1.65vw, 27px) !important;
  font-weight: 600 !important;
  line-height: 1.38 !important;
  letter-spacing: -.012em !important;
}

@media (max-width: 991px) {
  /* The native OJS toggle stays clear of the logo and receives a visible CSS
     icon even when the Default Theme's icon font is unavailable. */
  .pkp_structure_head .pkp_site_nav_toggle {
    visibility: visible !important;
    display: flex !important;
    top: 45px !important;
    right: 14px !important;
    left: auto !important;
    z-index: 1700 !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle::before {
    display: block !important;
    content: "☰" !important;
    color: var(--jil-deep) !important;
  }
  .pkp_structure_head .pkp_site_nav_toggle--transform::before,
  .pkp_structure_head .pkp_site_nav_toggle[aria-expanded="true"]::before {
    content: "×" !important;
  }

  /* Mobile OJS has no independent submenu toggle in this markup. Showing the
     child links below their parent keeps every destination visible/clickable. */
  .pkp_structure_head #navigationPrimary > li > ul {
    visibility: visible !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 3px 4px 6px 14px !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 0 5px 5px !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .pkp_structure_head #navigationPrimary > li > ul > li > a {
    display: flex !important;
    align-items: center;
    min-height: 37px;
    padding: 8px 10px !important;
    color: var(--jil-deep) !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #ece9f1 !important;
    font-size: 11.5px;
    line-height: 1.4;
  }
}

@media (max-width: 767px) {
  .pkp_page_index .cmp_announcements.highlight_first {
    margin-bottom: 26px !important;
    border-radius: 7px;
  }
  .pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary {
    padding: 22px 20px !important;
  }
  .pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary h3 {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  .pkp_page_index .cmp_announcements.highlight_first .obj_announcement_summary .summary {
    font-size: 12px;
  }
  .pkp_page_index .page_index_journal > .homepage_about {
    margin-top: 36px !important;
  }
  .pkp_page_article .obj_article_details .page_title,
  .pkp_page_article .page_title {
    font-size: 20px !important;
    line-height: 1.42 !important;
  }
}

/* 2.5.1: light mobile navigation; preserve the native toggle and link order. */
@media (max-width: 991px) {
  .pkp_structure_head .pkp_site_nav_menu {
    color: var(--jil-deep) !important;
    background: #f7f5fa !important;
    border-top: 1px solid #e4dfed !important;
    border-bottom: 2px solid var(--jil-sky) !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row,
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_wrapper,
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary,
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary > li,
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary > li > ul {
    background: transparent !important;
    box-shadow: none !important;
  }
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary > li > a {
    color: var(--jil-deep) !important;
    background: transparent !important;
    border-bottom: 1px solid #e4dfed !important;
    font-size: 13px !important;
    line-height: 1.45;
  }
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary > li > ul > li > a {
    min-height: 42px;
    color: #513c78 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 12.5px !important;
  }
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary a:hover,
  .pkp_structure_head .pkp_site_nav_menu #navigationPrimary a:focus-visible {
    color: var(--jil-deep) !important;
    background: #e9f7fb !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_search_wrapper {
    background: transparent !important;
    border-color: #e4dfed !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_search_wrapper a {
    color: var(--jil-deep) !important;
    background: transparent !important;
    font-size: 13px !important;
  }
  .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_user_wrapper {
    position: static !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
  }
  .pkp_structure_head .pkp_site_nav_menu #navigationUser {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .pkp_structure_head .pkp_site_nav_menu #navigationUser a {
    color: var(--jil-deep) !important;
    background: transparent !important;
    padding: 10px !important;
    font-size: 12px !important;
  }
}

/* ==========================================================
   PHASE 2.6 — ARTICLE GUTTERS / COMPACT ARCHIVES
   Page-scoped: does not change the approved homepage or header.
   ========================================================== */

/* Cancel OJS' old negative gutters. The outer .pkp_structure_main padding
   remains the single source of inset for title, body and the details panel. */
.pkp_page_article .obj_article_details > .row {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}
.pkp_page_article .obj_article_details .main_entry,
.pkp_page_article .obj_article_details .entry_details {
  box-sizing: border-box;
  float: none !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
}
.pkp_page_article .obj_article_details .main_entry {
  border-right: 0 !important;
  border-left: 0 !important;
}
.pkp_page_article .obj_article_details .main_entry > .item,
.pkp_page_article .obj_article_details .entry_details > .item {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (min-width: 768px) {
  .pkp_page_article .obj_article_details > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 31%);
    align-items: start;
    gap: 24px;
  }
  .pkp_page_article .obj_article_details .main_entry,
  .pkp_page_article .obj_article_details .entry_details {
    width: 100% !important;
    order: 0;
  }
}
@media (max-width: 767px) {
  .pkp_page_article .obj_article_details > .row { margin-top: 18px !important; }
  /* Keep the existing display:contents and item ordering on small screens. */
}

/* Native /issue/archive: retain its data, links, order, pagination and sidebar.
   CSS can compact the list but cannot infer year groups from text. */
.pkp_page_issue.pkp_op_archive .page_issue_archive > .issues_archive {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none;
}
.pkp_page_issue.pkp_op_archive .page_issue_archive > .issues_archive > li {
  box-sizing: border-box;
  min-width: 0;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--jil-line) !important;
  border-radius: 9px;
  background: #fff;
  box-shadow: none !important;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  column-gap: 16px;
  align-content: start;
  min-height: 118px;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary::before,
.pkp_page_issue.pkp_op_archive .obj_issue_summary::after {
  display: none;
  content: none;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary > .cover {
  grid-column: 1;
  grid-row: 1 / span 2;
  float: none;
  width: 84px;
  margin: 0 !important;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary > .cover img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 124px;
  object-fit: contain;
  object-position: top left;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary > h2 {
  display: flex;
  flex-direction: column;
  grid-column: 2;
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary .series {
  order: -1;
  margin: 0 0 7px;
  color: var(--jil-deep);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary a.title {
  display: block;
  padding: 4px 0;
  color: var(--jil-violet);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary > .description {
  grid-column: 2;
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary > .description p {
  margin: 0 0 8px;
  font-size: inherit;
  line-height: inherit;
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary:not(:has(> .cover)) {
  grid-template-columns: minmax(0, 1fr);
}
.pkp_page_issue.pkp_op_archive .obj_issue_summary:not(:has(> .cover)) > h2,
.pkp_page_issue.pkp_op_archive .obj_issue_summary:not(:has(> .cover)) > .description {
  grid-column: 1;
}
@media (min-width: 768px) {
  .pkp_page_issue.pkp_op_archive .page_issue_archive > .issues_archive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 479px) {
  .pkp_page_issue.pkp_op_archive .page_issue_archive > .issues_archive > li { padding: 12px !important; }
  .pkp_page_issue.pkp_op_archive .obj_issue_summary { grid-template-columns: 70px minmax(0, 1fr); column-gap: 12px; min-height: 100px; }
  .pkp_page_issue.pkp_op_archive .obj_issue_summary > .cover { width: 70px; }
}

/* Optional hand-maintained year index HTML. No effect unless its unique
   .jil-archive-index wrapper is added to an editor-managed page. */
.jil-archive-index { color: var(--jil-ink); }
.jil-archive-index .jil-archive-intro { margin: 0 0 18px; line-height: 1.7; }
.jil-archive-index .jil-archive-year-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.jil-archive-index .jil-archive-year-nav a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 7px 14px; color: var(--jil-violet);
  background: #fff; border: 1px solid #ddd5ea; border-radius: 24px;
  font-size: 13px; font-weight: 600; text-decoration: none;
}
.jil-archive-index .jil-archive-year-nav a:hover { background: var(--jil-lavender); }
.jil-archive-index .jil-archive-year { margin: 0 0 32px; scroll-margin-top: 28px; }
.jil-archive-index .jil-archive-year > h2 {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px;
  margin: 0 0 16px; padding: 0 0 10px; border-bottom: 2px solid var(--jil-violet);
  color: var(--jil-deep); font-size: 23px; font-weight: 500; line-height: 1.4;
}
.jil-archive-index .jil-archive-year > h2 > span { color: var(--jil-muted); font-size: 12px; font-weight: 400; }
.jil-archive-index .jil-archive-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.jil-archive-index .jil-archive-card {
  display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 16px;
  align-items: start; min-width: 0; margin: 0; padding: 16px;
  background: #fff; border: 1px solid var(--jil-line); border-radius: 9px; box-shadow: none;
}
.jil-archive-index .jil-archive-card img { display: block; width: 84px; max-width: 100%; height: 118px; object-fit: contain; object-position: top left; }
.jil-archive-index .jil-archive-card h3 { margin: 0 0 6px; color: var(--jil-deep); font-size: 15px; font-weight: 600; line-height: 1.5; }
.jil-archive-index .jil-archive-card p { margin: 0; font-size: 13px; line-height: 1.6; }
.jil-archive-index .jil-archive-card .jil-issue-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: var(--jil-violet); font-size: 13px; font-weight: 600; }
.jil-archive-index .jil-archive-complete { margin: 26px 0 0; padding: 18px; border-top: 3px solid var(--jil-sky); border-radius: 7px; background: var(--jil-lavender); }
.jil-archive-index .jil-archive-complete a { display: inline-flex; align-items: center; min-height: 44px; color: var(--jil-deep); font-weight: 600; }
.jil-archive-index a:focus-visible,
.pkp_page_issue.pkp_op_archive .obj_issue_summary a:focus-visible { outline: 2px solid var(--jil-violet); outline-offset: 4px; }
@media (min-width: 768px) {
  .jil-archive-index .jil-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
  .jil-archive-index .jil-archive-card { grid-template-columns: 70px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .jil-archive-index .jil-archive-card img { width: 70px; height: 100px; }
}

/* ==========================================================
   PHASE 2.7 — JOURNAL INFORMATION CUSTOM BLOCK
   Exact live block ID. Use with JIL-Journal-Information-Block.html.
   Keep the internal block name journal-information unchanged.
   ========================================================== */
#customblock-journal-information {
  box-sizing: border-box;
  padding: 22px 18px 24px !important;
  color: var(--jil-deep);
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 14px;
  box-shadow: none !important;
}
/* Use OJS' existing heading once, including when Hide block title was enabled.
   Only this block's screen-reader heading is made visible. */
#customblock-journal-information > h2.title {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  color: var(--jil-deep);
  border: 0 !important;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal !important;
}
#customblock-journal-information > .content,
#customblock-journal-information .jil-journal-info {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#customblock-journal-information .jil-info-editor {
  display: grid;
  grid-template-columns: clamp(68px, 29%, 92px) minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin: 0 0 18px;
  padding: 0;
}
#customblock-journal-information .jil-info-portrait {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  max-height: none;
  margin: 0 !important;
  border: 1px solid #e2dced;
  border-radius: 8px;
  aspect-ratio: 6 / 7;
  object-fit: contain;
  background: #f2eff8;
}
#customblock-journal-information .jil-info-editor-text { min-width: 0; }
#customblock-journal-information .jil-info-role {
  display: block;
  margin: 0 0 4px !important;
  padding: 0;
  color: #62718a;
  font-size: 11.5px;
  line-height: 1.4;
}
#customblock-journal-information .jil-info-name {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: var(--jil-deep);
  border: 0 !important;
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}
#customblock-journal-information .jil-info-affiliation {
  margin: 0 !important;
  padding: 0;
  color: #62718a;
  font-size: 11.5px;
  line-height: 1.5;
}
#customblock-journal-information .jil-info-facts { margin: 0; padding: 0; }
#customblock-journal-information .jil-info-facts > dt {
  margin: 14px 0 4px;
  padding: 13px 0 0;
  color: #64748b;
  border-top: 1px solid #e7e9ef;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .085em;
  text-transform: uppercase;
}
#customblock-journal-information .jil-info-facts > dt:first-child { margin-top: 0; }
#customblock-journal-information .jil-info-facts > dd {
  margin: 0;
  padding: 0;
  color: var(--jil-deep);
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.55;
}
#customblock-journal-information a.jil-info-license {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  min-height: 30px;
  padding: 2px 0;
  color: var(--jil-violet);
  background: transparent;
  border: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#customblock-journal-information a.jil-info-license:hover { text-decoration: underline; text-underline-offset: 3px; }
#customblock-journal-information a.jil-info-license:focus-visible { outline: 2px solid var(--jil-violet); outline-offset: 4px; border-radius: 2px; }
#customblock-journal-information .jil-info-cc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}
#customblock-journal-information .jil-info-facts > dd.jil-info-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 8px;
}
#customblock-journal-information .jil-info-inline > span { display: inline-flex; align-items: center; gap: 8px; }
#customblock-journal-information .jil-info-dot {
  display: inline-block;
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  background: var(--jil-sky);
  border: 0;
  border-radius: 50%;
}

/* Phase 2.8 — Publishing Timeline and For Authors only.
   Match the unique content classes so existing custom-block names can be retained.
   Both blocks require their matching HTML; no JavaScript or theme template edits. */
.pkp_block.block_custom:has(.jil-timeline-v28),
.pkp_block.block_custom:has(.jil-for-authors-v28) {
  box-sizing: border-box;
  padding: 24px 22px;
  border: 1px solid #dcd3ed;
  border-radius: 14px;
  box-shadow: none;
  min-width: 0;
}
.pkp_block.block_custom:has(.jil-timeline-v28) {
  background: #f2eef8;
  color: #513d7a;
}
.pkp_block.block_custom:has(.jil-for-authors-v28) {
  background: #302348;
  color: #ffffff;
  border-color: #ded8e8;
}
.pkp_block.block_custom:has(.jil-timeline-v28) > .title,
.pkp_block.block_custom:has(.jil-for-authors-v28) > .title {
  position: static !important;
  left: auto;
  right: auto;
  display: block;
  width: auto;
  height: auto;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  clip: auto;
  clip-path: none;
  overflow: visible;
  white-space: normal;
  background: transparent;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #513d7a;
}
.pkp_block.block_custom:has(.jil-for-authors-v28) > .title {
  color: #d8cfec;
  font-weight: 500;
  margin-bottom: 12px;
}
.pkp_block.block_custom:has(.jil-timeline-v28) > .content,
.pkp_block.block_custom:has(.jil-for-authors-v28) > .content {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-width: 0;
}
.pkp_block.block_custom .jil-timeline-v28,
.pkp_block.block_custom .jil-for-authors-v28 {
  min-width: 0;
  overflow-wrap: anywhere;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-timeline-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 0;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-metric {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 12px 9px 14px;
  border: 0;
  border-top: 1px solid #d9cfe8;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-metric:nth-child(3),
.pkp_block.block_custom .jil-timeline-v28 .jil-metric:nth-child(5) {
  border-left: 1px solid #d9cfe8;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-metric-featured {
  grid-column: 1 / -1;
  padding-top: 4px;
  border-top: 0;
}
.pkp_block.block_custom .jil-timeline-v28 dt {
  order: 2;
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
  color: #5c6d87;
}
.pkp_block.block_custom .jil-timeline-v28 dd {
  order: 1;
  margin: 0;
  padding: 0;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
  color: #5b448f;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-timeline-note {
  margin: 14px 0 0;
  padding: 0;
  font-size: 10.5px;
  line-height: 1.5;
  color: #65718b;
}
.pkp_block.block_custom .jil-for-authors-v28 .jil-authors-heading {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 23px;
  line-height: 1.3;
  font-weight: 500;
  color: #ffffff;
}
.pkp_block.block_custom .jil-for-authors-v28 .jil-authors-description {
  margin: 0 0 16px;
  padding: 0;
  font-size: 14px;
  line-height: 1.65;
  color: #f0ecf7;
}
.pkp_block.block_custom .jil-for-authors-v28 .jil-authors-guidelines {
  display: inline-block;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pkp_block.block_custom .jil-for-authors-v28 .jil-authors-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #ffffff;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: none;
  color: #302348;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 650;
  text-align: center;
  text-decoration: none;
}
.pkp_block.block_custom .jil-for-authors-v28 .jil-authors-submit span {
  color: #007fa5;
}
.pkp_block.block_custom .jil-for-authors-v28 .jil-authors-submit:hover {
  background: #f2eef8;
  border-color: #f2eef8;
}
.pkp_block.block_custom .jil-for-authors-v28 a:focus-visible {
  outline: 3px solid var(--jil-sky);
  outline-offset: 4px;
}

/* Phase 2.9 — editor-friendly Timeline and two new optional custom blocks. */
.pkp_block.block_custom .jil-timeline-v28 .jil-timeline-grid-v29 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-metric-value {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
  color: #5b448f;
}
.pkp_block.block_custom .jil-timeline-v28 .jil-metric-label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
  color: #5c6d87;
}
.pkp_block.block_custom:has(.jil-quick-links-v29),
.pkp_block.block_custom:has(.jil-indexing-v29) {
  box-sizing: border-box;
  min-width: 0;
  padding: 24px 22px;
  background: #ffffff;
  border: 1px solid #dfe3eb;
  border-radius: 14px;
  box-shadow: none;
  color: #302348;
}
.pkp_block.block_custom:has(.jil-quick-links-v29) > .title,
.pkp_block.block_custom:has(.jil-indexing-v29) > .title {
  position: static !important;
  left: auto;
  right: auto;
  display: block;
  clip: auto;
  clip-path: none;
  overflow: visible;
  white-space: normal;
  width: auto;
  height: auto;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  color: #302348;
}
.pkp_block.block_custom:has(.jil-quick-links-v29) > .content,
.pkp_block.block_custom:has(.jil-indexing-v29) > .content {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.pkp_block.block_custom .jil-quick-links-v29 a,
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  gap: 12px;
  min-height: 44px;
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid #e8eaf0;
  border-radius: 0;
  background: transparent;
  color: #435677;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.pkp_block.block_custom .jil-quick-links-v29 a > span:last-child,
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-link > span:last-child {
  flex: 0 0 auto;
  color: #007fa5;
}
.pkp_block.block_custom .jil-quick-links-v29 a:hover,
.pkp_block.block_custom .jil-indexing-v29 a:hover {
  color: #5b448f;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pkp_block.block_custom .jil-quick-links-v29 a:focus-visible,
.pkp_block.block_custom .jil-indexing-v29 a:focus-visible {
  outline: 3px solid var(--jil-sky);
  outline-offset: 3px;
}
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
}
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border: 3px solid var(--jil-sky);
  border-radius: 50%;
  background: #5b448f;
  color: #ffffff;
  font-size: 25px;
  font-weight: 650;
  line-height: 1;
}
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-copy {
  min-width: 0;
  overflow-wrap: anywhere;
}
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-label,
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-period {
  display: block;
  color: #62718a;
  font-size: 11px;
  line-height: 1.5;
}
.pkp_block.block_custom .jil-indexing-v29 .jil-indexing-name {
  display: block;
  margin: 3px 0;
  color: #302348;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.4;
}

/* Phase 2.9.1 — Call for Papers only; keep other Read More arrows. */
.pkp_page_index .obj_announcement_summary
a.read_more[href$="/announcement/view/2419"]::after {
  content: none;
  display: none;
}

/* JIL About 3.0 — scoped content styles. Requires JIL-About-v3.0 HTML.
   No global theme, menu, sidebar, licence or home-page changes. */
.page_about .jil-about-v30 { color: #343842; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.page_about .jil-about-v30 * { box-sizing: border-box; }
.page_about .jil-about-v30 p { margin: 0 0 16px; }
.page_about .jil-about-v30 h2 { margin: 0 0 18px; padding: 0; border: 0; color: #302348; font-size: 24px; font-weight: 650; line-height: 1.4; }
.page_about .jil-about-v30 h3 { margin: 24px 0 10px; padding: 0; border: 0; color: #453260; font-size: 17px; font-weight: 650; line-height: 1.5; }
.page_about .jil-about-v30 a { color: #514078; text-decoration: underline; text-underline-offset: 3px; }
.page_about .jil-about-v30 a:hover { color: #007595; }
.page_about .jil-about-v30 a:focus-visible { outline: 3px solid #59cbe8; outline-offset: 4px; border-radius: 3px; }
.page_about .jil-about-v30 .jil-about-eyebrow { margin: 0 0 10px; color: #5b448f; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.page_about .jil-about-v30 .jil-about-intro { padding: 28px; background: linear-gradient(120deg,#f8f6fc,#eee8f6); border-top: 3px solid #59cbe8; border-radius: 10px; }
.page_about .jil-about-v30 .jil-about-intro h2 { font-size: 28px; }
.page_about .jil-about-v30 .jil-about-intro p:not(.jil-about-eyebrow) { max-width: 70ch; }
.page_about .jil-about-v30 .jil-about-intro a { display: inline-block; padding: 8px 0; font-size: 13px; font-weight: 650; }
.page_about .jil-about-v30 .jil-about-section { margin: 0; padding: 32px 0; border-bottom: 1px solid #e5e2eb; scroll-margin-top: 110px; }
.page_about .jil-about-v30 .jil-about-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 22px; }
.page_about .jil-about-v30 .jil-about-facts > div { padding: 15px 0; border-top: 1px solid #e5e2eb; min-width: 0; }
.page_about .jil-about-v30 .jil-about-facts span { display: block; color: #657087; font-size: 12px; line-height: 1.5; }
.page_about .jil-about-v30 .jil-about-facts strong { display: block; margin-top: 5px; color: #453260; font-size: 15px; font-weight: 650; line-height: 1.5; }
.page_about .jil-about-v30 .jil-about-jump { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 14px 0; border-bottom: 1px solid #e5e2eb; }
.page_about .jil-about-v30 .jil-about-jump a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.page_about .jil-about-v30 .jil-about-scope-list > div { padding: 18px 0 2px; border-top: 1px solid #e5e2eb; }
.page_about .jil-about-v30 .jil-about-scope-list h3 { margin-top: 0; }
.page_about .jil-about-v30 .jil-about-schedule { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0 26px; }
.page_about .jil-about-v30 .jil-about-schedule > div { padding: 12px 0; border-top: 2px solid #d4c8e6; }
.page_about .jil-about-v30 .jil-about-schedule strong, .page_about .jil-about-v30 .jil-about-schedule span { display: block; }
.page_about .jil-about-v30 .jil-about-schedule strong { color: #513d7a; }
.page_about .jil-about-v30 .jil-about-schedule span { font-size: 13px; }
.page_about .jil-about-v30 .jil-about-fee { padding: 22px 24px; background: #f6f3fa; border-left: 3px solid #5b448f; border-radius: 0 8px 8px 0; }
.page_about .jil-about-v30 .jil-about-fee h3 { margin-top: 0; }
.page_about .jil-about-v30 .jil-about-fee p:last-child { margin-bottom: 0; }
.page_about .jil-about-v30 .jil-about-fee-value { color: #5b448f; font-size: 24px; font-weight: 700; line-height: 1.4; }
.page_about .jil-about-v30 .jil-about-fee-value span { display: block; margin-top: 5px; color: #515b70; font-size: 13px; font-weight: 400; }
.page_about .jil-about-v30 .jil-about-policy-links { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.page_about .jil-about-v30 .jil-about-policy-links a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; font-size: 13px; }
.page_about .jil-about-v30 .jil-about-history-list { border-left: 2px solid #d6cce6; padding-left: 20px; }
.page_about .jil-about-v30 .jil-about-history-list > div { padding: 0 0 18px; }
.page_about .jil-about-v30 .jil-about-history-list strong { color: #5b448f; font-size: 15px; }
.page_about .jil-about-v30 .jil-about-history-list p { margin: 4px 0 0; font-size: 14px; }
.page_about .jil-about-v30 .jil-about-editors p { display: grid; grid-template-columns: minmax(100px, .4fr) minmax(0,1fr); gap: 12px; padding: 12px 0; margin: 0; border-top: 1px solid #e5e2eb; font-size: 14px; }
.page_about .jil-about-v30 .jil-about-editors strong { color: #513d7a; }
.page_about .jil-about-v30 .jil-about-publisher { margin-top: 24px; }
.page_about .jil-about-v30 .jil-about-publisher p { margin-bottom: 8px; }
.page_about .jil-about-v30 .jil-about-publisher a { display: inline-block; padding: 8px 0; }
.page_about .jil-about-v30 .jil-about-next { margin-top: 32px; padding: 26px; border-top: 3px solid #59cbe8; border-radius: 8px; background: #f2edf8; }
.page_about .jil-about-v30 .jil-about-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
.page_about .jil-about-v30 .jil-about-actions > a { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; font-size: 13px; }
.page_about .jil-about-v30 a.jil-about-button { padding: 10px 16px; background: #5b448f; color: #ffffff; border: 1px solid #5b448f; border-radius: 5px; font-weight: 650; text-decoration: none; }
.page_about .jil-about-v30 a.jil-about-button-secondary { background: #ffffff; color: #513d7a; }
.page_about .jil-about-v30 a.jil-about-button:hover { background: #302348; color: #ffffff; border-color: #302348; }
@media (max-width: 767px) {
  .page_about .jil-about-v30 { font-size: 15px; }
  .page_about .jil-about-v30 .jil-about-intro, .page_about .jil-about-v30 .jil-about-next { padding: 22px 18px; }
  .page_about .jil-about-v30 .jil-about-intro h2 { font-size: 24px; }
  .page_about .jil-about-v30 h2 { font-size: 22px; }
  .page_about .jil-about-v30 .jil-about-section { padding: 26px 0; }
  .page_about .jil-about-v30 .jil-about-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
  .page_about .jil-about-v30 .jil-about-schedule { grid-template-columns: 1fr; gap: 0; }
  .page_about .jil-about-v30 .jil-about-fee { padding: 18px; }
}
@media (max-width: 420px) {
  .page_about .jil-about-v30 .jil-about-facts { grid-template-columns: 1fr; }
  .page_about .jil-about-v30 .jil-about-editors p { grid-template-columns: 1fr; gap: 3px; }
  .page_about .jil-about-v30 .jil-about-actions { align-items: stretch; flex-direction: column; }
}
@media print {
  .page_about .jil-about-v30 .jil-about-jump, .page_about .jil-about-v30 .jil-about-next { display: none; }
  .page_about .jil-about-v30 .jil-about-section { scroll-margin-top: 0; }
}

/* JIL Manuscript Preparation 3.1 — scoped to the new manuscript content only. */
.pkp_page_manuscript .jil-prep-v31 { color: #343842; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.pkp_page_manuscript .jil-prep-v31 * { box-sizing: border-box; }
.pkp_page_manuscript .jil-prep-v31 p { margin: 0 0 16px; }
.pkp_page_manuscript .jil-prep-v31 h2 { margin: 0 0 18px; padding: 0; border: 0; color: #302348; font-size: 24px; font-weight: 650; line-height: 1.4; }
.pkp_page_manuscript .jil-prep-v31 h3 { margin: 24px 0 12px; color: #513d7a; font-size: 18px; line-height: 1.5; }
.pkp_page_manuscript .jil-prep-v31 h4 { margin: 26px 0 16px; padding-top: 20px; border-top: 1px solid #e5e2eb; color: #513d7a; font-size: 16px; line-height: 1.5; scroll-margin-top: 110px; }
.pkp_page_manuscript .jil-prep-v31 a { color: #514078; text-decoration: underline; text-underline-offset: 3px; }
.pkp_page_manuscript .jil-prep-v31 a:hover { color: #007595; }
.pkp_page_manuscript .jil-prep-v31 a:focus-visible { outline: 3px solid #59cbe8; outline-offset: 4px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-intro { padding: 28px; background: linear-gradient(120deg,#f8f6fc,#eee8f6); border-top: 3px solid #59cbe8; border-radius: 10px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-eyebrow { margin: 0 0 10px; color: #5b448f; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-intro p:last-child { margin-bottom: 0; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-section { padding: 30px 0; border-bottom: 1px solid #e5e2eb; scroll-margin-top: 110px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-jump { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0 0 16px; padding: 12px 0; border-bottom: 1px solid #e5e2eb; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-jump a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-resources, .pkp_page_manuscript .jil-prep-v31 .jil-prep-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 14px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-resources a, .pkp_page_manuscript .jil-prep-v31 .jil-prep-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; font-size: 14px; }
.pkp_page_manuscript .jil-prep-v31 a.jil-prep-button { padding: 10px 16px; border: 1px solid #5b448f; border-radius: 5px; background: #5b448f; color: #ffffff; font-weight: 650; text-decoration: none; }
.pkp_page_manuscript .jil-prep-v31 a.jil-prep-button:hover { background: #302348; border-color: #302348; color: #ffffff; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-note { color: #616b7f; font-size: 12px; line-height: 1.7; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; margin: 20px 0; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-facts > div { min-width: 0; padding: 15px 0; border-top: 1px solid #e5e2eb; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-facts span { display: block; color: #657087; font-size: 12px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-facts strong { display: block; color: #513d7a; font-size: 16px; line-height: 1.5; margin-top: 5px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 20px 0 0; font-size: 14px; line-height: 1.7; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table th, .pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table td { padding: 14px 12px; border: 0; border-bottom: 1px solid #e5e2eb; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table th { color: #513d7a; font-weight: 650; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table th:first-child { width: 35%; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table thead th { background: #f2edf8; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-references { font-size: 14px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-references p { max-width: 100%; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-checklist { margin: 0; padding-left: 22px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-checklist li { padding: 10px 0 10px 4px; border-bottom: 1px solid #ece9f1; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-checklist li::marker { color: #007f9f; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-related { padding-left: 22px; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-related a { display: inline-block; padding: 9px 0; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-next { margin-top: 30px; padding: 26px; border-top: 3px solid #59cbe8; border-radius: 8px; background: #f2edf8; }
.pkp_page_manuscript .jil-prep-v31 .jil-prep-next .jil-prep-actions { margin-bottom: 0; }
@media (max-width: 767px) {
  .pkp_page_manuscript .jil-prep-v31 .jil-prep-intro, .pkp_page_manuscript .jil-prep-v31 .jil-prep-next { padding: 22px 18px; }
  .pkp_page_manuscript .jil-prep-v31 h2 { font-size: 22px; }
  .pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table { font-size: 13px; }
  .pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table th, .pkp_page_manuscript .jil-prep-v31 .jil-prep-format-table td { padding: 12px 8px; }
}
@media (max-width: 420px) {
  .pkp_page_manuscript .jil-prep-v31 .jil-prep-facts { grid-template-columns: 1fr; }
  .pkp_page_manuscript .jil-prep-v31 .jil-prep-resources, .pkp_page_manuscript .jil-prep-v31 .jil-prep-actions { flex-direction: column; align-items: stretch; }
}
@media print {
  .pkp_page_manuscript .jil-prep-v31 .jil-prep-jump, .pkp_page_manuscript .jil-prep-v31 .jil-prep-next { display: none; }
}

/* Phase 3.1.1 — responsive in-text citation examples, manuscript page only. */
.pkp_page_manuscript .jil-prep-v31 .jil-cite-v311 { scroll-margin-top: 110px; margin: 24px 0; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 18px 0; font-size: 13px; line-height: 1.65; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table caption { text-align: left; padding: 0 0 12px; color: #513d7a; font-size: 14px; font-weight: 650; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table th,
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table td { padding: 14px 12px; border: 0; border-bottom: 1px solid #e5e2eb; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table thead th { background: #eee8f6; color: #453260; font-weight: 650; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody th { color: #513d7a; font-weight: 650; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody tr:nth-child(even) { background: #faf8fd; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-label { display: none; }
.pkp_page_manuscript .jil-prep-v31 .jil-cite-note { margin: 12px 0; color: #4d5669; font-size: 13px; line-height: 1.75; }
@media (max-width: 600px) {
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table,
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table caption,
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody { display: block; width: 100%; }
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody tr { display: block; width: 100%; margin: 0 0 16px; border: 1px solid #e5e2eb; border-radius: 6px; background: #ffffff; }
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody th,
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody td { display: block; width: 100%; padding: 12px; }
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody th { background: #f2edf8; }
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-table tbody td:last-child { border-bottom: 0; }
  .pkp_page_manuscript .jil-prep-v31 .jil-cite-label { display: block; margin: 0 0 4px; color: #657087; font-size: 11px; font-weight: 650; }
}

/* Phase 3.1.2 — ethics note; actual checklist wording is in the HTML. */
.pkp_page_manuscript .jil-prep-v31 .jil-ethics-note-v312 {
  margin: 24px 0;
  padding: 20px;
  border-left: 3px solid #59cbe8;
  border-radius: 0 8px 8px 0;
  background: #f5f2fa;
  color: #42465a;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.pkp_page_manuscript .jil-prep-v31 .jil-ethics-note-v312 h3 {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #513d7a;
}
.pkp_page_manuscript .jil-prep-v31 .jil-ethics-note-v312 ul { margin: 0 0 14px; padding-left: 20px; }
.pkp_page_manuscript .jil-prep-v31 .jil-ethics-note-v312 li { padding: 0; margin: 0 0 10px; border: 0; }
.pkp_page_manuscript .jil-prep-v31 .jil-ethics-note-v312 p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
  .pkp_page_manuscript .jil-prep-v31 .jil-ethics-note-v312 { padding: 16px; }
}

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

@media print {
  .pkp_structure_head,
  .pkp_structure_sidebar,
  .pkp_structure_footer_wrapper { display: none !important; }
  .pkp_structure_content,
  .pkp_structure_main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body { color: #000; background: #fff; }
}
