/* =========================================================
   GGJME - Global Journal of Mathematics Education
   OJS 3.4 Default Theme
   Palet: Teal - Putih - Abu-abu lembut
   Versi revisi: header proporsional, responsif, tanpa mengubah
   struktur utama kolom dan sidebar OJS.
   ========================================================= */

/* 1. DASAR */
html {
    overflow-x: clip;
    background: #f5f7f7;
}

body {
    margin: 0;
    padding: 0;
    overflow-x: clip;
    background: #f5f7f7;
    color: #292522;
    font-family: Tahoma, Geneva, sans-serif;
    line-height: 1.6;
}

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

img {
    max-width: 100%;
}

a {
    color: #236775;
}

a:hover,
a:focus {
    color: #103b45;
}

.journals ul .body .description a {
    display: inline;
}

.container > ul {
    list-style: none;
}

.obj_article_details .abstract {
    text-align: justify;
}

/* 2. HEADER / BANNER
   Menjaga gambar banner utuh dan membatasi tinggi visualnya.
   Latar teal menggantikan ruang biru di sisi header. */

#headerNavigationContainer {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: linear-gradient(110deg, #174f5a 0%, #236775 52%, #103b45 100%);
    border-bottom: 2px solid #8bb5bb;
}

.pkp_site_name_wrapper {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 !important;
    background: transparent;
}

.pkp_site_name {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    line-height: 0;
}

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

.pkp_site_name .is_img {
    display: block;
    width: 100%;
}

.pkp_site_name_wrapper a.is_img img,
.pkp_site_name .is_img img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain;
    object-position: center;
    margin: 0 auto;
}

/* Login / Register */
.pkp_navigation_user_wrapper {
    position: absolute;
    top: 8px;
    right: max(12px, calc((100% - 1240px) / 2));
    z-index: 30;
    padding: 0 10px;
}

.pkp_navigation_user_wrapper a {
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.9rem;
}

.pkp_navigation_user_wrapper a:hover,
.pkp_navigation_user_wrapper a:focus {
    color: #e6f0f1 !important;
}

/* 3. STRUKTUR HALAMAN
   Tidak mengubah display/flex kolom utama OJS. */
.pkp_structure_page {
    width: 100%;
    max-width: 1280px;
    margin: 18px auto 24px !important;
    padding: 0 18px 20px !important;
}

.pkp_structure_main,
.pkp_structure_sidebar {
    min-width: 0;
}

/* 4. MENU NAVIGASI UTAMA */
.pkp_navigation_primary_row {
    width: 100%;
    padding-left: max(18px, calc((100% - 1240px) / 2));
    padding-right: max(18px, calc((100% - 1240px) / 2));
    background: linear-gradient(
        90deg,
        #ffffff 0%,
        #eaf2f3 28%,
        #dbeaec 48%,
        #2d7180 76%,
        #174f5a 100%
    );
    border-top: 1px solid #8bb5bb;
    border-bottom: 2px solid #8bb5bb;
}

.pkp_navigation_primary {
    text-align: left;
}

#navigationPrimary > li > a {
    padding: 12px 16px;
    border-bottom: 3px solid transparent;
    color: #174f5a;
    font-weight: 600;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

#navigationPrimary > li > a:hover,
#navigationPrimary > li > a:focus {
    border-bottom-color: #236775;
    color: #236775;
    background-color: rgba(255, 255, 255, .35);
}

#navigationPrimary ul {
    background: #ffffff;
    border: 1px solid #8bb5bb;
    box-shadow: 0 5px 14px rgba(45, 10, 15, .12);
}

#navigationPrimary ul li a {
    color: #174f5a;
}

#navigationPrimary ul li a:hover,
#navigationPrimary ul li a:focus {
    color: #ffffff;
    background: #236775;
}

.pkp_navigation_search_wrapper a {
    color: #174f5a;
    font-weight: 600;
}

.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
    border-color: #8bb5bb;
    border-bottom: 2px solid #236775;
    color: #236775;
}

/* 5. BLOK DAN SIDEBAR
   Tidak mengubah lebar kolom/sidebar bawaan OJS. */
.pkp_block {
    min-width: 0;
    padding: 1rem;
}

.pkp_page_index .homepage_about {
    text-align: justify;
}

span.blockTitle {
    display: block;
    margin-bottom: 14px;
    padding: .65em .9em;
    color: #ffffff;
    font-weight: 700;
    background: linear-gradient(135deg, #236775 0%, #174f5a 55%, #103b45 100%);
    border: 1px solid #8bb5bb;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(77, 7, 18, .16);
}

.pkp_block .title {
    display: block;
    padding: .65em .9em;
    color: #ffffff;
    font-weight: 600;
    text-align: center;
    background: linear-gradient(135deg, #236775 0%, #174f5a 55%, #103b45 100%);
    border: 1px solid #8bb5bb;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(77, 7, 18, .16);
}

/* 6. CUSTOM BLOCK MENU SIDEBAR */
#customblock-new-menu .content {
    text-align: center;
}

#customblock-new-menu a,
#customblock-menu-baru a {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 10px 12px !important;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    color: #174f5a !important;
    background: linear-gradient(135deg, #ffffff 0%, #e6f0f1 42%, #8fb7bd 72%, #236775 100%) !important;
    border: 1px solid #9a6a32;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    box-shadow: 0 2px 5px rgba(91, 11, 22, .14);
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

#customblock-new-menu a:hover,
#customblock-new-menu a:focus,
#customblock-menu-baru a:hover,
#customblock-menu-baru a:focus {
    color: #ffffff !important;
    background: linear-gradient(135deg, #236775 0%, #174f5a 55%, #103b45 100%) !important;
    border-color: #8bb5bb;
    box-shadow: 0 3px 8px rgba(77, 7, 18, .22);
}

/* Hindari aturan global yang membuat semua tautan sidebar
   berubah menjadi tombol. Hanya custom menu yang ditata sebagai tombol. */
.block_customblock .content a {
    overflow-wrap: anywhere;
}

/* 7. INFORMASI JURNAL / HOMEPAGE */
.homepage_about a {
    color: #236775;
}

.homepage_about a:hover,
.homepage_about a:focus {
    color: #103b45;
}

.pkp_page_index h1,
.pkp_page_index h2,
.pkp_page_index h3,
.pkp_page_index .current_issue h2,
.pkp_page_index .current_issue h3 {
    color: #174f5a;
}

/* 8. FOOTER */
.pkp_footer_content {
    float: left;
    width: 65%;
    padding: 12px 10px 12px 0;
}

.pkp_brand_footer {
    float: right;
    width: 30%;
    padding: 24px 0 12px 10px;
}

.pkp_structure_footer_wrapper {
    overflow: hidden;
    background: #edf3f4;
    border-top: 2px solid #8bb5bb;
    border-bottom: 3px double #236775;
}

/* 9. TABLET */
@media screen and (max-width: 1024px) {
    .pkp_site_name_wrapper {
        max-width: 100%;
    }

    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        max-height: 240px !important;
    }

    .pkp_structure_page {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .pkp_navigation_primary_row {
        padding-left: 14px;
        padding-right: 14px;
    }

    .pkp_block {
        padding: .75rem;
    }
}

/* 10. PONSEL */
@media screen and (max-width: 768px) {
    body {
        font-size: 14px;
        padding: 0;
    }

    #headerNavigationContainer {
        width: 100%;
    }

    .pkp_site_name_wrapper,
    .pkp_site_name,
    .pkp_site_name > a,
    .pkp_site_name a.is_img {
        width: 100%;
        max-width: 100%;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 180px !important;
        object-fit: contain;
    }

    .pkp_navigation_user_wrapper {
        top: 4px;
        right: 4px;
        padding: 0 5px;
        font-size: 12px;
    }

    .pkp_navigation_user_wrapper a {
        font-size: 12px;
    }

    .pkp_structure_page {
        width: 100%;
        margin: 0 auto !important;
        padding: 12px 10px 18px !important;
    }

    .pkp_navigation_primary_row {
        padding: 5px 10px;
        border-top: 1px solid #8bb5bb;
        border-bottom: 1px solid #8bb5bb;
    }

    .pkp_navigation_primary {
        text-align: left;
    }

    #navigationPrimary > li > a {
        padding: 9px 12px;
        font-size: 14px;
    }

    .pkp_navigation_search_wrapper {
        margin-top: 6px;
        text-align: left;
    }

    .pkp_block {
        padding: .5rem 0 !important;
    }

    #customblock-new-menu a,
    #customblock-menu-baru a {
        padding: 10px 12px !important;
        margin-bottom: 7px !important;
    }

    .pkp_footer_content,
    .pkp_brand_footer {
        float: none;
        width: 100%;
        padding: 10px 0;
        text-align: center;
    }

    .homepage_about {
        padding: 10px;
    }

    .obj_article_details .abstract {
        padding: 10px;
        font-size: 14px;
    }
}

