/* =========================================================
   YUPA FINAL CSS - MANUSCRIPT THEME
   Stable layout, clean footer, no forced banner, no double scroll
   Version: 2026-05-19
   ========================================================= */

/* ---------- Root colors ---------- */
:root {
  --yupa-navy: #0b2d4d;
  --yupa-navy-dark: #082946;
  --yupa-blue: #0b5d9a;
  --yupa-gold: #d8b45b;
  --yupa-bg: #f4f6f8;
  --yupa-border: #e5e7eb;
  --yupa-text: #1f2933;
  --yupa-muted: #4b5563;
  --yupa-light: #f7f9fb;
}

/* =========================================================
   1. GLOBAL / PREVENT DOUBLE SCROLL
   ========================================================= */

html {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--yupa-bg) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important;
  min-height: 100% !important;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--yupa-bg) !important;
  color: var(--yupa-text) !important;
  font-size: 15px;
  line-height: 1.65;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  height: auto !important;
  min-height: 100% !important;
}

/* Prevent OJS/manuscript wrappers from creating their own scroll area */
.pkp_structure_page,
.pkp_structure_content,
.pkp_structure_head,
.pkp_head_wrapper,
.pkp_navigation_primary_row,
.pkp_structure_footer_wrapper {
  overflow: visible !important;
}

/* =========================================================
   2. PAGE WIDTH
   ========================================================= */

.pkp_structure_page {
  max-width: 1360px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.06) !important;
}

.pkp_structure_content {
  max-width: 1360px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #ffffff !important;
}

/* =========================================================
   3. HEADER - COMPACT, NO WHITE GAP, NO BANNER FORCE
   ========================================================= */

.pkp_structure_head,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name {
  max-width: 1360px !important;
  width: 100% !important;
  margin: 0 auto !important;
  background: var(--yupa-navy) !important;
  border: 0 !important;
  min-height: 0 !important;
}

.pkp_site_name {
  padding: 12px 32px !important;
  box-sizing: border-box !important;
}

.pkp_site_name a,
.pkp_site_name a:link,
.pkp_site_name a:visited {
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none !important;
  background: transparent !important;
}

.pkp_site_name img,
.pkp_site_name .is_img img {
  max-height: 70px !important;
  width: auto !important;
}

/* User menu fix */
.pkp_navigation_user_wrapper {
  position: absolute !important;
  top: 8px !important;
  right: 26px !important;
  z-index: 9999 !important;
  background: transparent !important;
}

