/* ==========================================================================
   Sustainability: Educational Innovation and Local Identity
   Journal Style Sheet — adaptasi gaya visual Al Furqan (ejournal.iai-tabah.ac.id)
   --------------------------------------------------------------------------
   Target : OJS 3.3.0.x + Default Theme
   Pasang : Settings > Website > Appearance > Journal style sheet (upload)
            File ini MENGGANTIKAN stylesheet lama — jangan digabung.
   Warna  : ubah di blok :root saja.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;600;700;800&display=swap");

/* --------------------------------------------------------------------------
   1. TOKEN
   -------------------------------------------------------------------------- */
:root {
  --sus-g:     #1f7a3a;   /* hijau utama            */
  --sus-g2:    #2c9a4f;   /* hijau terang / hover   */
  --sus-gd:    #176430;   /* hijau tua (nav, footer)*/
  --sus-lime:  #8cc63f;   /* aksen limau (garis)    */
  --sus-lime2: #b6e86a;   /* aksen limau terang     */
  --sus-cream: #f3f9ec;
  --sus-soft:  #f8fcf3;
  --sus-line:  #d7ebc8;
  --sus-text:  #24302a;
  --sus-muted: #5f6f64;
  --sus-bg:    #eef6e7;

  --sus-hero: linear-gradient(135deg, #2c9a4f 0%, #1f7a3a 55%, #176430 100%);
  --sus-font: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --sus-radius: 8px;
  --sus-shadow: 0 4px 14px rgba(23, 100, 48, .08);
  --sus-shadow-lift: 0 10px 26px rgba(23, 100, 48, .16);
  --sus-page: 1120px;
}

/* --------------------------------------------------------------------------
   2. DASAR & LATAR BERPOLA
   -------------------------------------------------------------------------- */
body {
  background-color: var(--sus-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='108' viewBox='0 0 72 108'%3E%3Cg fill='none' stroke='%231f7a3a' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M0 -36c18 0 18 36 36 36s18-36 36-36'/%3E%3Cpath d='M0 18c18 0 18 36 36 36s18-36 36-36'/%3E%3Cpath d='M0 72c18 0 18 36 36 36s18-36 36-36'/%3E%3C/g%3E%3Cg fill='%238cc63f' fill-opacity='.35'%3E%3Ccircle cx='36' cy='54' r='1.6'/%3E%3Ccircle cx='0' cy='18' r='1.6'/%3E%3Ccircle cx='72' cy='18' r='1.6'/%3E%3Ccircle cx='0' cy='72' r='1.6'/%3E%3Ccircle cx='72' cy='72' r='1.6'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  color: var(--sus-text);
  font-family: var(--sus-font);
  -webkit-font-smoothing: antialiased;
}

body, .pkp_structure_page, .pkp_block, .pkp_site_name, .pkp_site_name .is_text,
h1, h2, h3, h4, h5, h6, .pkp_block .title {
  font-family: var(--sus-font);
}

.pkp_structure_page { background: #FFFFFF; }

h1, h2, h3, h4, h5, h6 { color: var(--sus-gd); }

a { color: var(--sus-g); }
a:hover, a:focus { color: var(--sus-g2); }

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--sus-lime);
  outline-offset: 2px;
}

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

/* komponen kustom & blok sidebar memakai border-box agar tidak melebar */
[class^="sus-"], [class*=" sus-"],
[class^="sus-"]::before, [class*=" sus-"]::before,
[class^="sus-"]::after, [class*=" sus-"]::after,
.pkp_block, .pkp_block *,
.pkp_structure_main, .pkp_structure_sidebar,
.pkp_navigation_primary_wrapper, .pkp_navigation_user_wrapper,
.pkp_site_name_wrapper, .pkp_footer_content { box-sizing: border-box; }

/* daftar artikel & galley tanpa bullet */
.cmp_article_list,
.galleys_links,
.obj_issue_toc .articles {
  margin: 0;
  padding: 0;
  list-style: none;
}
.galleys_links li { display: inline-block; margin: .5rem .4rem 0 0; }

/* --------------------------------------------------------------------------
   3. HEADER & BANNER
   -------------------------------------------------------------------------- */
.pkp_structure_head {
  background: var(--sus-g) !important;
  border-bottom: 0 !important;
}

.pkp_head_wrapper,
.has_site_logo .pkp_head_wrapper {
  position: relative;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.pkp_site_name_wrapper {
  width: 100% !important;
  padding: 0 !important;
}

.pkp_site_name,
.has_site_logo .pkp_site_name {
  width: 100%;
  padding: 0;
  overflow: visible;
}

.pkp_site_name .is_img {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 0;
}
.pkp_site_name .is_img img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none !important;
}

/* bila header berupa teks (tanpa gambar) */
.pkp_site_name .is_text {
  display: block;
  padding: 1.6rem 1.5rem;
  color: #FFFFFF;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  white-space: normal;
}

/* --------------------------------------------------------------------------
   4. NAVIGASI UTAMA
   -------------------------------------------------------------------------- */
.pkp_navigation_primary_row {
  background: var(--sus-gd) !important;
  border-top: 3px solid var(--sus-lime);
}

.pkp_navigation_primary_wrapper {
  width: 100% !important;
  padding: 0 1rem !important;
}

.pkp_navigation_primary { text-align: left; }

.pkp_navigation_primary > li > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 .7rem;
  padding: .85rem .1rem;
  border-bottom: 3px solid transparent;
  color: #eaf6dc !important;
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none !important;
}

