/* ============================================================
   NAWASENA — OJS 3.3 NAVY, IVORY & GOLD THEME
   Target : OJS 3.3 Default Theme
   Style  : Elegant Academic / Navy-Ivory-Gold / Responsive
   Note   : PURE CSS ONLY — do not paste HTML into this file
   ============================================================ */

:root {
    /* Nawasena visual identity */
    --ojs-navy: #122633;
    --ojs-navy-dark: #0B1C27;
    --ojs-navy-deep: #07141D;

    --ojs-gold: #CAA96C;
    --ojs-gold-dark: #9B793D;
    --ojs-gold-soft: #F4E9D4;

    --ojs-ivory: #F8F4EE;
    --ojs-ivory-2: #EFE8DE;

    --ojs-white: #FFFFFF;
    --ojs-bg: #F3EFE9;
    --ojs-text: #23282D;
    --ojs-muted: #686A6B;
    --ojs-border: #E3DBCF;
    --ojs-border-dark: #CEC3B3;

    --ojs-radius: 10px;
    --ojs-shadow: 0 8px 28px rgba(18, 38, 51, .07);
    --ojs-shadow-hover: 0 12px 30px rgba(18, 38, 51, .10);
}

/* ============================================================
   1. BASE / TYPOGRAPHY
   ============================================================ */

html {
    scroll-behavior: smooth;
}

html,
body,
button,
input,
select,
textarea {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 "Helvetica Neue", Arial, sans-serif;
}

body {
    margin: 0;
    color: var(--ojs-text);
    background: var(--ojs-bg);
    font-size: 15px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #1F1F1F;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.3;
}

p {
    line-height: 1.7;
}

a {
    color: var(--ojs-navy);
    text-decoration-color: rgba(18, 38, 51, .28);
    text-underline-offset: 2px;
    transition: color .18s ease,
                background-color .18s ease,
                border-color .18s ease,
                box-shadow .18s ease,
                transform .18s ease;
}

a:hover,
a:focus {
    color: var(--ojs-navy-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(202, 169, 108, .25);
    outline-offset: 2px;
}

img {
    max-width: 100%;
}

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

/* ============================================================
   2. PAGE / MAIN CONTAINER
   ============================================================ */

.pkp_structure_page {
    width: min(1200px, calc(100% - 32px));
    margin: 20px auto;
    padding-bottom: 0 !important;
    background: var(--ojs-white);
    border: 1px solid var(--ojs-border);
    border-radius: 12px;
    box-shadow: var(--ojs-shadow);
    overflow: visible;
}

.pkp_structure_content {
    padding-top: 0;
}

.pkp_structure_main {
    color: var(--ojs-text);
}

.pkp_structure_main::after,
.pkp_structure_sidebar::after {
    content: "";
    display: table;
    clear: both;
}

/* ============================================================
   3. HEADER / JOURNAL BANNER
   ============================================================ */

.pkp_structure_head {
    position: relative;
    z-index: 20;
    background: var(--ojs-white);
    border: 0;
    border-radius: 12px 12px 0 0;
}

.pkp_head_wrapper {
    padding-top: 0;
}

.pkp_site_name {
    margin: 0;
}

.pkp_site_name > a {
    display: block;
    padding: 0 !important;
    margin: 0;
}

.pkp_site_name_wrapper {
    margin: 0;
    padding: 0 !important;
    background: var(--ojs-white);
}

.pkp_site_name .is_img {
    display: block;
    line-height: 0;
}

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

.pkp_site_name .is_text {
    display: block;
    padding: 30px 32px;
    color: var(--ojs-navy-dark);
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.2;
}

/* ============================================================
   4. USER NAVIGATION
   Put Login / Register / Profile in a clean white row so it does
   not cover the top-right ISSN area of a full-width banner image.
   ============================================================ */

.pkp_navigation_user_wrapper {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 100%;
    min-height: 38px;
    padding: 0 18px !important;
    background: var(--ojs-white);
    border-bottom: 1px solid var(--ojs-border);
    box-sizing: border-box;
    z-index: 50;
}

.pkp_navigation_user {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 2px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
    border: 0;
}

.pkp_navigation_user_wrapper .pkp_navigation_user,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > ul.dropdown-menu > li > a {
    font-family: inherit;
    font-weight: 500;
}

.pkp_navigation_user > li {
    margin: 0 !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user > li.in_focus > a,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
    display: block;
    padding: 8px 10px !important;
    color: #555 !important;
    font-size: 13px;
    line-height: 1.4;
    border-radius: 6px;
    text-decoration: none;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li.in_focus > a:hover,
.pkp_navigation_user > li.in_focus > a:focus,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:hover,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-ivory) !important;
}

.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile {
    color: var(--ojs-text);
    background: transparent;
}

.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > ul.dropdown-menu {
    z-index: 9999;
    min-width: 190px;
    overflow: hidden;
    background: var(--ojs-white);
    border: 1px solid var(--ojs-border);
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}

.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > ul.dropdown-menu > li > a {
    padding: 10px 13px !important;
    color: #444 !important;
    background: var(--ojs-white) !important;
}

.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > ul.dropdown-menu > li > a:hover,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > ul.dropdown-menu > li > a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-ivory) !important;
}

/* ============================================================
   5. PRIMARY NAVIGATION
   ============================================================ */

.pkp_navigation_primary_row {
    position: relative;
    z-index: 40;
    background: linear-gradient(135deg, var(--ojs-navy) 0%, var(--ojs-navy-dark) 100%) !important;
    border-top: 1px solid rgba(255, 255, 255, .10);
    box-shadow: 0 3px 12px rgba(18, 38, 51, .14);
}