/* 11. PONSEL KECIL */
@media screen and (max-width: 480px) {
    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        max-height: 130px !important;
    }

    .pkp_structure_page {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    #navigationPrimary > li > a {
        padding: 8px 10px;
    }

    span.blockTitle,
    .pkp_block .title {
        font-size: 14px;
    }
}

/* Palet:
   Putih terang #ffffff | Putih #eaf2f3 | Gold #8bb5bb
   Teal #236775 | Teal gelap #174f5a | Teal pekat #103b45 */


/* =========================================================
   GJME FIX 2 — HEADER PENUH, LEBIH PENDEK, NAVIGASI MOBILE
   Tempel di bagian PALING AKHIR stylesheet.
   ========================================================= */

/* Samakan latar header dengan banner dan hilangkan batas lebar gambar */
#headerNavigationContainer,
.pkp_head_wrapper,
.pkp_site_name_wrapper {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: #164e59 !important;
}

/* Jangan potong banner pada pembungkus header */
#headerNavigationContainer,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name a.is_img {
    overflow: visible !important;
}

/* Desktop: gambar memenuhi lebar area header dan lebih pendek.
   Banner dipotong sedikit di bagian atas/bawah agar proporsional. */
.pkp_site_name {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

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

.pkp_site_name_wrapper a.is_img img,
.pkp_site_name .is_img img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(170px, 19vw, 250px) !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
}

/* Latar navigasi selebar header */
.pkp_navigation_primary_row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Pastikan tombol hamburger dan panel navigasi berada di atas elemen header.
   Tidak menetapkan display paksa agar mekanisme buka/tutup OJS tetap bekerja. */
.pkp_site_nav_toggle {
    position: relative;
    z-index: 1100 !important;
    color: #ffffff !important;
    background: #164e59 !important;
    border-color: #8bb5bb !important;
    cursor: pointer;
}

.pkp_navigation_primary_wrapper {
    position: relative;
    z-index: 1050 !important;
}

.pkp_navigation_primary,
#navigationPrimary {
    position: relative;
    z-index: 1051 !important;
}

/* Mobile: tampilkan seluruh banner secara utuh agar logo dan ISSN tidak terpotong.
   Karena gambar mengikuti rasio aslinya, tinggi akan menyesuaikan lebar layar. */
@media screen and (max-width: 768px) {
    #headerNavigationContainer,
    .pkp_head_wrapper,
    .pkp_site_name_wrapper {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        background: #164e59 !important;
    }

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

    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    /* Jangan menutupi tombol menu dengan gambar/banner */
    .pkp_site_nav_toggle {
        position: relative !important;
        z-index: 1100 !important;
        display: block;
        background: #164e59 !important;
        color: #ffffff !important;
    }

    .pkp_navigation_primary_wrapper {
        position: relative !important;
        z-index: 1050 !important;
        background: #ffffff;
    }

    /* Biarkan OJS mengatur status tampil/sembunyi menu.
       Hanya rapikan tampilannya saat panel dibuka. */
    #navigationPrimary > li > a {
        padding: 10px 14px !important;
        color: #174f5a !important;
        border-bottom: 1px solid rgba(201, 154, 62, .35);
    }

    .pkp_navigation_search_wrapper {
        position: relative;
        z-index: 1051;
    }
}

@media screen and (max-width: 480px) {
    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        height: auto !important;
        max-height: none !important;
    }
}


/* =========================================================
   GJME FIX 3 — CEGAH HEADER TERPOTONG / CONTENT OVERLAP
   Tempel paling akhir. Mengutamakan gambar utuh dan alur layout.
   ========================================================= */

/* Header tidak diberi ruang kosong di atas dan tidak memotong gambar */
#headerNavigationContainer,
.pkp_head_wrapper,
.pkp_site_name_wrapper {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
    background: #164e59 !important;
}

/* Wrapper gambar ikut tinggi gambar; hindari object-fit:cover yang memangkas judul */
.pkp_site_name_wrapper {
    display: flow-root !important;
    line-height: 0 !important;
}

.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name a.is_img,
.pkp_site_name .is_img {
    position: relative !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;
}

.pkp_site_name_wrapper a.is_img img,
.pkp_site_name .is_img img {
    position: relative !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
}

