/* ==========================================================================
   INTERNATIONAL JOURNAL OF COMMUNITY HEALTH SCIENCES (IJCHS)
   Modern Professional Theme for OJS 3 (Clean & Optimized Version)
   ========================================================================== */

:root {
  --primary: #0F4C81;
  --secondary: #2FA84F;
  --lightblue: #EAF5FB;
  --lightgreen: #F4FBF6;
  --text: #2D3748;
  --border: #E2E8F0;
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* =======================================
   BODY & GENERAL
   ======================================= */
body {
  background: #f8fafc;
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 15px;
  color: var(--text);
  line-height: 1.7;
}

a {
  color: var(--primary);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--secondary);
  text-decoration: none;
}

/* =======================================
   HEADER: FULL WHITE LOGO AREA (FIXED BOX CUT)
   ======================================= */
/* Mengatur kontainer head utama memanjang PUTIH PENUH dari ujung kiri ke kanan */
.pkp_structure_head {
  background: #ffffff !important; /* Diubah ke putih agar logo menyatu sempurna tanpa kotak terpotong */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* Efek bayangan halus di bawah area putih */
  position: relative;
  transition: all 0.3s ease;
}

/* Memastikan elemen teks akun/user bar di pojok kanan atas berwarna gelap agar terbaca jelas */
.pkp_structure_head a {
  color: var(--primary) !important; /* Diubah ke biru utama agar terlihat di latar putih */
}

.pkp_structure_head a:hover {
  color: var(--secondary) !important;
}

/* Memastikan pembungkus logo di tengah tetap proporsional */
.pkp_site_name_wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex !important;
  align-items: center;
  background: #ffffff;
}

.pkp_site_name {
  display: block !important;
  padding: 12px 0; /* Mengurangi sedikit padding vertikal agar lebih ringkas */
}

/* Modifikasi gambar logo jurnal agar besar, jelas, dan tajam */
.pkp_site_name img {
  max-height: 110px; /* Diturunkan sedikit ke 110px agar pas secara vertikal di ruang putih */
  width: auto;
  display: block;
  object-fit: contain;
  background: #ffffff;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.pkp_site_name img:hover {
  transform: scale(1.02);
}

/* =======================================
   NAVIGATION & SEARCH (FIXED SEARCH BAR)
   ======================================= */
.pkp_navigation_primary_wrapper {
  background: var(--primary) !important; /* Biru Solid */
  border-bottom: 5px solid var(--secondary); /* Garis aksen hijau */
  position: relative; /* Menjadi jangkar posisi untuk kotak search */
  padding: 0 20px;
  min-height: 50px; /* Menjaga tinggi bar navigasi tetap konsisten */
}

/* Memastikan menu navigasi berjejer rapi di kiri */
.pkp_navigation_primary {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  float: left;
}

.pkp_navigation_primary > li > a {
  color: #fff !important;
  font-weight: 600;
  padding: 15px 20px;
  display: inline-block;
  transition: background 0.3s ease, border-radius 0.3s ease;
}

.pkp_navigation_primary > li > a:hover {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}

/* KOTAK PENCARIAN (Solid, Statis, dan Selalu Muncul Permanen) */
/* KOTAK PENCARIAN (Solid, Statis, dan Selalu Muncul Permanen) */
.pkp_search {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%); /* Menengahkan search bar secara vertikal */
  margin: 0;
  padding: 0;
  z-index: 999; /* Memastikan berada di lapisan paling atas */
  display: block !important; /* Memaksa agar selalu tampil */
}

.pkp_search input {
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  background: #0B3A63 !important; /* Warna biru gelap solid yang kontras */
  color: #ffffff !important; /* Teks ketikan warna putih bersih */
  padding: 6px 18px;
  font-size: 13px;
  width: 200px; /* Ukuran lebar dikunci tetap (tidak melebar/mengecil) */
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); /* Efek timbul solid ke dalam */
  transition: none !important; /* Menghapus semua efek animasi transisi */
}

/* MEMAKSA TULISAN "SEARCH" (PLACEHOLDER) AGAR SELALU MUNCUL PUTIH 
   DI SEMUA JENIS BROWSER (CHROME, SAFARI, FIREFOX, EDGE)
*/
.pkp_search input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important;
  display: block !important;
}

.pkp_search input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important;
  display: block !important;
}

.pkp_search input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important;
  display: block !important;
}

.pkp_search input::placeholder {
  color: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important;
  display: block !important;
}

/* Memastikan tampilan saat diklik (Focus) tetap sama persis dengan tampilan awal */
.pkp_search input:focus {
  background: #0B3A63 !important; /* Warna tetap sama */
  color: #ffffff !important; /* Teks tetap putih */
  outline: none !important;
  border-color: rgba(255, 255, 255, 0.4) !important; /* Border tidak berubah warna */
  width: 200px !important; /* Lebar dikunci tetap 200px */
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important; /* Efek shadow konstan */
}

