/* ======================================================================
   JOURNAL OF MATERIALS EDUCATION — GREEN & LIGHT GRAY (UPDATED V5)
   OJS 3.5 · jmeModern theme · Journal-facing pages

   Palette
   Brand green     #007A33  — screenshot-matched hero, headings and footer
   Dark green      #00652B  — readable links and hover actions
   Light gray      #F1F1F1  — header and page background
   Pale green      #EDF5EF  — highlights and light panels
   White           #FFFFFF  — buttons and readable surfaces

   Installation: OJS Dashboard > Settings > Website > Appearance
                 > Advanced > Journal Style Sheet > Upload CSS > Save

   Safety: Replaces the earlier V4 CSS; upload only this file.
           This stylesheet changes COLORS and visual states only.
           It deliberately does NOT modify layout geometry, SVG/image
           paths, background images, or the existing hero art.
           All rules are scoped to the frontend .pkp_structure_page.
   ====================================================================== */

/* 01 — BRAND TOKENS ---------------------------------------------------- */
.pkp_structure_page {
  --josi-primary: #007A33;
  --josi-secondary: #00652B;
  --josi-accent: #5DAB7D;
  --josi-soft: #EDF5EF;
  --josi-white: #FFFFFF;
  --josi-text: #222822;
  --josi-muted: #506057;
  --josi-border: #D5D8DC;
  --josi-accent-hover: #00652B;
  --josi-green-hover: #005726;
  --josi-accent-readable: #00652B;
  --josi-accent-on-dark: #E0F5E7;
  --josi-focus: #5DAB7D;
  color: var(--josi-text);
  background-color: #F1F1F1;
}

/* 02 — READABLE TEXT & LINKS ------------------------------------------- */
.pkp_structure_page .pkp_structure_main,
.pkp_structure_page .pkp_structure_content {
  color: var(--josi-text);
}

.pkp_structure_page .pkp_structure_main h1,
.pkp_structure_page .pkp_structure_main h2,
.pkp_structure_page .pkp_structure_main h3,
.pkp_structure_page .pkp_structure_main h4,
.pkp_structure_page .page_title,
.pkp_structure_page .current_issue_title,
.pkp_structure_page .obj_article_details .title {
  color: var(--josi-primary);
}

.pkp_structure_page .pkp_structure_main a,
.pkp_structure_page .pkp_structure_sidebar a {
  color: var(--josi-secondary);
}

.pkp_structure_page .pkp_structure_main a:hover,
.pkp_structure_page .pkp_structure_main a:focus,
.pkp_structure_page .pkp_structure_sidebar a:hover,
.pkp_structure_page .pkp_structure_sidebar a:focus {
  color: var(--josi-primary);
}

.pkp_structure_page .pkp_structure_main a:focus-visible,
.pkp_structure_page .pkp_structure_sidebar a:focus-visible,
.pkp_structure_page .pkp_structure_head a:focus-visible,
.pkp_structure_page .pkp_structure_footer a:focus-visible,
.pkp_structure_page button:focus-visible,
.pkp_structure_page input:focus-visible,
.pkp_structure_page select:focus-visible,
.pkp_structure_page textarea:focus-visible {
  outline: 3px solid var(--josi-focus) !important;
  outline-offset: 3px;
}

.pkp_structure_page ::selection {
  color: var(--josi-primary);
  background-color: var(--josi-accent);
}

/* 03 — HEADER: SCREENSHOT LIGHT GRAY WITH BRAND-GREEN SITE TITLE ----- */
/* Preserve the jmeModern header's dimensions and positioning. */
.pkp_structure_page .pkp_structure_head,
.pkp_structure_page .pkp_head_wrapper,
.pkp_structure_page .pkp_site_name_wrapper {
  background-color: #F1F1F1 !important;
}

.pkp_structure_page .pkp_structure_head {
  border-bottom: 3px solid #D5D8DC !important;
}

/* In OJS the site-name anchor itself has class "is_text". */
.pkp_structure_page .pkp_structure_head .pkp_site_name,
.pkp_structure_page .pkp_structure_head .pkp_site_name a,
.pkp_structure_page .pkp_structure_head .pkp_site_name a.is_text,
.pkp_structure_page .pkp_structure_head .pkp_site_name .is_text,
.pkp_structure_page .pkp_structure_head .pkp_site_name_wrapper a,
.pkp_structure_page .pkp_structure_head .jme-journal-title,
.pkp_structure_page .pkp_structure_head .jme-site-title {
  color: #007A33 !important;
}
.pkp_structure_page .pkp_structure_head .pkp_site_name a:hover,
.pkp_structure_page .pkp_structure_head .pkp_site_name a:focus {
  color: #00652B !important;
}

/* 04 — NAVIGATION: LIGHT GRAY BAR WITH GREEN LINKS ------------------- */
/* Keep header and navigation consistent with the reference screenshot. */
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary_row,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary_wrapper,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary {
  background-color: #F1F1F1 !important;
  background-image: none !important;
}

.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a:link,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a:visited,
.pkp_structure_page .pkp_structure_head #navigationPrimary > li > a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_search_wrapper > a,
.pkp_structure_page .pkp_structure_head .pkp_search_desktop {
  color: #007A33 !important;
  background-color: transparent !important;
}