/* Menu navigasi tetap selebar header */
.pkp_navigation_primary_row {
    position: relative !important;
    z-index: 20 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Halaman utama harus mulai setelah header selesai, bukan menumpukinya */
.pkp_structure_page {
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
    margin-top: 0 !important;
}

/* Tombol hamburger tampil di depan banner.
   Tidak memaksa panel menu selalu terbuka. */
.pkp_site_nav_toggle {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 2000 !important;
    color: #ffffff !important;
    background: #164e59 !important;
    border: 1px solid #8bb5bb !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .18);
}

/* Header teal konsisten hingga tepi viewport */
.pkp_head_wrapper {
    background: #164e59 !important;
    border-bottom: 0 !important;
}

/* Desktop: gambar utuh dan lebar penuh. Tinggi mengikuti rasio file banner.
   Jangan gunakan fixed height/object-fit:cover karena memotong logo/judul. */
@media screen and (min-width: 769px) {
    #headerNavigationContainer,
    .pkp_head_wrapper,
    .pkp_site_name_wrapper {
        width: 100% !important;
        max-width: none !important;
    }

    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
}

/* Mobile: banner ikut alur dokumen, sehingga additional content tidak menimpanya */
@media screen and (max-width: 768px) {
    #headerNavigationContainer,
    .pkp_head_wrapper,
    .pkp_site_name_wrapper,
    .pkp_site_name {
        position: relative !important;
        display: flow-root !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #164e59 !important;
    }

    .pkp_site_name_wrapper a.is_img img,
    .pkp_site_name .is_img img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .pkp_structure_page {
        position: relative !important;
        clear: both !important;
        margin-top: 0 !important;
        padding-top: 12px !important;
    }

    .pkp_navigation_primary_row {
        position: relative !important;
        z-index: 2100 !important;
    }

    .pkp_navigation_primary_wrapper {
        position: relative !important;
        z-index: 2101 !important;
    }

    .pkp_site_nav_toggle {
        top: 8px !important;
        left: 8px !important;
        z-index: 2200 !important;
    }
}


/* =========================================================
   FINAL MOBILE HEADER ALIGNMENT — GJME / OJS 3.4
   Tujuan: gambar tidak terpotong di sisi kanan dan tetap
   memenuhi lebar layar yang benar-benar tersedia.
   Catatan: gunakan 100%, bukan 100vw, karena 100vw dapat
   menghitung area scrollbar dan membuat banner melebar.
   ========================================================= */

html,
body {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

#headerNavigationContainer,
.pkp_head_wrapper {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #164e59 !important;
    box-sizing: border-box !important;
}

.pkp_site_name_wrapper {
    position: relative !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #164e59 !important;
    box-sizing: border-box !important;
    line-height: 0 !important;
}

.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name a.is_img,
.pkp_site_name .is_img {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    line-height: 0 !important;
    box-sizing: border-box !important;
}

#headerNavigationContainer .pkp_site_name_wrapper a.is_img img,
#headerNavigationContainer .pkp_site_name .is_img img,
.pkp_head_wrapper .pkp_site_name_wrapper a.is_img img,
.pkp_head_wrapper .pkp_site_name .is_img img {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    box-sizing: border-box !important;
}

/* Tombol menu berada di atas banner, tanpa mengubah ukuran gambar */
.pkp_site_nav_toggle {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    z-index: 5000 !important;
    color: #ffffff !important;
    background: #164e59 !important;
    border: 1px solid #8bb5bb !important;
}

/* Menu dan konten berada pada lapisan yang benar */
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper {
    position: relative !important;
    z-index: 3000 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.pkp_structure_page {
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
}

/* Di ponsel gunakan lebar yang tersedia, tanpa 100vw dan tanpa
   margin kalkulasi yang dapat mendorong logo kanan keluar layar. */
@media screen and (max-width: 768px) {
    #headerNavigationContainer,
    .pkp_head_wrapper,
    .pkp_site_name_wrapper,
    .pkp_site_name,
    .pkp_site_name > a,
    .pkp_site_name a.is_img,
    .pkp_site_name .is_img {
        width: 100% !important;
        max-width: 100% !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        transform: none !important;
        background-color: #164e59 !important;
    }

    #headerNavigationContainer .pkp_site_name_wrapper a.is_img img,
    #headerNavigationContainer .pkp_site_name .is_img img,
    .pkp_head_wrapper .pkp_site_name_wrapper a.is_img img,
    .pkp_head_wrapper .pkp_site_name .is_img img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .pkp_structure_page {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 12px 10px 18px !important;
    }
}


/* =========================================================
   GJME — CURRENT ISSUE ARTICLE CARDS
   OJS 3.4 Default Theme
   Scope sengaja dibatasi pada daftar artikel di halaman depan
   agar arsip, detail artikel, header, dan sidebar tidak berubah.
   ========================================================= */

/* Heading Current Issue dan Articles */
.pkp_page_index .current_issue > h2,
.pkp_page_index .current_issue h2,
.pkp_page_index .current_issue .title {
    color: #174f5a;
}

.pkp_page_index .current_issue > h2 {
    margin-bottom: 1.35rem;
    padding-bottom: .55rem;
    border-bottom: 2px solid #8bb5bb;
}

/* Area daftar artikel */
.pkp_page_index .current_issue .sections,
.pkp_page_index .current_issue .section {
    min-width: 0;
}

/* Kartu per artikel */
.pkp_page_index .current_issue .obj_article_summary {
    position: relative;
    min-width: 0;
    margin: 0 0 18px !important;
    padding: 20px 20px 18px 23px !important;
    background: #ffffff;
    border: 1px solid #d9e5e7 !important;
    border-left: 4px solid #236775 !important;
    border-radius: 7px;
    box-shadow: 0 2px 8px rgba(67, 25, 25, .045);
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pkp_page_index .current_issue .obj_article_summary:hover {
    border-color: #a9c8cc !important;
    border-left-color: #8bb5bb !important;
    box-shadow: 0 5px 14px rgba(67, 25, 25, .09);
}

/* Judul artikel */
.pkp_page_index .current_issue .obj_article_summary .title,
.pkp_page_index .current_issue .obj_article_summary h3.title {
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: #174f5a;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.pkp_page_index .current_issue .obj_article_summary .title a {
    color: #174f5a !important;
    text-decoration: none;
    text-underline-offset: 3px;
}

.pkp_page_index .current_issue .obj_article_summary .title a:hover,
.pkp_page_index .current_issue .obj_article_summary .title a:focus {
    color: #103b45 !important;
    text-decoration: underline;
}

/* Penulis dan metadata */
.pkp_page_index .current_issue .obj_article_summary .authors {
    margin: 0 0 6px !important;
    color: #5e5853;
    font-size: .88rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.pkp_page_index .current_issue .obj_article_summary .pages,
.pkp_page_index .current_issue .obj_article_summary .published,
.pkp_page_index .current_issue .obj_article_summary .doi {
    margin-top: 4px;
    color: #77716a;
    font-size: .82rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Jangan paksa metadata ke sisi kanan; tetap rapi pada layar sempit */
.pkp_page_index .current_issue .obj_article_summary .meta,
.pkp_page_index .current_issue .obj_article_summary .item {
    min-width: 0;
}

/* Tautan galley/PDF */
.pkp_page_index .current_issue .obj_article_summary ul.galleys_links,
.pkp_page_index .current_issue .obj_article_summary .galleys_links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    list-style: none;
}

.pkp_page_index .current_issue .obj_article_summary .galleys_links li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.pkp_page_index .current_issue .obj_article_summary .galleys_links a,
.pkp_page_index .current_issue .obj_article_summary .galleys_links .obj_galley_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px !important;
    color: #fff !important;
    background: #236775 !important;
    border: 1px solid #236775 !important;
    border-radius: 4px;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: none;
    transition: background-color .18s ease, border-color .18s ease;
}

.pkp_page_index .current_issue .obj_article_summary .galleys_links a:hover,
.pkp_page_index .current_issue .obj_article_summary .galleys_links a:focus,
.pkp_page_index .current_issue .obj_article_summary .galleys_links .obj_galley_link:hover {
    color: #fff !important;
    background: #236775 !important;
    border-color: #236775 !important;
}

/* Jaga konsistensi heading bagian Articles */
.pkp_page_index .current_issue .section h3,
.pkp_page_index .current_issue .section_title {
    margin: 22px 0 14px;
    color: #174f5a;
    font-size: 1.05rem;
    font-weight: 600;
}

/* Ponsel: padding lebih kecil dan area sentuh tombol tetap nyaman */
@media screen and (max-width: 768px) {
    .pkp_page_index .current_issue .obj_article_summary {
        margin-bottom: 13px !important;
        padding: 15px 14px 15px 17px !important;
        border-radius: 6px;
        box-shadow: 0 1px 5px rgba(67, 25, 25, .05);
    }

    .pkp_page_index .current_issue .obj_article_summary .title,
    .pkp_page_index .current_issue .obj_article_summary h3.title {
        font-size: .94rem;
        line-height: 1.5;
    }

    .pkp_page_index .current_issue .obj_article_summary .authors {
        font-size: .83rem;
    }

    .pkp_page_index .current_issue .obj_article_summary .pages,
    .pkp_page_index .current_issue .obj_article_summary .published,
    .pkp_page_index .current_issue .obj_article_summary .doi {
        font-size: .78rem;
    }

    .pkp_page_index .current_issue .obj_article_summary .galleys_links {
        margin-top: 10px !important;
    }

    .pkp_page_index .current_issue .obj_article_summary .galleys_links a,
    .pkp_page_index .current_issue .obj_article_summary .galleys_links .obj_galley_link {
        min-height: 38px;
        padding: 9px 13px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pkp_page_index .current_issue .obj_article_summary,
    .pkp_page_index .current_issue .obj_article_summary .galleys_links a {
        transition: none !important;
    }
}


/* =========================================================
   GJME — HIDE JOURNAL COVER ON MOBILE
   Dipertahankan terpisah agar desain kartu Current Issue
   di atas tidak berubah.
   ========================================================= */
@media screen and (max-width: 600px) {
    .pkp_page_index .jme-cover-column,
    .jme-cover-column {
        display: none !important;
        width: 0 !important;
        max-width: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }
}



/* =========================================================
   GJME MOBILE NAVIGATION FIX — OJS 3.4
   Tujuan:
   1) Tombol hamburger berada di bawah banner, bukan menutupi logo.
   2) Login/Register terlihat pada layar HP.
   3) Tidak mengubah gaya kartu artikel maupun aturan sampul.
   ========================================================= */

@media screen and (max-width: 768px) {
    /* Jadikan pembungkus banner sebagai acuan posisi tombol menu */
    #headerNavigationContainer,
    .pkp_head_wrapper,
    .pkp_site_name_wrapper {
        position: relative !important;
        overflow: visible !important;
    }

    /* Tombol hamburger dipindahkan ke tepat di bawah banner.
       Ruang pada bar navigasi disiapkan agar tombol tidak menutupi link menu. */
    .pkp_site_nav_toggle {
        position: absolute !important;
        top: 100% !important;
        bottom: auto !important;
        left: 10px !important;
        right: auto !important;
        transform: translateY(0) !important;
        z-index: 5000 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-width: 42px;
        min-height: 40px;
        margin: 0 !important;
        padding: 7px 10px !important;
        color: #ffffff !important;
        background: #164e59 !important;
        border: 1px solid #8bb5bb !important;
        border-radius: 4px !important;
        box-shadow: 0 2px 5px rgba(0, 0, 0, .14);
    }

    /* Tombol hamburger diposisikan tepat setelah tinggi banner.
       Padding bagian atas memberi ruang agar tidak menimpa tautan navigasi. */
    .pkp_navigation_primary_row {
        position: relative !important;
        z-index: 3000 !important;
        min-height: 54px;
        padding-top: 46px !important;
        padding-bottom: 8px !important;
        background: linear-gradient(
            90deg,
            #ffffff 0%,
            #eaf2f3 35%,
            #2d7180 75%,
            #164e59 100%
        ) !important;
        border-top: 1px solid #8bb5bb !important;
        border-bottom: 2px solid #8bb5bb !important;
    }

    .pkp_navigation_primary_wrapper {
        position: relative !important;
        z-index: 3001 !important;
        width: 100% !important;
        background: transparent !important;
    }

    /* Panel menu tetap mengikuti mekanisme buka/tutup bawaan OJS */
    .pkp_navigation_primary,
    #navigationPrimary {
        position: relative !important;
        z-index: 3002 !important;
        max-width: 100% !important;
    }

    #navigationPrimary > li > a {
        color: #174f5a !important;
        padding: 10px 13px !important;
        border-bottom: 1px solid rgba(201, 154, 62, .35) !important;
    }

    /* Tampilkan Login/Register pada baris tersendiri di bawah navigasi.
       !important mengatasi aturan tema yang menyembunyikannya di layar kecil. */
    .pkp_navigation_user_wrapper {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        text-align: right !important;
        background: #164e59 !important;
        border-top: 1px solid rgba(201, 154, 62, .6) !important;
        box-sizing: border-box !important;
        z-index: 3003 !important;
    }

    .pkp_navigation_user_wrapper ul,
    #navigationUser {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 6px 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pkp_navigation_user_wrapper li {
        display: inline-block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pkp_navigation_user_wrapper a {
        display: inline-block !important;
        padding: 5px 8px !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
        text-decoration: none !important;
        border: 1px solid rgba(201, 154, 62, .7) !important;
        border-radius: 4px !important;
        background: rgba(255, 248, 235, .08) !important;
    }

    .pkp_navigation_user_wrapper a:hover,
    .pkp_navigation_user_wrapper a:focus {
        color: #164e59 !important;
        background: #ffffff !important;
    }
}

@media screen and (max-width: 480px) {
    .pkp_site_nav_toggle {
        left: 8px !important;
        min-width: 40px;
        min-height: 38px;
    }

    .pkp_navigation_primary_row {
        padding-top: 44px !important;
    }

    .pkp_navigation_user_wrapper {
        padding: 7px 8px !important;
    }
}


/* =========================================================
   GJME MOBILE NAVIGATION — POLISHED MENU + VISIBLE CLOSE
   Based on current approved CSS. Does not alter article cards
   or mobile cover visibility.
   ========================================================= */

@media screen and (max-width: 768px) {
    /* Header/banner stays visually separate from the opened menu */
    #headerNavigationContainer,
    .pkp_head_wrapper {
        position: relative !important;
        z-index: 7000 !important;
        overflow: visible !important;
        isolation: isolate;
    }

    /* Compact navigation strip directly under the banner */
    .pkp_navigation_primary_row {
        position: relative !important;
        z-index: 6000 !important;
        min-height: 56px !important;
        height: auto !important;
        padding: 8px 10px !important;
        background: linear-gradient(90deg, #ffffff 0%, #eaf2f3 38%, #2d7180 75%, #164e59 100%) !important;
        border-top: 1px solid #8bb5bb !important;
        border-bottom: 2px solid #8bb5bb !important;
        box-sizing: border-box !important;
    }

    /* Keep the toggle in the navigation strip, not over the banner.
       Header stacking order keeps it visible when the menu is open. */
    .pkp_site_nav_toggle {
        position: absolute !important;
        top: 100% !important;
        left: 10px !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        z-index: 10000 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 6px !important;
        color: #ffffff !important;
        background: #164e59 !important;
        border: 1px solid #8bb5bb !important;
        border-radius: 5px !important;
        box-shadow: 0 2px 5px rgba(45, 10, 15, .16) !important;
        cursor: pointer !important;
    }

    /* Open state: convert the button visually into a clear close (×).
       The real OJS button remains clickable and retains its toggle behavior. */
    .pkp_site_nav_toggle[aria-expanded="true"] {
        color: transparent !important;
        font-size: 0 !important;
        background: #103b45 !important;
        border-color: #e0b65f !important;
    }

    .pkp_site_nav_toggle[aria-expanded="true"] > * {
        visibility: hidden !important;
    }

    .pkp_site_nav_toggle[aria-expanded="true"]::after {
        content: "×";
        display: block;
        color: #ffffff;
        font-family: Arial, sans-serif;
        font-size: 30px;
        font-weight: 400;
        line-height: 1;
        visibility: visible !important;
    }

    /* Open navigation panel: clean, bounded, and scrollable if needed */
    .pkp_navigation_primary_wrapper {
        position: relative !important;
        z-index: 6500 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .pkp_navigation_primary,
    #navigationPrimary {
        position: relative !important;
        z-index: 6501 !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 190px);
        overflow-y: auto !important;
        margin: 0 !important;
        padding: 48px 12px 10px !important;
        background: linear-gradient(115deg, #ffffff 0%, #eaf2f3 43%, #2d7180 78%, #164e59 100%) !important;
        border: 1px solid #8bb5bb !important;
        border-radius: 0 0 6px 6px !important;
        box-shadow: 0 8px 20px rgba(45, 10, 15, .18) !important;
        box-sizing: border-box !important;
    }

    #navigationPrimary > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(123, 16, 32, .14) !important;
    }

    #navigationPrimary > li > a {
        display: block !important;
        width: 100% !important;
        padding: 11px 12px !important;
        color: #174f5a !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    #navigationPrimary > li > a:hover,
    #navigationPrimary > li > a:focus {
        color: #ffffff !important;
        background: #236775 !important;
    }

    #navigationPrimary ul {
        position: static !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        padding: 5px 8px !important;
        background: #fffaf0 !important;
        border: 1px solid #a9c8cc !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }

    #navigationPrimary ul li a {
        display: block !important;
        padding: 8px !important;
        color: #174f5a !important;
        overflow-wrap: anywhere;
    }

    /* Search stays in the same visual system */
    .pkp_navigation_search_wrapper {
        position: relative !important;
        z-index: 6502 !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        background: #edf4f5 !important;
        border-bottom: 1px solid #8bb5bb !important;
    }

    .pkp_navigation_search_wrapper a {
        color: #174f5a !important;
        font-weight: 700 !important;
    }

    /* Login/Register remain visible at the bottom of the menu panel */
    .pkp_navigation_user_wrapper {
        position: relative !important;
        z-index: 6503 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        text-align: right !important;
        background: #164e59 !important;
        border-top: 1px solid #8bb5bb !important;
        box-sizing: border-box !important;
    }

    .pkp_navigation_user_wrapper ul,
    #navigationUser {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pkp_navigation_user_wrapper li {
        display: inline-block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pkp_navigation_user_wrapper a {
        display: inline-block !important;
        padding: 7px 11px !important;
        color: #ffffff !important;
        background: rgba(255, 248, 235, .08) !important;
        border: 1px solid #8bb5bb !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        text-decoration: none !important;
    }

    .pkp_navigation_user_wrapper a:hover,
    .pkp_navigation_user_wrapper a:focus {
        color: #164e59 !important;
        background: #ffffff !important;
    }
}

@media screen and (max-width: 480px) {
    .pkp_navigation_primary_row {
        min-height: 52px !important;
        padding: 7px 8px !important;
    }

    .pkp_site_nav_toggle {
        top: 100% !important;
        left: 8px !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    .pkp_navigation_primary,
    #navigationPrimary {
        padding: 44px 9px 8px !important;
    }
}


/* =========================================================
   GJME — ARTICLE CARDS ON ARCHIVE ISSUE PAGES
   OJS 3.4 Default Theme
   Hanya untuk halaman edisi arsip, bukan halaman detail artikel.
   ========================================================= */

/* Card setiap artikel pada halaman edisi arsip */
.pkp_page_issue .obj_article_summary {
    position: relative;
    min-width: 0;
    box-sizing: border-box;
    margin: 0 0 18px !important;
    padding: 20px 20px 18px 23px !important;

    background: #ffffff !important;
    border: 1px solid #d9e5e7 !important;
    border-left: 4px solid #236775 !important;
    border-radius: 7px !important;
    box-shadow: 0 2px 8px rgba(67, 25, 25, .045);

    transition: border-color .18s ease,
                box-shadow .18s ease;
}

/* Efek hover */
.pkp_page_issue .obj_article_summary:hover {
    border-color: #a9c8cc !important;
    border-left-color: #8bb5bb !important;
    box-shadow: 0 5px 14px rgba(67, 25, 25, .09);
}

/* Judul artikel */
.pkp_page_issue .obj_article_summary .title,
.pkp_page_issue .obj_article_summary h3.title {
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: #174f5a !important;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.pkp_page_issue .obj_article_summary .title a {
    color: #174f5a !important;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.pkp_page_issue .obj_article_summary .title a:hover,
.pkp_page_issue .obj_article_summary .title a:focus {
    color: #103b45 !important;
    text-decoration: underline;
}

/* Nama penulis */
.pkp_page_issue .obj_article_summary .authors {
    margin: 0 0 6px !important;
    color: #5e5853;
    font-size: .88rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

/* Nomor halaman dan metadata */
.pkp_page_issue .obj_article_summary .pages,
.pkp_page_issue .obj_article_summary .published,
.pkp_page_issue .obj_article_summary .doi {
    margin-top: 4px;
    color: #77716a;
    font-size: .82rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Tombol PDF */
.pkp_page_issue .obj_article_summary ul.galleys_links,
.pkp_page_issue .obj_article_summary .galleys_links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    list-style: none;
}

.pkp_page_issue .obj_article_summary .galleys_links li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.pkp_page_issue .obj_article_summary .galleys_links a,
.pkp_page_issue .obj_article_summary .galleys_links .obj_galley_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px !important;

    color: #fff !important;
    background: #236775 !important;
    border: 1px solid #236775 !important;
    border-radius: 4px;

    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: none;
}

.pkp_page_issue .obj_article_summary .galleys_links a:hover,
.pkp_page_issue .obj_article_summary .galleys_links a:focus,
.pkp_page_issue .obj_article_summary .galleys_links .obj_galley_link:hover {
    color: #fff !important;
    background: #236775 !important;
    border-color: #236775 !important;
}

/* Responsif pada tablet dan ponsel */
@media screen and (max-width: 768px) {
    .pkp_page_issue .obj_article_summary {
        margin-bottom: 13px !important;
        padding: 15px 14px 15px 17px !important;
        border-radius: 6px !important;
    }

    .pkp_page_issue .obj_article_summary .title,
    .pkp_page_issue .obj_article_summary h3.title {
        font-size: .94rem;
        line-height: 1.5;
    }

    .pkp_page_issue .obj_article_summary .authors {
        font-size: .83rem;
    }

    .pkp_page_issue .obj_article_summary .pages,
    .pkp_page_issue .obj_article_summary .published,
    .pkp_page_issue .obj_article_summary .doi {
        font-size: .78rem;
    }

    .pkp_page_issue .obj_article_summary .galleys_links a,
    .pkp_page_issue .obj_article_summary .galleys_links .obj_galley_link {
        min-height: 38px;
        padding: 9px 13px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pkp_page_issue .obj_article_summary {
        transition: none !important;
    }
}

/* =========================================================
   GJME — NAVIGASI UTAMA TANPA MARUN
   Selaras dengan banner dan sidebar: ungu, biru langit, emas.
   Tempel di akhir stylesheet agar menimpa aturan lama.
   Struktur dan mekanisme navigasi OJS tetap dipertahankan.
   ========================================================= */

.pkp_navigation_primary_row {
    background: linear-gradient(
        100deg,
        #A89ACB 0%,
        #B8CBEA 42%,
        #E5EAF6 72%,
        #F3E8B5 100%
    ) !important;
    border-top: 1px solid #D8C77F !important;
    border-bottom: 3px solid #E8C96A !important;
}

/* Tautan menu utama */
#navigationPrimary > li > a {
    color: #173B68 !important;
    border-bottom-color: transparent !important;
    background: transparent !important;
}

/* Hover/fokus menu utama */
#navigationPrimary > li > a:hover,
#navigationPrimary > li > a:focus,
#navigationPrimary > li > a[aria-expanded="true"] {
    color: #173B68 !important;
    background: rgba(255, 255, 255, 0.38) !important;
    border-bottom-color: #E8C96A !important;
}

/* Dropdown menu */
#navigationPrimary ul {
    background: #F8FAFE !important;
    border: 1px solid #D8C77F !important;
    box-shadow: 0 5px 14px rgba(23, 59, 104, 0.12) !important;
}

