/* ==========================================================================
   JMTP — Journal Style Sheet (palet toska)
   Jurnal Manajemen dan Teknologi Pendidikan · ID Scholar

   Disalin dari stylesheet JMTS yang sudah final, hanya nilai warna
   yang diganti. Seluruh selektor, sekat menu, perapat header, dan
   penyederhanaan halaman penyerahan naskah ikut terbawa.

   Toska dibuat jauh lebih jenuh dan lebih hijau dibanding JPEP yang
   biru laut pucat dan JIDKI yang sian tua. Pembedanya bukan rona
   saja, tetapi juga tingkat kejenuhan.

   Bilah navigasi memakai #004943, diambil dari gelombang di tepi
   bawah banner, supaya gambar bersambung mulus ke menu.

   Unggah di: Settings > Website > Appearance > Advanced > Journal style sheet
   HAPUS dulu berkas stylesheet lama sebelum mengunggah berkas ini.
   ========================================================================== */


/* ==========================================================================
   0. TOKEN
   Ubah di sini saja, jangan di tengah aturan.
   Catatan: nama token tetap berawalan --idsc- agar tidak memutus apa pun.
   Di berkas ini nilainya sudah diganti ke palet kuning untuk JMTS.
   ========================================================================== */

:root {
  /* Warna utama */
  --idsc-navy:      #0B5C55;
  --idsc-navy-d:    #084640;
  --idsc-purple:    #109184;
  --idsc-purple-d:  #0C7268;
  --idsc-purple-l:  #7FD4C8;
  --idsc-purple-bg: #E6F7F4;
  --idsc-purple-tx: #0B5C55;

  /* Aksen */
  --idsc-amber:     #E4A11B;
  --idsc-amber-d:   #854F0B;
  --idsc-amber-bg:  #FAEEDA;
  --idsc-gold:      #FFD700;
  --idsc-gold-l:    #FFE55C;
  --idsc-green:     #1E8E4E;
  --idsc-green-d:   #166B3B;

  /* Netral */
  --idsc-line:      #e2e6ea;
  --idsc-line-2:    #d7dde3;
  --idsc-surface:   #9BDDD2;
  --idsc-ink:       #33414d;
  --idsc-muted:     #6b7885;

  /* Ukuran */
  --idsc-lebar:     100%;    /* lebar halaman: 100%, 1600px, 1800px */
  --idsc-teks:      17px;    /* ukuran huruf dasar */
  --idsc-prosa:     78ch;    /* batas lebar teks bacaan */
  --idsc-sidebar:   348px;
}


/* ==========================================================================
   1. LEBAR HALAMAN DAN KOLOM
   !important dipakai karena tema mengunci lebar di 1800px.
   ========================================================================== */