/* panah kecil untuk item yang punya submenu */
.pkp_navigation_primary > li:has(> ul) > a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  opacity: .75;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li:hover > a,
.pkp_navigation_primary > li.in_focus > a {
  border-bottom-color: var(--sus-lime);
  color: var(--sus-lime2) !important;
  background: transparent;
}

.pkp_navigation_search_wrapper .pkp_search {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 .3rem;
  padding: .85rem .1rem;
  border-bottom: 3px solid transparent;
  color: #eaf6dc !important;
  font-weight: 600;
  text-decoration: none !important;
}
.pkp_navigation_search_wrapper .pkp_search:hover,
.pkp_navigation_search_wrapper .pkp_search:focus {
  border-bottom-color: var(--sus-lime);
  color: var(--sus-lime2) !important;
}

/* dropdown */
.pkp_nav_list ul {
  padding: .35rem 0;
  border: 0;
  border-top: 3px solid var(--sus-lime);
  border-radius: 0 0 6px 6px;
  background: #FFFFFF;
  box-shadow: var(--sus-shadow-lift);
}
.pkp_nav_list ul a,
.pkp_nav_list ul li:first-child a,
.pkp_nav_list ul li:last-child a {
  display: block;
  padding: .55rem 1rem;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0;
  color: var(--sus-g) !important;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}
.pkp_nav_list ul a:hover,
.pkp_nav_list ul a:focus {
  border-left-color: var(--sus-lime) !important;
  background: var(--sus-cream);
  color: var(--sus-gd) !important;
}

/* menu pengguna: Register = pil garis, Login/akun = pil limau */
.pkp_navigation_user > li > a {
  display: inline-block;
  padding: .3rem 1rem !important;
  border: 1px solid var(--sus-lime2);
  border-radius: 999px;
  color: #eaf6dc !important;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none !important;
}
.pkp_navigation_user > li:last-child > a {
  background: var(--sus-lime2);
  color: #145c2b !important;
}
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: var(--sus-gd) !important;
}

.task_count {
  display: inline-block;
  min-width: 18px;
  margin-left: 4px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--sus-gd);
  color: #FFFFFF;
  font-size: .75rem;
  text-align: center;
}