#navigationPrimary ul li a {
    color: #173B68 !important;
    background: transparent !important;
}

#navigationPrimary ul li a:hover,
#navigationPrimary ul li a:focus {
    color: #173B68 !important;
    background: #E1E9F7 !important;
}

/* Pencarian di sisi kanan navigasi */
.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
    color: #173B68 !important;
    border-color: #E8C96A !important;
}

/* Tombol hamburger pada perangkat seluler */
.pkp_site_nav_toggle {
    color: #173B68 !important;
    background: linear-gradient(110deg, #A89ACB, #B8CBEA, #F3E8B5) !important;
    border: 1px solid #D8C77F !important;
}

/* Panel navigasi seluler saat dibuka */
@media screen and (max-width: 768px) {
    .pkp_navigation_primary_row {
        background: linear-gradient(
            100deg,
            #A89ACB 0%,
            #B8CBEA 48%,
            #E5EAF6 78%,
            #F3E8B5 100%
        ) !important;
        border-top: 1px solid #D8C77F !important;
        border-bottom: 2px solid #E8C96A !important;
    }

    .pkp_navigation_primary,
    #navigationPrimary {
        background: linear-gradient(
            115deg,
            #F8FAFE 0%,
            #E5EAF6 55%,
            #D8D0EB 100%
        ) !important;
        border-color: #D8C77F !important;
        box-shadow: 0 8px 20px rgba(23, 59, 104, 0.14) !important;
    }

    #navigationPrimary > li > a {
        color: #173B68 !important;
        border-bottom: 1px solid rgba(23, 59, 104, 0.12) !important;
        background: transparent !important;
    }

    #navigationPrimary > li > a:hover,
    #navigationPrimary > li > a:focus {
        color: #173B68 !important;
        background: rgba(255, 255, 255, 0.62) !important;
    }

    #navigationPrimary ul {
        background: #F8FAFE !important;
        border-color: #D8C77F !important;
    }

    #navigationPrimary ul li a {
        color: #173B68 !important;
    }

    .pkp_navigation_search_wrapper {
        background: #E5EAF6 !important;
        border-bottom-color: #D8C77F !important;
    }

    .pkp_navigation_search_wrapper a {
        color: #173B68 !important;
    }
}

