/* =====================================================================
   Keluwih Kesehatan & Kedokteran (Hijau) – Custom Style Sheet (OJS 3.3 Default Theme)
   Warna utama #1e5e49 | aksen #52b788
   Untuk membuat tema baru cukup ubah blok :root di bawah ini.
   ===================================================================== */

:root {
  --theme-dark: #133e32;            /* judul, footer, gradasi header */
  --theme-primary: #1e5e49;         /* warna utama: tombol, link, header */
  --theme-secondary: #2d8a6e;       /* hover & ujung gradasi */
  --theme-accent: #52b788;          /* aksen: garis, hover tombol */
  --theme-accent-dark: #3da57a;     /* ujung gradasi tombol sorotan */
  --theme-on-accent: #133e32;       /* teks di atas latar aksen */
  --theme-base: #ddedcf;            /* warna dasar halaman */
  --theme-bg: #f4f8f3;
  --theme-card: #ffffff;
  --theme-tint: #f0f7f2;          /* latar hover / abstrak / baris genap */
  --theme-tint-2: #e4f1e9;        /* lingkaran ikon tombol outline */
  --theme-text: #1f2d27;
  --theme-muted: #5a6e65;
  --theme-border: #cfe0d3;
  --theme-footer-text: #d2e4db;
  --theme-dark-rgb: 19, 62, 50;       /* untuk rgba() bayangan */
  --theme-primary-rgb: 30, 94, 73;
  --theme-accent-rgb: 82, 183, 136;
  --theme-radius: 10px;
  --theme-shadow: 0 4px 14px rgba(19, 62, 50, 0.08);
}