.pkp_navigation_primary_wrapper {
    position: relative;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li {
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a {
    color: var(--ojs-white) !important;
    font-family: inherit;
    font-weight: 600 !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a {
    margin: 0 !important;
    padding: 0 14px !important;
    line-height: 46px !important;
    border-bottom: 0 !important;
    text-decoration: none !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a:hover,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a:focus,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li.in_focus > a {
    color: var(--ojs-white) !important;
    background: rgba(255, 255, 255, .14) !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul {
    z-index: 9999;
    min-width: 210px;
    overflow: hidden;
    background: var(--ojs-white) !important;
    border: 1px solid var(--ojs-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .14);
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li {
    border-bottom: 1px solid var(--ojs-border) !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li:last-child {
    border-bottom: 0 !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li a {
    min-width: 190px;
    padding: 11px 14px !important;
    color: #444 !important;
    background: var(--ojs-white) !important;
    line-height: 1.4 !important;
    font-size: 14px;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li a:hover,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-ivory) !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper .pkp_search .search_controls a.headerSearchPrompt.search_prompt,
.pkp_navigation_primary_row .pkp_navigation_search_wrapper a,
.pkp_navigation_primary_row .pkp_search {
    color: var(--ojs-white) !important;
    font-family: inherit;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper .pkp_search.is_open {
    z-index: 10000;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper .pkp_search.is_open input[type="text"] {
    color: var(--ojs-text);
    background: var(--ojs-white);
    border: 1px solid var(--ojs-border-dark);
    border-radius: 7px;
    font-family: inherit;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
}

/* ============================================================
   6. CONTENT / PAGE HEADINGS / BREADCRUMBS
   ============================================================ */

.pkp_page_index .homepage_about,
.pkp_page_index .current_issue,
.pkp_page_index .additional_content,
.page_issue,
.page_about,
.page_search,
.page_submissions,
.page_contact,
.page_announcement,
.page_announcements {
    color: var(--ojs-text);
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
    letter-spacing: -.01em;
}

.pkp_structure_main h1 {
    margin-bottom: 22px;
}

.cmp_breadcrumbs {
    margin-bottom: 20px;
    color: var(--ojs-muted);
    font-size: 13px;
}

.cmp_breadcrumbs a {
    color: var(--ojs-navy-dark);
}

/* Homepage section titles */
.pkp_page_index .current_issue > h2,
.pkp_page_index .homepage_about > h2,
.pkp_page_index .additional_content > h2,
.page_issue > h1,
.page_announcements > h1,
.page_announcement > h1 {
    position: relative;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--ojs-border);
}

.pkp_page_index .current_issue > h2::after,
.pkp_page_index .homepage_about > h2::after,
.pkp_page_index .additional_content > h2::after,
.page_issue > h1::after,
.page_announcements > h1::after,
.page_announcement > h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 64px;
    height: 3px;
    background: var(--ojs-navy);
    border-radius: 3px;
}

/* ============================================================
   7. ARTICLE CARDS / ISSUE TOC
   ============================================================ */

.obj_article_summary {
    margin-bottom: 16px;
    padding: 18px 18px 17px;
    background: var(--ojs-white);
    border: 1px solid var(--ojs-border);
    border-left: 4px solid var(--ojs-navy);
    border-radius: var(--ojs-radius);
    box-shadow: none;
    transition: transform .18s ease,
                border-color .18s ease,
                box-shadow .18s ease;
}

.obj_article_summary:hover {
    transform: translateY(-1px);
    border-color: #DCDCDC;
    border-left-color: var(--ojs-navy-dark);
    box-shadow: var(--ojs-shadow-hover);
}

.obj_article_summary .title {
    margin-bottom: 6px;
}

.obj_article_summary .title a {
    color: #222;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
}

.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus {
    color: var(--ojs-navy);
}

.obj_article_summary .authors,
.obj_article_summary .pages,
.obj_article_summary .published,
.obj_article_summary .meta {
    color: var(--ojs-muted);
}

.obj_article_summary .galleys_links,
.obj_article_summary .item {
    margin-top: 8px;
}

/* PDF / HTML / Galley buttons */
.cmp_button_wire,
.obj_galley_link {
    display: inline-block;
    padding: 6px 11px;
    color: var(--ojs-navy) !important;
    background: var(--ojs-white);
    border: 1px solid var(--ojs-navy);
    border-radius: 999px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
}

.cmp_button_wire:hover,
.cmp_button_wire:focus,
.obj_galley_link:hover,
.obj_galley_link:focus {
    color: var(--ojs-white) !important;
    background: var(--ojs-navy);
    border-color: var(--ojs-navy);
}

/* Issue cover */
.obj_issue_toc .cover img,
.obj_issue_summary .cover img,
.page_issue .cover img {
    border-radius: 8px;
    border: 1px solid var(--ojs-border);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

/* Section headings inside issue TOC */
.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 {
    color: var(--ojs-navy-dark);
    border-bottom-color: var(--ojs-border);
}

/* DOI and statistics — retained for current journal installation */
.obj_article_summary .item.doi .label {
    width: 25px !important;
    height: 24px !important;
    color: transparent;
    background: url(/public/journals/8/images/icon-doi.png) left center no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.obj_article_summary .item.stats .abstract,
.obj_article_summary .item.stats .galley {
    position: relative;
}

.obj_article_summary .item.stats .abstract {
    margin-right: 10px;
    margin-left: 20px;
}

.obj_article_summary .item.stats .galley {
    margin-left: 25px;
}

.obj_article_summary .item.stats .abstract::before {
    content: "\f080";
    position: absolute;
    top: 0;
    left: -15px;
    color: var(--ojs-navy);
    font-family: FontAwesome;
}

.obj_article_summary .item.stats .galley::before {
    content: "\f1c1";
    position: absolute;
    top: 0;
    left: -15px;
    color: var(--ojs-navy);
    font-family: FontAwesome;
}

/* ============================================================
   8. ARTICLE DETAIL PAGE
   ============================================================ */

.obj_article_details .page_title,
.obj_article_details .title {
    color: #1F1F1F;
}

.obj_article_details .authors,
.obj_article_details .affiliation,
.obj_article_details .published {
    color: var(--ojs-muted);
}

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

.obj_article_details .entry_details {
    border-left-color: var(--ojs-border);
}

.obj_article_details .entry_details .item > h2,
.obj_article_details .entry_details .item > h3,
.obj_article_details .main_entry .item > h2,
.obj_article_details .main_entry .item > h3 {
    color: var(--ojs-navy-dark);
}

/* ============================================================
   9. ANNOUNCEMENTS
   ============================================================ */

.cmp_announcements .obj_announcement_summary.full_width {
    width: 100% !important;
}

.cmp_announcements .obj_announcement_summary {
    padding: 16px 0;
    border-bottom-color: var(--ojs-border);
}

.cmp_announcements .obj_announcement_summary .title a {
    color: #222;
    font-weight: 700;
    text-decoration: none;
}

.cmp_announcements .obj_announcement_summary .title a:hover {
    color: var(--ojs-navy);
}

.cmp_announcements .obj_announcement_summary .summary p {
    margin-top: 0 !important;
    margin-bottom: 1em !important;
    line-height: 1.6;
}

/* ============================================================
   10. SIDEBAR
   ============================================================ */

.pkp_block {
    margin: 0 0 16px !important;
    padding: 14px 12px;
}

.pkp_structure_sidebar .pkp_block .title {
    margin: 0 0 10px;
    padding: 8px 10px;
    color: var(--ojs-navy-dark);
    background: var(--ojs-white);
    border: 0;
    border-left: 4px solid var(--ojs-navy);
    border-radius: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pkp_structure_sidebar .pkp_block .content {
    color: #555;
}

/* Custom Sidebar Menu */
#customblock-Sidebar_menu.pkp_block {
    margin: 0 0 16px !important;
    padding: 0 !important;
}

#customblock-Sidebar_menu.pkp_block ul,
#customblock-Sidebar_menu.pkp_block ul li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

#customblock-Sidebar_menu.pkp_block ul {
    overflow: hidden;
    background: var(--ojs-white);
    border: 1px solid var(--ojs-border);
    border-radius: var(--ojs-radius);
}

#customblock-Sidebar_menu.pkp_block ul li {
    background: var(--ojs-white) !important;
    border-bottom: 1px solid var(--ojs-border);
}

#customblock-Sidebar_menu.pkp_block ul li:last-child {
    border-bottom: 0;
}

#customblock-Sidebar_menu.pkp_block ul li a {
    display: block;
    padding: 10px 14px;
    color: #444 !important;
    background: var(--ojs-white) !important;
    line-height: 1.45;
    text-decoration: none;
    border-left: 3px solid transparent;
}

#customblock-Sidebar_menu.pkp_block ul li a:hover,
#customblock-Sidebar_menu.pkp_block ul li a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-ivory) !important;
    border-left-color: var(--ojs-navy);
}

/* Make Submission */
.pkp_block.block_make_submission .content {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.pkp_block.block_make_submission .content a {
    display: block;
    padding: 11px 14px;
    color: var(--ojs-white) !important;
    background: linear-gradient(135deg, var(--ojs-navy), var(--ojs-navy-dark));
    border: 1px solid var(--ojs-navy-dark);
    border-radius: 8px;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(18, 38, 51, .16);
}

.pkp_block.block_make_submission .content a:hover,
.pkp_block.block_make_submission .content a:focus {
    color: var(--ojs-white) !important;
    background: var(--ojs-navy-dark) !important;
    box-shadow: 0 6px 16px rgba(18, 38, 51, .20);
    transform: translateY(-1px);
}

.sidebar-block {
    margin: 10px -10px;
    padding: 8px 10px;
    color: var(--ojs-white);
    background: linear-gradient(135deg, var(--ojs-navy), var(--ojs-navy-dark));
    border-radius: 5px;
}

#customblock-Tools .content > .content div {
    width: 80% !important;
    margin: auto;
}

#customblock-Tools .content > .content div a img {
    width: 100% !important;
    height: auto;
}

#customblock-Visitor_statistics .content > .content .supercounter,
#customblock-Visitor_statistics .content > .content .statcounter {
    text-align: center;
}

/* ============================================================
   11. BUTTONS / FORMS / TABLES
   ============================================================ */

.cmp_button,
button,
input[type="submit"],
input[type="button"] {
    border-radius: 7px;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
select,
textarea {
    color: var(--ojs-text);
    background: var(--ojs-white);
    border-color: var(--ojs-border-dark);
    border-radius: 7px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    border-color: var(--ojs-navy);
    box-shadow: 0 0 0 3px rgba(202, 169, 108, .16);
}

table {
    border-color: var(--ojs-border);
}

table th {
    color: #333;
    background: #FBF8F2;
}

table td,
table th {
    border-color: var(--ojs-border);
}

/* Pagination */
.cmp_pagination .page,
.cmp_pagination a {
    border-radius: 6px;
}

.cmp_pagination .current {
    color: var(--ojs-white);
    background: var(--ojs-navy);
}

/* ============================================================
   12. BUILT-IN OJS FOOTER WRAPPER
   ============================================================ */

.pkp_structure_footer_wrapper {
    border-bottom: 0 !important;
    border-radius: 0 0 12px 12px;
    overflow: hidden;
}

.pkp_structure_footer .pkp_footer_content {
    padding: 0 !important;
    color: var(--ojs-text);
    background: var(--ojs-white);
}

.pkp_structure_footer .pkp_footer_content p {
    margin: 0;
}

/* If only normal text is used in the default footer, keep it readable */
.pkp_structure_footer .pkp_footer_content > p,
.pkp_structure_footer .pkp_footer_content > div:not(.nawasena-footer) {
    padding: 18px 22px;
}

.pkp_structure_footer .pkp_brand_footer {
    height: auto !important;
    padding: 10px 20px;
    background: var(--ojs-navy-deep);
}

.pkp_structure_footer .pkp_brand_footer img {
    display: block;
    width: 42px !important;
    height: auto;
    opacity: .85;
}

/* Hide custom CSS helper block, if present */
#customblock-custom_css {
    display: none;
}

/* ============================================================
   13. CUSTOM NAWASENA FOOTER HTML
   These classes support the custom HTML footer separately added
   in OJS. Do NOT paste the HTML itself into this CSS file.
   ============================================================ */

.nawasena-footer {
    --nw-navy: #122633;
    --nw-navy-dark: #0B1C27;
    --nw-navy-deep: #07141D;
    --nw-text: #252525;
    --nw-muted: #666666;
    --nw-border: #E3DBCF;
    --nw-soft: #F8F4EE;

    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--nw-text);
    background: #FFFFFF;
    border-top: 4px solid var(--nw-navy);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 Helvetica, Arial, sans-serif;
    box-sizing: border-box;
}

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

.nawasena-footer-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: 42px 30px 38px;
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.35fr;
    gap: 36px;
}

.nawasena-footer-brand {
    padding-right: 18px;
}

.nawasena-footer-logo {
    display: block;
    width: 100%;
    max-width: 200px;
    height: auto;
    margin: 0 0 20px;
}

.nawasena-footer-brand p {
    margin: 0;
    color: var(--nw-muted);
    font-size: 14px;
    line-height: 1.72;
}

.nawasena-journal-name {
    margin-top: 18px !important;
    color: var(--nw-navy-dark) !important;
    font-weight: 700;
}

.nawasena-footer-title {
    position: relative;
    margin: 0 0 18px;
    padding-bottom: 10px;
    color: var(--nw-navy-dark);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.nawasena-footer-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 2px;
    background: var(--nw-navy);
}

.nawasena-footer-links {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.nawasena-footer-links li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid #EAE2D6;
}

.nawasena-footer-links li:last-child {
    border-bottom: 0;
}

.nawasena-footer-links a {
    position: relative;
    display: block;
    padding: 8px 0 8px 18px;
    color: #444444 !important;
    font-size: 13.5px;
    line-height: 1.45;
    text-decoration: none !important;
}

.nawasena-footer-links a::before {
    content: "›";
    position: absolute;
    left: 1px;
    top: 5px;
    color: var(--nw-navy);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.nawasena-footer-links a:hover,
.nawasena-footer-links a:focus {
    padding-left: 22px;
    color: var(--nw-navy) !important;
}

.nawasena-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 15px;
}

.nawasena-contact-icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--nw-navy);
    background: #FAF6EF;
    border: 1px solid #DCC498;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
}