.pkp_navigation_user,
.pkp_navigation_user ul {
  background: transparent !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user a {
  color: #ffffff !important;
  font-size: 12px !important;
}

.pkp_navigation_user .dropdown-menu,
.pkp_navigation_user ul ul {
  right: 0 !important;
  left: auto !important;
  z-index: 99999 !important;
}

/* =========================================================
   4. PRIMARY NAVIGATION
   ========================================================= */

.pkp_navigation_primary_row {
  max-width: 1360px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: var(--yupa-navy-dark) !important;
  border: 0 !important;
  min-height: 42px !important;
}

.pkp_navigation_primary_wrapper {
  background: var(--yupa-navy-dark) !important;
  padding: 0 28px !important;
  margin: 0 !important;
  overflow: visible !important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > a:link,
.pkp_navigation_primary > li > a:visited {
  color: #ffffff !important;
  padding: 13px 18px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  text-decoration: none !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: var(--yupa-gold) !important;
  text-decoration: none !important;
}

.pkp_navigation_search_wrapper a {
  color: #ffffff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* =========================================================
   5. MAIN LAYOUT
   ========================================================= */

.pkp_structure_main {
  width: 76% !important;
  max-width: none !important;
  padding: 42px 38px 42px 38px !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.pkp_structure_sidebar {
  width: 24% !important;
  max-width: 300px !important;
  min-width: 260px !important;
  padding: 42px 24px 34px 24px !important;
  background: #ffffff !important;
  border-left: 1px solid var(--yupa-border) !important;
  box-sizing: border-box !important;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 {
  color: var(--yupa-navy) !important;
  font-weight: 800;
  line-height: 1.35;
}

a {
  color: var(--yupa-blue);
  text-decoration: none;
}

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

/* =========================================================
   6. HOMEPAGE CONTENT
   ========================================================= */

.page_index_journal .additional_content,
.page_index_journal .cmp_announcements,
.page_index_journal .current_issue,
.page_index_journal .homepage_image,
.page_index_journal .homepage_about {
  max-width: none !important;
  width: 100% !important;
  margin-bottom: 22px !important;
}

.page_index_journal p {
  margin-bottom: 10px !important;
  line-height: 1.6 !important;
}

/* Journal info table */
.page_index_journal table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 14px !important;
  font-size: 13.5px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04) !important;
}

.page_index_journal table th,
.page_index_journal table td {
  border: 1px solid var(--yupa-border) !important;
  padding: 9px 12px !important;
  line-height: 1.45 !important;
  vertical-align: middle !important;
}

.page_index_journal table th,
.page_index_journal table td:first-child {
  width: 22% !important;
  max-width: 22% !important;
  background: var(--yupa-light) !important;
  color: var(--yupa-navy) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.page_index_journal table td:nth-child(2),
.page_index_journal table td:last-child {
  width: 78% !important;
  max-width: 78% !important;
  color: var(--yupa-text) !important;
  background: #ffffff !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.page_index_journal table a {
  font-size: 13.5px !important;
  font-weight: 800 !important;
}

.page_index_journal table img {
  max-height: 24px !important;
  width: auto !important;
  vertical-align: middle !important;
  margin-left: 6px !important;
}

/* =========================================================
   7. BUTTONS
   ========================================================= */

.cmp_button,
.cmp_form .buttons button,
.page_index_journal a.cmp_button,
.obj_galley_link,
.obj_galley_link:link,
.obj_galley_link:visited {
  background: var(--yupa-navy) !important;
  border: 1px solid var(--yupa-navy) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 7px 13px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(11,45,77,0.12);
}

.cmp_button:hover,
.cmp_form .buttons button:hover,
.obj_galley_link:hover {
  background: #1f5e8c !important;
  border-color: #1f5e8c !important;
  color: #ffffff !important;
}

/* =========================================================
   8. SIDEBAR
   ========================================================= */

.pkp_structure_sidebar .block,
.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar [class*="block_"] {
  background: #ffffff !important;
  border: 1px solid var(--yupa-border) !important;
  border-radius: 10px !important;
  padding: 0 !important;
  margin-bottom: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04) !important;
}

.pkp_structure_sidebar .block .title,
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .block h2,
.pkp_structure_sidebar .block h3,
.pkp_structure_sidebar .pkp_block h2,
.pkp_structure_sidebar .pkp_block h3,
.pkp_structure_sidebar .title {
  display: block !important;
  background: var(--yupa-navy) !important;
  color: #ffffff !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.pkp_structure_sidebar .block .content,
.pkp_structure_sidebar .pkp_block .content,
.pkp_structure_sidebar .block > div:not(.title),
.pkp_structure_sidebar .pkp_block > div:not(.title) {
  padding: 10px 14px !important;
}

.pkp_structure_sidebar ul,
.pkp_structure_sidebar ol {
  padding-left: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.pkp_structure_sidebar li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #eef2f6;
  line-height: 1.45 !important;
}

.pkp_structure_sidebar li:last-child {
  border-bottom: none;
}

.pkp_structure_sidebar li a,
.pkp_structure_sidebar .block a,
.pkp_structure_sidebar .pkp_block a {
  display: block;
  color: var(--yupa-blue) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  padding: 8px 0 !important;
}

.pkp_structure_sidebar li a:hover,
.pkp_structure_sidebar .block a:hover,
.pkp_structure_sidebar .pkp_block a:hover {
  color: var(--yupa-navy) !important;
  padding-left: 5px !important;
  text-decoration: none !important;
}

.pkp_structure_sidebar img,
.pkp_structure_sidebar .block img,
.pkp_structure_sidebar .pkp_block img {
  display: block !important;
  max-width: 150px !important;
  height: auto !important;
  margin: 12px auto !important;
}

.pkp_structure_sidebar img[src*="sinta"],
.pkp_structure_sidebar img[src*="Sinta"],
.pkp_structure_sidebar img[src*="S4"],
.pkp_structure_sidebar img[src*="s4"] {
  max-width: 145px !important;
}

/* =========================================================
   9. CURRENT ISSUE / ARTICLES
   ========================================================= */

.page_index_journal .current_issue {
  margin-top: 26px !important;
}

.page_index_journal .current_issue > h2,
.obj_issue_toc > h2 {
  display: inline-block;
  border-bottom: 2px solid var(--yupa-gold);
  padding-bottom: 7px;
  margin-bottom: 22px !important;
}

.obj_issue_toc .heading {
  border-bottom: 2px solid var(--yupa-gold);
  padding-bottom: 18px;
  margin-bottom: 26px;
}

.page_index_journal .current_issue h2,
.obj_issue_toc h2,
.obj_issue_toc .section h2,
.obj_issue_toc .section h3 {
  color: var(--yupa-navy) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.obj_article_summary {
  background: #ffffff !important;
  border-bottom: 1px solid var(--yupa-border) !important;
  padding: 20px 0 !important;
  margin: 0 !important;
}

.obj_article_summary:last-child {
  border-bottom: none !important;
}

.obj_article_summary .title {
  font-size: 17px !important;
  line-height: 1.45 !important;
  margin-bottom: 8px;
}

.obj_article_summary .title a {
  color: var(--yupa-navy) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.obj_article_summary .title a:hover {
  color: #1f5e8c !important;
  text-decoration: underline !important;
}

.obj_article_summary .authors,
.obj_article_summary .pages,
.obj_article_summary .doi {
  color: var(--yupa-muted) !important;
  font-size: 13px;
}

/* =========================================================
   10. ARTICLE DETAIL / FORMS
   ========================================================= */

.obj_article_details .page_title {
  color: var(--yupa-navy) !important;
  font-weight: 800;
  line-height: 1.35;
}

.obj_article_details .authors {
  color: var(--yupa-muted);
}

.obj_article_details .abstract {
  border-top: 1px solid var(--yupa-border);
  margin-top: 24px;
  padding-top: 20px;
}

input,
select,
textarea {
  border: 1px solid #d1d5db;
  border-radius: 4px;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--yupa-blue);
  outline: none;
  box-shadow: 0 0 0 2px rgba(11,93,154,0.12);
}

/* =========================================================
   11. FOOTER - COMPACT, CLEAN, NO EMPTY SPACE
   ========================================================= */

.pkp_structure_footer_wrapper {
  max-width: 1360px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-top: 4px solid var(--yupa-navy) !important;
  box-shadow: none !important;
}

.pkp_structure_footer {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px 32px 14px 32px !important;
  background: #ffffff !important;
  color: var(--yupa-text) !important;
  box-sizing: border-box !important;
}

.pkp_footer_content {
  color: var(--yupa-text) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_footer_content p,
.pkp_structure_footer p {
  color: var(--yupa-text) !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  line-height: 1.55 !important;
}

.pkp_footer_content strong,
.pkp_structure_footer strong {
  color: var(--yupa-navy) !important;
  font-weight: 800 !important;
}

.pkp_footer_content a,
.pkp_structure_footer a {
  color: var(--yupa-blue) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.pkp_footer_content a:hover,
.pkp_structure_footer a:hover {
  color: var(--yupa-navy) !important;
  text-decoration: underline !important;
}

.pkp_footer_content img,
.pkp_structure_footer img {
  max-height: 30px !important;
  width: auto !important;
  vertical-align: middle !important;
  margin: 2px 6px 4px 0 !important;
}

.pkp_brand_footer {
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  opacity: 0.65 !important;
}

.pkp_brand_footer img {
  max-height: 30px !important;
  width: auto !important;
  margin: 0 !important;
}

/* remove bottom gap caused by manuscript background */
.pkp_structure_page {
  margin-bottom: 0 !important;
}

.pkp_structure_footer_wrapper + *,
.pkp_structure_page + *,
body > footer,
body > div:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================================================
   12. RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {
  .pkp_structure_page,
  .pkp_structure_content,
  .pkp_structure_head,
  .pkp_head_wrapper,
  .pkp_navigation_primary_row,
  .pkp_structure_footer_wrapper {
    max-width: 100% !important;
  }

  .pkp_structure_main {
    width: 100% !important;
    padding: 28px 22px !important;
  }

  .pkp_structure_sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 24px 22px !important;
    border-left: none !important;
  }

  .pkp_navigation_primary_wrapper {
    padding: 0 16px !important;
  }

  .pkp_navigation_primary > li > a {
    padding: 10px 12px !important;
  }

  .pkp_site_name {
    padding: 16px 20px 12px 20px !important;
  }

  .pkp_site_name a {
    font-size: 15px !important;
  }
}

@media (max-width: 768px) {
  .page_index_journal table {
    table-layout: auto !important;
    font-size: 13px !important;
  }

  .page_index_journal table th,
  .page_index_journal table td,
  .page_index_journal table td:first-child,
  .page_index_journal table td:nth-child(2),
  .page_index_journal table td:last-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .obj_article_summary .title {
    font-size: 16px !important;
  }

  .pkp_structure_footer {
    padding: 18px 20px 10px 20px !important;
  }

  .pkp_brand_footer {
    text-align: left !important;
  }
}
