/* Kalijaga Institute journals — visual system adapted from the Saneskara/JECS pattern. */
:root {
  --kji-ink: #17232d;
  --kji-muted: #5e6d78;
  --kji-paper: #f3f6f4;
  --kji-panel: #ffffff;
  --kji-line: #dce5df;
  --kji-green: #176f5c;
  --kji-green-dark: #0f5144;
  --kji-gold: #c6922e;
  --kji-clay: #b65f4a;
  --kji-shadow: 0 14px 34px rgba(23, 35, 45, .08);
}

* { box-sizing: border-box; }
body {
  background: var(--kji-paper);
  color: var(--kji-ink);
  font-family: "Noto Sans", "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
}
a { color: var(--kji-green); }
a:hover, a:focus { color: var(--kji-green-dark); }

.pkp_structure_page { max-width: none; background: transparent; }
.pkp_structure_head {
  background: linear-gradient(135deg, #0d4f43 0%, #176f5c 58%, #236f63 100%);
  border-bottom: 4px solid var(--kji-gold);
  box-shadow: 0 12px 30px rgba(12, 50, 43, .18);
}
.pkp_head_wrapper { max-width: 1180px; margin: 0 auto; padding: 22px 24px 0; }
.pkp_site_name { padding-bottom: 15px; }
.pkp_site_name .is_text, .pkp_site_name_wrapper .is_text {
  max-width: 850px;
  color: #fff;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: -.02em;
  text-shadow: 0 2px 10px rgba(0,0,0,.15);
}
.pkp_navigation_primary_row, .pkp_navigation_primary_wrapper { background: rgba(4, 39, 33, .25); }
.pkp_navigation_primary > li > a, .pkp_navigation_user > li > a {
  color: #fff;
  border-radius: 6px;
  font-weight: 750;
}
.pkp_navigation_primary > li > a:hover, .pkp_navigation_primary > li > a:focus,
.pkp_navigation_user > li > a:hover, .pkp_navigation_user > li > a:focus { color: #ffe2a3; }
.pkp_navigation_primary ul { border-top: 3px solid var(--kji-gold); box-shadow: var(--kji-shadow); }
.pkp_navigation_primary ul a { color: var(--kji-ink); }

.pkp_structure_content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 292px;
  gap: 28px;
  max-width: 1180px;
  margin: 34px auto 48px;
  padding: 0 24px;
  border: 0 !important;
}
.pkp_structure_main {
  float: none !important;
  grid-column: 1;
  grid-row: 1;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border: 0 !important;
}
.pkp_structure_main::before, .pkp_structure_main::after { display: none !important; content: none !important; }
.pkp_structure_sidebar {
  float: none !important;
  grid-column: 2;
  grid-row: 1;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  border: 0 !important;
}

.page, .obj_article_details, .obj_issue_toc,
.page_index_journal .homepage_about {
  background: var(--kji-panel);
  border: 1px solid var(--kji-line);
  border-radius: 12px;
  box-shadow: var(--kji-shadow);
}
.page { padding: 28px; }
.page_index_journal { display: grid; gap: 24px; }
.page_index_journal .homepage_about { padding: 26px; }
.page_index_journal .homepage_about h2 { margin-top: 0; }
.page_index_journal .additional_content { margin: 0 !important; padding: 0 !important; }
.page h1, .page h2, .page h3, .kji-home h2, .kji-home h3 { color: var(--kji-ink); letter-spacing: -.015em; }
.page h1 { margin-top: 0; font-size: 30px; line-height: 1.25; }
.obj_issue_toc .heading { border-radius: 12px 12px 0 0; }
.obj_issue_toc .sections { padding-right: 22px; padding-left: 22px; }
.obj_article_summary { padding: 18px 0; border-bottom: 1px solid var(--kji-line); }
.cmp_button, .cmp_form .buttons button, .pkp_button, .obj_galley_link {
  border-radius: 7px !important;
  background: var(--kji-green) !important;
  color: #fff !important;
}

.pkp_block {
  margin: 0 0 17px;
  padding: 18px;
  background: var(--kji-panel);
  border: 1px solid var(--kji-line);
  border-top: 4px solid var(--kji-green);
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(23, 35, 45, .07);
}
.pkp_block .title { margin: 0 0 12px; color: var(--kji-ink); font-size: 16px; font-weight: 850; }
.pkp_block ul { margin: 0; padding-left: 18px; }
.pkp_block li { margin: 6px 0; }
.pkp_block.block_make_submission { border-top-color: var(--kji-gold); }
.pkp_block.block_make_submission .block_make_submission_link { display: block; text-align: center; }

.kji-home { display: grid; gap: 18px; }
.kji-hero, .kji-panel {
  background: var(--kji-panel);
  border: 1px solid var(--kji-line);
  border-radius: 12px;
  box-shadow: var(--kji-shadow);
}
.kji-hero {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border-top: 6px solid var(--kji-green);
}
.kji-hero::after {
  position: absolute;
  top: -70px;
  right: -60px;
  width: 210px;
  height: 210px;
  border: 34px solid rgba(198, 146, 46, .12);
  border-radius: 50%;
  content: "";
}
.kji-kicker { margin: 0 0 8px; color: var(--kji-green); font-size: 13px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.kji-hero h2 { position: relative; z-index: 1; margin: 0 0 12px; max-width: 760px; font-size: clamp(27px, 4vw, 38px); line-height: 1.18; }
.kji-hero > p:not(.kji-kicker) { position: relative; z-index: 1; max-width: 760px; color: var(--kji-muted); font-size: 16px; }
.kji-meta-grid, .kji-link-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kji-meta-card, .kji-link-grid a {
  display: block;
  min-width: 0;
  padding: 15px;
  background: #fbfcfb;
  border: 1px solid var(--kji-line);
  border-radius: 9px;
  color: var(--kji-muted);
  text-decoration: none;
}
.kji-meta-card strong, .kji-link-grid strong { display: block; margin-bottom: 4px; color: var(--kji-ink); }
.kji-link-grid a:nth-child(3n + 1) { border-top: 3px solid var(--kji-green); }
.kji-link-grid a:nth-child(3n + 2) { border-top: 3px solid var(--kji-gold); }
.kji-link-grid a:nth-child(3n) { border-top: 3px solid var(--kji-clay); }
.kji-link-grid a:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(23,35,45,.08); }
.kji-panel { padding: 24px; }
.kji-panel h3 { margin-top: 0; }

.kji-quick-menu ul { margin: 0; padding: 0; list-style: none; }
.kji-quick-menu details { margin: 0 0 8px; overflow: hidden; background: #fbfcfb; border: 1px solid var(--kji-line); border-radius: 8px; }
.kji-quick-menu details[open] { background: #fff; }
.kji-quick-menu summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 10px 12px;
  color: var(--kji-ink);
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
.kji-quick-menu summary::-webkit-details-marker { display: none; }
.kji-quick-menu summary::after { content: "+"; color: var(--kji-green); font-size: 18px; font-weight: 850; }
.kji-quick-menu details[open] summary { color: var(--kji-green); border-bottom: 1px solid var(--kji-line); }
.kji-quick-menu details[open] summary::after { content: "−"; }
.kji-quick-menu li { margin: 0; border-top: 1px solid #eef2ef; }
.kji-quick-menu li:first-child { border-top: 0; }
.kji-quick-menu a { display: block; padding: 9px 12px; color: var(--kji-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.kji-quick-menu a:hover, .kji-quick-menu a:focus { color: var(--kji-green); background: #f2f7f4; }

.pkp_structure_footer_wrapper { background: #102d27; border-top: 4px solid var(--kji-gold); }
.pkp_structure_footer { max-width: 1180px; margin: 0 auto; padding: 26px 24px; color: #dbe8e3; }
.pkp_brand_footer img { filter: brightness(0) invert(1); opacity: .82; }

@media (max-width: 980px) {
  .pkp_structure_content { grid-template-columns: 1fr; max-width: 790px; }
  .pkp_structure_main, .pkp_structure_sidebar { grid-column: 1; }
  .pkp_structure_sidebar { grid-row: 2; }
  .kji-meta-grid, .kji-link-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .pkp_head_wrapper, .pkp_structure_content, .pkp_structure_footer { padding-right: 16px; padding-left: 16px; }
  .pkp_structure_content { margin-top: 20px; }
  .page, .kji-hero, .kji-panel, .page_index_journal .homepage_about { padding: 19px; }
  .kji-meta-grid, .kji-link-grid { grid-template-columns: 1fr; }
  .pkp_site_name .is_text, .pkp_site_name_wrapper .is_text { font-size: 23px; }
}
