/* ==========================================================================
   1. WEB FONTS (GOOGLE FONTS)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,400&display=swap');

/* ==========================================================================
   2. VARIABEL WARNA & TATA LETAK
   ========================================================================== */
:root {
  --ojs-primary: #1A365D;       /* Deep Editorial Navy */
  --ojs-primary-hover: #0F233D;
  --ojs-accent: #C59B27;        /* Warm Gold/Amber */
  --ojs-blue-brand: #0284c7;    /* Modern Sky Blue untuk Menu Sidebar */
  --ojs-text-main: #2D3748;     /* Charcoal untuk teks */
  --ojs-text-muted: #718096;
  --ojs-bg-card: #FFFFFF;
  --ojs-bg-subtle: #F8FAFC;
  --ojs-border: #E2E8F0;
  --ojs-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
  --ojs-radius: 6px;
}

/* ==========================================================================
   3. GLOBAL TYPOGRAPHY & LINKS
   ========================================================================== */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  color: var(--ojs-text-main) !important;
  background-color: #FAFAFA !important;
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
.page_title,
.article_summary .title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--ojs-primary) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}

a {
  color: var(--ojs-primary);
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

a:hover, a:focus {
  color: var(--ojs-accent);
  text-decoration: underline;
}

/* ==========================================================================
   4. FULL-WIDTH BANNER HEADER (1350 x 200 px)
   ========================================================================== */
.pkp_structure_head {
  padding: 0 !important;
  background: transparent !important;
  position: relative;
}

.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_site_name a {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.pkp_site_name .is_img,
.pkp_site_name img,
.pkp_head_wrapper img {
  display: block !important;
  width: 100% !important;
  max-width: 1350px !important;
  height: auto !important;
  max-height: 200px !important;
  object-fit: cover !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
}

.pkp_navigation_user_wrapper {
  position: absolute;
  top: 10px;
  right: 20px;
  z-index: 100;
}

/* ==========================================================================
   5. NAVIGATION BAR
   ========================================================================== */
.pkp_navigation_primary_wrapper {
  background: #FFFFFF !important;
  border-bottom: 2px solid var(--ojs-border);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.pkp_navigation_primary > li > a {
  font-weight: 500 !important;
  font-size: 0.92rem !important;
  color: var(--ojs-text-main) !important;
  padding: 1rem 1.2rem !important;
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
}

.pkp_navigation_primary > li > a:hover {
  color: var(--ojs-primary) !important;
  border-bottom-color: var(--ojs-accent);
  background: transparent !important;
}

/* ==========================================================================
   6. PERATAAN TEKS HOMEPAGE & ABSTRAK (JUSTIFY)
   ========================================================================== */
.page_index_journal .journal_summary,
.page_index_journal .additional_content,
.homepage_about,
.pkp_structure_main p,
.obj_article_details .abstract,
.page_article .article_abstract,
.item.abstract,
.obj_article_summary .abstract {
  text-align: justify !important;
  text-justify: inter-word;
  line-height: 1.75;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

/* ==========================================================================
   7. DAFTAR ARTIKEL BERGAYA KARTU (ARTICLE CARDS)
   ========================================================================== */
.obj_article_summary {
  padding: 1rem 1.25rem !important;   /* Dikurangi dari 1.5rem agar kartu lebih compact */
  margin-bottom: 0.85rem !important; /* Dikurangi dari 1.5rem agar jarak antar-judul lebih rapat */
}

/* Merapatkan jarak antara judul artikel dengan nama penulis di dalam kartu */
.obj_article_summary .title {
  margin-bottom: 0.35rem !important; 
}

/* Merapatkan jarak antara nama penulis dengan tombol PDF */
.obj_article_summary .authors {
  margin-bottom: 0.6rem !important;
}

.obj_article_summary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.obj_article_summary .title {
  font-size: 1.25rem !important;
  line-height: 1.4;
  margin-bottom: 0.6rem;
}

.obj_article_summary .authors {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ojs-text-muted);
  margin-bottom: 1rem;
}

/* ==========================================================================
   8. TOMBOL DOWNLOAD PDF (MODERN PILL BUTTON)
   ========================================================================== */
.obj_galley_link,
.article_summary .galleys_links a,
a.obj_galley_link.pdf {
  display: inline-flex !important;
  align-items: center;
  background-color: var(--ojs-primary) !important;
  color: #FFFFFF !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.45rem 1.1rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--ojs-primary) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-in-out;
  text-decoration: none !important;
}

.obj_galley_link:hover,
a.obj_galley_link.pdf:hover {
  background-color: var(--ojs-accent) !important;
  border-color: var(--ojs-accent) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}

/* ==========================================================================
   9. SIDEBAR BASE & BLOK UMUM
   ========================================================================== */
.pkp_structure_sidebar {
  padding-left: 20px !important;
}

.pkp_structure_sidebar .pkp_block {
  background: var(--ojs-bg-card) !important;
  border: 1px solid var(--ojs-border) !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-bottom: 20px !important;
  box-shadow: var(--ojs-shadow) !important;
}

.pkp_structure_sidebar .title,
.pkp_structure_sidebar h2,
.pkp_structure_sidebar h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ojs-primary) !important;
  border-bottom: 2px solid var(--ojs-accent) !important;
  padding-bottom: 6px !important;
  margin-bottom: 12px !important;
}

/* ==========================================================================
   10. KOMPONEN KUSTOM SIDEBAR (MENU, MITRA, INDEXING)
   ========================================================================== */

/* Menu Navigasi Berikon (SVG Menu) */
.custom-menu-box {
  background: #ffffff;
  border: 1px solid var(--ojs-border);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--ojs-shadow);
  margin-bottom: 20px;
}