/* ---------- 1. Dasar ---------- */
body {
  background: var(--theme-base) !important;
  color: var(--theme-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.pkp_structure_page { background: transparent; }

a { color: var(--theme-primary); }
a:hover, a:focus { color: var(--theme-secondary); }

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 { 
  color: var(--theme-dark);
  font-weight: 700;
}

/* ---------- 2. Header & Banner Logo ---------- */
.pkp_structure_head {
  background: linear-gradient(135deg, var(--theme-dark) 0%, var(--theme-primary) 60%, var(--theme-secondary) 100%) !important;
  border-bottom: 5px solid var(--theme-accent);
  position: relative;
  z-index: 1000;            /* FIX: header (beserta dropdown) di atas konten */
  overflow: visible !important;
}
.pkp_head_wrapper,
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary_row { overflow: visible !important; }
.pkp_site_name_wrapper { padding: 10px 0 !important; }
.pkp_site_name { padding-top: 8px !important; padding-bottom: 8px !important; width: 100%; }
.pkp_site_name .is_img { display: block; width: 100%; }
.pkp_site_name .is_img img {
  max-height: none !important;
  width: 100% !important;
  max-width: 1160px;
  height: auto !important;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.pkp_site_name .is_text { color: #fff !important; }

/* Menu Pengguna (Register / Login / Profil) */
/* FIX: hanya link tingkat atas (Register/Login/nama user) yang putih */
.pkp_navigation_user > li > a { color: rgba(255, 255, 255, 0.92) !important; }
.pkp_navigation_user > li > a:hover { color: var(--theme-base) !important; }

/* FIX: link di dalam dropdown (View Profile, Dashboard, Logout) harus gelap */
.pkp_navigation_user .dropdown-menu {
  background: var(--theme-card) !important;
  border: 1px solid var(--theme-border);
  border-top: 3px solid var(--theme-accent);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 24px rgba(var(--theme-dark-rgb), 0.15);
}
.pkp_navigation_user .dropdown-menu a,
.pkp_navigation_user .dropdown-menu li a {
  color: var(--theme-dark) !important;
  background: transparent;
  border-left: 3px solid transparent;
}
.pkp_navigation_user .dropdown-menu a:hover,
.pkp_navigation_user .dropdown-menu a:focus {
  background: var(--theme-tint) !important;
  color: var(--theme-primary) !important;
  border-left-color: var(--theme-accent);
}
.pkp_navigation_user .task_count {
  background: var(--theme-accent) !important;
  color: var(--theme-on-accent) !important;
  font-weight: bold;
}

/* ---------- 3. Menu Navigasi Utama ---------- */
.pkp_navigation_primary_row {
  background: rgba(var(--theme-dark-rgb), 0.35);
  border-radius: 8px 8px 0 0;
  backdrop-filter: blur(4px);
}
.pkp_navigation_primary > li > a {
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 10px 16px !important;
  margin: 0 !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.25s ease;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li.in_focus > a {
  background: rgba(255, 255, 255, 0.15);
  border-bottom-color: var(--theme-accent) !important;
  color: #fff !important;
}

/* Dropdown Navigation */
.pkp_navigation_primary ul {
  background: var(--theme-card);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 24px rgba(var(--theme-dark-rgb), 0.15);
  border-top: 3px solid var(--theme-accent);
  z-index: 1100;
  min-width: 220px;
}
.pkp_navigation_primary ul a {
  color: var(--theme-dark) !important;
  border-left: 3px solid transparent !important;
}
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  background: var(--theme-tint) !important;
  border-left-color: var(--theme-accent) !important;
  color: var(--theme-primary) !important;
}

/* Search Button */
.pkp_navigation_search_wrapper a {
  color: #fff !important;
  border-bottom: 3px solid transparent !important;
}
.pkp_navigation_search_wrapper a:hover {
  border-bottom-color: var(--theme-accent) !important;
  color: var(--theme-base) !important;
}

/* ---------- 4. Area Konten Utama ---------- */
.pkp_structure_content {
  position: relative;
  z-index: 1;               /* FIX: konten di bawah header/dropdown */
  background: var(--theme-card);
  margin-top: 24px;
  margin-bottom: 24px;
  border-radius: var(--theme-radius);
  box-shadow: var(--theme-shadow);
  padding: 24px !important;
  box-sizing: border-box;          /* FIX: padding tidak menambah lebar total */
  border: 1px solid var(--theme-border);
}
.pkp_structure_main::before,
.pkp_structure_main::after { background: var(--theme-border) !important; }

/* Sub-header / Judul Bagian */
.pkp_structure_main .current_issue h2,
.pkp_structure_main .homepage_about h2,
.pkp_structure_main .cmp_announcements h2,
.page_index_journal h2 {
  position: relative;
  padding-bottom: 10px;
  font-weight: 700;
  color: var(--theme-dark);
}
.page_index_journal h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 4px;
  background: var(--theme-accent);
  border-radius: 2px;
}

/* Judul Kategori Artikel dalam Table of Contents */
.obj_issue_toc .sections .section > h2,
.obj_issue_toc .sections .section > h3 {
  background: transparent !important;
  color: var(--theme-dark) !important;
  font-weight: 700;
  border-left: 5px solid var(--theme-accent);
  padding-left: 12px !important;
  margin-top: 18px;
}
.obj_issue_toc .sections .section > h2::before,
.obj_issue_toc .sections .section > h3::before { display: none; }


/* ---------- 4b. FIX LAYOUT: Main + Sidebar (Desktop) ----------
   Penyebab sidebar turun jauh ke bawah: padding pada .pkp_structure_content
   membuat total lebar main (float) + sidebar (float) melebihi 100%, sehingga
   sidebar "jatuh" ke bawah konten. Solusi: ganti float dengan flexbox. */
@media (min-width: 992px) {
  .pkp_structure_content {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0;
  }
  .pkp_structure_content::before,
  .pkp_structure_content::after { display: none !important; } /* matikan clearfix */

  .pkp_structure_main {
    float: none !important;
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;                      /* cegah gambar/tabel melebarkan kolom */
    box-sizing: border-box;
    padding-left: 0 !important;
    padding-right: 28px !important;
  }
  .pkp_structure_sidebar {
    float: none !important;
    flex: 0 0 260px;
    width: 260px !important;
    max-width: 260px;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 0 0 24px !important;
    align-self: flex-start;
  }
  /* Sidebar ikut terlihat saat halaman di-scroll */
  .pkp_structure_sidebar {
    position: sticky;
    top: 16px;
  }
}

/* Gambar/tabel di konten utama tidak boleh melebihi kolom */
.pkp_structure_main img { max-width: 100%; height: auto; }
.pkp_structure_main table { max-width: 100%; }

/* ---------- 5. Kartu Daftar Artikel ---------- */
.cmp_article_list > li {
  background: #ffffff;
  border: 1px solid var(--theme-border);
  border-left: 5px solid var(--theme-primary);
  border-radius: 8px;
  padding: 18px 20px !important;
  margin-bottom: 16px !important;
  transition: all 0.25s ease-in-out;
}
.cmp_article_list > li:hover {
  border-left-color: var(--theme-accent);
  box-shadow: 0 8px 20px rgba(var(--theme-primary-rgb), 0.12);
  transform: translateY(-2px);
  background: var(--theme-tint);
}
.obj_article_summary .title a {
  color: var(--theme-dark);
  font-weight: 700;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.4;
}
.obj_article_summary .title a:hover {
  color: var(--theme-secondary);
  text-decoration: underline;
}
.obj_article_summary .authors {
  color: var(--theme-muted);
  font-style: italic;
  margin-top: 4px;
}
.obj_article_summary .pages {
  color: var(--theme-primary);
  font-weight: 600;
}

/* Tombol PDF / Galley Download */
.obj_galley_link {
  background: var(--theme-primary) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 20px !important;
  padding: 5px 16px !important;
  font-weight: 600;
  font-size: 13px;
  transition: background 0.2s ease, transform 0.2s ease;
  display: inline-block;
}
.obj_galley_link:hover,
.obj_galley_link:focus {
  background: var(--theme-accent) !important;
  color: var(--theme-on-accent) !important;
  transform: scale(1.03);
}
.obj_galley_link.restricted { background: var(--theme-muted) !important; }

/* Tombol Form & Akses Umum */
.cmp_button,
.pkp_button,
.read_more,
.cmp_form .buttons button,
button[type="submit"],
.page_search .submit button {
  background: var(--theme-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-weight: 600;
  padding: 8px 18px;
  transition: background 0.2s ease;
}
.cmp_button:hover, .pkp_button:hover,
.cmp_form .buttons button:hover,
button[type="submit"]:hover {
  background: var(--theme-accent) !important;
  color: var(--theme-on-accent) !important;
}
.read_more {
  background: transparent !important;
  color: var(--theme-primary) !important;
  padding: 0;
}
.read_more:hover {
  color: var(--theme-secondary) !important;
  background: transparent !important;
}

/* ---------- 6. Sidebar Navigation ---------- */
.pkp_structure_sidebar .pkp_block {
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}
.pkp_structure_sidebar .pkp_block .title {
  display: block;
  background: var(--theme-primary);
  color: #ffffff !important;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  font-size: 13px;
  padding: 10px 14px;
  border-radius: 6px;
  border-left: 5px solid var(--theme-accent);
  margin-bottom: 12px;
  box-shadow: 0 2px 6px rgba(var(--theme-dark-rgb), 0.1);
}

/* Daftar Menu Sidebar */
.pkp_structure_sidebar .pkp_block ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}
.pkp_structure_sidebar .pkp_block ul li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--theme-border);
}
.pkp_structure_sidebar .pkp_block ul li:last-child { border-bottom: 0; }
.pkp_structure_sidebar .pkp_block ul li a {
  display: block;
  position: relative;
  padding: 10px 32px 10px 16px;
  color: var(--theme-dark) !important;
  text-decoration: none;
  font-size: 14px;
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}
.pkp_structure_sidebar .pkp_block ul li a::after {
  content: "\203A";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-52%);
  font-size: 18px;
  color: var(--theme-muted);
  transition: all 0.2s ease;
}
.pkp_structure_sidebar .pkp_block ul li a:hover,
.pkp_structure_sidebar .pkp_block ul li a:focus {
  background: var(--theme-tint);
  border-left-color: var(--theme-accent);
  padding-left: 20px;
  color: var(--theme-primary) !important;
}
.pkp_structure_sidebar .pkp_block ul li a:hover::after {
  color: var(--theme-accent);
  right: 10px;
}

