/* =========================================================
   DIDAKTARA — OJS 3.4 CUSTOM JOURNAL STYLESHEET
   Base layout: Yudhishthira / Bootstrap 3
   Upload: Website > Appearance > Advanced > Journal Style Sheet
   ========================================================= */

/* ---------- Fonts ---------- */
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,500;0,6..12,600;0,6..12,700;0,6..12,800;0,6..12,900;1,6..12,400;1,6..12,500;1,6..12,600;1,6..12,700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

/* ---------- PLM Design Tokens ---------- */
:root {
  --plm-amber: #D59B2B;
  --plm-wheat: #E7BE5C;
  --plm-cream: #F5EAD2;
  --plm-brown: #5B4331;
  --plm-brown-dark: #3D2B1F;
  --plm-olive: #A48F52;
  --plm-olive-dark: #75663B;
  --plm-paper: #FFFDF8;
  --plm-white: #FFFFFF;
  --plm-text: #33291F;
  --plm-muted: #776D63;
  --plm-border: #E7D8BB;
  --plm-shadow: 0 8px 24px rgba(91, 67, 49, 0.10);
  --plm-shadow-soft: 0 3px 12px rgba(91, 67, 49, 0.08);
  --plm-radius: 9px;
  --plm-radius-sm: 6px;
  --plm-body-font: "Nunito Sans", sans-serif;
  --plm-heading-font: "Lora", Georgia, serif;
}

/* =========================================================
   1. GLOBAL
   ========================================================= */
html,
body {
  overflow-x: hidden !important;
}

body {
  margin: 0;
  color: var(--plm-text);
  background-color: #F7F1E6;
  background-image:
    linear-gradient(30deg, rgba(213, 155, 43, 0.035) 12%, transparent 12.5%, transparent 87%, rgba(213, 155, 43, 0.035) 87.5%),
    linear-gradient(150deg, rgba(164, 143, 82, 0.03) 12%, transparent 12.5%, transparent 87%, rgba(164, 143, 82, 0.03) 87.5%),
    linear-gradient(30deg, rgba(91, 67, 49, 0.025) 12%, transparent 12.5%, transparent 87%, rgba(91, 67, 49, 0.025) 87.5%);
  background-size: 72px 126px;
  background-attachment: fixed;
  font-family: var(--plm-body-font);
  font-size: 14px;
  line-height: 1.65;
  text-align: justify;
}

a {
  color: var(--plm-brown);
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

a:hover,
a:focus {
  color: var(--plm-amber);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-header h1,
.page-header h2,
.page-header h3 {
  color: var(--plm-brown-dark);
  font-family: var(--plm-heading-font);
  font-weight: 700;
}

::selection {
  color: var(--plm-white);
  background: var(--plm-brown);
}

img {
  max-width: 100%;
  height: auto;
}

.container-fluid {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.container {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pkp_structure_page {
  overflow-x: hidden !important;
}

/* =========================================================
   2. HEADER, JOURNAL BANNER, AND NAVIGATION
   ========================================================= */
.navbar {
  width: 100% !important;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: var(--plm-paper);
  box-shadow: none;
}

.navbar-default {
  border: 0;
  background-color: var(--plm-paper);
}

.navbar-default .container-fluid {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.navbar-header,
.site-name {
  width: 100%;
  margin: 0 auto;
}

.site-name {
  overflow: hidden;
  background: var(--plm-paper);
}

.site-name a,
.site-name a img,
.navbar-brand,
.navbar-brand img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0;
  padding: 0 !important;
}

.navbar-brand {
  float: none;
  line-height: normal;
}

/* Main menu strip */
.navbar-collapse {
  width: 100%;
  min-height: 48px;
  padding: 7px 22px !important;
  border: 0 !important;
  background:
    linear-gradient(90deg, var(--plm-brown-dark), var(--plm-brown) 55%, #684B2F);
  box-shadow:
    inset 0 3px 0 var(--plm-amber),
    0 4px 12px rgba(61, 43, 31, 0.18);
}

.nav.navbar-nav {
  margin: 0 !important;
  padding: 0 !important;
}

.navbar-default .navbar-nav > li > a,
.nav.navbar-nav > li > a {
  padding: 10px 13px !important;
  color: var(--plm-cream) !important;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.35px;
  text-transform: uppercase;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--plm-brown-dark) !important;
  background-color: var(--plm-wheat) !important;
}

.navbar-form {
  margin-top: 2px;
  margin-bottom: 2px;
}

.navbar-form .form-control {
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 18px !important;
  color: var(--plm-text);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
}

.navbar-form .form-control:focus {
  border-color: var(--plm-wheat);
  box-shadow: 0 0 0 3px rgba(231, 190, 92, 0.18);
}

.navbar-form .btn,
.navbar-form.navbar-left .btn.btn-default {
  height: 36px !important;
  padding: 0 18px;
  border: 0 !important;
  border-radius: 18px !important;
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat) !important;
  font-weight: 800;
  line-height: 36px;
}

.navbar-form .btn:hover,
.navbar-form .btn:focus {
  color: var(--plm-white) !important;
  background: var(--plm-amber) !important;
}

/* =========================================================
   3. MAIN PAGE STRUCTURE
   ========================================================= */
.pkp_structure_content.container {
  width: calc(100% - 32px) !important;
  max-width: 1280px !important;
  margin: 22px auto 0 !important;
  padding: 34px 28px 48px !important;
  overflow-x: hidden !important;
  border: 1px solid rgba(231, 216, 187, 0.88);
  border-radius: 12px 12px 0 0;
  background-color: rgba(255, 253, 248, 0.98) !important;
  box-shadow: var(--plm-shadow);
}

.pkp_structure_main {
  padding-right: 25px;
}

.pkp_structure_sidebar {
  padding-left: 18px;
}

.page-header {
  margin-top: 0;
  border-bottom: 1px solid var(--plm-border);
}

.page-header h1,
.page-header h2 {
  position: relative;
  margin-top: 0;
  padding-bottom: 9px;
  font-size: 25px !important;
}

.page-header h1::after,
.page-header h2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 72px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--plm-amber), var(--plm-wheat));
}

/* =========================================================
   4. HOME PAGE: ABOUT, COVER, INDEXING
   ========================================================= */
.additional_content {
  margin-top: 0 !important;
}

.additional__title {
  position: relative;
  margin: 0 0 22px;
  padding: 0 0 10px 16px;
  border-left: 4px solid var(--plm-amber);
  color: var(--plm-brown-dark);
  font-family: var(--plm-heading-font);
  font-size: 25px !important;
  font-weight: 700;
  line-height: 1.3;
}

.additional__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  margin-bottom: 34px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--plm-border);
}

.additional__header .about {
  order: 2;
  color: var(--plm-text);
  line-height: 1.75;
}

.additional__header .about p:first-child {
  margin-top: 0;
}

.additional__header .cover {
  width: min(65%, 270px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #D8C59E;
  border-radius: 5px;
  background: var(--plm-white);
  box-shadow: 0 12px 26px rgba(91, 67, 49, 0.16);
}

.additional__header .cover img {
  display: block;
  width: 100% !important;
  height: auto !important;
}

.additional_indexing_container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.additional_indexing_container > *,
.additional_indexing > *,
.indexing__container > * {
  min-width: 0;
}

.additional_indexing_container a,
.additional_indexing a,
.indexing__container a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 6px;
  overflow: hidden;
  border: 1px solid var(--plm-border);
  border-radius: 6px;
  background: var(--plm-white);
}

