/* ==========================================================================
   OJS 3.5 CUSTOM CSS - ELSEVIER ACADEMIC DESIGN SYSTEM (FULL VERSION)
   Target: Homepage, Article Summary (Fixed Alignment), Landing Page, 
           Tables, Navigation, Anti-Stretch Images, & Static Pages
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GLOBAL VARIABLES & BASE TYPOGRAPHY
   -------------------------------------------------------------------------- */
:root {
  --els-primary: #007398;          /* Elsevier Corporate Blue */
  --els-primary-dark: #005975;     /* Darker shade for active/focus */
  --els-accent: #e97110;           /* Elsevier Orange Accent */
  --els-bg-light: #f7f9fa;         /* Light grey background for cards */
  --els-text-main: #222222;        /* High-contrast body text */
  --els-text-muted: #595959;       /* Secondary text */
  --els-border-color: #e0e0e0;     /* Subtle clean borders */
  --els-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --els-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body {
  font-family: var(--els-font-sans) !important;
  color: var(--els-text-main);
  background-color: #ffffff;
  line-height: 1.6;
}

a {
  color: var(--els-primary);
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

a:hover, a:focus {
  color: var(--els-primary-dark);
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   2. HEADER, NAVIGATION DROPDOWN & HOVER
   -------------------------------------------------------------------------- */
.pkp_structure_head {
  background-color: #ffffff !important;
  border-bottom: 2px solid var(--els-primary) !important;
  box-shadow: var(--els-shadow);
}

/* Base Navigation Link */
.pkp_navigation_primary a,
.pkp_navigation_user a {
  font-family: var(--els-font-sans) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: var(--els-text-main) !important;
  padding: 12px 16px !important;
  transition: all 0.2s ease;
}

.pkp_navigation_primary a:hover,
.pkp_navigation_user a:hover {
  color: var(--els-primary) !important;
  background-color: var(--els-bg-light) !important;
  text-decoration: none !important;
}

/* Dropdown Container */
.pkp_navigation_primary ul,
.pkp_navigation_user ul {
  background-color: #ffffff !important;
  border: 1px solid var(--els-border-color) !important;
  border-top: 3px solid var(--els-primary) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  border-radius: 0 0 4px 4px !important;
  padding: 8px 0 !important;
}

/* Dropdown Item & Hover */
.pkp_navigation_primary ul a,
.pkp_navigation_user ul a {
  color: var(--els-text-main) !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
  padding: 10px 20px !important;
  display: block !important;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_user ul a:hover {
  background-color: var(--els-bg-light) !important;
  color: var(--els-primary) !important;
  padding-left: 24px !important; /* Indent effect */
}

/* --------------------------------------------------------------------------
   3. IMAGE ANTI-STRETCH & ASPECT RATIO CONTROL
   -------------------------------------------------------------------------- */
img,
.obj_article_summary .cover img,
.obj_issue_toc .cover img,
.issue_toc .cover img,
.pkp_structure_main img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.obj_article_summary .cover,
.obj_issue_toc .cover {
  max-width: 130px !important;
  flex-shrink: 0;
  background-color: var(--els-bg-light);
  border: 1px solid var(--els-border-color);
  padding: 4px;
  border-radius: 2px;
}

/* --------------------------------------------------------------------------
   4. HOMEPAGE & ARTICLE LISTING (PERBAIKAN PERATAAN TOMBOL PDF & TEKS)
   -------------------------------------------------------------------------- */
.page_index_journal .current_issue {
  background: #ffffff;
  border: 1px solid var(--els-border-color);
  border-left: 4px solid var(--els-primary);
  padding: 24px;
  margin-bottom: 30px;
  border-radius: 2px;
}

/* Flexible Layout untuk Daftar Artikel */
.obj_article_summary {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important; /* Menjaga teks & tombol sejajar vertikal */
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--els-border-color) !important;
  transition: background-color 0.2s ease;
}

.obj_article_summary:hover {
  background-color: rgba(0, 115, 152, 0.02);
}

/* Area Judul & Penulis (Kiri) */
.obj_article_summary .title,
.obj_article_summary > div:not(.galleys):not(.cover) {
  flex: 1 1 auto !important;
  margin: 0 !important;
}

.obj_article_summary .title {
  font-family: var(--els-font-sans) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin-bottom: 6px !important;
}

.obj_article_summary .title a {
  color: var(--els-primary) !important;
}

.obj_article_summary .title a:hover {
  color: var(--els-primary-dark) !important;
  text-decoration: underline !important;
}

.obj_article_summary .authors {
  font-size: 0.88rem !important;
  color: var(--els-text-muted) !important;
  margin: 0 !important;
}

/* Area Tombol PDF (Dikunci Rata Kanan) */
.obj_article_summary .galleys {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-shrink: 0 !important; /* Mencegah tombol mengkerut/tergeser */
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_summary .galleys ul {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_summary .galleys li {
  margin: 0 !important;
  padding: 0 !important;
}

/* Styling Tombol PDF */
.obj_galley_link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 80px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  color: var(--els-primary) !important;
  border: 1px solid var(--els-primary) !important;
  padding: 6px 14px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}

.obj_galley_link:hover {
  background-color: var(--els-primary) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 2px 5px rgba(0, 115, 152, 0.2);
}

/* --------------------------------------------------------------------------
   5. ARTICLE LANDING PAGE (DETAIL ARTIKEL)
   -------------------------------------------------------------------------- */
.page_article .pkp_structure_main {
  padding-right: 30px;
}

.page_article .item.title {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--els-text-main) !important;
  margin-bottom: 16px !important;
}

.page_article .item.authors {
  font-size: 1.05rem !important;
  color: var(--els-text-muted) !important;
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--els-border-color);
  padding-bottom: 15px;
}

.page_article .item.abstract {
  background-color: var(--els-bg-light) !important;
  border-left: 4px solid var(--els-primary) !important;
  padding: 20px !important;
  margin: 25px 0 !important;
  border-radius: 0 4px 4px 0 !important;
}

.page_article .item.abstract h3 {
  font-size: 1.1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--els-primary-dark) !important;
  margin-bottom: 10px !important;
}

.page_article .entry_details {
  background: #ffffff !important;
  border: 1px solid var(--els-border-color) !important;
  padding: 20px !important;
  border-radius: 2px !important;
}

.page_article .entry_details .item {
  margin-bottom: 18px !important;
  border-bottom: 1px dashed var(--els-border-color);
  padding-bottom: 12px;
}

.page_article .entry_details .item:last-child {
  border-bottom: none;
}

.page_article .entry_details .label {
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  color: var(--els-text-muted) !important;
  font-weight: 700 !important;
}

.page_article .item.doi .value a {
  font-weight: 600;
  word-break: break-all;
}

/* --------------------------------------------------------------------------
   6. TABLES STYLING (CLEAN ACADEMIC TABLE)
   -------------------------------------------------------------------------- */
table, 
.pkp_structure_main table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 20px 0 !important;
  font-size: 0.92rem !important;
  background-color: #ffffff;
}