/* Pastikan warna teal lama tidak muncul pada tombol tutup hamburger */
@media screen and (max-width: 768px) {
    .pkp_site_nav_toggle[aria-expanded="true"] {
        color: transparent !important;
        background: #71669F !important;
        border-color: #E8C96A !important;
    }

    .pkp_site_nav_toggle[aria-expanded="true"]::after {
        color: #FFFFFF !important;
    }
}

/* =========================================================
   FINAL FIX — SIDEBAR KEMBALI SELARAS DENGAN HEADER
   Ditambahkan paling akhir agar tidak tertimpa aturan lama.
   Tidak mengubah navigasi atas, struktur, atau ukuran kolom.
   ========================================================= */

/* Judul blok sidebar: ACCREDITATION, MENU, dan judul lainnya */
.pkp_structure_sidebar .pkp_block span.blockTitle,
.pkp_structure_sidebar span.blockTitle,
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .pkp_block_title,
.pkp_structure_sidebar .block_title {
    color: #173B68 !important;
    background: linear-gradient(
        105deg,
        #A89ACB 0%,
        #B8CBEA 48%,
        #E5EAF6 78%,
        #F3E8B5 100%
    ) !important;
    border: 1px solid #D8C77F !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 5px rgba(23, 59, 104, 0.12) !important;
}

