/* JERN OJS Basic — Foundation v1
   Purpose: establish the global page width, white header, readable logo,
   aligned navigation, typography, and JERN colours before homepage work. */

:root {
  --jern-aubergine: #2f174f;
  --jern-violet: #5d2f86;
  --jern-lilac: #bca8db;
  --jern-pale: #f6f2fc;
  --jern-ink: #172d3b;
  --jern-muted: #5f6670;
  --jern-line: #e2dced;
  --jern-white: #ffffff;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  color: var(--jern-ink) !important;
  background: #ffffff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--jern-violet);
  text-underline-offset: 3px;
}
a:hover { color: var(--jern-aubergine); }

/* Remove the Manuscript theme's narrow framed-page treatment. */
.pkp_structure_page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Header */
.pkp_structure_head {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100% !important;
  margin: 0 !important;
  background: rgba(255,255,255,.98) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--jern-line) !important;
  box-shadow: 0 3px 16px rgba(47,23,79,.08) !important;
}

.pkp_head_wrapper {
  width: calc(100% - 56px) !important;
  max-width: 1440px !important;
  min-height: 78px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(330px, 1fr) auto !important;
  align-items: center !important;
  column-gap: 34px !important;
  background: transparent !important;
}

.pkp_site_name_wrapper,
.pkp_site_name {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.pkp_site_name a {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
}

.pkp_site_name img {
  display: block !important;
  width: auto !important;
  max-width: 395px !important;
  height: auto !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  border: 0 !important;
}

.pkp_site_nav_menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.pkp_navigation_primary_wrapper { gap: 22px !important; }

.pkp_navigation_primary,
.pkp_navigation_user {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.pkp_navigation_primary > li,
.pkp_navigation_user > li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_search_wrapper a,
.pkp_navigation_user > li > a,
.pkp_navigation_user_inline a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #19151f !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user_inline a:hover {
  color: var(--jern-violet) !important;
}

.pkp_navigation_user_wrapper {
  position: static !important;
  margin: 0 0 0 4px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user_inline a {
  color: var(--jern-muted) !important;
  font-size: 12px !important;
}

/* Hide empty dropdown panels until opened by OJS. */
.dropdown-menu:not(.show) { display: none; }

/* Main public content: wide enough for the approved JERN layout. */
.pkp_structure_content,
.pkp_structure_main,
.page_index_journal,
.page,
.page_about,
.page_submissions,
.page_article {
  width: 100% !important;
  max-width: none !important;
}

.pkp_structure_content {
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

.pkp_structure_main {
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

/* Until the custom homepage replaces this content, make the existing material readable. */
.homepage_about,
.homepage_image,
.additional_content,
.current_issue,
.page_index_journal > .additional_content {
  width: calc(100% - 56px) !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.homepage_about { padding-top: 48px !important; }
.additional_content { padding: 40px 0 70px !important; }

.homepage_about h2,
.additional_content h2,
.current_issue h2 {
  color: var(--jern-aubergine) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}

.homepage_about p,
.additional_content p {
  color: #2f3d46 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.homepage_image img,
.additional_content img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
}

/* Footer foundation */
.pkp_structure_footer_wrapper {
  width: 100% !important;
  margin: 0 !important;
  background: var(--jern-aubergine) !important;
}
.pkp_structure_footer {
  width: calc(100% - 56px) !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 34px 0 !important;
  color: rgba(255,255,255,.82) !important;
}
.pkp_structure_footer a { color: #ffffff !important; }
.pkp_brand_footer { display: none !important; }

@media (max-width: 1100px) {
  .pkp_head_wrapper {
    grid-template-columns: 1fr !important;
    padding: 8px 0 !important;
  }
  .pkp_site_nav_menu {
    justify-content: flex-start !important;
    width: 100% !important;
  }
  .pkp_navigation_primary,
  .pkp_navigation_user { gap: 18px !important; }
}

@media (max-width: 760px) {
  .pkp_head_wrapper,
  .homepage_about,
  .homepage_image,
  .additional_content,
  .current_issue,
  .pkp_structure_footer {
    width: calc(100% - 28px) !important;
  }
  .pkp_site_name img { max-width: 300px !important; }
}

/* ================================================================
   Foundation v2 corrections based on the live Manuscript rendering
   ================================================================ */

/* The Manuscript template places the navigation before the logo in the
   document flow. Explicit grid areas restore the intended brand-left,
   navigation-right header without changing the OJS templates. */
@media (min-width: 1101px) {
  .pkp_head_wrapper {
    grid-template-columns: minmax(340px, 430px) minmax(0, 1fr) !important;
    grid-template-areas: "jern-brand jern-nav" !important;
  }

  .pkp_site_name_wrapper {
    grid-area: jern-brand !important;
    justify-self: start !important;
    align-self: center !important;
  }

  .pkp_site_nav_menu {
    grid-area: jern-nav !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
  }
}

/* Give the long JERN wordmark enough visual authority in the header. */
.pkp_site_name img {
  width: 390px !important;
  max-width: 100% !important;
  max-height: 56px !important;
}

/* Fully neutralize the Manuscript theme's centered narrow content panel. */
.pkp_structure_content {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.pkp_structure_main,
.pkp_structure_main:first-child,
.pkp_structure_main:last-child,
.pkp_structure_main:first-child:last-child {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
  display: none !important;
  content: none !important;
}

/* Temporary width for the existing prelaunch material. The replacement
   homepage will use its own hero and section containers later. */
.homepage_about,
.homepage_image,
.additional_content,
.current_issue,
.page_index_journal > .additional_content {
  width: calc(100% - 64px) !important;
  max-width: 1180px !important;
}

@media (max-width: 1100px) {
  .pkp_site_name_wrapper {
    order: -1 !important;
  }

  .pkp_site_name img {
    width: 360px !important;
  }
}

@media (max-width: 760px) {
  .homepage_about,
  .homepage_image,
  .additional_content,
  .current_issue,
  .page_index_journal > .additional_content {
    width: calc(100% - 28px) !important;
  }

  .pkp_site_name img {
    width: 300px !important;
  }
}

/* ================================================================
   Foundation v3 — crisp browser-rendered header wordmark
   Replaces the raster logo visually while retaining its alt text.
   ================================================================ */

.pkp_site_name a {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 13px !important;
  width: 400px !important;
  min-height: 60px !important;
}

/* Keep the uploaded image available to assistive technology, but remove
   the raster lettering from the visual presentation. */
.pkp_site_name img {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pkp_site_name a::before {
  content: "JERN" !important;
  display: block !important;
  color: var(--jern-aubergine) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 57px !important;
  font-weight: 700 !important;
  line-height: .88 !important;
  letter-spacing: -.045em !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

.pkp_site_name a::after {
  content: "Journal of Experience-Related\A Neuroplasticity" !important;
  display: block !important;
  color: var(--jern-aubergine) !important;
  white-space: pre !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.012em !important;
  text-align: center !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

/* Use a standard available font weight and a slightly larger size for
   cleaner menu rendering across Chrome, Safari, and Retina displays. */
.pkp_navigation_primary > li > a,
.pkp_navigation_search_wrapper a,
.pkp_navigation_user > li > a,
.pkp_navigation_user_inline a {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user_inline a {
  font-size: 13px !important;
}

@media (max-width: 1100px) {
  .pkp_site_name a {
    width: 360px !important;
  }

  .pkp_site_name a::before {
    font-size: 51px !important;
  }

  .pkp_site_name a::after {
    font-size: 13.5px !important;
  }
}

@media (max-width: 760px) {
  .pkp_site_name a {
    width: 300px !important;
    column-gap: 10px !important;
  }

  .pkp_site_name a::before {
    font-size: 42px !important;
  }

  .pkp_site_name a::after {
    font-size: 11.5px !important;
  }
}