.additional_indexing_container a:hover,
.additional_indexing a:hover,
.indexing__container a:hover {
  border-color: var(--plm-wheat);
  box-shadow: var(--plm-shadow-soft);
  transform: translateY(-1px);
}

.additional_indexing_container img,
.additional_indexing img,
.indexing__container img {
  width: 100% !important;
  max-height: 54px;
  object-fit: contain !important;
}

.indexing__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 8px !important;
}

.additional_indexing {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

/* Large image or poster inserted through Additional Content */
.additional_content div p strong img,
.additional_content div p img {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Home ordering */
.page_index_journal {
  display: flex;
  flex-direction: column-reverse;
  gap: 24px;
}

/* =========================================================
   5. SIDEBAR
   ========================================================= */
.pkp_block {
  margin-bottom: 16px;
}

.pkp_block .title,
.pkp_block h2.title {
  margin: 0;
  padding: 9px 13px;
  border-left: 4px solid var(--plm-amber);
  border-radius: 5px 5px 0 0;
  color: var(--plm-brown-dark);
  background: linear-gradient(90deg, var(--plm-cream), #FBF6EA);
  font-family: var(--plm-body-font);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.pkp_block.block_custom {
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--plm-radius) !important;
  background: transparent;
}

.pkp_block.block_custom .content {
  padding: 0 !important;
}

.pkp_block.block_custom .content .sidebar__title {
  margin: 0;
  padding: 9px 12px;
  border-left: 4px solid var(--plm-amber);
  color: var(--plm-brown-dark);
  background: linear-gradient(90deg, var(--plm-cream), #FCF8EF);
  font-family: var(--plm-body-font);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.35px;
  text-transform: uppercase;
}

.pkp_block.block_custom .content .sidebar__container,
.pkp_block .content {
  margin-top: 0;
  padding: 14px 16px;
  overflow: hidden;
  border: 1px solid var(--plm-border);
  border-top: 0;
  border-radius: 0 0 var(--plm-radius) var(--plm-radius) !important;
  background: var(--plm-white);
  box-shadow: var(--plm-shadow-soft);
}

.pkp_block.block_custom .content .sidebar__container .ojs-logo {
  display: block;
  margin-top: 14px;
}

.pkp_block.block_custom .content .sidebar__container .menu__title {
  margin: 22px 0 7px;
  color: var(--plm-brown);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.25px;
  text-transform: uppercase;
}

.pkp_block.block_custom .content .sidebar__container .menu__group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 9px;
}

.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link {
  display: block;
  width: 100%;
  padding: 8px 12px;
  border-left: 3px solid var(--plm-amber);
  border-radius: 5px;
  color: var(--plm-cream) !important;
  background: var(--plm-brown-dark);
  font-size: 12px !important;
  font-weight: 650;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:hover,
.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:focus {
  border-left-color: var(--plm-brown-dark);
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat);
}

.pkp_block.block_custom .content .sidebar__container .submissions__btn,
.pkp_block.block_custom .content .sidebar__container .issue__journal-expand {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 9px 12px;
  border: 1px solid var(--plm-amber);
  border-radius: 6px;
  color: var(--plm-white) !important;
  background: var(--plm-brown);
  font-size: 13px;
  font-weight: 750 !important;
  text-align: center;
  text-decoration: none;
}

.pkp_block.block_custom .content .sidebar__container .submissions__btn:hover,
.pkp_block.block_custom .content .sidebar__container .issue__journal-expand:hover {
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat);
}

.pkp_block.block_custom .content .sidebar__container .indexing__group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.pkp_block.block_custom .content .sidebar__container .certificate__group {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 13px;
}

.pkp_block.block_custom .content .sidebar__container .certificate__group a {
  overflow: hidden;
  border: 1px solid var(--plm-border);
  border-radius: 6px;
}

.pkp_block.block_custom .content .sidebar__container .sponsored__group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 13px;
}

.pkp_block.block_web_feed {
  overflow: hidden;
  border: 1px solid var(--plm-border);
  border-radius: var(--plm-radius) !important;
  background: var(--plm-white);
  box-shadow: var(--plm-shadow-soft);
}

/* =========================================================
   6. CURRENT ISSUE AND ARTICLE LISTS
   ========================================================= */
.current_issue {
  margin-top: 18px;
}

.current_issue .page-header h2 {
  color: var(--plm-brown-dark);
  font-family: var(--plm-heading-font);
  font-size: 25px !important;
  font-weight: 700;
}

.current_issue .current_issue_title.lead {
  margin-top: 6px;
  color: var(--plm-brown);
  font-size: 17px;
  font-weight: 750;
}

.current_issue .cover {
  overflow: hidden;
  border: 1px solid var(--plm-border);
  border-radius: 4px;
  box-shadow: 0 8px 18px rgba(91, 67, 49, 0.15);
}

.current_issue .cover img {
  display: block;
  width: 100%;
}

.sections .section .page-header h2 small {
  color: var(--plm-brown-dark);
  font-family: var(--plm-heading-font);
  font-size: 23px;
  font-weight: 700;
}

.media-list {
  margin-top: 10px;
}

.media-list > li,
.article-summary {
  position: relative;
  margin-bottom: 8px;
  padding: 10px 10px 11px;
  border-bottom: 1px solid #EEE4D1;
  background: transparent;
}

.media-list > li:hover,
.article-summary:hover {
  background: linear-gradient(90deg, rgba(245, 234, 210, 0.36), transparent);
}

.media-list a,
.article-summary .title a {
  color: #241C16;
  font-size: 13px;
  font-weight: 800 !important;
  line-height: 1.35;
}

.media-list a:hover,
.article-summary .title a:hover {
  color: var(--plm-amber);
}

.article-summary .meta,
.article-summary .authors,
.article-summary .pages,
.media-list .meta,
.media-list .authors {
  color: var(--plm-muted);
  font-size: 11px;
  line-height: 1.45;
}

.meta .authors .bi,
.breadcrumb .bi {
  color: var(--plm-amber);
}

.article-summary .article-abstract p,
.issue-details .description p,
.page.page_about > p,
.page.page_about ol > li,
.page.page_about ul > li {
  text-align: justify !important;
}

.thumbnail {
  border: 0 !important;
  border-radius: 4px;
  background: transparent;
}

.media-body .well {
  border: 1px solid var(--plm-border);
  border-radius: 9px;
  background: #FFFCF5;
  box-shadow: none;
}

.galley_info {
  margin-top: 8px;
  margin-left: 4px;
  color: var(--plm-muted);
  font-size: 10px;
}

.galley-link.btn.btn-primary.pdf,
.galley-link.btn-primary,
.btn.btn-primary.pdf {
  padding: 5px 11px;
  border: 0 !important;
  border-radius: 4px;
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.galley-link.btn.btn-primary.pdf:hover,
.galley-link.btn-primary:hover,
.btn.btn-primary.pdf:hover {
  color: var(--plm-white) !important;
  background: var(--plm-amber) !important;
}

.btn.btn-primary.read-more {
  float: right;
  margin-bottom: 45px;
  padding: 8px 17px;
  border: 0 !important;
  border-radius: 18px;
  color: var(--plm-white) !important;
  background: var(--plm-brown) !important;
  font-weight: 750;
}

.btn.btn-primary.read-more:hover {
  background: var(--plm-amber) !important;
}

/* Announcements */
.cmp_announcements .obj_announcement_summary,
.page_announcements .obj_announcement_summary {
  margin-bottom: 12px;
  padding: 14px 16px;
  border-left: 4px solid var(--plm-amber);
  background: #FFF9ED;
  box-shadow: var(--plm-shadow-soft);
}

.cmp_announcements .obj_announcement_summary h2,
.page_announcements .obj_announcement_summary h2 {
  margin-top: 0;
  color: var(--plm-brown);
  font-family: var(--plm-body-font);
  font-size: 15px;
  font-weight: 800;
}

/* =========================================================
   7. ISSUE ARCHIVE AND ARTICLE DETAIL PANELS
   ========================================================= */
.panel.panel-default.issue,
.panel.panel-default.how-to-cite,
.panel.panel-default.section,
.panel.panel-default.copyright {
  overflow: hidden;
  border: 1px solid var(--plm-border) !important;
  border-radius: 7px;
  background: var(--plm-white);
  box-shadow: var(--plm-shadow-soft);
}

.panel.panel-default.issue .panel-heading,
.panel.panel-default.how-to-cite .panel-heading,
.panel.panel-default.section .panel-heading {
  border: 0;
  color: var(--plm-cream) !important;
  background: linear-gradient(90deg, var(--plm-brown-dark), var(--plm-brown));
  font-weight: 800;
}

.list-group-item.date-published {
  border: 0;
  border-radius: 5px 5px 0 0;
  color: var(--plm-cream);
  background: var(--plm-brown);
  font-weight: 800;
}

.list-group-item.keywords {
  border: 1px solid var(--plm-border);
  border-top: 0;
  border-radius: 0 0 5px 5px;
  background: var(--plm-white);
}

/* Article title */
.page_article .page-header h1 {
  color: var(--plm-brown-dark);
  font-size: 27px !important;
  line-height: 1.38;
}

.page_article .authors,
.page_article .affiliations {
  color: var(--plm-muted);
}

/* How to cite, metadata, abstract blocks */
.panel-body,
.list-group-item {
  color: var(--plm-text);
}

/* Breadcrumb */
.media-list .breadcrumb,
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px !important;
  padding: 9px 13px;
  border: 1px solid var(--plm-border);
  border-radius: 7px;
  background: #FFFCF6;
  box-shadow: none;
}

.breadcrumb > li + li::before {
  color: var(--plm-olive);
}

.cmp_breadcrumbs .breadcrumb li a {
  color: var(--plm-brown) !important;
}

.cmp_breadcrumbs .breadcrumb li a:hover {
  color: var(--plm-amber) !important;
}

/* =========================================================
   8. FORMS, LOGIN, REGISTRATION, SUBMISSION
   ========================================================= */
.form-control,
.pkp_form input[type="text"],
.pkp_form input[type="email"],
.pkp_form input[type="password"],
.pkp_form input[type="url"],
.pkp_form input[type="tel"],
.pkp_form select,
.pkp_form textarea {
  border: 1px solid #D9C9A9;
  border-radius: 8px !important;
  color: var(--plm-text);
  background: var(--plm-white);
  box-shadow: none;
}

.form-control:focus,
.pkp_form input:focus,
.pkp_form select:focus,
.pkp_form textarea:focus {
  border-color: var(--plm-amber);
  box-shadow: 0 0 0 3px rgba(213, 155, 43, 0.14);
}

.pkp_form.login .buttons,
.pkp_form.register .buttons {
  display: flex !important;
  justify-content: flex-end;
  gap: 10px;
}

.pkp_form.login .buttons button,
.pkp_form.register .buttons button {
  order: 2;
  border: 0 !important;
  border-radius: 8px;
  color: var(--plm-white) !important;
  background: var(--plm-brown);
  font-weight: 800;
}

.pkp_form.login .buttons button:hover,
.pkp_form.register .buttons button:hover {
  background: var(--plm-amber);
}

.pkp_form.login .buttons a,
.pkp_form.register .buttons a {
  border: 0;
  border-radius: 8px;
  color: var(--plm-cream) !important;
  background: var(--plm-brown-dark);
  font-weight: 750;
}

.pkp_form.login .buttons a:hover,
.pkp_form.register .buttons a:hover {
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat);
}

