/* =========================================================
   Custom Stylesheet for Jurnal Pengabdian Masyarakat Bayanika
   JPMB - Bayanika Academic Press
   ========================================================= */

/* Warna dasar */
:root {
    --jpmb-navy: #003B5C;
    --jpmb-dark-navy: #002A43;
    --jpmb-teal: #007C89;
    --jpmb-green: #1B8A5A;
    --jpmb-gold: #D8A21B;
    --jpmb-light: #F5F8FA;
    --jpmb-border: #D9E2E7;
    --jpmb-text: #222222;
}

/* Tampilan umum */
body {
    background: #ffffff;
    color: var(--jpmb-text);
    font-family: "Noto Sans", "Arial", sans-serif;
    line-height: 1.6;
}

/* Link */
a {
    color: var(--jpmb-teal);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--jpmb-navy);
    text-decoration: underline;
}

/* Header situs */
.pkp_structure_head {
    background: linear-gradient(90deg, var(--jpmb-dark-navy), var(--jpmb-navy));
    border-bottom: 4px solid var(--jpmb-gold);
}

/* Nama situs/jurnal */
.pkp_site_name {
    padding-top: 16px;
    padding-bottom: 16px;
}

.pkp_site_name > a {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.3px;
}

/* Logo di header */
.pkp_site_name .is_img img {
    max-height: 120px;
    width: auto;
}

/* Navigasi utama */
.pkp_navigation_primary_wrapper {
    background: var(--jpmb-navy);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.pkp_navigation_primary > li > a {
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.4px;
    padding-top: 14px;
    padding-bottom: 14px;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    background: var(--jpmb-teal);
    color: #ffffff;
    text-decoration: none;
}

/* Dropdown menu */
.pkp_navigation_primary ul a {
    color: var(--jpmb-navy);
    font-weight: 600;
}

.pkp_navigation_primary ul a:hover {
    background: var(--jpmb-light);
    color: var(--jpmb-teal);
}

/* Tombol pencarian */
.pkp_head_wrapper .pkp_search .search_controls a {
    color: #ffffff;
}

/* Area konten */
.pkp_structure_main {
    padding-top: 24px;
}

.pkp_page_index .homepage_image img {
    border-radius: 8px;
    border: 1px solid var(--jpmb-border);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    margin-bottom: 24px;
}

/* Judul halaman */
.page h1,
.page h2,
.obj_article_details h1,
.current_issue h2 {
    color: var(--jpmb-navy);
    font-weight: 700;
}

/* Judul bagian */
.pkp_page_index .additional_content h2,
.pkp_page_index .cmp_announcements h2,
.pkp_page_index .current_issue h2 {
    border-left: 5px solid var(--jpmb-gold);
    padding-left: 12px;
    color: var(--jpmb-navy);
}

/* Kotak issue/current issue */
.current_issue {
    background: #ffffff;
    border: 1px solid var(--jpmb-border);
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
}

/* Sidebar */
.pkp_structure_sidebar .block {
    border: 1px solid var(--jpmb-border);
    background: #ffffff;
    margin-bottom: 18px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.pkp_structure_sidebar .block .title {
    background: var(--jpmb-navy);
    color: #ffffff;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.pkp_structure_sidebar .block .content {
    padding: 12px;
    font-size: 14px;
}

/* Link dalam sidebar */
.pkp_structure_sidebar .block a {
    color: var(--jpmb-teal);
    font-weight: 600;
}

.pkp_structure_sidebar .block a:hover {
    color: var(--jpmb-navy);
}

/* Custom block untuk menu kanan */
.jpmb-sidebar-box {
    border: 1px solid var(--jpmb-border);
    background: #ffffff;
    margin-bottom: 18px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    text-align: center;
}

.jpmb-sidebar-box h3 {
    background: var(--jpmb-navy);
    color: #ffffff;
    font-size: 14px;
    padding: 11px 8px;
    margin: 0;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.jpmb-sidebar-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.jpmb-sidebar-box li {
    border-top: 1px solid #ffffff;
    background: var(--jpmb-light);
    padding: 9px 8px;
}

.jpmb-sidebar-box li:nth-child(even) {
    background: #EAF1F4;
}

.jpmb-sidebar-box li a {
    color: var(--jpmb-navy);
    font-weight: 700;
    text-decoration: none;
}

.jpmb-sidebar-box li a:hover {
    color: var(--jpmb-teal);
    text-decoration: underline;
}

/* Box ISSN */
.jpmb-issn-box {
    text-align: center;
    border: 1px solid var(--jpmb-border);
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 18px;
    background: #ffffff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.jpmb-issn-box h3 {
    background: var(--jpmb-navy);
    color: #ffffff;
    margin: 0;
    padding: 10px;
    font-size: 14px;
    text-transform: uppercase;
}

.jpmb-issn-box p {
    margin: 8px 0;
    font-size: 14px;
}

/* Tombol download template */
.jpmb-download-button {
    display: inline-block;
    background: var(--jpmb-gold);
    color: var(--jpmb-dark-navy) !important;
    padding: 10px 14px;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none !important;
    margin-top: 8px;
}

.jpmb-download-button:hover {
    background: #C08E12;
    color: #ffffff !important;
}

/* Tombol umum OJS */
.cmp_button,
.cmp_form .buttons button,
.pkp_page_index .read_more {
    background: var(--jpmb-navy);
    color: #ffffff;
    border-radius: 4px;
    border: none;
}

.cmp_button:hover,
.cmp_form .buttons button:hover,
.pkp_page_index .read_more:hover {
    background: var(--jpmb-teal);
    color: #ffffff;
}

/* Daftar artikel */
.obj_article_summary {
    border-bottom: 1px solid var(--jpmb-border);
    padding-bottom: 16px;
    margin-bottom: 16px;
}

.obj_article_summary .title a {
    color: var(--jpmb-navy);
    font-weight: 700;
}

.obj_article_summary .title a:hover {
    color: var(--jpmb-teal);
}

/* Footer */
.pkp_structure_footer_wrapper {
    background: var(--jpmb-dark-navy);
    color: #ffffff;
    border-top: 4px solid var(--jpmb-gold);
}

.pkp_structure_footer_wrapper a {
    color: #ffffff;
    font-weight: 600;
}

.pkp_structure_footer_wrapper a:hover {
    color: var(--jpmb-gold);
}

/* Responsif */
@media (max-width: 768px) {
    .pkp_site_name .is_img img {
        max-height: 85px;
    }

    .pkp_navigation_primary > li > a {
        font-size: 12px;
    }

    .pkp_structure_main {
        padding-top: 12px;
    }
}