.nawasena-contact-text {
    color: #555555;
    font-size: 13.5px;
    line-height: 1.65;
}

.nawasena-contact-text strong {
    display: block;
    margin-bottom: 2px;
    color: #292929;
}

.nawasena-contact-text a {
    color: var(--nw-navy-dark) !important;
    text-decoration: none !important;
}

.nawasena-contact-text a:hover {
    text-decoration: underline !important;
}

.nawasena-open-access {
    margin-top: 22px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 16px;
    color: var(--nw-navy);
    background: #FAF6EF;
    border: 1px solid #D7BC88;
    border-radius: 30px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .4px;
}

.nawasena-open-lock {
    position: relative;
    display: inline-block;
    width: 17px;
    height: 14px;
    margin-top: 5px;
    border: 2px solid var(--nw-navy);
    border-radius: 3px;
}

.nawasena-open-lock::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    left: 2px;
    top: -9px;
    border: 2px solid var(--nw-navy);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    transform: translateX(4px);
}

.nawasena-publisher-band {
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--nw-navy-dark), var(--nw-navy));
}

.nawasena-publisher-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 30px;
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 32px;
}

.nawasena-band-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.nawasena-band-item + .nawasena-band-item {
    padding-left: 28px;
    border-left: 1px solid rgba(255, 255, 255, .28);
}

.nawasena-band-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}

.nawasena-band-content h4 {
    margin: 0 0 5px;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.nawasena-band-content p {
    margin: 0;
    color: rgba(255, 255, 255, .92);
    font-size: 12.8px;
    line-height: 1.65;
}

.nawasena-band-content a {
    color: #FFFFFF !important;
    text-decoration: underline;
}

.nawasena-footer-bottom {
    color: rgba(255, 255, 255, .90);
    background: var(--nw-navy-deep);
}

.nawasena-footer-bottom-inner {
    max-width: 1180px;
    min-height: 54px;
    margin: 0 auto;
    padding: 10px 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 13px 24px;
    font-size: 12px;
}

.nawasena-bottom-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
}

.nawasena-bottom-group span + span {
    padding-left: 18px;
    border-left: 1px solid rgba(255, 255, 255, .30);
}