.pkp_form.register fieldset .fields .form-group,
.pkp_form.register fieldset .fields .form-group label,
.pkp_form.register fieldset .fields .form-group label input,
.pkp_form.register fieldset .fields .form-group label select {
  width: 100%;
}

.pkp_form.register .reviewer .fields .form-group.optin label {
  display: flex !important;
  width: fit-content;
  gap: 5px;
}

.pkp_form.register .reviewer .fields .form-group.optin label input {
  width: 15px !important;
  aspect-ratio: 1 / 1;
}

.page.page_submissions .alert.alert-info {
  border: 1px solid #E0C98D;
  color: var(--plm-brown-dark);
  background: #FFF2CC;
}

.alert-success {
  border-color: #CFC28F;
  color: #4B452A;
  background-color: #F3EED4;
}

.btn-primary {
  border-color: var(--plm-brown);
  color: var(--plm-white);
  background-color: var(--plm-brown);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  border-color: var(--plm-amber);
  color: var(--plm-white);
  background-color: var(--plm-amber);
}

/* =========================================================
   9. TABLES, PAGINATION, LABELS
   ========================================================= */
.table > thead > tr > th {
  border-bottom: 2px solid var(--plm-amber);
  color: var(--plm-brown-dark);
  background: var(--plm-cream);
}

.table > tbody > tr > td {
  border-top-color: #EEE4D1;
}

.pagination > li > a,
.pagination > li > span {
  border-color: var(--plm-border);
  color: var(--plm-brown);
  background: var(--plm-white);
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
  border-color: var(--plm-brown);
  color: var(--plm-white);
  background: var(--plm-brown);
}

.label-primary {
  color: var(--plm-brown-dark);
  background: var(--plm-wheat);
}

/* =========================================================
   10. FOOTER
   ========================================================= */
footer,
.footer {
  width: 100% !important;
  margin: 0 auto !important;
  padding-bottom: 0 !important;
  border-top: 4px solid var(--plm-amber);
  background:
    linear-gradient(115deg, var(--plm-brown-dark), var(--plm-brown) 68%, #715837) !important;
}

footer .container {
  width: 100% !important;
  max-width: 1280px;
  margin: 0 auto;
}

footer .container .row .col-md-10 {
  width: 100%;
}

footer .container .row .col-md-2 {
  display: none;
}

.footer__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  padding: 38px 26px 24px;
}

.footer__content .footer__identity {
  display: flex;
  gap: 30px;
}

.footer__content .footer__identity .info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer__content .footer__identity .info h6 {
  margin: 0;
  color: var(--plm-wheat);
  font-family: var(--plm-body-font);
  font-size: 16px;
  font-weight: 800 !important;
}