.custom-menu-item {
  display: flex !important;
  align-items: center !important;
  padding: 11px 16px !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f1f5f9;
  transition: all 0.2s ease;
}

.custom-menu-item:last-child {
  border-bottom: none;
}

.custom-menu-item .menu-icon {
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ojs-blue-brand);
  flex-shrink: 0;
}

.custom-menu-item .menu-divider {
  width: 1px;
  height: 16px;
  background-color: var(--ojs-border);
  margin: 0 14px 0 10px;
  flex-shrink: 0;
}

.custom-menu-item .menu-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--ojs-blue-brand);
}

.custom-menu-item:hover {
  background-color: var(--ojs-bg-subtle) !important;
}

.custom-menu-item:hover .menu-label {
  color: var(--ojs-primary-hover);
}

/* Kotak Grid Mitra Kampus & Indexing */
.partner-box,
.index-box {
  background: #ffffff;
  border: 1px solid var(--ojs-border);
  border-radius: 8px;
  padding: 16px;
  box-shadow: var(--ojs-shadow);
  margin-bottom: 20px;
}

.partner-title,
.index-title {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ojs-primary);
  border-bottom: 2px solid var(--ojs-accent);
  padding-bottom: 6px;
  margin-bottom: 12px;
}

.partner-grid,
.index-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.partner-item,
.index-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 1px solid var(--ojs-border) !important;
  border-radius: 6px !important;
  padding: 8px !important;
  height: 60px;
  transition: all 0.2s ease-in-out;
  text-decoration: none !important;
}

.partner-item:hover,
.index-item:hover {
  border-color: var(--ojs-blue-brand) !important;
  box-shadow: 0 4px 10px rgba(2, 132, 199, 0.12) !important;
  transform: translateY(-2px);
}

