/* ==========================================================================
   PUJIA UNISMUH MAKASSAR  -  Tampilan Seragam Jurnal (OJS Default Theme)
   Versi 9.2  -  September 2026
   Kompatibel : OJS 3.3 / 3.4 / 3.5 dengan "Default Theme"

   File ini DIPAKAI APA ADANYA oleh semua jurnal di PUJIA, tanpa diubah.
   - Seluruh portal : Administration > Site Settings > Appearance > Advanced
                      > Site stylesheet
   - Per jurnal     : Settings > Website > Appearance > Advanced
                      > Journal style sheet

   WARNA OTOMATIS (mengikuti Settings > Website > Appearance > Theme > Colour)
   1. Kode warna persis dari OJS, tanpa skrip (bagian 02c): judul blok
      sidebar, kepala tabel & sampul beranda, kotak sorotan, latar footer,
      dan garis tipis di tepi atas halaman.
   2. Bagian lain buatan OJS (menu, Make a Submission, judul semua blok
      sidebar termasuk blok baru, ARTICLES, tombol PDF, latar, garis tipis)
      juga tampil dengan kode warna persis lewat lapisan warna (bagian
      02b), tanpa skrip.
   3. Opsional, semua bagian persis 100%: salin blok skrip di bagian
      bawah footer-jurnal.html ke plugin resmi "Custom Header". Skrip mengisi
      --pj-primary dengan kode warna jurnal dan mematikan lapisan warna.
   4. Warna tetap pilihan sendiri: kelas pj-warna-... (bagian 02).
   Pengecualian: semua tulisan selalu hitam (bagian 02d), semua tautan dan
   kotak sorotan berwarna biru #0F6FAE, dan footer memakai satu warna khas
   Unismuh untuk semua jurnal (bagian 15).

   Catatan teknis: beberapa properti memakai !important karena Default
   Theme OJS memberi lebar tetap, float, dan transform yang harus
   dinetralkan agar tampilan sama di semua jurnal.

   Daftar isi:
   01. Font & ikon              10. Detail artikel + How to Cite
   02. Variabel & warna         11. Arsip terbitan
   03. Dasar & kotak halaman    12. Portal PUJIA
   04. Header & banner          13. Sidebar & menu kanan
   05. Register / Login         14. Halaman Login & Register
   06. Menu utama               15. Footer
   07. Header mobile            16. Aksesibilitas & cetak
   08. Konten, breadcrumb, beranda
   09. Current Issue & daftar artikel
   ========================================================================== */


/* 01. FONT & IKON -------------------------------------------------------- */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,600;0,700;1,400&family=Noto+Serif:wght@400;700&display=swap");

/* Ikon: Font Awesome 4.7 bawaan OJS ("FontAwesome"); cadangan dari CDN. */
@font-face {
  font-family: "PujiaIcons";
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),
       url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}


/* 02. VARIABEL & WARNA -----------------------------------------------------
   Hanya --pj-primary (dan --pj-on-primary) yang menentukan warna. Semua
   variabel lain adalah turunannya, termasuk garis tipis, latar panel,
   warna teks, bayangan, dan warna footer. */

:root {
  /* Warna utama jurnal (diisi otomatis oleh skrip warna) */
  --pj-primary: #0F4FA8;          /* bawaan: biru Unismuh              */
  --pj-on-primary: #FFFFFF;       /* teks di atas warna utama           */

  /* Nilai cadangan untuk peramban lama. Di peramban modern semuanya
     dihitung ulang dari --pj-primary (blok @supports di bawah). */
  --pj-primary-dark: #0D3B8C;
  --pj-primary-deep: #0A2A66;
  --pj-primary-light: #3369B5;
  --pj-primary-soft: #EEF4FC;
  --pj-primary-line: #C5D6EE;
  --pj-tint: #8FB0DD;
  --pj-ink: #000000;
  --pj-title: #000000;
  --pj-nav-text: #000000;
  --pj-icon-color: #2B4A73;
  --pj-muted: #000000;
  --pj-label: #000000;
  --pj-meta: #000000;
  --pj-faint: #000000;
  --pj-surface: #FAFAFA;
  --pj-cell: #F2F2F2;
  --pj-panel: #F3F5F8;
  --pj-chip: #F5F7F9;
  --pj-subtle: #F7F8FA;
  --pj-line: #DDE3EA;
  --pj-line-soft: #E1E5EA;
  --pj-line-strong: #CFD8E3;
  --pj-frame: #D6DEE8;
  --pj-page: #E9EFF7;
  --pj-content-bg: #F3F6FA;
  --pj-nav-bg: #F1F4F8;
  --pj-pattern: rgba(15, 79, 168, .045);
  --pj-glow: rgba(29, 111, 209, .55);
  --pj-shadow-color: rgba(10, 42, 102, .10);
  --pj-shadow-strong: rgba(10, 42, 102, .22);
  --pj-footer-text: #D9E5F5;
  --pj-footer-muted: #BFD0E8;
  --pj-footer-bar: rgba(6, 24, 64, .45);
  --pj-white: #FFFFFF;
  --pj-danger: #C0392B;

  /* Biru tautan & sorotan (tetap, sama untuk semua jurnal) */
  --pj-biru: #0F6FAE;
  --pj-biru-gelap: #0B5A8E;
  --pj-biru-latar: #F0F6FB;

  /* Tipografi */
  --pj-font: "Noto Sans", "Segoe UI", Roboto, Arial, sans-serif;
  --pj-serif: "Noto Serif", Georgia, "Times New Roman", serif;
  --pj-icons: "FontAwesome", "PujiaIcons";

  /* Ukuran */
  --pj-container: 1320px;         /* lebar kotak halaman              */
  --pj-banner-ratio: 1320 / 160;  /* banner 1320 x 160 px             */
  --pj-sidebar: 300px;
  --pj-radius: 6px;
  --pj-footer-pad: 40px;
}

/* Garis aksen dan garis di bawah bar berwarna selalu mengikuti warna jurnal */
:root,
.pkp_structure_page {
  --pj-accent: var(--pj-primary);          /* garis/ikon di atas latar terang */
  --pj-rule: var(--pj-primary-deep);       /* garis di bawah bar berwarna     */
  --pj-shadow: 0 1px 8px var(--pj-shadow-color);
}