/* ---------- Desktop (>= 992px) ---------- */
@media (min-width: 992px) {
  /* halaman "berbingkai" di atas latar berpola */
  .pkp_structure_page {
    width: calc(100% - 200px);
    max-width: var(--sus-page);
    margin: 24px auto;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 22px rgba(23, 100, 48, .14);
  }

  /* pita atas tipis untuk Register / Login */
  .pkp_structure_head {
    background: linear-gradient(var(--sus-gd) 0 44px, var(--sus-g) 44px) !important;
  }
  .pkp_head_wrapper,
  .has_site_logo .pkp_head_wrapper { padding-top: 44px !important; }

  .pkp_site_nav_menu { position: static; }

  /* menu + Search dalam satu baris */
  .pkp_navigation_primary_wrapper {
    display: flex;
    align-items: center;
  }
  .pkp_navigation_primary_wrapper::before,
  .pkp_navigation_primary_wrapper::after { display: none !important; }
  .pkp_navigation_primary { flex: 1 1 auto; min-width: 0; }
  .pkp_navigation_search_wrapper {
    float: none !important;
    flex: 0 0 auto;
    margin-left: auto;
  }

  .pkp_navigation_user_wrapper {
    position: absolute !important;
    top: 0;
    right: 16px;
    left: auto !important;
    transform: none !important;
    display: flex;
    align-items: center;
    height: 44px;
    width: auto !important;
    padding: 0 !important;
    z-index: 1000;
  }
  .pkp_navigation_user {
    display: flex;
    gap: 8px;
    width: auto !important;
    margin: 0;
    padding: 0 !important;
  }
  .pkp_navigation_user::before,
  .pkp_navigation_user::after { display: none !important; }

  /* dropdown muncul juga saat fokus keyboard */
  .pkp_nav_list > li:focus-within > ul { left: 0; }
  .pkp_navigation_user > li:hover > ul,
  .pkp_navigation_user > li:focus-within > ul { left: auto; right: 0; }
  .pkp_nav_list ul { min-width: 230px; width: auto; }
}

/* ---------- Mobile & tablet (< 992px) ---------- */
@media (max-width: 991px) {
  .pkp_structure_page { width: 100%; margin: 0; }

  /* banner penuh + bilah MENU di bawahnya */
  .pkp_site_name_wrapper {
    position: relative;
    height: auto !important;
    padding: 0 0 52px !important;
    background: linear-gradient(transparent calc(100% - 52px), var(--sus-gd) calc(100% - 52px));
  }
  .pkp_site_name,
  .has_site_logo .pkp_site_name {
    position: static !important;
    left: auto;
    right: auto;
    white-space: normal;
  }
  .pkp_site_name .is_text { padding: 1rem; font-size: 1.05rem; }

  .pkp_site_nav_toggle {
    top: auto !important;
    bottom: 7px;
    left: auto !important;
    right: 12px;
    width: 108px !important;
    height: 38px !important;
    border: 1px solid var(--sus-lime) !important;
    border-radius: 6px;
    background: rgba(23, 100, 48, .88) !important;
    box-shadow: none !important;
  }
  .pkp_site_nav_toggle::after {
    content: "MENU";
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    color: #e3f9b8;
    font-family: var(--sus-font);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
  }
  .pkp_site_nav_toggle--transform::after { content: "CLOSE"; }
  .pkp_site_nav_toggle > span {
    left: 26px !important;
    width: 22px !important;
    border-bottom-color: var(--sus-lime2) !important;
  }
  .pkp_site_nav_toggle > span::before,
  .pkp_site_nav_toggle > span::after { background: var(--sus-lime2) !important; }
  .pkp_site_nav_toggle:focus { outline: 2px solid var(--sus-lime2); }

  /* panel menu yang terbuka */
  .pkp_site_nav_menu {
    position: static !important;
    padding: .4rem 0 1rem !important;
    background: var(--sus-gd) !important;
    border-top: 1px solid rgba(182, 232, 106, .25);
  }
  .pkp_navigation_primary_row { border-top: 0; }
  .pkp_navigation_primary_wrapper { padding: 0 !important; }

  .pkp_navigation_primary > li { display: block; }
  .pkp_navigation_primary > li > a,
  .pkp_navigation_search_wrapper .pkp_search {
    display: flex;
    margin: 0;
    padding: .75rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }
  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li:hover > a { border-bottom-color: rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .06); }

  .pkp_nav_list ul {
    position: static !important;
    left: auto !important;
    width: auto !important;
    margin: 0 1.1rem .5rem;
    border-radius: 6px;
    box-shadow: none;
  }
  .pkp_site_nav_menu ul ul { padding-left: 0; }

  .pkp_navigation_search_wrapper { float: none; }

  .pkp_navigation_user_wrapper {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    padding: .9rem 1.1rem 0 !important;
    text-align: left;
  }
  .pkp_navigation_user {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: auto !important;
    padding: 0 !important;
  }
  .pkp_navigation_user::before,
  .pkp_navigation_user::after { display: none !important; }
}