.nawasena-footer-bottom a {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

.nawasena-footer-bottom a:hover,
.nawasena-footer-bottom a:focus {
    text-decoration: underline !important;
}

/* ============================================================
   14. RESPONSIVE
   ============================================================ */

@media (max-width: 1000px) {
    body {
        background: var(--ojs-white);
    }

    .pkp_structure_page {
        width: 100%;
        margin: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .pkp_structure_head,
    .pkp_structure_footer_wrapper {
        border-radius: 0;
    }

    .nawasena-footer-main {
        grid-template-columns: 1fr 1fr;
    }

    .nawasena-publisher-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .nawasena-band-item + .nawasena-band-item {
        padding-top: 20px;
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .25);
        border-left: 0;
    }
}

@media (max-width: 768px) {
    .pkp_navigation_user_wrapper {
        padding: 0 10px !important;
    }

    .pkp_navigation_user {
        justify-content: center;
    }

    .pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .obj_article_summary {
        padding: 14px;
        border-left-width: 3px;
        border-radius: 7px;
    }

    .pkp_block {
        padding-right: 10px;
        padding-left: 10px;
    }
}

@media (max-width: 620px) {
    body {
        font-size: 14px;
    }

    .pkp_site_name .is_text {
        padding: 22px 18px;
    }

    .nawasena-footer-main {
        padding: 32px 22px;
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .nawasena-footer-brand {
        padding-right: 0;
    }

    .nawasena-footer-logo {
        max-width: 175px;
    }

    .nawasena-publisher-inner {
        padding: 22px;
    }

    .nawasena-footer-bottom-inner {
        display: block;
        padding: 14px 22px;
        text-align: center;
    }

    .nawasena-bottom-group {
        justify-content: center;
        margin-bottom: 7px;
    }

    .nawasena-bottom-group span + span {
        padding-left: 0;
        border-left: 0;
    }
}

/* ============================================================
   15. ACCESSIBILITY / REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition: none !important;
        animation: none !important;
    }
}
/* ============================================================
   16. OJS 3.3 DEFAULT-BLUE RESET + MOBILE HEADER FIX
   Added to override Default Theme @bg-base / @primary remnants.
   ============================================================ */

/* --- Remove remaining Default Theme blue from header/user area --- */
.pkp_structure_head,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_nav_menu,
.pkp_navigation_user_wrapper,
.pkp_navigation_user {
    border-color: var(--ojs-border) !important;
}

.pkp_structure_head,
.pkp_site_name_wrapper,
.pkp_site_nav_menu,
.pkp_navigation_user_wrapper {
    background-color: var(--ojs-white) !important;
}

/* Login / Register / Profile: no blue focus, border or shadow */
.pkp_navigation_user.pkp_navigation_user {
    border-top: 0 !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:visited,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:visited {
    color: var(--ojs-navy-dark) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    outline-color: transparent !important;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li > a:focus-visible,
.pkp_navigation_user > li.in_focus > a,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:hover,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:focus,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:focus-visible {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-ivory) !important;
    border-color: #E0CDAA !important;
    box-shadow: none !important;
    outline: 2px solid rgba(202, 169, 108, .20) !important;
    outline-offset: 1px !important;
}

/* OJS task counters can inherit the original blue */
.pkp_navigation_user .task_count,
.pkp_navigation_user > li > a .task_count,
.pkp_navigation_user > li > ul a .task_count {
    color: var(--ojs-white) !important;
    background: var(--ojs-navy) !important;
    border-color: var(--ojs-navy) !important;
}

/* User dropdown: remove the default blue left accent */
.pkp_navigation_user ul,
.pkp_navigation_user ul.dropdown-menu {
    border-color: var(--ojs-border) !important;
}

.pkp_navigation_user ul a,
.pkp_navigation_user ul.dropdown-menu a {
    color: #444 !important;
    background: var(--ojs-white) !important;
    border-left: 3px solid transparent !important;
}

.pkp_navigation_user ul a:hover,
.pkp_navigation_user ul a:focus,
.pkp_navigation_user ul.dropdown-menu a:hover,
.pkp_navigation_user ul.dropdown-menu a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-ivory) !important;
    border-left-color: var(--ojs-navy) !important;
}

/* Remove occasional Default Theme blue from content links with stronger selectors */
.pkp_structure_content .pkp_structure_main a:not(.obj_galley_link):not(.cmp_button_wire),
.pkp_structure_content .pkp_structure_sidebar a {
    color: var(--ojs-navy);
}

.pkp_structure_content .pkp_structure_main a:not(.obj_galley_link):not(.cmp_button_wire):hover,
.pkp_structure_content .pkp_structure_main a:not(.obj_galley_link):not(.cmp_button_wire):focus,
.pkp_structure_content .pkp_structure_sidebar a:hover,
.pkp_structure_content .pkp_structure_sidebar a:focus {
    color: var(--ojs-navy-dark);
}

/* Common OJS buttons */
.cmp_button,
.pkp_button,
button.submit,
input[type="submit"] {
    border-color: var(--ojs-navy) !important;
}

.cmp_button:hover,
.cmp_button:focus,
.pkp_button:hover,
.pkp_button:focus,
button.submit:hover,
button.submit:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
    border-color: var(--ojs-navy-dark) !important;
}


/* ============================================================
   MOBILE / TABLET NAVIGATION
   OJS Default Theme switches to mobile navigation below its
   desktop breakpoint. These rules deliberately use 991px.
   ============================================================ */