.pkp_structure_page,
.pkp_structure_content,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_structure_footer,
.pkp_navigation_primary_row .pkp_head_wrapper,
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary_row > div,
.has_site_logo .pkp_navigation_primary_wrapper {
  max-width: var(--idsc-lebar) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.pkp_structure_page,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_structure_footer {
  padding-left: 30px;
  padding-right: 30px;
}

.pkp_structure_content {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: flex-start;
  padding-top: 14px !important;
  margin-top: 0 !important;
}

.pkp_structure_main {
  flex: 1 1 0;
  min-width: 0;
  max-width: none !important;
  width: auto !important;
  float: none !important;
  padding-top: 18px !important;
  margin-top: 0 !important;
}

.pkp_structure_sidebar {
  flex: 0 0 var(--idsc-sidebar);
  max-width: var(--idsc-sidebar) !important;
  width: var(--idsc-sidebar) !important;
  float: none !important;
  border-left: 3px solid var(--idsc-line-2);
  border-right: 3px solid var(--idsc-line-2);
  padding: 14px !important;
}

/* Buang garis pemisah bawaan tema */
.pkp_structure_main,
.pkp_structure_content {
  border-left: none !important;
  border-right: none !important;
  background-image: none !important;
}

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


/* ==========================================================================
   2. UKURAN HURUF
   ========================================================================== */

html { font-size: 106.25%; }

body,
.pkp_structure_page {
  font-size: var(--idsc-teks) !important;
  line-height: 1.65;
}

.pkp_structure_main,
.obj_static_page,
.homepage_about,
.pkp_structure_main p,
.pkp_structure_main li,
.pkp_structure_main td,
.pkp_structure_main th {
  font-size: var(--idsc-teks) !important;
  line-height: 1.65;
}

.pkp_structure_main h1 { font-size: 30px !important; }
.pkp_structure_main h2 { font-size: 24px !important; }
.pkp_structure_main h3 { font-size: 20px !important; }
.pkp_structure_main h4 { font-size: 18px !important; }

.cmp_breadcrumbs {
  font-size: 15px !important;
  margin: 0 0 8px !important;
  padding-top: 0 !important;
}


/* ==========================================================================
   3. HEADER GAMBAR PENUH
   Banner menggantikan logo teks; tinggi mengikuti proporsi gambar.
   ========================================================================== */

.pkp_structure_head {
  background: #fff;
  border-bottom: none;
  box-shadow: none;
  overflow: visible;
}

.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name {
  display: block !important;
  position: static !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.pkp_site_name { height: auto !important; }

.pkp_site_name .is_img,
.pkp_site_name > a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pkp_site_name .is_img img,
.pkp_site_name img,
.has_site_logo .pkp_site_name img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain;
}


/* ==========================================================================
   4. TAUTAN REGISTER / LOGIN DI ATAS BANNER
   ========================================================================== */

/* JANGAN tambahkan position di sini. Tema memasang wrapper ini sebagai
   position: absolute agar melayang di pojok kanan atas banner. Menimpanya
   dengan position: relative membuat tombol Register/Login jatuh ke bawah
   batang menu. */
.pkp_navigation_user_wrapper { z-index: 5; }

.pkp_navigation_user_wrapper .pkp_navigation_user > li > a,
.pkp_navigation_user > li > a {
  color: var(--idsc-navy) !important;
  background: rgba(255, 255, 255, .78);
  padding: 5px 12px !important;
  border-radius: 20px;
  font-size: 14px !important;
  font-weight: 500;
  margin-left: 8px;
  transition: background .18s ease;
}

.pkp_navigation_user_wrapper .pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:hover {
  background: #fff;
  color: var(--idsc-navy-d) !important;
  text-decoration: none;
}


/* ==========================================================================
   5. BATANG MENU
   ========================================================================== */

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper {
  background: #004943;
  border-top: 3px solid var(--idsc-gold);
}

.pkp_navigation_primary { padding-left: 20px !important; }

/* Sekat antar butir menu navigasi */
.pkp_navigation_primary > li { position: relative; }

.pkp_navigation_primary > li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 26px;
  border-left: 2px solid rgba(255, 255, 255, .30);
}

