/**
 * JMEP SDG 4 Editorial Theme v1.0.0 | OJS 3.5.x
 * Edit the CSS variables below to change the palette.
 * Child of OJS Default Theme; intended only for journal frontend.
 * SPDX-License-Identifier: GPL-3.0-or-later
 */
:root {
  --jmep-red: #C5192D;
  --jmep-red-deep: #8A1525;
  --jmep-ink: #24242C;
  --jmep-muted: #64636A;
  --jmep-paper: #FCFAF8;
  --jmep-soft: #FFF2F1;
  --jmep-line: #EDE5E3;
  --jmep-white: #FFFFFF;
  --jmep-radius: 14px;
  --jmep-shadow: 0 12px 35px rgba(47, 20, 25, .055);
}

/* Base typography and link accessibility */
html { scroll-behavior: smooth; }
html, body { background: var(--jmep-paper); color: var(--jmep-ink); }
body { font-family: "Noto Sans", "Segoe UI", Arial, sans-serif; line-height: 1.65; }
a, .pkp_structure_main a { color: var(--jmep-red-deep); }
a:hover, .pkp_structure_main a:hover { color: var(--jmep-red); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [role="button"]:focus-visible {
  outline: 3px solid var(--jmep-red) !important;
  outline-offset: 3px;
}
::selection { color: #fff; background: var(--jmep-red-deep); }

/* White masthead with restrained SDG 4 red rule */
.pkp_structure_head {
  background: var(--jmep-white) !important;
  border-top: 5px solid var(--jmep-red);
  border-bottom: 1px solid var(--jmep-line);
  box-shadow: 0 7px 22px rgba(50, 19, 25, .035);
}
.pkp_site_name { color: var(--jmep-ink); }
.pkp_site_name .is_text { color: var(--jmep-ink); font-family: Georgia, "Noto Serif", serif; }
.pkp_site_name .is_img img { max-height: 76px; width: auto; object-fit: contain; }
.pkp_site_name a:focus-visible { outline: 3px solid var(--jmep-red) !important; }
.pkp_site_nav_menu { background: var(--jmep-white); }
.pkp_site_nav_menu a,
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
.pkp_navigation_search_wrapper a {
  color: var(--jmep-ink) !important;
}
.pkp_navigation_primary > li > a {
  border-bottom: 3px solid transparent;
  font-weight: 650;
  letter-spacing: .012em;
  transition: color .15s ease, border-color .15s ease;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a:focus-visible {
  color: var(--jmep-red-deep) !important;
  border-color: var(--jmep-red);
  background: var(--jmep-soft);
}
.pkp_navigation_primary .dropdown-menu,
.pkp_navigation_user .dropdown-menu,
.pkp_nav_list ul {
  background: var(--jmep-white);
  border: 1px solid var(--jmep-line);
  box-shadow: var(--jmep-shadow);
}
.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_user .dropdown-menu a,
.pkp_nav_list ul a { color: var(--jmep-ink) !important; }
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus,
.pkp_navigation_user .dropdown-menu a:hover,
.pkp_navigation_user .dropdown-menu a:focus {
  color: var(--jmep-red-deep) !important;
  background: var(--jmep-soft);
  border-color: var(--jmep-red);
}
.pkp_site_nav_toggle { box-shadow: 1px 0 0 var(--jmep-line); }
.pkp_site_nav_toggle > span { border-bottom-color: var(--jmep-ink); }
.pkp_site_nav_toggle > span::before,
.pkp_site_nav_toggle > span::after { background: var(--jmep-ink); }
.pkp_navigation_user .task_count { color: var(--jmep-ink); }

/* Content scaffold: keep OJS widths and existing sidebar behaviour intact */
.pkp_structure_content { padding-bottom: 36px; }
.pkp_structure_main {
  background: var(--jmep-white);
  border: 1px solid var(--jmep-line);
  border-radius: var(--jmep-radius);
  box-shadow: var(--jmep-shadow);
}
.pkp_structure_main::before,
.pkp_structure_main::after { display: none !important; }
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main .page_title {
  font-family: Georgia, "Noto Serif", serif;
  color: var(--jmep-ink);
  letter-spacing: -.022em;
  line-height: 1.22;
}
.pkp_structure_main h1, .pkp_structure_main .page_title { font-weight: 700; }
.pkp_structure_main h1::after,
.pkp_structure_main .page_title::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  border-radius: 10px;
  background: var(--jmep-red);
  margin-top: 16px;
}
.pkp_structure_main p { color: #44434a; }
.pkp_structure_main hr { border-color: var(--jmep-line); }

/* Homepage: use the OJS Homepage Image field for the branded banner */
.pkp_page_index .homepage_image {
  margin: 0 0 24px !important;
  border-radius: 12px;
  overflow: hidden;
  background: var(--jmep-soft);
  box-shadow: 0 12px 24px rgba(112, 26, 40, .07);
}
.pkp_page_index .homepage_image img {
  display: block;
  width: 100%;
  height: auto;
}
.pkp_page_index .homepage_about {
  background: #fffaf9;
  border-left: 4px solid var(--jmep-red);
  border-radius: 0 11px 11px 0;
  padding: 22px 26px;
  margin: 16px 0 28px;
}
.pkp_page_index .homepage_about h2 { margin-top: 0; }
.pkp_page_index .current_issue {
  border-top: 1px solid var(--jmep-line);
  padding-top: 22px;
}
.pkp_page_index .current_issue_title { color: var(--jmep-red-deep); }
.pkp_page_index .additional_content {
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-top: 1px solid var(--jmep-line);
}
.pkp_page_index .cmp_announcements { border-color: var(--jmep-line); }

/* Scholarly listing and article details */
.cmp_article_list > li {
  padding: 20px 0;
  border-bottom: 1px solid var(--jmep-line);
}
.cmp_article_list > li:last-child { border-bottom: 0; }
.obj_article_summary > .title,
.obj_article_summary > .title a {
  color: var(--jmep-ink);
  font-family: Georgia, "Noto Serif", serif;
  line-height: 1.37;
}
.obj_article_summary > .title a:hover { color: var(--jmep-red-deep); }
.obj_article_summary .meta, .obj_article_summary .authors,
.obj_article_summary .published, .obj_article_summary .pages,
.obj_article_summary .subtitle { color: var(--jmep-muted); }
.obj_article_summary .cover img,
.obj_issue_summary .cover img,
.obj_issue_toc .cover img {
  border-radius: 6px;
  box-shadow: 0 8px 22px rgba(41, 17, 22, .09);
}
.obj_issue_summary .title { color: var(--jmep-ink); }
.obj_issue_summary .series { color: var(--jmep-muted); }
.obj_announcement_summary h3,
.obj_announcement_summary h4 { color: var(--jmep-ink); }

/* Buttons, PDF/HTML galley pills, form fields */
.cmp_button, .cmp_button_wire,
.cmp_form .buttons button,
.block_make_submission a,
.obj_galley_link {
  background: var(--jmep-red) !important;
  color: var(--jmep-white) !important;
  border: 1px solid var(--jmep-red) !important;
  border-radius: 8px;
  font-weight: 650;
  box-shadow: none;
  text-decoration: none;
  transition: background .15s ease, transform .15s ease;
}
.cmp_button:hover, .cmp_button_wire:hover,
.cmp_form .buttons button:hover,
.block_make_submission a:hover,
.obj_galley_link:hover {
  background: var(--jmep-red-deep) !important;
  border-color: var(--jmep-red-deep) !important;
  color: #fff !important;
  box-shadow: none;
}
.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form input[type="url"],
.cmp_form select, .cmp_form textarea,
input[type="search"] {
  border: 1px solid #d7cecc;
  border-radius: 8px;
}
.cmp_form input:focus, .cmp_form textarea:focus,
.cmp_form select:focus { border-color: var(--jmep-red); }

/* Sidebar cards */
.pkp_structure_sidebar .pkp_block {
  background: var(--jmep-white);
  border: 1px solid var(--jmep-line);
  border-radius: var(--jmep-radius);
  box-shadow: 0 9px 22px rgba(47, 20, 25, .035);
  margin-bottom: 20px;
  padding: 22px;
}
.pkp_structure_sidebar .pkp_block .title {
  color: var(--jmep-ink);
  font-family: Georgia, "Noto Serif", serif;
  font-size: 1.12rem;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--jmep-soft);
}
.pkp_structure_sidebar .pkp_block a { color: var(--jmep-red-deep); }

/* Footer */
.pkp_structure_footer_wrapper {
  background: var(--jmep-ink);
  color: #f5edf0;
  border-top: 5px solid var(--jmep-red);
}
.pkp_structure_footer, .pkp_footer_content { color: #f5edf0; }
.pkp_structure_footer a { color: #ffe1e4; }
.pkp_structure_footer a:hover { color: #fff; }
.pkp_brand_footer { border-top: 1px solid rgba(255,255,255,.12); }

/* Mobile / narrower viewport: preserve OJS nav-toggle JS */
@media (max-width: 991px) {
  .pkp_structure_content { padding-top: 16px; }
  .pkp_site_name .is_img img { max-height: 37px; }
  .pkp_site_nav_menu { border-top: 1px solid var(--jmep-line); }
  .pkp_site_name .is_text { color: var(--jmep-ink); }
  .pkp_navigation_user > li > a, .pkp_navigation_primary > li > a { color: var(--jmep-ink) !important; }
  .pkp_structure_sidebar .pkp_block { margin: 16px 0; }
  .pkp_page_index .homepage_about { padding: 18px; }
}
@media (max-width: 639px) {
  .pkp_structure_content { padding-bottom: 16px; }
  .pkp_structure_main { border-radius: 10px; }
  .pkp_structure_main h1 { font-size: 1.65rem; }
  .pkp_page_index .homepage_image { border-radius: 8px; }
  .pkp_structure_sidebar .pkp_block { border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
