/* ============================================================
   JIPA – Custom Stylesheet
   Replaces Bootstrap @import (~260 KB saved per page load)
   ============================================================ */

/* ---------- Minimal Bootstrap button replacements ---------- */
.btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  text-decoration: none !important;
  transition: color 0.15s, background-color 0.15s, border-color 0.15s;
}
.btn-info {
  color: #fff;
  background-color: #1A5C38;
  border-color: #1A5C38;
}
.btn-info:hover, .btn-info:focus {
  color: #fff;
  background-color: #144a2d;
  border-color: #114023;
}
.btn-outline-info {
  color: #1A5C38;
  background-color: transparent;
  border-color: #1A5C38;
}
.btn-outline-info:hover, .btn-outline-info:focus {
  color: #fff;
  background-color: #1A5C38;
  border-color: #1A5C38;
}
.btn-lg {
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

/* ---------- Desktop layout (≥992px) ---------- */
@media (min-width: 992px) {
  .pkp_navigation_primary_row {
    border-top: 2px solid #1A5C38 !important;
    background: #fff !important;
    padding-left: 2.143rem !important;
    padding-right: 2.143rem !important;
  }
  /* Nav link colors on white background */
  #navigationPrimary > li > a,
  .pkp_navigation_search_wrapper a {
    color: rgba(0,0,0,0.84) !important;
  }
  #navigationPrimary > li > a:hover,
  #navigationPrimary > li > a:focus {
    color: #1A5C38 !important;
  }
  body {
    height: 100% !important;
    background-image: url(https://i.imgur.com/t3tWlHU.jpg) !important;
  }
  .pkp_site_name {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -6px !important;
    margin-bottom: -18px !important;
  }
  .pkp_site_name > a {
    padding-top: 0;
    padding-bottom: 0;
  }
  .pkp_site_name .is_img img {
    width: 1254px !important;
    max-height: 350px !important;
  }
  .pkp_site_name_wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .pkp_navigation_user_wrapper {
    top: 0;
    right: 0;
    padding-right: 30px;
  }
  .pkp_navigation_user_wrapper .pkp_navigation_user {
    margin-right: 0;
    padding-right: 0;
    width: auto;
    margin-top: 30px;
  }
  .pkp_navigation_user_wrapper .pkp_nav_list a {
    color: #fff;
  }
  .pkp_structure_page {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
  }
}

/* ---------- Wide desktop (≥1200px) ---------- */
@media (min-width: 1200px) {
  .pkp_structure_page {
    margin-top: 0 !important;
    position: relative;
    top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ---------- Sidebar blocks ---------- */
.pkp_block {
  overflow: hidden;
  border-radius: 2px !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px #dfdfdf;
  padding: 0 !important;
  margin: 10px 10px 22px !important;
}
.pkp_block .content {
  padding: 10px 20px;
}
.pkp_block a {
  text-decoration: none !important;
}
.pkp_block .title {
  text-align: center;
  border-radius: 0 !important;
  padding: 10px 9px !important;
  background: #1A5C38 !important;
  display: block !important;
  margin-bottom: 0.714rem !important;
  margin-top: 0 !important;
  font-family: Lato, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.43rem !important;
  color: #fff !important;
}
.pkp_block table {
  width: 100% !important;
}

/* ---------- Mobile header fix (≤991px) ---------- */
/*
 * Root cause: <a> inside .pkp_site_name is inline by default.
 * width:100% on <img> resolves relative to the <a> (= 1254px image width),
 * not the viewport. Fix: make every ancestor block + overflow:hidden,
 * then constrain the <img> with object-fit:cover.
 */
@media screen and (max-width: 991px) {
  /* Blokir horizontal scroll di level body — tidak memotong tinggi gambar */
  body {
    overflow-x: hidden !important;
  }
  /* overflow-x saja (bukan overflow) agar tinggi gambar tidak terpotong */
  .pkp_structure_head {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  .pkp_site_name_wrapper {
    overflow-x: hidden !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .pkp_site_name {
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Jadikan <a> block agar width:100% pada img = lebar viewport */
  .pkp_site_name a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Gambar scale proporsional penuh — lebar 100% viewport, tinggi otomatis */
  .pkp_site_name img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    object-fit: unset !important;
    margin: 0 !important;
    padding: 0 !important;
    bottom: auto !important;
  }
}
