/* ==========================================================================
   JURNAL PEMBANGUNAN KOTA TANGERANG (JPKT) - CUSTOM OJS 3 THEME
   ========================================================================== */

:root {
  --jpkt-primary-dark: #072957;
  --jpkt-primary-deep: #03142a;
  --jpkt-accent: #0098b7;
  --jpkt-accent-light: #38bdf8;
  --jpkt-text: #cbd5e1;
  --jpkt-text-muted: #94a3b8;
  --jpkt-border: rgba(7, 41, 87, 0.08);
  --jpkt-sidebar-width: 320px;
  
  --jpkt-sky-light: #f8fafc;
  --jpkt-sky-border: #e2e8f0;
  --jpkt-sky-hover: #f1f5f9;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
}

body {
  margin: 0;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  overflow-x: clip;
}

article, aside, footer, header, nav, section, figcaption, figure, main, details, menu, canvas {
  display: block;
}

h1 { font-size: 2em; margin: .67em 0; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre, code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }

a {
  background-color: transparent;
  color: #006798;
  -webkit-text-decoration-skip: objects;
}
a:hover, a:focus { color: #008acb; }

abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
dfn { font-style: italic; }
mark { background-color: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
img { border-style: none; }
svg:not(:root) { overflow: hidden; }

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
fieldset { padding: .35em .75em .625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
template, [hidden] { display: none; }

*, *, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", sans-serif;
}

main, .pkp_structure_page {
  flex: 1 0 auto !important;
  position: relative;
  overflow: visible !important;
}

/* ==========================================================================
   HEADER & RIGHT-TOP UTILITIES (Search, Language, User Account)
   ========================================================================== */
img[src*="pageHeaderLogoImage_id_ID.png"],
.pkp_site_name .is_img,
.pkp_head_wrapper .pkp_site_name img,
.pkp_navigation_primary_row .pkp_site_name {
  display: none !important;
}

/* Sembunyikan Tombol "Send Article" / Make a Submission */
.pkp_issuu_link, 
.header_control, 
a.block.button, 
a.action.submit, 
.pkp_navigation_user_wrapper a[href*="submission"],
.cmp_button.submit,
.pkp_structure_head .submission-button,
a[href$="/submission/wizard"] {
  display: none !important;
}

/* Posisi Search, Language, dan User Account di Kanan Atas Header */
header.pkp_structure_head {
  position: relative !important;
}

.pkp_navigation_user_wrapper, 
#headerNavigationUser, 
.pkp_head_wrapper .pkp_navigation_user_wrapper {
  position: absolute !important;
  top: 15px !important;
  right: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  z-index: 1000 !important;
}

/* Pastikan ikon asli tema tetap berjalan normal */
.pkp_navigation_user_wrapper .fa, 
.pkp_navigation_user_wrapper span,
.pkp_navigation_user_wrapper a {
  color: #fff !important;
}

/* Navigasi Utama */
.pkp_navigation_primary_row,
header.pkp_structure_head .pkp_navigation_primary_row,
#navbar,
nav.pkp_navigation_primary_wrapper {
  background-color: var(--jpkt-primary-dark, #072957) !important;
  background: var(--jpkt-primary-dark, #072957) !important;
  position: static !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 3px solid var(--jpkt-accent, #0098b7) !important;
  box-shadow: 0 4px 12px rgba(7, 41, 87, 0.15) !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

#navbar .navbar-nav,
#navbar #_navigationPrimary,
ul._pkp_navigation_primary,
.pkp_navigation_primary {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  margin: 0 !important;
  margin-right: auto !important;
  padding: 0 15px !important;
  list-style: none !important;
  position: static !important;
}

#navbar .navbar-nav .nav-link,
#navbar #_navigationPrimary .nav-item .nav-link,
.pkp_navigation_primary > li > a,
.pkp_nav_list > li > a,
.nav-link {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #ffffff !important;
  background-color: transparent !important;
  padding: 18px 22px !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

#navbar .navbar-nav .nav-link:hover,
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li.active > a {
  background-color: rgba(0, 152, 183, 0.25) !important;
  color: var(--jpkt-accent-light, #38bdf8) !important;
  border-bottom: 3px solid var(--jpkt-accent, #0098b7) !important;
  padding-bottom: 15px !important;
}

/* ==========================================================================
   WAVE 0 (HILANGKAN GELOMBANG)
   ========================================================================== */
.hero-section .wave,
.wave,
.waves,
.wave-container {
  display: none !important;
}

/* ==========================================================================
   HOMEPAGE IMAGE (100% WIDTH & HEIGHT, TANPA FLEX-WRAP)
   ========================================================================== */
.pkp_page_index .homepage_image,
.homepage_image,
.homepage-image,
.pkp_structure_main .homepage_image {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  display: block !important;
}

.pkp_page_index .homepage_image img,
.homepage_image img,
.homepage-image img,
.pkp_structure_main .homepage_image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 400px !important;
  max-height: 600px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 0.5 !important;
  transition: opacity 0.3s ease !important;
}

/* ==========================================================================
   ANNOUNCEMENTS (MINIMALISIR GARIS & SEJAJAR DENGAN ADDITIONAL INFO)
   ========================================================================== */
.page_announcement,
.announcements_container,
.pkp_page_announcement,
.additional_content,
.pkp_page_index .additional_content {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

.summary,
.announcement_summary,
.item.announcement {
  background: #ffffff !important;
  border: none !important;
  border-left: 3px solid var(--jpkt-accent) !important;
  border-radius: 4px !important;
  padding: 20px 25px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.summary h2, .summary h3 {
  color: var(--jpkt-primary-dark) !important;
  font-weight: 700 !important;
  margin-top: 10px !important;
  margin-bottom: 8px !important;
  font-size: 1.25rem !important;
}

.summary p {
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #475569 !important;
}

/* ==========================================================================
   CURRENT ISSUE (TABEL LAYER RAPI & MENARIK KHAS JPKT)
   ========================================================================== */
.current_issue, 
.pkp_page_index .current_issue,
.obj_issue_toc {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 30px auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.current_issue table, 
.obj_issue_toc table, 
.cmp_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1px solid var(--jpkt-sky-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 12px rgba(7, 41, 87, 0.05) !important;
}

.current_issue th, 
.obj_issue_toc th,
.cmp_table th {
  background-color: var(--jpkt-primary-dark) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.5px !important;
  padding: 14px 16px !important;
  border-bottom: 2px solid var(--jpkt-accent) !important;
  text-align: left !important;
}

.current_issue td, 
.obj_issue_toc td,
.cmp_table td {
  padding: 14px 16px !important;
  color: #334155 !important;
  font-size: 0.95rem !important;
  border-bottom: 1px solid var(--jpkt-sky-border) !important;
  vertical-align: middle !important;
}

.current_issue tr:nth-child(even) td,
.cmp_table tr:nth-child(even) td {
  background-color: var(--jpkt-sky-light) !important;
}

.current_issue tr:hover td,
.cmp_table tr:hover td {
  background-color: var(--jpkt-sky-hover) !important;
}

.current_issue tr:last-child td,
.cmp_table tr:last-child td {
  border-bottom: none !important;
}

/* ==========================================================================
   FOOTER FULL-BLEED
   ========================================================================== */
footer#pkp_content_footer.pkp_structure_footer_wrapper {
  position: relative;
  width: 100vw;
  margin-top: 60px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 55px 0 25px !important;
  background: linear-gradient(180deg, var(--jpkt-primary-dark) 0%, var(--jpkt-primary-deep) 100%) !important;
  border-top: 4px solid var(--jpkt-accent) !important;
  color: var(--jpkt-text) !important;
}

.pkp_structure_footer .jpkt-container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 30px;
  box-sizing: border-box;
}

.jpkt-footer-top {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1.2fr;
  gap: 40px;
  padding-bottom: 35px;
  border-bottom: 1px solid var(--jpkt-border);
}