/* --------------------------------------------------------------------------
   5. TATA LETAK KONTEN (utama + sidebar 290px)
   -------------------------------------------------------------------------- */
.pkp_structure_content {
  width: 100% !important;
  padding: 0 !important;
}
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after { display: none !important; }

@media (min-width: 992px) {
  .pkp_structure_content {
    display: flex;
    align-items: flex-start;
  }
  .pkp_structure_main {
    flex: 1 1 auto;
    float: none !important;
    width: auto !important;
    min-width: 0;
    padding: 30px 30px 48px 34px !important;
  }
  .pkp_structure_main:first-child:last-child {
    margin: 0 !important;
    padding: 34px 48px 56px !important;
  }
  .pkp_structure_sidebar {
    flex: 0 0 290px;
    float: none !important;
    width: 290px !important;
    padding: 30px 22px 30px 0;
  }
}

@media (max-width: 991px) {
  .pkp_structure_main { padding: 1.2rem 1rem !important; }
  .pkp_structure_sidebar {
    float: none !important;
    width: 100% !important;
    padding: 0 1rem 1.2rem;
  }
}

/* --------------------------------------------------------------------------
   6. HALAMAN KONTEN
   -------------------------------------------------------------------------- */
.cmp_breadcrumbs { font-size: .85rem; }
.cmp_breadcrumbs a { color: var(--sus-muted); }
.cmp_breadcrumbs .current { color: var(--sus-g); }

.pkp_structure_main .page > h1,
.pkp_structure_main .page > h2:first-of-type,
.page_title {
  margin-top: .4rem;
  padding-bottom: .45rem;
  border-bottom: 2px solid var(--sus-lime);
  color: var(--sus-gd);
  font-weight: 800;
}

.pkp_structure_main table { border-collapse: collapse; max-width: 100%; }
.pkp_structure_main table td,
.pkp_structure_main table th {
  padding: .5rem .65rem;
  border: 1px solid var(--sus-line);
  vertical-align: top;
}

/* dokumen kebijakan (opsional): bungkus isi halaman dengan <div class="sus-doc"> */
.sus-doc { font-size: 15.5px; line-height: 1.7; }
.sus-doc h3 {
  margin: 1.6em 0 .5em;
  padding-bottom: .3em;
  border-bottom: 2px solid var(--sus-line);
  color: var(--sus-gd);
}
.sus-tbl { width: 100%; margin: .6em 0 1em; border-collapse: collapse; font-size: .95em; }
.sus-tbl th { width: 42%; background: var(--sus-soft); color: var(--sus-gd); font-weight: 600; text-align: left; }

/* --------------------------------------------------------------------------
   7. BERANDA: HERO, KARTU, PANEL, TABEL IDENTITAS
   (HTML-nya ada di file beranda-journal-summary.html)
   -------------------------------------------------------------------------- */

/* sembunyikan judul "About the Journal" secara visual bila hero dipakai */
.homepage_about:has(.sus-hero) > h2 {
  position: absolute !important;
  left: -9999px;
}

.homepage_about,
.current_issue,
.additional_content { margin-bottom: 2rem; }