/* ---------- 7. Halaman Detail Artikel ---------- */
.obj_article_details .page_title {
  color: var(--theme-dark);
  font-weight: 700;
  line-height: 1.35;
}
.obj_article_details .item .label,
.obj_article_details .main_entry .label {
  color: var(--theme-primary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 13px;
}
/* Kotak Abstrak Bernuansa Kesehatan */
.obj_article_details .item.abstract {
  background: var(--theme-tint);
  border-left: 5px solid var(--theme-primary);
  border-radius: 8px;
  padding: 18px 22px;
  border-top: 1px solid var(--theme-border);
  border-right: 1px solid var(--theme-border);
  border-bottom: 1px solid var(--theme-border);
}
.obj_article_details .item.doi a,
.obj_article_details .item.keywords .value { color: var(--theme-primary); }
.obj_article_details .entry_details .item {
  border-bottom-color: var(--theme-border) !important;
}
.obj_article_details .galleys_links .obj_galley_link {
  font-size: 14px;
  padding: 8px 20px !important;
}

/* ---------- 8. Arsip & Issues ---------- */
.issues_archive > li {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 18px !important;
  margin-bottom: 16px;
  transition: box-shadow 0.2s ease;
  background: #fff;
}
.issues_archive > li:hover { box-shadow: var(--theme-shadow); }
.obj_issue_summary .title { color: var(--theme-dark); font-weight: 700; }

/* ---------- 9. Tabel & Form Input ---------- */
.pkp_structure_main table {
  border-collapse: collapse;
  width: 100%;
}
.pkp_structure_main table th {
  background: var(--theme-primary);
  color: #ffffff;
  padding: 10px 12px;
  text-align: left;
}
.pkp_structure_main table td {
  border: 1px solid var(--theme-border);
  padding: 10px 12px;
}
.pkp_structure_main table tr:nth-child(even) td { background: var(--theme-tint); }

.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form textarea,
.cmp_form select {
  border: 1px solid var(--theme-border) !important;
  border-radius: 6px !important;
  padding: 8px 12px;
}
.cmp_form input:focus,
.cmp_form textarea:focus,
.cmp_form select:focus {
  border-color: var(--theme-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--theme-primary-rgb), 0.18) !important;
  outline: 0;
}

