/* =====================================
   1) IMPORT FONT
   ===================================== */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

/* =====================================
   2) GLOBAL FONT
   ===================================== */
body,
.pkp_structure_page,
.pkp_structure_content,
.pkp_navigation_primary,
.pkp_navigation_user,
.pkp_block,
.pkp_block ul,
.pkp_block li,
.pkp_block a,
p,
li,
a,
div,
span,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
}

/* Optional: heading sedikit lebih tegas */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

/* =========================
   3) UMDI / ARiM Color Variables
   ========================= */
:root {
  /* Core greens */
  --umdi-green-deep: #0B2A24;  /* background luar / overlay */
  --umdi-green-dark: #164438;  /* warna brand utama: navbar, footer, heading */
  --umdi-green-main: #164438;
  --umdi-green-mid: #1E5A4B;
  --umdi-green-soft: #DDE8E3;

  /* Orange accent */
  --umdi-orange: #E47F11;
  --umdi-orange-dark: #B9630C;
  --umdi-orange-soft: #F3B15E;

  /* Legacy variables: jangan tampilkan ungu untuk ARiM */
  --umdi-purple: #164438;
  --umdi-purple-soft: #1E5A4B;

  /* Neutral */
  --umdi-bg-light: #F7F8F6;
  --umdi-bg-soft: #EEF2EE;
  --umdi-text-dark: #1F1F1F;
  --umdi-text-muted: #555F5A;
  --umdi-border: #D9E1D9;
  --umdi-white: #FFFFFF;
  --umdi-ivory: #F8F5EF;
}

/* =====================================
   4) SIDEBAR MENU
   ===================================== */