/* Memaksa placeholder tetap putih saat kotak di-klik (focus) */
.pkp_search input:focus::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Menyelaraskan icon tombol pencarian bawaan OJS agar putih bersih */
.pkp_search button {
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 0 5px !important;
}

/* =======================================
   RESPONSIVE (MOBILE OPTIMIZATION)
   ======================================= */
@media (max-width: 768px) {
  .pkp_navigation_primary_wrapper {
    position: relative;
    padding-bottom: 50px; /* Ruang tambahan di HP */
  }
  
  .pkp_navigation_primary {
    float: none;
    width: 100%;
    justify-content: center;
  }
  
  .pkp_search {
    position: absolute;
    left: 20px;
    right: 20px;
    top: auto;
    bottom: 10px;
    transform: none;
  }
  
  .pkp_search input, 
  .pkp_search input:focus {
    width: 100% !important;
    text-align: center;
  }
}

/* =======================================
   MAIN CONTENT STRUCTURE
   ======================================= */
.pkp_structure_content {
  padding-top: 35px;
  padding-bottom: 40px;
}

/* Content Layout Containers */
.obj_issue_summary,
.obj_article_summary,
.page,
.current_issue {
  background: #fff;
  padding: 25px;
  border-radius: 12px;
  box-shadow: var(--shadow);
  margin-bottom: 30px;
}

/* =======================================
   ARTICLE & LISTINGS
   ======================================= */
.obj_article_summary .title a {
  color: var(--primary);
  font-size: 20px;
  font-weight: 700;
  transition: color 0.3s ease;
}

.obj_article_summary .title a:hover {
  color: var(--secondary);
}

.obj_article_summary .authors {
  color: #666;
  font-size: 14px;
}

.obj_article_summary .summary {
  margin-top: 12px;
  font-size: 15px;
}

.read_more {
  color: var(--secondary);
  font-weight: bold;
}

/* =======================================
   BUTTONS
   ======================================= */
.cmp_button,
button,
input[type="submit"] {
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  border: none;
  border-radius: 30px;
  color: white;
  padding: 12px 24px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cmp_button:hover,
button:hover,
input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(47, 168, 79, 0.2);
}

/* =======================================
   SIDEBAR BLOCKS (Sistem Utama OJS)
   ======================================= */
.pkp_block {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 25px;
  box-shadow: var(--shadow);
  border-top: 5px solid var(--secondary);
}

.pkp_block .title {
  font-size: 18px;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 15px;
  border-bottom: 2px solid var(--lightblue);
  padding-bottom: 10px;
}

.pkp_block ul {
  padding-left: 18px;
}

.pkp_block li {
  margin-bottom: 8px;
}


/* =======================================
   SIDEBAR: CUSTOM EDITORIAL POLICIES
   ======================================= */
/* 
   Bagian ini di-reset agar transparan dan tidak membuat 
   kotak ganda (double-border & double-shadow) di belakangnya.
*/
.editorial-policies-block {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  border-top: none !important; /* Menghilangkan garis hijau ganda */
}

/* Judul Blok Menu (Berbentuk Tombol Biru Solid) */
.editorial-policies-block .sidebar-title {
  background: var(--primary); /* Menggunakan Biru IJCHS */
  color: #ffffff !important;
  text-align: center;
  font-weight: 700;
  font-size: 14.5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px;
  border-radius: 6px;
  margin-top: 0;
  margin-bottom: 15px;
  box-shadow: 0 4px 10px rgba(15, 76, 129, 0.15);
}

/* List Menu */
.editorial-policies-block .sidebar-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.editorial-policies-block .sidebar-menu li {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--lightblue); /* Garis pembatas biru sangat muda */
}

.editorial-policies-block .sidebar-menu li:last-child {
  border-bottom: none; /* Menghilangkan garis pembatas di menu terakhir */
}

/* Link Menu di dalam List */
.editorial-policies-block .sidebar-menu li a {
  display: block;
  padding: 11px 8px;
  color: var(--text) !important; /* Warna teks gelap bawaan tema */
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none !important;
  text-align: center; /* Posisi teks di tengah */
  transition: all 0.25s ease-in-out;
}

/* Efek Interaktif Ketika Mouse Mengarah ke Menu (Hover) */
.editorial-policies-block .sidebar-menu li a:hover {
  color: var(--secondary) !important; /* Berubah menjadi hijau IJCHS */
  background-color: var(--lightgreen); /* Background highlight hijau super muda */
  font-weight: 600;
}
/* =======================================
   COMPONENTS & MISC
   ======================================= */