/* Breadcrumbs */
.cmp_breadcrumbs a { color: var(--theme-primary); }
.cmp_breadcrumbs .current { color: var(--theme-muted); }

/* ---------- 10. Footer ---------- */
.pkp_structure_footer_wrapper {
  background: var(--theme-dark) !important;
  border-top: 5px solid var(--theme-accent);
  color: var(--theme-footer-text);
  padding: 24px 0;
}
.pkp_structure_footer_wrapper a { color: var(--theme-base) !important; }
.pkp_structure_footer_wrapper a:hover { color: #ffffff !important; font-weight: 600; }
.pkp_footer_content { color: var(--theme-footer-text); }
.pkp_brand_footer {
  background: transparent !important;
  opacity: 0.8;
}
.pkp_brand_footer img { filter: brightness(0) invert(1); }

/* ---------- 11. Layar Responsif (Mobile & Tablet) ---------- */
@media (max-width: 991px) {
  .pkp_structure_content { margin-top: 0; border-radius: 0; box-shadow: none; border: none; }
  .pkp_site_nav_menu { background: var(--theme-dark) !important; }
  .pkp_site_nav_toggle { color: #ffffff !important; }
  .pkp_navigation_primary_row { background: transparent; backdrop-filter: none; }
  .pkp_navigation_primary > li > a { border-bottom: 0 !important; }
  .pkp_navigation_primary ul { box-shadow: none; border-top: 0; background: transparent; }
  .pkp_navigation_primary ul a { color: #ffffff !important; }
  .pkp_navigation_primary ul a:hover { background: rgba(255, 255, 255, 0.1) !important; color: var(--theme-base) !important; }
  .pkp_site_name .is_img img { border-radius: 0; }
  .pkp_structure_sidebar { width: 100% !important; padding: 0 !important; position: static; }
}
/* ---------- 12. Tombol Aksi (Custom Block Sidebar) ----------
   Pakai dengan: <div class="jkk-actions"><a class="jkk-btn">...</a></div>
   Varian: .jkk-btn--cta (sorotan) | .jkk-btn--ghost (unduhan/dokumen) */
.jkk-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.pkp_block .jkk-actions .jkk-btn,
.jkk-actions .jkk-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none !important;
  border: 1.5px solid transparent;
  border-radius: var(--theme-radius);
  box-shadow: 0 2px 6px rgba(var(--theme-dark-rgb), 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.jkk-btn .fa {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  font-size: 15px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  transition: background 0.2s ease, color 0.2s ease;
}
.pkp_block .jkk-actions .jkk-btn:hover,
.pkp_block .jkk-actions .jkk-btn:focus {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(var(--theme-primary-rgb), 0.25);
  color: #fff !important;
}
.jkk-btn:hover .fa,
.jkk-btn:focus .fa {
  background: var(--theme-accent);
  color: var(--theme-on-accent);
}
.jkk-btn:focus-visible {
  outline: 3px solid rgba(var(--theme-accent-rgb), 0.5);
  outline-offset: 2px;
}

/* Varian sorotan: Make a Submission */
.pkp_block .jkk-actions .jkk-btn--cta {
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-dark));
  color: var(--theme-on-accent) !important;
}
.pkp_block .jkk-actions .jkk-btn--cta:hover,
.pkp_block .jkk-actions .jkk-btn--cta:focus { color: var(--theme-on-accent) !important; }
.jkk-btn--cta .fa { background: rgba(var(--theme-dark-rgb), 0.15); }
.jkk-btn--cta:hover .fa { background: var(--theme-dark); color: #fff; }

/* Varian outline: tutorial & template (file unduhan) */
.pkp_block .jkk-actions .jkk-btn--ghost {
  background: #fff;
  color: var(--theme-primary) !important;
  border-color: var(--theme-primary);
  box-shadow: none;
}
.pkp_block .jkk-actions .jkk-btn--ghost:hover,
.pkp_block .jkk-actions .jkk-btn--ghost:focus {
  background: var(--theme-tint);
  border-color: var(--theme-accent);
  color: var(--theme-primary) !important;
}
.jkk-btn--ghost .fa { background: var(--theme-tint-2); color: var(--theme-primary); }

/* ---------- 13. FIX Header Mobile & Tablet (<= 991px) ----------
   Hamburger + logo dijadikan satu baris flex, tinggi header mengikuti logo. */
@media (max-width: 991px) {
  .pkp_structure_head {
    height: auto !important;
    min-height: 0 !important;
    border-bottom-width: 4px;
  }
  .pkp_head_wrapper {
    position: relative;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  .pkp_site_name_wrapper {
    display: flex !important;
    align-items: center;
    gap: 10px;
    position: relative !important;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box;
    padding: 8px 10px !important;
  }
  .pkp_site_nav_toggle {
    position: relative !important;    /* tetap jadi acuan untuk ikon hamburger (span) di dalamnya */
    top: auto !important;
    left: auto !important;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .pkp_site_name {
    position: static !important;
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .pkp_site_name .is_img { display: block; width: 100%; }
  .pkp_site_name .is_img img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 6px;
    box-shadow: none;
  }
  /* Teks rata kiri di HP supaya tidak renggang (justify) */
  .pkp_structure_main p { text-align: left; hyphens: auto; }
}

/* ---------- 14. Breadcrumb & Judul Halaman ---------- */
.cmp_breadcrumbs { margin: 0 0 20px; }
.cmp_breadcrumbs ol {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 6px 16px;
  list-style: none;
  background: var(--theme-tint);
  border: 1px solid var(--theme-border);
  border-radius: 999px;
  font-size: 13px;
  line-height: 1.4;
}
.cmp_breadcrumbs li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
.cmp_breadcrumbs a {
  color: var(--theme-primary);
  font-weight: 600;
  text-decoration: none;
}
.cmp_breadcrumbs a:hover,
.cmp_breadcrumbs a:focus {
  color: var(--theme-secondary);
  text-decoration: underline;
  text-decoration-color: var(--theme-accent);
  text-underline-offset: 3px;
}
.cmp_breadcrumbs li:first-child a::before {      /* ikon rumah pada "Home" */
  content: "\f015";
  font-family: FontAwesome;
  font-weight: normal;
  margin-right: 6px;
}
.cmp_breadcrumbs .separator {                    /* "/" diganti chevron */
  font-size: 0;
  margin: 0 9px;
}
.cmp_breadcrumbs .separator::before {
  content: "\f105";
  font-family: FontAwesome;
  font-size: 14px;
  color: var(--theme-muted);
}
.cmp_breadcrumbs .current,
.cmp_breadcrumbs .current span {
  color: var(--theme-dark);
  font-weight: 700;
}

/* Judul halaman (Archives, Current, dll.) */
.pkp_structure_main .page > h1,
.pkp_structure_main > h1 {
  position: relative;
  margin: 0 0 26px !important;
  padding: 0 0 16px !important;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.2px;
  color: var(--theme-dark);
  border-bottom: 1px solid var(--theme-border) !important;
}
.pkp_structure_main .page > h1::after,
.pkp_structure_main > h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-accent));
}

/* ---------- 15. FIX Halaman Archives (daftar issue) ---------- */
.pkp_structure_main .issues_archive {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  list-style: none;
}
.pkp_structure_main .issues_archive > li {
  box-sizing: border-box;
  width: 100% !important;       /* FIX: kartu tidak lagi melewati kolom */
  max-width: 100%;
  margin: 0 0 18px !important;
  padding: 20px 22px !important;
  background: #fff;
  border: 1px solid var(--theme-border);
  border-left: 5px solid var(--theme-primary);
  border-radius: var(--theme-radius);
  box-shadow: 0 1px 3px rgba(var(--theme-dark-rgb), 0.05);
  transition: all 0.25s ease;
}
.pkp_structure_main .issues_archive > li:hover {
  border-left-color: var(--theme-accent);
  box-shadow: 0 8px 20px rgba(var(--theme-primary-rgb), 0.14);
  transform: translateY(-2px);
}
.issues_archive .obj_issue_summary {
  display: flow-root;
  margin: 0;
  padding: 0;
  border: 0;
}
.issues_archive .obj_issue_summary .cover {
  float: left;
  display: block;
  width: 130px;
  margin: 0 24px 4px 0;
}
.issues_archive .obj_issue_summary .cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(var(--theme-dark-rgb), 0.2);
}
.issues_archive .obj_issue_summary .title,
.issues_archive .obj_issue_summary .series,
.issues_archive .obj_issue_summary .description {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
.issues_archive .obj_issue_summary .title {
  display: block;
  margin-bottom: 6px;
  font-size: 17px;
  line-height: 1.4;
  text-decoration: none;
}
.issues_archive .obj_issue_summary .title:hover { color: var(--theme-secondary); text-decoration: underline; }
.issues_archive .obj_issue_summary .series {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--theme-muted);
}
.issues_archive .obj_issue_summary .description {
  font-size: 14px;
  line-height: 1.6;
  color: var(--theme-text);
}

/* Pagination */
.cmp_pagination { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--theme-border); }
.cmp_pagination a {
  display: inline-block;
  padding: 5px 16px;
  font-weight: 600;
  text-decoration: none;
  color: var(--theme-primary);
  border: 1px solid var(--theme-primary);
  border-radius: 20px;
  transition: all 0.2s ease;
}
.cmp_pagination a:hover,
.cmp_pagination a:focus {
  background: var(--theme-primary);
  color: #fff;
}
.cmp_pagination .showing { color: var(--theme-muted); }

