/* SEMPUGI — Biru & Merah Bata, v2.0 — referensi Madaniya
 * Pengganti stylesheet kustom sebelumnya; memerlukan tema dasar OJS.
 * Berdasarkan selector pada CSS Sempugi yang diberikan pengguna.
 * Tidak menambahkan nama, logo, nomor ISSN, atau konten melalui CSS.
 * Menu OJS tetap dikelola tema; dukungan menu kustom ada di bagian 5.
 */

/* 1. Identitas dan dasar */
:root {
  --sempugi-navy: #123e66;
  --sempugi-accent: #803b3b;
  --sempugi-ink: #243746;
  --sempugi-muted: #586b76;
  --sempugi-line: #dce5e7;
  --sempugi-soft: #f8eeee;
  --sempugi-paper: #ffffff;
}
body {
  background: #f3f6f6;
  color: var(--sempugi-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
.pkp_structure_page {
  max-width: 1200px;
  margin: 0 auto;
  background: var(--sempugi-paper);
  box-shadow: 0 2px 18px rgba(23,53,74,.05);
}
.pkp_structure_page a { text-underline-offset: 3px; }
.pkp_structure_page 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 #c47e22;
  outline-offset: 3px;
}
.pkp_structure_main a { color: var(--sempugi-accent); }
.pkp_structure_main a:hover { color: var(--sempugi-navy); }
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
  color: var(--sempugi-navy);
  line-height: 1.35;
}
.pkp_structure_main h1 { font-size: 26px; font-weight: 700; }
.pkp_structure_main h2 { font-size: 21px; }
.pkp_structure_main p { line-height: 1.75; }
.pkp_structure_main .description,
.homepage_about,
.main_entry .item.abstract { text-align: left; }
.pkp_structure_main img,
.pkp_structure_sidebar img { max-width: 100%; height: auto; }
.pkp_structure_main .page_title { overflow-wrap: break-word; }
.journals ul .body .description a { display: inline; }

/* 2. Header: gambar asli tetap berasal dari pengaturan jurnal */
.pkp_structure_head { background: #fff; border-bottom: 0; }
.pkp_head_wrapper,
.has_site_logo .pkp_head_wrapper { padding-top: 0; }
.pkp_site_name_wrapper { padding-left: 0; padding-right: 0; }
.pkp_site_name { margin: 0; padding-top: 0; padding-bottom: 0; }
.pkp_site_name > a { padding-top: 0; padding-bottom: 0; }
.pkp_site_name a { color: var(--sempugi-navy); }
.pkp_site_name .is_img img {
  max-width: 100%;
  max-height: none;
  height: auto;
}
.pkp_navigation_user > li > a { color: var(--sempugi-navy); }
.pkp_navigation_user .profile > a {
  color: var(--sempugi-accent);
  background: var(--sempugi-soft);
  border-radius: 5px;
}
.pkp_navigation_primary_row {
  background: var(--sempugi-navy);
  border-bottom: 3px solid var(--sempugi-accent);
}
.pkp_navigation_primary > li > a {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  border-color: transparent;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: #fff;
  background: #23495e;
  border-color: #e8bcbc;
}
.pkp_navigation_primary ul {
  background: #fff;
  border: 1px solid var(--sempugi-line);
  box-shadow: 0 8px 20px rgba(23,53,74,.1);
}
.pkp_navigation_primary ul a { color: var(--sempugi-navy); }
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  color: var(--sempugi-accent);
  background: var(--sempugi-soft);
}
.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus { color: #fff; }

/* 3. Beranda dan daftar artikel */
.homepage_about { margin-bottom: 28px; }
.homepage_image img { border-radius: 6px; }
.cmp_announcements.highlight_first {
  background: #f7f8fa;
  border-top: 1px solid var(--sempugi-line);
  border-bottom: 1px solid var(--sempugi-line);
}
.obj_issue_toc .heading { margin-bottom: 24px; }
.obj_issue_toc .heading .cover img { box-shadow: none; border-radius: 4px; }
.obj_issue_toc .articles > li {
  padding: 0;
  margin-bottom: 16px;
  border: 0;
  background: transparent;
}
.obj_article_summary {
  padding: 22px 24px;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--sempugi-line);
  border-radius: 0;
  box-shadow: none;
  transition: border-color .18s ease, background-color .18s ease;
}
.obj_article_summary:hover,
.obj_article_summary:focus-within {
  background: #fcf9f9;
  border-color: #bc9090;
}
.obj_article_summary .title { margin-top: 0; margin-bottom: 8px; }
.obj_article_summary .title a {
  color: var(--sempugi-navy);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}
