/*
 * OJS 3.5 — Dark Blue / Light Content
 * Target: frontend Default Theme. Tema lain mungkin memakai selector berbeda.
 * Upload sebagai Journal style sheet di Settings > Website > Appearance.
 * HEADER: unggah banner melalui Logo pada pengaturan Appearance.
 * Rekomendasi banner: 1600 x 320 px; teks penting jangan terlalu kecil.
 * Opsi gambar latar: ubah --journal-header-image menjadi url("URL-ABSOLUT").
 * Gunakan URL absolut karena lokasi CSS unggahan ditentukan oleh OJS.
 * CSS tidak mengganti JavaScript/tombol navigasi bawaan OJS.
 */
:root {
  --journal-navy: #102d50;
  --journal-navy-deep: #09203b;
  --journal-navy-hover: #1b426d;
  --journal-blue: #155eab;
  --journal-bg: #f2f5fa;
  --journal-surface: #ffffff;
  --journal-text: #243449;
  --journal-muted: #526176;
  --journal-border: #dce4ee;
  --journal-radius: 12px;
  --journal-header-image: none;
}

/* Base: scope to public OJS pages. No remote fonts or dependencies. */
.pkp_structure_page {
  background: var(--journal-bg);
  color: var(--journal-text);
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
  min-height: 100vh;
}
.pkp_structure_page *,
.pkp_structure_page *::before,
.pkp_structure_page *::after { box-sizing: border-box; }
.pkp_structure_page img { max-width: 100%; height: auto; }
.pkp_structure_page a { color: var(--journal-blue); text-underline-offset: 3px; }
.pkp_structure_page a:hover { color: #0b427e; }
.pkp_structure_page :focus-visible {
  outline: 3px solid #e9ad34;
  outline-offset: 3px;
}

/* Header and journal banner. Natural image ratio prevents cropping. */
.pkp_structure_head {
  background-color: var(--journal-navy);
  background-image: var(--journal-header-image);
  background-position: center;
  background-size: cover;
  border-bottom: 0;
  color: #fff;
}
.pkp_head_wrapper { background: transparent; }
.pkp_site_name { margin: 0; padding: 24px 0; }
.pkp_site_name a { color: #fff; text-decoration: none; }
.pkp_site_name .is_text {
  font-size: clamp(1.25rem, 3vw, 2.25rem);
  line-height: 1.3;
  font-weight: 750;
  overflow-wrap: anywhere;
}
.pkp_site_name .is_img { display: block; }
.pkp_site_name .is_img img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: none;
  height: auto;
  margin: 0 auto;
}

/* Navigation: keep Default Theme's visibility and mobile toggle logic. */
.pkp_navigation_primary_wrapper {
  background: var(--journal-navy-deep);
  border-top: 1px solid rgba(255,255,255,.12);
}
.pkp_navigation_primary { margin-top: 0; margin-bottom: 0; }
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
.pkp_head_wrapper .pkp_search .search_prompt {
  color: #fff;
  border-color: transparent;
  text-decoration: none;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a:focus-visible,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_head_wrapper .pkp_search .search_prompt:hover,
.pkp_head_wrapper .pkp_search .search_prompt:focus {
  color: #fff;
  background: var(--journal-navy-hover);
  border-color: #8dc8ff;
}
.pkp_navigation_primary ul,
.pkp_navigation_user ul {
  background: var(--journal-navy-deep);
  border: 1px solid #375574;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 24px rgba(9,32,59,.18);
}
.pkp_navigation_primary ul a,
.pkp_navigation_user ul a { color: #fff; overflow-wrap: anywhere; }
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus,
.pkp_navigation_user ul a:hover,
.pkp_navigation_user ul a:focus {
  color: #fff;
  background: var(--journal-navy-hover);
  border-color: #8dc8ff;
}
.pkp_site_nav_toggle { color: #fff; }
.pkp_site_nav_toggle > span,
.pkp_site_nav_toggle > span::before,
.pkp_site_nav_toggle > span::after { background: #fff; }

/* Preserve native column widths and sidebar placement. */
.pkp_structure_content { background: var(--journal-bg); }
.pkp_structure_main {
  background: var(--journal-surface);
  min-width: 0;
  overflow-wrap: anywhere;
}
.pkp_structure_main::before,
.pkp_structure_main::after { background: var(--journal-border); }
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 {
  color: var(--journal-navy);
  line-height: 1.35;
}
.pkp_structure_main h1 { font-size: clamp(1.5rem, 3vw, 2rem); }
.pkp_structure_main p { line-height: 1.75; }
.pkp_structure_main .description,
.obj_article_summary .authors,
.obj_article_summary .pages { color: var(--journal-muted); }
.pkp_page_index .current_issue > h2,
.obj_issue_toc .section > h2 {
  color: var(--journal-navy);
  border-bottom: 2px solid var(--journal-border);
  padding-bottom: 12px;
}
.obj_article_summary {
  padding: 20px;
  margin-bottom: 16px;
  background: #fff;
  border: 1px solid var(--journal-border);
  border-radius: var(--journal-radius);
}
.obj_article_summary .title { font-size: 1.1rem; line-height: 1.5; }
.obj_article_summary .title a { color: var(--journal-navy); text-decoration: none; }
.obj_article_summary .title a:hover { color: var(--journal-blue); text-decoration: underline; }
.obj_issue_toc .cover img { border-radius: 8px; box-shadow: 0 6px 18px rgba(16,45,80,.12); }
.pkp_structure_sidebar { min-width: 0; }
.pkp_block {
  background: #fff;
  border: 1px solid var(--journal-border);
  border-radius: var(--journal-radius);
  margin-bottom: 20px;
  padding: 20px;
  overflow-wrap: anywhere;
}
.pkp_block .title { color: var(--journal-navy); font-weight: 750; }
.pkp_block .content { color: var(--journal-text); }

/* Controls, forms, and galleys. */
.pkp_button,
.pkp_button_primary,
.pkp_structure_main .submit button,
.cmp_button,
.cmp_button_wire,
.obj_galley_link {
  background: var(--journal-navy);
  color: #fff;
  border: 1px solid var(--journal-navy);
  border-radius: 7px;
  box-shadow: none;
  text-shadow: none;
  padding: 9px 16px;
  line-height: 1.5;
  text-decoration: none;
  white-space: normal;
}
.pkp_button:hover,
.pkp_button:focus,
.pkp_button_primary:hover,
.pkp_structure_main .submit button:hover,
.cmp_button:hover,
.cmp_button_wire:hover,
.obj_galley_link:hover,
.obj_galley_link:focus {
  background: var(--journal-navy-hover);
  border-color: var(--journal-navy-hover);
  color: #fff;
}
.pkp_structure_main input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
.pkp_structure_main select,
.pkp_structure_main textarea {
  max-width: 100%;
  border: 1px solid #aebdd0;
  border-radius: 6px;
  background: #fff;
  color: var(--journal-text);
  padding: 10px 12px;
  font: inherit;
}
.pkp_structure_main table { max-width: 100%; }
.pkp_structure_main pre { max-width: 100%; overflow-x: auto; }
.pkp_structure_main iframe,
.pkp_structure_main video { max-width: 100%; }

/* Footer, including OJS branding and links. */
.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background: var(--journal-navy-deep);
  color: #e2ebf5;
  border-top: 0;
}
.pkp_structure_footer_wrapper { border-top: 4px solid #285c90; }
.pkp_footer_content { color: #e2ebf5; line-height: 1.8; overflow-wrap: anywhere; }
.pkp_structure_footer a { color: #b5dbff; }
.pkp_structure_footer a:hover { color: #fff; }
.pkp_brand_footer a {
  display: inline-block;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
}

/* Default Theme desktop navigation starts at 992px. */
@media (min-width: 992px) {
  .pkp_site_name_wrapper { height: auto; }
  .pkp_navigation_primary > li > a { padding: 16px 18px; }
}
@media (max-width: 991px) {
  .pkp_site_name_wrapper { height: auto; min-height: 64px; padding-right: 64px; }
  .pkp_site_name { padding: 16px 0; }
  .pkp_site_nav_menu { background: var(--journal-navy); }
  .pkp_navigation_primary > li > a { padding: 12px 16px; }
  .pkp_navigation_primary ul,
  .pkp_navigation_user ul { max-width: 100%; box-shadow: none; }
  .pkp_head_wrapper .pkp_search .search_prompt { color: #fff; }
  .pkp_block { padding: 18px; }
}
@media (max-width: 479px) {
  .pkp_site_name .is_text { font-size: 1.1rem; }
  .obj_article_summary { padding: 15px; }
  .obj_article_summary .title { font-size: 1rem; }
  .pkp_block { padding: 16px; border-radius: 8px; }
  .pkp_footer_content { padding-top: 24px; padding-bottom: 24px; }
}
@media print {
  .pkp_structure_page,
  .pkp_structure_main { background: #fff; color: #000; }
  .pkp_structure_head,
  .pkp_structure_sidebar,
  .pkp_structure_footer_wrapper { display: none; }
  .pkp_structure_main { width: 100%; margin: 0; padding: 0; }
  .obj_article_summary { box-shadow: none; break-inside: avoid; }
}