@media (max-width: 991px) {

    /* Full-width clean canvas */
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .pkp_structure_page {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .pkp_structure_head {
        width: 100%;
        border-radius: 0 !important;
        overflow: visible !important;
        background: var(--ojs-white) !important;
    }

    .pkp_head_wrapper {
        width: 100%;
        padding: 0 !important;
        background: var(--ojs-white) !important;
    }

    /* Banner first, hamburger/menu bar second */
    .pkp_site_name_wrapper {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--ojs-white) !important;
    }

    .pkp_site_name {
        order: 1;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: clip !important;
        background: var(--ojs-white) !important;
    }

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

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

    /* Mobile hamburger becomes a clean navy bar */
    .pkp_site_nav_toggle {
        order: 2;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: block !important;
        width: 100% !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: linear-gradient(135deg, var(--ojs-navy), var(--ojs-navy-dark)) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        cursor: pointer;
        z-index: 1001;
    }

    .pkp_site_nav_toggle::after {
        content: "MENU";
        position: absolute;
        top: 50%;
        left: 55px;
        transform: translateY(-50%);
        color: var(--ojs-white);
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: .10em;
    }

    .pkp_site_nav_toggle > span {
        top: 50% !important;
        left: 18px !important;
        width: 23px !important;
        height: 18px !important;
        transform: translateY(-50%) !important;
        border-bottom-color: var(--ojs-white) !important;
    }

    .pkp_site_nav_toggle > span::before,
    .pkp_site_nav_toggle > span::after {
        background: var(--ojs-white) !important;
    }

    .pkp_site_nav_toggle:focus,
    .pkp_site_nav_toggle:focus-visible {
        outline: 3px solid rgba(202, 169, 108, .25) !important;
        outline-offset: -3px !important;
        box-shadow: none !important;
    }

    /*
     * When OJS toggles .pkp_site_nav_menu--isOpen this block enters
     * normal document flow, rather than floating over the page.
     */
    .pkp_site_nav_menu {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--ojs-white) !important;
        border: 0 !important;
        box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
        z-index: 1000;
    }

    /* Main mobile menu */
    .pkp_navigation_primary_row {
        width: 100% !important;
        margin: 0 !important;
        background: linear-gradient(135deg, var(--ojs-navy), var(--ojs-navy-dark)) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .pkp_navigation_primary_wrapper {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_navigation_primary {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .pkp_navigation_primary > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .13) !important;
    }

    .pkp_navigation_primary > li:last-child {
        border-bottom: 0 !important;
    }

    .pkp_navigation_primary > li > a,
    .pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li > a {
        display: block !important;
        width: 100% !important;
        min-height: 44px;
        margin: 0 !important;
        padding: 12px 18px !important;
        color: var(--ojs-white) !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        line-height: 1.45 !important;
        text-decoration: none !important;
        box-sizing: border-box;
    }

    .pkp_navigation_primary > li > a:hover,
    .pkp_navigation_primary > li > a:focus,
    .pkp_navigation_primary > li.in_focus > a {
        color: var(--ojs-white) !important;
        background: rgba(255, 255, 255, .12) !important;
    }

    /* Submenus stay readable on touch devices */
    .pkp_navigation_primary ul,
    .pkp_navigation_primary .dropdown-menu {
        max-width: 100% !important;
    }

    .pkp_navigation_primary ul a,
    .pkp_navigation_primary .dropdown-menu a {
        white-space: normal !important;
    }

    /* Mobile search */
    .pkp_navigation_search_wrapper {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: var(--ojs-navy-deep) !important;
    }

    .pkp_navigation_search_wrapper a,
    .pkp_navigation_search_wrapper .pkp_search {
        display: block !important;
        width: 100% !important;
        min-height: 44px;
        margin: 0 !important;
        padding: 12px 18px !important;
        color: var(--ojs-white) !important;
        background: transparent !important;
        border: 0 !important;
        line-height: 1.45 !important;
        box-sizing: border-box;
    }

    .pkp_navigation_search_wrapper a:hover,
    .pkp_navigation_search_wrapper a:focus {
        background: rgba(255, 255, 255, .10) !important;
    }

    /* Login / Register section: white, centered, pill buttons */
    .pkp_navigation_user_wrapper {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 11px 12px !important;
        text-align: center !important;
        background: var(--ojs-white) !important;
        border-top: 0 !important;
        border-bottom: 1px solid var(--ojs-border) !important;
        box-sizing: border-box;
    }

    .pkp_navigation_user,
    .pkp_navigation_user.pkp_navigation_user {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 7px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: center !important;
    }

    .pkp_navigation_user > li {
        display: inline-flex !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_navigation_user > li > a,
    .pkp_navigation_user > li > a:visited,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        margin: 0 !important;
        padding: 8px 14px !important;
        color: var(--ojs-navy-dark) !important;
        background: var(--ojs-white) !important;
        border: 1px solid #DCC498 !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;
        box-shadow: none !important;
    }

    .pkp_navigation_user > li > a:hover,
    .pkp_navigation_user > li > a:focus,
    .pkp_navigation_user > li.in_focus > a,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:hover,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:focus {
        color: var(--ojs-white) !important;
        background: var(--ojs-navy) !important;
        border-color: var(--ojs-navy) !important;
        outline: none !important;
    }

    /* Content becomes comfortably single-column */
    .pkp_structure_content {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_structure_main,
    .pkp_structure_sidebar {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box;
    }

    .pkp_structure_main {
        padding: 24px 18px !important;
    }

    .pkp_structure_sidebar {
        padding: 0 18px 22px !important;
        border-left: 0 !important;
    }

    .obj_article_summary {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .obj_article_summary .title,
    .obj_article_summary .title a,
    .obj_article_details .page_title,
    .obj_article_details .page_title h1 {
        overflow-wrap: anywhere;
        word-break: normal;
    }

    /* Prevent wide media from breaking phone layout */
    .pkp_structure_content img,
    .pkp_structure_content iframe,
    .pkp_structure_content video,
    .pkp_structure_content embed,
    .pkp_structure_content object {
        max-width: 100% !important;
    }

    .pkp_structure_content img {
        height: auto;
    }

    /* Footer mobile/tablet */
    .nawasena-footer {
        width: 100% !important;
        overflow-x: hidden;
    }

    .nawasena-footer-main {
        width: 100%;
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        padding: 34px 24px;
    }

    .nawasena-publisher-inner {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 24px;
    }

    .nawasena-band-item + .nawasena-band-item {
        padding-top: 18px;
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .24);
        border-left: 0;
    }

    .nawasena-footer-bottom-inner {
        width: 100%;
        padding-right: 24px;
        padding-left: 24px;
    }
}


/* Smaller phones */
@media (max-width: 620px) {

    .pkp_site_nav_toggle {
        height: 44px !important;
    }

    .pkp_structure_main {
        padding: 20px 14px !important;
    }

    .pkp_structure_sidebar {
        padding: 0 14px 20px !important;
    }

    .pkp_navigation_primary > li > a,
    .pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li > a,
    .pkp_navigation_search_wrapper a,
    .pkp_navigation_search_wrapper .pkp_search {
        padding-right: 15px !important;
        padding-left: 15px !important;
        font-size: 14px !important;
    }

    .pkp_navigation_user_wrapper {
        padding: 10px !important;
    }

    .pkp_navigation_user {
        gap: 6px !important;
    }

    .pkp_navigation_user > li > a,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
        min-height: 36px;
        padding: 7px 12px !important;
        font-size: 12.5px !important;
    }

    .obj_article_summary {
        margin-bottom: 12px;
        padding: 13px !important;
        border-left-width: 3px !important;
    }

    .obj_article_summary .title {
        font-size: 16px;
        line-height: 1.4;
    }

    .obj_galley_link,
    .cmp_button_wire {
        margin-top: 4px;
        margin-bottom: 4px;
    }

    .nawasena-footer-main {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 30px 18px;
    }

    .nawasena-footer-logo {
        max-width: 160px;
    }

    .nawasena-publisher-inner {
        padding: 20px 18px;
    }

    .nawasena-footer-bottom-inner {
        display: block;
        padding: 14px 18px;
        text-align: center;
    }

    .nawasena-bottom-group {
        justify-content: center;
        gap: 6px 12px;
        margin-bottom: 8px;
    }

    .nawasena-bottom-group span {
        width: 100%;
    }

    .nawasena-bottom-group span + span {
        padding-left: 0;
        border-left: 0;
    }
}


/* Very narrow phones */
@media (max-width: 380px) {

    body {
        font-size: 13.5px;
    }

    .pkp_site_nav_toggle::after {
        left: 52px;
        font-size: 11px;
    }

    .pkp_navigation_user > li > a,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .pkp_structure_main,
    .pkp_structure_sidebar {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }
}

/* ============================================================
   17. DESKTOP LOGIN / REGISTER RIGHT ALIGN
   Only fixes the user-navigation row. Mobile remains unchanged.
   ============================================================ */

@media (min-width: 992px) {

    /* Full-width user navigation row */
    .pkp_navigation_user_wrapper {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 22px !important;
        float: none !important;
        clear: both !important;
        transform: none !important;
        background: var(--ojs-white) !important;
        border-top: 0 !important;
        border-bottom: 1px solid var(--ojs-border) !important;
        box-sizing: border-box !important;
    }

    /* Align Register / Login to the right */
    .pkp_navigation_user_wrapper .pkp_navigation_user,
    .pkp_navigation_user.pkp_navigation_user {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        text-align: right !important;
        background: transparent !important;
        border: 0 !important;
    }

    .pkp_navigation_user > li {
        display: inline-flex !important;
        float: none !important;
        margin: 0 0 0 6px !important;
        padding: 0 !important;
    }

    .pkp_navigation_user > li > a,
    .pkp_navigation_user > li > a:visited,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 36px !important;
        padding: 7px 10px !important;
        text-align: center !important;
    }
}

/* ============================================================
   18. HOMEPAGE IMAGE — FULL LEFT / RIGHT
   Only affects the OJS Homepage Image.
   ============================================================ */

/* Desktop: remove the default inner left/right gap around homepage image */
.page_index_journal .homepage_image {
    display: block !important;
    width: calc(100% + 60px) !important;
    max-width: none !important;
    margin: 0 -30px 30px -30px !important;
    padding: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

.page_index_journal .homepage_image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* If the homepage image is wrapped in a link */
.page_index_journal .homepage_image > a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}


