/* =============================================================================
   JANU OJS Bootstrap 3 — CLEAN EDITION
   Logo: center | Sidebar: minimal/clean
   ============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Open+Sans:wght@400;600&display=swap');

/* ─────────────────────────────────────────────
   0. RESET & BODY
───────────────────────────────────────────── */
html, body {
  background: #b0bec5 !important;
  font-family: 'Open Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_structure_page {
  max-width: 1200px !important;
  margin: 0 auto !important;
  background: #fff !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.22) !important;
}

/* ─────────────────────────────────────────────
   1. HEADER WRAPPER
───────────────────────────────────────────── */
header#headerNavigationContainer {
  background: #005f64!important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

/* ─────────────────────────────────────────────
   2. USER NAV (baris paling atas)
───────────────────────────────────────────── */
header#headerNavigationContainer > .container-fluid:first-child {
  background: #005f64 !important;
  padding: 3px 20px !important;
  margin: 0 !important;
}
header#headerNavigationContainer > .container-fluid:first-child .row {
  margin: 0 !important;
}
#navigationUser {
  margin: 0 !important;
  padding: 2px 0 !important;
}
#navigationUser > li > a {
  color: rgba(255,255,255,0.85) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.70rem !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  text-transform: uppercase !important;
}
#navigationUser > li > a:hover {
  color: #fff176 !important;
  background: transparent !important;
}

/* ─────────────────────────────────────────────
   3. LOGO AREA — CENTER
───────────────────────────────────────────── */
header#headerNavigationContainer > .container-fluid:nth-child(2) {
  background: #ffffff !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.navbar-header {
  background: #005f64!important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  padding: 20px 0 16px !important;
  margin: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
  text-align: center !important;
}

/* Hamburger tetap float right di mobile */
.navbar-toggle {
  float: right !important;
  margin: 10px 0 !important;
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.7) !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
}
.navbar-toggle:hover { background: rgba(255,255,255,0.15) !important; }
.navbar-toggle .icon-bar { background: #fff !important; height: 2px !important; }

/* h1 / div .site-name — bungkus logo, di-center */
h1.site-name,
div.site-name {
  display: block !important;
  float: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  overflow: visible !important;
  height: auto !important;
}

/* Link pembungkus logo */
h1.site-name a.navbar-brand-logo,
h1.site-name a.navbar-brand,
div.site-name a.navbar-brand-logo,
div.site-name a.navbar-brand {
  display: inline-block !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  height: auto !important;
  line-height: 1 !important;
  background: transparent !important;
  overflow: visible !important;
}

/* Gambar logo */
h1.site-name a img,
div.site-name a img {
  display: block !important;
  height: 130px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* Clearfix */
.navbar-header::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

/* ─────────────────────────────────────────────
   4. NAVBAR MENU
───────────────────────────────────────────── */
nav#nav-menu {
  background: #0097A7 !important;
  border-top: 2px solid rgba(255,255,255,0.18) !important;
  border-radius: 0 !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  position: static !important;
  box-shadow: none !important;
}

ul#main-navigation {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 !important;
  list-style: none !important;
}

/* Pill button */
#main-navigation > li > a {
  display: inline-block !important;
  color: #005f64 !important;
  background: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 5px 14px !important;
  border-radius: 20px !important;
  margin: 4px 3px !important;
  border: 2px solid #ffffff !important;
  transition: all 0.18s ease !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
#main-navigation > li > a:hover,
#main-navigation > li > a:focus {
  color: #ffffff !important;
  background: #00838F !important;
  border-color: #00838F !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.20) !important;
  text-decoration: none !important;
}
#main-navigation > li.active > a {
  color: #004D40 !important;
  background: #fff176 !important;
  border-color: #fff176 !important;
}

/* Badge */
#main-navigation > li > a .badge {
  background: #f57c00 !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  padding: 1px 6px !important;
  font-size: 0.67rem !important;
  margin-left: 3px !important;
  vertical-align: middle !important;
}

/* Dropdown toggle */
#main-navigation > .open > a,
#main-navigation > .open > a:hover {
  background: #00838F !important;
  color: #fff !important;
  border-color: #00838F !important;
}

/* ─────────────────────────────────────────────
   5. DROPDOWN MENU
───────────────────────────────────────────── */
#main-navigation .dropdown-menu {
  background: #005f64 !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25) !important;
  margin-top: 4px !important;
  padding: 4px 0 !important;
  min-width: 170px !important;
  z-index: 9999 !important;
}
#main-navigation .dropdown-menu > li > a {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  padding: 9px 18px !important;
  display: block !important;
  transition: background 0.15s !important;
}
#main-navigation .dropdown-menu > li > a:hover {
  background: rgba(255,255,255,0.15) !important;
  color: #fff176 !important;
}