/* ---------- 16. FIX Halaman Current (Table of Contents) ---------- */
.obj_issue_toc .sections { margin: 0; padding: 0; }
.obj_issue_toc .sections .section {
  display: flow-root;
  margin: 0 0 28px !important;   /* FIX: jarak antar section terlalu besar */
  padding: 0 !important;
  border: 0 !important;
}
.obj_issue_toc .sections .section::before { display: none !important; }
.obj_issue_toc .sections .section > h2,
.obj_issue_toc .sections .section > h3 { margin: 0 0 14px !important; }
.obj_issue_toc .cmp_article_list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.obj_issue_toc .cmp_article_list > li:last-child { margin-bottom: 0 !important; }
.obj_issue_toc .heading { margin-bottom: 24px; }
.obj_issue_toc .cover img {
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(var(--theme-dark-rgb), 0.2);
}
.obj_issue_toc .published { margin: 8px 0 0; font-size: 14px; color: var(--theme-muted); }
.obj_issue_toc .published .label { color: var(--theme-primary); font-weight: 700; }

@media (max-width: 575px) {
  .pkp_structure_main .page > h1,
  .pkp_structure_main > h1 { font-size: 22px; }
  .issues_archive .obj_issue_summary .cover { width: 90px; margin-right: 16px; }
  .pkp_structure_main .issues_archive > li { padding: 16px !important; }
  .cmp_breadcrumbs ol { border-radius: 12px; }
}