/* Active navigation item uses dark text, as in the reference screenshot. */
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li.current > a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li.active > a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a[aria-current="page"] {
  color: #202820 !important;
}

.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a:hover,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a:focus,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li:hover > a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary > li > a[aria-expanded="true"],
.pkp_structure_page .pkp_structure_head .pkp_navigation_search_wrapper > a:hover {
  color: #00652B !important;
  border-bottom-color: #5DAB7D !important;
  background-color: #EDF5EF !important;
}

.pkp_structure_page .pkp_structure_head .pkp_navigation_primary li ul,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary .dropdown-menu {
  background-color: #FFFFFF !important;
  border-color: #D5D8DC !important;
}
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary li ul a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary .dropdown-menu a {
  color: #007A33 !important;
}
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary li ul a:hover,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary li ul a:focus,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary .dropdown-menu a:hover,
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary .dropdown-menu a:focus {
  color: #007A33 !important;
  background-color: #EDF5EF !important;
}

/* Username/login is green on the screenshot-matched light-gray masthead. */
@media (min-width: 992px) {
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_menu {
    background-color: transparent !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user_wrapper {
    background-color: #F1F1F1 !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user > li > a,
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user > li > a:visited {
    color: #007A33 !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user > li > a:hover,
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user > li > a:focus {
    color: #00652B !important;
  }
}

/* Keep the username dropdown and the menu dropdown fully readable. */
.pkp_structure_page .pkp_structure_head .pkp_navigation_user li ul,
.pkp_structure_page .pkp_structure_head .pkp_navigation_user .dropdown-menu {
  background-color: #FFFFFF !important;
  border-color: #D5D8DC !important;
}
.pkp_structure_page .pkp_structure_head .pkp_navigation_user li ul a,
.pkp_structure_page .pkp_structure_head .pkp_navigation_user .dropdown-menu a {
  color: #007A33 !important;
}
.pkp_structure_page .pkp_structure_head .pkp_navigation_user li ul a:hover,
.pkp_structure_page .pkp_structure_head .pkp_navigation_user .dropdown-menu a:hover {
  color: #007A33 !important;
  background-color: #EDF5EF !important;
}

/* Known/typical names for the JME header's submission CTA.
   Keep existing padding, font sizes and positioning. */
.pkp_structure_page .pkp_structure_head :is(
  .jme-submit-btn, .jme-submit-button, .jme-submit-link,
  .jme-submit-manuscript, .jme-nav-submit, .jme-header-submit,
  .jme-header-cta, .submit-manuscript, .submit-manuscript-btn
),
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary_row > a[href*="submissions"],
.pkp_structure_page .pkp_structure_head .pkp_navigation_primary_wrapper > a[href*="submissions"],
.pkp_structure_page .pkp_structure_head a[href*="/submissions"]:not(.pkp_navigation_primary a):not(.pkp_navigation_user a) {
  background-color: #007A33 !important;
  border-color: #007A33 !important;
  color: #FFFFFF !important;
}
.pkp_structure_page .pkp_structure_head :is(
  .jme-submit-btn, .jme-submit-button, .jme-submit-link,
  .jme-submit-manuscript, .jme-nav-submit, .jme-header-submit,
  .jme-header-cta, .submit-manuscript, .submit-manuscript-btn
):hover {
  background-color: #00652B !important;
  border-color: #00652B !important;
  color: #FFFFFF !important;
}

/* MOBILE: white dropdown with green links and controls. */
@media (max-width: 991px) {
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_menu {
    background-color: #FFFFFF !important;
    color: #007A33 !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_menu a,
  .pkp_structure_page .pkp_structure_head .pkp_navigation_primary a,
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user a {
    color: #007A33 !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_menu a:hover,
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_menu a:focus {
    color: #00652B !important;
    background-color: #EDF5EF !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_toggle,
  .pkp_structure_page .pkp_structure_head .pkp_site_nav_toggle span {
    color: #007A33 !important;
  }
  .pkp_structure_page .pkp_structure_head .pkp_navigation_user_wrapper {
    background-color: #FFFFFF !important;
  }
}

/* 05 — JME HERO: GREEN BACKGROUND, IMAGE/GEOMETRY LEFT UNTOUCHED ------- */
/* A background-color override does NOT remove an existing banner/graphic. */
.pkp_structure_page .jme-home .jme-hero,
.pkp_structure_page .jme-hero {
  background-color: #007A33 !important;
}
/* Preserve any existing background image, background sizing and positioning. */
.pkp_structure_page .jme-home .jme-hero-copy h1,
.pkp_structure_page .jme-home .jme-hero-copy p {
  color: #FFFFFF !important;
}

/* Hero caption and slogan must remain white against the green banner. */
.pkp_structure_page .jme-home .jme-hero-slogan,
.pkp_structure_page .jme-home .jme-hero-slogan * {
  color: #FFFFFF !important;
}

.pkp_structure_page .jme-home .jme-eyebrow {
  color: #FFFFFF !important;
}

.pkp_structure_page .jme-home .jme-btn-primary {
  color: #007A33 !important;
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}

.pkp_structure_page .jme-home .jme-btn-primary:hover,
.pkp_structure_page .jme-home .jme-btn-primary:focus {
  color: #00652B !important;
  background-color: #EDF5EF !important;
  border-color: #EDF5EF !important;
}

.pkp_structure_page .jme-home .jme-btn-outline {
  color: #007A33 !important;
  border-color: #FFFFFF !important;
  background-color: #FFFFFF !important;
}

.pkp_structure_page .jme-home .jme-btn-outline:hover,
.pkp_structure_page .jme-home .jme-btn-outline:focus {
  color: #00652B !important;
  border-color: #EDF5EF !important;
  background-color: #EDF5EF !important;
}

/* 06 — HOMEPAGE HIGHLIGHTS, ISSUE, NEWS, ADDITIONAL CONTENT ------------ */
.pkp_structure_page .jme-home .jme-facts {
  background-color: var(--josi-white);
  border-color: var(--josi-border);
}

.pkp_structure_page .jme-home .jme-facts > div {
  border-color: var(--josi-border);
}

.pkp_structure_page .jme-home .jme-facts strong {
  color: var(--josi-primary);
}

.pkp_structure_page .jme-home .jme-facts small {
  color: var(--josi-muted);
}

.pkp_structure_page .jme-home .jme-fact-icon {
  color: var(--josi-secondary);
  background-color: var(--josi-soft);
}

.pkp_structure_page .jme-home .jme-section-top {
  border-color: var(--josi-border);
}

.pkp_structure_page .jme-home .jme-section-top h2,
.pkp_structure_page .jme-home .jme-section-top h3,
.pkp_structure_page .jme-home .current_issue_title {
  color: var(--josi-primary);
}

.pkp_structure_page .jme-home .jme-text-link {
  color: var(--josi-secondary);
}

.pkp_structure_page .jme-home .jme-text-link:hover,
.pkp_structure_page .jme-home .jme-text-link:focus {
  color: var(--josi-primary);
}

.pkp_structure_page .jme-home .jme-current,
.pkp_structure_page .jme-home .jme-news,
.pkp_structure_page .jme-home .jme-panel {
  border-color: var(--josi-border);
}

.pkp_structure_page .jme-home .jme-cover-fallback {
  color: var(--josi-white);
  background-color: var(--josi-primary);
  border-color: var(--josi-accent);
}

/* 07 — ARTICLE, ISSUE, ARCHIVE & ANNOUNCEMENT LISTS -------------------- */
.pkp_structure_page .obj_article_summary,
.pkp_structure_page .obj_issue_summary,
.pkp_structure_page .obj_announcement_summary,
.pkp_structure_page .obj_article_details,
.pkp_structure_page .obj_issue_toc,
.pkp_structure_page .cmp_article_list,
.pkp_structure_page .cmp_announcements {
  border-color: var(--josi-border);
}

.pkp_structure_page .obj_article_summary .title,
.pkp_structure_page .obj_issue_summary .title,
.pkp_structure_page .obj_announcement_summary .title,
.pkp_structure_page .obj_issue_toc .section h2,
.pkp_structure_page .obj_article_details .page_title,
.pkp_structure_page .obj_article_details .main_entry .item h2,
.pkp_structure_page .obj_issue_toc .heading {
  color: var(--josi-primary);
}

.pkp_structure_page .obj_article_summary .title a,
.pkp_structure_page .obj_issue_summary .title a,
.pkp_structure_page .obj_announcement_summary .title a,
.pkp_structure_page .obj_issue_toc .title a {
  color: var(--josi-primary);
}

.pkp_structure_page .obj_article_summary .title a:hover,
.pkp_structure_page .obj_issue_summary .title a:hover,
.pkp_structure_page .obj_announcement_summary .title a:hover,
.pkp_structure_page .obj_issue_toc .title a:hover {
  color: var(--josi-secondary);
}

.pkp_structure_page .obj_article_summary .authors,
.pkp_structure_page .obj_article_summary .pages,
.pkp_structure_page .obj_article_details .authors,
.pkp_structure_page .obj_article_details .date_published,
.pkp_structure_page .obj_issue_summary .description,
.pkp_structure_page .obj_announcement_summary .date {
  color: var(--josi-muted);
}

.pkp_structure_page .obj_article_details .item,
.pkp_structure_page .obj_issue_toc .sections,
.pkp_structure_page .obj_issue_toc .articles {
  border-color: var(--josi-border);
}

/* PDF / HTML galley links retain their existing size and placement. */
.pkp_structure_page a.obj_galley_link,
.pkp_structure_page .obj_galley_link {
  color: var(--josi-primary) !important;
  border-color: var(--josi-secondary) !important;
  background-color: var(--josi-white) !important;
}

.pkp_structure_page a.obj_galley_link:hover,
.pkp_structure_page a.obj_galley_link:focus,
.pkp_structure_page .obj_galley_link:hover {
  color: var(--josi-white) !important;
  background-color: var(--josi-secondary) !important;
  border-color: var(--josi-secondary) !important;
}

/* 08 — COMMON BUTTONS AND PAGINATION ---------------------------------- */
.pkp_structure_page .cmp_button,
.pkp_structure_page .cmp_form .buttons button,
.pkp_structure_page .pkp_structure_main button[type="submit"],
.pkp_structure_page .pkp_structure_main input[type="submit"],
.pkp_structure_page .pkp_structure_main .submit button {
  color: var(--josi-white) !important;
  background-color: var(--josi-secondary) !important;
  border-color: var(--josi-secondary) !important;
}

.pkp_structure_page .cmp_button:hover,
.pkp_structure_page .cmp_button:focus,
.pkp_structure_page .cmp_form .buttons button:hover,
.pkp_structure_page .cmp_form .buttons button:focus,
.pkp_structure_page .pkp_structure_main button[type="submit"]:hover,
.pkp_structure_page .pkp_structure_main input[type="submit"]:hover {
  color: var(--josi-white) !important;
  background-color: var(--josi-primary) !important;
  border-color: var(--josi-primary) !important;
}

/* Preserve disabled controls rather than making them appear actionable. */
.pkp_structure_page .pkp_structure_main button:disabled,
.pkp_structure_page .pkp_structure_main input[type="submit"]:disabled,
.pkp_structure_page .pkp_structure_main .cmp_button[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

.pkp_structure_page .cmp_pagination a,
.pkp_structure_page .pkp_page_links a {
  color: var(--josi-secondary);
  border-color: var(--josi-border);
}

.pkp_structure_page .cmp_pagination a:hover,
.pkp_structure_page .cmp_pagination a:focus,
.pkp_structure_page .pkp_page_links a:hover {
  color: var(--josi-primary);
  background-color: var(--josi-soft);
}

.pkp_structure_page .cmp_pagination .current,
.pkp_structure_page .cmp_pagination .active,
.pkp_structure_page .pkp_page_links .current {
  color: var(--josi-primary);
  background-color: var(--josi-accent);
  border-color: var(--josi-accent);
}

/* 09 — INPUTS, SEARCH, REGISTRATION AND LOGIN -------------------------- */
.pkp_structure_page .pkp_structure_main input[type="text"],
.pkp_structure_page .pkp_structure_main input[type="email"],
.pkp_structure_page .pkp_structure_main input[type="password"],
.pkp_structure_page .pkp_structure_main input[type="search"],
.pkp_structure_page .pkp_structure_main input[type="url"],
.pkp_structure_page .pkp_structure_main input[type="number"],
.pkp_structure_page .pkp_structure_main select,
.pkp_structure_page .pkp_structure_main textarea {
  color: var(--josi-primary);
  background-color: var(--josi-white);
  border-color: var(--josi-border);
  accent-color: var(--josi-secondary);
}

.pkp_structure_page .pkp_structure_main input[type="checkbox"],
.pkp_structure_page .pkp_structure_main input[type="radio"] {
  accent-color: var(--josi-secondary);
}

.pkp_structure_page .pkp_structure_main input:focus,
.pkp_structure_page .pkp_structure_main select:focus,
.pkp_structure_page .pkp_structure_main textarea:focus {
  border-color: var(--josi-secondary);
}

.pkp_structure_page .pkp_structure_main fieldset,
.pkp_structure_page .cmp_form fieldset {
  border-color: var(--josi-border);
}

.pkp_structure_page .pkp_structure_main label,
.pkp_structure_page .cmp_form legend {
  color: var(--josi-primary);
}

/* 10 — SIDEBARS, BREADCRUMBS, NOTICES, TABLES --------------------------- */
.pkp_structure_page .pkp_structure_sidebar .pkp_block {
  background-color: var(--josi-soft);
  border-color: var(--josi-border);
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .title,
.pkp_structure_page .pkp_structure_sidebar .pkp_block h2,
.pkp_structure_page .pkp_structure_sidebar .pkp_block h3 {
  color: var(--josi-primary);
}

.pkp_structure_page .cmp_breadcrumbs,
.pkp_structure_page .cmp_breadcrumbs a,
.pkp_structure_page .cmp_breadcrumbs .current {
  color: var(--josi-secondary);
}

.pkp_structure_page .cmp_notification:not(.error):not(.success):not(.warning),
.pkp_structure_page .cmp_notification.information {
  border-color: var(--josi-border);
  background-color: var(--josi-soft);
  color: var(--josi-primary);
}

/* Do not recolor error/success alerts; their meaning must remain obvious. */
.pkp_structure_page .pkp_structure_main table {
  border-color: var(--josi-border);
}

.pkp_structure_page .pkp_structure_main th {
  color: var(--josi-primary);
  background-color: var(--josi-soft);
}

.pkp_structure_page .pkp_structure_main td,
.pkp_structure_page .pkp_structure_main th {
  border-color: var(--josi-border);
}

.pkp_structure_page .pkp_structure_main blockquote {
  border-left-color: var(--josi-accent);
}

.pkp_structure_page .pkp_structure_main hr {
  border-color: var(--josi-border);
}

/* 11 — TABS AND TAGS --------------------------------------------------- */
.pkp_structure_page .cmp_tabs a,
.pkp_structure_page .cmp_tabs button,
.pkp_structure_page .pkp_structure_main .tabs a {
  color: var(--josi-secondary);
}

.pkp_structure_page .cmp_tabs .current a,
.pkp_structure_page .cmp_tabs .active a,
.pkp_structure_page .pkp_structure_main .tabs .active a {
  color: var(--josi-primary);
  border-color: var(--josi-accent);
}

.pkp_structure_page .cmp_tabs a:hover,
.pkp_structure_page .pkp_structure_main .tabs a:hover {
  color: var(--josi-primary);
}

/* 12 — FOOTER: PRIMARY GREEN + LIGHT ON-GREEN LINKS --- */
/* Target outer OJS footer wrapper and existing custom footer variants. */
.pkp_structure_page .pkp_structure_footer_wrapper,
.pkp_structure_page .pkp_structure_footer,
.pkp_structure_page .pkp_footer_content,
.pkp_structure_page .jme-footer,
.pkp_structure_page .jme-footer-inner,
.pkp_structure_page .jme-footer-top,
.pkp_structure_page .jme-footer-main,
.pkp_structure_page .jme-footer-bottom,
.pkp_structure_page .jme-site-footer,
.pkp_structure_page .jme-footer-wrapper,
.pkp_structure_page footer.pkp_structure_footer,
.pkp_structure_page footer.jme-footer {
  color: #FFFFFF !important;
  background-color: #007A33 !important;
  background-image: none !important;
}

.pkp_structure_page .pkp_structure_footer_wrapper {
  border-top: 4px solid #5DAB7D !important;
}
/* Catch nested custom theme footer bands without recoloring other sections. */
.pkp_structure_page .pkp_structure_footer_wrapper [class*="jme-footer"],
.pkp_structure_page .pkp_structure_footer_wrapper [class*="footer-inner"],
.pkp_structure_page .pkp_structure_footer_wrapper [class*="footer-bottom"] {
  background-color: #007A33 !important;
  background-image: none !important;
}

.pkp_structure_page .pkp_structure_footer_wrapper :is(h1,h2,h3,h4,h5,h6,p,li,small,strong,span),
.pkp_structure_page .jme-footer :is(h1,h2,h3,h4,h5,h6,p,li,small,strong,span) {
  color: #FFFFFF !important;
}

.pkp_structure_page .pkp_structure_footer_wrapper a,
.pkp_structure_page .jme-footer a,
.pkp_structure_page .jme-site-footer a {
  color: #E0F5E7 !important;
}
.pkp_structure_page .pkp_structure_footer_wrapper a:hover,
.pkp_structure_page .pkp_structure_footer_wrapper a:focus,
.pkp_structure_page .jme-footer a:hover,
.pkp_structure_page .jme-footer a:focus {
  color: #FFFFFF !important;
}

.pkp_structure_page .pkp_structure_footer_wrapper hr,
.pkp_structure_page .jme-footer hr,
.pkp_structure_page .jme-footer-bottom {
  border-color: rgba(255,255,255,.25) !important;
}

/* 13 — ACCESSIBILITY --------------------------------------------------- */
@media (forced-colors: active) {
  .pkp_structure_page a,
  .pkp_structure_page button,
  .pkp_structure_page input,
  .pkp_structure_page select {
    forced-color-adjust: auto;
  }
}

/* END — Journal of Materials Education Green & Gray v5 core */


/* ====================================================================
   V5 HEADER ACCENT PATCH — JME MODERN
   Existing masthead decorative stripes use the green palette.
   Overrides only header background imagery and possible decorative
   strips/pseudo-elements. DOES NOT change positions, dimensions,
   menu visibility, hero images, or the OJS functionality.
   ==================================================================== */

/* The hero SVG is in .jme-hero and is intentionally unaffected. */
.pkp_structure_page .pkp_structure_head,
.pkp_structure_page .pkp_structure_head .pkp_head_wrapper,
.pkp_structure_page .pkp_structure_head .pkp_site_name_wrapper,
.pkp_structure_page .pkp_structure_head .pkp_navigation_user_wrapper {
  background-image: none !important;
}

/* Common masthead decorative pseudo-elements. Keep their shapes intact. */
.pkp_structure_page .pkp_structure_head::after,
.pkp_structure_page .pkp_structure_head .pkp_head_wrapper::before,
.pkp_structure_page .pkp_structure_head .pkp_head_wrapper::after,
.pkp_structure_page .pkp_structure_head .pkp_site_name_wrapper::before,
.pkp_structure_page .pkp_structure_head .pkp_site_name_wrapper::after,
.pkp_structure_page .pkp_structure_head .pkp_site_name::after,
.pkp_structure_page .pkp_structure_head .pkp_navigation_user_wrapper::before,
.pkp_structure_page .pkp_structure_head .pkp_navigation_user_wrapper::after,
.pkp_structure_page .pkp_structure_head .pkp_site_nav_menu::after {
  background-color: #00652B !important;
  background-image: none !important;
  border-color: #00652B !important;
}

/* If jmeModern uses named accent/ribbon elements rather than pseudos. */
.pkp_structure_page .pkp_structure_head [class*="jme-header-accent"],
.pkp_structure_page .pkp_structure_head [class*="jme-header-ribbon"],
.pkp_structure_page .pkp_structure_head [class*="jme-header-strip"],
.pkp_structure_page .pkp_structure_head [class*="jme-head-accent"],
.pkp_structure_page .pkp_structure_head [class*="jme-header-decor"] {
  background-color: #00652B !important;
  background-image: none !important;
  border-color: #00652B !important;
}

/* END V5 HEADER PATCH */


/* ======================================================================
   V5 — CURRENT ISSUE / ISSUE ARCHIVE / ISSUE DETAILS COLOR PATCH
   Journal of Materials Education (Electronic) | OJS 3.5 jmeModern
   This is part of the complete V5 stylesheet (not a second upload).

   Addresses custom issue banners which use their own (sometimes blue)
   background colors and the stock OJS issue table-of-contents markup.
   Keeps issue-cover <img> elements, article images, geometry and typography unchanged.
   ====================================================================== */

/* Theme palette aliases for issue-specific styles that use CSS variables. */
.pkp_structure_page {
  --jme-primary: #007A33;
  --jme-secondary: #00652B;
  --jme-accent: #5DAB7D;
  --jme-soft: #EDF5EF;
  --jme-border: #D5D8DC;
  --primary-color: #007A33;
  --secondary-color: #00652B;
  --color-primary: #007A33;
  --brand-primary: #007A33;
}

/* Custom full-width issue mastheads and promo banners: blue -> green.
   Do not remove background images: issue decorations remain intact. */
.pkp_structure_page :is(
  .jme-issue-hero, .jme-issue-banner, .jme-issue-header,
  .jme-issue-masthead, .jme-issue-head, .jme-issue-top,
  .jme-current-issue-hero, .jme-current-issue-banner,
  .jme-current-hero, .jme-current-banner,
  .issue-hero, .issue-banner, .current-issue-hero,
  .current-issue-banner
) {
  background-color: #007A33 !important;
  border-color: #00652B !important;
}

/* Headlines and descriptions inside green issue banners are white. */
.pkp_structure_page :is(
  .jme-issue-hero, .jme-issue-banner, .jme-issue-header,
  .jme-issue-masthead, .jme-issue-head, .jme-issue-top,
  .jme-current-issue-hero, .jme-current-issue-banner,
  .jme-current-hero, .jme-current-banner,
  .issue-hero, .issue-banner, .current-issue-hero,
  .current-issue-banner
) :is(h1,h2,h3,h4,p,small,strong,.title,.subtitle,.description) {
  color: #FFFFFF !important;
}

/* Decorative blue overlay strips, if used by jmeModern banners. */
.pkp_structure_page :is(
  .jme-issue-hero, .jme-issue-banner, .jme-issue-header,
  .jme-current-issue-hero, .jme-current-issue-banner,
  .issue-hero, .issue-banner
)::before,
.pkp_structure_page :is(
  .jme-issue-hero, .jme-issue-banner, .jme-issue-header,
  .jme-current-issue-hero, .jme-current-issue-banner,
  .issue-hero, .issue-banner
)::after {
  background-color: #00652B !important;
  border-color: #00652B !important;
}


/* Replace theme-authored BLUE GRADIENTS on issue-specific banners.
   This targets only banner background images, never cover <img> elements. */
.pkp_structure_page :is(
  .jme-issue-hero, .jme-issue-banner, .jme-issue-header,
  .jme-issue-masthead, .jme-issue-head, .jme-issue-top,
  .jme-current-issue-hero, .jme-current-issue-banner,
  .jme-current-hero, .jme-current-banner,
  .issue-hero, .issue-banner, .current-issue-hero,
  .current-issue-banner
),
.pkp_structure_page .page_issue .jme-hero,
.pkp_structure_page .page_issue_archive .jme-hero {
  background-color: #007A33 !important;
  background-image: none !important;
}

/* Custom issue headings, sections, metadata, volume and issue labels. */
.pkp_structure_page :is(
  .page_issue, .page_issue_archive, .obj_issue_toc,
  .obj_issue_summary, .jme-current, .jme-current-issue,
  .jme-issue, .jme-issue-details, .jme-issue-meta
) :is(
  .title, .issue-title, .issue-name, .issue-number, .issue-volume,
  .volume, .number, .published, .section-title, .issue-section-title,
  .jme-section-title
),
.pkp_structure_page .page_issue .page_title,
.pkp_structure_page .page_issue_archive .page_title,
.pkp_structure_page .obj_issue_toc .sections > .section > h2,
.pkp_structure_page .obj_issue_toc .heading .description a {
  color: #007A33 !important;
}

/* Links and galley/download actions on issue pages. */
.pkp_structure_page :is(.page_issue, .page_issue_archive, .obj_issue_toc, .obj_issue_summary) a:not(.obj_galley_link) {
  color: #00652B !important;
}
.pkp_structure_page :is(.page_issue, .page_issue_archive, .obj_issue_toc, .obj_issue_summary) a:not(.obj_galley_link):hover,
.pkp_structure_page :is(.page_issue, .page_issue_archive, .obj_issue_toc, .obj_issue_summary) a:not(.obj_galley_link):focus {
  color: #007A33 !important;
}

/* OJS current issue title blocks, feature panels and article-list dividers. */
.pkp_structure_page :is(.page_issue, .page_issue_archive, .obj_issue_toc) :is(
  .heading, .sections, .section, .articles, .description,
  .obj_article_summary, .obj_issue_summary
) {
  border-color: #D5D8DC !important;
}

/* Theme-specific issue cards, tabs, labels and UI badges. */
.pkp_structure_page :is(
  .jme-issue-card, .jme-issue-panel, .jme-current-card,
  .jme-current-issue-card, .jme-issue-info, .issue-card
) {
  border-color: #D5D8DC !important;
}
.pkp_structure_page :is(
  .jme-issue-badge, .jme-issue-label, .jme-volume-badge,
  .jme-current-badge, .issue-badge
) {
  color: #FFFFFF !important;
  background-color: #007A33 !important;
  border-color: #007A33 !important;
}
.pkp_structure_page :is(
  .jme-issue-tab, .jme-issue-tag, .jme-issue-tagline,
  .jme-issue-meta, .jme-issue-meta a
) {
  border-color: #5DAB7D !important;
}

/* Issue page action buttons and any theme-specific PDF/HTML buttons. */
.pkp_structure_page :is(.page_issue, .page_issue_archive, .jme-issue, .jme-current-issue) :is(
  .jme-btn-primary, .jme-issue-btn, .jme-button, .issue-button,
  .btn-primary, .button-primary
) {
  color: #FFFFFF !important;
  background-color: #007A33 !important;
  border-color: #007A33 !important;
}
.pkp_structure_page :is(.page_issue, .page_issue_archive, .jme-issue, .jme-current-issue) :is(
  .jme-btn-primary, .jme-issue-btn, .jme-button, .issue-button,
  .btn-primary, .button-primary
):hover {
  color: #FFFFFF !important;
  background-color: #00652B !important;
  border-color: #00652B !important;
}

/* Standard OJS galley links can occur outside the ordinary content wrapper. */
.pkp_structure_page .page_issue a.obj_galley_link,
.pkp_structure_page .obj_issue_toc a.obj_galley_link,
.pkp_structure_page .page_issue_archive a.obj_galley_link {
  color: #00652B !important;
  background-color: #FFFFFF !important;
  border-color: #007A33 !important;
}
.pkp_structure_page .page_issue a.obj_galley_link:hover,
.pkp_structure_page .obj_issue_toc a.obj_galley_link:hover,
.pkp_structure_page .page_issue_archive a.obj_galley_link:hover {
  color: #FFFFFF !important;
  background-color: #007A33 !important;
}

/* Keep existing cover artwork and photographs unchanged. */
/* END V5 CURRENT ISSUE PATCH */


/* ======================================================================
   JME Modern 1.5.1 — GREEN ISSUE COLOR OVERRIDES
   Verified selectors from styles/homepage-fixes.css in v1.5.0.
   Only changes colors. It does not change OJS data, cover images, widths,
   grid structure, positioning, script behavior or typography.
   ====================================================================== */
:root {
  --jme-navy: #007A33;
  --jme-navy-2: #00652B;
  --jme-teal: #007A33;
  --jme-teal-dark: #00652B;
  --jme-ink: #243029;
  --jme-muted: #526359;
  --jme-line: #D7DFD8;
  --jme-pale: #EDF5EF;
  --jme-white: #FFFFFF;
  --jme-header-navy: #007A33;
  --jme-header-teal: #007A33;
  --jme-footer-bg: #007A33;
  --jme-footer-divider: #45935F;
  --jme-footer-muted: #E0F5E7;
}
/* Current Issue: every color is explicitly attached to the theme's real nodes. */
.page_issue > h1,
.page_issue .obj_issue_toc .published .label,
.page_issue .obj_issue_toc .heading .title,
.page_issue .obj_issue_toc .heading .title a,
.page_issue .obj_issue_toc .obj_article_summary .title,
.page_issue .obj_issue_toc .obj_article_summary .title a {
  color: #007A33 !important;
}
.page_issue .obj_issue_toc .obj_article_summary .title a:hover,
.page_issue .obj_issue_toc .obj_article_summary .title a:focus,
.page_issue .obj_issue_toc .heading .title a:hover {
  color: #00652B !important;
}
.page_issue .obj_issue_toc .sections .section > h2,
.page_issue .obj_issue_toc .sections .section > h3,
.page_issue .obj_issue_toc .sections .section > h4 {
  color: #007A33 !important;
  border-bottom-color: #D7DFD8 !important;
  background-color: transparent !important;
}
.page_issue .obj_issue_toc .published,
.page_issue .obj_issue_toc .description,
.page_issue .obj_issue_toc .obj_article_summary .authors,
.page_issue .obj_issue_toc .obj_article_summary .pages {
  color: #526359 !important;
}
.page_issue .obj_issue_toc .sections,
.page_issue .obj_issue_toc .articles > li,
.page_issue .obj_issue_toc .obj_article_summary {
  border-color: #D7DFD8 !important;
}
.page_issue .obj_issue_toc .obj_article_summary .galleys a,
.page_issue .obj_issue_toc > .galleys a {
  color: #00652B !important;
  background: #EDF5EF !important;
  border-color: #B4D6C1 !important;
}
.page_issue .obj_issue_toc .obj_article_summary .galleys a:hover,
.page_issue .obj_issue_toc .obj_article_summary .galleys a:focus,
.page_issue .obj_issue_toc > .galleys a:hover {
  color: #FFFFFF !important;
  background: #007A33 !important;
  border-color: #007A33 !important;
}
/* OJS default theme's gallery link class is sometimes on the anchor. */
.page_issue .obj_issue_toc a.obj_galley_link,
.page_issue .obj_issue_toc .galley_link {
  color: #00652B !important;
  border-color: #007A33 !important;
}
.page_issue .obj_issue_toc a.obj_galley_link:hover,
.page_issue .obj_issue_toc .galley_link:hover {
  color: #FFFFFF !important;
  background: #007A33 !important;
}
/* Other public journal views share the same source color variables. */
.obj_issue_toc .section h2,
.jme-home .jme-current .current_issue_title,
.jme-archives .obj_issue_summary .title,
.page_article .obj_article_details .page_title,
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
  color: #007A33 !important;
}
.pkp_structure_main a,
.pkp_structure_sidebar a {
  color: #00652B;
}
.pkp_structure_main a:hover,
.pkp_structure_sidebar a:hover {
  color: #007A33;
}
/* Text-only accents and nav use screenshot palette; no cover/hero imagery removed. */
.pkp_structure_head .pkp_navigation_primary > li > a:hover,
.pkp_structure_head .pkp_navigation_primary > li > a:focus,
.pkp_structure_head .pkp_navigation_primary > li.current > a {
  color: #007A33 !important;
  border-bottom-color: #007A33 !important;
}
.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background-color: #007A33 !important;
}
.pkp_structure_footer_wrapper a,
.pkp_structure_footer a {
  color: #E0F5E7 !important;
}
.pkp_structure_footer_wrapper a:hover,
.pkp_structure_footer a:hover {
  color: #FFFFFF !important;
}
/* END JME GREEN ISSUE OVERRIDES */
/* ========================================================================
  JME MODERN 1.5.x | WHITE & GREEN FOOTER FROM REFERENCE SCREENSHOT
  ADD TO THE VERY END OF YOUR EXISTING JOURNAL STYLESHEET.
  This file is footer-only; it must not replace your whole V6 stylesheet.
  Theme homepage-fixes.css and jme-modern.css contain !important footer rules,
  so these selectors deliberately have increased specificity.
  ======================================================================== */
.pkp_structure_page .pkp_structure_footer_wrapper,
.pkp_structure_page .pkp_structure_footer,
.pkp_structure_page .pkp_structure_footer .pkp_footer_content,
.pkp_structure_page .pkp_structure_footer .pkp_footer_content_wrapper {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #132B1B !important;
}
.pkp_structure_page .pkp_structure_footer_wrapper {
  border-top: 1px solid #007A33 !important;
}
.pkp_structure_page .pkp_structure_footer .pkp_footer_content {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1800px !important;
  padding: 30px 28px 18px !important;
  margin: 0 auto !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot {
  color: #15291B !important;
  background: #FFFFFF !important;
  font-family: Arial, Helvetica, sans-serif;
  width: 100%;
  font-size: 16px;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__top {
  display: grid;
  grid-template-columns: minmax(230px, 1.3fr) minmax(400px, 1.8fr) minmax(280px, 1fr);
  column-gap: 46px;
  row-gap: 25px;
  align-items: start;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__brand a {
  display: inline-block;
  background: transparent !important;
  border: 0 !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__brand img {
  display: block;
  width: min(100%, 405px);
  max-width: 405px;
  height: auto;
  filter: none !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__links {
  display: grid;
  grid-template-columns: 0.9fr 1.2fr 0.75fr;
  gap: 20px;
  padding-top: 7px;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__col a,
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright a {
  color: #006F2D !important;
  text-decoration: none !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__col a:hover,
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__col a:focus,
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright a:hover,
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright a:focus {
  color: #004C20 !important;
  text-decoration: underline !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__connect h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #007A33 !important;
  font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif;
  font-size: 27px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__connect p {
  color: #34443A !important;
  font-size: 14px !important;
  margin: 0 0 13px !important;
  line-height: 1.5 !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__button {
  display: inline-block !important;
  padding: 12px 16px !important;
  border: 1px solid #007A33 !important;
  border-radius: 3px;
  background: #007A33 !important;
  color: #FFFFFF !important;
  font-family: 'Oswald', Arial, sans-serif;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__button:hover,
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__button:focus {
  background: #00652B !important;
  border-color: #00652B !important;
  color: #FFFFFF !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright {
  margin-top: 28px;
  padding: 10px 0 0;
  color: #141414 !important;
  text-align: center;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright em {
  color: #141414 !important;
}
.pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright a {
  font-size: 14px !important;
}
@media (max-width: 1100px) {
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__top {
    grid-template-columns: minmax(200px, 1fr) minmax(390px, 1.9fr);
    gap: 25px;
  }
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__connect {
    grid-column: 1 / -1;
  }
}
@media (max-width: 700px) {
  .pkp_structure_page .pkp_structure_footer .pkp_footer_content {
    padding: 24px 18px !important;
  }
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__top {
    display: flex;
    flex-direction: column;
    gap: 23px;
  }
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__brand img {
    max-width: 300px;
  }
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__links {
    width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__connect {
    grid-column: auto;
  }
  .pkp_structure_page .pkp_structure_footer .materials-sitefoot__copyright {
    text-align: left;
    margin-top: 23px;
  }
}
