/**
 * JCC Theme — "Academic" layout
 * Loaded on top of jcc.css when Appearance > Theme > Layout = Academic.
 * A clean, white, publisher-style layout: dark utility strip, header image,
 * white navigation bar, hairline rules, serif titles, light sidebar widgets.
 */

:root {
  --jcc-rule: #D9DEE6;
  --jcc-muted: #5B6675;
  --jcc-paper: #F5F7FA;
}

html, body { background: #fff; }

/* ---------- Header ---------- */
.pkp_structure_head {
  border-bottom: 0 !important;
  /* dark utility strip behind the user menu (login, register, admin) */
  background: linear-gradient(to bottom, var(--jcc-navy-dark) 0, var(--jcc-navy-dark) 2.143rem, var(--jcc-navy) 2.143rem) !important;
}
@media (min-width: 992px) {
  .has_site_logo .pkp_head_wrapper { padding-top: 2.143rem; }
  .pkp_navigation_user > li > a { font-size: .86rem; letter-spacing: .02em; }
  .pkp_site_name_wrapper { padding-top: 1.25rem; padding-bottom: 1.25rem; }
}

/* White navigation bar, full browser width */
@media (min-width: 992px) {
  .pkp_structure_head .pkp_site_nav_menu,
  .pkp_structure_head .pkp_navigation_primary_row,
  .pkp_structure_head .pkp_navigation_primary_wrapper { background-color: #fff !important; }
  .pkp_structure_head .pkp_navigation_user_wrapper { background-color: transparent !important; }
  .pkp_structure_head .pkp_navigation_primary_row {
    border-top: 3px solid var(--jcc-gold);
    border-bottom: 1px solid var(--jcc-rule);
    box-shadow: 0 0 0 100vmax #fff;
    clip-path: inset(0 -100vmax);
  }
  .pkp_structure_head .pkp_navigation_primary > li > a,
  .pkp_structure_head .pkp_navigation_search_wrapper a {
    color: var(--jcc-navy) !important;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding-top: .9rem;
    padding-bottom: calc(.9rem - 3px);
    border-bottom-width: 3px !important;
  }
  .pkp_structure_head .pkp_navigation_primary > li > a:hover,
  .pkp_structure_head .pkp_navigation_search_wrapper a:hover {
    color: var(--jcc-navy) !important;
    border-color: var(--jcc-gold) !important;
  }
  .pkp_structure_head .pkp_navigation_primary > li > a:focus {
    background: var(--jcc-paper) !important;
    color: var(--jcc-navy) !important;
  }
  .pkp_structure_head .pkp_navigation_primary [aria-haspopup]:after { color: var(--jcc-gold-text); }
  .pkp_structure_head .pkp_navigation_primary ul {
    border: 1px solid var(--jcc-rule);
    border-top: 3px solid var(--jcc-navy);
    box-shadow: 0 8px 24px rgba(6,16,31,.12);
  }
}

/* ---------- Page body ---------- */
@media (min-width: 768px) {
  .pkp_structure_main:before,
  .pkp_structure_main:after { display: none; }
}
.pkp_structure_main { font-size: 1.02rem; }
.pkp_structure_main p { line-height: 1.75; }

/* Section headings: serif with a short gold bar */
.pkp_structure_main .page > h1:not(.page_title),
.pkp_structure_main .page > h2:first-child,
.page_index_journal > section > h2,
.page_index_journal .current_issue > h2 {
  position: relative;
  padding-bottom: .7rem;
  margin-bottom: 1.4rem;
  border-bottom: 1px solid var(--jcc-rule);
}
.pkp_structure_main .page > h1:not(.page_title)::after,
.pkp_structure_main .page > h2:first-child::after,
.page_index_journal > section > h2::after,
.page_index_journal .current_issue > h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 56px;
  height: 3px;
  background: var(--jcc-gold);
}
.page_index_journal > section > h2,
.page_index_journal .current_issue > h2 {
  font-family: var(--jcc-serif);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--jcc-navy);
}

/* Current issue: cover + issue details */
.obj_issue_toc .heading { overflow: hidden; margin-bottom: 1.5rem; }
.obj_issue_toc .cover img,
.obj_issue_summary .cover img {
  box-shadow: 0 6px 18px rgba(6,16,31,.18);
  border: 1px solid var(--jcc-rule);
}
.obj_issue_toc .published { color: var(--jcc-muted); font-size: .9rem; }
.obj_issue_toc .published .label { font-weight: 700; color: var(--jcc-navy); }