@supports (color: color-mix(in srgb, red 50%, blue)) {
  :root,
  .pkp_structure_page {
    /* Turunan warna utama */
    --pj-primary-dark: color-mix(in srgb, var(--pj-primary) 80%, #000);
    --pj-primary-deep: color-mix(in srgb, var(--pj-primary) 55%, #000);
    --pj-primary-light: color-mix(in srgb, var(--pj-primary) 85%, #fff);
    --pj-primary-soft: color-mix(in srgb, var(--pj-primary) 8%, #fff);
    --pj-primary-line: color-mix(in srgb, var(--pj-primary) 25%, #fff);
    --pj-tint: color-mix(in srgb, var(--pj-primary) 45%, #fff);

    /* Teks (netral dengan sentuhan warna jurnal) */
    --pj-ink: #000000;
    --pj-title: #000000;
    --pj-nav-text: #000000;
    --pj-icon-color: color-mix(in srgb, var(--pj-primary) 55%, #22364F);
    --pj-muted: #000000;
    --pj-label: #000000;
    --pj-meta: #000000;
    --pj-faint: #000000;

    /* Latar panel */
    --pj-surface: color-mix(in srgb, var(--pj-primary) 2%, #FAFAFA);
    --pj-cell: color-mix(in srgb, var(--pj-primary) 5%, #F2F2F2);
    --pj-panel: color-mix(in srgb, var(--pj-primary) 5%, #F4F5F7);
    --pj-chip: color-mix(in srgb, var(--pj-primary) 4%, #F6F7F8);
    --pj-subtle: color-mix(in srgb, var(--pj-primary) 4%, #F8F9FA);
    --pj-page: color-mix(in srgb, var(--pj-primary) 7%, #F4F6F9);
    --pj-content-bg: color-mix(in srgb, var(--pj-primary) 3%, #F4F6F9);
    --pj-nav-bg: color-mix(in srgb, var(--pj-primary) 5%, #F3F4F6);

    /* Garis tipis & bingkai */
    --pj-line: color-mix(in srgb, var(--pj-primary) 13%, #E2E5E9);
    --pj-line-soft: color-mix(in srgb, var(--pj-primary) 10%, #E5E7EB);
    --pj-line-strong: color-mix(in srgb, var(--pj-primary) 20%, #D3D8DE);
    --pj-frame: color-mix(in srgb, var(--pj-primary) 17%, #DDE1E6);

    /* Motif, cahaya, bayangan */
    --pj-pattern: color-mix(in srgb, var(--pj-primary) 5%, transparent);
    --pj-glow: color-mix(in srgb, var(--pj-primary-light) 60%, transparent);
    --pj-shadow-color: color-mix(in srgb, var(--pj-primary-deep) 12%, transparent);
    --pj-shadow-strong: color-mix(in srgb, var(--pj-primary-deep) 24%, transparent);

    /* Footer */
    --pj-footer-text: color-mix(in srgb, var(--pj-primary) 12%, #fff);
    --pj-footer-muted: color-mix(in srgb, var(--pj-primary) 25%, #fff);
    --pj-footer-bar: color-mix(in srgb, var(--pj-primary-deep) 70%, transparent);
  }
}

/* Pilihan warna tanpa skrip: tambahkan salah satu kelas ini pada
   <div class="pj-footer ..."> (footer) atau <div class="pj-menu ..."> (sidebar),
   mis. class="pj-footer pj-warna-hijau". */
.pkp_structure_page:has(.pj-warna-biru)      { --pj-primary: #0F4FA8; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-biru-muda) { --pj-primary: #1D6FB8; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-hijau)     { --pj-primary: #15803D; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-tosca)     { --pj-primary: #0F766E; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-merah)     { --pj-primary: #B91C1C; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-marun)     { --pj-primary: #7F1D1D; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-ungu)      { --pj-primary: #6D28D9; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-oranye)    { --pj-primary: #C2410C; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-cokelat)   { --pj-primary: #7C4A1E; --pj-on-primary: #FFFFFF; }
.pkp_structure_page:has(.pj-warna-abu)       { --pj-primary: #334155; --pj-on-primary: #FFFFFF; }


/* 02b. WARNA PERSIS OTOMATIS TANPA SKRIP --------------------------------
   OJS memberi kode warna "Colour" (Appearance > Theme > Colour) pada menu
   navigasi (.pkp_site_nav_menu) di semua jurnal, termasuk jurnal yang
   memakai opsi "Use the homepage image as header background". Lapisan tak
   kasatmata di bawah ini mewarisi kode warna itu dan memakai mode campur
   "overlay", yang secara matematis mengubah:
     abu-abu #808080  -> PERSIS warna jurnal
     abu-abu gelap    -> warna jurnal dicampur hitam (mis. #666666 = 80%)
     abu-abu terang   -> warna jurnal dicampur putih (mis. #F5F5F5 = tint 8%)
     putih            -> tetap putih
   Karena itu, selama lapisan aktif, seluruh tampilan digambar dengan kode
   abu-abu (variabel di bawah). Hasilnya: Make a Submission, judul semua
   blok sidebar (termasuk blok baru), ARTICLES, tombol PDF, latar, garis
   tipis, dan footer tampil dengan kode warna jurnal yang persis, di jurnal
   mana pun, tanpa skrip dan tanpa mengubah CSS.
   Gambar, sampul, logo, dan video berada di atas lapisan (tidak berubah).
   Bila skrip PUJIA berjalan atau kelas pj-warna-... dipakai, lapisan ini
   dimatikan dan warna diambil langsung dari variabel --pj-primary. */

@media screen {
  /* Sumber warna: menu navigasi. OJS selalu memberi elemen ini kode warna
     Colour, juga pada jurnal yang memakai opsi "homepage image as header"
     (opsi itu menghapus warna dari header, tetapi tidak dari menu). Lapisan
     dibuat fixed selebar layar sehingga tidak bergantung struktur halaman. */
  header.pkp_structure_head .pkp_site_nav_menu::after {
    content: "" !important;
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    visibility: visible !important;
    background-color: inherit !important;
    background-image: none !important;
    mix-blend-mode: overlay;
    pointer-events: none;
  }

  html[data-pj-warna] header.pkp_structure_head .pkp_site_nav_menu::after,
  .pkp_structure_page:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu) header.pkp_structure_head .pkp_site_nav_menu::after {
    display: none !important;
  }

  /* Elemen yang bisa membatasi lapisan fixed dinetralkan */
  .pkp_structure_page header.pkp_structure_head,
  header.pkp_structure_head .pkp_head_wrapper,
  header.pkp_structure_head .pkp_site_nav_menu {
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    will-change: auto !important;
    backdrop-filter: none !important;
  }

  /* Media tetap dengan warna aslinya (berada di atas lapisan warna) */
  .pkp_structure_page img,
  .pkp_structure_page video,
  .pkp_structure_page iframe,
  .pkp_structure_page canvas,
  .pkp_structure_page object,
  .pkp_structure_page embed {
    position: relative;
    z-index: 2;
  }

  /* Latar di luar kotak halaman dibuat netral selama lapisan aktif */
  html:not([data-pj-warna]):not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) {
    --pj-page: #EEF0F3;
    --pj-pattern: rgba(30, 40, 50, .04);
  }

  /* Kode abu-abu yang diubah lapisan menjadi warna jurnal */
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) {
    --pj-primary: #808080;        /* = warna jurnal persis            */
    --pj-primary-dark: #666666;   /* 80% warna jurnal                  */
    --pj-primary-deep: #464646;   /* 55% warna jurnal                  */
    --pj-primary-light: #939393;  /* 85% warna jurnal + 15% putih      */
    --pj-primary-soft: #F5F5F5;   /* tint 8%                           */
    --pj-primary-line: #DFDFDF;   /* tint 25%                          */
    --pj-tint: #C6C6C6;           /* tint 45%                          */
    --pj-on-primary: #FFFFFF;
    --pj-ink: #000000;
    --pj-title: #000000;
    --pj-nav-text: #000000;
    --pj-icon-color: #404040;
    --pj-muted: #000000;
    --pj-label: #000000;
    --pj-meta: #000000;
    --pj-faint: #000000;
    --pj-surface: #FBFBFB;
    --pj-cell: #F2F2F2;
    --pj-panel: #F4F4F4;
    --pj-chip: #F6F6F6;
    --pj-subtle: #F8F8F8;
    --pj-line: #E4E4E4;
    --pj-line-soft: #EAEAEA;
    --pj-line-strong: #DADADA;
    --pj-frame: #E0E0E0;
    --pj-content-bg: #F6F6F6;
    --pj-nav-bg: #F2F2F2;
    --pj-glow: rgba(200, 200, 200, .5);
    --pj-shadow-color: rgba(38, 38, 38, .12);
    --pj-shadow-strong: rgba(38, 38, 38, .24);
    --pj-footer-text: #F5F5F5;
    --pj-footer-muted: #E3E3E3;
    --pj-footer-bar: rgba(0, 0, 0, .25);
  }

  /* Elemen PUJIA berkelas warna OJS ikut memakai kode abu-abu */
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pj-teks.pkp_site_name {
    color: inherit !important;
  }

  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pj-journal-info .pj-cover.pj-sumber img {
    background: transparent !important;
  }

  /* Tulisan tetap hitam murni: semua bagian yang berisi tulisan dan tidak
     memuat elemen berwarna dinaikkan ke atas lapisan warna, sehingga tepi
     huruf tidak ikut diwarnai. Elemen berwarna (bar, tombol, judul blok,
     sampul) tetap di bawah lapisan agar tampil dengan warna jurnal persis.
     Berlaku otomatis juga untuk blok atau halaman baru. */
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pkp_structure_content :has(:is(.pj-menu-title, .pkp_block > .title, .block_make_submission a, .block_custom .content > :is(h1, h2, h3, h4, h5, h6):first-child, .obj_issue_toc .sections .section > :is(h2, h3), .obj_issue_toc .galleys > :is(h2, h3), .obj_galley_link, .pj-info-table th, .cmp_breadcrumbs li.current, .citation_display > .label, .citation_formats_styles a.pj-aktif, .cmp_pagination .current, .cmp_button, .pkp_button, button.submit, .cmp_form .buttons button, .page_index_site .journals > h2, .page_index_site .journals .links .view a, .pj-cover, .current_issue .obj_issue_toc .heading > .cover)) > :not(:is(.pj-menu-title, .pkp_block > .title, .block_make_submission a, .block_custom .content > :is(h1, h2, h3, h4, h5, h6):first-child, .obj_issue_toc .sections .section > :is(h2, h3), .obj_issue_toc .galleys > :is(h2, h3), .obj_galley_link, .pj-info-table th, .cmp_breadcrumbs li.current, .citation_display > .label, .citation_formats_styles a.pj-aktif, .cmp_pagination .current, .cmp_button, .pkp_button, button.submit, .cmp_form .buttons button, .page_index_site .journals > h2, .page_index_site .journals .links .view a, .pj-cover, .current_issue .obj_issue_toc .heading > .cover)):not(:has(:is(.pj-menu-title, .pkp_block > .title, .block_make_submission a, .block_custom .content > :is(h1, h2, h3, h4, h5, h6):first-child, .obj_issue_toc .sections .section > :is(h2, h3), .obj_issue_toc .galleys > :is(h2, h3), .obj_galley_link, .pj-info-table th, .cmp_breadcrumbs li.current, .citation_display > .label, .citation_formats_styles a.pj-aktif, .cmp_pagination .current, .cmp_button, .pkp_button, button.submit, .cmp_form .buttons button, .page_index_site .journals > h2, .page_index_site .journals .links .view a, .pj-cover, .current_issue .obj_issue_toc .heading > .cover))):not(.homepage_image) {
    position: relative;
    z-index: 2;
  }

  /* Panel yang memuat tombol berwarna dibuat putih agar seragam dengan
     panel lain (putih tidak diubah lapisan warna) */
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_article_details .entry_details > *,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_article_details .citation_formats {
    background: var(--pj-white) !important;
  }

  /* Menu utama juga di atas lapisan (di atas isi halaman, agar menu turun
     tidak tertutup) */
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) header.pkp_structure_head .pkp_site_nav_menu:not(.pkp_site_nav_menu--isOpen) .pkp_navigation_primary_row {
    z-index: 3 !important;
  }

  /* Teks putih di atas bar berwarna diberi bayangan tipis agar tetap
     terbaca bila warna jurnal sangat terang */
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pj-menu-title,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pkp_structure_sidebar .pkp_block > .title,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pkp_structure_sidebar .block_make_submission a,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pkp_structure_sidebar .block_custom .content > :is(h1, h2, h3, h4, h5, h6):first-child,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_issue_toc .sections .section > h2,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_issue_toc .sections .section > h3,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_article_summary .obj_galley_link,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_article_details .entry_details .item.galleys .obj_galley_link,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pj-info-table th,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pkp_structure_main .cmp_breadcrumbs li.current,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_article_details .item.citation .citation_display > .label,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .obj_article_details .citation_formats_styles a.pj-aktif,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .cmp_pagination .current,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .page_index_site .journals > h2,
  html:not([data-pj-warna]) .pkp_structure_page:not(:has(.pj-warna-biru, .pj-warna-biru-muda, .pj-warna-hijau, .pj-warna-tosca, .pj-warna-merah, .pj-warna-marun, .pj-warna-ungu, .pj-warna-oranye, .pj-warna-cokelat, .pj-warna-abu)) .pkp_structure_main .cmp_button {
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
  }
}


/* 02c. WARNA PERSIS DARI OJS (tanpa skrip) -------------------------------
   OJS sendiri mewarnai setiap elemen berkelas "pkp_structure_head" dengan
   kode warna persis dari menu Colour, dan memberi elemen berkelas
   "pkp_site_name" warna teks kontras yang dihitung OJS (putih untuk warna
   gelap, gelap untuk warna terang). HTML sidebar, beranda, dan footer PUJIA
   memakai kedua kelas itu (ditandai pj-sumber dan pj-teks), sehingga judul
   blok, kepala tabel, sampul otomatis, kotak sorotan, dan latar footer
   tampil dengan kode warna yang PERSIS sama dengan pilihan jurnal. */

/* Garis tipis warna persis di tepi atas halaman (sekaligus penanda warna
   yang benar-benar dipakai OJS) */
header.pkp_structure_head .pkp_site_nav_menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 4px;
  visibility: visible;
  background-color: inherit;
  background-image: none;
  pointer-events: none;
}

/* Elemen PUJIA berkelas warna OJS: tidak memakai gaya header OJS apa pun
   (termasuk gambar homepage bila opsi "homepage image as header" aktif).
   Warnanya diatur variabel tema, sama seperti bagian lain. */
.pkp_structure_page .pj-sumber.pkp_structure_head {
  background-image: none !important;
  background-color: var(--pj-primary) !important;
  border-bottom-style: none;
}

/* Teks berwarna kontras dari OJS: netralkan tata letak bawaan kelas itu */
.pkp_structure_page .pj-teks.pkp_site_name {
  position: static !important;
  left: auto !important;
  right: auto !important;
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: inherit !important;
  text-overflow: clip !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-align: inherit !important;
  text-transform: inherit !important;
  background: transparent !important;
}

/* Judul blok sidebar: warna persis + garis bawah lebih gelap */
.pkp_structure_page .pkp_structure_sidebar .pj-menu .pj-menu-title.pj-sumber {
  border-bottom: 0;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .28);
}

/* Kepala tabel informasi jurnal */
.pj-info-table th.pj-sumber {
  border-bottom: 0;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .28);
}

/* Sampul otomatis: warna persis dengan bayangan gelap bertahap */
.pkp_structure_page .pj-journal-info .pj-cover.pj-sumber {
  background-image:
    radial-gradient(circle at 85% 10%, rgba(255, 255, 255, .20), transparent 45%),
    linear-gradient(160deg, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, .45)) !important;
}

.pj-journal-info .pj-cover.pj-sumber::before {
  background: rgba(255, 255, 255, .55);
}

.pj-journal-info .pj-cover.pj-sumber img {
  background-color: inherit;
  background-image: linear-gradient(160deg, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, .45));
}

/* Frasa sorotan di paragraf: biru tebal */
.pkp_structure_page .pkp_structure_main .pj-hl,
.pkp_structure_page .pkp_structure_main .pj-hl.pj-sumber {
  color: var(--pj-biru) !important;
  font-weight: 700;
  background: none !important;
}

/* 02d. SEMUA TULISAN HITAM ----------------------------------------------
   Tulisan (artikel, judul, label, menu, sidebar) selalu hitam dan tidak
   mengikuti menu Colour. Hitam murni juga tidak diubah oleh lapisan warna.
   Tulisan di atas bar/tombol berwarna tetap putih agar terbaca, dan footer
   memakai warna khas Unismuh. */

.pkp_structure_page,
.pkp_structure_page .pkp_structure_main,
.pkp_structure_page .pkp_structure_sidebar {
  color: #000;
}

/* Teks abu-abu bawaan OJS (tanggal, label, meta, deskripsi, dsb.) */
.pkp_structure_page .pkp_structure_main :is(.date, .description, .summary, .affiliation, .meta, .label, .value, .published, .pages, .series, .subtitle, .orcid, .count, .issue, .authors),
.pkp_structure_page .pkp_structure_sidebar .pkp_block .content {
  color: #000;
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .content a:not(.pj-menu a):not(.block_make_submission_link) {
  color: var(--pj-biru);
  text-decoration-color: rgba(15, 111, 174, .45);
}

/* Nama jurnal pada sampul otomatis tetap kontras dengan warna sampul */
.pkp_structure_page .pkp_structure_main .pj-journal-info .pj-cover {
  color: var(--pj-on-primary);
}


/* 03. DASAR & KOTAK HALAMAN ----------------------------------------------- */

body {
  color: var(--pj-ink);
  font-family: var(--pj-font);
  background-color: var(--pj-page);
  background-image:
    linear-gradient(45deg, var(--pj-pattern) 25%, transparent 25%, transparent 75%, var(--pj-pattern) 75%),
    linear-gradient(45deg, var(--pj-pattern) 25%, transparent 25%, transparent 75%, var(--pj-pattern) 75%);
  background-size: 24px 24px;
  background-position: 0 0, 12px 12px;
}

.pkp_structure_page {
  width: min(var(--pj-container), 100%);
  margin: 0 auto;
  background: var(--pj-white);
  box-shadow: 0 0 0 1px var(--pj-frame), 0 12px 40px var(--pj-shadow-color);
}

@media (min-width: 992px) {
  .pkp_structure_page {
    margin-top: 14px;
  }
}

.pkp_structure_page *,
.pkp_structure_page *::before,
.pkp_structure_page *::after {
  box-sizing: border-box;
}

.pkp_structure_main a {
  color: var(--pj-biru);
  text-decoration-color: rgba(15, 111, 174, .45);
  text-underline-offset: 2px;
}

.pkp_structure_main a:hover,
.pkp_structure_main a:focus {
  color: var(--pj-biru-gelap);
  text-decoration-color: currentColor;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 {
  color: var(--pj-ink);
}


/* 04. HEADER & BANNER ------------------------------------------------------
   Gambar header apa pun otomatis ditampilkan tepat 1320 x 160 px selebar
   kotak halaman. Latar header TIDAK diubah: warna "Colour" pilihan jurnal
   tetap di sana dan dibaca oleh skrip warna otomatis. */

.pkp_structure_page {
  position: relative;
}

.pkp_structure_page header.pkp_structure_head {
  position: static !important;
  border-bottom: 0 !important;
}

/* Banner: gambar selalu mengisi penuh ukuran 1320 x 160 (utuh, tidak
   terpotong). Kelas pj-banner-potong di blok sidebar mengubahnya menjadi
   mode "dipotong rapi" tanpa merenggangkan gambar. */
header.pkp_structure_head .pkp_site_name .is_img img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: var(--pj-banner-ratio);
  object-fit: fill;
}

.pkp_structure_page:has(.pj-banner-potong) header.pkp_structure_head .pkp_site_name .is_img img {
  object-fit: cover;
  object-position: center;
}

/* Jurnal tanpa gambar header: judul teks di atas gradasi warna jurnal */
header.pkp_structure_head .pkp_site_name .is_text {
  display: flex !important;
  align-items: center;
  aspect-ratio: var(--pj-banner-ratio);
  margin: 0 !important;
  padding: 0 40px !important;
  color: var(--pj-on-primary) !important;
  font-family: var(--pj-serif) !important;
  font-size: clamp(20px, 2.4vw, 32px) !important;
  font-weight: 700;
  line-height: 1.25 !important;
  text-decoration: none;
  white-space: normal;
  background-color: var(--pj-primary-deep);
  background-image:
    radial-gradient(circle at 100% 0%, var(--pj-glow), transparent 45%),
    linear-gradient(120deg, var(--pj-primary-deep), var(--pj-primary) 60%, var(--pj-primary-light));
}

@media (min-width: 992px) {

  .pkp_structure_page header.pkp_structure_head .pkp_head_wrapper {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header.pkp_structure_head .pkp_site_name_wrapper {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header.pkp_structure_head .pkp_site_name {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    font-size: 1rem !important;
  }

  header.pkp_structure_head .pkp_site_name > a,
  header.pkp_structure_head .pkp_site_name .is_img {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header.pkp_structure_head .pkp_site_nav_menu {
    display: block !important;
    padding: 0 !important;
    background-image: linear-gradient(var(--pj-white), var(--pj-white)) !important;
  }
}


/* 05. REGISTER / LOGIN ------------------------------------------------------
   Tombol putih di pojok kanan atas banner (dekat tulisan ISSN), juga saat
   pengguna sudah login. Daftar tombol itu sendiri yang diposisikan
   terhadap kotak halaman (header berada tepat di atasnya), dengan lebar
   sesuai isi dan rata kanan, sehingga tidak terpengaruh lebar tetap atau
   transform bawaan OJS versi mana pun.
   Ukuran tombol mengikuti lebar header.
   Pilihan: kelas pj-akun-bawah (di footer/sidebar) memindahkan tombol ke
   pojok kanan BAWAH banner, untuk banner yang pojok kanan atasnya terisi. */

@media (min-width: 992px) {

  /* Semua pembungkus di antara header dan daftar tombol dibuat statis */
  header.pkp_structure_head *:has(.pkp_navigation_user) {
    position: static !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    contain: none !important;
    will-change: auto !important;
  }

  header.pkp_structure_head .pkp_navigation_user_wrapper {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    overflow: visible !important;
  }

  header.pkp_structure_head .pkp_navigation_user {
    position: absolute !important;
    top: clamp(10px, 1.25vw, 16px) !important;
    right: clamp(14px, 2.75vw, 36px) !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 1000 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end !important;
    gap: clamp(8px, 1.1vw, 14px);
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    transform: none !important;
    translate: none !important;
    float: none !important;
    text-align: right;
    list-style: none;
  }

  .pkp_structure_page:has(.pj-akun-bawah) header.pkp_structure_head .pkp_navigation_user {
    top: calc(min(100vw, var(--pj-container)) * 160 / 1320 - clamp(30px, 2.9vw, 38px) - clamp(10px, 1.25vw, 16px)) !important;
  }

  header.pkp_structure_head .pkp_navigation_user > li {
    position: relative !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  header.pkp_structure_head .pkp_navigation_user > li > a {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    height: clamp(30px, 2.9vw, 38px);
    margin: 0 !important;
    padding: 0 clamp(10px, 1.15vw, 15px) !important;
    color: var(--pj-nav-text) !important;
    background: var(--pj-white) !important;
    border: 0 !important;
    border-radius: var(--pj-radius);
    box-shadow: 0 2px 10px var(--pj-shadow-strong);
    font-size: clamp(12px, 1vw, 13px);
    font-weight: 600;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color .15s ease, box-shadow .15s ease;
  }

  header.pkp_structure_head .pkp_navigation_user > li > a:hover,
  header.pkp_structure_head .pkp_navigation_user > li > a:focus {
    color: #000 !important;
    box-shadow: 0 0 0 2px var(--pj-accent), 0 2px 10px var(--pj-shadow-strong);
  }

  header.pkp_structure_head .pkp_navigation_user > li > a[href*="/user/register"]::before,
  header.pkp_structure_head .pkp_navigation_user > li:has(> ul) > a::before {
    content: "\f2bd";
    font-family: var(--pj-icons);
    font-size: 15px;
    font-weight: normal;
  }

  header.pkp_structure_head .pkp_navigation_user > li > a[href*="/login"]:not([href*="signOut"])::before {
    content: "\f090";
    font-family: var(--pj-icons);
    font-size: 14px;
    font-weight: normal;
  }

  /* Satu ikon saja bila tema/plugin sudah menyisipkan ikon sendiri */
  header.pkp_structure_head .pkp_navigation_user > li > a:has(.fa, .fas, .far, i[class*="fa-"], svg)::before {
    content: none !important;
  }

  header.pkp_structure_head .pkp_navigation_user > li > a[aria-haspopup]::after,
  header.pkp_structure_head .pkp_navigation_user > li:has(> ul) > a::after {
    content: "\f0d7" !important;
    position: static !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 0 2px !important;
    border: 0 !important;
    overflow: visible !important;
    font-family: var(--pj-icons);
    font-size: 12px;
    font-weight: normal;
  }

  /* Jumlah tugas di samping nama pengguna */
  header.pkp_structure_head .pkp_navigation_user > li > a .task_count {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 22px;
    height: 22px !important;
    margin: 0 0 0 2px !important;
    padding: 0 7px;
    border-radius: 11px !important;
    color: var(--pj-on-primary) !important;
    background: var(--pj-primary) !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1 !important;
  }

  /* Menu turun akun */
  header.pkp_structure_head .pkp_navigation_user ul {
    min-width: 210px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: var(--pj-white);
    border-top: 3px solid var(--pj-accent);
    border-radius: 0 0 var(--pj-radius) var(--pj-radius);
    box-shadow: 0 10px 24px var(--pj-shadow-strong);
  }

  header.pkp_structure_head .pkp_navigation_user > li:hover > ul,
  header.pkp_structure_head .pkp_navigation_user > li:focus-within > ul {
    display: block !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: auto !important;
    right: 0 !important;
    transform: none !important;
  }

  header.pkp_structure_head .pkp_navigation_user ul::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 0;
    right: 0;
    height: 9px;
  }

  header.pkp_structure_head .pkp_navigation_user ul li {
    display: block !important;
    margin: 0;
  }

  header.pkp_structure_head .pkp_navigation_user ul a {
    display: block !important;
    margin: 0 !important;
    padding: 8px 16px !important;
    color: var(--pj-ink) !important;
    border: 0 !important;
    font-size: 13px;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
  }

  header.pkp_structure_head .pkp_navigation_user ul a:hover,
  header.pkp_structure_head .pkp_navigation_user ul a:focus {
    color: #000 !important;
    background: var(--pj-primary-soft) !important;
  }

  header.pkp_structure_head .pkp_navigation_user ul .task_count {
    display: none !important;
  }
}


/* 06. MENU UTAMA ---------------------------------------------------------
   Bar terang, huruf kapital dengan ikon, rata kiri; pencarian di kanan. */

@media (min-width: 992px) {

  header.pkp_structure_head .pkp_navigation_primary_row {
    position: relative !important;
    z-index: auto;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: linear-gradient(180deg, var(--pj-white) 0%, var(--pj-nav-bg) 100%) !important;
    border: 0 !important;
    border-top: 1px solid var(--pj-line) !important;
    border-bottom: 1px solid var(--pj-line) !important;
    box-shadow: 0 2px 6px var(--pj-shadow-color);
  }

  header.pkp_structure_head .pkp_navigation_primary_wrapper {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 12px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 16px 0 10px !important;
    text-align: left !important;
  }

  header.pkp_structure_head .pkp_navigation_primary {
    display: flex !important;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    list-style: none;
  }

  header.pkp_structure_head .pkp_navigation_primary > li {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
  }

  header.pkp_structure_head .pkp_navigation_primary > li > a {
    display: flex !important;
    align-items: center;
    gap: 7px;
    height: 50px;
    margin: 0 !important;
    padding: 0 14px !important;
    color: var(--pj-nav-text) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1 !important;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: color .15s ease, box-shadow .15s ease, background-color .15s ease;
  }

  /* Ikon otomatis berdasarkan alamat menu */
  header.pkp_structure_head .pkp_navigation_primary > li > a::before {
    font-family: var(--pj-icons);
    font-size: 13px;
    font-weight: normal;
  }

  header.pkp_structure_head .pkp_navigation_primary > li:first-child > a:not([href*="/issue/"]):not([href*="/announcement"]):not([href*="/about"])::before { content: "\f015"; }
  header.pkp_structure_head .pkp_navigation_primary > li > a[href*="/issue/current"]::before { content: "\f02d"; }
  header.pkp_structure_head .pkp_navigation_primary > li > a[href*="/issue/archive"]::before { content: "\f187"; }
  header.pkp_structure_head .pkp_navigation_primary > li > a[href*="/announcement"]::before  { content: "\f0a1"; }
  header.pkp_structure_head .pkp_navigation_primary > li > a[href*="/about"]::before         { content: "\f05a"; }

  /* Satu ikon saja: bila tema/plugin sudah menyisipkan ikon (mis. ikon
     rumah pada HOME), ikon dari CSS ini tidak ditampilkan. */
  header.pkp_structure_head .pkp_navigation_primary > li > a:has(.fa, .fas, .far, i[class*="fa-"], svg)::before {
    content: none !important;
  }

  header.pkp_structure_head .pkp_navigation_primary > li::before,
  header.pkp_structure_head .pkp_navigation_primary > li::after {
    content: none !important;
  }

  header.pkp_structure_head .pkp_navigation_primary > li > a > .fa,
  header.pkp_structure_head .pkp_navigation_primary > li > a > i {
    margin: 0 !important;
    color: inherit !important;
    font-size: 13px;
  }

  /* Segitiga menu turun */
  header.pkp_structure_head .pkp_navigation_primary > li > a[aria-haspopup]::after,
  header.pkp_structure_head .pkp_navigation_primary > li:has(> ul) > a::after {
    content: "\f0d7" !important;
    position: static !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 0 1px !important;
    border: 0 !important;
    overflow: visible !important;
    font-family: var(--pj-icons);
    font-size: 12px;
    font-weight: normal;
  }

  header.pkp_structure_head .pkp_navigation_primary > li > a:hover,
  header.pkp_structure_head .pkp_navigation_primary > li > a:focus,
  header.pkp_structure_head .pkp_navigation_primary > li:hover > a,
  header.pkp_structure_head .pkp_navigation_primary > li:focus-within > a {
    color: #000 !important;
    background: var(--pj-primary-soft) !important;
    box-shadow: inset 0 -3px 0 var(--pj-accent);
    outline: 0;
  }

  /* Menu turun */
  header.pkp_structure_head .pkp_navigation_primary ul {
    min-width: 240px;
    width: auto !important;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: var(--pj-white);
    border-top: 3px solid var(--pj-primary);
    border-radius: 0 0 var(--pj-radius) var(--pj-radius);
    box-shadow: 0 12px 26px var(--pj-shadow-strong);
  }

  header.pkp_structure_head .pkp_navigation_primary > li:hover > ul,
  header.pkp_structure_head .pkp_navigation_primary > li:focus-within > ul {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    transform: none !important;
    z-index: 1000;
  }

  header.pkp_structure_head .pkp_navigation_primary ul li {
    display: block !important;
    margin: 0 !important;
  }

  header.pkp_structure_head .pkp_navigation_primary ul a {
    display: block !important;
    margin: 0 !important;
    padding: 9px 16px 9px 14px !important;
    color: var(--pj-ink) !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 3px solid transparent !important;
    border-radius: 0 !important;
    font-size: 13.5px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
  }

  header.pkp_structure_head .pkp_navigation_primary ul a:hover,
  header.pkp_structure_head .pkp_navigation_primary ul a:focus {
    color: #000 !important;
    background: var(--pj-surface) !important;
    border-left-color: var(--pj-accent) !important;
  }

  /* Pencarian di ujung kanan */
  header.pkp_structure_head .pkp_navigation_search_wrapper {
    float: none !important;
    display: flex !important;
    align-items: center;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
  }

  header.pkp_structure_head .pkp_navigation_search_wrapper a,
  header.pkp_structure_head .pkp_search.pkp_search_desktop {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 8px 12px !important;
    color: var(--pj-nav-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: color .15s ease, background-color .15s ease;
  }

  header.pkp_structure_head .pkp_navigation_search_wrapper a:hover,
  header.pkp_structure_head .pkp_navigation_search_wrapper a:focus {
    color: #000 !important;
    background: var(--pj-primary-soft) !important;
  }
}


/* 07. HEADER MOBILE (< 992px) --------------------------------------------- */

@media (max-width: 991.98px) {

  header.pkp_structure_head {
    border-bottom: 3px solid var(--pj-accent) !important;
  }

  .pkp_structure_page header.pkp_structure_head .pkp_head_wrapper {
    position: relative;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header.pkp_structure_head .pkp_site_name_wrapper {
    position: relative;
    height: auto !important;
    padding: 46px 0 0 !important;
    background: linear-gradient(90deg, var(--pj-primary-deep), var(--pj-primary)) top / 100% 46px no-repeat, var(--pj-white);
  }

  header.pkp_structure_head .pkp_site_nav_toggle {
    top: 0 !important;
    left: 0 !important;
    height: 46px !important;
    background: transparent !important;
  }

  header.pkp_structure_head .pkp_site_name {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  header.pkp_structure_head .pkp_site_name > a,
  header.pkp_structure_head .pkp_site_name .is_img {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header.pkp_structure_head .pkp_site_name .is_text {
    min-height: 96px;
    padding: 0 18px !important;
  }

  header.pkp_structure_head .pkp_site_nav_menu {
    background-image: none !important;
  }

  /* Menu tertutup tetap dirender (tidak terlihat) agar lapisan warna aktif */
  header.pkp_structure_head .pkp_site_nav_menu:not(.pkp_site_nav_menu--isOpen) {
    display: flow-root !important;
    position: static !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: hidden !important;
    z-index: auto !important;
  }

  /* Menu terbuka: panel berwarna jurnal persis di atas isi halaman */
  header.pkp_structure_head .pkp_site_nav_menu--isOpen {
    z-index: auto !important;
  }

  header.pkp_structure_head .pkp_site_nav_menu ul,
  header.pkp_structure_head .pkp_site_nav_menu li {
    list-style: none !important;
  }

  header.pkp_structure_head .pkp_site_nav_menu--isOpen::before {
    inset: 0;
    height: auto;
    z-index: 4;
  }

  header.pkp_structure_head .pkp_site_nav_menu--isOpen > * {
    position: relative !important;
    z-index: 5 !important;
  }

  header.pkp_structure_head .pkp_site_nav_menu a {
    text-decoration: none;
  }

  /* Menu mobile rata kiri */
  header.pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row,
  header.pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_wrapper,
  header.pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary,
  header.pkp_structure_head .pkp_site_nav_menu .pkp_navigation_search_wrapper {
    text-align: left !important;
  }

  header.pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary > li > a {
    display: block;
    padding: 9px 4px !important;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
  }

  header.pkp_structure_head .pkp_site_nav_menu a:hover,
  header.pkp_structure_head .pkp_site_nav_menu a:focus {
    text-decoration: underline;
    background: transparent !important;
  }
}



/* 08. KONTEN, BREADCRUMB, BERANDA ----------------------------------------- */

.pkp_structure_page .pkp_structure_content {
  background: var(--pj-content-bg);
}

.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after {
  display: none !important;
}

/* Kolom utama: panel putih bersudut */
.pkp_structure_page .pkp_structure_main {
  background: var(--pj-white);
  border: 1px solid var(--pj-frame);
  border-radius: var(--pj-radius);
}

@media (min-width: 992px) {

  .pkp_structure_page .pkp_structure_content {
    display: flex !important;
    align-items: flex-start;
    gap: 28px;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px !important;
    float: none !important;
  }

  .pkp_structure_page .pkp_structure_content .pkp_structure_main {
    position: relative;
    float: none !important;
    flex: 1 1 0% !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 28px 30px !important;
  }

  .pkp_structure_page .pkp_structure_content .pkp_structure_sidebar {
    float: none !important;
    flex: 0 0 var(--pj-sidebar) !important;
    width: var(--pj-sidebar) !important;
    max-width: var(--pj-sidebar) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 991.98px) {
  .pkp_structure_page .pkp_structure_content {
    padding: 16px 12px 24px !important;
  }

  .pkp_structure_page .pkp_structure_main {
    padding: 20px 16px !important;
  }

  .pkp_structure_page .pkp_structure_sidebar {
    width: auto !important;
    margin-top: 20px !important;
    padding: 0 !important;
  }
}

/* Judul halaman */
.pkp_structure_main .page_title,
.pkp_structure_main .page > h1 {
  position: relative;
  margin: 0 0 22px;
  padding: 0 0 12px;
  font-family: var(--pj-serif);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--pj-title);
  border-bottom: 1px solid var(--pj-line);
}

.pkp_structure_main .page_title::after,
.pkp_structure_main .page > h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 64px;
  height: 3px;
  background: var(--pj-accent);
}

/* Breadcrumb berbentuk panah */
.pkp_structure_main .cmp_breadcrumbs {
  display: block;
  margin: 0 0 22px;
}

.pkp_structure_main .cmp_breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4px 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  background: none;
  border: 0;
}

.pkp_structure_main .cmp_breadcrumbs li {
  display: inline-flex;
  align-items: center;
  margin: 0 -6px 0 0 !important;
  padding: 10px 26px 10px 24px !important;
  color: var(--pj-title);
  background: var(--pj-panel);
  font-size: 13px;
  line-height: 1.4;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%);
}

.pkp_structure_main .cmp_breadcrumbs li:first-child {
  padding-left: 16px !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

.pkp_structure_main .cmp_breadcrumbs li a {
  color: var(--pj-title);
  text-decoration: none;
}

.pkp_structure_main .cmp_breadcrumbs li a:hover {
  color: #000;
}

.pkp_structure_main .cmp_breadcrumbs .separator {
  display: none !important;
}

.pkp_structure_main .cmp_breadcrumbs li.current,
.pkp_structure_main .cmp_breadcrumbs li:last-child {
  color: var(--pj-on-primary);
  background: var(--pj-primary);
  font-weight: 700;
}

.pkp_structure_main .cmp_breadcrumbs li.current *,
.pkp_structure_main .cmp_breadcrumbs li:last-child * {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/* --- Beranda: setiap bagian menjadi kartu tersendiri ------------------- */

.pkp_structure_page .pkp_structure_main:has(.page_index_journal) {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.page_index_journal > section,
.page_index_journal > div {
  margin: 0 0 24px;
  padding: 26px 30px;
  background: var(--pj-white);
  border: 1px solid var(--pj-frame);
  border-radius: var(--pj-radius);
}

.page_index_journal > :last-child {
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .page_index_journal > section,
  .page_index_journal > div {
    padding: 20px 16px;
  }
}

/* Judul kartu beranda: serif kapital dengan garis bawah */
.page_index_journal > section > h2,
.page_index_journal > div > h2 {
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  font-family: var(--pj-serif) !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.35 !important;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--pj-title) !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pj-line) !important;
  border-radius: 0 !important;
}

.pkp_structure_main .homepage_image {
  padding: 0 !important;
  overflow: hidden;
}

.pkp_structure_main .homepage_image img {
  display: block;
  width: 100%;
  height: auto;
}

.pkp_structure_main .homepage_about,
.pkp_structure_main .additional_content {
  line-height: 1.75;
}

.pkp_structure_main .additional_content > p,
.pkp_structure_main .homepage_about > p {
  text-align: justify;
}

/* --- Blok informasi jurnal ---------------------------------------------
   Kotak sampul berproporsi A4 selebar kolom. Gambar besar maupun kecil
   otomatis mengisi kotak tanpa melebar keluar. Sumber gambar (diatur skrip
   di footer): gambar di dalam kotak, lalu "Homepage Image" jurnal, lalu
   sampul terbitan terbaru. Bila tidak ada gambar sama sekali, kotak tampil
   sebagai sampul berwarna jurnal dengan nama jurnal (tanpa perlu unggah). */

.pj-journal-info {
  display: grid;
  grid-template-columns: clamp(130px, 24%, 200px) minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin: 0 0 26px;
}

.pj-journal-info .pj-cover {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 210 / 297;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 10px 24px var(--pj-shadow-strong);
}

.pj-journal-info .pj-cover:not(.pj-sumber) {
  background:
    radial-gradient(circle at 85% 10%, var(--pj-glow), transparent 45%),
    linear-gradient(160deg, var(--pj-primary), var(--pj-primary-deep));
}

/* Garis hias pada sampul otomatis */
.pj-journal-info .pj-cover::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 26%;
  height: 4px;
  background: var(--pj-tint);
}

.pj-journal-info .pj-cover p {
  margin: 0 !important;
}

/* Bila kotak sampul berisi gambar, nama & garis sampul otomatis disembunyikan */
.pj-journal-info .pj-cover:has(img) .pj-cover-title,
.pj-journal-info .pj-cover:has(img)::before {
  visibility: hidden;
}

/* Nama jurnal pada sampul otomatis */
.pj-journal-info .pj-cover .pj-cover-title {
  position: absolute;
  top: 14%;
  left: 14px;
  right: 14px;
  color: var(--pj-on-primary);
  font-family: var(--pj-serif);
  font-size: clamp(15px, 1.7vw, 21px);
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.pj-journal-info .pj-cover img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 2;
  object-fit: contain;
  object-position: center;
  border: 0;
  color: var(--pj-on-primary);
  font-size: 12px;
  background: linear-gradient(160deg, var(--pj-primary), var(--pj-primary-deep));
}

.pj-info-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 13.5px;
  line-height: 1.55;
  background: var(--pj-white);
  border: 1px solid var(--pj-line);
}

.pj-info-table th {
  padding: 12px 16px;
  color: var(--pj-on-primary);
  border-bottom: 2px solid var(--pj-rule);
  font-size: 15px;
  font-weight: 700;
  text-align: left;
}

.pj-info-table th:not(.pj-sumber) {
  background: var(--pj-primary);
}

.pj-info-table td {
  padding: 10px 16px;
  vertical-align: top;
  border-top: 1px solid var(--pj-line);
}

.pj-info-table td:first-child {
  width: 34%;
  color: var(--pj-ink);
  font-weight: 700;
}

.pj-info-table tr:nth-child(even) td {
  background: var(--pj-subtle);
}

.pj-info-table .pj-note {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--pj-muted);
}

.pkp_structure_main .pj-hl {
  color: #000;
  font-weight: 700;
}

/* Kotak sorotan: latar biru muda, garis kiri biru, kalimat tebal biru */
.pkp_structure_page .pj-callout,
.pkp_structure_page .pj-callout.pj-sumber {
  position: relative;
  margin: 24px 0 0;
  padding: 14px 18px 14px 20px;
  color: #000;
  line-height: 1.7;
  background: var(--pj-biru-latar) !important;
  border: 0 !important;
  border-left: 4px solid var(--pj-biru) !important;
  border-radius: 0 4px 4px 0;
}

.pkp_structure_page .pj-callout strong {
  color: var(--pj-biru) !important;
  font-weight: 700;
  background: none !important;
}

.pj-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 20px 0 0;
}

.pj-badges img {
  display: block;
  height: 31px;
  width: auto;
}

@media (max-width: 767.98px) {
  .pj-journal-info {
    grid-template-columns: minmax(0, 1fr);
  }

  .pj-journal-info .pj-cover {
    max-width: 190px;
  }
}

/* Seksi daftar isi terbitan: tanpa garis melintang bawaan OJS */
.obj_issue_toc .sections,
.obj_issue_toc .sections .section {
  position: static !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.obj_issue_toc .sections {
  margin-top: 36px !important;
}

.obj_issue_toc .sections .section + .section {
  margin-top: 32px !important;
}

.obj_issue_toc .sections::before,
.obj_issue_toc .sections::after,
.obj_issue_toc .sections .section::before,
.obj_issue_toc .sections .section::after {
  content: none !important;
  display: none !important;
}

/* Judul seksi (mis. ARTICLES): bar selebar kolom dengan warna jurnal
   persis, huruf serif kapital di tengah, garis tebal lebih gelap di bawah */
.obj_issue_toc .sections .section > h2,
.obj_issue_toc .sections .section > h3,
.obj_issue_toc .galleys > h2,
.obj_issue_toc .galleys > h3 {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 22px !important;
  padding: 19px 16px !important;
  font-family: var(--pj-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: .05em;
  line-height: 1.35 !important;
  text-align: center !important;
  text-transform: uppercase;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary) !important;
  border: 0 !important;
  border-bottom: 5px solid var(--pj-primary-deep) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Judul seksi pada portal PUJIA */
.page_index_site .journals > h2 {
  position: static;
  margin: 28px 0 16px !important;
  padding: 10px 14px !important;
  font-family: var(--pj-font);
  font-size: 12.5px !important;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.4 !important;
  text-transform: uppercase;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary) !important;
  border: 0;
  border-bottom: 2px solid var(--pj-rule);
  border-radius: 4px 4px 0 0;
}

.obj_issue_toc .sections .section > h2::before,
.obj_issue_toc .sections .section > h2::after,
.obj_issue_toc .sections .section > h3::before,
.obj_issue_toc .sections .section > h3::after {
  display: none !important;
}

/* --- Homepage Image sebagai sampul beranda -----------------------------
   Bila beranda memuat kotak sampul (.pj-cover), gambar yang diunggah di
   Settings > Website > Appearance > Setup > Homepage Image TIDAK tampil
   sebagai gambar besar, melainkan otomatis tampil di kotak sampul, selebar
   dan setinggi kotak itu. Gambar selalu utuh (tidak terpotong); bila
   proporsinya bukan A4, sisa ruang diisi gradasi warna jurnal.
   Tidak perlu unggah lewat editor. */

.page_index_journal:has(.pj-cover) {
  position: relative;
}

/* 1. Gambar besar selalu disembunyikan */
.page_index_journal:has(.pj-cover) > .homepage_image {
  display: none !important;
}

/* 2. Tanpa skrip: gambar yang sama "ditempelkan" tepat di atas kotak sampul
      (CSS anchor positioning, didukung Chrome, Edge, Safari terbaru) */
@supports (anchor-name: --pj-sampul) {
  .page_index_journal .pj-journal-info .pj-cover {
    anchor-name: --pj-sampul;
  }

  .page_index_journal:has(.pj-cover) > .homepage_image {
    display: block !important;
    position: absolute !important;
    position-anchor: --pj-sampul;
    top: anchor(top);
    left: anchor(left);
    width: anchor-size(width);
    height: anchor-size(height);
    z-index: 3;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: none !important;
    border: 0 !important;
    border-radius: 4px;
    box-shadow: none !important;
    background: transparent !important;
  }

  /* Nama & garis sampul otomatis disembunyikan di balik Homepage Image */
  .page_index_journal:has(> .homepage_image img) .pj-cover .pj-cover-title,
  .page_index_journal:has(> .homepage_image img) .pj-cover::before {
    visibility: hidden;
  }

  .page_index_journal:has(.pj-cover) > .homepage_image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
  }
}

/* 2b. Tanpa Homepage Image di beranda (mis. jurnal yang memakai Homepage
       Image sebagai latar header): sampul terbitan terbaru (Current Issue)
       otomatis tampil di kotak sampul. */
@supports (anchor-name: --pj-sampul) {
  .page_index_journal:has(.pj-cover):not(:has(> .homepage_image img)):not(:has(.pj-cover img)) .current_issue .obj_issue_toc .heading > .cover {
    position: absolute !important;
    position-anchor: --pj-sampul;
    top: anchor(top);
    left: anchor(left);
    width: anchor-size(width) !important;
    height: anchor-size(height);
    z-index: 3;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 4px;
  }

  .page_index_journal:has(.pj-cover):not(:has(> .homepage_image img)):not(:has(.pj-cover img)) .current_issue .obj_issue_toc .heading > .cover img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  /* Baris DOI/Published tidak lagi menyisakan kolom sampul */
  .page_index_journal:has(.pj-cover):not(:has(> .homepage_image img)):not(:has(.pj-cover img)) .current_issue .obj_issue_toc .heading {
    display: flex !important;
  }

  /* Nama & garis sampul otomatis tersembunyi di balik sampul terbitan */
  .page_index_journal:has(.pj-cover):not(:has(> .homepage_image img)):not(:has(.pj-cover img)):has(.current_issue .obj_issue_toc .heading > .cover img) .pj-cover .pj-cover-title,
  .page_index_journal:has(.pj-cover):not(:has(> .homepage_image img)):not(:has(.pj-cover img)):has(.current_issue .obj_issue_toc .heading > .cover img) .pj-cover::before {
    visibility: hidden;
  }
}

/* 3. Bila gambar sudah ada di dalam kotak sampul (dipindah skrip atau
      dipasang sendiri), gambar besar tidak ditampilkan sama sekali */
.page_index_journal:has(.pj-cover img) > .homepage_image {
  display: none !important;
}

/* Pseudo-element "clearfix" bawaan OJS tidak boleh menjadi item flex/grid
   (menyebabkan geser dan jarak kosong) */
.obj_issue_toc .heading::before,
.obj_issue_toc .heading::after,
.obj_issue_toc .galleys_links::before,
.obj_issue_toc .galleys_links::after,
.obj_article_summary::before,
.obj_article_summary::after,
.obj_article_summary > .galleys_links::before,
.obj_article_summary > .galleys_links::after,
.page_issue_archive .issues_archive::before,
.page_issue_archive .issues_archive::after,
.page_index_site .journals > ul::before,
.page_index_site .journals > ul::after,
.pkp_structure_main .cmp_breadcrumbs ol::before,
.pkp_structure_main .cmp_breadcrumbs ol::after,
.obj_article_details .citation_formats_styles::before,
.obj_article_details .citation_formats_styles::after,
header.pkp_structure_head .pkp_navigation_primary::before,
header.pkp_structure_head .pkp_navigation_primary::after,
header.pkp_structure_head .pkp_navigation_primary_wrapper::before,
header.pkp_structure_head .pkp_navigation_primary_wrapper::after,
header.pkp_structure_head .pkp_navigation_user::before,
header.pkp_structure_head .pkp_navigation_user::after {
  content: none !important;
  display: none !important;
}

/* Tombol */
.pkp_structure_main .cmp_button,
.pkp_structure_main .pkp_button,
.pkp_structure_main .cmp_form .buttons button,
.pkp_structure_main button.submit,
.page_search .submit button {
  display: inline-block;
  padding: 9px 20px;
  color: var(--pj-on-primary);
  background: var(--pj-primary);
  border: 0;
  border-radius: 4px;
  box-shadow: 0 3px 0 var(--pj-primary-deep);
  font-family: var(--pj-font);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s ease;
}

.pkp_structure_main .cmp_button:hover,
.pkp_structure_main .pkp_button:hover,
.pkp_structure_main .cmp_form .buttons button:hover,
.pkp_structure_main button.submit:hover,
.page_search .submit button:hover {
  color: var(--pj-on-primary);
  background: var(--pj-primary-dark);
}

.pkp_structure_main .cmp_button_wire,
.pkp_structure_main .read_more {
  display: inline-block;
  padding: 8px 18px;
  color: #000;
  background: var(--pj-white);
  border: 1px solid var(--pj-primary);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.pkp_structure_main .cmp_button_wire:hover,
.pkp_structure_main .read_more:hover {
  color: var(--pj-on-primary);
  background: var(--pj-primary);
}

.cmp_notification {
  padding: 14px 16px;
  color: var(--pj-ink);
  background: var(--pj-surface);
  border: 1px solid var(--pj-line);
  border-left: 4px solid var(--pj-accent);
}

.cmp_pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 24px;
  font-size: 13px;
}

.cmp_pagination a,
.cmp_pagination .current {
  display: inline-block;
  min-width: 32px;
  padding: 5px 10px;
  text-align: center;
  border: 1px solid var(--pj-line);
  border-radius: 4px;
  text-decoration: none;
}

.cmp_pagination .current {
  color: var(--pj-on-primary);
  background: var(--pj-primary);
  border-color: var(--pj-primary);
}


/* 09. CURRENT ISSUE & DAFTAR ARTIKEL ------------------------------------- */

/* Judul terbitan berwarna jurnal */
.pkp_structure_main .current_issue .current_issue_title {
  margin: 0 0 16px;
  font-family: var(--pj-font);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  color: #000;
}

/* Baris info terbitan: DOI & tanggal terbit sebagai kotak kecil */
.obj_issue_toc .heading {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

.obj_issue_toc .heading > .description {
  flex: 0 0 100%;
  margin: 0;
  color: var(--pj-muted);
  line-height: 1.7;
}

.obj_issue_toc .heading > .description p {
  margin: 0 0 8px;
}

.obj_issue_toc .heading > .pub_id,
.obj_issue_toc .heading > .published {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  float: none !important;
  margin: 0 !important;
  padding: 9px 16px !important;
  color: var(--pj-ink);
  background: var(--pj-chip);
  border: 1px solid var(--pj-line-soft);
  border-radius: var(--pj-radius);
  font-size: 13px;
  line-height: 1.5;
}

.obj_issue_toc .heading .pub_id .type,
.obj_issue_toc .heading .published .label {
  font-weight: 700;
  color: var(--pj-title);
}

.obj_issue_toc .heading .pub_id a {
  font-weight: 600;
  color: var(--pj-biru);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.obj_issue_toc .heading > .cover {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_issue_toc .heading > .cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 8px 20px var(--pj-shadow-strong);
}

/* Bila ada sampul terbitan: sampul di kiri, info di kanan */
@media (min-width: 576px) {
  .obj_issue_toc .heading:has(> .cover) {
    display: grid !important;
    grid-template-columns: 150px max-content max-content 1fr;
    align-items: start;
  }

  .obj_issue_toc .heading:has(> .cover) > .cover {
    grid-column: 1;
    grid-row: 1 / span 3;
  }

  .obj_issue_toc .heading:has(> .cover) > .description {
    grid-column: 2 / -1;
  }
}

@media (max-width: 575.98px) {
  .obj_issue_toc .heading > .cover {
    max-width: 160px;
  }
}

.obj_issue_toc .galleys_links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  list-style: none;
}

/* Kartu artikel */
.pkp_structure_main .cmp_article_list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.pkp_structure_main .cmp_article_list > li {
  margin: 0 0 18px !important;
  padding: 20px 22px !important;
  background: var(--pj-white);
  border: 1px solid var(--pj-line);
  border-radius: var(--pj-radius);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.pkp_structure_main .cmp_article_list > li:hover {
  border-color: var(--pj-primary-line);
  box-shadow: 0 4px 14px var(--pj-shadow-color);
}

.pkp_structure_main .cmp_article_list > li:last-child {
  margin-bottom: 0 !important;
}

.obj_article_summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 16px;
}

.obj_article_summary > .cover {
  float: none !important;
  flex: 0 0 100%;
  width: auto !important;
  margin: 0 !important;
}

.obj_article_summary > .title {
  flex: 0 0 100%;
  margin: 0 !important;
  font-family: var(--pj-serif) !important;
  font-size: 15.5px !important;
  font-weight: 700;
  line-height: 1.55 !important;
}

.obj_article_summary > .title a {
  color: var(--pj-title);
  text-decoration: none;
}

.obj_article_summary > .title a:hover,
.obj_article_summary > .title a:focus {
  color: #000;
  text-decoration: underline;
  text-decoration-color: var(--pj-accent);
  text-underline-offset: 3px;
}

.obj_article_summary .subtitle {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  font-weight: 400;
  color: var(--pj-muted);
}

.obj_article_summary > .meta {
  position: static !important;
  flex: 0 0 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px 20px;
  margin: -4px 0 0;
  padding: 0 !important;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--pj-meta);
}

.obj_article_summary > .meta::before,
.obj_article_summary > .meta::after {
  content: none !important;
  display: none !important;
}

.obj_article_summary > .meta .authors {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 22px;
}

.obj_article_summary > .meta .authors::before {
  content: "\f0c0";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--pj-icons);
  font-size: 13px;
  color: var(--pj-meta);
}

/* Satu ikon penulis saja: bila tema/plugin sudah menyisipkan ikon sendiri,
   ikon dari CSS ini tidak ditampilkan. */
.obj_article_summary > .meta .authors:has(.fa, .fas, .far, i[class*="fa-"], svg)::before {
  content: none !important;
}

.obj_article_summary > .meta .authors:has(.fa, .fas, .far, i[class*="fa-"], svg) {
  padding-left: 0;
}

.obj_article_summary > .meta .pages,
.obj_article_summary > .meta .published {
  position: static !important;
  flex: 0 0 auto;
  padding: 8px 12px;
  color: var(--pj-faint);
  background: var(--pj-chip);
  border: 1px solid var(--pj-line-soft);
  border-radius: var(--pj-radius);
  font-size: 12.5px;
  white-space: nowrap;
}

.obj_article_summary > .galleys_links {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.obj_article_summary > .galleys_links li {
  display: block !important;
  margin: 0 !important;
}

.obj_article_summary .obj_galley_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary);
  border: 0;
  border-radius: 4px;
  box-shadow: 0 3px 0 var(--pj-primary-deep);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none !important;
  transition: background-color .15s ease;
}

.obj_article_summary .obj_galley_link:hover,
.obj_article_summary .obj_galley_link:focus {
  background: var(--pj-primary-dark);
}

/* Statistik dari plugin (mis. "Abstract views / PDF downloads") */
.obj_article_summary > :not(.title):not(.meta):not(.galleys_links):not(.cover) {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  color: var(--pj-meta);
}

.obj_article_summary > :not(.title):not(.meta):not(.galleys_links):not(.cover) strong,
.obj_article_summary > :not(.title):not(.meta):not(.galleys_links):not(.cover) b {
  color: var(--pj-title);
}

/* Tautan galley umum */
.obj_galley_link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  color: #000;
  background: var(--pj-white);
  border: 1px solid var(--pj-primary);
  border-radius: 4px;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}

.obj_galley_link::before {
  content: "\f0f6";
  margin: 0;
  font-family: var(--pj-icons);
  font-weight: normal;
}

.obj_galley_link.pdf::before {
  content: "\f1c1";
}

.obj_galley_link:has(.fa, i[class*="fa-"], svg)::before {
  content: none !important;
}

.obj_galley_link:hover,
.obj_galley_link:focus {
  color: var(--pj-on-primary);
  background: var(--pj-primary);
  border-color: var(--pj-primary);
}

@media (max-width: 575.98px) {
  .obj_article_summary > .meta {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* 10. DETAIL ARTIKEL + HOW TO CITE --------------------------------------- */

.obj_article_details .subtitle {
  font-family: var(--pj-serif);
  font-size: 18px;
  color: var(--pj-muted);
}

.obj_article_details .main_entry .item .label {
  margin: 0 0 8px;
  font-family: var(--pj-font);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #000;
}

.obj_article_details .main_entry .item {
  margin: 0 !important;
  padding: 0 0 22px !important;
  border: 0 !important;
}

/* Daftar penulis: nama tebal, afiliasi di bawahnya */
.obj_article_details .item.authors ul.authors {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.obj_article_details .item.authors ul.authors > li {
  margin: 0;
  padding: 0 0 0 14px;
  border-left: 3px solid var(--pj-primary-line);
}

.obj_article_details .authors .name {
  display: block;
  font-weight: 700;
  color: var(--pj-ink);
}

.obj_article_details .authors .affiliation {
  display: block;
  font-size: 13px;
  color: var(--pj-muted);
}

.obj_article_details .item.abstract {
  line-height: 1.75;
}

.obj_article_details .item.abstract p {
  text-align: justify;
  hyphens: manual;
}

/* Tata letak: isi di kiri, kartu info di kanan, How to Cite selebar
   halaman di bawahnya. */
.obj_article_details .row::before,
.obj_article_details .row::after,
.obj_article_details .entry_details::before,
.obj_article_details .entry_details::after {
  display: none !important;
}

@media (min-width: 768px) {
  .obj_article_details .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 270px;
    grid-template-rows: repeat(14, auto) 1fr;
    column-gap: 28px;
    align-items: start;
    margin: 20px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .obj_article_details .row > .main_entry {
    grid-column: 1;
    grid-row: 1 / 16;
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .obj_article_details .row > .entry_details {
    display: contents !important;
  }

  .obj_article_details .entry_details > * {
    grid-column: 2;
  }

  .obj_article_details .entry_details > .item.citation {
    grid-column: 1 / -1;
    grid-row: 16;
  }
}

/* Kartu info kanan: panel muda, bagian dipisah garis */
.obj_article_details .entry_details {
  float: none !important;
  width: auto !important;
  border: 0 !important;
}

.obj_article_details .entry_details > :not(.citation) {
  margin: 0 !important;
  padding: 18px 20px !important;
  background: var(--pj-panel);
  border: 1px solid var(--pj-line-soft) !important;
  border-top: 0 !important;
}

.obj_article_details .entry_details > :first-child {
  border-top: 1px solid var(--pj-line-soft) !important;
  border-radius: var(--pj-radius) var(--pj-radius) 0 0;
}

.obj_article_details .entry_details > :not(.citation):last-child {
  border-radius: 0 0 var(--pj-radius) var(--pj-radius);
}

.obj_article_details .entry_details .item .label,
.obj_article_details .entry_details .sub_item .label {
  margin: 0 0 6px !important;
  font-family: var(--pj-font) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: .05em;
  line-height: 1.4 !important;
  text-transform: uppercase;
  color: var(--pj-label) !important;
}

.obj_article_details .entry_details .sub_item {
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_details .entry_details .sub_item + .sub_item {
  margin-top: 18px !important;
}

.obj_article_details .entry_details .value {
  font-size: 14px;
  line-height: 1.6;
  color: var(--pj-ink);
}

.obj_article_details .entry_details .cover_image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 8px 20px var(--pj-shadow-strong);
}

.obj_article_details .entry_details .item.galleys .galleys_links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.obj_article_details .entry_details .item.galleys .obj_galley_link {
  display: inline-flex;
  padding: 12px 24px;
  font-size: 13.5px;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary);
  border: 0;
  box-shadow: 0 3px 0 var(--pj-primary-deep);
}

.obj_article_details .entry_details .item.galleys .obj_galley_link:hover,
.obj_article_details .entry_details .item.galleys .obj_galley_link:focus {
  background: var(--pj-primary-dark);
}

.obj_article_details .entry_details .item.copyright img {
  display: block;
  margin: 10px 0;
}

/* --- How to Cite ------------------------------------------------------
   Tampil bila plugin "Citation Style Language" aktif. Skrip di footer
   memindahkannya tepat di bawah abstrak, dan membuatkannya otomatis dari
   data artikel bila plugin tersebut belum aktif. Tanpa skrip, blok ini
   tampil selebar halaman di bawah isi artikel. */

.obj_article_details .row .item.citation {
  margin: 30px 0 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

.obj_article_details .item.citation .citation_display {
  margin: 0 !important;
  padding: 0 !important;
}

/* Tab judul */
.obj_article_details .row .item.citation .citation_display > .label {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 !important;
  padding: 12px 20px !important;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary);
  border-radius: var(--pj-radius) var(--pj-radius) 0 0;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.obj_article_details .item.citation .citation_display > .label::before {
  content: "\f10d";
  font-family: var(--pj-icons);
  font-weight: normal;
}

.obj_article_details .item.citation .citation_display > .value {
  padding: 22px;
  background: var(--pj-white);
  border: 1px solid var(--pj-frame);
  border-radius: 0 var(--pj-radius) var(--pj-radius) var(--pj-radius);
}

/* Kutipan terpilih */
.obj_article_details #citationOutput {
  padding: 18px 22px;
  color: var(--pj-meta);
  background: var(--pj-subtle);
  border-left: 4px solid var(--pj-accent);
  border-radius: 0 var(--pj-radius) var(--pj-radius) 0;
  font-size: 14px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.obj_article_details #citationOutput .csl-bib-body,
.obj_article_details #citationOutput .csl-entry {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

/* Format kutipan lain: selalu terbuka sebagai deret tombol */
.obj_article_details .citation_formats {
  margin: 18px 0 0 !important;
  padding: 18px 22px !important;
  background: var(--pj-subtle);
  border: 1px solid var(--pj-line) !important;
  border-radius: 8px !important;
}

.obj_article_details .row .item.citation .citation_formats_button {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;
  color: var(--pj-title) !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pj-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--pj-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  text-align: left;
  text-transform: none !important;
  pointer-events: none;
}

.obj_article_details .citation_formats_button::before {
  content: "\f022";
  font-family: var(--pj-icons);
  font-weight: normal;
  color: var(--pj-accent);
}

.obj_article_details .citation_formats_button::after {
  display: none !important;
}

.obj_article_details .citation_formats_list {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.obj_article_details .citation_formats_styles {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px !important;
  padding: 0 !important;
  list-style: none;
}

.obj_article_details .citation_formats_styles:last-child {
  margin-bottom: 0 !important;
}

.obj_article_details .citation_formats_styles li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.obj_article_details .citation_formats_styles a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 11px 16px !important;
  color: var(--pj-title) !important;
  background: var(--pj-white) !important;
  border: 1px solid var(--pj-line-strong) !important;
  border-radius: var(--pj-radius) !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}

.obj_article_details .citation_formats_styles a:hover,
.obj_article_details .citation_formats_styles a:focus {
  color: #000 !important;
  background: var(--pj-primary-soft) !important;
  border-color: var(--pj-primary) !important;
}

.obj_article_details .citation_formats_styles .fa-download::before {
  content: "\f019";
  font-family: var(--pj-icons);
}

.obj_article_details .citation_formats_styles .fa {
  color: var(--pj-accent);
}

.obj_article_details .row .item.citation .citation_formats_list > .label {
  display: block;
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--pj-label) !important;
}

/* Setelah dipindah ke bawah abstrak oleh skrip */
.obj_article_details .main_entry .item.citation {
  margin: 4px 0 28px !important;
}

/* Format yang sedang ditampilkan (kutipan buatan skrip) */
.obj_article_details .citation_formats_styles a.pj-aktif {
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary) !important;
  border-color: var(--pj-primary) !important;
}

@media (max-width: 767.98px) {
  .obj_article_details .entry_details {
    margin-top: 24px;
  }

  .obj_article_details .entry_details > .item.citation {
    margin: 20px 0 !important;
  }
}


/* 11. ARSIP TERBITAN ------------------------------------------------------ */

.page_issue_archive > h1 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--pj-font) !important;
  color: #000 !important;
}

.page_issue_archive > h1::before {
  content: "\f187";
  font-family: var(--pj-icons);
  font-size: 24px;
  font-weight: normal;
  color: var(--pj-accent);
}

.page_issue_archive .issues_archive {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 26px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.page_issue_archive .issues_archive > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.page_issue_archive .obj_issue_summary {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 0 0 100px;
  overflow: hidden;
  background: var(--pj-white);
  border: 1px solid var(--pj-line);
  border-radius: 12px;
  box-shadow: 0 2px 10px var(--pj-shadow-color);
  transition: box-shadow .2s ease, transform .2s ease;
}

.page_issue_archive .obj_issue_summary:hover {
  box-shadow: 0 12px 26px var(--pj-shadow-strong);
  transform: translateY(-2px);
}

.page_issue_archive .obj_issue_summary .cover {
  display: block;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page_issue_archive .obj_issue_summary .cover img {
  display: block;
  width: 100% !important;
  max-width: none;
  height: auto !important;
  aspect-ratio: 7 / 6;
  object-fit: cover;
  object-position: top center;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Label volume/nomor (pil) di atas judul terbitan */
.page_issue_archive .obj_issue_summary h2 {
  position: static !important;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 12px;
  margin: 20px 20px 0 !important;
  font-family: var(--pj-font) !important;
  font-size: 17px !important;
  font-weight: 700;
  line-height: 1.35 !important;
}

.page_issue_archive .obj_issue_summary h2 .title {
  position: static !important;
  color: var(--pj-title);
  text-decoration: none;
}

.page_issue_archive .obj_issue_summary .series {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  color: #000;
  background: var(--pj-primary-soft);
  border-radius: 8px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page_issue_archive .obj_issue_summary .series::before {
  content: "\f097";
  font-family: var(--pj-icons);
  font-size: 13px;
  font-weight: normal;
}

.page_issue_archive .obj_issue_summary .description {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 10px 20px 0 !important;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--pj-muted);
}

.page_issue_archive .obj_issue_summary .description p {
  margin: 0;
}

/* Garis pemisah + tombol "View Issue" (seluruh tombol dapat diklik) */
.page_issue_archive .obj_issue_summary::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 82px;
  border-top: 1px solid var(--pj-line);
}

.page_issue_archive .obj_issue_summary h2 .title::after {
  content: "View Issue";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  height: 46px;
  padding: 0 44px 0 16px;
  color: var(--pj-title);
  background: var(--pj-chip) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 3.5 13 8l-4.5 4.5' fill='none' stroke='%231F2B3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center / 15px 15px;
  border: 1px solid var(--pj-line);
  border-radius: 8px;
  font-family: var(--pj-font);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  transition: border-color .15s ease, background-color .15s ease;
}

.page_issue_archive .obj_issue_summary:hover h2 .title::after {
  background-color: var(--pj-primary-soft);
  border-color: var(--pj-primary);
}

/* Terbitan (arsip lain, mis. hasil pencarian) di luar halaman arsip */
.obj_issue_summary .cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* 12. PORTAL PUJIA (DAFTAR JURNAL) --------------------------------------- */

.page_index_site .journals > ul {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page_index_site .journals > ul > li {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin: 0;
  padding: 16px;
  background: var(--pj-white);
  border: 1px solid var(--pj-line);
  border-top: 3px solid var(--pj-primary);
  border-radius: var(--pj-radius);
}

.page_index_site .journals .thumb {
  float: none;
  flex: 0 0 120px;
  width: 120px;
  margin: 0;
  padding: 0;
}

.page_index_site .journals .thumb a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  color: #000;
  background: var(--pj-surface);
  border: 1px solid var(--pj-line);
  font-family: var(--pj-serif);
  font-size: 30px;
  font-weight: 700;
  text-decoration: none;
}

.page_index_site .journals .thumb a:has(img) {
  min-height: 0;
  background: none;
  border: 0;
}

.page_index_site .journals .thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.page_index_site .journals .body {
  float: none;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  padding: 0;
}

.page_index_site .journals .body h3 {
  margin: 0 0 6px;
  font-family: var(--pj-serif);
  font-size: 17px;
  line-height: 1.35;
}

.page_index_site .journals .body h3 a {
  color: var(--pj-ink);
  text-decoration: none;
}

.page_index_site .journals .description {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--pj-muted);
}

.page_index_site .journals .links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.page_index_site .journals .links li {
  margin: 0;
}

.page_index_site .journals .links a {
  display: inline-block;
  padding: 5px 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #000;
  border: 1px solid var(--pj-primary);
  border-radius: 4px;
  text-decoration: none;
}

.page_index_site .journals .links .view a {
  color: var(--pj-on-primary);
  background: var(--pj-primary-dark);
}

@media (max-width: 575.98px) {
  .page_index_site .journals > ul > li {
    flex-direction: column;
  }
}


/* 13. SIDEBAR & MENU KANAN ------------------------------------------------
   Tanpa margin negatif: setiap blok dan barisnya selalu berada di dalam
   batas kolom kanan. Teks panjang otomatis turun baris. */

.pkp_structure_page .pkp_structure_sidebar .pkp_block {
  width: 100%;
  max-width: 100%;
  margin: 0 0 16px !important;
  padding: 0 !important;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.5;
  background: var(--pj-white);
  border: 1px solid var(--pj-frame);
  box-shadow: var(--pj-shadow);
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_page .pkp_structure_sidebar .pj-menu .pj-menu-title {
  display: block !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  font-family: var(--pj-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
  color: var(--pj-on-primary) !important;
  border: 0;
  border-bottom: 2px solid var(--pj-rule);
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_page .pkp_structure_sidebar .pj-menu .pj-menu-title:not(.pj-sumber) {
  background: var(--pj-primary);
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .content {
  padding: 14px 16px !important;
  overflow-wrap: anywhere;
}

/* Blok yang isinya daftar menu: tanpa jarak dalam */
.pkp_structure_page .pkp_structure_sidebar .pkp_block .content:has(.pj-menu),
.pkp_structure_page .pkp_structure_sidebar .block_information .content,
.pkp_structure_page .pkp_structure_sidebar .block_language .content,
.pkp_structure_page .pkp_structure_sidebar .block_make_submission .content {
  padding: 0 !important;
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .content img {
  max-width: 100%;
  height: auto;
}

.pkp_structure_page .pkp_structure_sidebar .block_custom:has(.pj-menu) > .title {
  display: none !important;
}

/* Blok sidebar baru apa pun: judul yang ditulis sendiri di baris pertama
   isi blok (h1-h6) otomatis menjadi bar berwarna jurnal, sama seperti
   judul blok lainnya. */
.pkp_structure_page .pkp_structure_sidebar .block_custom .content > :is(h1, h2, h3, h4, h5, h6):first-child:not(.pj-menu-title) {
  display: block;
  margin: -14px -16px 14px !important;
  padding: 12px 14px !important;
  font-family: var(--pj-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary) !important;
  border: 0 !important;
  border-bottom: 2px solid var(--pj-rule) !important;
}

.pkp_structure_page .pkp_structure_sidebar .block_custom .content > :is(h1, h2, h3, h4, h5, h6):first-child:not(.pj-menu-title) * {
  color: inherit !important;
}

.pkp_structure_page .pkp_structure_sidebar .pj-menu {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .content .pj-menu ul,
.pkp_structure_page .pkp_structure_sidebar .block_information .content ul,
.pkp_structure_page .pkp_structure_sidebar .block_language .content ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .content .pj-menu ul li,
.pkp_structure_page .pkp_structure_sidebar .block_information .content ul li,
.pkp_structure_page .pkp_structure_sidebar .block_language .content ul li {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  border-bottom: 1px solid var(--pj-line);
}

.pkp_structure_page .pkp_structure_sidebar .pkp_block .content .pj-menu ul li:last-child,
.pkp_structure_page .pkp_structure_sidebar .block_information .content ul li:last-child,
.pkp_structure_page .pkp_structure_sidebar .block_language .content ul li:last-child {
  border-bottom: 0;
}

.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a,
.pkp_structure_page .pkp_structure_sidebar .block_information li > a,
.pkp_structure_page .pkp_structure_sidebar .block_language li > a {
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  margin: 0 !important;
  padding: 6px 12px 6px 0 !important;
  color: var(--pj-ink) !important;
  background: var(--pj-surface);
  font-size: 13px;
  line-height: 1.35;
  text-align: left;
  text-decoration: none !important;
  overflow-wrap: anywhere;
  transition: background-color .15s ease, color .15s ease;
}

.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a::before,
.pkp_structure_page .pkp_structure_sidebar .block_information li > a::before,
.pkp_structure_page .pkp_structure_sidebar .block_language li > a::before {
  content: var(--pj-icon, "\f105");
  flex: 0 0 40px;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -6px 0;
  font-family: var(--pj-icons);
  font-size: 14px;
  font-weight: normal;
  color: var(--pj-icon-color);
  background: var(--pj-cell);
  border-right: 1px solid var(--pj-line-soft);
  transition: background-color .15s ease, color .15s ease;
}

.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a:hover,
.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a:focus,
.pkp_structure_page .pkp_structure_sidebar .block_information li > a:hover,
.pkp_structure_page .pkp_structure_sidebar .block_information li > a:focus,
.pkp_structure_page .pkp_structure_sidebar .block_language li > a:hover,
.pkp_structure_page .pkp_structure_sidebar .block_language li > a:focus {
  color: #000 !important;
  background: var(--pj-white);
}

.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a:hover::before,
.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a:focus::before,
.pkp_structure_page .pkp_structure_sidebar .block_information li > a:hover::before,
.pkp_structure_page .pkp_structure_sidebar .block_information li > a:focus::before,
.pkp_structure_page .pkp_structure_sidebar .block_language li > a:hover::before,
.pkp_structure_page .pkp_structure_sidebar .block_language li > a:focus::before {
  color: var(--pj-on-primary);
  background: var(--pj-primary);
  border-right-color: var(--pj-primary);
}

.pkp_structure_page .pkp_structure_sidebar .pj-menu li > a:focus-visible {
  outline: 2px solid var(--pj-accent);
  outline-offset: -2px;
}

/* Ikon menu PEOPLE */
.pj-editorial-team        { --pj-icon: "\f0c0"; }
.pj-reviewers             { --pj-icon: "\f19d"; }
.pj-contact               { --pj-icon: "\f2b9"; }

/* Ikon menu POLICIES */
.pj-scopus                { --pj-icon: "\f07b"; }
.pj-history               { --pj-icon: "\f1da"; }
.pj-aims-scope            { --pj-icon: "\f140"; }
.pj-peer-review           { --pj-icon: "\f1ea"; }
.pj-frequency             { --pj-icon: "\f073"; }
.pj-open-access           { --pj-icon: "\f09c"; }
.pj-apc                   { --pj-icon: "\f0d6"; }
.pj-preservation          { --pj-icon: "\f187"; }
.pj-ethics                { --pj-icon: "\f0c5"; }
.pj-plagiarism            { --pj-icon: "\f233"; }
.pj-withdrawal            { --pj-icon: "\f15c"; }
.pj-correction            { --pj-icon: "\f046"; }
.pj-indexing              { --pj-icon: "\f03a"; }
.pj-revenue               { --pj-icon: "\f080"; }
.pj-ai-policy             { --pj-icon: "\f2d2"; }

/* Ikon menu SUBMISSION */
.pj-author-guidelines     { --pj-icon: "\f14b"; }
.pj-reviewer-guidelines   { --pj-icon: "\f19d"; }
.pj-copyright             { --pj-icon: "\f20a"; }
.pj-privacy               { --pj-icon: "\f132"; }
.pj-online-submission     { --pj-icon: "\f093"; }

/* Ikon tambahan */
.pj-template              { --pj-icon: "\f1c2"; }
.pj-tools                 { --pj-icon: "\f0ad"; }
.pj-stats                 { --pj-icon: "\f201"; }
.pj-announcement          { --pj-icon: "\f0a1"; }
.pj-link                  { --pj-icon: "\f0c1"; }

/* Blok bawaan OJS */
.pkp_structure_sidebar .block_information a[href*="readers"]    { --pj-icon: "\f02d"; }
.pkp_structure_sidebar .block_information a[href*="authors"]    { --pj-icon: "\f040"; }
.pkp_structure_sidebar .block_information a[href*="librarians"] { --pj-icon: "\f19c"; }
.pkp_structure_sidebar .block_language a                        { --pj-icon: "\f0ac"; }

.pkp_structure_page .pkp_structure_sidebar .block_language .current > a {
  font-weight: 700;
  color: #000 !important;
}

/* "Make a Submission": tombol emas */
.pkp_structure_page .pkp_structure_sidebar .block_make_submission {
  border-color: var(--pj-primary);
}

.pkp_structure_page .pkp_structure_sidebar .block_make_submission a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 !important;
  padding: 13px 16px !important;
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary) !important;
  box-shadow: inset 0 -3px 0 var(--pj-rule);
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease;
}

.pkp_structure_page .pkp_structure_sidebar .block_make_submission a::before {
  content: "\f093";
  font-family: var(--pj-icons);
  font-weight: normal;
}

.pkp_structure_page .pkp_structure_sidebar .block_make_submission a:hover,
.pkp_structure_page .pkp_structure_sidebar .block_make_submission a:focus {
  color: var(--pj-on-primary) !important;
  background: var(--pj-primary-dark) !important;
}

.pkp_structure_page .pkp_structure_sidebar .block_custom .content {
  text-align: center;
}

.pkp_structure_page .pkp_structure_sidebar .block_custom .content p:last-child {
  margin-bottom: 0;
}


/* 14. HALAMAN LOGIN & REGISTER ------------------------------------------- */

.page_login .cmp_form,
.page_register .cmp_form,
.page_lost_password .cmp_form {
  max-width: 640px;
}

.pkp_structure_main .cmp_form fieldset {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

.pkp_structure_main .cmp_form legend {
  margin: 0 0 12px;
  padding: 0 0 8px;
  width: 100%;
  font-size: 15px;
  font-weight: 700;
  color: var(--pj-ink);
  border-bottom: 1px solid var(--pj-line);
}

.pkp_structure_main .cmp_form .fields > div {
  margin: 0 0 14px;
}

.pkp_structure_main .cmp_form label {
  display: block;
}

.pkp_structure_main .cmp_form .label {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pj-ink);
}

.pkp_structure_main .cmp_form .required {
  color: var(--pj-danger);
}

.pkp_structure_main .cmp_form input[type="text"],
.pkp_structure_main .cmp_form input[type="email"],
.pkp_structure_main .cmp_form input[type="password"],
.pkp_structure_main .cmp_form input[type="url"],
.pkp_structure_main .cmp_form input[type="tel"],
.pkp_structure_main .cmp_form select,
.pkp_structure_main .cmp_form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  color: var(--pj-ink);
  background: var(--pj-white);
  border: 1px solid var(--pj-line-strong);
  border-radius: var(--pj-radius);
  font-family: var(--pj-font);
  font-size: 14px;
  line-height: 1.4;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.pkp_structure_main .cmp_form input:focus,
.pkp_structure_main .cmp_form select:focus,
.pkp_structure_main .cmp_form textarea:focus {
  outline: 0;
  border-color: var(--pj-primary);
  box-shadow: 0 0 0 3px var(--pj-primary-line);
}

.pkp_structure_main .cmp_form .buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.pkp_structure_main .cmp_form .buttons a,
.pkp_structure_main .cmp_form .buttons .register,
.pkp_structure_main .cmp_form .buttons .login {
  display: inline-block;
  padding: 8px 18px;
  color: #000;
  border: 1px solid var(--pj-primary);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.pkp_structure_main .cmp_form .buttons a:hover {
  color: var(--pj-on-primary);
  background: var(--pj-primary);
}


/* 15. FOOTER (4 kolom, warna khas Unismuh Makassar) ----------------------
   Satu warna untuk semua jurnal: gradasi biru Unismuh dengan aksen emas
   Muhammadiyah. Tidak mengikuti menu Colour, dan tidak terpengaruh
   lapisan warna. */

:root {
  --pj-unismuh-1: #0A2A66;       /* biru tua               */
  --pj-unismuh-2: #0D3B8C;       /* biru                   */
  --pj-unismuh-3: #0F4FA8;       /* biru Unismuh           */
  --pj-unismuh-emas: #F5B815;    /* emas Muhammadiyah      */
  --pj-unismuh-emas-muda: #FFD25A;
  --pj-unismuh-teks: #D9E5F5;
  --pj-unismuh-redup: #BFD0E8;
  --pj-unismuh-bar: rgba(6, 24, 64, .45);
}

/* Footer berada di atas lapisan warna, sehingga warnanya tetap */
.pkp_structure_page .pkp_structure_footer_wrapper {
  z-index: 2;
}

/* Latar footer versi sebelumnya (mengikuti Colour) tidak dipakai lagi */
.pkp_structure_page .pj-footer-latar {
  display: none !important;
}

.pkp_structure_page .pkp_structure_footer_wrapper {
  position: relative;
  color: var(--pj-unismuh-teks);
  background-color: var(--pj-unismuh-1) !important;
  background-image:
    repeating-conic-gradient(from 0deg at 0% 100%, rgba(255, 255, 255, .045) 0deg 1.5deg, transparent 1.5deg 7.5deg),
    radial-gradient(ellipse at 100% 0%, rgba(29, 111, 209, .55), transparent 60%),
    linear-gradient(135deg, var(--pj-unismuh-1) 0%, var(--pj-unismuh-2) 55%, var(--pj-unismuh-3) 100%) !important;
  border-top: 3px solid var(--pj-unismuh-emas);
}

.pkp_structure_page .pkp_structure_footer {
  position: relative;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.pkp_structure_page .pkp_structure_footer .pkp_footer_content {
  padding: 38px var(--pj-footer-pad) 0 !important;
  font-size: 13.5px;
  line-height: 1.7;
  color: inherit;
  text-align: left;
}

.pkp_structure_footer .pkp_footer_content a {
  color: #fff;
  text-decoration: none;
  transition: color .15s ease;
}

.pkp_structure_footer .pkp_footer_content a:hover,
.pkp_structure_footer .pkp_footer_content a:focus {
  color: var(--pj-unismuh-emas);
}

.pj-footer {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 36px;
}

.pj-footer h3 {
  margin: 0 0 18px;
  padding: 0 0 12px;
  font-family: var(--pj-font);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(var(--pj-unismuh-emas), var(--pj-unismuh-emas)) left bottom / 40px 4px no-repeat;
  border: 0;
}

.pj-footer p {
  margin: 0 0 10px;
}

.pkp_structure_footer .pkp_footer_content .pj-footer p a {
  color: var(--pj-unismuh-emas-muda);
}

.pkp_structure_footer .pkp_footer_content .pj-footer p a:hover,
.pkp_structure_footer .pkp_footer_content .pj-footer p a:focus {
  color: #fff;
}

.pj-footer .pj-footer-license img {
  display: block;
  width: 88px;
  height: 31px;
  margin: 4px 0 12px;
}

.pj-footer .pj-footer-logo {
  display: block;
  max-width: 220px;
  height: auto;
  margin-top: 16px;
}

.pj-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pj-footer li {
  display: flex;
  gap: 10px;
  margin: 0 0 12px;
}

.pj-footer li::before {
  content: var(--pj-icon, "\f105");
  flex: 0 0 16px;
  font-family: var(--pj-icons);
  font-size: 15px;
  color: var(--pj-unismuh-emas);
  text-align: center;
}

.pj-footer .pj-footer-links li::before {
  flex-basis: 10px;
  font-size: 14px;
}

.pj-footer .pj-footer-links a {
  color: var(--pj-unismuh-teks);
}

.pj-f-institution { --pj-icon: "\f19c"; }
.pj-f-address     { --pj-icon: "\f041"; }
.pj-f-email       { --pj-icon: "\f0e0"; }
.pj-f-phone       { --pj-icon: "\f095"; }
.pj-f-web         { --pj-icon: "\f0ac"; }

/* --- Statistik pengunjung (StatCounter dari plugin Custom Header) --------
   Plugin Custom Header menaruh kode StatCounter di luar kotak halaman
   (paling bawah, pojok kiri). Penghitung itu otomatis ditampilkan di kolom
   "Visitor Statistics" (sejajar, di antara Resources dan Contact Us),
   dengan warna footer. Kolom ini tersembunyi bila jurnal tidak memakai
   StatCounter; footer lalu kembali 4 kolom. */

.pkp_structure_footer .pj-footer .pj-statistik {
  display: none;
  margin-top: 0;
}

/* Ditampilkan bila StatCounter ada (di luar kotak halaman atau sudah di
   dalam footer). Aturan dipisah agar tetap berlaku di semua peramban. */
body:has(> .statcounter) .pkp_structure_footer .pj-footer .pj-statistik {
  display: block;
}

body:has(> a[href*="statcounter.com"]) .pkp_structure_footer .pj-footer .pj-statistik {
  display: block;
}

body:has(> :not(.pkp_structure_page) .statcounter) .pkp_structure_footer .pj-footer .pj-statistik {
  display: block;
}

.pkp_structure_footer .pj-footer .pj-statistik:has(.statcounter) {
  display: block;
}

.pkp_structure_footer .pj-footer .pj-statistik:has(a[href*="statcounter.com"]) {
  display: block;
}

/* Desktop: footer menjadi 5 kolom sejajar bila kolom statistik tampil
   (aturan dipisah agar tetap berlaku di semua peramban) */
@media (min-width: 992px) {
  body:has(> .statcounter) .pkp_structure_footer .pj-footer {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, 1.25fr);
    column-gap: 30px;
  }

  body:has(> a[href*="statcounter.com"]) .pkp_structure_footer .pj-footer {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, 1.25fr);
    column-gap: 30px;
  }

  body:has(> :not(.pkp_structure_page) .statcounter) .pkp_structure_footer .pj-footer {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, 1.25fr);
    column-gap: 30px;
  }

  .pkp_structure_footer .pj-footer:has(> .pj-statistik .statcounter) {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, 1.25fr);
    column-gap: 30px;
  }

  .pkp_structure_footer .pj-footer:has(> .pj-statistik a[href*="statcounter.com"]) {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, 1.25fr);
    column-gap: 30px;
  }
}

/* Tempat penghitung */
.pkp_structure_footer .pj-footer .pj-statcounter {
  anchor-name: --pj-statcounter;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 72px;
  font-size: 0;
  line-height: 0;
}

/* Setelah dipindah skrip ke dalam footer: posisinya sama seperti versi CSS */
.pkp_structure_footer .pj-footer .pj-statcounter:has(> .statcounter) {
  margin-top: -10px;
}

/* Gambar angka penghitung: bingkai tipis senada footer */
.pj-statcounter > .statcounter,
body > .statcounter,
body > :not(.pkp_structure_page) .statcounter:not(.statcounter .statcounter) {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  margin: 0 !important;
  padding: 5px 7px;
  line-height: 0;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

.pj-statcounter img.statcounter,
body > .statcounter img,
body > :not(.pkp_structure_page) img.statcounter {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

/* Tautan "View ... Stats": emas seperti tautan footer lainnya */
.pj-statcounter > a[href*="statcounter.com"]:not(.statcounter),
.pj-statcounter a[href*="statcounter.com"]:not(.statcounter),
body > a[href*="statcounter.com"]:not(.statcounter),
body > :not(.pkp_structure_page) a[href*="statcounter.com"]:not(.statcounter) {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  font-family: var(--pj-font) !important;
  font-size: 13.5px !important;
  font-weight: 600;
  line-height: 1.4 !important;
  color: var(--pj-unismuh-emas-muda) !important;
  text-decoration: none !important;
}

.pj-statcounter a[href*="statcounter.com"]:not(.statcounter)::before,
body > a[href*="statcounter.com"]:not(.statcounter)::before,
body > :not(.pkp_structure_page) a[href*="statcounter.com"]:not(.statcounter)::before {
  content: "\f080";
  font-family: var(--pj-icons);
  font-size: 14px;
  font-weight: normal;
  color: var(--pj-unismuh-emas);
}

.pj-statcounter a[href*="statcounter.com"]:not(.statcounter):hover,
.pj-statcounter a[href*="statcounter.com"]:not(.statcounter):focus,
body > a[href*="statcounter.com"]:not(.statcounter):hover,
body > a[href*="statcounter.com"]:not(.statcounter):focus,
body > :not(.pkp_structure_page) a[href*="statcounter.com"]:not(.statcounter):hover,
body > :not(.pkp_structure_page) a[href*="statcounter.com"]:not(.statcounter):focus {
  color: #fff !important;
  text-decoration: underline !important;
}

/* Penghitung yang masih berada di luar kotak halaman ditempatkan tepat di
   tempatnya dalam footer (CSS anchor positioning, tanpa skrip) */
@supports (anchor-name: --pj-statcounter) {
  body:has(.pj-statcounter) > .statcounter,
  body:has(.pj-statcounter) > :not(.pkp_structure_page, .statcounter, script, style, link, noscript):has(.statcounter) {
    position: absolute !important;
    position-anchor: --pj-statcounter;
    top: anchor(top);
    left: anchor(left);
    z-index: 3;
  }

  body:has(.pj-statcounter) > a[href*="statcounter.com"]:not(.statcounter) {
    position: absolute !important;
    position-anchor: --pj-statcounter;
    top: calc(anchor(top) + 40px);
    left: anchor(left);
    z-index: 3;
  }

  /* Pembungkus (bila kode StatCounter dibungkus p/div): isi disusun rapi */
  body:has(.pj-statcounter) > :not(.pkp_structure_page, .statcounter, script, style, link, noscript):has(.statcounter) {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: max-content;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    font-size: 0;
  }
}

/* Peramban tanpa anchor positioning: penghitung tampil rapi di bawah footer,
   dalam pita berwarna footer */
@supports not (anchor-name: --pj-statcounter) {
  body > .statcounter,
  body > a[href*="statcounter.com"]:not(.statcounter) {
    display: flex !important;
    width: fit-content;
    margin: 10px auto !important;
  }

  body > a[href*="statcounter.com"]:not(.statcounter) {
    padding: 6px 14px;
    background: var(--pj-unismuh-1);
    border-radius: 4px;
  }
}

.pj-footer-bottom {
  display: flex;
  align-items: center;
  min-height: 52px;
  margin: 30px calc(var(--pj-footer-pad) * -1) 0;
  padding: 10px var(--pj-footer-pad);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--pj-unismuh-redup);
  background: var(--pj-unismuh-bar);
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.pj-footer-bottom p {
  margin: 0;
}

.pkp_structure_footer .pkp_footer_content .pj-footer-bottom a {
  color: var(--pj-unismuh-emas-muda);
}

.pkp_structure_page .pkp_structure_footer .pkp_brand_footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 !important;
  padding: 12px var(--pj-footer-pad) !important;
  background: var(--pj-unismuh-bar);
}

.pkp_structure_footer .pkp_brand_footer a {
  float: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pj-unismuh-redup);
  font-size: 12.5px;
  text-decoration: none;
}

.pkp_structure_footer .pkp_brand_footer img {
  display: block;
  width: auto !important;
  max-width: 130px !important;
  max-height: 40px;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: .85;
}

@media (min-width: 768px) {
  .pkp_structure_page .pkp_structure_footer:has(.pj-footer-bottom) .pkp_brand_footer {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 52px;
    padding: 0 var(--pj-footer-pad) !important;
    background: none;
  }

  .pkp_structure_footer:has(.pj-footer-bottom) .pj-footer-bottom {
    padding-right: 260px;
  }
}

@media (max-width: 991.98px) {
  :root {
    --pj-footer-pad: 20px;
  }

  .pj-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .pj-footer {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* 16. AKSESIBILITAS & CETAK ---------------------------------------------- */

.pkp_structure_page a:focus-visible,
.pkp_structure_page button:focus-visible {
  outline: 2px solid var(--pj-accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .pkp_structure_page *,
  .pkp_structure_page *::before,
  .pkp_structure_page *::after {
    transition: none !important;
  }
}

@media print {
  body {
    background: #fff;
  }

  .pkp_structure_page {
    box-shadow: none;
  }

  header.pkp_structure_head .pkp_site_nav_menu,
  .pkp_structure_sidebar,
  .pkp_structure_footer_wrapper {
    display: none !important;
  }
}
