/* Food & Pharma International — orange-accent stylesheet
   Apply only in FPI: Settings > Website > Appearance > Advanced. */

:root {
  --jam-blue: #e67e22;
  --jam-blue-2: #bd5b0b;
  --jam-teal: #2f8b67;
  --jam-ink: #302a25;
  --jam-muted: #6f6259;
  --jam-line: #f0ddc7;
  --jam-soft: #fff8f0;
}

body,
.pkp_structure_page {
  color: var(--jam-ink);
  font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
}

/* Keep the entire outer canvas neutral. */
html,
body { background: #fff !important; }

.pkp_structure_page {
  background: #fff;
  box-shadow: none;
}

.pkp_structure_head,
.pkp_structure_head .pkp_head_wrapper {
  background: #fff;
}

.pkp_structure_head {
  border-bottom: 3px solid var(--jam-blue);
  box-shadow: 0 2px 10px rgba(31, 111, 178, .06);
}

/* Use FPI's portrait cover as the journal logo. OJS wraps this image in a
   link to the journal home page, so the cover acts as a compact Home link. */
.pkp_site_name_wrapper {
  display: block !important;
  width: 62px;
  margin: 10px 0 8px !important;
}

.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name .is_img {
  display: block;
  margin: 0 !important;
}

.pkp_site_name .is_img img {
  display: block;
  width: 62px !important;
  height: 82px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center;
  border: 1px solid var(--jam-line);
  border-radius: 4px;
  box-shadow: 0 2px 7px rgba(31, 111, 178, .14);
}

.pkp_navigation_primary_row {
  border-top: 1px solid var(--jam-line);
  background: #fff;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a {
  color: #33404c;
  font-size: .92rem;
  font-weight: 600;
  transition: color .16s ease, background-color .16s ease;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: var(--jam-blue-2);
}

.pkp_navigation_primary .dropdown-menu {
  border: 1px solid var(--jam-line);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(31, 111, 178, .14);
}

.pkp_navigation_primary li:hover > ul {
  display: block;
}

.pkp_structure_content {
  box-sizing: border-box;
  max-width: 1180px;
  margin: 0 auto !important;
  padding: 34px 30px 56px;
}

.pkp_structure_main {
  box-sizing: border-box;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page_index_journal,
.pkp_page_issue .page {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.homepage_about,
.current_issue {
  margin: 0 0 34px;
  padding: 32px;
  border: 1px solid var(--jam-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(22, 51, 75, .05);
}

.homepage_about {
  border-left: 1px solid var(--jam-line);
}

.homepage_about h2,
.current_issue > h2,
.pkp_page_issue .page > h1 {
  margin: 0 0 18px;
  color: var(--jam-blue);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.15;
}

.homepage_about p,
.homepage_about li {
  color: #4b5865;
  line-height: 1.7;
}

.homepage_about a,
.pkp_page_issue .page a {
  color: var(--jam-blue-2);
  font-weight: 700;
}

.current_issue {
  background: var(--jam-soft);
}

.current_issue_title {
  margin: -4px 0 24px;
  color: #445363;
  font-size: 1.05rem;
  font-weight: 700;
}

.obj_issue_toc .heading {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--jam-line);
}

.obj_issue_toc .heading .cover {
  margin: 0;
}

.obj_issue_toc .heading .cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
  box-shadow: 0 10px 24px rgba(31, 111, 178, .16);
}

.obj_issue_toc .heading .description,
.obj_issue_toc .heading .published {
  grid-column: 2;
}

.obj_issue_toc .heading .description {
  color: #4f5c68;
  line-height: 1.7;
}

.obj_issue_toc .heading .published {
  color: var(--jam-muted);
  font-size: .9rem;
}

.obj_issue_toc .sections {
  margin-top: 28px;
}

.obj_issue_toc .section {
  margin-bottom: 30px;
}

.obj_issue_toc .section > h3,
.obj_issue_toc .section > h2 {
  margin: 0 0 14px;
  color: var(--jam-blue);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cmp_article_list.articles {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cmp_article_list.articles > li {
  margin-bottom: 12px;
}

.obj_article_summary {
  padding: 20px 22px;
  border: 1px solid var(--jam-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(22, 51, 75, .035);
  transition: transform .16s ease, box-shadow .16s ease;
}

.obj_article_summary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(31, 111, 178, .09);
}

.obj_article_summary .title {
  margin: 0 0 9px;
  font-size: 1.12rem;
  line-height: 1.38;
}

.obj_article_summary .title a {
  color: var(--jam-ink);
  font-weight: 700;
  text-decoration: none;
}

.obj_article_summary .title a:hover {
  color: var(--jam-blue-2);
}

.obj_article_summary .meta {
  color: var(--jam-muted);
  font-size: .92rem;
  line-height: 1.55;
}

.obj_article_summary .galleys_links {
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.obj_galley_link {
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid var(--jam-blue);
  border-radius: 999px;
  color: var(--jam-blue) !important;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.obj_galley_link:hover {
  background: var(--jam-blue);
  color: #fff !important;
}

.pkp_structure_sidebar .pkp_block {
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid var(--jam-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(22, 51, 75, .05);
}

/* Keep journal blocks in a clear right sidebar on every FPI page that
   contains blocks: home, issues, archives, articles, search, and About. */
@media (min-width: 960px) {
  .pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 28px;
    align-items: start;
  }

  .pkp_structure_content.has_sidebar .pkp_structure_main {
    grid-column: 1;
    grid-row: 1;
    float: none !important;
    width: auto !important;
  }

  .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
    display: block !important;
    grid-column: 2;
    grid-row: 1;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

.pkp_structure_sidebar .title {
  margin: 0 0 12px;
  color: var(--jam-blue);
  font-size: 1rem;
}

.pkp_structure_sidebar a {
  color: var(--jam-blue-2);
  font-weight: 600;
}

.block_make_submission_link {
  display: block;
  padding: 11px 14px;
  border-radius: 6px;
  background: var(--jam-blue);
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.pkp_page_issue .page {
  max-width: 980px;
}

.pkp_footer {
  border-top: 4px solid var(--jam-blue);
}

/* Make standalone pages feel as considered as the homepage. */
.pkp_page_article .article-details .title,
.pkp_page_search .page_title,
.pkp_page_about .page_title {
  color: var(--jam-blue);
  letter-spacing: -.018em;
}

.cmp_button {
  border-radius: 6px;
  font-weight: 700;
}

@media (min-width: 960px) {
  .pkp_page_article .pkp_structure_content,
  .pkp_page_issue .pkp_structure_content,
  .pkp_page_search .pkp_structure_content,
  .pkp_page_about .pkp_structure_content {
    padding-top: 30px;
  }
}

@media (max-width: 680px) {
  .pkp_site_name_wrapper { width: 52px; margin: 8px 0 6px !important; }
  .pkp_site_name .is_img img { width: 52px !important; height: 68px !important; }
  .pkp_structure_content {
    padding: 28px 16px 46px;
  }
  .homepage_about,
  .current_issue {
    padding: 22px;
  }
  .obj_issue_toc .heading {
    grid-template-columns: 1fr;
  }
  .obj_issue_toc .heading .cover {
    width: min(220px, 100%);
  }
  .obj_issue_toc .heading .description,
  .obj_issue_toc .heading .published {
    grid-column: 1;
  }
}

/* Compact pass: OJS Default Theme uses more generous spacing than needed for
   a scholarly journal. These selectors intentionally override it. */
.pkp_page_index .pkp_head_wrapper,
.pkp_page_issue .pkp_head_wrapper {
  padding: 0 !important;
}

.pkp_page_index .pkp_structure_content,
.pkp_page_issue .pkp_structure_content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 26px 24px 40px !important;
}

.pkp_page_index .pkp_structure_main,
.pkp_page_issue .pkp_structure_main {
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove unused Default Theme layout helpers that create visible guide lines
   in some OJS installations. */
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_sidebar::before,
.pkp_structure_sidebar::after,
.pkp_structure_content.has_sidebar::before,
.pkp_structure_content.has_sidebar::after {
  display: none !important;
  content: none !important;
}

/* Remove OJS's structural divider only; individual cards keep their borders. */
.pkp_structure_main,
.pkp_structure_sidebar {
  border-left: 0 !important;
  border-right: 0 !important;
}

.pkp_page_index .homepage_about,
.pkp_page_index .current_issue {
  margin-bottom: 20px;
  padding: 22px 24px;
}

.pkp_page_index .homepage_about h2,
.pkp_page_index .current_issue > h2,
.pkp_page_issue .page > h1 {
  margin-bottom: 12px;
  font-size: 1.7rem;
}

.pkp_page_index .obj_issue_toc .heading,
.pkp_page_issue .obj_issue_toc .heading {
  gap: 18px;
  padding-bottom: 14px;
}

.pkp_page_index .obj_issue_toc .sections,
.pkp_page_issue .obj_issue_toc .sections {
  margin-top: 18px;
}

.pkp_page_index .obj_issue_toc .section,
.pkp_page_issue .obj_issue_toc .section {
  margin-bottom: 18px;
}

/* Some issues do not have a cover or description. Do not reserve an empty
   cover column for those records. */
.obj_issue_toc .heading:not(:has(.cover)) {
  display: block;
  padding-bottom: 10px;
}

.obj_issue_toc .heading:not(:has(.cover)) .description,
.obj_issue_toc .heading:not(:has(.cover)) .published {
  grid-column: auto;
}

@media (max-width: 680px) {
  .pkp_page_index .pkp_structure_content,
  .pkp_page_issue .pkp_structure_content { padding: 20px 16px 32px !important; }
  .pkp_page_index .homepage_about,
  .pkp_page_index .current_issue { padding: 18px; }
}

/* OJS adds 30px padding and negative margins around every article section.
   Remove that inherited spacing so adjacent sections stay compact. */
.pkp_page_index .obj_issue_toc .sections > .section,
.pkp_page_issue .obj_issue_toc .sections > .section {
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_page_index .obj_issue_toc .sections > .section + .section,
.pkp_page_issue .obj_issue_toc .sections > .section + .section {
  margin-top: 22px !important;
  padding-top: 0 !important;
}

.pkp_page_index .obj_issue_toc .sections > .section > h3,
.pkp_page_issue .obj_issue_toc .sections > .section > h3 {
  margin: 0 0 10px !important;
}

/* FPI has a legacy logo wrapper in its older appearance settings.
   Remove it so the header matches the journal's compact cover treatment. */
.pkp_site_name_wrapper {
  height: 82px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  line-height: 0;
}

.pkp_site_name,
.pkp_site_name > a {
  line-height: 0;
}

.pkp_site_name .is_img img {
  margin: 0 !important;
  vertical-align: top;
}

/* Hiding the search control prevents Contact Us from dropping onto a second
   row in this compact navigation. */
.pkp_navigation_search_wrapper {
  display: none !important;
}

.pkp_navigation_primary_wrapper,
.pkp_navigation_primary {
  min-height: 48px !important;
}

.pkp_navigation_primary {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_navigation_primary > li {
  float: none !important;
  flex: 0 0 auto;
}

.pkp_navigation_primary > li > a {
  padding: 14px 17px !important;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .pkp_site_name_wrapper { height: 68px !important; }
  .pkp_navigation_primary { flex-wrap: wrap !important; }
  .pkp_navigation_primary > li > a { padding: 11px 10px !important; }
}

/* OJS initially assigns the cover to column two. Put it back in column one
   so the issue image and description form a balanced two-column introduction. */
.obj_issue_toc .heading .cover {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.obj_issue_toc .heading .cover img {
  width: 100% !important;
  height: auto !important;
}

.obj_issue_toc .heading .description,
.obj_issue_toc .heading .published {
  grid-column: 2 !important;
  width: auto !important;
  margin-left: 0 !important;
}

.obj_issue_toc .heading .description {
  grid-row: 1;
}

.obj_issue_toc .heading .published {
  grid-row: 2;
  margin-top: 16px !important;
}

@media (max-width: 680px) {
  .obj_issue_toc .heading .cover {
    max-width: 360px;
    margin-bottom: 18px !important;
  }
}

/* Give the header a clear identity while keeping the cover itself clickable. */
.pkp_structure_head .pkp_head_wrapper {
  position: relative;
}

.pkp_structure_head .pkp_head_wrapper::before {
  content: "Food & Pharma International";
  position: absolute;
  top: 34px;
  left: 94px;
  color: var(--jam-blue);
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -.018em;
  line-height: 1.2;
  pointer-events: none;
}

.pkp_structure_head .pkp_head_wrapper::after {
  content: "Food science and pharmaceutical research";
  position: absolute;
  top: 62px;
  left: 94px;
  color: var(--jam-muted);
  font-size: .82rem;
  line-height: 1.2;
  pointer-events: none;
}

@media (max-width: 680px) {
  .pkp_structure_head .pkp_head_wrapper::before {
    display: none !important;
  }
  .pkp_structure_head .pkp_head_wrapper::after {
    display: none !important;
  }

  /* Keep the compact, top-left mobile cover placement. */
  .pkp_site_name_wrapper {
    display: block !important;
    width: 52px !important;
    height: auto !important;
    margin: 8px 0 6px !important;
    padding: 0 !important;
    position: static !important;
    overflow: visible !important;
  }

  .pkp_site_name,
  .pkp_site_name > a,
  .pkp_site_name .is_img {
    display: block !important;
    margin: 0 !important;
    line-height: 0;
  }

  .pkp_site_name .is_img img {
    display: block !important;
    width: 52px !important;
    height: 68px !important;
    margin: 0 !important;
  }

  /* Keep the journal navigation visible on phones. */
  .pkp_navigation_primary_row {
    display: block !important;
    padding: 0 12px !important;
  }

  .pkp_navigation_primary_wrapper {
    display: block !important;
    min-height: 0 !important;
  }

  .pkp_navigation_primary {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_navigation_primary > li {
    display: block !important;
    float: none !important;
  }

  .pkp_navigation_primary > li > a {
    display: block !important;
    padding: 10px 8px !important;
    font-size: .74rem;
    white-space: nowrap;
  }
}

/* FPI uses a simple logo placement: a compact cover directly above
   the Home tab, without a separate desktop title block. */
.pkp_structure_head .pkp_head_wrapper::before,
.pkp_structure_head .pkp_head_wrapper::after {
  display: none !important;
  content: none !important;
}

.pkp_site_name_wrapper {
  height: auto !important;
  margin: 10px 0 8px !important;
}

@media (max-width: 680px) {
  /* Override all Default Theme collapse rules for the primary menu. */
  .pkp_site_nav_menu,
  .pkp_navigation_primary_row,
  .pkp_navigation_primary_wrapper,
  .pkp_navigation_primary {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .pkp_navigation_primary {
    display: flex !important;
    flex-wrap: wrap !important;
  }
}

/* Article pages: presentation only.  Keep OJS's own article layout intact
   because it correctly accommodates optional cover images, galleys and
   metadata for every article type. */
.pkp_page_article .obj_article_details > .title,
.pkp_page_article .obj_article_details > h1 {
  max-width: 1050px;
  margin: 0 0 26px;
  color: var(--jam-ink);
  font-size: clamp(1.7rem, 2.45vw, 2.18rem);
  font-weight: 750;
  line-height: 1.14;
  letter-spacing: -.025em;
}

/* Align the title exactly with the author list. Default OJS gives only the
   title an additional inset on some article records. */
.pkp_page_article .obj_article_details > .page_title,
.pkp_page_article .obj_article_details > h1.page_title {
  /* OJS pulls the article body 30px left with .row's negative margin. */
  margin-left: -30px !important;
  width: calc(100% + 30px);
  padding-left: 0 !important;
}

.pkp_page_article .obj_article_details .main_entry > .item {
  margin: 0 0 24px;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--jam-line);
}

.pkp_page_article .obj_article_details .main_entry > .item:last-child {
  border-bottom: 0;
}

.pkp_page_article .obj_article_details .authors .name {
  color: var(--jam-ink);
  font-weight: 700;
}

.pkp_page_article .obj_article_details .authors .affiliation {
  color: var(--jam-muted);
  line-height: 1.55;
}

.pkp_page_article .obj_article_details .authors .author {
  margin-bottom: 20px;
}

.pkp_page_article .obj_article_details .main_entry h2,
.pkp_page_article .obj_article_details .main_entry .label {
  margin: 0 0 10px;
  color: var(--jam-blue);
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pkp_page_article .obj_article_details .entry_details > .item {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 10px;
  padding: 14px;
  border: 1px solid var(--jam-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(31, 111, 178, .045);
}

.pkp_page_article .obj_article_details .entry_details .cover_image {
  padding: 0;
  overflow: hidden;
}

.pkp_page_article .obj_article_details .entry_details > .item > .value {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.48;
}

.pkp_page_article .obj_article_details .entry_details .cover_image img {
  display: block;
  width: 100%;
  height: auto;
}

.pkp_page_article .obj_article_details .entry_details .galleys {
  background: var(--jam-soft);
}

.pkp_page_article .obj_article_details .entry_details .galleys .obj_galley_link {
  background: var(--jam-blue);
  color: #fff !important;
}

.pkp_page_article .obj_article_details .entry_details .galleys .obj_galley_link:hover {
  background: var(--jam-blue-2);
}

.pkp_page_article .obj_article_details .entry_details .label {
  display: block;
  margin-bottom: 7px;
  color: var(--jam-muted);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* The Default Theme gives these labels a heavy grey bar. Use a quieter
   academic treatment that keeps the cover and information cards aligned. */
.pkp_page_article .obj_article_details .entry_details .published .label,
.pkp_page_article .obj_article_details .entry_details .issue .label,
.pkp_page_article .obj_article_details .entry_details .copyright .label,
.pkp_page_article .obj_article_details .entry_details .citation .label {
  margin: -14px -14px 11px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--jam-line);
  background: var(--jam-soft);
  color: var(--jam-blue);
}

.pkp_page_article .obj_article_details .entry_details .published,
.pkp_page_article .obj_article_details .entry_details .issue {
  color: var(--jam-ink);
  line-height: 1.55;
}

/* An issue contains a second, internal label for its section name. It should
   read as a small subheading rather than as a second detached card header. */
.pkp_page_article .obj_article_details .entry_details .issue .label:not(:first-child) {
  margin: 14px 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--jam-blue) !important;
  font-size: .72rem;
}

.pkp_page_article .obj_article_details .entry_details .citation .value,
.pkp_page_article .obj_article_details .entry_details .copyright .value {
  font-size: .9rem;
  line-height: 1.48;
}

/* Citation Style Language uses an extra .sub_item wrapper, unlike the other
   metadata panels. Reset that wrapper so it follows the same compact rhythm. */
.pkp_page_article .obj_article_details .entry_details .citation .citation_display {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.pkp_page_article .obj_article_details .entry_details .citation .citation_display > .label {
  margin: -14px -14px 12px !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--jam-line) !important;
  background: var(--jam-soft) !important;
  color: var(--jam-blue) !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.pkp_page_article .obj_article_details .entry_details .citation .citation_display > .value {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--jam-ink);
  font-size: .9rem;
  line-height: 1.48;
}

.pkp_page_article .obj_article_details .citation_formats {
  margin-top: 14px;
}

.pkp_page_article .obj_article_details .citation_formats_button {
  display: block;
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--jam-line);
  border-radius: 5px;
  background: #fff;
  color: var(--jam-blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
}

/* The citation-format selector is supplied by an outdated AddThis-era widget
   and renders an empty outlined control in this OJS installation. The full
   citation remains visible; only this broken optional selector is removed. */
.pkp_page_article .obj_article_details .citation_formats {
  display: none !important;
}

/* The format list is closed by default. OJS's default positioning can leave
   an empty outlined rectangle visible even while it is marked aria-hidden. */
.pkp_page_article .obj_article_details .citation_formats_list[aria-hidden="true"] {
  display: none !important;
}

/* OJS may render an empty AddThis container even when sharing is not enabled.
   Removing that empty card keeps the right-hand information stack compact. */
.pkp_page_article .obj_article_details .entry_details .addthis {
  display: none !important;
}

.pkp_page_article .obj_article_details .entry_details a,
.pkp_page_article .obj_article_details .doi a {
  color: var(--jam-blue-2);
}

@media (max-width: 680px) {
  .pkp_page_article .obj_article_details > .title,
  .pkp_page_article .obj_article_details > h1 {
    margin-bottom: 20px;
    font-size: 1.65rem;
  }

  .pkp_page_article .obj_article_details > .page_title,
  .pkp_page_article .obj_article_details > h1.page_title {
    width: auto;
    margin-left: 0 !important;
  }

  .pkp_page_article .obj_article_details .entry_details > .item {
    padding: 14px;
  }
}

/* FPI final layout: full-width frame and a compact article rhythm. */
html, body, .pkp_structure_page { width:100% !important; max-width:none !important; }
.pkp_structure_page { margin:0 !important; }
.pkp_structure_head, .pkp_structure_footer_wrapper { width:100% !important; max-width:none !important; }
.pkp_structure_head .pkp_head_wrapper { width:100% !important; max-width:none !important; box-sizing:border-box; padding-left:clamp(18px, 5vw, 96px) !important; padding-right:clamp(18px, 5vw, 96px) !important; }
.pkp_structure_footer_wrapper { box-sizing:border-box; padding-left:clamp(18px, 5vw, 96px); padding-right:clamp(18px, 5vw, 96px); }
.pkp_structure_content { max-width:1500px !important; padding:24px clamp(18px, 5vw, 96px) 38px !important; }

/* Keep the important actions legible. */
.block_make_submission_link, .pkp_structure_sidebar .block_make_submission_link {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#e67e22 !important;
  color:#fff !important;
  text-shadow:none !important;
  box-shadow:0 8px 18px rgba(31,111,178,.22) !important;
}
.block_make_submission_link:hover, .block_make_submission_link:focus { background:#bd5b0b !important; color:#fff !important; }
.obj_galley_link, .obj_galley_link:visited {
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  background:#e67e22 !important;
  border-color:#e67e22 !important;
  color:#fff !important;
  text-shadow:none !important;
}
.obj_galley_link:hover, .obj_galley_link:focus { background:#bd5b0b !important; border-color:#bd5b0b !important; color:#fff !important; }

/* Article types read as compact, coloured section labels. */
.obj_issue_toc .section > h2, .obj_issue_toc .section > h3,
.pkp_page_index .obj_issue_toc .section > h3, .pkp_page_issue .obj_issue_toc .section > h3 {
  display:inline-block;
  margin:0 0 9px !important;
  padding:6px 10px;
  border-left:3px solid #e67e22;
  background:#fff8f0;
  color:#bd5b0b !important;
  font-size:.76rem !important;
  line-height:1.2;
  letter-spacing:.08em;
}
.obj_issue_toc .section { margin-bottom:16px !important; }

/* Compact article cards for the homepage, issues, archive and latest-articles views. */
.obj_article_summary, .pkp_page_index .obj_article_summary, .pkp_page_issue .obj_article_summary {
  min-height:0 !important;
  margin:0 0 10px !important;
  padding:15px 17px !important;
  border-radius:8px;
}
.obj_article_summary .title, .pkp_page_index .obj_article_summary .title, .pkp_page_issue .obj_article_summary .title {
  margin:0 0 6px !important;
  font-size:1.03rem !important;
  line-height:1.34 !important;
}
.obj_article_summary .meta, .pkp_page_index .obj_article_summary .meta, .pkp_page_issue .obj_article_summary .meta {
  margin:0 !important;
  color:var(--jam-muted) !important;
  font-size:.87rem !important;
  line-height:1.45 !important;
}
.obj_article_summary .galleys_links, .pkp_page_index .obj_article_summary .galleys_links, .pkp_page_issue .obj_article_summary .galleys_links {
  margin:9px 0 0 !important;
}
.obj_article_summary .galleys_links > li { margin:0 !important; }
.obj_article_summary .obj_galley_link { padding:6px 10px !important; font-size:.75rem !important; }

/* Tighter current-issue and sidebar cards on every FPI route. */
.homepage_about, .current_issue { padding:22px 24px !important; margin-bottom:20px !important; }
.current_issue > h2, .homepage_about h2 { margin-bottom:10px !important; }
.pkp_structure_sidebar .pkp_block { padding:17px !important; margin-bottom:14px !important; }
.pkp_structure_footer_wrapper { border-top:4px solid #e67e22; }

@media (max-width:680px) {
  .pkp_structure_content { padding:20px 16px 30px !important; }
  .obj_article_summary, .pkp_page_index .obj_article_summary, .pkp_page_issue .obj_article_summary { padding:14px 15px !important; }
}

/* Article page: keep the article on the left and its PDF/metadata beside it. */
@media (min-width:960px) {
  .pkp_page_article .obj_article_details {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 290px;
    gap:28px;
    align-items:start;
  }
  .pkp_page_article .obj_article_details > .title,
  .pkp_page_article .obj_article_details > h1,
  .pkp_page_article .obj_article_details > .page_title,
  .pkp_page_article .obj_article_details > h1.page_title {
    grid-column:1 / -1;
    width:auto !important;
    max-width:none !important;
    margin:0 0 4px !important;
  }
  .pkp_page_article .obj_article_details .main_entry {
    grid-column:1;
    min-width:0;
  }
  .pkp_page_article .obj_article_details .entry_details {
    grid-column:2;
    grid-row:2 / span 2;
    min-width:0;
    margin:0 !important;
    padding:0 !important;
  }
}

/* Author details remain available but take a concise single-line form. */
.pkp_page_article .obj_article_details .authors .author {
  margin:0 0 9px !important;
  line-height:1.42;
}
.pkp_page_article .obj_article_details .authors .name {
  display:inline;
  font-size:1rem;
}
.pkp_page_article .obj_article_details .authors .affiliation {
  display:inline;
  margin:0 !important;
  font-size:.86rem;
  line-height:1.42;
}
.pkp_page_article .obj_article_details .authors .affiliation::before {
  content:" — ";
  color:#e67e22;
}
.pkp_page_article .obj_article_details .authors .author .role {
  display:none !important;
}
.pkp_page_article .obj_article_details .main_entry > .item {
  margin-bottom:16px;
  padding-bottom:14px;
}
.pkp_page_article .obj_article_details .entry_details > .item {
  margin-bottom:8px;
  padding:12px;
}
.pkp_page_article .obj_article_details .entry_details .published .label,
.pkp_page_article .obj_article_details .entry_details .issue .label,
.pkp_page_article .obj_article_details .entry_details .copyright .label,
.pkp_page_article .obj_article_details .entry_details .citation .label {
  margin:-12px -12px 9px;
  padding:8px 12px;
}
@media (max-width:959px) {
  .pkp_page_article .obj_article_details .entry_details { margin-top:20px; }
}

/* OJS places main_entry and entry_details inside .row; grid that real wrapper. */
@media (min-width:960px) {
  .pkp_page_article .obj_article_details > .row {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 290px !important;
    gap:28px !important;
    align-items:start !important;
    width:100% !important;
    margin:0 !important;
  }
  .pkp_page_article .obj_article_details > .row > .main_entry {
    grid-column:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
  .pkp_page_article .obj_article_details > .row > .entry_details {
    grid-column:2 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* The actual OJS author markup is ul.authors > li. */
.pkp_page_article .obj_article_details ul.authors { margin:0 !important; padding:0 !important; list-style:none !important; }
.pkp_page_article .obj_article_details ul.authors > li { margin:0 0 8px !important; padding:0 !important; line-height:1.4; }
.pkp_page_article .obj_article_details ul.authors .name { display:inline !important; font-size:1rem; font-weight:700; }
.pkp_page_article .obj_article_details ul.authors .affiliation { display:inline !important; margin:0 !important; font-size:.86rem; line-height:1.4; }
.pkp_page_article .obj_article_details ul.authors .affiliation::before { content:" — "; color:#e67e22; }
.pkp_page_article .obj_article_details ul.authors .userGroup { display:none !important; }

/* Correct the article grid: only the inner .row is two-column. */
@media (min-width:960px) {
  .pkp_page_article .obj_article_details {
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }
  .pkp_page_article .obj_article_details > .row {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 280px !important;
    gap:30px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  .pkp_page_article .obj_article_details > .row > .main_entry {
    display:block !important;
    grid-column:1 !important;
    width:auto !important;
    min-width:0 !important;
  }
  .pkp_page_article .obj_article_details > .row > .entry_details {
    display:block !important;
    grid-column:2 !important;
    width:auto !important;
    min-width:0 !important;
  }
}

.pkp_page_article .obj_article_details ul.authors .userGroup,
.pkp_page_article .obj_article_details .authors .userGroup {
  display:none !important;
}

/* All FPI routes share one wide, logo-aligned content grid. */
.pkp_structure_content .page,
.pkp_structure_main > .page,
.pkp_page_index .page_index_journal,
.pkp_page_issue .page,
.pkp_page_archive .page,
.pkp_page_about .page,
.pkp_page_search .page,
.pkp_page_static .page,
.pkp_page_contact .page {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

@media (min-width:960px) {
  .pkp_structure_content.has_sidebar {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 320px !important;
    gap:34px !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
  }
  .pkp_structure_content.has_sidebar .pkp_structure_main {
    grid-column:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
  .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
    grid-column:2 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* Use the same left edge as the FPI cover and take advantage of the page width. */
.pkp_structure_content,
.pkp_page_article .pkp_structure_content {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:26px clamp(18px, 5vw, 96px) 40px !important;
}

/* Section is metadata, not a button. */
.pkp_page_article .obj_article_details .entry_details .issue .sub_item + .sub_item .label,
.pkp_page_article .obj_article_details .entry_details .issue .label:not(:first-child) {
  display:block !important;
  margin:14px 0 5px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#bd5b0b !important;
  font-size:.72rem !important;
  letter-spacing:.08em !important;
}

.pkp_page_article .obj_article_details .entry_details .issue .sub_item + .sub_item .value {
  padding-top:0 !important;
}

/* Metadata labels stay compact: no coloured band or dividing rule inside
   Published, Issue, Citation and Copyright cards. */
.pkp_page_article .obj_article_details .entry_details .published .label,
.pkp_page_article .obj_article_details .entry_details .issue > .label:first-child,
.pkp_page_article .obj_article_details .entry_details .copyright .label,
.pkp_page_article .obj_article_details .entry_details .citation .label,
.pkp_page_article .obj_article_details .entry_details .citation .citation_display > .label {
  margin:0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--jam-blue) !important;
}

/* Keep the journal cover and account controls on one clean header row. */
.pkp_structure_head .pkp_head_wrapper {
  display:flex !important;
  align-items:center !important;
  min-height:126px !important;
}
.pkp_structure_head .pkp_site_name_wrapper {
  flex:0 0 auto !important;
  align-self:center !important;
  margin:0 !important;
}
.pkp_structure_head .pkp_navigation_user_wrapper {
  margin-left:auto !important;
  align-self:center !important;
}

/* Latest-article cards: the graphical abstract sits neatly beside the text,
   instead of creating an oversized empty card. */
@media (min-width:760px) {
  .obj_article_summary {
    display:grid !important;
    grid-template-columns:360px minmax(0, 1fr) auto !important;
    column-gap:18px !important;
    align-items:start !important;
  }
  .obj_article_summary .cover {
    grid-column:1 !important;
    grid-row:1 / span 3 !important;
    float:none !important;
    width:100% !important;
    margin:0 !important;
  }
  .obj_article_summary .cover img {
    display:block !important;
    width:100% !important;
    max-height:190px !important;
    object-fit:contain !important;
    object-position:left top !important;
  }
  .obj_article_summary .title,
  .obj_article_summary .meta,
  .obj_article_summary .galleys_links {
    grid-column:2 !important;
  }
  .obj_article_summary .pages {
    grid-column:3 !important;
    grid-row:1 !important;
    white-space:nowrap;
  }

  /* Articles without a graphical image must not retain a blank image column. */
  .obj_article_summary:not(:has(.cover)),
  .obj_article_summary:not(:has(.cover img)) {
    grid-template-columns:minmax(0, 1fr) auto !important;
  }
  .obj_article_summary:not(:has(.cover)) .title,
  .obj_article_summary:not(:has(.cover)) .meta,
  .obj_article_summary:not(:has(.cover)) .galleys_links,
  .obj_article_summary:not(:has(.cover img)) .title,
  .obj_article_summary:not(:has(.cover img)) .meta,
  .obj_article_summary:not(:has(.cover img)) .galleys_links {
    grid-column:1 !important;
  }
  .obj_article_summary:not(:has(.cover)) .pages,
  .obj_article_summary:not(:has(.cover img)) .pages {
    grid-column:2 !important;
  }
}

/* Some older records include a legacy divider inside their first summary. */
.obj_article_summary hr,
.obj_article_summary .separator {
  display:none !important;
}

/* PDF and Graphical Abstract are equal compact actions on article pages. */
.pkp_page_article .obj_article_details .entry_details .galleys {
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 8px 10px 0 !important;
  padding:10px 14px !important;
  vertical-align:top !important;
  background:var(--jam-soft) !important;
}
.pkp_page_article .obj_article_details .entry_details .galleys .obj_galley_link {
  min-height:42px !important;
  margin:0 !important;
  padding:9px 14px !important;
  border-radius:999px !important;
}

/* The footer is part of the journal identity, not a grey block. */
.pkp_structure_footer_wrapper,
.pkp_footer {
  background:var(--jam-blue) !important;
  color:#fff !important;
}
.pkp_footer a,
.pkp_structure_footer_wrapper a {
  color:#fff !important;
}
.pkp_footer .pkp_brand_footer img {
  filter:grayscale(1) brightness(0) invert(1) !important;
}

/* Keep the account controls in the same top line as the journal cover. */
.pkp_structure_head .pkp_head_wrapper,
.pkp_structure_head .pkp_head_wrapper .pkp_navigation_user_wrapper,
.pkp_structure_head .pkp_head_wrapper #navigationUserWrapper {
  display:flex !important;
  align-items:center !important;
}
.pkp_structure_head .pkp_head_wrapper .pkp_navigation_user_wrapper,
.pkp_structure_head .pkp_head_wrapper #navigationUserWrapper {
  position:static !important;
  top:auto !important;
  right:auto !important;
  margin:0 0 0 auto !important;
}

/* Article download area: remove Default Theme's vertical rule and lay the
   two download actions side by side. */
.pkp_page_article .obj_article_details .entry_details {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  border:0 !important;
  border-left:0 !important;
  box-shadow:none !important;
  padding-left:0 !important;
}
.pkp_page_article .obj_article_details .entry_details > .cover_image,
.pkp_page_article .obj_article_details .entry_details > .item:not(.galleys) {
  flex:0 0 100% !important;
}
.pkp_page_article .obj_article_details .entry_details > .galleys {
  flex:0 0 auto !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.pkp_page_article .obj_article_details .entry_details .galleys .galleys_links {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.pkp_page_article .obj_article_details .entry_details .galleys .galleys_links > li {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* A calm pale-blue footer with readable navy text. */
.pkp_structure_footer_wrapper,
.pkp_footer {
  background:#fff6ed !important;
  color:#514036 !important;
}
.pkp_footer a,
.pkp_structure_footer_wrapper a {
  color:#e67e22 !important;
}
.pkp_footer .pkp_brand_footer img {
  filter:none !important;
}

/* Header correction: account navigation is a compact control at the top
   right, never a full-width coloured strip. */
.pkp_structure_head .pkp_head_wrapper {
  display:block !important;
  min-height:0 !important;
}
.pkp_structure_head .pkp_head_wrapper .pkp_site_name_wrapper {
  display:block !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  margin:10px 0 8px !important;
}
.pkp_structure_head .pkp_head_wrapper .pkp_navigation_user_wrapper,
.pkp_structure_head .pkp_head_wrapper #navigationUserWrapper {
  display:block !important;
  position:absolute !important;
  top:20px !important;
  right:clamp(18px, 5vw, 96px) !important;
  left:auto !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.pkp_structure_head .pkp_head_wrapper .pkp_navigation_user,
.pkp_structure_head .pkp_head_wrapper #navigationUser {
  display:flex !important;
  align-items:center !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

/* Article-list alignment: use separate, predictable layouts for records
   with and without a graphical abstract. */
@media (min-width:760px) {
  .obj_article_summary:not(:has(.cover img)) {
    display:block !important;
    position:relative !important;
    min-height:0 !important;
    height:auto !important;
    padding:16px 22px !important;
  }
  .obj_article_summary:not(:has(.cover img)) .title,
  .obj_article_summary:not(:has(.cover img)) .meta,
  .obj_article_summary:not(:has(.cover img)) .galleys_links {
    display:block !important;
    margin-left:0 !important;
  }
  .obj_article_summary:not(:has(.cover img)) .pages {
    position:absolute !important;
    top:18px !important;
    right:22px !important;
  }

  .obj_article_summary:has(.cover img) {
    display:block !important;
    position:relative !important;
    min-height:210px !important;
    height:auto !important;
    padding:18px 22px 18px 342px !important;
  }
  .obj_article_summary:has(.cover img) .cover {
    position:absolute !important;
    top:18px !important;
    left:22px !important;
    width:296px !important;
    margin:0 !important;
    float:none !important;
  }
  .obj_article_summary:has(.cover img) .cover img {
    display:block !important;
    width:296px !important;
    height:174px !important;
    max-height:174px !important;
    object-fit:contain !important;
    object-position:left top !important;
  }
  .obj_article_summary:has(.cover img) .title,
  .obj_article_summary:has(.cover img) .meta,
  .obj_article_summary:has(.cover img) .galleys_links {
    display:block !important;
    margin-left:0 !important;
  }
  .obj_article_summary:has(.cover img) .title {
    margin-top:0 !important;
  }
.obj_article_summary:has(.cover img) .pages {
    position:absolute !important;
    top:18px !important;
    right:22px !important;
  }
}

/* Section labels align exactly with the article cards below them. */
.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3,
.pkp_page_index .obj_issue_toc .section > h3,
.pkp_page_issue .obj_issue_toc .section > h3 {
  margin-left:20px !important;
}

/* Existing Submit Now navigation link — highlighted across every FPI page. */
.pkp_navigation_primary > li:last-child > a,
.pkp_navigation_primary a[href*="submission"] {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  margin-left:8px !important;
  padding:10px 18px !important;
  border:1px solid #bd5b0b !important;
  border-radius:7px !important;
  background:linear-gradient(135deg, #ef8419, #bd5b0b) !important;
  color:#fff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:0 7px 16px rgba(189, 91, 11, .22) !important;
}

.pkp_navigation_primary > li:last-child > a:hover,
.pkp_navigation_primary > li:last-child > a:focus,
.pkp_navigation_primary a[href*="submission"]:hover,
.pkp_navigation_primary a[href*="submission"]:focus {
  border-color:#934308 !important;
  background:#934308 !important;
  color:#fff !important;
  transform:translateY(-1px);
}

/* Remove only the divider directly below FPI article titles. */
.pkp_page_article .obj_article_details > .title,
.pkp_page_article .obj_article_details > h1,
.pkp_page_article .obj_article_details > .page_title,
.pkp_page_article .obj_article_details > h1.page_title {
  border-bottom:0 !important;
}

.pkp_page_article .obj_article_details > .title + .row,
.pkp_page_article .obj_article_details > h1 + .row,
.pkp_page_article .obj_article_details > .page_title + .row,
.pkp_page_article .obj_article_details > h1.page_title + .row {
  border-top:0 !important;
}

.pkp_page_article .obj_article_details > .title::after,
.pkp_page_article .obj_article_details > h1::after,
.pkp_page_article .obj_article_details > .page_title::after {
  display:none !important;
  border:0 !important;
}