/* Tombol menu sidebar: Focus and Scope, Editorial Team, Reviewer, dll. */
.pkp_structure_sidebar #customblock-new-menu a,
.pkp_structure_sidebar #customblock-menu-baru a,
.pkp_structure_sidebar .block_customblock .content a {
    color: #173B68 !important;
    background: linear-gradient(
        110deg,
        #FFFDF5 0%,
        #E6EDF8 42%,
        #C2B8DF 76%,
        #E8C96A 100%
    ) !important;
    border: 1px solid #C6AD62 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 5px rgba(23, 59, 104, 0.10) !important;
}

/* Hover tombol menu sidebar */
.pkp_structure_sidebar #customblock-new-menu a:hover,
.pkp_structure_sidebar #customblock-new-menu a:focus,
.pkp_structure_sidebar #customblock-menu-baru a:hover,
.pkp_structure_sidebar #customblock-menu-baru a:focus,
.pkp_structure_sidebar .block_customblock .content a:hover,
.pkp_structure_sidebar .block_customblock .content a:focus {
    color: #FFFFFF !important;
    background: linear-gradient(
        110deg,
        #496F9D 0%,
        #71669F 68%,
        #9B8BBD 100%
    ) !important;
    border-color: #E8C96A !important;
    box-shadow: 0 3px 8px rgba(23, 59, 104, 0.18) !important;
}