.obj_article_summary .title a:hover {
  color: var(--sempugi-accent);
  text-decoration: underline;
}
.obj_article_summary .authors,
.obj_article_summary .pages {
  color: var(--sempugi-muted);
  font-size: 13px;
  line-height: 1.6;
}
.obj_article_summary .galleys { margin-top: 14px; }
.pkp_structure_main .obj_galley_link {
  padding: 6px 14px;
  border: 1px solid var(--sempugi-accent);
  border-radius: 4px;
  background: #fff;
  color: var(--sempugi-accent);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}
.pkp_structure_main .obj_galley_link:hover,
.pkp_structure_main .obj_galley_link:focus {
  background: var(--sempugi-accent);
  color: #fff;
}
.obj_article_details .page_title {
  padding-bottom: 20px;
  border-bottom: 2px solid var(--sempugi-accent);
  background: transparent;
  box-shadow: none;
}
.obj_article_details .item.doi a { overflow-wrap: anywhere; }

/* 4. Sidebar dengan kelas Didaktika atau blok OJS */
.pkp_structure_sidebar .pkp_block { padding: 18px 20px; }
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .kepala {
  display: block;
  margin: 0 0 12px;
  padding: 0 0 10px;
  border-bottom: 2px solid var(--sempugi-accent);
  background: transparent;
  color: var(--sempugi-navy);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pkp_structure_sidebar .badan { margin: 0; }
.pkp_structure_sidebar .badan a {
  display: block;
  padding: 11px 12px;
  margin-bottom: 4px;
  background: #f4f7f7;
  border-left: 3px solid transparent;
  border-radius: 3px;
  color: var(--sempugi-navy);
  font-size: 14px;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.pkp_structure_sidebar .badan a:hover,
.pkp_structure_sidebar .badan a:focus {
  background: var(--sempugi-soft);
  border-left-color: var(--sempugi-accent);
  color: var(--sempugi-accent);
}
.pkp_structure_sidebar .badan .fa { padding-right: 8px; }
.pkp_structure_sidebar .badan a img { vertical-align: middle; }
.pkp_structure_sidebar .block_make_submission a {
  display: block;
  padding: 12px 16px;
  border: 1px solid var(--sempugi-accent);
  border-radius: 5px;
  background: var(--sempugi-accent);
  color: #fff;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.pkp_structure_sidebar .block_make_submission a:hover { background: #642d2d; }

/* 5. Menu kustom Sempugi: submenu mengalir ke bawah, tidak keluar layar */
.pkp_structure_sidebar .container {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.pkp_structure_sidebar .container > ul,
.mcd-menu, .mcd-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mcd-menu { width: 100%; }
.mcd-menu li { position: relative; }
.mcd-menu li a {
  display: block;
  padding: 11px 12px;
  border-bottom: 1px solid var(--sempugi-line);
  color: var(--sempugi-navy);
  background: #f4f7f7;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: break-word;
}
.mcd-menu li a i { margin-right: 8px; }
.mcd-menu li a p { margin: 0; }
.mcd-menu li a strong { font-weight: 600; }
.mcd-menu li a small { display: block; color: var(--sempugi-muted); }
.mcd-menu li a:hover,
.mcd-menu li a:focus,
.mcd-menu li a.active { background: var(--sempugi-soft); color: var(--sempugi-accent); }
.mcd-menu li ul {
  margin-left: 12px;
  border-left: 2px solid var(--sempugi-line);
}
.mcd-menu li ul a { background: #fff; font-size: 13px; }
.pkp_structure_sidebar .dropdown { position: relative; list-style: none; }
.pkp_structure_sidebar .dropdown [data-toggle="dropdown"] {
  display: block;
  box-sizing: border-box;
  min-height: 46px;
  padding: 12px 32px 12px 12px;
  background: var(--sempugi-navy);
  border-radius: 4px;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  line-height: 22px;
}
.pkp_structure_sidebar .dropdown [data-toggle="dropdown"]::after {
  content: "\25BE";
  position: absolute;
  right: 12px;
}
.pkp_structure_sidebar .dropdown > input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 46px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.pkp_structure_sidebar .dropdown > input[type="checkbox"]:focus-visible + a {
  outline: 3px solid #c47e22;
  outline-offset: 3px;
}
.pkp_structure_sidebar .dropdown > .dropdown-menu {
  position: static;
  float: none;
  display: none;
  min-width: 0;
  margin: 4px 0 12px;
  padding: 0;
  list-style: none;
  border: 1px solid var(--sempugi-line);
  background: #fff;
  box-shadow: none;
}
.pkp_structure_sidebar .dropdown > input[type="checkbox"]:checked ~ .dropdown-menu {
  display: block;
}
.pkp_structure_sidebar .dropdown-menu li a {
  display: block;
  padding: 10px 12px;
  color: var(--sempugi-navy);
  text-decoration: none;
}
.pkp_structure_sidebar .dropdown-menu li a:hover,
.pkp_structure_sidebar .dropdown-menu li a:focus {
  color: var(--sempugi-accent);
  background: var(--sempugi-soft);
}

/* 6. Footer dan kolom lama yang masih dipakai */
.pkp_structure_footer_wrapper {
  background: #f3f4f6;
  border-top: 3px solid var(--sempugi-accent);
  color: var(--sempugi-ink);
}
.pkp_footer_content { padding-top: 28px; padding-bottom: 28px; }
.pkp_structure_footer a { color: var(--sempugi-accent); }
.pkp_structure_footer a:hover { color: var(--sempugi-navy); }
.pkp_brand_footer { padding-top: 24px; padding-bottom: 24px; }
.pkp_brand_footer img { max-width: 80px; height: auto; }
.column2 { box-sizing: border-box; float: left; width: 33.333%; padding: 10px; }
.row2::after, .clearfix::after { content: ""; display: table; clear: both; }

/* 7. Adaptasi layar kecil; struktur kolom utama tetap milik tema OJS */
@media (min-width: 1200px) {
  .pkp_structure_page { margin-top: 24px; margin-bottom: 24px; }
}
@media (max-width: 991px) {
  .pkp_structure_page { box-shadow: none; }
  .pkp_structure_sidebar .pkp_block { padding: 18px 15px; }
  .pkp_site_nav_toggle { color: var(--sempugi-navy); }
}
@media (max-width: 600px) {
  body { font-size: 14px; }
  .pkp_structure_main h1 { font-size: 22px; }
  .pkp_structure_main h2 { font-size: 19px; }
  .obj_article_summary { padding: 16px; }
  .obj_article_summary .title a { font-size: 16px; }
  .obj_article_summary .pages { float: none; margin-top: 5px; }
  .pkp_structure_main .obj_galley_link { padding: 10px 16px; }
  .column2 { float: none; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .obj_article_summary,
  .pkp_structure_sidebar .badan a { transition: none; }
}

/* 8. Penyesuaian dari stylesheet referensi yang diunggah.
   Tidak memuat impor font, pengaturan yang menyembunyikan formulir,
   atau identitas penerbit lain. Warna perkiraan berdasarkan logo. */
.pkp_navigation_primary_row { background: #104f94; }
.pkp_navigation_primary > li > a {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .015em;
}
.pkp_head_wrapper .pkp_search .search_controls .search_prompt {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}
.pkp_head_wrapper .pkp_search.is_open .search_controls .search_prompt,
.pkp_head_wrapper .pkp_search.is_open .search_controls .search_prompt::before {
  color: var(--sempugi-navy);
}
.obj_article_details .main_entry .item .label {
  color: var(--sempugi-navy);
  font-size: 16px;
  font-weight: 700;
}
.obj_article_details .main_entry .label {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--sempugi-line);
}
.pkp_structure_sidebar .badan a { background: #fff; border-bottom: 1px solid var(--sempugi-line); }
.pkp_structure_sidebar .badan a:hover,
.pkp_structure_sidebar .badan a:focus { background: var(--sempugi-soft); }
.pkp_structure_main .obj_galley_link { background: var(--sempugi-accent); color: #fff; }
.pkp_structure_main .obj_galley_link:hover,
.pkp_structure_main .obj_galley_link:focus { background: #642d2d; color: #fff; }
/* Banner memakai gambar beranda OJS jika telah diunggah. */
.pkp_page_index .homepage_image { margin-top: 0; margin-bottom: 24px; }
.pkp_page_index .homepage_image img { display: block; width: 100%; height: auto; border-radius: 0; }