.sus-hero {
  position: relative;
  margin: 0 0 1.4rem;
  padding: 2rem 1.8rem;
  border: 1px solid rgba(182, 232, 106, .35);
  border-radius: 10px;
  background: var(--sus-hero);
  color: #e3f4d3;
  box-shadow: var(--sus-shadow-lift);
}
.sus-hero .sus-label {
  display: inline-block;
  margin-bottom: .9rem;
  padding: .28rem .8rem;
  border: 1px solid rgba(182, 232, 106, .6);
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  color: var(--sus-lime2);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sus-hero .sus-hero-title,
.sus-hero h2 {
  margin: 0 0 .6rem;
  padding: 0;
  border: 0;
  color: #FFFFFF;
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1.25;
}
.sus-hero p { margin: 0 0 1.2rem; color: #dcf0cb; line-height: 1.65; }
.sus-hero .sus-hero-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }

.sus-hbtn {
  display: inline-block;
  padding: .6rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 6px;
  color: #FFFFFF !important;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none !important;
}
.sus-hbtn:hover, .sus-hbtn:focus { background: rgba(255, 255, 255, .12); }
.sus-hbtn.sus-hbtn-primary {
  border-color: var(--sus-lime2);
  background: var(--sus-lime2);
  color: #145c2b !important;
}
.sus-hbtn.sus-hbtn-primary:hover { background: #FFFFFF; border-color: #FFFFFF; }

/* kartu informasi 01–04 */
.sus-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 1.4rem;
}
.sus-card {
  position: relative;
  overflow: hidden;
  padding: 1.25rem 1.1rem 1rem;
  border: 1px solid var(--sus-line);
  border-radius: var(--sus-radius);
  background: #FFFFFF;
  box-shadow: var(--sus-shadow);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.sus-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--sus-g), var(--sus-lime));
}
.sus-card:hover { border-color: var(--sus-lime); box-shadow: var(--sus-shadow-lift); }
.sus-card .sus-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: .55rem;
  border-radius: 8px;
  background: var(--sus-cream);
  color: var(--sus-g);
  font-size: .85rem;
  font-weight: 800;
}
.sus-card h3 { margin: 0 0 .35rem; color: var(--sus-gd); font-size: 1.02rem; font-weight: 800; }
.sus-card p { margin: 0; color: var(--sus-muted); font-size: .9rem; line-height: 1.55; }

/* panel */
.sus-panel {
  margin: 0 0 1.4rem;
  padding: 1.3rem 1.4rem;
  border: 1px solid var(--sus-line);
  border-radius: var(--sus-radius);
  background: #FFFFFF;
}
.sus-panel h3 {
  margin: 0 0 .7rem;
  padding-bottom: .4rem;
  border-bottom: 2px solid var(--sus-lime);
  color: var(--sus-gd);
  font-size: 1.1rem;
  font-weight: 800;
}
.sus-panel p { line-height: 1.7; text-align: justify; }
.sus-panel .sus-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; text-align: left; }