/* Garis pemisah sidebar */
.pkp_structure_sidebar {
    border-color: #D8C77F !important;
}

/* Jaga keterbacaan isi dan tautan sidebar */
.pkp_structure_sidebar .pkp_block .content a {
    text-underline-offset: 2px;
}

.pkp_structure_sidebar .pkp_block .content a:hover,
.pkp_structure_sidebar .pkp_block .content a:focus {
    color: #315B8C !important;
}

/* Penyesuaian kecil untuk layar ponsel */
@media screen and (max-width: 768px) {
    .pkp_structure_sidebar .pkp_block span.blockTitle,
    .pkp_structure_sidebar span.blockTitle,
    .pkp_structure_sidebar .pkp_block .title,
    .pkp_structure_sidebar .pkp_block_title,
    .pkp_structure_sidebar .block_title {
        border-radius: 5px !important;
    }

    .pkp_structure_sidebar #customblock-new-menu a,
    .pkp_structure_sidebar #customblock-menu-baru a,
    .pkp_structure_sidebar .block_customblock .content a {
        border-radius: 5px !important;
    }
}


/* =========================================================
   GJME — PERBAIKAN KHUSUS NAVIGASI ATAS DAN SIDEBAR
   Warna mengikuti sampul: biru tua + biru terang.
   Tidak mengubah banner, konten utama, atau struktur kolom.
   ========================================================= */

/* Background bar navigasi atas */
.pkp_navigation_primary_row {
    background: #171f78 !important;
    border-top: 1px solid #2f4ca0 !important;
    border-bottom: 2px solid #4d83c5 !important;
}

/* Menu CURRENT, ARCHIVES, ABOUT */
#navigationPrimary > li > a {
    color: #ffffff !important;
    background: transparent !important;
    border-bottom-color: transparent !important;
}

#navigationPrimary > li > a:hover,
#navigationPrimary > li > a:focus,
#navigationPrimary > li > a[aria-current="page"] {
    color: #ffffff !important;
    background: #2c4398 !important;
    border-bottom-color: #78a9e0 !important;
}

/* Ikon dan tautan SEARCH */
.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
    color: #ffffff !important;
    border-bottom-color: #78a9e0 !important;
}

/* Dropdown navigasi */
#navigationPrimary ul {
    background: #ffffff !important;
    border: 1px solid #2c4398 !important;
}

#navigationPrimary ul li a {
    color: #17245f !important;
}

#navigationPrimary ul li a:hover,
#navigationPrimary ul li a:focus {
    color: #ffffff !important;
    background: #2c4398 !important;
}

/* Judul blok/sidebar MENU */
.pkp_structure_sidebar span.blockTitle,
.pkp_structure_sidebar .pkp_block .title {
    color: #ffffff !important;
    background: #171f78 !important;
    border: 1px solid #4d83c5 !important;
    border-bottom: 3px solid #78a9e0 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* Tombol menu custom pada sidebar */
.pkp_structure_sidebar #customblock-new-menu a,
.pkp_structure_sidebar #customblock-menu-baru a {
    color: #ffffff !important;
    background: #356a99 !important;
    border: 1px solid #356a99 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* Hover tombol sidebar: biru tua seperti banner */
.pkp_structure_sidebar #customblock-new-menu a:hover,
.pkp_structure_sidebar #customblock-new-menu a:focus,
.pkp_structure_sidebar #customblock-menu-baru a:hover,
.pkp_structure_sidebar #customblock-menu-baru a:focus {
    color: #ffffff !important;
    background: #171f78 !important;
    border-color: #78a9e0 !important;
    box-shadow: none !important;
}

/* Fallback untuk tema yang membungkus blok custom dengan kelas berbeda */
.pkp_structure_sidebar .block_customblock .content a {
    color: #ffffff !important;
    background-color: #356a99 !important;
}

/* Mobile: pertahankan palet yang sama pada menu navigasi atas */
@media screen and (max-width: 768px) {
    .pkp_navigation_primary_row {
        background: #171f78 !important;
        border-top: 1px solid #2f4ca0 !important;
        border-bottom: 2px solid #4d83c5 !important;
    }

    .pkp_navigation_primary,
    #navigationPrimary {
        background: #ffffff !important;
        border-color: #356a99 !important;
    }

    #navigationPrimary > li > a {
        color: #17245f !important;
    }

    #navigationPrimary > li > a:hover,
    #navigationPrimary > li > a:focus {
        color: #ffffff !important;
        background: #356a99 !important;
    }

    .pkp_navigation_search_wrapper {
        background: #eef3fa !important;
        border-bottom-color: #4d83c5 !important;
    }

    .pkp_navigation_search_wrapper a {
        color: #17245f !important;
    }
}


/* =========================================================
   GJME — SEMBUNYIKAN PANEL SAMPUL PADA LAYAR HP
   Tambahan ini tidak mengubah tampilan desktop.
   ========================================================= */