.footer__content .footer__identity .info p {
  margin: 0;
  color: var(--plm-cream);
  font-size: 13px;
  font-weight: 400 !important;
}

.footer__content .footer__ojs {
  filter: brightness(0) invert(1);
}

.footer__content .footer__ojs img {
  float: right;
  width: 150px;
}

.footer-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 20px 28px;
}

.footer-copy a {
  color: var(--plm-wheat);
  text-decoration: underline;
}

.footer-copy a img {
  width: 100px;
  margin-bottom: 16px;
}

.footer-copy p {
  margin: 0;
  color: var(--plm-cream);
  font-size: 12px;
  text-align: center;
}

/* =========================================================
   11. DESKTOP BREAKPOINTS
   ========================================================= */
@media (min-width: 746px) {
  .additional__header {
    grid-template-columns: minmax(0, 2fr) minmax(185px, 0.72fr);
    align-items: start;
    gap: 28px;
  }

  .additional__header .about {
    order: 1;
    padding-top: 4px;
  }

  .additional__header .cover {
    order: 2 !important;
    width: 100%;
    max-width: 245px;
  }

  .additional_indexing_container {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .footer__content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .navbar-toggle {
    display: none !important;
  }

  .navbar-collapse.collapse {
    display: block !important;
  }
}

@media (min-width: 1024px) {
  .navbar-form.navbar-left .form-group .form-control {
    width: 260px !important;
  }
}

/* =========================================================
   12. TABLET AND MOBILE
   ========================================================= */
@media (max-width: 991px) {
  .pkp_structure_content.container {
    width: calc(100% - 20px) !important;
    margin-top: 12px !important;
    padding: 24px 18px 36px !important;
    border-radius: 8px 8px 0 0;
  }

  .pkp_structure_main,
  .pkp_structure_sidebar {
    padding-right: 0;
    padding-left: 0;
  }

  /* Floating menu button */
  button.navbar-toggle {
    display: block !important;
    visibility: visible !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 999999 !important;
    width: 52px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid var(--plm-cream) !important;
    border-radius: 7px !important;
    background: var(--plm-brown) !important;
    box-shadow: 0 5px 14px rgba(61, 43, 31, 0.33) !important;
  }

  button.navbar-toggle:hover,
  button.navbar-toggle:focus {
    background: var(--plm-amber) !important;
  }

  button.navbar-toggle .icon-bar {
    display: block !important;
    width: 24px !important;
    height: 3px !important;
    margin: 4px auto !important;
    border-radius: 2px !important;
    background-color: var(--plm-white) !important;
  }

  button.navbar-toggle::after {
    content: "MENU";
    display: block;
    margin-top: 2px;
    color: var(--plm-white);
    font-size: 8px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
  }

  /* Open mobile menu */
  .navbar-collapse.collapse.in {
    display: block !important;
    position: fixed !important;
    top: 70px;
    right: 15px;
    left: 15px;
    z-index: 999998 !important;
    max-height: 72vh;
    padding: 0 !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-top: 5px solid var(--plm-amber) !important;
    border-radius: 0 0 9px 9px !important;
    background: var(--plm-white) !important;
    box-shadow: 0 18px 46px rgba(61, 43, 31, 0.38) !important;
  }

  .navbar-collapse.collapse.in .nav.navbar-nav {
    width: 100% !important;
    margin: 0 !important;
  }

  .navbar-collapse.collapse.in .nav.navbar-nav li {
    display: block !important;
    width: 100% !important;
  }

  .navbar-collapse.collapse.in .nav.navbar-nav li a {
    padding: 14px 19px !important;
    border-bottom: 1px solid #EFE6D5 !important;
    border-radius: 0;
    color: var(--plm-text) !important;
    background: var(--plm-white);
    font-size: 13px !important;
    font-weight: 750 !important;
    letter-spacing: 0.45px;
    text-align: left !important;
    text-transform: uppercase;
  }

  .navbar-collapse.collapse.in .nav.navbar-nav li a:hover,
  .navbar-collapse.collapse.in .nav.navbar-nav li a:focus,
  .navbar-collapse.collapse.in .nav.navbar-nav .active > a {
    padding-left: 15px !important;
    border-left: 4px solid var(--plm-amber) !important;
    color: var(--plm-brown-dark) !important;
    background: var(--plm-cream) !important;
  }

  /* Mobile search */
  .navbar-collapse.collapse.in .navbar-form {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-top: 1px solid var(--plm-border) !important;
    background: #FBF7EE !important;
    box-shadow: none !important;
  }

  .navbar-collapse.collapse.in .navbar-form .form-group {
    flex-grow: 1 !important;
    width: auto !important;
    margin-bottom: 0 !important;
  }

  .navbar-collapse.collapse.in .navbar-form .form-control {
    width: 100% !important;
    height: 42px !important;
    padding: 0 18px !important;
    border: 1px solid #DCCBA9 !important;
    border-radius: 21px !important;
    background: var(--plm-white) !important;
  }

  .navbar-collapse.collapse.in .navbar-form .btn {
    flex-shrink: 0 !important;
    width: auto !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 21px !important;
    border: 0 !important;
    border-radius: 21px !important;
    color: var(--plm-brown-dark) !important;
    background: var(--plm-wheat) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 42px !important;
    letter-spacing: 0.4px;
    text-transform: uppercase;
  }

  .navbar-collapse.collapse.in .navbar-form .btn:hover {
    color: var(--plm-white) !important;
    background: var(--plm-amber) !important;
  }
}

@media (max-width: 743px) {
  .container-fluid > .navbar-header {
    padding: 0 !important;
  }

  .navbar-header .site-name {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .navbar-brand {
    float: none;
    width: 100%;
    height: auto !important;
    padding: 0 !important;
  }

  .additional_indexing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer__content .footer__identity {
    flex-direction: column;
    gap: 16px;
  }

  .footer__content .footer__ojs img {
    float: none;
  }
}

@media (max-width: 498px) {
  body {
    font-size: 13px;
  }

  .pkp_structure_content.container {
    width: 100% !important;
    margin-top: 0 !important;
    padding: 20px 14px 32px !important;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .additional__title,
  .current_issue .page-header h2 {
    font-size: 21px !important;
  }

  .additional__header .cover {
    width: min(76%, 250px);
  }

  .additional_indexing_container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .article-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }

  .article-summary .media-left {
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    text-align: center;
  }

  .article-summary .media-left img {
    max-width: 78%;
    margin: 0 auto 12px;
  }

  .article-summary .media-body {
    width: 100%;
  }

  .galley-link.btn.btn-primary.pdf,
  .galley-link.btn-primary,
  .btn.btn-primary.pdf {
    width: 100%;
    margin-top: 7px;
    padding: 8px 12px;
  }

  .galley_info {
    font-size: 9px;
    text-align: center;
  }

  .media-list .breadcrumb,
  .breadcrumb {
    display: block;
    padding: 8px;
  }

  .navbar-collapse.collapse.in .navbar-form {
    flex-wrap: wrap;
  }

  .navbar-collapse.collapse.in .navbar-form .form-group {
    flex-basis: 100%;
  }

  .navbar-collapse.collapse.in .navbar-form .btn {
    width: 100% !important;
  }
}

/* =========================================================
   13. UTILITY OVERRIDES
   ========================================================= */
.pull-md-right .navbar-form.navbar-left .form-group .form-control {
  border-radius: 18px;
}

.nav.nav-pills {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 4px !important;
}

hr {
  border-top-color: var(--plm-border);
}

blockquote {
  border-left: 4px solid var(--plm-amber);
  color: #5E5144;
  background: #FFF8E9;
}

code {
  color: var(--plm-brown);
  background: var(--plm-cream);
}

/* End of base stylesheet — DIDAKTARA final overrides follow */

/* =========================================================
   14. DIDAKTARA FINAL UI CORRECTION — v4
   Balanced desktop layout, larger readable typography,
   restrained academic sidebar, and robust Custom Block menu.
   ========================================================= */

/* ---------- GLOBAL READING SCALE ---------- */
body {
  background-color: #F7F3EC !important;
  background-image: none !important;
  background-attachment: scroll !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  text-align: left !important;
}

/* Justify only narrative text, never interface elements. */
.additional__header .about p,
.page.page_about > p,
.page.page_about ol > li,
.page.page_about ul > li,
.article-summary .article-abstract p,
.issue-details .description p,
.page_article .abstract p,
.page_article .article-abstract p {
  text-align: justify !important;
}

.pkp_structure_sidebar,
.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar .pkp_block .content,
.navbar,
.breadcrumb,
.media-list,
.article-summary,
form,
table {
  text-align: left !important;
}

/* ---------- HEADER & PRIMARY NAVIGATION ---------- */
.navbar-collapse {
  background: var(--plm-brown-dark) !important;
  box-shadow: inset 0 3px 0 var(--plm-amber), 0 2px 7px rgba(61, 43, 31, 0.14) !important;
}

.navbar-default .navbar-nav > li > a,
.nav.navbar-nav > li > a {
  padding: 11px 14px !important;
  border-radius: 3px !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat) !important;
}

/* ---------- DESKTOP PAGE SHELL ---------- */
.pkp_structure_content.container {
  width: calc(100% - 32px) !important;
  max-width: 1600px !important;
  margin: 18px auto 0 !important;
  padding: 34px 30px 48px !important;
  border: 1px solid #E7DED0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: #FFFDF9 !important;
  box-shadow: 0 4px 16px rgba(61, 43, 31, 0.07) !important;
}

/* The previous 76:24 split made the main area oversized and sidebar cramped. */
@media (min-width: 992px) {
  .pkp_structure_main {
    width: 68% !important;
    padding-right: 30px !important;
  }

  .pkp_structure_sidebar {
    width: 32% !important;
    padding-left: 20px !important;
  }
}

/* ---------- EDITORIAL TYPOGRAPHY ---------- */
.page-header h1,
.page-header h2,
.additional__title,
.current_issue .page-header h2 {
  font-size: 28px !important;
  line-height: 1.28 !important;
}

.page-header h1::after,
.page-header h2::after {
  height: 2px !important;
  border-radius: 0 !important;
  background: var(--plm-amber) !important;
}

.additional__title {
  border-left-width: 3px !important;
}

.additional__header .about,
.additional__header .about p,
.page.page_about > p,
.issue-details .description p {
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.current_issue .current_issue_title.lead {
  font-size: 19px !important;
  line-height: 1.42 !important;
}

.sections .section .page-header h2 small {
  font-size: 25px !important;
  line-height: 1.35 !important;
}

/* ---------- CURRENT ISSUE COVER ---------- */
/* Keep the cover visually important without allowing it to expand with the main column. */
.current_issue .cover {
  width: 300px !important;
  max-width: 100% !important;
  margin-bottom: 28px !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  box-shadow: 0 4px 12px rgba(61, 43, 31, 0.10) !important;
}

.current_issue .cover img {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  height: auto !important;
}

/* ---------- ARTICLE LIST ---------- */
.media-list > li,
.article-summary {
  padding: 12px 8px 13px !important;
  border-bottom-color: #EEE6DA !important;
}

.media-list > li:hover,
.article-summary:hover {
  background: #FCF8F1 !important;
}

.media-list a,
.article-summary .title a {
  font-size: 15.5px !important;
  font-weight: 800 !important;
  line-height: 1.42 !important;
}

.article-summary .meta,
.article-summary .authors,
.article-summary .pages,
.media-list .meta,
.media-list .authors {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}

.galley_info {
  font-size: 11.5px !important;
}

.galley-link.btn.btn-primary.pdf,
.galley-link.btn-primary,
.btn.btn-primary.pdf {
  padding: 6px 13px !important;
  border-radius: 3px !important;
  font-size: 11.5px !important;
  box-shadow: none !important;
}

.btn.btn-primary.read-more {
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* ---------- SIDEBAR: BALANCED ACADEMIC SCALE ---------- */
.pkp_block {
  margin-bottom: 15px !important;
}

.pkp_block .title,
.pkp_block h2.title,
.pkp_block.block_custom .content .sidebar__title {
  margin: 0 !important;
  padding: 10px 13px !important;
  border-left: 3px solid var(--plm-amber) !important;
  border-radius: 4px 4px 0 0 !important;
  color: var(--plm-brown-dark) !important;
  background: #F6EEDC !important;
  font-family: var(--plm-body-font) !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.35px !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.pkp_block.block_custom {
  border-radius: 5px !important;
  box-shadow: none !important;
}

.pkp_block.block_custom .content .sidebar__container,
.pkp_block .content {
  padding: 14px 15px !important;
  border: 1px solid #E7DED0 !important;
  border-top: 0 !important;
  border-radius: 0 0 5px 5px !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 4px rgba(61, 43, 31, 0.055) !important;
}

.pkp_structure_sidebar .pkp_block .content {
  font-size: 14.5px !important;
  line-height: 1.58 !important;
}

.pkp_block.block_custom .content .sidebar__container .menu__title {
  margin: 16px 0 7px !important;
  color: var(--plm-brown) !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.35px !important;
  text-transform: uppercase !important;
}

/* ---------- ROBUST CUSTOM-BLOCK MENU FIX ---------- */
/* Supports either intended .menu__group/.menu__link markup or ordinary OJS Custom Block links. */
.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content {
  text-align: left !important;
}

.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content p,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content p,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content p,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group > p,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group > div {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content br,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content br,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content br,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group br {
  display: none !important;
}

.pkp_structure_sidebar .pkp_block.block_custom .content .sidebar__container .menu__group {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content a,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content a,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content a,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group a,
.pkp_structure_sidebar .pkp_block.block_custom .content .sidebar__container .menu__group .menu__link,
.pkp_structure_sidebar .pkp_block.block_custom .content .sidebar__container nav.menu a,
.pkp_structure_sidebar .pkp_block.block_custom .content .sidebar__container .menu-list a {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #EEE5D8 !important;
  border-radius: 0 !important;
  color: #49372A !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--plm-body-font) !important;
  font-size: 14.5px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  transition: color 150ms ease, background-color 150ms ease, padding-left 150ms ease !important;
}

.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content a:hover,
.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content a:focus,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content a:hover,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content a:focus,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content a:hover,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content a:focus,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group a:hover,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group a:focus,
.pkp_structure_sidebar .pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:hover,
.pkp_structure_sidebar .pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:focus {
  padding-left: 14px !important;
  color: #9B681B !important;
  background: #FBF7EF !important;
  outline: 0 !important;
}

.pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content a:last-of-type,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content a:last-of-type,
.pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content a:last-of-type,
.pkp_structure_sidebar .pkp_block.block_custom .content .menu__group a:last-of-type {
  border-bottom: 0 !important;
}

/* Sidebar action buttons remain distinct from text navigation. */
.pkp_block.block_custom .content .sidebar__container .submissions__btn,
.pkp_block.block_custom .content .sidebar__container .issue__journal-expand {
  padding: 10px 13px !important;
  border: 1px solid var(--plm-brown) !important;
  border-radius: 4px !important;
  color: #FFFFFF !important;
  background: var(--plm-brown) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

.pkp_block.block_custom .content .sidebar__container .submissions__btn:hover,
.pkp_block.block_custom .content .sidebar__container .issue__journal-expand:hover {
  border-color: var(--plm-amber) !important;
  color: var(--plm-brown-dark) !important;
  background: var(--plm-wheat) !important;
}

/* Sidebar images must fit the wider, balanced column cleanly. */
.pkp_structure_sidebar img {
  max-width: 100% !important;
  height: auto !important;
  box-shadow: none !important;
}

.indexing__container a,
.additional_indexing_container a,
.additional_indexing a,
.pkp_block.block_custom .content .sidebar__container .certificate__group a {
  border-radius: 4px !important;
  box-shadow: none !important;
}

img[src=""],
img:not([src]) {
  display: none !important;
}

/* ---------- PANELS, FORMS, BREADCRUMB ---------- */
.panel.panel-default.issue,
.panel.panel-default.how-to-cite,
.panel.panel-default.section,
.panel.panel-default.copyright,
.breadcrumb,
.media-body .well {
  border-radius: 4px !important;
  box-shadow: none !important;
}

.panel.panel-default.issue .panel-heading,
.panel.panel-default.how-to-cite .panel-heading,
.panel.panel-default.section .panel-heading {
  background: var(--plm-brown-dark) !important;
}

.form-control,
.pkp_form input[type="text"],
.pkp_form input[type="email"],
.pkp_form input[type="password"],
.pkp_form input[type="url"],
.pkp_form input[type="tel"],
.pkp_form select,
.pkp_form textarea {
  border-radius: 4px !important;
}

/* ---------- FOOTER ---------- */
footer,
.footer {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 3px solid var(--plm-amber) !important;
  background: var(--plm-brown-dark) !important;
  box-shadow: none !important;
}

footer .container,
.footer .container,
footer .row,
.footer .row {
  height: auto !important;
  min-height: 0 !important;
}

.footer__content {
  gap: 18px !important;
  padding: 26px 24px 14px !important;
}

.footer-copy {
  padding: 0 20px 18px !important;
}

.footer-copy p,
.footer__content .footer__identity .info p {
  color: #F1E5CF !important;
}

footer > .container > .row,
.footer > .container > .row {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

/* ---------- TABLET ---------- */
@media (max-width: 991px) {
  body {
    font-size: 15px !important;
  }

  .pkp_structure_content.container {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin-top: 12px !important;
    padding: 24px 18px 36px !important;
  }

  .pkp_structure_main,
  .pkp_structure_sidebar {
    width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .pkp_structure_sidebar {
    margin-top: 24px !important;
  }

  .pkp_block .title,
  .pkp_block h2.title,
  .pkp_block.block_custom .content .sidebar__title {
    font-size: 15px !important;
  }

  .pkp_structure_sidebar .pkp_block.block_custom[id*="menu" i] .content a,
  .pkp_structure_sidebar .pkp_block.block_custom[id*="navigation" i] .content a,
  .pkp_structure_sidebar .pkp_block.block_custom[id*="navigasi" i] .content a,
  .pkp_structure_sidebar .pkp_block.block_custom .content .menu__group a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 14px !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 498px) {
  body {
    font-size: 14px !important;
  }

  .pkp_structure_content.container {
    width: 100% !important;
    margin-top: 0 !important;
    padding: 20px 14px 32px !important;
  }

  .page-header h1,
  .page-header h2,
  .additional__title,
  .current_issue .page-header h2 {
    font-size: 23px !important;
  }

  .current_issue .cover {
    width: min(82%, 290px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .current_issue .cover img {
    max-width: 100% !important;
  }

  .media-list a,
  .article-summary .title a {
    font-size: 14.5px !important;
  }

  .article-summary .meta,
  .article-summary .authors,
  .article-summary .pages,
  .media-list .meta,
  .media-list .authors {
    font-size: 12.5px !important;
  }
}

/* =========================================================
   15. DIDAKTARA ARTICLE DETAIL TYPOGRAPHY — FINAL v5
   Keeps the v4 site-wide balance while correcting the visual
   hierarchy of long article titles and article metadata.
   ========================================================= */

/* ---------- ARTICLE DETAIL: TITLE HIERARCHY ---------- */
.page_article .page-header {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding-bottom: 0 !important;
}

.page_article .page-header h1 {
  margin: 6px 0 16px !important;
  padding: 0 0 14px !important;
  color: var(--plm-brown-dark) !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.page_article .page-header h1::after {
  width: 68px !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: var(--plm-amber) !important;
}

/* ---------- ARTICLE DETAIL: SECTION HEADINGS ---------- */
.page_article h2,
.page_article .abstract h2,
.page_article .article-abstract h2,
.page_article .article-details h2,
.page_article .entry_details h2 {
  margin-top: 22px !important;
  margin-bottom: 10px !important;
  color: var(--plm-brown-dark) !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.page_article h3,
.page_article .abstract h3,
.page_article .article-abstract h3,
.page_article .article-details h3,
.page_article .entry_details h3 {
  margin-top: 18px !important;
  margin-bottom: 8px !important;
  color: var(--plm-brown-dark) !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

/* ---------- ARTICLE DETAIL: AUTHOR & AFFILIATION ---------- */
.page_article .authors,
.page_article .affiliations,
.page_article .article-details .authors,
.page_article .article-details .affiliations,
.page_article .entry_details .authors,
.page_article .entry_details .affiliations {
  color: var(--plm-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}

.page_article .authors a,
.page_article .affiliations a,
.page_article .article-details a,
.page_article .entry_details a {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* ---------- ARTICLE DETAIL: COVER ---------- */
.page_article .cover,
.page_article .article-details .cover,
.page_article .entry_details .cover,
.page_article .media-left .cover {
  width: 270px !important;
  max-width: 100% !important;
  margin-right: 26px !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 10px rgba(61, 43, 31, 0.08) !important;
}

.page_article .cover img,
.page_article .article-details .cover img,
.page_article .entry_details .cover img,
.page_article .media-left .cover img {
  display: block !important;
  width: 100% !important;
  max-width: 270px !important;
  height: auto !important;
}

/* ---------- ARTICLE DETAIL: ABSTRACT / NARRATIVE ---------- */
.page_article .abstract,
.page_article .article-abstract,
.page_article .article-details,
.page_article .entry_details {
  text-align: left !important;
}

.page_article .abstract p,
.page_article .article-abstract p,
.page_article .article-details .abstract p,
.page_article .entry_details .abstract p {
  margin-bottom: 12px !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  text-align: justify !important;
}

/* Keep breadcrumb subordinate to the article title. */
.page_article .breadcrumb,
.page_article .cmp_breadcrumbs .breadcrumb {
  margin-bottom: 18px !important;
  padding: 9px 12px !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

/* ---------- ARTICLE DETAIL: TABLET ---------- */
@media (max-width: 991px) {
  .page_article .page-header h1 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  .page_article h2,
  .page_article .abstract h2,
  .page_article .article-abstract h2,
  .page_article .article-details h2,
  .page_article .entry_details h2 {
    font-size: 21px !important;
  }

  .page_article .cover,
  .page_article .article-details .cover,
  .page_article .entry_details .cover,
  .page_article .media-left .cover {
    width: 250px !important;
  }

  .page_article .cover img,
  .page_article .article-details .cover img,
  .page_article .entry_details .cover img,
  .page_article .media-left .cover img {
    max-width: 250px !important;
  }
}

/* ---------- ARTICLE DETAIL: MOBILE ---------- */
@media (max-width: 498px) {
  .page_article .page-header h1 {
    margin-top: 4px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    font-size: 20px !important;
    line-height: 1.32 !important;
  }

  .page_article h2,
  .page_article .abstract h2,
  .page_article .article-abstract h2,
  .page_article .article-details h2,
  .page_article .entry_details h2 {
    font-size: 19px !important;
  }

  .page_article h3,
  .page_article .abstract h3,
  .page_article .article-abstract h3,
  .page_article .article-details h3,
  .page_article .entry_details h3 {
    font-size: 17px !important;
  }

  .page_article .cover,
  .page_article .article-details .cover,
  .page_article .entry_details .cover,
  .page_article .media-left .cover {
    width: min(78%, 235px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .page_article .cover img,
  .page_article .article-details .cover img,
  .page_article .entry_details .cover img,
  .page_article .media-left .cover img {
    max-width: 100% !important;
  }

  .page_article .authors,
  .page_article .affiliations,
  .page_article .article-details .authors,
  .page_article .article-details .affiliations,
  .page_article .entry_details .authors,
  .page_article .entry_details .affiliations {
    font-size: 13.5px !important;
  }

  .page_article .abstract p,
  .page_article .article-abstract p,
  .page_article .article-details .abstract p,
  .page_article .entry_details .abstract p {
    font-size: 14px !important;
    line-height: 1.68 !important;
  }
}

/* End of DIDAKTARA FINAL v5 stylesheet */

/* =========================================================
   16. ARTICLE PAGE — HARD TITLE SCALE FIX v6
   OJS/Bootstrap may place the article H1 outside .page_article.
   These selectors target the OJS body/page classes directly.
   ========================================================= */
body.pkp_page_article .page-header h1,
body.pkp_page_article h1.page_title,
body.pkp_page_article main h1,
.pkp_page_article .page-header h1,
.pkp_page_article h1.page_title,
.page.page_article .page-header h1,
.page.page_article > .page-header h1,
.page_article > .page-header h1 {
  margin: 6px 0 14px !important;
  padding: 0 0 12px !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Keep section headings clearly subordinate to the article title. */
body.pkp_page_article h2,
.pkp_page_article h2,
.page.page_article h2,
.page_article h2 {
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.32 !important;
}

body.pkp_page_article h3,
.pkp_page_article h3,
.page.page_article h3,
.page_article h3 {
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

@media (max-width: 991px) {
  body.pkp_page_article .page-header h1,
  body.pkp_page_article h1.page_title,
  body.pkp_page_article main h1,
  .pkp_page_article .page-header h1,
  .pkp_page_article h1.page_title,
  .page.page_article .page-header h1,
  .page.page_article > .page-header h1,
  .page_article > .page-header h1 {
    font-size: 20px !important;
  }
}

@media (max-width: 498px) {
  body.pkp_page_article .page-header h1,
  body.pkp_page_article h1.page_title,
  body.pkp_page_article main h1,
  .pkp_page_article .page-header h1,
  .pkp_page_article h1.page_title,
  .page.page_article .page-header h1,
  .page.page_article > .page-header h1,
  .page_article > .page-header h1 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  body.pkp_page_article h2,
  .pkp_page_article h2,
  .page.page_article h2,
  .page_article h2 {
    font-size: 18px !important;
  }
}

/* =========================================================
   17. DIDAKTARA FINAL ARTICLE TYPOGRAPHY v7
   Balanced scale for title, abstract, metadata, keywords,
   citations and references on article detail pages.
   ========================================================= */

/* ---------- ARTICLE TITLE ---------- */
body.pkp_page_article .page-header h1,
body.pkp_page_article h1.page_title,
body.pkp_page_article main h1,
.pkp_page_article .page-header h1,
.pkp_page_article h1.page_title,
.page.page_article .page-header h1,
.page.page_article > .page-header h1,
.page_article > .page-header h1 {
  margin: 6px 0 14px !important;
  padding: 0 0 10px !important;
  color: var(--plm-brown-dark) !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.30 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

body.pkp_page_article .page-header h1::after,
.pkp_page_article .page-header h1::after,
.page.page_article .page-header h1::after,
.page_article > .page-header h1::after {
  width: 64px !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: var(--plm-amber) !important;
}

/* ---------- ARTICLE SECTION HEADINGS ---------- */
body.pkp_page_article h2,
.pkp_page_article h2,
.page.page_article h2,
.page_article h2,
.page_article .abstract h2,
.page_article .article-abstract h2,
.page_article .article-details h2,
.page_article .entry_details h2 {
  margin-top: 21px !important;
  margin-bottom: 9px !important;
  color: var(--plm-brown-dark) !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
}

body.pkp_page_article h3,
.pkp_page_article h3,
.page.page_article h3,
.page_article h3,
.page_article .abstract h3,
.page_article .article-abstract h3,
.page_article .article-details h3,
.page_article .entry_details h3 {
  margin-top: 17px !important;
  margin-bottom: 7px !important;
  color: var(--plm-brown-dark) !important;
  font-family: var(--plm-heading-font) !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

/* ---------- AUTHOR / AFFILIATION / ORCID ---------- */
body.pkp_page_article .authors,
body.pkp_page_article .affiliations,
body.pkp_page_article .author,
body.pkp_page_article .author_details,
.pkp_page_article .authors,
.pkp_page_article .affiliations,
.page_article .authors,
.page_article .affiliations,
.page_article .author,
.page_article .author_details,
.page_article .article-details .authors,
.page_article .article-details .affiliations,
.page_article .entry_details .authors,
.page_article .entry_details .affiliations {
  font-size: 13.5px !important;
  line-height: 1.50 !important;
}

body.pkp_page_article .authors a,
body.pkp_page_article .affiliations a,
body.pkp_page_article .author_details a,
.page_article .authors a,
.page_article .affiliations a,
.page_article .author_details a,
.page_article .article-details a,
.page_article .entry_details a {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* ---------- ABSTRACT / ARTICLE NARRATIVE ---------- */
body.pkp_page_article .abstract,
body.pkp_page_article .article-abstract,
.pkp_page_article .abstract,
.pkp_page_article .article-abstract,
.page_article .abstract,
.page_article .article-abstract,
.page_article .article-details,
.page_article .entry_details {
  text-align: left !important;
}

body.pkp_page_article .abstract p,
body.pkp_page_article .article-abstract p,
.pkp_page_article .abstract p,
.pkp_page_article .article-abstract p,
.page_article .abstract p,
.page_article .article-abstract p,
.page_article .article-details .abstract p,
.page_article .entry_details .abstract p {
  margin: 0 0 11px !important;
  color: var(--plm-text) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-align: left !important;
}

/* General article-detail prose, where present outside the abstract. */
body.pkp_page_article .article-details p,
body.pkp_page_article .entry_details p,
.pkp_page_article .article-details p,
.pkp_page_article .entry_details p,
.page_article .article-details p,
.page_article .entry_details p {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

/* ---------- PUBLICATION DATE ---------- */
body.pkp_page_article .list-group-item.date-published,
.pkp_page_article .list-group-item.date-published,
.page_article .list-group-item.date-published {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

/* ---------- KEYWORDS ---------- */
body.pkp_page_article .list-group-item.keywords,
.pkp_page_article .list-group-item.keywords,
.page_article .list-group-item.keywords,
body.pkp_page_article .keywords,
.pkp_page_article .keywords,
.page_article .keywords {
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-align: left !important;
}

body.pkp_page_article .list-group-item.keywords strong,
body.pkp_page_article .list-group-item.keywords b,
.pkp_page_article .list-group-item.keywords strong,
.pkp_page_article .list-group-item.keywords b,
.page_article .list-group-item.keywords strong,
.page_article .list-group-item.keywords b,
.page_article .keywords strong,
.page_article .keywords b {
  font-size: 13.5px !important;
  font-weight: 700 !important;
}

/* ---------- REFERENCES / BIBLIOGRAPHY ---------- */
body.pkp_page_article .references,
body.pkp_page_article .article-references,
body.pkp_page_article .item.references,
body.pkp_page_article .list-group-item.references,
body.pkp_page_article #references,
.pkp_page_article .references,
.pkp_page_article .article-references,
.pkp_page_article .item.references,
.pkp_page_article .list-group-item.references,
.pkp_page_article #references,
.page_article .references,
.page_article .article-references,
.page_article .item.references,
.page_article .list-group-item.references,
.page_article #references {
  color: var(--plm-text) !important;
  font-size: 13.8px !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
}

body.pkp_page_article .references p,
body.pkp_page_article .references li,
body.pkp_page_article .article-references p,
body.pkp_page_article .article-references li,
body.pkp_page_article .item.references p,
body.pkp_page_article .item.references li,
body.pkp_page_article #references p,
body.pkp_page_article #references li,
.pkp_page_article .references p,
.pkp_page_article .references li,
.pkp_page_article .article-references p,
.pkp_page_article .article-references li,
.pkp_page_article #references p,
.pkp_page_article #references li,
.page_article .references p,
.page_article .references li,
.page_article .article-references p,
.page_article .article-references li,
.page_article .item.references p,
.page_article .item.references li,
.page_article #references p,
.page_article #references li {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  font-size: 13.8px !important;
  line-height: 1.62 !important;
  text-align: left !important;
}

/* Reference links should not jump in size. */
body.pkp_page_article .references a,
body.pkp_page_article .article-references a,
body.pkp_page_article #references a,
.pkp_page_article .references a,
.pkp_page_article .article-references a,
.pkp_page_article #references a,
.page_article .references a,
.page_article .article-references a,
.page_article #references a {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* ---------- HOW TO CITE / METADATA PANELS ---------- */
body.pkp_page_article .panel.how-to-cite,
body.pkp_page_article .panel.how-to-cite .panel-body,
.pkp_page_article .panel.how-to-cite,
.pkp_page_article .panel.how-to-cite .panel-body,
.page_article .panel.how-to-cite,
.page_article .panel.how-to-cite .panel-body {
  font-size: 13.5px !important;
  line-height: 1.58 !important;
  text-align: left !important;
}

/* ---------- BREADCRUMB ---------- */
body.pkp_page_article .breadcrumb,
.pkp_page_article .breadcrumb,
.page_article .breadcrumb,
.page_article .cmp_breadcrumbs .breadcrumb {
  font-size: 12.8px !important;
  line-height: 1.40 !important;
}

/* ---------- TABLET ---------- */
@media (max-width: 991px) {
  body.pkp_page_article .page-header h1,
  body.pkp_page_article h1.page_title,
  body.pkp_page_article main h1,
  .pkp_page_article .page-header h1,
  .pkp_page_article h1.page_title,
  .page.page_article .page-header h1,
  .page.page_article > .page-header h1,
  .page_article > .page-header h1 {
    font-size: 19px !important;
    line-height: 1.31 !important;
  }

  body.pkp_page_article h2,
  .pkp_page_article h2,
  .page.page_article h2,
  .page_article h2 {
    font-size: 17.5px !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 498px) {
  body.pkp_page_article .page-header h1,
  body.pkp_page_article h1.page_title,
  body.pkp_page_article main h1,
  .pkp_page_article .page-header h1,
  .pkp_page_article h1.page_title,
  .page.page_article .page-header h1,
  .page.page_article > .page-header h1,
  .page_article > .page-header h1 {
    font-size: 18px !important;
    line-height: 1.32 !important;
  }

  body.pkp_page_article h2,
  .pkp_page_article h2,
  .page.page_article h2,
  .page_article h2 {
    font-size: 17px !important;
  }

  body.pkp_page_article .abstract p,
  body.pkp_page_article .article-abstract p,
  .pkp_page_article .abstract p,
  .pkp_page_article .article-abstract p,
  .page_article .abstract p,
  .page_article .article-abstract p {
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  body.pkp_page_article .list-group-item.keywords,
  .pkp_page_article .list-group-item.keywords,
  .page_article .list-group-item.keywords,
  body.pkp_page_article .references,
  .pkp_page_article .references,
  .page_article .references,
  body.pkp_page_article .article-references,
  .pkp_page_article .article-references,
  .page_article .article-references {
    font-size: 13.5px !important;
  }
}

/* =========================================================
   DIDAKTARA v8 — ABSTRACT JUSTIFICATION FINAL OVERRIDE
   Keep article typography from v7, but align abstract text
   evenly to both left and right margins.
   ========================================================= */

body.pkp_page_article .abstract,
body.pkp_page_article .article-abstract,
.pkp_page_article .abstract,
.pkp_page_article .article-abstract,
.page_article .abstract,
.page_article .article-abstract,
.page_article .article-details .abstract,
.page_article .entry_details .abstract {
  text-align: justify !important;
  text-justify: inter-word;
}

body.pkp_page_article .abstract p,
body.pkp_page_article .article-abstract p,
.pkp_page_article .abstract p,
.pkp_page_article .article-abstract p,
.page_article .abstract p,
.page_article .article-abstract p,
.page_article .article-details .abstract p,
.page_article .entry_details .abstract p {
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  word-spacing: normal !important;
}

/* End of DIDAKTARA FINAL v8 stylesheet */

