/* =========================================================
   LOCUS OJS DEFAULT THEME — CLEAN REBUILD V6
   For OJS 3.3.0.11 Default Theme
   Scope: header, navigation, homepage, issue/article cards,
   article detail, archives, static content pages, sidebar,
   footer, login.
   ========================================================= */

:root {
  --locus-maroon: #7A1F24;
  --locus-maroon-dark: #4F1015;
  --locus-gold: #C9A74E;
  --locus-text: #1F2328;
  --locus-muted: #5F6B76;
  --locus-line: rgba(31, 35, 40, 0.11);
  --locus-soft: #F8F5EC;
  --locus-cream: #FFFDF8;
  --locus-white: #FFFFFF;
  --locus-shadow: 0 14px 36px rgba(31, 35, 40, 0.075);
  --locus-shadow-soft: 0 8px 22px rgba(31, 35, 40, 0.052);
  --locus-radius: 18px;
  --locus-radius-lg: 22px;
}

html {
  background: #F3F0E8 !important;
}

body {
  margin: 0 !important;
  color: var(--locus-text) !important;
  background: #F3F0E8 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

body *,
body *::before,
body *::after {
  box-sizing: border-box;
}

a {
  color: #536F7E;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover,
a:focus {
  color: var(--locus-maroon);
}

/* Prevent accidental full-width image stretching. */
img {
  max-width: 100%;
  height: auto;
}

/* -------------------------------
   MAIN STRUCTURE RESET
-------------------------------- */

.pkp_structure_page {
  width: min(100%, 1760px) !important;
  max-width: 1760px !important;
  margin: 0 auto !important;
  background: #ffffff !important;
  border: 1px solid rgba(31, 35, 40, 0.08) !important;
  box-shadow: 0 24px 60px rgba(31, 35, 40, 0.08) !important;
  overflow: visible !important;
}

.pkp_structure_content,
.pkp_structure_content.has_sidebar,
.pkp_structure_main,
.pkp_structure_sidebar,
.pkp_structure_sidebar.left,
.pkp_structure_sidebar.right {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}

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

.pkp_structure_content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 42px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 42px 54px 56px !important;
  background: #ffffff !important;
}

.pkp_structure_content:not(.has_sidebar) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.pkp_structure_main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

.pkp_structure_sidebar {
  width: 100% !important;
  max-width: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* -------------------------------
   HEADER / LOGO / NAVIGATION
-------------------------------- */

.pkp_structure_head {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(31, 35, 40, 0.08) !important;
}

.pkp_head_wrapper {
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 22px 48px 0 !important;
  background: transparent !important;
}

.pkp_site_name_wrapper {
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 0 24px !important;
  background: transparent !important;
  overflow: visible !important;
  text-align: center !important;
}

.pkp_site_name {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.pkp_site_name .is_img {
  display: block !important;
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: var(--locus-cream) !important;
  border: 1px solid rgba(31, 35, 40, 0.08) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(31, 35, 40, 0.11) !important;
  overflow: hidden !important;
}

.pkp_site_name .is_img img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.pkp_site_nav_menu {
  width: 100% !important;
  border-top: 1px solid rgba(31, 35, 40, 0.07) !important;
  border-bottom: 1px solid rgba(31, 35, 40, 0.08) !important;
  background: #ffffff !important;
}

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

#navigationPrimary,
.pkp_navigation_primary {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#navigationPrimary > li,
.pkp_navigation_primary > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#navigationPrimary > li > a,
.pkp_navigation_primary > li > a,
.pkp_search {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 0 20px !important;
  color: #3E4650 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 0 !important;
}

#navigationPrimary > li > a:hover,
#navigationPrimary > li > a:focus,
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_search:hover,
.pkp_search:focus {
  color: var(--locus-maroon) !important;
  background: rgba(122, 31, 36, 0.045) !important;
}

.pkp_navigation_search_wrapper {
  margin-left: auto !important;
}

.pkp_site_nav_toggle {
  display: none !important;
}

/* -------------------------------
   TYPOGRAPHY / COMMON OJS PAGES
-------------------------------- */

.cmp_breadcrumbs {
  margin: 0 0 26px !important;
  color: var(--locus-muted) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

.cmp_breadcrumbs a,
.cmp_breadcrumbs .separator,
.cmp_breadcrumbs .current {
  color: var(--locus-muted) !important;
  text-decoration: none !important;
}

.page h1,
.page_index_journal h2,
.current_issue h2,
.homepage_about h2,
.obj_issue_toc .section h3,
.page_issue_archive h1,
.page_article .page_title {
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.015em !important;
  text-align: left !important;
}

.page h1::after,
.page_index_journal h2::after,
.current_issue h2::after,
.homepage_about h2::after,
.obj_issue_toc .section h3::after,
.page_issue_archive h1::after,
.page_article .page_title::after {
  content: "" !important;
  display: block !important;
  width: 76px !important;
  height: 3px !important;
  margin-top: 12px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--locus-maroon), var(--locus-gold)) !important;
}

/* -------------------------------
   HOMEPAGE ABOUT / CURRENT ISSUE
-------------------------------- */

.homepage_about {
  position: relative !important;
  margin: 0 0 44px !important;
  padding: 32px 34px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-top: 5px solid var(--locus-maroon) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(201, 167, 78, 0.16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
  box-shadow: var(--locus-shadow) !important;
  overflow: hidden !important;
}

.homepage_about h2,
.current_issue h2 {
  margin: 0 0 24px !important;
  font-size: 26px !important;
}

.homepage_about p {
  margin: 0 0 17px !important;
  color: #2B3137 !important;
  font-size: 13.6px !important;
  line-height: 1.78 !important;
  text-align: justify !important;
}

.homepage_about p:first-of-type {
  padding: 18px 20px !important;
  border: 1px solid rgba(31, 35, 40, 0.09) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.84) !important;
  box-shadow: 0 8px 22px rgba(31, 35, 40, 0.035) !important;
  text-align: left !important;
}

.current_issue {
  margin-top: 16px !important;
}

.current_issue_title {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 20px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  background: var(--locus-maroon) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.obj_issue_toc .heading {
  margin: 0 0 28px !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(31, 35, 40, 0.08) !important;
  border-radius: 18px !important;
  background: var(--locus-soft) !important;
}

.obj_issue_toc .heading .pub_id,
.obj_issue_toc .heading .published {
  margin: 5px 0 !important;
  font-size: 13.2px !important;
  color: #2B3137 !important;
}

.obj_issue_toc .heading .type,
.obj_issue_toc .heading .label {
  color: var(--locus-maroon) !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.obj_issue_toc .sections,
.obj_issue_toc .section,
.cmp_article_list,
.cmp_article_list.articles {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.obj_issue_toc .section > h3 {
  margin: 34px 0 22px !important;
  font-size: 25px !important;
}

.cmp_article_list > li {
  list-style: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

.obj_article_summary {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px 90px 20px 24px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-left: 5px solid var(--locus-maroon) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffefa 100%) !important;
  box-shadow: 0 12px 30px rgba(31, 35, 40, 0.055) !important;
  overflow: visible !important;
  color: #2B3137 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

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

.obj_article_summary .title,
.obj_article_summary h4.title {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid rgba(31, 35, 40, 0.08) !important;
}

.obj_article_summary .title a,
.obj_article_summary h4.title a {
  display: inline !important;
  color: var(--locus-text) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 18.6px !important;
  font-weight: 700 !important;
  line-height: 1.34 !important;
  letter-spacing: -0.012em !important;
  text-decoration: none !important;
}

.obj_article_summary .title a:hover,
.obj_article_summary h4.title a:hover {
  color: var(--locus-maroon) !important;
}

.obj_article_summary .meta {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--locus-muted) !important;
  font-size: 12.7px !important;
  line-height: 1.45 !important;
}

.obj_article_summary .authors {
  margin: 0 0 5px !important;
  color: #2B3137 !important;
  font-weight: 650 !important;
}

.obj_article_summary .pages {
  position: absolute !important;
  top: 50% !important;
  right: 24px !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 48px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--locus-muted) !important;
  font-size: 12.6px !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 16px rgba(31, 35, 40, 0.045) !important;
}

/* Critical: current issue plugin injects raw icon images before DOI/Abstract View. */
.obj_article_summary img[src*="icon-doi"],
.obj_article_summary img[src*="iconmata"] {
  display: inline-block !important;
  width: 15px !important;
  height: 15px !important;
  max-width: 15px !important;
  max-height: 15px !important;
  object-fit: contain !important;
  vertical-align: -2px !important;
  margin: 0 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Hide extra red PDF icon injected before the actual PDF button. */
.obj_article_summary img[src*="ico3"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_summary > a[href*="doi.org"],
.obj_article_summary a[href*="doi.org"] {
  display: inline !important;
  color: #536F7E !important;
  font-size: 12.8px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  word-break: break-word !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.obj_article_summary a[href*="doi.org"] br {
  display: none !important;
}

.obj_article_summary .galleys_links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.obj_article_summary .galleys_links li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_galley_link,
.obj_galley_link.pdf,
.galleys_links a.obj_galley_link.pdf {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 9px 19px !important;
  border: 1px solid var(--locus-maroon) !important;
  border-radius: 999px !important;
  background: var(--locus-maroon) !important;
  color: #ffffff !important;
  font-size: 12.6px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(122, 31, 36, 0.18) !important;
}

.obj_galley_link:hover,
.obj_galley_link.pdf:hover,
.galleys_links a.obj_galley_link.pdf:hover {
  background: var(--locus-maroon-dark) !important;
  border-color: var(--locus-maroon-dark) !important;
  color: #ffffff !important;
}

/* -------------------------------
   ARTICLE DETAIL PAGE
-------------------------------- */

.page_article {
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.obj_article_details {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--locus-text) !important;
}

.obj_article_details .page_title {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 31px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.018em !important;
  text-align: left !important;
}

.obj_article_details .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 305px !important;
  gap: 36px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_details .main_entry,
.obj_article_details .entry_details {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_details .main_entry .item {
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
}

.obj_article_details .main_entry .item .label,
.obj_article_details .main_entry .item > h2.label {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.015em !important;
  text-align: left !important;
}

.obj_article_details .main_entry .item .label::after,
.obj_article_details .main_entry .item > h2.label::after {
  content: "" !important;
  display: block !important;
  width: 70px !important;
  height: 3px !important;
  margin-top: 9px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--locus-maroon), var(--locus-gold)) !important;
}

.obj_article_details .authors ul,
.obj_article_details ul.authors {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.obj_article_details .authors li {
  list-style: none !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.obj_article_details .authors .name {
  display: block !important;
  margin: 0 0 3px !important;
  color: var(--locus-text) !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.obj_article_details .authors .affiliation {
  display: block !important;
  color: var(--locus-muted) !important;
  font-size: 12.3px !important;
  line-height: 1.4 !important;
}

.obj_article_details .doi .value,
.obj_article_details .keywords .value {
  display: block !important;
  color: #2B3137 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

.obj_article_details .doi a {
  color: #536F7E !important;
}

.obj_article_details .item.abstract {
  margin-top: 8px !important;
  padding: 22px 24px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffefa 100%) !important;
  box-shadow: var(--locus-shadow-soft) !important;
}

.obj_article_details .item.abstract .label {
  font-size: 24px !important;
}

.obj_article_details .item.abstract p,
.obj_article_details .item.abstract .value {
  margin: 0 !important;
  color: #26313A !important;
  font-size: 14px !important;
  line-height: 1.84 !important;
  text-align: justify !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.obj_article_details .entry_details .item {
  position: relative !important;
  margin: 0 0 18px !important;
  padding: 18px 18px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-left: 4px solid var(--locus-maroon) !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffefa 100%) !important;
  box-shadow: var(--locus-shadow-soft) !important;
  overflow: hidden !important;
}

.obj_article_details .entry_details .item.galleys {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.obj_article_details .entry_details .galleys_links {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.obj_article_details .entry_details .label,
.obj_article_details .entry_details h2.label {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 18.5px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  text-align: left !important;
}

.obj_article_details .entry_details .label::after,
.obj_article_details .entry_details h2.label::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  margin-top: 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--locus-maroon), var(--locus-gold)) !important;
}

.obj_article_details .entry_details .value,
.obj_article_details .entry_details p,
.obj_article_details .citation_display,
.obj_article_details .csl-entry {
  color: #2B3137 !important;
  font-size: 12.6px !important;
  line-height: 1.6 !important;
  text-align: left !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.obj_article_details .citation_formats_button,
.obj_article_details .entry_details button,
.obj_article_details .entry_details .cmp_button {
  width: 100% !important;
  min-height: 36px !important;
  margin-top: 10px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(31, 35, 40, 0.16) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #536F7E !important;
  font-size: 12px !important;
}

/* -------------------------------
   ARCHIVES LIST
-------------------------------- */

.page_issue_archive h1 {
  margin: 0 0 30px !important;
  font-size: 29px !important;
}

.issues_archive {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.issues_archive > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
}

.obj_issue_summary {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;
  min-height: 144px !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffefa 100%) !important;
  box-shadow: var(--locus-shadow-soft) !important;
  overflow: hidden !important;
}

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

.obj_issue_summary:not(:has(.cover)) {
  grid-template-columns: 1fr !important;
}

.obj_issue_summary .cover {
  display: block !important;
  width: 150px !important;
  height: 200px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(31, 35, 40, 0.12) !important;
  box-shadow: 0 10px 24px rgba(31, 35, 40, 0.10) !important;
  background: #ffffff !important;
}

.obj_issue_summary .cover img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.obj_issue_summary h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Lora", Georgia, serif !important;
  line-height: 1.25 !important;
}

.obj_issue_summary h2 a.title,
.obj_issue_summary .title {
  color: var(--locus-maroon) !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.obj_issue_summary .series {
  margin-top: 8px !important;
  color: var(--locus-muted) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.cmp_pagination {
  margin-top: 26px !important;
}

/* -------------------------------
   STATIC CONTENT DESIGN SYSTEM
-------------------------------- */

.locus-page {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 30px 32px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-top: 5px solid var(--locus-maroon) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(201, 167, 78, 0.16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
  box-shadow: var(--locus-shadow) !important;
}

.locus-page,
.locus-page * {
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.locus-page-badge {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 16px !important;
  padding: 6px 13px !important;
  border: 1px solid rgba(201, 167, 78, 0.45) !important;
  border-radius: 999px !important;
  background: rgba(201, 167, 78, 0.16) !important;
  color: var(--locus-maroon) !important;
  font-size: 10.8px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.locus-page p,
.locus-page-intro {
  margin: 0 0 14px !important;
  color: #2B3137 !important;
  font-size: 13.4px !important;
  line-height: 1.68 !important;
  text-align: left !important;
}

.locus-section-title {
  margin: 28px 0 16px !important;
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
}

.locus-section-title::after {
  content: "" !important;
  display: block !important;
  width: 68px !important;
  height: 3px !important;
  margin-top: 9px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--locus-maroon), var(--locus-gold)) !important;
}

.locus-note,
.locus-card,
.locus-list-card,
.locus-contact-card,
.locus-table-wrap {
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: var(--locus-shadow-soft) !important;
}

.locus-note {
  padding: 16px 18px !important;
  border-left: 4px solid var(--locus-gold) !important;
  background: rgba(201, 167, 78, 0.10) !important;
}

.locus-note p {
  margin: 0 !important;
}

.locus-card-grid,
.locus-list-grid,
.locus-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 16px 0 24px !important;
}

.locus-list-grid,
.locus-contact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.locus-card,
.locus-list-card,
.locus-contact-card {
  position: relative !important;
  padding: 18px 18px 16px !important;
  overflow: hidden !important;
}

.locus-card::before,
.locus-list-card::before,
.locus-contact-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: linear-gradient(180deg, var(--locus-maroon), var(--locus-gold)) !important;
}

.locus-card h3,
.locus-list-card h3,
.locus-contact-card h3 {
  margin: 0 0 10px !important;
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
}

.locus-list-card ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.locus-list-card li {
  position: relative !important;
  margin: 0 0 8px !important;
  padding-left: 18px !important;
  color: #2B3137 !important;
  font-size: 12.9px !important;
  line-height: 1.55 !important;
}

.locus-list-card li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.62em !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: var(--locus-gold) !important;
}

.locus-chip-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 16px 0 24px !important;
}

.locus-chip-list span {
  display: inline-flex !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(122, 31, 36, 0.18) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--locus-maroon) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.locus-dark-box {
  margin-top: 24px !important;
  padding: 20px 22px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, var(--locus-maroon), var(--locus-maroon-dark)) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 38px rgba(122, 31, 36, 0.20) !important;
}

.locus-dark-box h3 {
  margin: 0 0 9px !important;
  color: #ffffff !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 20px !important;
}

.locus-dark-box p,
.locus-dark-box a {
  color: rgba(255, 255, 255, 0.90) !important;
}

.locus-dark-box strong {
  color: #F4D37B !important;
}

.locus-table {
  width: 100% !important;
  border-collapse: collapse !important;
  overflow: hidden !important;
  font-size: 13px !important;
}

.locus-table th,
.locus-table td {
  padding: 13px 14px !important;
  border-bottom: 1px solid rgba(31, 35, 40, 0.08) !important;
  text-align: left !important;
  vertical-align: top !important;
}

.locus-table th {
  color: var(--locus-maroon) !important;
  background: rgba(201, 167, 78, 0.12) !important;
  font-weight: 800 !important;
}

/* -------------------------------
   SIDEBAR
-------------------------------- */

.locus-sidebar {
  padding: 0 !important;
  margin: 0 !important;
}

.locus-sidebar-card {
  position: relative !important;
  margin: 0 0 16px !important;
  padding: 17px 16px 16px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-left: 4px solid var(--locus-maroon) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffefa 100%) !important;
  box-shadow: var(--locus-shadow-soft) !important;
  overflow: hidden !important;
}

.locus-sidebar-card h3 {
  margin: 0 0 13px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid rgba(31, 35, 40, 0.09) !important;
  color: var(--locus-maroon) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}

.locus-sidebar-card p {
  margin: 0 0 12px !important;
  color: #2B3137 !important;
  font-size: 12.8px !important;
  line-height: 1.58 !important;
}

.locus-sidebar-center {
  text-align: center !important;
}

.locus-sidebar-menu {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.locus-sidebar-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.locus-sidebar-menu a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 33px !important;
  margin: 0 0 5px !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  color: #536F7E !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.locus-sidebar-menu a::after {
  content: "›" !important;
  margin-left: 8px !important;
  color: var(--locus-gold) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.locus-sidebar-menu a:hover,
.locus-sidebar-menu a:focus {
  color: var(--locus-maroon) !important;
  background: rgba(122, 31, 36, 0.06) !important;
}

.block_make_submission_link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: var(--locus-maroon) !important;
  color: #ffffff !important;
  border: 1px solid var(--locus-maroon) !important;
  font-size: 12.2px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.block_make_submission_link:hover,
.block_make_submission_link:focus {
  background: var(--locus-maroon-dark) !important;
  color: #ffffff !important;
}

.locus-tools-list {
  display: grid !important;
  gap: 10px !important;
}

.locus-tool-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  box-shadow: 0 6px 16px rgba(31, 35, 40, 0.04) !important;
}

.locus-tool-link img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 36px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border: 0 !important;
  box-shadow: none !important;
}

.locus-icon-box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 94px !important;
  height: 94px !important;
  padding: 10px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: var(--locus-shadow-soft) !important;
}

.locus-icon-box img {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
}

/* -------------------------------
   LOGIN PAGE
-------------------------------- */

body.pkp_page_login .pkp_structure_content,
body.pkp_op_login .pkp_structure_content {
  display: block !important;
  max-width: 820px !important;
  padding: 42px 24px 60px !important;
}

body.pkp_page_login .pkp_structure_sidebar,
body.pkp_op_login .pkp_structure_sidebar {
  display: none !important;
}

.page_login,
body.pkp_page_login .pkp_structure_main,
body.pkp_op_login .pkp_structure_main {
  max-width: 520px !important;
  margin: 0 auto !important;
}

.page_login {
  padding: 32px 34px !important;
  border: 1px solid rgba(31, 35, 40, 0.10) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: var(--locus-shadow) !important;
}

.page_login h1,
.page_login h2 {
  text-align: center !important;
}

.page_login h1::after,
.page_login h2::after {
  margin-left: auto !important;
  margin-right: auto !important;
}

.page_login label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--locus-text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.page_login input[type="text"],
.page_login input[type="password"],
.page_login input[type="email"] {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(31, 35, 40, 0.16) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

.page_login button,
.page_login input[type="submit"] {
  width: 100% !important;
  min-height: 44px !important;
  margin-top: 16px !important;
  border-radius: 10px !important;
  background: var(--locus-maroon) !important;
  border: 1px solid var(--locus-maroon) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* -------------------------------
   FOOTER
-------------------------------- */

.pkp_structure_footer_wrapper {
  background:
    radial-gradient(circle at 12% 0%, rgba(201, 167, 78, 0.10), transparent 28%),
    linear-gradient(135deg, #1A0B0E 0%, #230D12 45%, #10090B 100%) !important;
  border-top: 4px solid var(--locus-gold) !important;
}

.pkp_structure_footer,
.pkp_footer_content {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 34px 48px !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

.locus-footer-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  gap: 44px !important;
  width: 100% !important;
}

.pkp_footer_content p,
.locus-footer-content p {
  margin: 0 0 13px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 13px !important;
  line-height: 1.58 !important;
}

.pkp_footer_content strong,
.pkp_footer_content b,
.locus-footer-content strong {
  color: #ffffff !important;
  font-weight: 800 !important;
}

.pkp_footer_content a,
.locus-footer-content a {
  color: #F4D37B !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.pkp_brand_footer,
.pkp_brand_footer *,
.pkp_brand_footer img,
.pkp_brand_footer a {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

/* -------------------------------
   RESPONSIVE — SAFE, NOT DESTRUCTIVE
-------------------------------- */

@media (max-width: 1100px) {
  .pkp_structure_content {
    grid-template-columns: 1fr !important;
    max-width: 980px !important;
    padding: 34px 24px 46px !important;
  }

  .pkp_structure_sidebar {
    max-width: 100% !important;
  }

  .locus-sidebar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .obj_article_details .row {
    grid-template-columns: 1fr !important;
  }

  .obj_article_details .entry_details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 760px) {
  .pkp_structure_page {
    border: 0 !important;
  }

  .pkp_head_wrapper {
    padding: 16px 12px 0 !important;
  }

  .pkp_site_name .is_img {
    width: 100% !important;
    border-radius: 14px !important;
  }

  .pkp_site_name .is_img img {
    border-radius: 14px !important;
  }

  #navigationPrimary,
  .pkp_navigation_primary {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  #navigationPrimary > li > a,
  .pkp_navigation_primary > li > a,
  .pkp_search {
    min-height: 48px !important;
    padding: 0 14px !important;
    font-size: 11.2px !important;
    white-space: nowrap !important;
  }

  .homepage_about,
  .locus-page {
    padding: 22px 17px !important;
    border-radius: 18px !important;
  }

  .homepage_about p,
  .locus-page p,
  .locus-page-intro {
    font-size: 12.8px !important;
    line-height: 1.65 !important;
  }

  .obj_article_summary {
    padding: 18px 18px 18px 20px !important;
  }

  .obj_article_summary .pages {
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    margin: 5px 0 9px !important;
  }

  .obj_article_summary .title a,
  .obj_article_summary h4.title a {
    font-size: 16px !important;
  }

  .obj_article_details .page_title {
    font-size: 23px !important;
  }

  .obj_article_details .item.abstract p {
    font-size: 13px !important;
    line-height: 1.72 !important;
  }

  .obj_article_details .entry_details,
  .locus-sidebar,
  .locus-card-grid,
  .locus-list-grid,
  .locus-contact-grid,
  .locus-footer-content {
    grid-template-columns: 1fr !important;
  }

  .obj_issue_summary {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 16px !important;
  }

  .obj_issue_summary:not(:has(.cover)) {
    grid-template-columns: 1fr !important;
  }

  .obj_issue_summary .cover {
    width: 90px !important;
    height: 120px !important;
  }

  .obj_issue_summary h2 a.title,
  .obj_issue_summary .title {
    font-size: 20px !important;
  }

  .pkp_structure_footer,
  .pkp_footer_content {
    padding: 28px 20px !important;
  }
}

/* =========================================================
   LOCUS V6.1 — LOGO SIZE + ARTICLE DETAIL ALIGNMENT FIX
   Paste at the very bottom of locus-ojs-default-clean-rebuild-v6.css
   Fixes only: header logo size and article detail layout.
   ========================================================= */

/* 1) Header logo: smaller, full image, no crop */
.pkp_head_wrapper {
  padding-top: 18px !important;
}

.pkp_site_name_wrapper {
  padding-bottom: 22px !important;
}

.pkp_site_name .is_img {
  width: min(72vw, 940px) !important;
  max-width: 940px !important;
  height: auto !important;
  max-height: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(31, 35, 40, 0.12) !important;
}

.pkp_site_name .is_img img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 18px !important;
}

/* 2) Article detail page: force the real OJS columns into the correct order */
body.pkp_page_article .pkp_structure_content {
  grid-template-columns: minmax(0, 1fr) 285px !important;
  gap: 34px !important;
  max-width: 1500px !important;
  padding-left: 42px !important;
  padding-right: 42px !important;
}

body.pkp_page_article .pkp_structure_sidebar {
  max-width: 285px !important;
}

.page_article {
  max-width: 1120px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_details {
  max-width: 1120px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_details .page_title {
  max-width: 980px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 27px !important;
  line-height: 1.32 !important;
}

.obj_article_details .page_title::after {
  width: 74px !important;
  margin-top: 12px !important;
}

/* The OJS article view has: .obj_article_details > .row > .main_entry + .entry_details */
.obj_article_details > .row,
.obj_article_details .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.obj_article_details .main_entry {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

.obj_article_details .entry_details {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 300px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

/* Remove any horizontal/default line cutting through article content */
.obj_article_details .row::before,
.obj_article_details .row::after,
.obj_article_details .main_entry::before,
.obj_article_details .main_entry::after,
.obj_article_details .entry_details::before,
.obj_article_details .entry_details::after {
  content: none !important;
  display: none !important;
}

/* Main article data must stay in the left column */
.obj_article_details .main_entry .item {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.obj_article_details .authors li {
  margin-bottom: 12px !important;
}

.obj_article_details .authors .name {
  font-size: 13.6px !important;
}

.obj_article_details .authors .affiliation {
  font-size: 12.4px !important;
}

.obj_article_details .main_entry .item .label,
.obj_article_details .main_entry .item > h2.label {
  font-size: 21px !important;
}

.obj_article_details .doi .value,
.obj_article_details .keywords .value {
  max-width: 100% !important;
  font-size: 13.3px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

/* Abstract: full width of left column, readable, justified */
.obj_article_details .item.abstract {
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 22px 24px !important;
}

.obj_article_details .item.abstract p,
.obj_article_details .item.abstract .value {
  max-width: 100% !important;
  font-size: 13.7px !important;
  line-height: 1.78 !important;
  text-align: justify !important;
}

/* Right-side article metadata cards: compact and stay right */
.obj_article_details .entry_details .item {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 16px !important;
  padding: 16px 16px !important;
}

.obj_article_details .entry_details .item.galleys {
  padding: 0 !important;
  margin-bottom: 16px !important;
}

.obj_article_details .entry_details .galleys_links {
  justify-content: flex-start !important;
}

.obj_article_details .entry_details .obj_galley_link.pdf,
.obj_article_details .entry_details .galleys_links a.obj_galley_link.pdf {
  min-height: 38px !important;
  padding: 9px 20px !important;
}

.obj_article_details .entry_details .label,
.obj_article_details .entry_details h2.label {
  font-size: 17.4px !important;
}

.obj_article_details .entry_details .value,
.obj_article_details .entry_details p,
.obj_article_details .citation_display,
.obj_article_details .csl-entry {
  font-size: 12.1px !important;
  line-height: 1.58 !important;
}

/* If viewport is narrower, stack article detail cleanly instead of letting it run away */
@media (max-width: 1250px) {
  body.pkp_page_article .pkp_structure_content {
    grid-template-columns: 1fr !important;
    max-width: 980px !important;
  }

  body.pkp_page_article .pkp_structure_sidebar {
    max-width: 100% !important;
  }

  .obj_article_details > .row,
  .obj_article_details .row {
    grid-template-columns: 1fr !important;
  }

  .obj_article_details .main_entry,
  .obj_article_details .entry_details {
    grid-column: 1 !important;
    max-width: 100% !important;
  }

  .obj_article_details .entry_details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 22px !important;
  }

  .obj_article_details .entry_details .item {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 760px) {
  .pkp_site_name .is_img {
    width: min(94vw, 940px) !important;
    border-radius: 14px !important;
  }

  .pkp_site_name .is_img img {
    border-radius: 14px !important;
  }

  .obj_article_details .page_title {
    font-size: 22px !important;
  }

  .obj_article_details .entry_details {
    grid-template-columns: 1fr !important;
  }
}
