/* =========================================================
   SCEDULE - Science Education and Learning Journal
   RESPONSIVE NAVIGATION REVISION 2 | OJS Default Theme
   Replace the entire previous custom stylesheet.
   ========================================================= */

:root {
  --scedule-blue: #075985;
  --scedule-blue-dark: #064663;
  --scedule-blue-nav: #246b99;
  --scedule-blue-light: #eaf6fb;
  --scedule-green: #4f8f3a;
  --scedule-green-dark: #39702a;
  --scedule-text: #263238;
  --scedule-border: #dbe5ea;
  --scedule-radius: 7px;
}

/* 1. PAGE */
body { background:#f4f7f9; }
.pkp_structure_page { background:#fff; box-shadow:0 0 24px rgba(0,0,0,.045); }

/* 5. MAIN CONTENT / HOMEPAGE */
.pkp_structure_content { background:#fff; }
.pkp_structure_main { padding-top:34px; padding-bottom:48px; }

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 { color:#173b52; font-weight:700; }

.pkp_structure_main h1 { line-height:1.25; }

.pkp_structure_main h2 {
  margin-top:0;
  margin-bottom:22px;
  padding-bottom:10px;
  border-bottom:2px solid #e8f0f4;
}

.pkp_structure_main h3 { margin-top:26px; margin-bottom:14px; }
.pkp_structure_main p { color:#303b42; line-height:1.75; }
.pkp_structure_main ul,
.pkp_structure_main ol { line-height:1.7; }
.pkp_structure_main li { margin-bottom:6px; }

.pkp_structure_main a {
  color:#086b9c;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

.pkp_structure_main a:hover,
.pkp_structure_main a:focus { color:var(--scedule-blue-dark); }

.pkp_page_index .additional_content { line-height:1.75; }
.pkp_page_index .additional_content > h2,
.pkp_page_index .additional_content > h3 { color:#173b52; }

/* Current issue / article list */
.current_issue,
.obj_issue_summary { margin-top:24px; }

.current_issue .current_issue_title,
.current_issue h2 { color:#173b52; }

.obj_article_summary {
  padding-top:19px;
  padding-bottom:19px;
  border-bottom:1px solid #e6edf1;
}

.obj_article_summary .title { font-weight:700; line-height:1.45; }
.obj_article_summary .authors { margin-top:6px; color:#5b6870; line-height:1.55; }
.obj_article_summary .pages { color:#68757c; }

/* 6. SCEDULE SIDEBAR */
.pkp_structure_sidebar { padding-top:34px; background:#fbfcfd; }

.scedule-sidebar-custom {
  width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-size:14px;
  line-height:1.5;
}

.scedule-sidebar-custom *,
.scedule-sidebar-custom *::before,
.scedule-sidebar-custom *::after { box-sizing:border-box; }

.scedule-sidebar-box {
  width:100%;
  margin:0 0 16px;
  padding:0;
  background:#fff;
  border:1px solid #dce7ec;
  border-radius:var(--scedule-radius);
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 5px 14px rgba(0,0,0,.035);
}

.scedule-sidebar-heading {
  display:block;
  width:100%;
  margin:0;
  padding:10px 14px;
  background:#08658d;
  border-left:4px solid var(--scedule-green);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.3px;
  text-transform:uppercase;
}

.scedule-sidebar-links { list-style:none !important; margin:0 !important; padding:5px 0 !important; }
.scedule-sidebar-links li { list-style:none !important; margin:0 !important; padding:0 !important; border:0; }

.scedule-sidebar-links li::before,
.scedule-sidebar-links li::marker { display:none !important; content:none !important; }

.scedule-sidebar-links li a {
  position:relative;
  display:block;
  margin:0;
  padding:9px 14px 9px 27px;
  color:var(--scedule-text);
  background:#fff;
  font-size:13.5px;
  font-weight:500;
  line-height:1.4;
  text-decoration:none !important;
  border:0;
  border-bottom:1px solid #edf1f3;
  transition:background-color .2s ease,color .2s ease,padding-left .2s ease;
}

.scedule-sidebar-links li a::before {
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  width:5px;
  height:5px;
  background:var(--scedule-green);
  border-radius:50%;
  transform:translateY(-50%);
}

.scedule-sidebar-links li:last-child a { border-bottom:0; }

.scedule-sidebar-links li a:hover,
.scedule-sidebar-links li a:focus {
  color:var(--scedule-blue-dark);
  background:var(--scedule-blue-light);
  padding-left:31px;
}

.scedule-sidebar-submit { border:0; background:transparent; box-shadow:none; overflow:visible; }

.scedule-sidebar-submit a {
  display:block;
  width:100%;
  padding:13px 15px;
  background:var(--scedule-green);
  border:1px solid var(--scedule-green-dark);
  border-radius:var(--scedule-radius);
  color:#fff !important;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  text-decoration:none !important;
  letter-spacing:.5px;
  box-shadow:0 4px 12px rgba(0,0,0,.10);
  transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.scedule-sidebar-submit a:hover,
.scedule-sidebar-submit a:focus {
  background:var(--scedule-green-dark);
  color:#fff !important;
  box-shadow:0 4px 11px rgba(0,0,0,.14);
  transform:translateY(-1px);
}

.scedule-sidebar-custom a[target="_blank"] { word-break:normal; overflow-wrap:break-word; }

/* 7. FORMS / BUTTONS / ACCESSIBILITY */
.cmp_button,
.pkp_structure_main button,
.pkp_structure_main input[type="submit"] { border-radius:5px; }

.cmp_button:hover,
.cmp_button:focus { text-decoration:none; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline:2px solid var(--scedule-green);
  outline-offset:2px;
}

/* 8. FOOTER */
.pkp_structure_footer_wrapper {
  margin-top:0;
  background:#073e5b;
  border-top:4px solid var(--scedule-green);
}

.pkp_structure_footer { padding-top:26px; padding-bottom:26px; }

.pkp_structure_footer,
.pkp_structure_footer p,
.pkp_structure_footer li,
.pkp_structure_footer a { color:#fff; }

.pkp_structure_footer a {
  text-decoration-color:rgba(255,255,255,.55);
  text-underline-offset:2px;
}

.pkp_structure_footer a:hover,
.pkp_structure_footer a:focus { color:#fff; text-decoration-color:#fff; }

.pkp_brand_footer { padding:0; text-align:right; }
.pkp_brand_footer a { display:inline-block; }

.pkp_brand_footer img {
  display:inline-block;
  width:auto;
  height:auto;
  max-width:115px;
  max-height:70px;
  opacity:.88;
  filter:brightness(0) invert(1);
}

/* Custom footer information */
.scedule-footer-info {
  max-width:760px;
  padding:2px 0;
  color:#fff;
  font-size:13.5px;
  line-height:1.65;
}

.scedule-footer-title {
  margin-bottom:4px;
  color:#fff;
  font-size:18px;
  font-weight:700;
  line-height:1.35;
}

.scedule-footer-publisher {
  margin-bottom:12px;
  color:rgba(255,255,255,.88);
  font-size:14px;
}

.scedule-footer-details {
  display:flex;
  flex-wrap:wrap;
  gap:5px 20px;
  margin-bottom:11px;
}

.scedule-footer-details span { display:inline-block; }

.scedule-footer-info a {
  color:#fff !important;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.45);
}

.scedule-footer-info a:hover,
.scedule-footer-info a:focus { color:#fff !important; border-bottom-color:#fff; }

.scedule-footer-address { margin-top:5px; color:rgba(255,255,255,.88); }

.scedule-footer-copyright {
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.72);
  font-size:12.5px;
}

/* 9. TABLET */
@media (max-width:992px) {
  .pkp_structure_main { padding-top:28px; padding-bottom:40px; }
  .pkp_structure_sidebar { padding-top:28px; }
  .scedule-sidebar-heading { padding:10px 13px; }
  .scedule-sidebar-links li a { padding-top:10px; padding-bottom:10px; }
  .pkp_structure_footer { padding-top:24px; padding-bottom:24px; }
}

/* 10. MOBILE - FINAL OJS 3.5 HEADER FIX */
@media (max-width:767px) {
  body { background:#fff; }
  .pkp_structure_page { box-shadow:none; }

  .pkp_structure_main { padding-top:24px; padding-bottom:30px; }
  .pkp_structure_sidebar { padding-top:12px; background:#fff; }
  .pkp_structure_main h2 { font-size:1.4rem; }
  .obj_article_summary { padding-top:16px; padding-bottom:16px; }

  .scedule-sidebar-custom { width:100%; margin-top:15px; }
  .scedule-sidebar-box { margin-bottom:14px; }
  .scedule-sidebar-heading { padding:11px 14px; font-size:13px; }
  .scedule-sidebar-links li a { padding:10px 14px 10px 28px; font-size:14px; }
  .scedule-sidebar-submit a { padding:13px 15px; font-size:13px; }

  .pkp_structure_footer { padding-top:22px; padding-bottom:22px; }
  .pkp_brand_footer { margin-top:14px; text-align:left; }
  .pkp_brand_footer img { max-width:100px; max-height:62px; }

  .scedule-footer-info { width:100%; font-size:13px; }
  .scedule-footer-title { font-size:16px; }
  .scedule-footer-details { display:block; }
  .scedule-footer-details span { display:block; margin-bottom:4px; }
  .scedule-footer-copyright { margin-top:12px; }
}

/* 11. SMALL MOBILE */
@media (max-width:480px) {
  .pkp_structure_main { padding-top:20px; }
  .pkp_structure_main h2 { font-size:1.3rem; }
  .pkp_structure_footer { padding-top:20px; padding-bottom:20px; }
}

@media (max-width:420px) {
  .scedule-sidebar-links li a { font-size:13.5px; }
  .scedule-sidebar-heading { font-size:12.5px; }
}

/* HEADER: full image, normal flow, no inherited horizontal offset */
.pkp_structure_head { position:relative !important; margin:0 !important; padding:0 !important; background:#fff !important; overflow:visible !important; }
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_site_name .is_img {
  position:relative !important; inset:auto !important; transform:none !important;
  display:block !important; float:none !important;
  width:100% !important; max-width:none !important;
  height:auto !important; min-height:0 !important; max-height:none !important;
  margin:0 !important; padding:0 !important; box-sizing:border-box !important;
  overflow:visible !important;
}
.pkp_site_name .is_img { line-height:0 !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;
  margin:0 !important; padding:0 !important; object-fit:contain !important;
  transform:none !important; visibility:visible !important; opacity:1 !important;
}
.pkp_head_wrapper { line-height:1.5 !important; }
.pkp_site_name .is_text { display:block; padding:20px; line-height:1.3; }
.pkp_site_nav_toggle { display:none !important; }
.pkp_site_nav_menu {
  display:flex !important; align-items:center !important; flex-wrap:wrap !important;
  position:relative !important; inset:auto !important; transform:none !important;
  width:100% !important; height:auto !important; max-height:none !important;
  margin:0 !important; padding:0 3% !important; box-sizing:border-box !important;
  background:var(--scedule-blue-nav) !important; overflow:visible !important;
  z-index:100 !important; line-height:1.5 !important;
}
.pkp_navigation_primary_row {
  flex:1 1 auto !important; width:auto !important; max-width:none !important;
  margin:0 !important; padding:0 !important; float:none !important;
}
.pkp_navigation_primary_wrapper {
  display:flex !important; align-items:center !important; flex-wrap:wrap !important;
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
  float:none !important; box-sizing:border-box !important;
}
.pkp_navigation_primary_row::before,
.pkp_navigation_primary_row::after,
.pkp_navigation_primary_wrapper::before,
.pkp_navigation_primary_wrapper::after { display:none !important; }
.pkp_structure_head #navigationUserWrapper {
  position:relative !important; inset:auto !important; transform:none !important;
  flex:0 1 auto !important; float:none !important; width:auto !important; max-width:100% !important;
  margin:0 0 0 auto !important; padding:0 !important;
  background:transparent !important; box-sizing:border-box !important; z-index:102 !important;
}
#navigationPrimary, #navigationUser {
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  flex-direction:row !important; gap:0 !important; width:auto !important;
  margin:0 !important; padding:0 !important; list-style:none !important; text-align:left !important;
}
#navigationPrimary > li, #navigationUser > li {
  position:relative !important; display:block !important; float:none !important;
  width:auto !important; max-width:100% !important; margin:0 !important; padding:0 !important;
}
#navigationPrimary > li > a, #navigationUser > li > a,
.pkp_navigation_search_wrapper > a {
  display:flex !important; align-items:center !important; gap:5px;
  min-height:48px !important; margin:0 !important; padding:10px 14px !important;
  box-sizing:border-box !important; font-size:14px !important; font-weight:600 !important;
  line-height:1.4 !important; color:#fff !important; background:transparent !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  text-decoration:none !important; white-space:normal !important; overflow-wrap:anywhere;
}
#navigationPrimary > li > a:hover, #navigationUser > li > a:hover,
.pkp_navigation_search_wrapper > a:hover { background:rgba(0,0,0,.12) !important; }
.pkp_navigation_search_wrapper {
  display:block !important; position:relative !important; float:none !important;
  margin:0 12px 0 auto !important; padding:0 !important; border:0 !important;
}
#navigationPrimary > li > ul, #navigationUser > li > ul {
  display:none !important; position:absolute !important; top:100% !important;
  left:0 !important; right:auto !important; transform:none !important;
  width:220px !important; min-width:0 !important; max-width:calc(100vw - 24px) !important;
  margin:0 !important; padding:5px 0 !important; box-sizing:border-box !important;
  background:#fff !important; border:1px solid var(--scedule-border) !important;
  border-radius:5px !important; box-shadow:0 8px 24px rgba(0,0,0,.15) !important;
  z-index:200 !important;
}
#navigationUser > li > ul { left:auto !important; right:0 !important; }
#navigationPrimary > li > a[aria-expanded="true"] + ul,
#navigationUser > li > a[aria-expanded="true"] + ul,
#navigationPrimary > li > ul.show, #navigationUser > li > ul.show { display:block !important; }
#navigationPrimary ul li, #navigationUser ul li { display:block !important; width:100% !important; margin:0 !important; }
#navigationPrimary ul a, #navigationUser ul a {
  display:block !important; margin:0 !important; padding:10px 14px !important;
  font-size:14px !important; line-height:1.5 !important; white-space:normal !important;
  color:var(--scedule-blue) !important; background:#fff !important;
  border:0 !important; text-decoration:none !important; overflow-wrap:anywhere;
}
#navigationPrimary ul a:hover, #navigationUser ul a:hover { background:var(--scedule-blue-light) !important; }
#navigationUser .task_count {
  display:inline-flex !important; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 6px !important; margin-left:4px;
  border-radius:20px !important; background:var(--scedule-green) !important;
  color:#fff !important; font-size:12px !important;
}
@media (hover:hover) and (min-width:992px) {
  #navigationPrimary > li:hover > ul, #navigationPrimary > li:focus-within > ul,
  #navigationUser > li:hover > ul, #navigationUser > li:focus-within > ul { display:block !important; }
}
/* OJS switches to desktop navigation at 992px. */
@media (max-width:991px) {
  .pkp_site_name_wrapper { display:flex !important; flex-direction:column !important; }
  .pkp_site_name { order:0 !important; }
  .pkp_site_nav_toggle {
    order:1 !important; display:flex !important; position:relative !important;
    inset:auto !important; transform:none !important;
    width:100% !important; height:44px !important; min-height:44px !important;
    margin:0 !important; padding:0 16px !important;
    align-items:center !important; border:0 !important;
    background:var(--scedule-blue-nav) !important; color:#fff !important;
    box-shadow:none !important; z-index:101 !important; cursor:pointer;
  }
  .pkp_site_nav_toggle > span { left:28px !important; }
  .pkp_site_nav_toggle::after { content:"Menu"; margin-left:38px; font-size:14px; font-weight:600; }
  .pkp_site_nav_menu { display:block !important; padding:0 !important; }
  .pkp_navigation_primary_row { display:none !important; width:100% !important; }
  .pkp_site_nav_menu--isOpen .pkp_navigation_primary_row,
  .pkp_structure_head:has(.pkp_site_nav_toggle--transform) .pkp_navigation_primary_row { display:block !important; }
  .pkp_navigation_primary_wrapper { display:block !important; }
  #navigationPrimary { display:block !important; width:100% !important; }
  #navigationPrimary > li { width:100% !important; }
  #navigationPrimary > li > a { min-height:44px !important; padding:11px 16px !important; }
  .pkp_navigation_search_wrapper { margin:0 !important; }
  .pkp_navigation_search_wrapper > a { min-height:44px !important; padding:11px 16px !important; }
  .pkp_structure_head #navigationUserWrapper {
    display:block !important; width:100% !important; margin:0 !important;
    padding:0 6px !important; background:var(--scedule-blue) !important;
  }
  #navigationUser { justify-content:flex-end !important; }
  #navigationUser > li > a { min-height:44px !important; padding:10px !important; }
  #navigationPrimary > li > ul {
    position:static !important; width:100% !important; max-width:100% !important;
    padding:4px 0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
  }
  #navigationUser > li > ul { max-width:calc(100vw - 24px) !important; }
  .pkp_structure_main { padding-top:24px !important; }
  .pkp_structure_sidebar { padding-top:16px !important; }
}

/* Mobile account links: keep native OJS profile/dashboard/logout accessible. */
@media (max-width:991px) {
  .pkp_structure_head #navigationUserWrapper,
  #navigationUser,
  #navigationUser > li { overflow:visible !important; }
  #navigationUser { width:100% !important; }
  #navigationUser > li:has(> ul) { width:100% !important; }
  #navigationUser > li:has(> ul) > a { justify-content:flex-end !important; }
  #navigationUser > li > ul,
  #navigationUser > li > ul.dropdown-menu {
    display:flex !important; flex-wrap:wrap !important;
    justify-content:flex-end !important; gap:6px !important;
    position:static !important; inset:auto !important; transform:none !important;
    width:100% !important; min-width:0 !important; max-width:100% !important;
    height:auto !important; max-height:none !important;
    margin:0 !important; padding:0 4px 10px !important;
    visibility:visible !important; opacity:1 !important;
    background:transparent !important; border:0 !important;
    box-shadow:none !important; border-radius:0 !important;
    list-style:none !important; box-sizing:border-box !important;
  }
  #navigationUser > li > ul > li {
    display:block !important; width:auto !important; max-width:100% !important;
    float:none !important; margin:0 !important; padding:0 !important;
  }
  #navigationUser > li > ul > li > a {
    display:flex !important; align-items:center !important; justify-content:center !important;
    min-height:44px !important; padding:10px 14px !important;
    color:#fff !important; background:rgba(255,255,255,.12) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:5px !important; text-decoration:none !important;
    line-height:1.4 !important; box-sizing:border-box !important;
  }
  #navigationUser > li > ul > li > a:hover,
  #navigationUser > li > ul > li > a:focus-visible {
    background:rgba(255,255,255,.24) !important;
    outline:2px solid #fff; outline-offset:2px;
  }
}