table th, 
.pkp_structure_main table th {
  background-color: var(--els-bg-light) !important;
  color: var(--els-primary-dark) !important;
  font-weight: 700 !important;
  text-align: left !important;
  padding: 12px 16px !important;
  border-top: 2px solid var(--els-primary) !important;
  border-bottom: 2px solid var(--els-border-color) !important;
}

table td, 
.pkp_structure_main table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--els-border-color) !important;
  color: var(--els-text-main) !important;
}

table tr:hover, 
.pkp_structure_main table tr:hover {
  background-color: rgba(0, 0, 0, 0.015) !important;
}

/* --------------------------------------------------------------------------
   7. STATIC PAGES & MENU PAGES
   -------------------------------------------------------------------------- */
.page_about,
.page_editorial_team,
.page_submissions,
.page_privacy,
.pkp_page_content {
  line-height: 1.75 !important;
}

.pkp_page_title {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--els-text-main) !important;
  border-bottom: 2px solid var(--els-primary) !important;
  padding-bottom: 10px !important;
  margin-bottom: 25px !important;
}

.pkp_structure_main h2 {
  font-size: 1.4rem !important;
  color: var(--els-primary-dark) !important;
  margin-top: 30px !important;
  margin-bottom: 15px !important;
  font-weight: 700 !important;
}

.pkp_structure_main h3 {
  font-size: 1.15rem !important;
  color: var(--els-text-main) !important;
  margin-top: 20px !important;
  margin-bottom: 10px !important;
  font-weight: 600 !important;
}

blockquote {
  border-left: 3px solid var(--els-accent) !important;
  background-color: var(--els-bg-light) !important;
  padding: 15px 20px !important;
  margin: 20px 0 !important;
  font-style: italic;
}

/* --------------------------------------------------------------------------
   8. FOOTER STYLING
   -------------------------------------------------------------------------- */
.pkp_structure_footer_wrapper {
  background-color: #1a1a1a !important;
  color: #cccccc !important;
  border-top: 4px solid var(--els-primary) !important;
  padding: 40px 0 20px 0 !important;
  margin-top: 50px !important;
}

.pkp_structure_footer_wrapper a {
  color: #ffffff !important;
}

.pkp_structure_footer_wrapper a:hover {
  color: var(--els-accent) !important;
  text-decoration: underline !important;
}