/* Tablet / mobile: match the custom content padding from this theme */
@media (max-width: 991px) {

    .page_index_journal .homepage_image {
        width: calc(100% + 36px) !important;
        margin-right: -18px !important;
        margin-left: -18px !important;
        margin-bottom: 24px !important;
    }

    .page_index_journal .homepage_image img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}


/* Small phones */
@media (max-width: 620px) {

    .page_index_journal .homepage_image {
        width: calc(100% + 28px) !important;
        margin-right: -14px !important;
        margin-left: -14px !important;
        margin-bottom: 20px !important;
    }
}


/* Very narrow phones */
@media (max-width: 380px) {

    .page_index_journal .homepage_image {
        width: calc(100% + 24px) !important;
        margin-right: -12px !important;
        margin-left: -12px !important;
    }
}

/* ============================================================
   19. NAWASENA HOMEPAGE CONTENT — OJS 3.3 SAFE STYLING
   CSS belongs here (Journal Style Sheet), NOT inside Additional Content.
   ============================================================ */

.page_index_journal .nawasena-home {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page_index_journal .nawasena-home,
.page_index_journal .nawasena-home * {
    box-sizing: border-box !important;
}

.page_index_journal .nawasena-home img {
    max-width: 100% !important;
    height: auto !important;
}

.page_index_journal .nawasena-home .nawasena-info-grid,
.page_index_journal .nawasena-home .nawasena-current-issue,
.page_index_journal .nawasena-home .nawasena-scope {
    width: 100% !important;
}

.page_index_journal .nawasena-home .nawasena-info-card,
.page_index_journal .nawasena-home .nawasena-section,
.page_index_journal .nawasena-home .nawasena-current-issue,
.page_index_journal .nawasena-home .nawasena-open-box,
.page_index_journal .nawasena-home .nawasena-cta {
    box-shadow: none;
}

/* Homepage headings should not inherit oversized theme rules */
.page_index_journal .nawasena-home h2,
.page_index_journal .nawasena-home h3 {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Keep homepage content visually separated from native current-issue blocks */
.page_index_journal .nawasena-home {
    margin-bottom: 28px !important;
}

/* Mobile safety */
@media (max-width: 700px) {
    .page_index_journal .nawasena-home {
        overflow-x: hidden !important;
    }

    .page_index_journal .nawasena-home .nawasena-info-grid,
    .page_index_journal .nawasena-home .nawasena-current-issue,
    .page_index_journal .nawasena-home .nawasena-scope {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .page_index_journal .nawasena-home .nawasena-current-info {
        text-align: center !important;
    }

    .page_index_journal .nawasena-home .nawasena-current-meta {
        justify-content: center !important;
    }
}

.nawasena-home {
    --nw-navy:#122633;
    --nw-navy-dark:#0B1C27;
    --nw-ivory:#F8F4EE;
    --nw-text:#252525;
    --nw-muted:#666;
    --nw-border:#E3DBCF;
    --nw-white:#FFF;
    --nw-bg:#FBF8F2;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:var(--nw-text);
    line-height:1.7;
}

.nawasena-home * {
    box-sizing:border-box;
}

.nawasena-home a {
    color:var(--nw-navy);
    text-decoration:none;
}

.nawasena-home a:hover,
.nawasena-home a:focus {
    color:var(--nw-navy-dark);
    text-decoration:underline;
}

.nawasena-home-intro {
    margin:0 0 26px;
    padding:0;
}

.nawasena-home-kicker {
    display:inline-block;
    margin:0 0 10px;
    color:var(--nw-navy);
    font-size:12px;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.nawasena-home h2 {
    margin:0 0 12px;
    color:#222;
    font-size:28px;
    line-height:1.3;
    font-weight:750;
}

.nawasena-home h3 {
    margin:0 0 14px;
    color:var(--nw-navy-dark);
    font-size:18px;
    line-height:1.35;
    font-weight:750;
}

.nawasena-home p {
    margin:0 0 14px;
    color:#444;
}

.nawasena-home-lead {
    max-width:950px;
    font-size:15.5px;
    color:#4B4B4B;
}

.nawasena-info-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:24px 0 30px;
}

.nawasena-info-card {
    padding:18px 19px;
    background:var(--nw-white);
    border:1px solid var(--nw-border);
    border-left:4px solid var(--nw-navy);
    border-radius:8px;
}

.nawasena-info-label {
    display:block;
    margin-bottom:4px;
    color:var(--nw-muted);
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nawasena-info-value {
    color:#262626;
    font-size:14.5px;
    font-weight:650;
    line-height:1.55;
}

.nawasena-profile-links {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:8px;
}

.nawasena-profile-link {
    display:inline-block;
    padding:4px 9px;
    color:var(--nw-navy-dark) !important;
    background:var(--nw-ivory);
    border:1px solid #E0CDAA;
    border-radius:999px;
    font-size:11.5px;
    font-weight:700;
    text-decoration:none !important;
}

.nawasena-profile-link:hover {
    color:#fff !important;
    background:var(--nw-navy);
    border-color:var(--nw-navy);
}

.nawasena-section {
    margin:0 0 26px;
    padding:22px 22px 20px;
    background:#fff;
    border:1px solid var(--nw-border);
    border-radius:8px;
}

.nawasena-section-title {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.nawasena-section-title::before {
    content:"";
    width:5px;
    height:24px;
    flex:0 0 5px;
    background:var(--nw-navy);
    border-radius:5px;
}

.nawasena-section-title h3 {
    margin:0;
}

.nawasena-scope {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 20px;
    margin:10px 0 0;
    padding:0;
    list-style:none;
}

.nawasena-scope li {
    position:relative;
    margin:0;
    padding:7px 0 7px 20px;
    color:#444;
    border-bottom:1px solid #F0F0F0;
    font-size:14px;
}

.nawasena-scope li::before {
    content:"";
    position:absolute;
    left:1px;
    top:16px;
    width:7px;
    height:7px;
    background:var(--nw-navy);
    border-radius:50%;
}

.nawasena-open-box {
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px 20px;
    margin:0 0 26px;
    background:linear-gradient(135deg,#FBF8F2,#F4EBDD);
    border:1px solid #E5D7C0;
    border-radius:8px;
}

.nawasena-open-icon {
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--nw-navy);
    border-radius:50%;
    font-size:17px;
    font-weight:800;
}

.nawasena-open-box strong {
    color:var(--nw-navy-dark);
}

.nawasena-cta {
    padding:22px;
    color:#fff;
    background:linear-gradient(135deg,var(--nw-navy),var(--nw-navy-dark));
    border-radius:8px;
}

.nawasena-cta h3,
.nawasena-cta p {
    color:#fff;
}

.nawasena-cta h3 {
    margin-bottom:8px;
}

.nawasena-cta p {
    margin-bottom:14px;
    color:rgba(255,255,255,.91);
}

.nawasena-cta a {
    display:inline-block;
    padding:8px 14px;
    color:var(--nw-navy-dark) !important;
    background:#fff;
    border-radius:6px;
    font-size:13px;
    font-weight:750;
    text-decoration:none !important;
}

.nawasena-cta a:hover {
    background:#F8F4EE;
}

@media (max-width:700px) {
    .nawasena-home h2 {
        font-size:23px;
    }

    .nawasena-info-grid,
    .nawasena-scope {
        grid-template-columns:1fr;
    }

    .nawasena-info-card,
    .nawasena-section {
        padding:16px;
    }

    .nawasena-open-box {
        padding:16px;
    }
}

@media (max-width:420px) {
    .nawasena-home h2 {
        font-size:21px;
    }

    .nawasena-home-lead {
        font-size:14.5px;
    }

    .nawasena-open-icon {
        flex-basis:36px;
        width:36px;
        height:36px;
    }
}


/* ===== CURRENT ISSUE / COVER ===== */
.nawasena-current-issue {
    display:grid;
    grid-template-columns:minmax(220px,280px) minmax(0,1fr);
    gap:28px;
    align-items:center;
    margin:0 0 30px;
    padding:24px;
    background:linear-gradient(135deg,#FFFFFF 0%,#FFF8F8 100%);
    border:1px solid var(--nw-border);
    border-radius:10px;
    box-shadow:0 5px 18px rgba(0,0,0,.035);
}

.nawasena-current-cover {
    text-align:center;
}

.nawasena-current-cover img {
    display:block;
    width:100%;
    max-width:280px;
    height:auto;
    margin:0 auto;
    border:1px solid #E3E3E3;
    border-radius:5px;
    box-shadow:0 9px 24px rgba(0,0,0,.10);
}

.nawasena-current-kicker {
    display:inline-block;
    margin:0 0 7px;
    color:var(--nw-navy);
    font-size:11px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.nawasena-current-info h3 {
    margin:0 0 8px;
    color:#252525;
    font-size:24px;
    line-height:1.3;
}

.nawasena-current-subtitle {
    margin-bottom:16px !important;
    color:var(--nw-muted) !important;
    font-size:14px;
}

.nawasena-current-meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:16px 0 20px;
}

.nawasena-current-meta span {
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    color:#555;
    background:#FFF;
    border:1px solid #E4D5BA;
    border-radius:999px;
    font-size:12px;
    font-weight:650;
}

.nawasena-current-button {
    display:inline-block;
    padding:9px 15px;
    color:#FFF !important;
    background:linear-gradient(135deg,var(--nw-navy),var(--nw-navy-dark));
    border:1px solid var(--nw-navy-dark);
    border-radius:6px;
    font-size:13px;
    font-weight:750;
    text-decoration:none !important;
}

.nawasena-current-button:hover,
.nawasena-current-button:focus {
    color:#FFF !important;
    background:var(--nw-navy-dark);
    text-decoration:none !important;
}

@media (max-width:700px) {
    .nawasena-current-issue {
        grid-template-columns:1fr;
        gap:22px;
        padding:18px;
    }

    .nawasena-current-cover img {
        max-width:240px;
    }

    .nawasena-current-info {
        text-align:center;
    }

    .nawasena-current-info h3 {
        font-size:21px;
    }

    .nawasena-current-meta {
        justify-content:center;
    }
}

@media (max-width:420px) {
    .nawasena-current-issue {
        padding:15px;
    }

    .nawasena-current-cover img {
        max-width:210px;
    }

    .nawasena-current-info h3 {
        font-size:19px;
    }
}

/* ============================================================
   20. NAWASENA VISUAL IDENTITY REFINEMENT
   Palette derived from the supplied cover:
   Navy #122633 | Gold #CAA96C | Ivory #F8F4EE
   ============================================================ */

/* ---------- TYPOGRAPHY ---------- */
h1,
h2,
h3,
h4,
h5,
h6,
.pkp_site_name .is_text {
    color: var(--ojs-navy);
    font-family: Georgia, "Times New Roman", serif;
}

body,
button,
input,
select,
textarea,
.pkp_navigation_primary,
.pkp_navigation_user {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 "Helvetica Neue", Arial, sans-serif;
}

/* ---------- LINKS ---------- */
a {
    color: var(--ojs-navy);
    text-decoration-color: rgba(202, 169, 108, .65);
}

a:hover,
a:focus {
    color: var(--ojs-gold-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline-color: rgba(202, 169, 108, .42);
}

/* ---------- PAGE SHELL ---------- */
.pkp_structure_page {
    border-color: var(--ojs-border);
    box-shadow: 0 9px 32px rgba(18, 38, 51, .075);
}

/* ---------- PRIMARY NAVIGATION ---------- */
.pkp_navigation_primary_row {
    background: linear-gradient(135deg,
                var(--ojs-navy) 0%,
                var(--ojs-navy-dark) 100%) !important;
    border-top: 0;
    border-bottom: 3px solid var(--ojs-gold);
    box-shadow: 0 4px 16px rgba(18, 38, 51, .16);
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a:hover,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li a:focus,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li.in_focus > a {
    background: rgba(202, 169, 108, .16) !important;
}

.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li a:hover,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-gold-soft) !important;
}

/* Search area */
.pkp_navigation_primary_row .pkp_navigation_search_wrapper a,
.pkp_navigation_primary_row .pkp_search {
    color: #FFFFFF !important;
}

/* ---------- LOGIN / REGISTER ---------- */
.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:visited,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
    color: var(--ojs-navy) !important;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li.in_focus > a,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:hover,
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-gold-soft) !important;
    border-color: #DCC498 !important;
}

/* ---------- PAGE TITLES / ACCENT LINES ---------- */
.pkp_page_index .current_issue > h2::after,
.pkp_page_index .homepage_about > h2::after,
.pkp_page_index .additional_content > h2::after,
.page_issue > h1::after,
.page_announcements > h1::after,
.page_announcement > h1::after {
    background: var(--ojs-gold);
}

.cmp_breadcrumbs a {
    color: var(--ojs-navy);
}

/* ---------- ARTICLE CARDS ---------- */
.obj_article_summary {
    border-left-color: var(--ojs-gold);
}

.obj_article_summary:hover {
    border-left-color: var(--ojs-gold-dark);
    box-shadow: var(--ojs-shadow-hover);
}

.obj_article_summary .title a {
    color: var(--ojs-navy);
}

.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus {
    color: var(--ojs-gold-dark);
}

/* PDF / HTML / Galley */
.cmp_button_wire,
.obj_galley_link {
    color: var(--ojs-navy) !important;
    background: #FFFFFF;
    border-color: var(--ojs-navy);
}

.cmp_button_wire:hover,
.cmp_button_wire:focus,
.obj_galley_link:hover,
.obj_galley_link:focus {
    color: #FFFFFF !important;
    background: var(--ojs-navy);
    border-color: var(--ojs-gold);
}

/* Remove IJOPSS-specific DOI image dependency.
   Nawasena uses a clean textual DOI badge. */
.obj_article_summary .item.doi .label {
    width: auto !important;
    height: auto !important;
    display: inline-block;
    padding: 3px 7px;
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-gold-soft) !important;
    border: 1px solid #DCC498;
    border-radius: 4px;
    text-indent: 0 !important;
    white-space: normal;
    overflow: visible;
}

.obj_article_summary .item.stats .abstract::before,
.obj_article_summary .item.stats .galley::before {
    color: var(--ojs-gold-dark);
}

.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3,
.obj_article_details .entry_details .item > h2,
.obj_article_details .entry_details .item > h3,
.obj_article_details .main_entry .item > h2,
.obj_article_details .main_entry .item > h3 {
    color: var(--ojs-navy);
}

/* ---------- ANNOUNCEMENTS ---------- */
.cmp_announcements .obj_announcement_summary .title a {
    color: var(--ojs-navy);
}

.cmp_announcements .obj_announcement_summary .title a:hover {
    color: var(--ojs-gold-dark);
}

/* ---------- SIDEBAR ---------- */
.pkp_structure_sidebar .pkp_block .title {
    color: var(--ojs-navy);
    border-left-color: var(--ojs-gold);
}

#customblock-Sidebar_menu.pkp_block ul li a:hover,
#customblock-Sidebar_menu.pkp_block ul li a:focus {
    color: var(--ojs-navy-dark) !important;
    background: var(--ojs-gold-soft) !important;
    border-left-color: var(--ojs-gold);
}

.sidebar-block {
    color: #FFFFFF;
    background: linear-gradient(135deg,
                var(--ojs-navy),
                var(--ojs-navy-dark));
    border-left: 3px solid var(--ojs-gold);
}

.pkp_block.block_make_submission .content a {
    color: #FFFFFF !important;
    background: linear-gradient(135deg,
                var(--ojs-navy),
                var(--ojs-navy-dark));
    border-color: var(--ojs-gold-dark);
    box-shadow: 0 5px 14px rgba(18, 38, 51, .18);
}

.pkp_block.block_make_submission .content a:hover,
.pkp_block.block_make_submission .content a:focus {
    background: var(--ojs-navy-deep) !important;
    border-color: var(--ojs-gold);
    box-shadow: 0 7px 18px rgba(18, 38, 51, .24);
}

/* ---------- FORMS ---------- */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    border-color: var(--ojs-gold);
    box-shadow: 0 0 0 3px rgba(202, 169, 108, .17);
}

.cmp_pagination .current {
    color: #FFFFFF;
    background: var(--ojs-navy);
    border-color: var(--ojs-gold);
}

/* ---------- BUILT-IN FOOTER ---------- */
.pkp_structure_footer .pkp_brand_footer {
    background: var(--ojs-navy-deep);
    border-top: 2px solid var(--ojs-gold);
}

/* ============================================================
   NAWASENA CUSTOM HOMEPAGE
   Use class="nawasena-home" in Additional Content HTML.
   ============================================================ */

.nawasena-home {
    --nw-navy: #122633;
    --nw-navy-dark: #0B1C27;
    --nw-navy-deep: #07141D;
    --nw-gold: #CAA96C;
    --nw-gold-dark: #9B793D;
    --nw-gold-soft: #F4E9D4;
    --nw-ivory: #F8F4EE;
    --nw-text: #23282D;
    --nw-muted: #686A6B;
    --nw-border: #E3DBCF;
    --nw-white: #FFFFFF;
    --nw-bg: #FBF8F2;
}

.nawasena-home a {
    color: var(--nw-navy);
}

.nawasena-home a:hover,
.nawasena-home a:focus {
    color: var(--nw-gold-dark);
}

.nawasena-home-kicker,
.nawasena-current-kicker {
    color: var(--nw-gold-dark);
}

.nawasena-home h2,
.nawasena-home h3 {
    color: var(--nw-navy);
    font-family: Georgia, "Times New Roman", serif;
}

.nawasena-info-card {
    background: #FFFFFF;
    border-color: var(--nw-border);
    border-left-color: var(--nw-gold);
}

.nawasena-profile-link {
    color: var(--nw-navy) !important;
    background: var(--nw-gold-soft);
    border-color: #DCC498;
}

.nawasena-profile-link:hover,
.nawasena-profile-link:focus {
    color: #FFFFFF !important;
    background: var(--nw-navy);
    border-color: var(--nw-gold);
}

.nawasena-section-title::before,
.nawasena-scope li::before {
    background: var(--nw-gold);
}

.nawasena-open-box {
    background: linear-gradient(135deg, #FBF8F2, #F3EBDD);
    border-color: #E5D7C0;
}

.nawasena-open-icon {
    color: #FFFFFF;
    background: var(--nw-navy);
    border: 2px solid var(--nw-gold);
}

.nawasena-open-box strong {
    color: var(--nw-navy);
}

.nawasena-cta {
    color: #FFFFFF;
    background: linear-gradient(135deg,
                var(--nw-navy),
                var(--nw-navy-dark));
    border: 1px solid var(--nw-gold);
}

.nawasena-cta a {
    color: var(--nw-navy-dark) !important;
    background: #FFFFFF;
    border: 1px solid var(--nw-gold);
}

.nawasena-cta a:hover,
.nawasena-cta a:focus {
    color: var(--nw-navy-dark) !important;
    background: var(--nw-gold-soft);
}

.nawasena-current-issue {
    background: linear-gradient(135deg,
                #FFFFFF 0%,
                #F8F4EE 100%);
    border-color: var(--nw-border);
}

.nawasena-current-cover img {
    border-color: #D8CDBD;
    box-shadow: 0 10px 26px rgba(18, 38, 51, .12);
}

.nawasena-current-info h3 {
    color: var(--nw-navy);
}

.nawasena-current-meta span {
    color: var(--nw-navy);
    background: #FFFFFF;
    border-color: #E4D5BA;
}

.nawasena-current-button {
    color: #FFFFFF !important;
    background: linear-gradient(135deg,
                var(--nw-navy),
                var(--nw-navy-dark));
    border-color: var(--nw-gold-dark);
}

.nawasena-current-button:hover,
.nawasena-current-button:focus {
    color: #FFFFFF !important;
    background: var(--nw-navy-deep);
    border-color: var(--nw-gold);
}

/* ============================================================
   NAWASENA CUSTOM FOOTER
   Use nawasena-* classes in custom footer HTML.
   ============================================================ */

.nawasena-footer {
    --nw-navy: #122633;
    --nw-navy-dark: #0B1C27;
    --nw-navy-deep: #07141D;
    --nw-gold: #CAA96C;
    --nw-gold-dark: #9B793D;
    --nw-gold-soft: #F4E9D4;
    --nw-text: #23282D;
    --nw-muted: #686A6B;
    --nw-border: #E3DBCF;
    --nw-soft: #F8F4EE;

    border-top-color: var(--nw-gold);
}

.nawasena-journal-name,
.nawasena-footer-title {
    color: var(--nw-navy) !important;
}

.nawasena-footer-title::after {
    background: var(--nw-gold);
}

.nawasena-footer-links a::before {
    color: var(--nw-gold-dark);
}

.nawasena-footer-links a:hover,
.nawasena-footer-links a:focus,
.nawasena-contact-text a {
    color: var(--nw-navy) !important;
}

.nawasena-contact-icon {
    color: var(--nw-navy);
    background: var(--nw-gold-soft);
    border-color: #DCC498;
}

.nawasena-open-access {
    color: var(--nw-navy);
    background: var(--nw-gold-soft);
    border-color: #DCC498;
}

.nawasena-open-lock,
.nawasena-open-lock::before {
    border-color: var(--nw-gold-dark);
}

.nawasena-publisher-band {
    color: #FFFFFF;
    background: linear-gradient(135deg,
                var(--nw-navy-dark),
                var(--nw-navy));
    border-top: 2px solid var(--nw-gold);
}

.nawasena-footer-bottom {
    color: rgba(255,255,255,.92);
    background: var(--nw-navy-deep);
}

/* ---------- MOBILE: KEEP NAVY/GOLD IDENTITY ---------- */
@media (max-width: 991px) {
    .pkp_site_nav_toggle,
    .pkp_navigation_primary_row {
        background: linear-gradient(135deg,
                    var(--ojs-navy),
                    var(--ojs-navy-dark)) !important;
    }

    .pkp_site_nav_toggle {
        border-bottom: 2px solid var(--ojs-gold) !important;
    }

    .pkp_navigation_search_wrapper {
        background: var(--ojs-navy-deep) !important;
    }

    .pkp_navigation_user > li > a,
    .pkp_navigation_user > li > a:visited,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a {
        color: var(--ojs-navy) !important;
        background: #FFFFFF !important;
        border-color: #DCC498 !important;
    }

    .pkp_navigation_user > li > a:hover,
    .pkp_navigation_user > li > a:focus,
    .pkp_navigation_user > li.in_focus > a,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:hover,
    .pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > a:focus {
        color: #FFFFFF !important;
        background: var(--ojs-navy) !important;
        border-color: var(--ojs-gold) !important;
    }
}
