@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');
@import url('https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ==========================================================================
   PERBAIKAN TOTAL IKON FONTAWESOME DI LIVE OJS (BULLETPROOF FALLBACK ENGINE)
   ========================================================================== */

/* 1. IMPOR DENGAN 3 CDN TRIPLE FALLBACK */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');
@import url('https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css');
@import url('https://use.fontawesome.com/releases/v6.5.1/css/all.css');

/* 2. DEFINISI FONT-FACE STANDAR FONTAWESOME 6 FREE */
@font-face {
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2") format("woff2"),
         url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.ttf") format("truetype");
}

/* 3. PAKSA FONT FAMILY DAN DISPLAY UNTUK SEMUA IKON */
i.fa, i.fas, i.far, i.fal, i.fad, i.fab, i.fa-solid, i.fa-regular, i.fa-brands, 
[class*="fa-"], i[class*="fa-"], span[class*="fa-"],
.glass-menu-item-orange i, .glass-btn-orange i, .sidebar-group-header i, .journal-info-banner-header i {
    font-family: "Font Awesome 6 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 4. MAPPING UNICODE LENGKAP UNTUK SEMUA IKON TEMA JURNAL (TIDAK AKAN HILANG) */
.fa-house::before, i.fa-house::before { content: "\f015" !important; }
.fa-box-archive::before, i.fa-box-archive::before { content: "\f187" !important; }
.fa-circle-info::before, i.fa-circle-info::before { content: "\f05a" !important; }
.fa-caret-down::before, i.fa-caret-down::before { content: "\f0d7" !important; }
.fa-book::before, i.fa-book::before { content: "\f02d" !important; }
.fa-file-export::before, i.fa-file-export::before { content: "\f56e" !important; }
.fa-user-tie::before, i.fa-user-tie::before { content: "\f508" !important; }
.fa-user-check::before, i.fa-user-check::before { content: "\f4fc" !important; }
.fa-scale-balanced::before, i.fa-scale-balanced::before { content: "\f24e" !important; }
.fa-envelope::before, i.fa-envelope::before { content: "\f0e0" !important; }
.fa-trophy::before, i.fa-trophy::before { content: "\f091" !important; }
.fa-book-open::before, i.fa-book-open::before { content: "\f518" !important; }
.fa-globe::before, i.fa-globe::before { content: "\f0ac" !important; }
.fa-hashtag::before, i.fa-hashtag::before { content: "\f292" !important; }
.fa-calendar-days::before, i.fa-calendar-days::before { content: "\f073" !important; }
.fa-link::before, i.fa-link::before { content: "\f0c1" !important; }
.fa-barcode::before, i.fa-barcode::before { content: "\f02a" !important; }
.fa-building-columns::before, i.fa-building-columns::before { content: "\f19c" !important; }
.fa-chart-pie::before, i.fa-chart-pie::before { content: "\f200" !important; }
.fa-users::before, i.fa-users::before { content: "\f0c0" !important; }
.fa-clipboard-check::before, i.fa-clipboard-check::before { content: "\f46c" !important; }
.fa-user-gear::before, i.fa-user-gear::before { content: "\f4fe" !important; }
.fa-pen-nib::before, i.fa-pen-nib::before { content: "\f5ad" !important; }
.fa-file-contract::before, i.fa-file-contract::before { content: "\f56c" !important; }
.fa-bullseye::before, i.fa-bullseye::before { content: "\f140" !important; }
.fa-layer-group::before, i.fa-layer-group::before { content: "\f5fd" !important; }
.fa-clock::before, i.fa-clock::before { content: "\f017" !important; }
.fa-file-arrow-down::before, i.fa-file-arrow-down::before { content: "\f56d" !important; }
.fa-file-word::before, i.fa-file-word::before { content: "\f1c2" !important; }
.fa-shield-halved::before, i.fa-shield-halved::before { content: "\f3ed" !important; }

/* ==========================================================================
   RESET & LAYOUT DASAR HALAMAN OJS
   ========================================================================== */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 50%, #a7f3d0 100%) fixed !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: #022c22 !important;
}

.pkp_structure_page,
.pkp_structure_head,
#headerNavigationContainer,
.pkp_head_wrapper,
.pkp_site_name_wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Header Banner Gambar Pas & Proporsional */
.pkp_site_name_wrapper {
    text-align: center !important;
    padding: 10px 0 !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.pkp_site_name {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.pkp_site_name a.is_img {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    text-decoration: none !important;
}

.pkp_site_name a.is_img img,
.pkp_site_name img,
.pkp_structure_head img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 160px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(6, 78, 59, 0.15) !important;
}

/* ==========================================================================
   HEADER NAVIGASI UTAMA & DROPDOWN SUB-MENU
   ========================================================================== */
.pkp_structure_head {
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 15px !important;
}

.pkp_navigation_primary_row {
    background: linear-gradient(135deg, #064e3b 0%, #059669 50%, #34d399 100%) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(167, 243, 208, 0.4) !important;
    box-shadow: 0 10px 30px rgba(6, 78, 59, 0.25) !important;
    padding: 0 16px !important;
    position: relative !important;
    z-index: 99999 !important;
    overflow: visible !important;
}

.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    position: relative !important;
    z-index: 99999 !important;
    overflow: visible !important;
}

.pkp_navigation_primary, #navigationPrimary, .pkp_nav_list {
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 4px !important;
}

.pkp_navigation_primary > li,
.pkp_navigation_user > li,
#navigationPrimary > li,
#navigationUser > li,
.pkp_nav_list > li {
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pkp_navigation_primary_wrapper ul li a,
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
#navigationPrimary > li > a,
#navigationUser > li > a,
.pkp_nav_list > li > a {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    padding: 12px 16px !important;
    line-height: 1.2 !important;
    display: block !important;
    transition: all 0.3s ease !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li.focus > a,
.pkp_navigation_primary > li:hover > a,
#navigationPrimary > li > a:hover,
#navigationPrimary > li.focus > a,
#navigationPrimary > li:hover > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li:hover > a {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #d1fae5 !important;
    border-radius: 8px !important;
}

/* ==========================================================================
   PERBAIKAN TOTAL DROPDOWN NAVIGATION BAR (MENEMPEL PRESISI & TDK HILANG SAAT DIKLIK)
   ========================================================================== */
.pkp_navigation_primary > li,
.pkp_navigation_user > li,
#navigationPrimary > li,
#navigationUser > li,
.pkp_nav_list > li {
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* WADAH DROPDOWN MENEMPEL FLUSH KE PARENT TANPA MARGIN SPASI */
.pkp_navigation_primary ul,
.pkp_navigation_primary li ul,
#navigationPrimary ul,
#navigationPrimary li ul,
.pkp_navigation_user ul,
.pkp_navigation_user li ul,
#navigationUser ul,
#navigationUser li ul,
.pkp_nav_list ul,
.dropdown-menu {
    /* OJS JS handles display and positioning */
}

.dropdown-demo ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
}

ul.pkp_navigation_primary ul,
ul.pkp_navigation_primary li ul {
    background: linear-gradient(135deg, #064e3b 0%, #022c22 100%) !important;
    border: 1px solid rgba(167, 243, 208, 0.4) !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45) !important;
    padding: 4px 0 !important; margin-top: 5px !important; /* SEDIKIT JARAK AGAR LEBIH ELEGAN */
    min-width: 200px !important;
    z-index: 999999 !important;
    overflow: visible !important;
}

/* PSEUDO-ELEMENT HOVER BRIDGE (MENCEGAH MENU TERTUTUP SAAT KURSOR BERPINDAH) */
.pkp_navigation_primary ul::before,
.pkp_navigation_primary li ul::before,
#navigationPrimary ul::before,
#navigationPrimary li ul::before,
.pkp_navigation_user ul::before,
.pkp_navigation_user li ul::before,
#navigationUser ul::before,
#navigationUser li ul::before {
    content: '' !important;
    position: absolute !important;
    top: -25px !important;
    left: 0 !important;
    width: 100% !important;
    height: 25px !important;
    background: transparent !important;
}

/* MENAMPILKAN DROPDOWN SAAT HOVER HANYA UNTUK PREVIEW (LIVE OJS DITANGANI SMARTMENUS JS) */
.dropdown-demo:hover > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ==========================================================================
   PERBAIKAN TAMPILAN MONITOR WIDE 22" & PENGHAPUSAN GARIS TEGAK LURUS OJS
   ========================================================================== */

/* 1. HAPUS SEMUA GARIS TEGAK LURUS BAWAAN OJS DI KIRI & KANAN */
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.page,
.page_about,
#main-content,
#main-navigation,
aside,
div[role="main"],
div[role="complementary"] {
    border-left: none !important;
    border-right: none !important;
    border: none !important;
    outline: none !important;
}

/* 2. OPTIMALISASI LEBAR WIDE MONITOR 22" (MAX-WIDTH 1440PX & LEBAR FLUID 95%) */
.pkp_structure_content,
.layout-2-col {
    display: flex !important;
    gap: 28px !important;
    width: 95% !important;
    max-width: 1440px !important; /* Diperlebar dari 1200px ke 1440px khusus monitor 22" */
    margin: 20px auto !important;
    align-items: flex-start !important;
    padding: 0 !important;
    border: none !important;
}

.pkp_structure_main,
.main-content-col {
    flex: 1 1 73% !important;
    min-width: 0 !important;
    width: auto !important;
    box-sizing: border-box !important;
    border: none !important;
}

.pkp_structure_sidebar,
.sidebar-grouped-container {
    flex: 0 0 25% !important;
    min-width: 280px !important;
    width: auto !important;
    box-sizing: border-box !important;
    border: none !important;
}

/* ==========================================================================
   WADAH KONTEN UTAMA (KARTU KACA / GLASSMORPHISM)
   Berlaku untuk custom card & otomatis untuk semua halaman statis OJS (.page)
   ========================================================================== */
.journal-info-card,
.page {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(167, 243, 208, 0.9) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 10px 30px rgba(52, 211, 153, 0.15) !important;
    color: #022c22 !important;
}

/* Jika user menempelkan journal-info-card di dalam .page (misal di halaman About), 
   hindari efek kartu ganda (Double Card) */
.page .journal-info-card {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

.journal-info-banner-header {
    background: linear-gradient(135deg, #064e3b 0%, #059669 50%, #34d399 100%) !important;
    color: #ffffff !important;
    padding: 14px 20px !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.35) !important;
    text-align: center !important;
}

.header-icon {
    font-size: 18px !important;
    color: #d1fae5 !important;
}

.header-icon-light {
    font-size: 14px !important;
    color: #d1fae5 !important;
}

.journal-description-box {
    text-align: justify !important;
    background: rgba(236, 253, 245, 0.9) !important;
    border-left: 4px solid #10b981 !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #064e3b !important;
}

.journal-description-box p {
    text-align: justify !important;
    margin-bottom: 12px !important;
}

.journal-description-box p:last-child {
    margin-bottom: 0 !important;
}

.issn-badge {
    color: #059669 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: rgba(52, 211, 153, 0.12) !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(52, 211, 153, 0.3) !important;
    display: inline-block !important;
}

/* KARTU AKREDITASI SINTA 2 */
.sinta-accreditation-card {
    background: linear-gradient(135deg, #064e3b 0%, #059669 60%, #34d399 100%) !important;
    color: #ffffff !important;
    padding: 16px 20px !important;
    border-radius: 12px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.35) !important;
    border: 1px solid rgba(209, 250, 229, 0.4) !important;
}

.sinta-icon-badge {
    background: #ffffff !important;
    color: #10b981 !important;
    min-width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
    font-size: 24px !important;
}

.sinta-text {
    text-align: justify !important;
    flex: 1 !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

.sinta-link {
    color: #d1fae5 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* TABEL INFORMASI JURNAL & THUMBNAIL COVER */
.journal-table-cover-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: flex-start !important;
}

.journal-table-container {
    flex: 1 1 65% !important;
    min-width: 280px !important;
    overflow-x: auto !important;
    border-radius: 12px !important;
    border: 1px solid rgba(52, 211, 153, 0.25) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
}

.journal-info-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13.5px !important;
    text-align: left !important;
    background: #ffffff !important;
}

.journal-info-table tr {
    border-bottom: 1px solid rgba(52, 211, 153, 0.15) !important;
}

.table-row-alt {
    background: rgba(236, 253, 245, 0.6) !important;
}

.table-label {
    padding: 12px 16px !important;
    font-weight: 700 !important;
    color: #064e3b !important;
    width: 28% !important;
    min-width: 140px !important;
    background: rgba(52, 211, 153, 0.08) !important;
}

.table-value {
    padding: 12px 16px !important;
    color: #022c22 !important;
    font-weight: 600 !important;
}

.table-value a {
    color: #059669 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.icon-orange {
    color: #10b981 !important;
    margin-right: 6px !important;
}

.about-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

.journal-info-banner-header .about-icon {
    font-size: 18px !important;
}

.icon-white {
    color: #ffffff !important;
    margin-right: 8px !important;
}

.initial-badge {
    background: rgba(52, 211, 153, 0.15) !important;
    color: #059669 !important;
    padding: 3px 10px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(52, 211, 153, 0.3) !important;
    font-weight: 700 !important;
}

.doi-badge {
    color: #059669 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: rgba(52, 211, 153, 0.12) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(52, 211, 153, 0.3) !important;
    display: inline-block !important;
}

.citation-badges-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}

.badge-scholar { background: #064e3b !important; color: #ffffff !important; text-decoration: none !important; padding: 5px 12px !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 600 !important; display: inline-block !important; }
.badge-garuda { background: #047857 !important; color: #ffffff !important; text-decoration: none !important; padding: 5px 12px !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 600 !important; display: inline-block !important; }
.badge-sinta { background: #059669 !important; color: #ffffff !important; text-decoration: none !important; padding: 5px 12px !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 600 !important; display: inline-block !important; }
.badge-dimensions { background: #10b981 !important; color: #ffffff !important; text-decoration: none !important; padding: 5px 12px !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 600 !important; display: inline-block !important; }
.badge-scopus { background: #34d399 !important; color: #ffffff !important; text-decoration: none !important; padding: 5px 12px !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 600 !important; display: inline-block !important; }

.journal-info-table .table-value .citation-badges-group a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
}

.journal-info-table .table-value .citation-badges-group a.badge-scopus {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    text-shadow: none !important;
}

.journal-info-table .table-value .citation-badges-group a:not([class]) {
    background: #064e3b !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    display: inline-block !important;
}

.journal-thumbnail-container {
    flex: 0 0 210px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.journal-thumbnail-box {
    background: rgba(236, 253, 245, 0.95) !important;
    padding: 10px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(52, 211, 153, 0.35) !important;
    box-shadow: 0 8px 25px rgba(52, 211, 153, 0.2) !important;
}

.journal-thumbnail-img {
    width: 100% !important;
    height: auto !important;
    max-height: 310px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* ARTIKEL DAFTAR ISI & STATISTIK */
.article-meta-row {
    margin-top: 10px !important;
}

.doi-pages-row {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 6px !important;
}

.stats-counter-group {
    display: flex !important;
    gap: 10px !important;
}

.abstract_view, .pdf_download {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #059669 !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    background: rgba(52, 211, 153, 0.12) !important;
    padding: 5px 12px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(52, 211, 153, 0.3) !important;
}

/* ==========================================================================
   TABLE OF CONTENTS (TOC) - OBJ_ISSUE_TOC
   ========================================================================== */
.obj_issue_toc {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(167, 243, 208, 0.9) !important;
    border-radius: 16px !important;
    padding: 24px 30px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 10px 30px rgba(52, 211, 153, 0.15) !important;
    color: #022c22 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.obj_issue_toc .heading {
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid rgba(52, 211, 153, 0.35) !important;
}

.obj_issue_toc .heading h1 {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #064e3b !important;
    text-align: left !important;
}

.obj_issue_toc .cmp_article_list,
.obj_issue_toc ul.articles {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.obj_issue_toc .cmp_article_list > li {
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.obj_issue_toc .obj_article_summary {
    background: rgba(236, 253, 245, 0.9) !important;
    border: 1px solid rgba(52, 211, 153, 0.25) !important;
    border-radius: 12px !important;
    padding: 15px !important;
    box-shadow: 0 3px 8px rgba(6, 78, 59, 0.08) !important;
    box-sizing: border-box !important;
    transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.obj_issue_toc .obj_article_summary:hover {
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.22) !important;
    transform: translateY(-1px) !important;
}

.obj_issue_toc .obj_article_summary .title a {
    color: #064e3b !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
}

.obj_issue_toc .obj_article_summary .title a:hover {
    color: #10b981 !important;
    text-decoration: underline !important;
}

.obj_issue_toc .obj_article_summary .authors {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 10px !important;
    color: #022c22 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    margin-top: 4px !important;
}

.obj_issue_toc .obj_article_summary .authors .affiliation {
    color: #047857 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}

.obj_issue_toc .obj_article_summary .pub_id.doi,
.obj_issue_toc .obj_article_summary .doi-pages-row a {
    color: #059669 !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    word-break: break-all !important;
}

.obj_issue_toc .obj_article_summary .pages {
    color: #064e3b !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
}

.article-stats-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

.stats-counter-group {
    flex-wrap: wrap !important;
}

.galleys_links {
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.obj_issue_toc .obj_galley_link,
.galleys_links .obj_galley_link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    background: linear-gradient(135deg, #064e3b 0%, #059669 50%, #34d399 100%) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(16, 185, 129, 0.3) !important;
    transition: all 0.25s ease !important;
}

.obj_issue_toc .obj_galley_link:hover,
.galleys_links .obj_galley_link:hover {
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.45) !important;
}


@media (max-width: 991px) {
    .pkp_structure_content,
    .layout-2-col {
        flex-direction: column !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        gap: 16px !important;
        margin: 12px auto !important;
    }

    .pkp_structure_main,
    .main-content-col,
    .pkp_structure_sidebar,
    .sidebar-grouped-container {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 767px) {
    .journal-info-card,
    .page,
    .obj_issue_toc {
        padding: 16px !important;
    }

    .journal-table-cover-row {
        flex-direction: column !important;
    }

    .journal-thumbnail-container {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 240px !important;
    }

    .obj_issue_toc .heading h1 {
        font-size: 17px !important;
    }

    .doi-pages-row,
    .article-stats-row {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .obj_issue_toc .obj_article_summary > .title {
        white-space: normal !important;
    }

    .obj_issue_toc .obj_article_summary > .title > a {
        white-space: normal !important;
        text-overflow: clip !important;
    }
}

.sidebar-grouped-container,
.pkp_structure_sidebar {
    flex: 0 0 28% !important;
    min-width: 260px !important;
    display: block !important;
}

/* Sidebar responsif: tumpuk di bawah konten utama pada layar tablet/mobile.
   Harus berada SETELAH aturan dasar sidebar di atas agar tidak tertimpa. */
@media (max-width: 991px) {
    .pkp_structure_sidebar,
    .sidebar-grouped-container {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        order: 2 !important;
    }

    .sidebar-links-group {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .sidebar-links-group .glass-menu-item-orange {
        margin-bottom: 0 !important;
        min-width: 0 !important;
    }
}

@media (max-width: 575px) {
    .sidebar-links-group {
        grid-template-columns: 1fr !important;
    }

    .glass-menu-item-orange {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}

.sidebar-glass-card {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(167, 243, 208, 0.9) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    box-shadow: 0 10px 30px rgba(52, 211, 153, 0.15) !important;
    color: #022c22 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.sidebar-group-header {
    background: linear-gradient(135deg, #064e3b 0%, #059669 50%, #34d399 100%) !important;
    color: #ffffff !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    margin-top: 14px !important;
    box-shadow: 0 3px 10px rgba(16, 185, 129, 0.3) !important;
}

.sidebar-group-header:first-child {
    margin-top: 0 !important;
}

.sidebar-links-group {
    margin-bottom: 14px !important;
}

.sidebar-subgroup-header {
    background: rgba(236, 253, 245, 0.95) !important;
    color: #064e3b !important;
    border-left: 4px solid #10b981 !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 14px !important;
    margin-bottom: 10px !important;
    border: 1px solid rgba(52, 211, 153, 0.25) !important;
}

.sidebar-template-btn-box {
    text-align: center !important;
    margin-bottom: 14px !important;
}

.sidebar-media-box {
    text-align: center !important;
    padding: 6px 0 !important;
}

.sidebar-media-img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

.nav-caret {
    font-size: 11px !important;
    margin-left: 4px !important;
}

.glass-menu-item-orange {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    margin-bottom: 6px !important;
    background: rgba(236, 253, 245, 0.85) !important;
    color: #064e3b !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 1px solid rgba(52, 211, 153, 0.25) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}

.glass-menu-item-orange:hover {
    background: linear-gradient(135deg, #064e3b 0%, #059669 50%, #34d399 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) scale(1.01) !important;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4) !important;
    border-color: rgba(209, 250, 229, 0.6) !important;
}

.glass-menu-item-orange i {
    color: #10b981 !important;
    font-size: 14px !important;
    min-width: 18px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    margin-right: 8px !important;
}

.glass-menu-item-orange:hover i {
    color: #ffffff !important;
    transform: scale(1.2) rotate(6deg) !important;
}

.glass-btn-orange {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: linear-gradient(135deg, #064e3b 0%, #059669 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
    border: 1px solid rgba(209, 250, 229, 0.4) !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

.glass-btn-orange:hover {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.5) !important;
    transform: translateY(-2px) !important;
}

.glass-btn-orange i {
    color: #ffffff !important;
    font-size: 15px !important;
    margin-right: 8px !important;
    transition: all 0.3s ease !important;
}

.glass-btn-orange:hover i {
    transform: scale(1.2) !important;
}

.glass-menu-item-orange::after,
.glass-btn-orange::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -150%;
    width: 60% !important;
    height: 100% !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%) !important;
    transform: skewX(-25deg) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

@keyframes shineSweep {
    0% { left: -150%; }
    100% { left: 150%; }
}

.glass-menu-item-orange:hover::after,
.glass-btn-orange:hover::after {
    animation: shineSweep 0.8s ease-in-out !important;
}

/* FOOTER MODERN */
.pkp_structure_footer_wrapper {
    background: #09090b !important;
    color: #f4f4f5 !important;
    margin-top: 40px !important;
    padding: 30px 20px !important;
}

.unis_footer_main {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 30px !important;
}

.unis_footer_brand {
    min-width: 0 !important;
}

.unis_footer_brand h3 {
    color: #34d399 !important;
    font-size: 16px !important;
    margin-bottom: 10px !important;
}

.unis_footer_columns {
    min-width: 0 !important;
}

.unis_footer_location {
    min-width: 0 !important;
}

.unis_footer_location > .unis_footer_col {
    width: 100% !important;
}

.unis_footer_col h4 {
    color: #d1fae5 !important;
    font-size: 14px !important;
    margin-bottom: 10px !important;
}

.unis_footer_col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.unis_footer_col ul li a {
    color: #a7f3d0 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    line-height: 2 !important;
}

.unis_footer_location a {
    color: #a7f3d0 !important;
    text-decoration: none !important;
    font-size: 13px !important;
}

.unis_footer_map_frame {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    border: 0 !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
}

.unis_footer_bottom {
    max-width: 1200px !important;
    margin: 20px auto 0 !important;
    padding-top: 15px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    text-align: center !important;
    font-size: 12px !important;
    color: #a1a1aa !important;
}

@media (max-width: 760px) {
    .unis_footer_main {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

.pkp_brand_footer { display: none !important; }

/* HTML Customizer: align desktop navigation and search */
@media screen and (min-width: 768px) {
    .pkp_site_nav_menu .pkp_navigation_primary_wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 56px !important;
    }
    .pkp_site_nav_menu .pkp_navigation_primary,
    .pkp_site_nav_menu #navigationPrimary,
    .pkp_site_nav_menu .pkp_nav_list {
        flex: 1 1 auto !important;
        align-items: center !important;
        min-width: 0 !important;
    }
    .pkp_site_nav_menu .pkp_navigation_search_wrapper {
        display: flex !important;
        align-items: center !important;
        align-self: stretch !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    .pkp_site_nav_menu .pkp_navigation_search_wrapper .pkp_search_desktop {
        display: inline-flex !important;
        align-items: center !important;
        align-self: center !important;
        margin: 0 !important;
        padding: 12px 16px !important;
        height: 42px !important;
        line-height: 1.2 !important;
    }
}

/* HTML Customizer: remove vertical OJS layout dividers */
.pkp_structure_page,
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.pkp_structure_head,
.pkp_head_wrapper,
#pkp_content_main,
#main-navigation,
div[role="main"],
div[role="complementary"] {
    border-left: 0 !important;
    border-right: 0 !important;
}

.pkp_structure_page::before,
.pkp_structure_page::after,
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_sidebar::before,
.pkp_structure_sidebar::after {
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

/* HTML Customizer: fit table of contents titles to one line */
.obj_issue_toc .obj_article_summary > .title,
.obj_article_summary > .title {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.obj_issue_toc .obj_article_summary > .title > a,
.obj_article_summary > .title > a {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

/* HTML Customizer: align, widen, and remove article vertical lines */
@media (min-width: 1200px) {
    .page.page_article {
        padding: 20px !important;
    }

    .obj_article_details > .row {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: flex-start !important;
        gap: 20px !important;
        width: auto !important;
        margin: 30px 0 0 !important;
    }

    .obj_article_details .main_entry > .item.authors,
    .obj_article_details .main_entry > .item.doi,
    .obj_article_details .main_entry > .item.abstract {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .obj_article_details > .row > .main_entry {
        order: 1 !important;
        float: none !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .obj_article_details > .row > .entry_details {
        order: 2 !important;
        float: none !important;
        flex: 0 0 260px !important;
        width: 260px !important;
        min-width: 240px !important;
        max-width: 40% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    body:has(.page.page_article) .pkp_structure_content {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        gap: 0 !important;
    }

    body:has(.page.page_article) .pkp_structure_main {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body:has(.page.page_article) .pkp_structure_sidebar {
        display: none !important;
    }

    .page.page_article {
        padding: 16px !important;
    }

    .obj_article_details > .row {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: flex-start !important;
        gap: 18px !important;
        width: auto !important;
        margin: 24px 0 0 !important;
    }

    .obj_article_details .main_entry > .item.authors,
    .obj_article_details .main_entry > .item.doi,
    .obj_article_details .main_entry > .item.abstract {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .obj_article_details > .row > .main_entry {
        float: none !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .obj_article_details > .row > .entry_details {
        float: none !important;
        flex: 0 0 240px !important;
        width: 240px !important;
        min-width: 220px !important;
        max-width: 40% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 767px) {
    body:has(.page.page_article) .pkp_structure_content {
        display: block !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin: 12px auto !important;
    }

    body:has(.page.page_article) .pkp_structure_main {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    body:has(.page.page_article) .pkp_structure_sidebar {
        display: none !important;
    }

    .page.page_article {
        width: 100% !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }

    .obj_article_details .main_entry > .item.authors,
    .obj_article_details .main_entry > .item.doi,
    .obj_article_details .main_entry > .item.abstract {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .obj_article_details > .row {
        display: flex !important;
        flex-direction: column !important;
        width: auto !important;
        margin: 20px 0 0 !important;
    }

    .obj_article_details > .row > .main_entry,
    .obj_article_details > .row > .entry_details {
        float: none !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

body:has(.page.page_article) .pkp_structure_main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.page.page_article {
    width: 100% !important;
    box-sizing: border-box !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

.obj_article_details > .row {
    border: 0 !important;
}

.obj_article_details > .row > .main_entry,
.obj_article_details > .row > .entry_details {
    border-left: 0 !important;
    border-right: 0 !important;
}

.obj_article_details > .row > .entry_details > .item {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.obj_article_details .main_entry > .item.authors,
.obj_article_details .main_entry > .item.doi,
.obj_article_details .main_entry > .item.abstract {
    padding-left: 0 !important;
}

@media (min-width: 1200px) {
    .obj_article_details > .row > .main_entry {
        margin-left: -40px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .obj_article_details > .row > .main_entry {
        margin-left: -18px !important;
    }
}

@media (min-width: 1600px) {
    body:has(.page.page_article) .pkp_structure_content {
        max-width: 1440px !important;
    }
}

body:has(.page.page_article) .obj_article_details > .row,
body:has(.page.page_article) .obj_article_details > .row > .main_entry,
body:has(.page.page_article) .obj_article_details > .row > .entry_details,
body:has(.page.page_article) .obj_article_details > .row > .main_entry > .item,
body:has(.page.page_article) .obj_article_details > .row > .entry_details > .item {
    border-left: 0 !important;
    border-right: 0 !important;
}

body:has(.page.page_article) .obj_article_details > .row::before,
body:has(.page.page_article) .obj_article_details > .row::after,
body:has(.page.page_article) .obj_article_details > .row > .main_entry::before,
body:has(.page.page_article) .obj_article_details > .row > .main_entry::after,
body:has(.page.page_article) .obj_article_details > .row > .entry_details::before,
body:has(.page.page_article) .obj_article_details > .row > .entry_details::after {
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

/* HTML Customizer: responsive layout safety */
.pkp_structure_content.layout-2-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    align-items: start !important;
    gap: 28px !important;
    width: min(95%, 1440px) !important;
    max-width: 1440px !important;
}

.pkp_structure_main,
.main-content-col,
.pkp_structure_sidebar,
.sidebar-grouped-container,
.journal-info-card,
.obj_issue_toc,
.obj_article_summary {
    min-width: 0 !important;
    max-width: 100% !important;
}

.obj_issue_toc,
.journal-info-card,
.sidebar-glass-card {
    overflow: hidden !important;
}

.obj_issue_toc .obj_article_summary > .title,
.obj_issue_toc .obj_article_summary > .title > a,
.obj_issue_toc .authors,
.obj_issue_toc .doi-pages-row,
.obj_issue_toc .article-stats-row,
.stats-counter-group {
    min-width: 0 !important;
    max-width: 100% !important;
}

.obj_issue_toc .doi-pages-row,
.abstract_view,
.pdf_download,
.galleys_links {
    overflow-wrap: anywhere !important;
}

.sinta-text {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

.article-stats-row {
    justify-content: flex-start !important;
}

.sidebar-media-box img,
.sidebar-media-img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.sidebar-media-box a {
    display: block !important;
    max-width: 100% !important;
}

@media (max-width: 1100px) {
    .pkp_structure_content.layout-2-col {
        display: block !important;
        width: calc(100% - 24px) !important;
        margin: 12px auto !important;
    }

    .pkp_structure_main,
    .pkp_structure_sidebar,
    .main-content-col,
    .sidebar-grouped-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px !important;
    }
}

@media (max-width: 767px) {
    .pkp_structure_content.layout-2-col {
        display: block !important;
        width: calc(100% - 24px) !important;
        margin: 12px auto !important;
    }

    .pkp_structure_main,
    .pkp_structure_sidebar,
    .main-content-col,
    .sidebar-grouped-container {
        width: 100% !important;
        margin: 0 0 16px !important;
    }

    .pkp_navigation_primary_wrapper {
        max-width: 100% !important;
        overflow-x: auto !important;
    }

    .pkp_navigation_primary,
    #navigationPrimary,
    .pkp_nav_list {
        flex-wrap: wrap !important;
    }

    .obj_issue_toc,
    .journal-info-card,
    .sidebar-glass-card {
        padding: 16px !important;
    }

    .journal-table-cover-row {
        display: block !important;
    }

    .journal-table-container {
        width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
    }

    .journal-info-table {
        table-layout: fixed !important;
        min-width: 0 !important;
    }

    .journal-info-table .table-label {
        width: 38% !important;
        min-width: 0 !important;
        padding: 8px !important;
        overflow-wrap: anywhere !important;
    }

    .journal-info-table .table-value {
        width: 62% !important;
        padding: 8px !important;
        overflow-wrap: anywhere !important;
    }

    .journal-info-table .table-value a {
        overflow-wrap: anywhere !important;
    }

    .article-stats-row,
    .stats-counter-group,
    .galleys_links {
        width: 100% !important;
    }

    .stats-counter-group {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .abstract_view,
    .pdf_download,
    .galleys_links,
    .galleys_links a.obj_galley_link {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* HTML Customizer: OJS Font Awesome compatibility v2 */
[class~="fa"]:not([class~="fa-solid"]):not([class~="fa-regular"]):not([class~="fa-brands"]) {
    font-family: "FontAwesome" !important;
    font-weight: normal !important;
    font-style: normal !important;
}

[class~="fa-solid"][class~="fa-solid"],
[class~="fa-regular"][class~="fa-regular"],
[class~="fa-brands"][class~="fa-brands"] {
    font-family: "FontAwesome" !important;
    font-weight: normal !important;
}

.fa-solid.fa-file-arrow-down::before,
.fa-solid.fa-download::before { content: "019" !important; }
.fa-solid.fa-file-pdf::before { content: "1c1" !important; }
.fa-solid.fa-map-location-dot::before,
.fa-solid.fa-location-dot::before { content: "041" !important; }
.fa-solid.fa-building-columns::before { content: "19c" !important; }
.fa-solid.fa-circle-info::before { content: "05a" !important; }
.fa-solid.fa-calendar-days::before { content: "073" !important; }
.fa-solid.fa-user-check::before { content: "007" !important; }
.fa-solid.fa-user-gear::before { content: "013" !important; }
.fa-solid.fa-user-shield::before { content: "21b" !important; }
.fa-solid.fa-file-circle-check::before { content: "058" !important; }
.fa-solid.fa-file-circle-xmark::before { content: "057" !important; }
.fa-solid.fa-lock-open::before { content: "09c" !important; }
.fa-solid.fa-pen-to-square::before { content: "044" !important; }
.fa-solid.fa-clock-rotate-left::before { content: "1da" !important; }
.fa-solid.fa-rotate::before { content: "01e" !important; }
.fa-solid.fa-layer-group::before { content: "03a" !important; }
.fa-solid.fa-screwdriver-wrench::before { content: "0ad" !important; }
.fa-solid.fa-book-open-reader::before { content: "02d" !important; }
.fa-solid.fa-book-bookmark::before { content: "02d" !important; }
.fa-solid.fa-shield-halved::before { content: "132" !important; }
.fa-solid.fa-triangle-exclamation::before { content: "071" !important; }
.fa-solid.fa-magnifying-glass::before { content: "002" !important; }
.fa-solid.fa-square-check::before { content: "14a" !important; }
.fa-solid.fa-user-lock::before { content: "023" !important; }
.fa-solid.fa-plus-circle::before { content: "055" !important; }
.fa-solid.fa-bars::before { content: "0c9" !important; }
.fa-solid.fa-certificate::before { content: "0a3" !important; }
.fa-solid.fa-credit-card::before { content: "09d" !important; }
.fa-solid.fa-file-contract::before { content: "15c" !important; }
.fa-solid.fa-robot::before { content: "544" !important; }
.fa-solid.fa-file-word::before { content: "1c2" !important; }
.fa-solid.fa-book-journal-whills::before,
.fa-solid.fa-book-open::before { content: "02d" !important; }
.fa-solid.fa-compass::before { content: "14e" !important; }
.fa-solid.fa-sliders::before { content: "1de" !important; }
.fa-solid.fa-palette::before { content: "1fc" !important; }
.fa-solid.fa-file-code::before { content: "1c9" !important; }
.fa-solid.fa-copy::before { content: "0c5" !important; }
.fa-solid.fa-floppy-disk::before { content: "0c7" !important; }

/* CSS escapes are doubled because this block is inside a JavaScript template. */
.fa-solid.fa-book-journal-whills::before,
.fa-solid.fa-book-open::before { content: "\f02d" !important; }
.fa-solid.fa-compass::before { content: "\f14e" !important; }
.fa-solid.fa-file-arrow-down::before,
.fa-solid.fa-download::before { content: "\f019" !important; }
.fa-solid.fa-file-pdf::before { content: "\f1c1" !important; }
.fa-solid.fa-map-location-dot::before,
.fa-solid.fa-location-dot::before { content: "\f041" !important; }
.fa-solid.fa-building-columns::before { content: "\f19c" !important; }
.fa-solid.fa-user-check::before { content: "\f007" !important; }
.fa-solid.fa-user-gear::before { content: "\f013" !important; }
.fa-solid.fa-file-circle-check::before { content: "\f058" !important; }
.fa-solid.fa-file-circle-xmark::before { content: "\f057" !important; }
.fa-solid.fa-lock-open::before { content: "\f09c" !important; }
.fa-solid.fa-pen-to-square::before { content: "\f044" !important; }
.fa-solid.fa-layer-group::before { content: "\f03a" !important; }
.fa-solid.fa-screwdriver-wrench::before { content: "\f0ad" !important; }
.fa-solid.fa-shield-halved::before { content: "\f132" !important; }
.fa-solid.fa-triangle-exclamation::before { content: "\f071" !important; }
.fa-solid.fa-magnifying-glass::before { content: "\f002" !important; }
.fa-solid.fa-square-check::before { content: "\f14a" !important; }
.fa-solid.fa-user-lock::before { content: "\f023" !important; }
.fa-solid.fa-plus-circle::before { content: "\f055" !important; }
.fa-solid.fa-certificate::before { content: "\f0a3" !important; }
.fa-solid.fa-credit-card::before { content: "\f09d" !important; }
.fa-solid.fa-file-contract::before { content: "\f15c" !important; }
.fa-solid.fa-file-word::before { content: "\f1c2" !important; }

.obj_article_details .item.abstract,
.obj_article_details .item.abstract p {
    text-align: justify !important;
}

/* OJS Custom Block may strip i/em icon tags. Recreate sidebar icons from CSS. */
.sidebar-group-header::before {
    content: "\f03a" !important;
    font-family: "FontAwesome" !important;
    font-weight: normal !important;
    margin-right: 8px !important;
}

.sidebar-links-group a.glass-menu-item-orange::before {
    content: "\f0da" !important;
    font-family: "FontAwesome" !important;
    font-weight: normal !important;
    flex: 0 0 18px !important;
    text-align: center !important;
}

.sidebar-template-btn-box a.glass-btn-orange::before {
    content: "\f019" !important;
    font-family: "FontAwesome" !important;
    font-weight: normal !important;
    margin-right: 8px !important;
}

/* OJS sanitizes escaped private-use glyphs in content declarations. */
.sidebar-group-header::before {
    content: "☰" !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
}

.sidebar-links-group a.glass-menu-item-orange::before {
    content: "›" !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
}

.sidebar-template-btn-box a.glass-btn-orange::before {
    content: "↓" !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
}

/* HTML Customizer: article text and references v1 */
.obj_article_details .abstract p {
    text-align: justify !important;
}

.obj_article_details .item.references,
.obj_article_details .item.references p,
.obj_article_details .item.references li,
.obj_article_details .references p,
.obj_article_details .references li {
    text-align: left !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.obj_article_details .item.references ol,
.obj_article_details .item.references ul,
.obj_article_details .references ol,
.obj_article_details .references ul {
    padding-left: 1.5em !important;
    margin-left: 0 !important;
}

/* Remove OJS wrapper pseudo-elements that render full-height vertical lines. */
.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;
    content: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (min-width: 1101px) {
    .pkp_structure_content:not(.layout-2-col) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 320px) !important;
        align-items: start !important;
        gap: 28px !important;
        width: min(95%, 1440px) !important;
        max-width: 1440px !important;
    }

    .pkp_structure_content:not(.layout-2-col) .pkp_structure_main {
        grid-column: 1 !important;
        width: auto !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .pkp_structure_content:not(.layout-2-col) .pkp_structure_sidebar {
        grid-column: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 320px !important;
    }

    .page:has(.journal-info-card) {
        padding: 18px !important;
    }
}

/* HTML Customizer: three-column footer layout */
.unis_footer_main {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
}
.unis_footer_brand,
.unis_footer_columns,
.unis_footer_location {
    min-width: 0 !important;
}
.unis_footer_location > .unis_footer_col {
    width: 100% !important;
}
@media (max-width: 760px) {
    .unis_footer_main {
        grid-template-columns: 1fr !important;
    }
}

/* HTML Customizer: visible responsive map */
.unis_footer_map_frame {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    border: 0 !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
}
.unis_footer_map_message {
    color: #fca5a5 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* HTML Customizer: high-contrast citation links */
.journal-info-table .table-value .citation-badges-group a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
}
.journal-info-table .table-value .citation-badges-group a.badge-scopus {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    text-shadow: none !important;
}
.journal-info-table .table-value .citation-badges-group a:not([class]) {
    background: #102033 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    display: inline-block !important;
}
/* Merapikan blok How to Cite */
.item.citation {
    background-color: #f9f9f9;
    border: 1px solid #e1e1e1;
    border-radius: 6px;
    padding: 15px;
    margin-top: 20px;
}

/* Judul How to Cite */
.item.citation .label {
    font-size: 1.1em;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 8px;
}

/* Teks isi sitasi */
.item.citation .value {
    line-height: 1.6;
    font-size: 0.95em;
    color: #333;
}

/* Dropdown More Citation Formats */
.item.citation .citation_formats {
    margin-top: 10px;
}