/* ─────────────────────────────────────────────
   6. SEARCH FORM
───────────────────────────────────────────── */
.pull-md-right {
  float: right !important;
  padding: 4px 0 !important;
  display: flex !important;
  align-items: center !important;
}
form.navbar-form {
  margin: 0 !important;
  padding: 0 8px 0 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
form.navbar-form .form-group { margin: 0 !important; }
form.navbar-form input[name="query"] {
  background: rgba(255,255,255,0.18) !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  border-radius: 20px !important;
  color: #fff !important;
  font-size: 0.82rem !important;
  padding: 5px 14px !important;
  height: 32px !important;
  width: 160px !important;
  box-shadow: none !important;
  transition: all 0.18s ease !important;
}
form.navbar-form input[name="query"]::placeholder {
  color: rgba(255,255,255,0.6) !important;
}
form.navbar-form input[name="query"]:focus {
  background: rgba(255,255,255,0.28) !important;
  border-color: #fff176 !important;
  outline: none !important;
  width: 200px !important;
}
form.navbar-form button[type="submit"] {
  background: #004D40 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 20px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  padding: 0 16px !important;
  height: 32px !important;
  cursor: pointer !important;
  transition: background 0.18s !important;
}
form.navbar-form button[type="submit"]:hover {
  background: #002B22 !important;
}

/* ─────────────────────────────────────────────
   7. MOBILE
───────────────────────────────────────────── */
@media (max-width: 767px) {
  nav#nav-menu.collapse:not(.in) { display: none !important; }
  nav#nav-menu.in {
    display: block !important;
    background: #007B8A !important;
    padding: 8px 12px 12px !important;
  }
  ul#main-navigation {
    display: block !important;
    justify-content: flex-start !important;
  }
  #main-navigation > li > a {
    display: inline-block !important;
    margin: 3px !important;
    font-size: 0.70rem !important;
  }
  .pull-md-right {
    float: none !important;
    width: 100% !important;
    padding: 8px 0 4px !important;
    border-top: 1px solid rgba(255,255,255,0.2) !important;
  }
  form.navbar-form { width: 100% !important; padding: 0 !important; }
  form.navbar-form input[name="query"] { width: calc(100% - 90px) !important; }
  h1.site-name a img,
  div.site-name a img { height: 75px !important; }
  .navbar-header { padding: 12px 0 !important; }
}

@media (min-width: 768px) {
  h1.site-name a img,
  div.site-name a img { height: 120px !important; }
  .navbar-header { padding: 20px 0 16px !important; }
}

@media (min-width: 992px) {
  h1.site-name a img,
  div.site-name a img { height: 130px !important; }
}

/* ─────────────────────────────────────────────
   8. SIDEBAR — MINIMAL / CLEAN
───────────────────────────────────────────── */
.pkp_block {
  background: #fff !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  border-radius: 6px !important;
  border: 1px solid #e0e7ea !important;
  overflow: hidden !important;
}

/* Judul sidebar */
.pkp_block .title {
  display: block !important;
  background: #f7f9fa !important;
  color: #004D5A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.74rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border-bottom: 2px solid #005f64!important;
}

/* List item */
.pkp_block .content ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.pkp_block .content ul li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #f0f4f5 !important;
}
.pkp_block .content ul li:last-child {
  border-bottom: none !important;
}
.pkp_block .content ul li a {
  display: block !important;
  padding: 9px 14px !important;
  background: transparent !important;
  color: #0097A7 !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  border-left: 3px solid transparent !important;
}
.pkp_block .content ul li a:hover {
  background: #f0fbfc !important;
  color: #005f64 !important;
  border-left-color: #005f64!important;
  padding-left: 18px !important;
}
.pkp_block .content ul li.current a {
  background: #e8f7f9 !important;
  color: #004D40 !important;
  border-left-color: #005f64 !important;
  font-weight: 700 !important;
}

/* ─────────────────────────────────────────────
   9. BREADCRUMB
───────────────────────────────────────────── */
.breadcrumb,
.cmp_breadcrumbs {
  background: #f0f4f5 !important;
  border: none !important;
  border-bottom: 2px solid #dde8ec !important;
  border-radius: 0 !important;
  padding: 8px 20px !important;
  margin: 0 !important;
  box-shadow: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #666 !important;
}
.breadcrumb a, .cmp_breadcrumbs a {
  color: #0097A7 !important;
  text-decoration: none !important;
}
.breadcrumb > li + li::before {
  color: #0097A7 !important;
}

/* ─────────────────────────────────────────────
   10. KONTEN UTAMA
───────────────────────────────────────────── */
.pkp_structure_content { padding-top: 0 !important; margin-top: 0 !important; }
.pkp_structure_main { padding: 24px 28px !important; }

@media (min-width: 992px) {
  .pkp_structure_main { padding: 28px 36px 60px !important; }
}
.pkp_structure_sidebar { padding: 20px 16px !important; }

.pkp_structure_main p,
.pkp_structure_main li,
.page p {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.80rem !important;
  text-align: justify !important;
  color: #2d2d2d !important;
}
.pkp_structure_main h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  color: #004D5A !important;
  line-height: 1.35 !important;
}
.pkp_structure_main h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #005f64 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.pkp_structure_main h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.97rem !important;
  font-weight: 700 !important;
  color: #004D5A !important;
}

/* Artikel summary */
.obj_article_summary .title a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.00rem !important;
  font-weight: 700 !important;
  color: #0097A7 !important;
  text-decoration: none !important;
  line-height: 1.45 !important;
}
.obj_article_summary .title a:hover {
  color: #005f64 !important;
  text-decoration: underline !important;
}
.obj_article_summary .meta,
.obj_article_summary .authors {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.86rem !important;
  color: #555 !important;
}
.obj_article_summary {
  padding: 16px 0 !important;
  border-bottom: 1px solid #eef2f3 !important;
}
.obj_article_summary:last-child { border-bottom: none !important; }

/* Galley / button */
.obj_galley_link, .cmp_button_wire {
  background: #0097A7 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  text-transform: uppercase !important;
  padding: 6px 18px !important;
  transition: all 0.18s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 8px !important;
}
.obj_galley_link:hover {
  background: #005f64 !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────────
   11. FOOTER
───────────────────────────────────────────── */
.pkp_structure_footer,
.pkp_structure_footer_wrapper {
  background: #005f64 !important;
  color: rgba(255,255,255,0.85) !important;
  padding: 20px 24px !important;
  text-align: center !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.82rem !important;
  border-top: 3px solid #f0a500 !important;
}
.pkp_structure_footer a { color: #80DEEA !important; }
.pkp_structure_footer a:hover { color: #fff176 !important; }