/* tombol umum hijau */
.sus-btn {
  display: inline-block;
  padding: .6rem 1.1rem;
  border: 1px solid var(--sus-g);
  border-radius: 6px;
  background: var(--sus-g);
  color: #FFFFFF !important;
  font-size: .9rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
}
.sus-btn:hover, .sus-btn:focus { background: var(--sus-g2); border-color: var(--sus-g2); }
.sus-btn.sus-out { background: #FFFFFF; color: var(--sus-g) !important; }
.sus-btn.sus-out:hover, .sus-btn.sus-out:focus { background: var(--sus-g); color: #FFFFFF !important; }
.sus-btn.sus-block { display: block; width: 100%; margin: 0 0 .5rem; }

/* tabel identitas jurnal */
table.sus-id {
  width: 100%;
  margin: 0 0 1.4rem;
  border-collapse: collapse;
  font-size: .93rem;
}
table.sus-id caption {
  margin-bottom: .6rem;
  padding-bottom: .4rem;
  border-bottom: 2px solid var(--sus-lime);
  color: var(--sus-gd);
  font-size: 1.1rem;
  font-weight: 800;
  text-align: left;
}
table.sus-id th,
table.sus-id td {
  padding: .6rem .8rem;
  border: 0;
  border-bottom: 1px solid var(--sus-line);
  text-align: left;
  vertical-align: top;
}
table.sus-id th {
  width: 32%;
  background: var(--sus-soft);
  color: var(--sus-gd);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   8. EDISI TERKINI & DAFTAR ARTIKEL
   -------------------------------------------------------------------------- */
.current_issue > h2,
.homepage_about > h2,
.additional_content > h2,
.obj_issue_toc .sections h2,
.obj_issue_toc .section > h2 {
  padding-bottom: .4rem;
  border-bottom: 2px solid var(--sus-lime);
  color: var(--sus-gd);
  font-size: 1.15rem;
  font-weight: 800;
}

.current_issue_title {
  margin: .6rem 0 1rem;
  padding: .7rem .9rem;
  border: 1px solid var(--sus-line);
  border-left: 4px solid var(--sus-g2);
  border-radius: 6px;
  background: var(--sus-soft);
  color: var(--sus-gd);
  font-weight: 700;
}

.obj_issue_toc .published { color: var(--sus-muted); font-size: .88rem; }

.obj_article_summary {
  padding: 1rem 0;
  border-bottom: 1px dashed var(--sus-line);
}
.obj_article_summary:last-child { border-bottom: 0; }
.obj_article_summary .title a {
  color: var(--sus-g);
  font-weight: 700;
  text-decoration: none;
}
.obj_article_summary .title a:hover { color: var(--sus-g2); text-decoration: underline; }
.obj_article_summary .meta { color: var(--sus-muted); }

.obj_galley_link {
  display: inline-block;
  padding: .2rem .9rem;
  border: 1px solid var(--sus-g) !important;
  border-radius: 999px;
  background: #FFFFFF;
  color: var(--sus-g) !important;
  font-size: .82rem;
  font-weight: 700;
}
.obj_galley_link:hover,
.obj_galley_link:focus { background: var(--sus-g) !important; color: #FFFFFF !important; }

.cmp_button,
.cmp_form .buttons button,
.pkp_button_primary,
.block_make_submission a,
a.read_more {
  border: 1px solid var(--sus-g) !important;
  border-radius: 6px;
  background: var(--sus-g) !important;
  color: #FFFFFF !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}
.cmp_button:hover,
.cmp_form .buttons button:hover,
.pkp_button_primary:hover,
.block_make_submission a:hover,
a.read_more:hover {
  border-color: var(--sus-g2) !important;
  background: var(--sus-g2) !important;
}
a.read_more {
  display: inline-block;
  margin-top: .8rem;
  padding: .5rem 1rem;
}

/* --------------------------------------------------------------------------
   9. SIDEBAR
   -------------------------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block {
  margin: 0 0 1.4rem;
  padding: 0 !important;
  border: 1px solid var(--sus-line);
  border-radius: 6px;
  background: #FFFFFF;
  overflow: hidden;
  font-size: .93rem;
  line-height: 1.5;
}

/* judul blok bawaan OJS & judul di dalam custom block (.sus-title) */
.pkp_structure_sidebar .pkp_block .title,
.pkp_block .sus-title {
  display: block;
  margin: 0;
  padding: .6rem .8rem;
  border-left: 4px solid var(--sus-lime);
  background: var(--sus-g);
  color: #FFFFFF;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.pkp_structure_sidebar .pkp_block .content { padding: .9rem; }
.pkp_structure_sidebar .pkp_block > .title + .content { padding-top: .9rem; }

/* .sus-title di dalam .content dibuat menempel penuh ke tepi blok */
.pkp_block .content > .sus-title { margin: 1rem -.9rem .8rem; }
.pkp_block .content > .sus-title:first-child { margin-top: -.9rem; }

/* blok tanpa judul tampak (custom block) tetap ber-padding */
.pkp_structure_sidebar .pkp_block > .content > p:last-child { margin-bottom: 0; }

/* daftar menu bergaya tombol (semua <ul> di custom block + .sus-menu) */
.pkp_structure_sidebar .block_custom .content ul,
ul.sus-menu {
  display: grid;
  gap: .45rem;
  margin: 0 0 .9rem;
  padding: 0;
  list-style: none;
}
.pkp_structure_sidebar .block_custom .content ul li,
ul.sus-menu li { margin: 0; padding: 0; }

.pkp_structure_sidebar .block_custom .content ul a,
ul.sus-menu a {
  position: relative;
  display: block;
  padding: .7rem 2.1rem .7rem 1rem;
  border-left: 4px solid var(--sus-g2);
  border-radius: 8px;
  background: linear-gradient(90deg, #eaf6dc 0%, #f7fbf1 100%);
  color: var(--sus-gd) !important;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.pkp_structure_sidebar .block_custom .content ul a::after,
ul.sus-menu a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--sus-g2);
  border-right: 2px solid var(--sus-g2);
  transform: translateY(-50%) rotate(45deg);
}
.pkp_structure_sidebar .block_custom .content ul a:hover,
.pkp_structure_sidebar .block_custom .content ul a:focus,
ul.sus-menu a:hover,
ul.sus-menu a:focus {
  border-left-color: var(--sus-lime);
  background: var(--sus-g2);
  color: #FFFFFF !important;
}
.pkp_structure_sidebar .block_custom .content ul a:hover::after,
.pkp_structure_sidebar .block_custom .content ul a:focus::after,
ul.sus-menu a:hover::after,
ul.sus-menu a:focus::after { border-color: #e3f9b8; }

/* grid logo indeksasi */
.sus-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin: 0 0 .7rem;
}
.sus-logos a,
.sus-logos span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: .45rem;
  border: 1px solid var(--sus-line);
  border-radius: 6px;
  background: #FFFFFF;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.sus-logos a:hover { border-color: var(--sus-lime); box-shadow: var(--sus-shadow); }
.sus-logos img { display: block; max-height: 40px; width: auto; }
.sus-logos .sus-wide { grid-column: 1 / -1; }
.sus-more { margin: 0; text-align: right; font-size: .85rem; }
.sus-more a { font-weight: 700; text-decoration: none; }

.sus-center { text-align: center; }
.sus-small { font-size: .85rem; color: var(--sus-muted); }

/* blok bahasa bawaan OJS */
.block_language .content ul {
  display: flex;
  gap: .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.block_language .content li { flex: 1; margin: 0; }
.block_language .content li a {
  display: block;
  padding: .45rem;
  border: 1px solid var(--sus-line);
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
}
.block_language .content li.current a,
.block_language .content li a:hover { background: var(--sus-g); border-color: var(--sus-g); color: #FFFFFF; }

/* --------------------------------------------------------------------------
   10. EDITORIAL TEAM — kompatibel dengan HTML yang dibuat sebelumnya
   -------------------------------------------------------------------------- */
.sus-team-intro {
  margin: 0 0 1.6rem;
  padding: 1.3rem 1.4rem;
  border-radius: 10px;
  background: var(--sus-hero);
  color: #dcf0cb;
}
.sus-team-intro .sus-eyebrow {
  display: inline-block;
  margin-bottom: .7rem;
  padding: .25rem .75rem;
  border: 1px solid rgba(182, 232, 106, .6);
  border-radius: 999px;
  color: var(--sus-lime2);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sus-team-intro p { margin: 0 0 .6em; line-height: 1.65; }
.sus-team-intro p:last-child { margin-bottom: 0; }
.sus-team-intro strong { color: #FFFFFF; }

.sus-team-section { margin: 0 0 1.6rem; }
.sus-team-section > h3 {
  margin: 0 0 .8rem;
  padding: .55rem .8rem;
  border-left: 4px solid var(--sus-lime);
  background: var(--sus-g);
  color: #FFFFFF;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sus-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: .8rem;
}
.sus-member {
  padding: .9rem 1rem;
  border: 1px solid var(--sus-line);
  border-left: 4px solid var(--sus-g2);
  border-radius: 8px;
  background: linear-gradient(90deg, #f3f9ec 0%, #FFFFFF 70%);
}
.sus-member:hover { border-left-color: var(--sus-lime); box-shadow: var(--sus-shadow); }
.sus-member .sus-name { margin: 0 0 .2rem; color: var(--sus-gd); font-weight: 800; line-height: 1.35; }
.sus-member .sus-aff { margin: 0 0 .55rem; color: var(--sus-muted); font-size: .87rem; line-height: 1.45; }
.sus-member .sus-links { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.sus-badge {
  display: inline-block;
  padding: .15rem .6rem;
  border: 1px solid var(--sus-line);
  border-radius: 999px;
  background: #FFFFFF;
  color: var(--sus-g) !important;
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none !important;
}
.sus-badge:hover { background: var(--sus-g); border-color: var(--sus-g); color: #FFFFFF !important; }

/* --------------------------------------------------------------------------
   11. FOOTER
   -------------------------------------------------------------------------- */
.pkp_structure_footer_wrapper {
  border-top: 4px solid var(--sus-lime);
  background: var(--sus-gd) !important;
  color: #dcebd0;
}
.pkp_structure_footer {
  width: 100% !important;
  padding: 0 !important;
  text-align: left;
}
.pkp_footer_content { padding: 2rem 1.5rem !important; line-height: 1.65; }
.pkp_footer_content a,
.pkp_structure_footer a { color: var(--sus-lime2); }
.pkp_footer_content a:hover { color: #FFFFFF; }
.pkp_footer_content h3,
.pkp_footer_content h4,
.pkp_footer_content strong { color: #FFFFFF; }

.pkp_brand_footer {
  padding: 1rem 1.5rem !important;
  border-top: 1px solid rgba(255, 255, 255, .1);
  background: var(--sus-gd);
  text-align: center;
}
.pkp_brand_footer img {
  max-width: 120px;
  filter: brightness(0) invert(1);
  opacity: .6;
}

/* kolom footer (HTML di footer.html) */
.sus-foot {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 1.6rem;
}
.sus-foot h4 {
  margin: 0 0 .6rem;
  padding-bottom: .35rem;
  border-bottom: 2px solid var(--sus-lime);
  color: #FFFFFF;
  font-size: .9rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sus-foot p { margin: 0 0 .5rem; font-size: .9rem; }
.sus-foot ul { margin: 0; padding: 0; list-style: none; font-size: .9rem; }
.sus-foot li { padding: .15rem 0; }

/* --------------------------------------------------------------------------
   12. RESPONSIF KONTEN
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .sus-foot { grid-template-columns: 1fr; gap: 1.2rem; }
  .pkp_structure_main table { display: block; overflow-x: auto; }
}

@media (max-width: 600px) {
  .sus-hero { padding: 1.4rem 1.1rem; }
  .sus-hero .sus-hero-title, .sus-hero h2 { font-size: 1.3rem; }
  .sus-hbtn { flex: 1 1 100%; text-align: center; }
  .sus-cards { grid-template-columns: 1fr; }
  .sus-panel { padding: 1.1rem; }
  .sus-panel p { text-align: left; }
  table.sus-id th { width: 40%; }
  table.sus-id th, table.sus-id td { padding: .5rem .55rem; }
  .sus-doc { font-size: 16px; }
  .sus-tbl th { width: 48%; }
  .pkp_structure_sidebar .pkp_block .title, .pkp_block .sus-title { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

@media print {
  body { background: #FFFFFF; }
  .pkp_structure_head, .pkp_structure_sidebar, .pkp_structure_footer_wrapper { display: none; }
  .pkp_structure_page { width: 100%; margin: 0; box-shadow: none; }
}