/* Butir yang berupa tombol tidak perlu sekat di kedua sisinya */
.pkp_navigation_primary > li:has(> a[href*="about/submissions"])::before,
.pkp_navigation_primary > li:has(> a[href*="about/submissions"]) + li::before {
  display: none;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > button {
  color: #E9F8F5;
  font-weight: 600;
  font-size: 15.5px !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 15px 16px;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li.in_focus > a {
  background: #0A6B62;
  color: #FFFFFF;
  box-shadow: inset 0 -3px 0 var(--idsc-gold);
}

/* Dropdown */
.pkp_navigation_primary ul {
  background: #fff;
  border: 1px solid var(--idsc-line);
  box-shadow: 0 6px 18px rgba(15,61,92,.14);
  border-radius: 0 0 5px 5px;
  min-width: 250px;
}

.pkp_navigation_primary ul li a {
  color: var(--idsc-ink);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 15.5px !important;
  padding: 9px 16px;
}

.pkp_navigation_primary ul li a:hover {
  background: #f4f7fa;
  color: var(--idsc-navy);
  box-shadow: inset 3px 0 0 var(--idsc-amber);
}

/* Tombol hijau jika ada butir menu menuju /about/submissions */
.pkp_navigation_primary > li > a[href*="about/submissions"] {
  background: var(--idsc-gold);
  color: #003531;
  border-radius: 4px;
  margin: 8px 6px;
  padding: 9px 18px;
  font-weight: 700;
}

.pkp_navigation_primary > li > a[href*="about/submissions"]:hover {
  background: var(--idsc-gold-l);
  color: #003531;
  box-shadow: none;
}

/* Pencarian */
.pkp_search input[type="text"],
.pkp_search .search_input input {
  border-radius: 3px;
  font-size: 15px !important;
}

.pkp_navigation_search_wrapper a {
  color: #E9F8F5;
  font-size: 15px !important;
}


/* ==========================================================================
   6. HALAMAN STATIS DAN ISI
   ========================================================================== */

.homepage_about h2,
.current_issue h2,
.cmp_announcements h2,
.page_index_journal h2 {
  color: var(--idsc-navy);
  font-size: 20px;
  letter-spacing: .02em;
  border-bottom: 2px solid var(--idsc-amber);
  display: inline-block;
  padding-bottom: 5px;
  margin-bottom: 16px;
}

.obj_static_page { line-height: 1.7; }

/* Judul halaman */
.obj_static_page h1,
.pkp_structure_main h1,
.pkp_structure_main .page h1,
.page_title,
.obj_static_page > h1:first-child {
  font-weight: 700 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Sembunyikan judul H1 bawaan OJS (Contact, About, Search, dan halaman
   sistem lain). Aturan ini ada di v1, hilang di v2, dikembalikan di sini.

   Judulnya disembunyikan dari layar tapi tetap terbaca pembaca layar dan
   mesin pencari — halaman tanpa H1 sama sekali akan ditandai sebagai
   kekurangan oleh alat audit SEO.

   Untuk berlaku di halaman Contact saja, ganti selektor menjadi:
   .pkp_op_contact .page > h1 */
.page > h1 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pkp_structure_main .page > h2:first-child,
.pkp_structure_main .page > h2:first-of-type {
  font-weight: 700 !important;
  font-size: 26px !important;
  margin: 0 0 12px !important;
  padding-top: 0 !important;
  line-height: 1.25;
}

/* Subjudul tidak tebal */
.obj_static_page h2,
.obj_static_page h3,
.pkp_structure_main .page h2,
.pkp_structure_main .page h3 {
  color: var(--idsc-navy);
  font-weight: 500 !important;
  margin-top: 20px !important;
  margin-bottom: 3px !important;
  line-height: 1.3;
}

.obj_static_page h2:first-child,
.obj_static_page h3:first-child { margin-top: 0 !important; }

.obj_static_page h2 + p,
.obj_static_page h3 + p,
.pkp_structure_main .page h2 + p,
.pkp_structure_main .page h3 + p { margin-top: 0 !important; }

/* Jarak paragraf dan daftar */
.obj_static_page p,
.pkp_structure_main .page p { margin: 0 0 10px !important; }

.obj_static_page ul,
.obj_static_page ol,
.pkp_structure_main .page ul,
.pkp_structure_main .page ol {
  margin: 0 0 16px !important;
  padding-left: 24px;
}

.obj_static_page li,
.pkp_structure_main .page li {
  margin-bottom: 4px !important;
  line-height: 1.6;
}

.obj_static_page p:empty,
.pkp_structure_main .page p:empty { display: none !important; }

/* BARU — batas lebar teks bacaan.
   Halaman kini selebar layar; tanpa batas ini, satu baris di monitor lebar
   bisa mencapai 190 karakter dan sangat melelahkan dibaca. Tabel, gambar,
   dan daftar artikel sengaja dibiarkan penuh. */
.obj_static_page > p,
.obj_static_page > ul,
.obj_static_page > ol,
.obj_static_page > blockquote,
.homepage_about > p,
.homepage_about > ul {
  max-width: var(--idsc-prosa);
}

/* BARU — halaman Contact.

   Teks pembuka berasal dari kolom Mailing Address, yang dicetak OJS dengan
   nl2br: seluruhnya keluar sebagai satu blok teks dengan <br>, TANPA tag <p>.
   Karena itu perataan dipasang di kontainer agar diwarisi, bukan di p.

   Selektor dibuat berlapis karena nama kelas pembungkus berbeda antar versi
   tema. .pkp_structure_main dipakai sebagai jaring pengaman karena kelas itu
   sudah terbukti ada di situs ini. */
.pkp_op_contact .page,
.pkp_op_contact .pkp_structure_main,
.page_contact,
.cmp_contact {
  text-align: justify;
  text-justify: inter-word;
}

/* Kembalikan bagian yang tidak boleh ikut rata kanan-kiri.
   Judul, remah roti, dan daftar terlihat aneh kalau dipaksa merata. */
.pkp_op_contact .page h1,
.pkp_op_contact .page h2,
.pkp_op_contact .page h3,
.pkp_op_contact .page address,
.pkp_op_contact .page ul,
.pkp_op_contact .page li,
.pkp_op_contact .cmp_breadcrumbs,
.page_contact h1,
.page_contact h2,
.page_contact h3,
.page_contact address,
.page_contact ul,
.page_contact li {
  text-align: left !important;
}

/* Label "Phone" jadi "Phone/Email".

   Ini string terjemahan bawaan OJS, jadi tidak ada kolom untuk menyuntingnya.
   Teks di bawah DITAMBAHKAN setelah label yang ada, bukan menggantinya —
   pembaca layar tetap membaca "Phone" dengan benar.

   CEK DULU: pastikan "Phone" memang dibungkus <strong>, dan tidak ada teks
   tebal lain di halaman Contact yang ikut kena. Klik kanan pada kata
   "Phone" > Inspect. Kalau ternyata dibungkus tag lain, ganti "strong"
   di bawah dengan tag atau kelas yang sebenarnya.

   Cara yang lebih tahan lama adalah plugin Custom Locale
   (Settings > Website > Plugins > Generic Plugins), karena aturan CSS ini
   akan hilang begitu tema diganti. */
.pkp_op_contact .page strong::after,
.pkp_op_contact .page .label::after,
.page_contact strong::after,
.page_contact .label::after {
  content: "/Email";
  margin-left: -.28em;   /* menutup spasi bawaan di dalam <strong> */
}

/* Awalan "Email:" pada alamat surel, sekaligus merapatkan jaraknya ke
   baris nomor WA di atasnya. Angka margin-top di bawah adalah geseran
   manual — kalau masih terlalu jauh atau malah bertindihan, itulah satu
   angka yang perlu disesuaikan. */
.pkp_op_contact .page a[href^="mailto:"],
.page_contact a[href^="mailto:"] {
  display: block;
  width: fit-content;
  margin-top: -10px;
}

.pkp_op_contact .page a[href^="mailto:"]::before,
.page_contact a[href^="mailto:"]::before {
  content: "Email:\00a0";   /* \00a0 = spasi non-breaking.
                               Spasi biasa di akhir content dibuang browser
                               karena pseudo-element ini inline-block. */
  display: inline-block;
  color: var(--idsc-ink);
  text-decoration: none;
}

/* Judul "Principal Contact" dan "Support Contact" dikecilkan.
   Aturan umum di bagian 2 memasangnya 24px, yang terlalu besar untuk dua
   blok informasi pendek seperti ini. Selektor sengaja diberi satu tingkat
   kekhususan lebih agar mengalahkan aturan tersebut.
   Ubah angka 19px saja kalau ingin lebih besar atau lebih kecil. */
.pkp_op_contact .pkp_structure_main h2,
.pkp_op_contact .pkp_structure_main h3,
.page_contact h2,
.page_contact h3 {
  font-size: 19px !important;
  margin-bottom: 6px !important;
  display: inline-block;
  padding-bottom: 5px;

  /* Garis tipis ungu penuh, sewarna dengan judulnya.
     Alternatif — ganti baris di bawah dengan salah satu:
       border-bottom: 1px solid var(--idsc-line);        abu netral, paling tenang
       border-bottom: 1px solid var(--idsc-purple-l);    ungu muda
       border-bottom: 1px solid rgba(53, 29, 108, .28);   ungu diredupkan
       border-bottom: 1px solid var(--idsc-amber);       amber setipis mungkin */
  border-bottom: 1px solid var(--idsc-navy);
}

/* OPSIONAL — rata kanan-kiri di seluruh halaman statis.
   Aktifkan dengan membuang tanda komentar kalau ingin Author Guideline,
   FAQ, Copyright, dan lainnya ikut seragam dengan halaman Contact.

.obj_static_page,
.homepage_about {
  text-align: justify;
  text-justify: inter-word;
}

.obj_static_page h1,
.obj_static_page h2,
.obj_static_page h3,
.obj_static_page td,
.obj_static_page th {
  text-align: left;
}

*/

/* Tabel */
.obj_static_page table {
  width: 100%;
  border-collapse: collapse;
}

.obj_static_page table td,
.obj_static_page table th {
  border: 1px solid var(--idsc-line);
  padding: 8px 10px;
  font-size: 14px;
}

.obj_static_page table th {
  background: var(--idsc-surface);
  color: var(--idsc-navy);
}

/* Daftar artikel dan terbitan */
.obj_article_summary .title a { color: var(--idsc-navy); }
.obj_article_summary .title a:hover { color: var(--idsc-purple); }

.obj_issue_toc .heading,
.obj_issue_summary .title { color: var(--idsc-navy); }


/* ==========================================================================
   7. BLOK KUSTOM DI BERANDA
   Butuh div[class] diizinkan di allowed_html.
   ========================================================================== */

.idsc-facts {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid var(--idsc-line);
  border-radius: 6px;
  margin: 26px 0;
  background: #fbfcfd;
}

.idsc-fact {
  flex: 1 1 180px;
  padding: 18px 16px;
  text-align: center;
  border-right: 1px solid var(--idsc-line);
}

.idsc-fact:last-child { border-right: none; }

.idsc-fact strong {
  display: block;
  color: var(--idsc-navy);
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.idsc-fact span {
  display: block;
  color: var(--idsc-muted);
  font-size: 13px;
  line-height: 1.45;
}

.idsc-cta {
  border-left: 4px solid var(--idsc-amber);
  background: #effaf8;
  padding: 16px 20px;
  border-radius: 0 5px 5px 0;
  margin: 24px 0;
  max-width: var(--idsc-prosa);
}

.idsc-cta strong { color: var(--idsc-navy); }


/* ==========================================================================
   8. KARTU SIDEBAR — dasar
   ========================================================================== */

.pkp_block {
  border: 1px solid var(--idsc-line);
  border-radius: 6px;
  background: #fff;
  margin-bottom: 18px;
  overflow: hidden;
  padding: 0;
}

.pkp_block .title {
  display: block;
  background: var(--idsc-surface);
  border-bottom: 1px solid rgba(11, 92, 85, .28);
  border-top: 3px solid var(--idsc-navy);
  color: #063B36;
  font-size: 15px !important;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 11px 15px;
  margin: 0;
}

.pkp_block .content {
  background: #E1F6F2;
  padding: 14px 15px;
  font-size: 15.5px !important;
  line-height: 1.55;
  color: #0C4F49;
}

.pkp_block .content p:last-child { margin-bottom: 0; }

.pkp_block .content ul {
  list-style: none;
  margin: -14px -15px;
  padding: 0;
}

.pkp_block .content ul li { border-bottom: 1px solid rgba(11, 92, 85, .20); }
.pkp_block .content ul li:last-child { border-bottom: none; }

.pkp_block .content ul li a {
  display: block;
  padding: 10px 15px;
  color: var(--idsc-navy);
  text-decoration: none;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  transition: background .18s ease, color .18s ease, padding-left .18s ease;
}

.pkp_block .content ul li a:hover,
.pkp_block .content ul li a:focus {
  background: #C2EBE4 !important;
  color: #063B36 !important;
  padding-left: 19px;
  text-decoration: none;
  box-shadow: none;
}


/* ==========================================================================
   9. SIDEBAR — MAKE A SUBMISSION
   Untuk mematikan animasi denyut, hapus baris "animation" di bawah.
   ========================================================================== */

.block_make_submission {
  background: var(--idsc-purple-bg) !important;
  border: 1px solid var(--idsc-purple-l) !important;
}

.block_make_submission::before {
  content: "Submit here \2193";
  display: block;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--idsc-purple-tx);
  background: var(--idsc-purple-bg);
  padding: 10px 15px 0;
  margin-bottom: -4px;
}

.block_make_submission .content {
  background: var(--idsc-purple-bg) !important;
  padding-top: 6px !important;
}

.block_make_submission .content a {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  background: #004943;
  color: var(--idsc-gold) !important;
  border: 6px solid var(--idsc-gold);
  border-radius: 4px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.25;
  text-transform: uppercase;
  padding: 17px 12px;
  box-shadow: 0 0 0 rgba(255, 215, 0, .7);
  animation: idscPulseGoldGlow 1.8s infinite;
  transition: transform .2s ease, background .2s ease;
}

.block_make_submission .content a:hover {
  background: #0A6B62;
  color: var(--idsc-gold-l) !important;
  transform: scale(1.03);
}

@keyframes idscPulseGoldGlow {
  0%   { box-shadow: 0 0 0 0 rgba(255, 215, 0, .6); }
  70%  { box-shadow: 0 0 0 14px rgba(255, 215, 0, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0); }
}


/* ==========================================================================
   10. SIDEBAR — BLOK TEMPLATE
   Butuh isi custom block memakai markup .idsc-tpl
   ========================================================================== */

#customblock-template .content { padding: 14px 15px !important; }
#customblock-template .content ul { margin: 0; }
#customblock-template .content ul li a::before { content: none; }

.idsc-tpl a {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 0;
}

.idsc-tpl-ico {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 62px;
  margin: 0 0 8px !important;
  background: #fff;
  border: 2.5px solid var(--idsc-purple-d);
  border-radius: 4px;
}

/* Sudut terlipat */
.idsc-tpl-ico::before {
  content: "";
  position: absolute;
  top: -2.5px;
  right: -2.5px;
  width: 0;
  height: 0;
  border-top: 17px solid var(--idsc-purple-d);
  border-left: 17px solid transparent;
  border-radius: 0 4px 0 0;
}

/* Dua garis teks */
.idsc-tpl-ico::after {
  content: "";
  position: absolute;
  top: 22px;
  left: 8px;
  right: 8px;
  height: 10px;
  background:
    linear-gradient(#9FDFD4, #9FDFD4) top left / 100% 3px no-repeat,
    linear-gradient(#9FDFD4, #9FDFD4) bottom left / 100% 3px no-repeat;
  border-radius: 2px;
}

.idsc-tpl-tag {
  position: absolute;
  left: -6px;
  bottom: 6px;
  width: 44px;
  background: var(--idsc-purple-d);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 16px;
  text-align: center;
  border-radius: 3px;
}

.idsc-tpl-desc {
  display: block;
  font-size: 13px;
  color: var(--idsc-muted);
  line-height: 1.45;
  margin-bottom: 8px !important;
}

.idsc-tpl-btn {
  display: block;
  background: #004943;
  color: #fff;
  padding: 11px 12px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  transition: background .18s ease;
}

.idsc-tpl a:hover .idsc-tpl-btn { background: #0A6B62; }


/* ==========================================================================
   11. SIDEBAR — BLOK TOOLS
   Logo disisipkan sebagai data URI agar markup tidak perlu tag kosong.
   ========================================================================== */

#customblock-tools .content {
  display: block;
  padding: 18px 15px;
  text-align: center;
}

.idsc-tool a {
  display: block;
  text-decoration: none;
  padding: 0;
}

.idsc-tool-name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 16px;
  color: var(--idsc-ink);
  letter-spacing: .02em;
  margin-bottom: 8px;
}

.idsc-tool-name::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  background: url("data:image/svg+xml,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%239D1620'><path d='M12.0037 9.1684h.019a2.355 2.355 0 011.5038 4.1655 1.8076 1.8076 0 01-.8561.452 2.348 2.348 0 01-.6487.0923h-.019c-.2246 0-.4421-.033-.6487-.0922a1.8126 1.8126 0 01-.8561-.4521 2.346 2.346 0 01-.8511-1.8106 2.358 2.358 0 012.3569-2.355m-9.9731 9.474c1.2652.1583 2.388-.762 2.5073-2.0573a2.4442 2.4442 0 00-.2136-1.236c-1.7724-3.8889 6.9726-3.978 5.4949-.3078l-.01.016c-.6988 1.1178-.3198 2.5695.841 3.2402.4272.2486.9003.3508 1.3625.3308.4622.02.9354-.0822 1.3624-.3308 1.161-.6717 1.54-2.1224.8412-3.2402l-.01-.016c-1.4778-3.6703 7.2682-3.581 5.4938.3077a2.4462 2.4462 0 00-.2126 1.2361c.1203 1.2953 1.2422 2.2156 2.5083 2.0572a2.345 2.345 0 001.4246-.7368s.5885-.4883.5795-1.7334c-.008-1.0156-.5795-1.578-.5795-1.578a2.2116 2.2116 0 00-1.8145-.6456c-1.6231-.036-1.8637-1.3073-1.4056-3.7033.1685-.4251.2416-.8802.2266-1.3354a3.4166 3.4166 0 00-2.1304-3.2953c-.039-.017-.0782-.03-.1183-.0461a1.5138 1.5138 0 00-.1343-.0461 3.4156 3.4156 0 00-4.004 1.4526c-.8171.8973-1.187 1.4417-2.0272 1.4417-.799 0-1.211-.5444-2.0271-1.4417a3.4126 3.4126 0 00-4.1374-1.4075c-.0401.016-.0792.029-.1193.0461a3.4156 3.4156 0 00-2.1294 3.2953c-.016.4552.0582.9103.2256 1.3354.4581 2.397.2175 3.6672-1.4045 3.7033-.795-.0852-1.3885.2426-1.988.8431-.6016.5995-.5514 2.2056 0 2.9063.4.5103.9423.8632 1.598.9454'/></svg>") center / contain no-repeat;
  transition: transform .18s ease;
}

.idsc-tool a:hover .idsc-tool-name::before { transform: scale(1.08); }
.idsc-tool a:hover .idsc-tool-name { color: var(--idsc-navy); }

.idsc-tool-desc {
  display: block;
  font-size: 12.5px;
  color: var(--idsc-muted);
  line-height: 1.45;
}


/* ==========================================================================
   12. SIDEBAR — BLOK INDEKS
   ========================================================================== */

/* Aturan di bawah dikaitkan ke kelas idsc-idx, bukan ke nama blok kustom,
   sehingga blok INDEKS tampil sama di jurnal mana pun tanpa peduli bloknya
   diberi nama "indexed", "indeks", atau yang lain. */

.pkp_block .content .idsc-idx {
  display: block;
  text-align: left;
}

.pkp_block .content .idsc-idx-tag {
  display: inline-block;
  background: var(--idsc-amber-bg);
  color: var(--idsc-amber-d);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
}

.pkp_block .content .idsc-idx-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.pkp_block .content .idsc-idx-logos a {
  display: block;
  flex: 0 0 auto;
  line-height: 0;
}

.pkp_block .content .idsc-idx-logos img {
  display: block;
  max-width: 110px;
  max-height: 34px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform .18s ease;
}

.pkp_block .content .idsc-idx-logos a:hover img { transform: scale(1.06); }

.pkp_block .content .idsc-idx-note {
  display: block;
  font-size: 11.5px;
  color: var(--idsc-muted);
  line-height: 1.5;
  margin-top: 12px;
}


/* ==========================================================================
   13. SIDEBAR — BLOK LAIN
   ========================================================================== */

#customblock-issn .content { text-align: center; }

#customblock-issn .content strong {
  display: block;
  color: var(--idsc-navy);
  font-size: 15px;
  letter-spacing: .04em;
}

#customblock-statistik .content { text-align: center; }
#customblock-statistik .content img { max-width: 100%; height: auto; }


/* ==========================================================================
   14. FOOTER
   Butuh div[class] diizinkan di allowed_html.
   ========================================================================== */

.pkp_structure_footer_wrapper {
  background-color: #9BDDD2;
  background-image: none;
  color: #0C4F49;
  border-top: 3px solid var(--idsc-navy);
  padding-top: 12px !important;
  padding-bottom: 16px !important;
}

.pkp_structure_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px;
  background-color: #9BDDD2;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pkp_footer_content {
  flex: 1 1 460px;
  background-color: #9BDDD2;
  color: #0C4F49;
  font-size: 15px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pkp_footer_content a { color: #0B5C55; text-decoration: none; }
.pkp_footer_content a:hover { color: #063B36; text-decoration: underline; }
.pkp_footer_content hr { display: none !important; }

.idsc-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  padding: 6px 0 14px !important;
  margin-top: 0 !important;
}

.idsc-fcol { flex: 1 1 200px; min-width: 180px; }

.idsc-fcol strong {
  display: block;
  color: #063B36;
  font-size: 15px !important;
  font-weight: 700;
  text-transform: none !important;
  letter-spacing: .01em !important;
  margin: 0 0 6px !important;
  padding-bottom: 0;
}

.idsc-fcol p {
  margin: 0 0 2px;
  font-size: 15px !important;
  line-height: 1.5;
}

.idsc-fcol ul { list-style: none; margin: 0; padding: 0; }

.idsc-fcol ul li {
  margin-bottom: 4px;
  font-size: 15px !important;
  line-height: 1.45;
}

.idsc-fbottom {
  flex: 1 1 100%;
  width: 100%;
  border-top: none !important;
  font-size: 15px !important;
  padding: 2px 0 0 !important;
  margin-bottom: 0 !important;
}

.idsc-fbottom p { margin: 0 0 4px; line-height: 1.45; }
.idsc-fbottom p:last-child { margin-bottom: 0 !important; }

/* Logo OJS/PKP.
   translateY di bawah adalah geseran manual — kalau tinggi footer berubah,
   inilah angka yang perlu disesuaikan, bukan yang lain. */
.pkp_brand_footer {
  flex: 0 0 auto;
  align-self: flex-start;
  background-color: #9BDDD2;
  margin: 0 80px 0 auto !important;
  padding: 0;
  transform: translateY(64px);
}

.pkp_brand_footer img {
  display: block;
  max-width: 120px;
  height: auto;
  opacity: .55;
  filter: brightness(0) invert(1);
}

.pkp_brand_footer img:hover { opacity: .85; }


/* ==========================================================================
   15. AKSESIBILITAS  — BARU
   ========================================================================== */

/* Penanda fokus keyboard. Penting karena latar tautan sudah ditimpa di
   banyak tempat, sehingga penanda bawaan tema jadi tidak terlihat. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--idsc-amber);
  outline-offset: 2px;
  border-radius: 2px;
}

.pkp_navigation_primary > li > a:focus-visible,
.block_make_submission .content a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}

/* Tautan lompat OJS terlihat saat difokus */
.skip a:focus,
.pkp_navigation_skip a:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  background: var(--idsc-navy);
  color: #fff;
  padding: 10px 16px;
  z-index: 100;
}

/* Hormati preferensi pengguna yang sensitif terhadap gerak.
   Wajib untuk WCAG 2.2.2 — tanpa ini, denyut tombol Submit berjalan terus
   dan tidak bisa dihentikan pembaca. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  .block_make_submission .content a {
    animation: none !important;
    box-shadow: 0 0 0 4px rgba(255, 215, 0, .35);
  }

  .block_make_submission .content a:hover { transform: none; }
}


/* ==========================================================================
   16. PONSEL DAN LAYAR SEDANG
   ========================================================================== */

@media (max-width: 991px) {
  .pkp_structure_content { display: block; }

  .pkp_structure_main,
  .pkp_structure_sidebar {
    flex: none;
    width: 100% !important;
    max-width: none !important;
  }

  .pkp_structure_sidebar {
    margin-top: 28px;
    border-left: none;
    border-right: none;
    border-top: 3px solid var(--idsc-line-2);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .idsc-footer { gap: 22px; }
}

@media (max-width: 767px) {
  :root {
    --idsc-teks: 16px;
    --idsc-prosa: 100%;
  }

  html { font-size: 100%; }

  .pkp_structure_page,
  .pkp_head_wrapper,
  .pkp_site_name_wrapper,
  .pkp_structure_footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .pkp_navigation_primary { padding-left: 0 !important; }
  .pkp_navigation_primary > li > a[href*="about/submissions"] { margin: 6px 0; }
  .pkp_navigation_primary > li + li::before { display: none; }

  .idsc-fact {
    flex: 1 1 50%;
    border-bottom: 1px solid var(--idsc-line);
  }

  .idsc-fact:nth-child(2n) { border-right: none; }

  .pkp_brand_footer {
    margin: 12px 0 0 !important;
    transform: none;
  }

  /* BARU — tabel bisa digeser mendatar alih-alih memaksa halaman melebar */
  .obj_static_page table,
  .pkp_structure_main .page table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
}


/* ==========================================================================
   17. CETAK  — BARU
   Naskah dan halaman kebijakan sering dicetak penulis dan asesor.
   ========================================================================== */

@media print {
  .pkp_structure_head,
  .pkp_navigation_primary_row,
  .pkp_navigation_user_wrapper,
  .pkp_structure_sidebar,
  .pkp_structure_footer_wrapper,
  .cmp_breadcrumbs,
  .block_make_submission {
    display: none !important;
  }

  .pkp_structure_main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  body,
  .pkp_structure_page,
  .pkp_structure_main,
  .pkp_structure_main p,
  .pkp_structure_main li {
    font-size: 11pt !important;
    line-height: 1.5;
    color: #000 !important;
    background: #fff !important;
  }

  .obj_static_page > p,
  .obj_static_page > ul,
  .obj_static_page > ol { max-width: none; }

  a { color: #000 !important; text-decoration: underline; }

  /* Tampilkan alamat tautan agar versi cetak tetap berguna */
  .pkp_structure_main a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #444;
  }

  h1, h2, h3 { page-break-after: avoid; }
  table, figure { page-break-inside: avoid; }
}


/* ==========================================================================
   18. HALAMAN PENYERAHAN NASKAH — TAMPILAN RINGKAS
   Menyembunyikan seluruh isi halaman /about/submissions, menyisakan
   hanya kotak berisi dua tautan tindakan.

   Datanya tidak dihapus: daftar tilik tetap muncul sebagai kotak centang
   pada Langkah 1 pengiriman naskah, dan pernyataan privasi tetap muncul
   pada formulir registrasi serta di halaman Pernyataan Privasi.

   Bila setelah upgrade OJS kedua bagian ini muncul lagi, berarti nama
   kelas pada tema berubah. Tidak ada yang rusak — cukup sesuaikan
   selektor di bawah.
   ========================================================================== */

/* Sembunyikan SELURUH isi halaman kecuali kotak dua tautan tindakan */
.pkp_op_submissions .page > *:not(.pkp_notification):not(.cmp_notification),
.page_submissions > *:not(.pkp_notification):not(.cmp_notification) {
  display: none !important;
}

.pkp_op_submissions .page > .pkp_notification,
.pkp_op_submissions .page > .cmp_notification,
.page_submissions > .pkp_notification,
.page_submissions > .cmp_notification {
  display: block !important;
  margin: 10px 0 0;
  padding: 22px 26px;
  background: var(--idsc-purple-bg) !important;
  border: none !important;
  border-left: 5px solid #004943 !important;
  border-radius: 0 6px 6px 0;
  font-size: 17px;
  line-height: 1.7;
}

.pkp_op_submissions .page a,
.page_submissions a {
  color: #004943;
  font-weight: 700;
  text-decoration: underline;
}

.pkp_op_submissions .page a:hover,
.page_submissions a:hover { color: #0A6B62; }


/* ==========================================================================
   TAMBAHAN — RAPATKAN JARAK HEADER
   Tempel di BARIS PALING BAWAH stylesheet, setelah semua blok lain.
   Blok ini hanya membuang jarak. Tidak ada struktur yang diubah,
   jadi kalau hasilnya tidak sesuai, cukup hapus blok ini saja.
   ========================================================================== */

/* --- 1. Buang seluruh jarak bawaan di rantai header --- */
.pkp_structure_head,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name .is_img,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- 2. Hilangkan celah bawah gambar --- */
/* Gambar adalah elemen inline, jadi browser menyisakan ruang untuk
   garis dasar huruf di bawahnya. font-size: 0 menghapus celah itu. */
.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name .is_img {
  font-size: 0 !important;
  line-height: 0 !important;
}

.pkp_site_name img {
  display: block !important;
  vertical-align: bottom !important;
}

/* --- 3. Tautan admin / login melayang di atas banner --- */
/* Tanpa ini, baris admin mengambil jalurnya sendiri dan menciptakan
   pita putih di atas banner. */
.pkp_structure_head {
  position: relative !important;
}

.pkp_navigation_user_wrapper {
  position: absolute !important;
  top: 10px !important;
  right: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 5;
}

/* --- 4. Rapatkan jarak antara batang menu dan isi halaman --- */
.pkp_structure_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