/* Article lists: hairline-separated entries */
.obj_issue_toc .sections .section > h2 {
  font-size: .82rem !important;
  color: var(--jcc-gold-text) !important;
}
.cmp_article_list > li {
  margin: 0 !important;
  padding: 1.15rem 0 !important;
  border-bottom: 1px solid var(--jcc-rule);
}
.cmp_article_list > li:first-child { padding-top: .2rem !important; }
.obj_article_summary > .title { font-size: 1.2rem !important; margin-bottom: .35rem; }
.obj_article_summary .meta { color: var(--jcc-muted); font-size: .9rem; }
.obj_article_summary .authors { font-style: italic; }
.obj_article_summary .pages { color: var(--jcc-muted); }
.obj_article_summary .galleys_links { margin-top: .6rem; }

/* PDF / galley buttons: compact pills */
.obj_galley_link {
  padding: .2rem .9rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .05em;
  border-radius: 999px;
}
.obj_galley_link.pdf:before { color: inherit; }

/* Article page */
.obj_article_details .page_title { font-size: 2rem; margin-bottom: .6rem; }
.obj_article_details .item.authors .name { font-weight: 700; color: var(--jcc-navy); }
.obj_article_details .item.abstract {
  background: var(--jcc-paper);
  border-left: 3px solid var(--jcc-navy);
  padding: 1.1rem 1.4rem;
  margin: 1.5rem 0;
}
.obj_article_details .item .label,
.obj_article_details .main_entry .label {
  font-family: var(--jcc-display);
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.obj_article_details .entry_details { border-left: 1px solid var(--jcc-rule); }
.obj_article_details .entry_details .item { border-bottom: 1px solid var(--jcc-rule); }
.obj_article_details .entry_details .item .label {
  font-family: inherit;
  font-size: .75rem;
  font-weight: 700;
  color: var(--jcc-muted);
}

/* Breadcrumbs */
.cmp_breadcrumbs { font-size: .85rem; color: var(--jcc-muted); }

/* ---------- Sidebar: light publisher-style widgets ---------- */
.pkp_structure_sidebar .pkp_block { padding: 0 0 1.75rem; }
.pkp_structure_sidebar .pkp_block .title:not(.pkp_screen_reader) {
  background: transparent !important;
  border-left: 0 !important;
  border-top: 3px solid var(--jcc-navy);
  padding: .6rem 0 .5rem !important;
  margin-bottom: .6rem !important;
  color: var(--jcc-navy) !important;
  font-size: .8rem !important;
  letter-spacing: .12em;
}

.jcc-menu { border-radius: 0; box-shadow: none; overflow: visible; }
.jcc-menu__title {
  background: transparent !important;
  border-top: 3px solid var(--jcc-navy);
  border-bottom: 1px solid var(--jcc-rule) !important;
  padding: .6rem 0 .55rem !important;
  color: var(--jcc-navy) !important;
  font-size: .8rem !important;
  text-align: left !important;
}
.jcc-menu ul { background: transparent !important; }
.jcc-menu li { border-top: 0 !important; border-bottom: 1px solid var(--jcc-rule); }
.jcc-menu a {
  position: relative;
  background: transparent !important;
  color: var(--jcc-navy) !important;
  text-align: left !important;
  font-weight: 600;
  padding: .6rem 1.6rem .6rem .75rem !important;
  border-left: 3px solid transparent;
}
.jcc-menu a::after {
  content: "\203A";
  position: absolute;
  right: .6rem;
  top: 50%;
  transform: translateY(-52%);
  color: var(--jcc-gold-text);
  font-size: 1.2rem;
}
.jcc-menu a:hover,
.jcc-menu a:focus {
  background: var(--jcc-paper) !important;
  color: var(--jcc-navy) !important;
  border-left-color: var(--jcc-gold);
}

.block_make_submission_link {
  display: block;
  text-align: center;
  background: var(--jcc-navy) !important;
  color: var(--jcc-ivory) !important;
  border: 0 !important;
  border-radius: 2px;
  padding: .7rem 1rem !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none !important;
}
.block_make_submission_link:hover,
.block_make_submission_link:focus { background: var(--jcc-gold) !important; color: var(--jcc-navy) !important; }

/* v1.2 components in the Academic layout */
.jcc-widget__title {
  background: transparent !important;
  border-left: 0 !important;
  border-top: 3px solid var(--jcc-navy);
  border-bottom: 1px solid var(--jcc-rule);
  padding: .6rem 0 .55rem !important;
  color: var(--jcc-navy) !important;
  font-size: .8rem !important;
  letter-spacing: .12em;
}
.jcc-widget--cta { background: var(--jcc-paper); padding: 0 1rem 1rem; border-top: 3px solid var(--jcc-gold); }
.jcc-widget--cta .jcc-widget__title { border-top: 0; }