@media screen and (max-width: 600px) {
    .gjme-journal-profile .gjme-cover-column {
        display: none !important;
    }

    .gjme-journal-profile {
        margin-top: 12px !important;
        margin-bottom: 20px !important;
    }

    .gjme-journal-profile > div {
        width: 100% !important;
        max-width: 100% !important;
    }

    .gjme-journal-profile > div > div:not(.gjme-cover-column) {
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   GJME — NAVIGASI BAWAH HP (VERSI BERSIH)
   OJS 3.4 | Current, Archives, Search, More
   ========================================================= */

/* Desktop: jangan tampilkan navigasi khusus HP */
#gjme-mobile-nav,
#gjme-mobile-more-panel {
    display: none !important;
}

@media screen and (max-width: 768px) {
    /* Sembunyikan sidebar vertikal dan navigasi lama di HP */
    .pkp_structure_sidebar,
    .pkp_site_nav_toggle {
        display: none !important;
    }

    #gjme-mobile-nav {
        position: fixed !important;
        z-index: 99990 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 6px 5px calc(6px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
        background: #171f78 !important;
        border-top: 2px solid #159cc9 !important;
        box-shadow: 0 -4px 16px rgba(10, 25, 65, 0.18) !important;
    }

    #gjme-mobile-nav a,
    #gjme-mobile-nav button {
        display: flex !important;
        flex: 1 1 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        min-width: 0 !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 4px 2px !important;
        box-sizing: border-box !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: transparent !important;
        color: #ffffff !important;
        font-family: Tahoma, Geneva, sans-serif !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: normal !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent;
    }

    #gjme-mobile-nav a:hover,
    #gjme-mobile-nav a:focus,
    #gjme-mobile-nav button:hover,
    #gjme-mobile-nav button:focus,
    #gjme-mobile-nav .is-active {
        color: #ffffff !important;
        background: #356a99 !important;
        outline: none !important;
    }

    /* Kunci ukuran SVG agar tidak muncul sebagai gambar hitam raksasa */
    #gjme-mobile-nav svg,
    #gjme-mobile-nav a svg,
    #gjme-mobile-nav button svg {
        display: block !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        flex: 0 0 22px !important;
        overflow: visible !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    #gjme-mobile-nav svg path,
    #gjme-mobile-nav svg circle,
    #gjme-mobile-nav svg line,
    #gjme-mobile-nav svg polyline,
    #gjme-mobile-nav svg rect {
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        vector-effect: non-scaling-stroke;
    }

    /* Ruang bawah agar konten tidak tertutup navigasi tetap */
    body {
        padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    }

    /* Panel More — gunakan satu ID yang sama dengan footer.tpl */
    #gjme-mobile-more-panel {
        display: none !important;
        position: fixed !important;
        z-index: 99989 !important;
        left: 10px !important;
        right: 10px !important;
        bottom: calc(72px + env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
        max-height: min(62vh, 480px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 16px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid #d5e3ed !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 28px rgba(10, 25, 65, 0.24) !important;
    }

    #gjme-mobile-more-panel.is-open {
        display: block !important;
    }

    #gjme-mobile-more-panel .gjme-more-heading {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: 0 0 10px !important;
        padding: 0 0 10px !important;
        color: #173c72 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        border-bottom: 2px solid #159cc9 !important;
    }

    #gjme-mobile-more-panel .gjme-more-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #173c72 !important;
        font-size: 25px !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    #gjme-mobile-more-list {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 7px !important;
    }

    #gjme-mobile-more-list a {
        display: block !important;
        width: 100% !important;
        padding: 11px 12px !important;
        box-sizing: border-box !important;
        border-radius: 6px !important;
        background: #356a99 !important;
        color: #ffffff !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        text-decoration: none !important;
        overflow-wrap: anywhere !important;
    }

    #gjme-mobile-more-list a:hover,
    #gjme-mobile-more-list a:focus {
        background: #171f78 !important;
        color: #ffffff !important;
    }
}


/* GJME: Mobile More panel */
#gjme-more-panel {
    display: none !important;
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 78px !important;
    z-index: 99998 !important;
    max-height: 65vh !important;
    overflow-y: auto !important;
    padding: 16px !important;
    background: #ffffff !important;
    border: 1px solid #e0e4ed !important;
    border-radius: 14px !important;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.18) !important;
    box-sizing: border-box !important;
}

#gjme-more-panel.is-open {
    display: block !important;
}

#gjme-more-panel .gjme-more-panel-inner {
    display: block !important;
}

#gjme-more-panel .gjme-more-heading {
    margin: 0 0 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #e5e7eb !important;
    color: #182477 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

#gjme-more-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

#gjme-more-panel a.gjme-more-link {
    display: block !important;
    padding: 12px 8px !important;
    border-bottom: 1px solid #edf0f5 !important;
    color: #25316e !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
}

#gjme-more-panel a.gjme-more-link:last-child {
    border-bottom: none !important;
}

#gjme-more-panel a.gjme-more-link.gjme-account-link {
    margin-bottom: 4px !important;
    color: #182477 !important;
    font-weight: 700 !important;
}

#gjme-mobile-nav {
    z-index: 99999 !important;
}

#gjme-mobile-nav .gjme-nav-item {
    cursor: pointer;
}

@media (min-width: 769px) {
    #gjme-mobile-nav,
    #gjme-more-panel {
        display: none !important;
    }
}


/* Sembunyikan branding OJS/PKP pada footer */
.pkp_brand_footer {
    display: none !important;
}


/* =========================================
   GJME - Responsive Indexing Logos on Mobile
   ========================================= */

@media screen and (max-width: 768px) {

    /* Area footer yang berisi alamat dan logo indeksasi */
    .pkp_structure_footer_wrapper {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .pkp_structure_footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 10px !important;
        overflow: hidden !important;
    }

    /* Konten HTML logo indeksasi */
    .pkp_footer_content {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .pkp_footer_content img {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 48px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    /* Baris logo yang biasanya menggunakan tabel atau gambar inline */
    .pkp_footer_content table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: separate !important;
        border-spacing: 4px !important;
    }

    .pkp_footer_content td {
        width: 33.333% !important;
        max-width: 33.333% !important;
        padding: 2px !important;
        vertical-align: middle !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .pkp_footer_content a {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Hindari elemen footer melampaui layar */
    .pkp_structure_footer_wrapper * {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Sisakan ruang di bawah agar footer tidak tertutup navigasi */
    body {
        padding-bottom: 68px !important;
    }
}


/* ==========================================
   GJME - Archive Issues as Modern Cards
   OJS 3.4 Default Theme
   ========================================== */

/* Container daftar issue pada halaman Archives */
.page_issue_archive .issues_archive,
.page_issue_archive ul.issues_archive {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 24px 0 !important;
    list-style: none !important;
}

/* Setiap issue menjadi card */
.page_issue_archive .issues_archive > li,
.page_issue_archive li.issue {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 22px !important;
    background: #ffffff !important;
    border: 1px solid #e3e7ef !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 12px rgba(20, 35, 80, 0.06) !important;
    box-sizing: border-box !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease,
                transform 0.2s ease !important;
}

/* Efek hover untuk desktop */
@media (hover: hover) {
    .page_issue_archive .issues_archive > li:hover,
    .page_issue_archive li.issue:hover {
        border-color: #8abac5 !important;
        box-shadow: 0 7px 20px rgba(20, 35, 80, 0.11) !important;
        transform: translateY(-2px);
    }
}

/* Judul issue */
.page_issue_archive .issues_archive .title,
.page_issue_archive li.issue .title,
.page_issue_archive .issues_archive h2,
.page_issue_archive li.issue h2 {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #17677b !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

/* Tautan judul */
.page_issue_archive .issues_archive .title a,
.page_issue_archive li.issue .title a,
.page_issue_archive .issues_archive h2 a,
.page_issue_archive li.issue h2 a {
    color: #17677b !important;
    text-decoration: none !important;
}

/* Informasi volume dan nomor */
.page_issue_archive .issues_archive .description,
.page_issue_archive li.issue .description,
.page_issue_archive .issues_archive .published,
.page_issue_archive li.issue .published {
    color: #687386 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* Gambar sampul jika tersedia */
.page_issue_archive .issues_archive img,
.page_issue_archive li.issue img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 14px !important;
    border-radius: 6px !important;
    object-fit: contain !important;
}

/* Tablet dan HP */
@media screen and (max-width: 768px) {
    .page_issue_archive .issues_archive,
    .page_issue_archive ul.issues_archive {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        margin: 18px 0 !important;
    }

    .page_issue_archive .issues_archive > li,
    .page_issue_archive li.issue {
        padding: 17px !important;
        border-radius: 10px !important;
    }

    .page_issue_archive .issues_archive .title,
    .page_issue_archive li.issue .title,
    .page_issue_archive .issues_archive h2,
    .page_issue_archive li.issue h2 {
        font-size: 15px !important;
    }
}