.custom-side-menu {
  background: #f7f8f7;
  border: 1px solid #d9e1d9;
  border-radius: 4px;
  overflow: hidden;
  margin: 0 0 24px 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

/* Judul blok */
.custom-side-menu-title {
  background: var(--umdi-orange);
  color: #ffffff;
  padding: 16px 20px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.3;
  letter-spacing: 0.5px;
  margin: 0;
}

/* Semua item menu */
.custom-side-menu a {
  display: block;
  background: #f7f8f7;
  color: #222222 !important;
  text-decoration: none;
  padding: 14px 20px;
  margin: 0 !important;
  border: none;
  border-top: 1px solid #dfe5df;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.45;
  font-size: 15px;
  font-weight: 400;
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

/* Link pertama setelah title */
.custom-side-menu a:first-of-type {
  border-top: 1px solid #dfe5df;
}

/* Hover */
.custom-side-menu a:hover,
.custom-side-menu a:focus {
  background: var(--umdi-bg-soft);
  color: var(--umdi-green-dark) !important;
  text-decoration: none;
  padding-left: 24px;
}

/* Visited tetap rapi */
.custom-side-menu a:visited {
  color: #222222 !important;
}

/* =====================================
   5) JUSTIFY MAIN CONTENT TEXT
   ===================================== */

/* Rata kanan-kiri hanya untuk isi utama website */
.pkp_structure_main p,
.pkp_structure_main li,
.pkp_structure_main .page p,
.pkp_structure_main .page li,
.pkp_structure_main .obj_article_details p,
.pkp_structure_main .obj_issue_toc p {
  text-align: justify;
  text-justify: inter-word;
  line-height: 1.75;
}

/* Judul, menu, tombol, dan sidebar tetap tidak dibuat justify */
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4,
.pkp_structure_main h5,
.pkp_structure_main h6,
.pkp_navigation_primary,
.pkp_navigation_user,
.custom-side-menu,
.custom-side-menu a,
.custom-side-menu-title,
button,
.pkp_button,
.cmp_button {
  text-align: left;
}

/* =====================================
   6) CONTENT SPACING
   ===================================== */

.pkp_structure_main p {
  line-height: 1.75;
  margin-bottom: 16px;
}

.pkp_structure_main ul,
.pkp_structure_main ol {
  margin-top: 8px;
  margin-bottom: 18px;
  padding-left: 28px;
  line-height: 1.75;
}

.pkp_structure_main li {
  margin-bottom: 8px;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
  margin-top: 28px;
  margin-bottom: 16px;
}

.pkp_structure_main h4,
.pkp_structure_main h5,
.pkp_structure_main h6 {
  margin-top: 22px;
  margin-bottom: 12px;
}

/* =====================================
   7) OUTER BACKGROUND + MAIN PAGE WRAP
   ===================================== */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100%;
  background-color: var(--umdi-green-deep) !important;
  background-image:
    linear-gradient(
      rgba(11, 42, 36, 0.58),
      rgba(11, 42, 36, 0.58)
    ),
    url("https://ptumdi.com/umdi-assets/pattern-umdi.webp") !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

body {
  overflow-x: hidden;
}

/* Hilangkan background abu-abu bawaan wrapper OJS */
.pkp_structure_page_wrapper {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Area utama website */
.pkp_structure_page {
  max-width: 1220px;
  margin: 0 auto !important;
  background: #ffffff !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14);
}

/* =====================================
   8) TOP BANNER HEADER
   ===================================== */

.pkp_site_name_wrapper {
  background-color: var(--umdi-green-dark) !important;
  background-image: url("https://ptumdi.com/umdi-assets/banner-arim.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  min-height: 170px !important;
  height: 170px !important;
  border-bottom: none !important;
  overflow: hidden;
}

.pkp_site_name {
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_site_name a {
  display: block;
  min-height: 170px !important;
  height: 170px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* =====================================
   9) NAVIGATION BAR UNDER BANNER
   ===================================== */

.pkp_navigation_primary_wrapper {
  background: var(--umdi-green-dark);
  border: none;
}

/* =====================================
   10) CONTENT AREA STAYS CLEAN
   ===================================== */

.pkp_structure_content {
  background: #ffffff;
}

.pkp_structure_main {
  padding-top: 10px;
  padding-bottom: 20px;
}

.pkp_structure_sidebar {
  padding-top: 10px;
}

/* =====================================
   11) NAVIGATION ALIGNMENT FIX - DESKTOP ONLY
   ===================================== */

@media screen and (min-width: 769px) {

  /* Bar navigasi utama */
  .pkp_navigation_primary_row {
    position: relative !important;
    min-height: 56px !important;
    padding-left: 56px !important;
    padding-right: 56px !important;
    box-sizing: border-box;
    background: var(--umdi-green-dark) !important;
  }

  .pkp_navigation_primary {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_navigation_primary > li {
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_navigation_primary > li > a {
    display: block !important;
    padding: 18px 16px 14px 16px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    text-decoration: none !important;
    background: transparent !important;
    border-bottom: 4px solid transparent;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus,
  .pkp_navigation_primary > li > a:active {
    background: var(--umdi-orange) !important;
    color: #ffffff !important;
    border-bottom-color: var(--umdi-orange) !important;
    text-decoration: none !important;
  }

  .pkp_navigation_search_wrapper {
    position: absolute !important;
    top: 0 !important;
    right: 8px !important;
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 20;
  }

  .pkp_navigation_search_wrapper a,
  .pkp_navigation_search_wrapper .pkp_search,
  .pkp_navigation_search_wrapper .pkp_search_desktop {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-bottom: none !important;
    line-height: 1 !important;
    box-sizing: border-box;
  }

  .pkp_navigation_search_wrapper a:hover,
  .pkp_navigation_search_wrapper a:focus,
  .pkp_navigation_search_wrapper .pkp_search:hover,
  .pkp_navigation_search_wrapper .pkp_search:focus {
    background: var(--umdi-orange) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: none !important;
  }

}

/* =====================================
   12) HEADER/BANNER WRAPPER CLEANUP
   ===================================== */

.pkp_structure_head,
.pkp_head_wrapper,
.pkp_site_name_wrapper {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.pkp_structure_head,
.pkp_head_wrapper {
  position: relative !important;
}

.pkp_site_name,
.pkp_site_name a {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* =====================================
   13) REGISTER / LOGIN FINAL POSITION FIX
   ===================================== */

.pkp_structure_head,
.pkp_head_wrapper {
  position: relative !important;
}

/* Paksa wrapper Register/Login ke kanan atas banner */
.pkp_structure_head .pkp_navigation_user_wrapper,
.pkp_head_wrapper .pkp_navigation_user_wrapper,
.pkp_navigation_user_wrapper {
  position: absolute !important;
  top: 28px !important;
  right: 0px !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
  z-index: 100 !important;
}

/* Rapikan Register dan Login */
.pkp_navigation_user {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
}

.pkp_navigation_user > li {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.pkp_navigation_user > li > a {
  display: inline-block !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px;
  text-decoration: none !important;
  background: transparent !important;
  white-space: nowrap !important;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: #ffffff !important;
  text-decoration: none !important;
  background: var(--umdi-orange) !important;
}

/* =====================================
   14) FOOTER LAYOUT FIX
   ===================================== */

/* Rapikan area footer utama */
.pkp_structure_footer_wrapper {
  background: #f4f4f4 !important;
  border-top: 6px solid var(--umdi-green-dark);
  padding: 24px 0 !important;
  margin: 0 !important;
}

/* Jadikan isi footer dua kolom: teks kiri dan logo kanan */
.pkp_structure_footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
  padding: 0 56px !important;
  box-sizing: border-box;
}

/* Rapikan teks footer */
.pkp_footer_content {
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Paksa spasi narasi footer lebih rapat */
.pkp_footer_content p,
.pkp_footer_content div,
.pkp_footer_content span {
  line-height: 1.25 !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Paragraf terakhir tidak perlu margin bawah */
.pkp_footer_content p:last-child {
  margin-bottom: 0 !important;
}

/* Logo OJS/PKP di kanan */
.pkp_brand_footer {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  align-self: center !important;
}

/* Ukuran logo OJS/PKP */
.pkp_brand_footer img {
  max-width: 170px !important;
  height: auto !important;
  display: block !important;
}

/* =====================================
   15) MAIN CONTENT LINK COLOR FIX - BROADER SAFE VERSION
   ===================================== */

/* Semua hyperlink di area isi utama, tetapi tidak menyentuh breadcrumb */
.pkp_structure_main a:not(.cmp_breadcrumbs a):not(.custom-side-menu a):not(.obj_galley_link),
.pkp_structure_main a:link:not(.cmp_breadcrumbs a):not(.custom-side-menu a):not(.obj_galley_link),
.pkp_structure_main a:visited:not(.cmp_breadcrumbs a):not(.custom-side-menu a):not(.obj_galley_link) {
  color: var(--umdi-orange) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(228, 127, 17, 0.35);
}

.pkp_structure_main a:hover:not(.cmp_breadcrumbs a):not(.custom-side-menu a):not(.obj_galley_link),
.pkp_structure_main a:focus:not(.cmp_breadcrumbs a):not(.custom-side-menu a):not(.obj_galley_link) {
  color: var(--umdi-purple) !important;
  border-bottom-color: var(--umdi-purple);
  text-decoration: none !important;
}

/* Pastikan breadcrumb tetap memakai desain Section 16 */
.pkp_structure_main .cmp_breadcrumbs a,
.pkp_structure_main .cmp_breadcrumbs a:link,
.pkp_structure_main .cmp_breadcrumbs a:visited {
  border-bottom: none !important;
}

/* =====================================
   16) GLOBAL BREADCRUMB / PATH STYLE
   ===================================== */

.cmp_breadcrumbs {
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
}

.cmp_breadcrumbs ol {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.cmp_breadcrumbs li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin: 0 0 8px -14px !important;
  padding: 0 34px 0 28px !important;
  background: #f0f1f4 !important;
  color: #222222 !important;
  line-height: 1 !important;
  box-sizing: border-box;
  white-space: nowrap !important;
}

.cmp_breadcrumbs li:first-child {
  margin-left: 0 !important;
  clip-path: polygon(
    0 0,
    calc(100% - 24px) 0,
    100% 50%,
    calc(100% - 24px) 100%,
    0 100%
  );
}

/* Item kedua dan seterusnya: punya ekor kiri dan panah kanan */
.cmp_breadcrumbs li:not(:first-child) {
  padding-left: 40px !important;
  clip-path: polygon(
    0 0,
    calc(100% - 24px) 0,
    100% 50%,
    calc(100% - 24px) 100%,
    0 100%,
    24px 50%
  );
}

/* Teks/link di dalam breadcrumb */
.cmp_breadcrumbs li a,
.cmp_breadcrumbs li span,
.cmp_breadcrumbs li .current {
  color: inherit !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  border-bottom: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Item terakhir/current */
.cmp_breadcrumbs li:last-child {
  background: var(--umdi-purple) !important;
  color: #ffffff !important;
}

/* Hover hanya untuk item yang bisa diklik */
.cmp_breadcrumbs li:has(a:hover),
.cmp_breadcrumbs li:has(a:focus) {
  background: var(--umdi-orange) !important;
  color: #ffffff !important;
}

/* =====================================
   17) HIDE DEFAULT HOMEPAGE ABOUT TITLE
   ===================================== */

.page_index_journal .homepage_about h2 {
  display: none !important;
}

.page_index_journal .homepage_about {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* =====================================
   18) HOMEPAGE TITLE-TABLE SPACING
   ===================================== */

.page_index_journal .page_about {
  padding-bottom: 0 !important;
}

.page_index_journal .page_about h2 + * {
  margin-top: 8px !important;
}

.page_index_journal .page_about hr {
  margin-top: 8px !important;
  margin-bottom: 16px !important;
}

.page_index_journal .page_about table {
  margin-top: 8px !important;
  margin-bottom: 20px !important;
}

/* =====================================
   19) EXTENDED LINK COLOR FIX - SAFE VERSION
   ===================================== */

/* Link di footer */
.pkp_footer_content a,
.pkp_footer_content a:link,
.pkp_footer_content a:visited {
  color: var(--umdi-orange) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(228, 127, 17, 0.35);
}

.pkp_footer_content a:hover,
.pkp_footer_content a:focus {
  color: var(--umdi-purple) !important;
  border-bottom-color: var(--umdi-purple);
  text-decoration: none !important;
}

/* Link di halaman form: login, register, forgot password */
.pkp_structure_main form a,
.pkp_structure_main .cmp_form a,
.page_login a,
.page_register a,
.page_lost_password a {
  color: var(--umdi-orange) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(228, 127, 17, 0.35);
}

.pkp_structure_main form a:hover,
.pkp_structure_main form a:focus,
.pkp_structure_main .cmp_form a:hover,
.pkp_structure_main .cmp_form a:focus,
.page_login a:hover,
.page_login a:focus,
.page_register a:hover,
.page_register a:focus,
.page_lost_password a:hover,
.page_lost_password a:focus {
  color: var(--umdi-purple) !important;
  border-bottom-color: var(--umdi-purple);
  text-decoration: none !important;
}

/* Dropdown profil pengguna, misalnya View Profile */
.pkp_navigation_user .dropdown-menu a,
.pkp_navigation_user .dropdown-menu a:link,
.pkp_navigation_user .dropdown-menu a:visited {
  color: #333333 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  background: #ffffff !important;
}

.pkp_navigation_user .dropdown-menu a:hover,
.pkp_navigation_user .dropdown-menu a:focus {
  color: #ffffff !important;
  background: var(--umdi-orange) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Link dalam notification, announcement, issue/article list */
.cmp_notification a,
.cmp_announcements a,
.cmp_article_list a,
.cmp_issue_toc a {
  color: var(--umdi-orange) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(228, 127, 17, 0.35);
}

.cmp_notification a:hover,
.cmp_notification a:focus,
.cmp_announcements a:hover,
.cmp_announcements a:focus,
.cmp_article_list a:hover,
.cmp_article_list a:focus,
.cmp_issue_toc a:hover,
.cmp_issue_toc a:focus {
  color: var(--umdi-purple) !important;
  border-bottom-color: var(--umdi-purple);
  text-decoration: none !important;
}

/* =====================================
   20) HOMEPAGE ADDITIONAL CONTENT SPACING
   ===================================== */

.page_index_journal .additional_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page_index_journal .additional_content .ujmrp-page-title,
.page_index_journal .additional_content h2:first-child {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* =====================================
   21) EDITORIAL TEAM PROFILE STYLE
   ===================================== */

.editorial-member {
  margin-bottom: 24px !important;
}

.editorial-member .editor-name {
  margin: 0 0 3px 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}

.editorial-member .editor-affiliation {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  font-size: 15px !important;
}

/* Container ikon profil */
.editor-icons {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin-left: 5px !important;
  vertical-align: -2px !important;
}

/* Link ikon: menetralkan efek link oranye/underline dari Section 15 */
.editor-icons a,
.editor-icons a:link,
.editor-icons a:visited,
.editor-icons a:hover,
.editor-icons a:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
  border-bottom: none !important;
  text-decoration: none !important;
  background: transparent !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ukuran dasar ikon: ORCID, Scopus, WoS */
.editor-icon {
  width: 17px !important;
  height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

/* Google Scholar tampak lebih kecil secara visual, jadi dibuat sedikit lebih besar */
.editor-icon-gs {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

/* Ikon tanpa link profil */
.editor-icon.inactive {
  opacity: 0.45 !important;
}

/* Hover ikon */
.editor-icons a:hover .editor-icon,
.editor-icons a:focus .editor-icon {
  transform: scale(1.08);
  transition: transform 0.15s ease;
}

/* =====================================
   22) IMPORTANT NOTICE BLINKING TEXT
   ===================================== */

.important-notice-blink {
  text-decoration: underline !important;
  animation: importantNoticeBlink 1.2s infinite;
}

@keyframes importantNoticeBlink {
  0% {
    color: #FF0000;
  }

  50% {
    color: #005BFF;
  }

  100% {
    color: #FF0000;
  }
}

/* =====================================
   23) MAIN CONTENT HEADING COLOR
   ===================================== */

.pkp_structure_main h3 {
  color: var(--umdi-green-mid);
  font-weight: 700;
  border-left: 4px solid var(--umdi-orange);
  padding-left: 10px;
}

/* =====================================
   24) FOOTER COMPANY LOGO
   ===================================== */

.pkp_footer_content .footer-company {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  text-align: left !important;
}

.pkp_footer_content .footer-company-logo {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.pkp_footer_content .footer-company-logo img {
  width: 86px !important;
  max-width: 86px !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_footer_content .footer-company-text {
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_footer_content .footer-company-text p {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

.pkp_footer_content .footer-company-text p:last-child {
  margin-bottom: 0 !important;
}

/* =====================================
   25) MOBILE RESPONSIVE FIX
   ===================================== */

@media screen and (max-width: 768px) {

  /* Area halaman tidak melebar di HP */
  .pkp_structure_page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* Header mobile: jangan hidden, karena menu hamburger perlu keluar/turun */
  .pkp_structure_head,
  .pkp_head_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Banner mobile */
  .pkp_site_name_wrapper {
    height: 125px !important;
    min-height: 125px !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: var(--umdi-green-dark) !important;
    overflow: hidden !important;
  }

  .pkp_site_name a {
    height: 125px !important;
    min-height: 125px !important;
  }

  /* Tombol hamburger */
  .pkp_site_nav_toggle {
    color: #ffffff !important;
    background: transparent !important;
    border: none !important;
    z-index: 300 !important;
  }

  .pkp_site_nav_toggle:hover,
  .pkp_site_nav_toggle:focus {
    background: transparent !important;
    color: #ffffff !important;
  }

  /* Container menu mobile OJS */
  .pkp_site_nav_menu {
    background: var(--umdi-green-dark) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    z-index: 250 !important;
  }

  /* Wrapper navigasi mobile */
  .pkp_navigation_primary_wrapper {
    background: var(--umdi-green-dark) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .pkp_navigation_primary_row {
    position: relative !important;
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--umdi-green-dark) !important;
    box-sizing: border-box !important;
  }

  /* Menu utama mobile */
  .pkp_navigation_primary {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--umdi-green-dark) !important;
    box-sizing: border-box !important;
  }

  .pkp_navigation_primary > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  .pkp_navigation_primary > li > a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px 20px !important;
    color: #ffffff !important;
    background: transparent !important;
    text-align: left !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-sizing: border-box !important;
    line-height: 1.35 !important;
    letter-spacing: 0.5px !important;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus,
  .pkp_navigation_primary > li > a:active {
    background: var(--umdi-orange) !important;
    color: #ffffff !important;
    text-decoration: none !important;
  }

  /* Search mobile: jangan absolute */
  .pkp_navigation_search_wrapper {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--umdi-green-dark) !important;
    box-sizing: border-box !important;
    z-index: auto !important;
  }

  .pkp_navigation_search_wrapper a,
  .pkp_navigation_search_wrapper .pkp_search,
  .pkp_navigation_search_wrapper .pkp_search_desktop {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px 20px !important;
    color: #ffffff !important;
    background: transparent !important;
    text-align: left !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-sizing: border-box !important;
    line-height: 1.35 !important;
    letter-spacing: 0.5px !important;
  }

  .pkp_navigation_search_wrapper a:hover,
  .pkp_navigation_search_wrapper a:focus,
  .pkp_navigation_search_wrapper .pkp_search:hover,
  .pkp_navigation_search_wrapper .pkp_search:focus {
    background: var(--umdi-orange) !important;
    color: #ffffff !important;
    text-decoration: none !important;
  }

  /* Sembunyikan ikon search jika tampil sebagai karakter/kotak rusak */
  .pkp_navigation_search_wrapper a::before,
  .pkp_navigation_search_wrapper .pkp_search::before {
    display: none !important;
    content: none !important;
  }

  /* Register/Login di mobile: jangan absolute menimpa banner/menu */
  .pkp_navigation_user_wrapper {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--umdi-green-dark) !important;
  }

  .pkp_navigation_user {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--umdi-green-dark) !important;
  }

  .pkp_navigation_user > li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_navigation_user > li > a {
    display: block !important;
    padding: 12px 20px !important;
    color: #ffffff !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .pkp_navigation_user > li > a:hover,
  .pkp_navigation_user > li > a:focus {
    background: var(--umdi-orange) !important;
    color: #ffffff !important;
  }

  /* Konten utama lebih nyaman dibaca di HP */
  .pkp_structure_main {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .pkp_structure_sidebar {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  /* Tabel homepage */
  .ujmrp-home-description table {
    width: 100% !important;
    table-layout: fixed !important;
  }

  .ujmrp-home-description table td {
    font-size: 14px !important;
    line-height: 1.45 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    vertical-align: top !important;
  }

  .ujmrp-home-description table td:first-child {
    width: 34% !important;
  }

  /* Paragraf di HP jangan justify */
  .pkp_structure_main p,
  .pkp_structure_main li {
    text-align: left !important;
    line-height: 1.65 !important;
  }

  .pkp_structure_main h2 {
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  .pkp_structure_main h3 {
    font-size: 19px !important;
    line-height: 1.35 !important;
  }

  /* Breadcrumb mobile */
  .cmp_breadcrumbs {
    margin-bottom: 18px !important;
  }

  .cmp_breadcrumbs li {
    min-height: 36px !important;
    padding: 0 24px 0 20px !important;
  }

  .cmp_breadcrumbs li:not(:first-child) {
    padding-left: 32px !important;
  }

  .cmp_breadcrumbs li a,
  .cmp_breadcrumbs li span,
  .cmp_breadcrumbs li .current {
    font-size: 12px !important;
    letter-spacing: 0.7px !important;
  }

  /* Footer mobile */
  .pkp_structure_footer {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 0 24px !important;
  }

  .pkp_footer_content {
    width: 100% !important;
    max-width: none !important;
  }

  .pkp_footer_content .footer-company {
    align-items: center !important;
    gap: 12px !important;
  }

  .pkp_footer_content .footer-company-logo img {
    width: 72px !important;
    max-width: 72px !important;
  }

  .pkp_footer_content .footer-company-text p {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .pkp_brand_footer {
    align-self: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .pkp_brand_footer img {
    margin: 0 auto !important;
    max-width: 150px !important;
  }
}

/* =====================================
   26) ARTICLE LANDING PAGE REFERENCES ALIGNMENT
   ===================================== */

/* Reference list di landing page artikel harus left-aligned, bukan justify */
.pkp_structure_main .obj_article_details .item.references,
.pkp_structure_main .obj_article_details .item.references .value,
.pkp_structure_main .obj_article_details .item.references p,
.pkp_structure_main .obj_article_details .item.references li,
.pkp_structure_main .obj_article_details .references,
.pkp_structure_main .obj_article_details .references .value,
.pkp_structure_main .obj_article_details .references p,
.pkp_structure_main .obj_article_details .references li {
  text-align: left !important;
  text-justify: auto !important;
}

/* Jarak antar entri referensi tetap rapi */
.pkp_structure_main .obj_article_details .item.references p,
.pkp_structure_main .obj_article_details .references p {
  margin-bottom: 14px !important;
  line-height: 1.6 !important;
}

/* Link DOI/URL dalam references tetap mengikuti warna tema */
.pkp_structure_main .obj_article_details .item.references a,
.pkp_structure_main .obj_article_details .references a {
  color: var(--umdi-orange) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(228, 127, 17, 0.35) !important;
}

/* =====================================
   27) HIDE AUTHOR USER GROUP LABEL
   ===================================== */

.obj_article_details .item.authors .author .userGroup,
.obj_article_details .item.authors ul.author .userGroup,
.obj_article_details .authors .userGroup,
.obj_article_details span.userGroup {
  display: none !important;
}

/* =====================================
   28) HOMEPAGE CONTENT ORDER
   ===================================== */

/* Struktur homepage: Current Issue dan Additional Content berada di dalam .page_index_journal */
.page_index_journal {
  display: flex !important;
  flex-direction: column !important;
}

/* Journal Description dari Additional Content tampil lebih dulu */
.page_index_journal .additional_content {
  order: 1 !important;
  margin-top: 30px !important;
  padding-top: 0 !important;
}

/* Current Issue tampil setelah Journal Description */
.page_index_journal .current_issue {
  order: 2 !important;
  margin-top: 20px !important;
}

/* =====================================
   29) GLOBAL GALLEY / DOWNLOAD PDF BUTTON STYLE
   ===================================== */

/* Tombol Download PDF global: homepage dan issue tetap compact */
.pkp_structure_main a.obj_galley_link,
.pkp_structure_main a.obj_galley_link:link,
.pkp_structure_main a.obj_galley_link:visited,
.pkp_structure_main a.obj_galley_link.pdf,
.pkp_structure_main a.obj_galley_link.pdf:link,
.pkp_structure_main a.obj_galley_link.pdf:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  padding: 7px 13px !important;
  margin: 4px 0 !important;

  background: var(--umdi-green-dark) !important;
  color: #ffffff !important;
  border: 1px solid var(--umdi-green-dark) !important;
  border-bottom: 1px solid var(--umdi-green-dark) !important;
  border-radius: 3px !important;

  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Halaman artikel individual: tombol Download PDF memenuhi lebar kotak */
.obj_article_details .entry_details .item.galleys .value.galleys_links,
.obj_article_details .entry_details .item.galleys ul.galleys_links,
.obj_article_details .entry_details .item.galleys .galleys_links li {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.obj_article_details .entry_details .item.galleys a.obj_galley_link,
.obj_article_details .entry_details .item.galleys a.obj_galley_link.pdf {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Pastikan teks dan ikon tombol putih */
.pkp_structure_main a.obj_galley_link,
.pkp_structure_main a.obj_galley_link:link,
.pkp_structure_main a.obj_galley_link:visited,
.pkp_structure_main a.obj_galley_link *,
.pkp_structure_main a.obj_galley_link::before {
  color: #ffffff !important;
}

/* Hover: background oranye, teks tetap putih */
.pkp_structure_main a.obj_galley_link:hover,
.pkp_structure_main a.obj_galley_link:focus,
.pkp_structure_main a.obj_galley_link.pdf:hover,
.pkp_structure_main a.obj_galley_link.pdf:focus {
  background: var(--umdi-orange) !important;
  color: #ffffff !important;
  border-color: var(--umdi-orange) !important;
  border-bottom-color: var(--umdi-orange) !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pkp_structure_main a.obj_galley_link:hover *,
.pkp_structure_main a.obj_galley_link:focus *,
.pkp_structure_main a.obj_galley_link:hover::before,
.pkp_structure_main a.obj_galley_link:focus::before {
  color: #ffffff !important;
}