.partner-item img,
.index-item img {
  max-width: 100% !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

/* ==========================================================================
   11. FOOTER
   ========================================================================== */
.pkp_structure_footer {
  background-color: var(--ojs-primary) !important;
  color: #E2E8F0 !important;
  border-top: 3px solid var(--ojs-accent);
  padding: 2.5rem 0 !important;
  margin-top: 3rem;
}

.pkp_structure_footer a {
  color: #FFFFFF !important;
  text-decoration: underline;
}

.pkp_structure_footer a:hover {
  color: var(--ojs-accent) !important;
}
/* ==========================================================================
   KUSTOMISASI FOOTER 3-KOLOM ELEGAN
   ========================================================================== */
.pkp_structure_footer {
  background-color: #0d1b2a !important; /* Latar gelap pekat */
  color: #e2e8f0 !important;
  border-top: 3px solid #C59B27 !important; /* Garis aksen emas */
  padding: 30px 20px 0 20px !important;
  margin-top: 40px !important;
}

/* Sembunyikan Logo Bawaan PKP di Footer */
.pkp_brand_footer {
  display: none !important;
}

/* Kontainer Grid Footer */
.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1.5fr 0.8fr;
  gap: 25px;
  align-items: start;
}

/* Kolom Footer */
.footer-col {
  padding: 0 10px;
}

.footer-col-border {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0 20px;
}

/* Tipografi & Warna Teks */
.footer-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #f6c000; /* Warna kuning emas */
  margin-bottom: 8px;
}

.footer-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: #f6c000;
  margin-bottom: 4px;
}

.footer-text {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  line-height: 1.6;
  color: #cbd5e1;
  margin-bottom: 10px;
}

.footer-text a {
  color: #f6c000 !important;
  text-decoration: none;
}

.footer-text a:hover {
  text-decoration: underline;
}

/* Kotak Lisensi CC BY */
.footer-cc-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 14px;
  text-align: center;
}

.footer-cc-box img {
  max-width: 90px;
  height: auto;
  margin-bottom: 8px;
}

/* Baris Copyright Paling Bawah */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 25px;
  padding: 12px 0;
  text-align: center;
  font-size: 0.78rem;
  color: #94a3b8;
}

/* Responsif untuk Layar HP/Tablet */
@media (max-width: 850px) {
  .footer-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-col-border {
    border-left: none;
    border-right: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px 0;
  }
}

/* ==========================================================================
   JUDUL KELOMPOK MENU SIDEBAR
   ========================================================================== */
.sidebar-section-title {
  background: var(--ojs-primary);
  color: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 10px 16px;
  border-left: 4px solid var(--ojs-accent);
  margin-top: 0;
}

.custom-menu-box .sidebar-section-title:not(:first-child) {
  margin-top: 8px;
  border-top: 1px solid var(--ojs-border);
}

/* Sorotan Khusus untuk Manuscript Template */
.custom-menu-item.template-highlight {
  background-color: rgba(197, 155, 39, 0.08);
}

.custom-menu-item.template-highlight .menu-label {
  font-weight: 700;
  color: var(--ojs-primary);
}

/* ==========================================================================
   TAMPILAN DAFTAR ARTIKEL 2 KOLOM (GRID LAYOUT)
   ========================================================================== */

/* Container utama daftar artikel dibuat menjadi Grid 2 Kolom */
.sections .cmp_article_list,
.page_issue .sections ul,
.obj_article_list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important; /* Membagi menjadi 2 kolom sama besar */
  gap: 15px !important;                             /* Jarak antara kartu kiri & kanan / atas & bawah */
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}

/* Mengatur agar kartu artikel mengisi penuh area kolomnya */
.obj_article_summary {
  margin-bottom: 0 !important; /* Margin luar diatur oleh 'gap' grid */
  height: 100% !important;     /* Kartu sejajar secara vertikal */
  box-sizing: border-box !important;
}

/* Responsif: Jika dibuka dari HP / Layar Kecil, otomatis kembali ke 1 Kolom */
@media (max-width: 768px) {
  .sections .cmp_article_list,
  .page_issue .sections ul,
  .obj_article_list {
    grid-template-columns: 1fr !important;
  }
}