.current_issue .issue_toc {
  padding-top: 20px;
}

.current_issue .cover img {
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.obj_announcement_summary {
  background: #F8FCFF;
  border-left: 5px solid var(--primary);
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.badge {
  background: var(--secondary);
  color: white;
  padding: 4px 10px;
  border-radius: 20px;
}

/* =======================================
   FORMS & INPUTS
   ======================================= */
input,
select,
textarea {
  border-radius: 8px;
  border: 1px solid #ccc;
  padding: 10px;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--secondary);
  box-shadow: 0 0 0 3px rgba(47, 168, 79, 0.15);
}

/* =======================================
   TABLES
   ======================================= */
table {
  border-collapse: collapse;
  width: 100%;
}

table th {
  background: var(--primary);
  color: white;
  padding: 12px;
  border: 1px solid #eee;
}

table td {
  padding: 12px;
  border: 1px solid #eee;
}

/* =======================================
   FOOTER: CLEAN 3-COLUMN LAYOUT
   ======================================= */
.pkp_structure_footer_wrapper {
  background: linear-gradient(135deg, #0F4C81 0%, #175e96 60%, #2FA84F 100%) !important;
  padding: 50px 0 25px 0 !important;
  margin-top: 60px;
  color: #ffffff;
}

.pkp_structure_footer_wrapper a {
  color: #ffffff;
  text-decoration: underline;
}

.pkp_structure_footer_wrapper a:hover {
  color: var(--lightblue);
}

/* Sembunyikan Logo PKP / OJS Bawaan */
.pkp_brand_footer,
.pkp_structure_footer .pkp_brand,
.pkp_footer .pkp_brand {
  display: none !important;
}

/* Struktur Kontainer Inti Multi Kolom */
.ijchs-footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.ijchs-footer-row {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 40px 0;
}

.footer-item {
  display: table-cell;
  vertical-align: top;
  color: #e2e8f0;
  font-size: 14px;
  line-height: 1.6;
}

/* Pembagian Lebar Kolom Proposional */
.footer-item.col-profile { width: 45%; }
.footer-item.col-links   { width: 25%; }
.footer-item.col-contact { width: 30%; }

.footer-item h3 {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 8px;
}

.footer-item h4 {
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 15px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 8px;
}

.footer-item p {
  margin-bottom: 12px;
  text-align: justify;
}

/* Metadata Box Penerbit */
.footer-meta {
  margin-top: 15px;
  background: rgba(255, 255, 255, 0.06);
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 3px solid var(--secondary);
}

.footer-meta p {
  margin: 4px 0;
  font-size: 13px;
}

/* Navigasi Links di Footer */
.footer-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-item li {
  margin-bottom: 8px;
}

.footer-item li a {
  color: #e2e8f0 !important;
  text-decoration: none;
  transition: all 0.2s ease;
}

.footer-item li a:hover {
  color: #ffffff !important;
  padding-left: 4px;
}

/* Detail Kontak Khusus */
.footer-item.col-contact a {
  color: #e2e8f0 !important;
  text-decoration: none;
}

.footer-item.col-contact a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

.contact-label {
  font-weight: bold;
  color: #ffffff;
  display: inline-block;
  width: 65px;
}

.oa-badge {
  display: inline-block;
  background: #2FA84F;
  color: white;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 4px;
  margin-top: 8px;
}

/* Hak Cipta Bar Bawah */
.footer-copy {
  max-width: 1200px;
  margin: 40px auto 0 auto;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
  font-size: 12px;
  color: #94a3b8;
}

/* =======================================
   RESPONSIVE (LAPTOP & TABLET VIEW - 992px)
   ======================================= */
@media (max-width: 992px) {
  .ijchs-footer-row {
    display: block;
  }
  
  .footer-item {
    display: block;
    width: 100% !important;
    margin-bottom: 35px;
  }
  
  .footer-item h3, 
  .footer-item h4 {
    margin-bottom: 10px;
  }
  
  .footer-copy {
    margin-top: 20px;
  }
}

/* =======================================
   RESPONSIVE (MOBILE VIEW - 768px)
   ======================================= */
@media (max-width: 768px) {
  .pkp_navigation_primary_wrapper {
    flex-direction: column;
    padding: 10px;
  }
  
  .pkp_navigation_primary > li > a {
    padding: 12px;
    width: 100%;
    text-align: center;
  }
  
  .pkp_search {
    width: 100%;
    margin-top: 10px;
  }
  
  .pkp_search input {
    width: 100%;
    text-align: center;
  }

  .obj_article_summary .title a {
    font-size: 18px;
  }
  
  .pkp_structure_footer_wrapper {
    padding: 25px 15px !important;
  }
  
  .footer-item {
    margin-bottom: 30px;
  }
}