/* =====================================================================
   IslamicEdu Management Journal (ISSN 3063-5888) — tema hijau tua
   Stylesheet kustom untuk tema "Default" OJS 3.3 / 3.4
   Pasang di: Pengaturan > Situs Web > Tampilan > Lanjutan > Stylesheet Jurnal
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400&display=swap');

:root {
  --fh-green: #14532d;       /* hijau tua: bilah menu & blok sidebar */
  --fh-green-dark: #0b3b22;  /* hijau lebih gelap: hover & bilah bawah */
  --fh-green-line: #2e6b47;   /* garis pemisah menu sidebar */
  --fh-gold: #ffd400;        /* aksen emas dari banner */
  --fh-maroon: #9a7412;      /* aksen emas tua (alamat, footer), pengganti maroon */
  --fh-ink: #262626;
  --fh-muted: #5c5c66;
  --fh-paper: rgba(255, 255, 255, 0.82);
  --fh-font: 'Noto Serif', Georgia, 'Times New Roman', serif;
}

/* ---------- Latar halaman bermotif ---------- */
body {
  font-family: var(--fh-font);
  color: var(--fh-ink);
  background-color: #f1f4f2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='64' viewBox='0 0 48 64'%3E%3Cg fill='none' stroke='%23d3dfd7' stroke-width='1.2'%3E%3Cpath d='M24 0C40 16 40 48 24 64C8 48 8 16 24 0Z'/%3E%3Cpath d='M0 -32C16 -16 16 16 0 32C-16 16 -16 -16 0 -32Z'/%3E%3Cpath d='M48 -32C64 -16 64 16 48 32C32 16 32 -16 48 -32Z'/%3E%3Cpath d='M0 32C16 48 16 80 0 96C-16 80 -16 48 0 32Z'/%3E%3Cpath d='M48 32C64 48 64 80 48 96C32 80 32 48 48 32Z'/%3E%3Ccircle cx='24' cy='32' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
}

.pkp_structure_page {
  max-width: 1200px;
  margin: 0 auto;
  background: transparent;
  box-shadow: 0 0 0 1px rgba(20, 83, 45, 0.08);
}

/* ---------- Header: banner penuh ---------- */
.pkp_structure_head {
  background: none;
  border-bottom: 0;
}
.pkp_head_wrapper {
  position: relative;
  width: 100%;
  max-width: none;
  padding: 0;
}
.pkp_site_name_wrapper {
  height: auto;
  padding: 0;
  margin: 0;
}
.pkp_site_name {
  padding: 0;
  margin: 0;
  width: 100%;
}
.pkp_site_name .is_img {
  display: block;
  margin: 0;
}
.pkp_site_name .is_img img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: none;
  height: auto;
}

/* ---------- Menu utama (bilah biru tua) ---------- */
.pkp_navigation_primary_row {
  background: var(--fh-green);
  padding: 0;
}
.pkp_navigation_primary_wrapper {
  width: 100%;
  max-width: none;
  padding: 0 0.5rem;
}
.pkp_navigation_primary > li > a {
  color: #fff;
  font-family: var(--fh-font);
  font-size: 1.05rem;
  font-weight: 700;
  padding: 0.95rem 1rem;
  margin: 0;
  border-bottom: 3px solid transparent;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: var(--fh-gold);
  background: var(--fh-green-dark);
  border-bottom-color: var(--fh-gold);
  text-decoration: none;
}
.pkp_navigation_primary ul {          /* sub-menu */
  background: var(--fh-green-dark);
  border-radius: 0 0 4px 4px;
}
.pkp_navigation_primary ul a {
  color: #fff;
  border-left: 3px solid transparent;
}
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  color: var(--fh-gold);
  border-left-color: var(--fh-gold);
  background: rgba(255, 255, 255, 0.06);
}
.pkp_navigation_search_wrapper a {
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  border-bottom: 3px solid transparent;
}
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
  color: var(--fh-gold);
  border-bottom-color: var(--fh-gold);
}

/* Menu pengguna (Daftar / Masuk / Dasbor) di pojok kanan atas banner */
@media (min-width: 992px) {
  .pkp_navigation_user_wrapper {
    top: 0.6rem;
    right: 0.8rem;
    padding: 0;
  }
  .pkp_navigation_user > li > a {
    color: #fff;
    background: rgba(5, 40, 20, 0.55);
    padding: 0.25rem 0.7rem;
    border-radius: 3px;
    margin-left: 0.3rem;
  }
  .pkp_navigation_user > li > a:hover,
  .pkp_navigation_user > li > a:focus {
    color: var(--fh-green-dark);
    background: var(--fh-gold);
  }
}

/* Tampilan HP: tombol menu */
@media (max-width: 991px) {
  .pkp_site_nav_toggle {
    background: var(--fh-green);
    color: #fff;
  }
  .pkp_site_nav_menu {
    background: var(--fh-green);
  }
  .pkp_navigation_primary > li > a {
    padding: 0.7rem 1rem;
  }
}

/* ---------- Area isi & sidebar ---------- */
.pkp_structure_content {
  background: var(--fh-paper);
  padding-top: 1.5rem;
}
.pkp_structure_main {
  font-size: 1.02rem;
  line-height: 1.85;
}
.pkp_structure_main p {
  text-align: justify;
  hyphens: auto;
}
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
  font-family: var(--fh-font);
  color: var(--fh-ink);
  font-weight: 700;
}
.pkp_structure_main a {
  color: var(--fh-green);
}
.pkp_structure_main a:hover {
  color: var(--fh-maroon);
}
.pkp_structure_main::before,
.pkp_structure_main::after {
  background: rgba(20, 83, 45, 0.1);   /* garis pemisah tipis isi/sidebar */
}

/* Blok sidebar: judul berupa bilah biru tua */
.pkp_structure_sidebar .pkp_block {
  padding: 0 0 1.4rem;
  margin: 0;
}
.pkp_structure_sidebar .pkp_block .title {
  display: block;
  background: var(--fh-green);
  color: #fff;
  text-align: center;
  font-family: var(--fh-font);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
  margin: 0 0 0.9rem;
}
.pkp_structure_sidebar .pkp_block .content {
  padding: 0;
}

/* ---------- Komponen Custom Block ---------- */

/* Menu navigasi bertumpuk (Dewan Redaksi, Fokus & Ruang Lingkup, dst.) */
.fh-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fh-menu li {
  margin: 0;
  border-bottom: 2px solid #fff;
}
.fh-menu a {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  background: var(--fh-green);
  color: #fff;
  font-family: var(--fh-font);
  font-size: 1.02rem;
  font-weight: 700;
  padding: 0.8rem 1.1rem;
  text-decoration: none;
  border-left: 4px solid transparent;
  transition: background-color 0.15s, border-color 0.15s;
}
.fh-menu a::before {
  font-family: FontAwesome;
  font-weight: normal;
  width: 1.2em;
  text-align: center;
  font-size: 1.1em;
  content: "\f105";             /* ikon cadangan: panah */
}
.fh-menu a[href$="/editorial-team"]::before { content: "\f0c0"; }
.fh-menu a[href$="/reviewers"]::before { content: "\f192"; }
.fh-menu a[href$="/focus-scope"]::before { content: "\f02d"; }
.fh-menu a[href$="/peer-review"]::before { content: "\f002"; }
.fh-menu a[href$="/author-guidelines"]::before { content: "\f044"; }
.fh-menu a[href$="/about/submissions"]::before { content: "\f1d8"; }
.fh-menu a[href$="/publication-ethics"]::before { content: "\f24e"; }
.fh-menu a[href$="/open-access"]::before { content: "\f13e"; }
.fh-menu a[href$="/indexing"]::before { content: "\f1c0"; }
.fh-menu a[href$="/copyright"]::before { content: "\f1f9"; }
.fh-menu a[href$="/apc"]::before { content: "\f0d6"; }
.fh-menu a[href$="/ai-policy"]::before { content: "\f2db"; }
.fh-menu a[href$="/contact-us"]::before { content: "\f0e0"; }
.fh-menu a:hover,
.fh-menu a:focus {
  background: var(--fh-green-dark);
  border-left-color: var(--fh-gold);
  color: var(--fh-gold);
  text-decoration: none;
}

/* Unduhan template */
.fh-template {
  display: flex;
  justify-content: space-around;
  gap: 0.5rem;
  text-align: center;
}
.fh-template a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  color: var(--fh-green);
  font-size: 0.8rem;
  line-height: 1.3;
  text-decoration: none;
}
.fh-template a::before {
  content: "\f1c2";
  font-family: FontAwesome;
  font-size: 2.2rem;
  color: #fff;
  background: #1f6b3f;
  width: 4.2rem;
  height: 4.2rem;
  line-height: 4.2rem;
  border-radius: 50%;
}
.fh-template strong {
  font-size: 0.95rem;
  color: var(--fh-ink);
}
.fh-template a:hover::before,
.fh-template a:focus::before {
  background: var(--fh-green-dark);
}

/* Logo pengindeks */
.fh-index {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
}
.fh-index img {
  max-width: 100%;
  height: auto;
}

/* ---------- Konten beranda ---------- */
.fh-about h2 {
  font-size: 1.6rem;
  margin: 0 0 1.4rem;
}
.fh-about .fh-cover {
  float: left;
  width: 170px;
  margin: 0.3rem 1.4rem 0.8rem 0;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.fh-about .fh-issn {
  color: var(--fh-green);
  font-weight: 700;
  line-height: 1.7;
  margin: 0 0 1rem;
}
.fh-about .fh-name {
  color: var(--fh-green);
  font-weight: 700;
}
.fh-about::after {
  content: "";
  display: table;
  clear: both;
}
.fh-address {
  border-left: 5px solid var(--fh-green);
  background: #fff;
  border-radius: 0 6px 6px 0;
  padding: 1rem 1.3rem;
  margin: 1.5rem 0;
  box-shadow: 0 1px 3px rgba(20, 83, 45, 0.12);
}
.fh-address h3 {
  color: var(--fh-maroon);
  font-size: 0.95rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 0.6rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eee;
}
.fh-address p {
  margin: 0;
  font-weight: 700;
  text-align: left !important;
}
.fh-scope li {
  margin-bottom: 0.6rem;
  text-align: justify;
}

/* ---------- Halaman kustom (Dewan Redaksi, Etika, dst.) ---------- */
.fh-page h2 {
  font-size: 1.6rem;
  margin: 0 0 1.2rem;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid var(--fh-green);
}
.fh-page h3 {
  color: var(--fh-green);
  font-size: 1.15rem;
  margin: 1.8rem 0 0.8rem;
}
.fh-page li {
  margin-bottom: 0.45rem;
}
.fh-team {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.9rem;
}
.fh-person {
  background: #fff;
  border: 1px solid #dde7e0;
  border-top: 4px solid var(--fh-green);
  border-radius: 4px;
  padding: 0.9rem 1rem;
}
.fh-person p {
  margin: 0;
  text-align: left !important;
  line-height: 1.5;
}
.fh-person .fh-pname {
  font-weight: 700;
  color: var(--fh-ink);
}
.fh-person .fh-pinst {
  font-size: 0.9rem;
  color: var(--fh-muted);
  margin-top: 0.3rem;
}
.fh-person .fh-ids {
  margin-top: 0.6rem;
  font-size: 0.8rem;
}
.fh-person .fh-ids a {
  display: inline-block;
  margin: 0 0.25rem 0.25rem 0;
  padding: 0.1rem 0.5rem;
  border: 1px solid var(--fh-green);
  border-radius: 3px;
  text-decoration: none;
}
.fh-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}
.fh-table th {
  background: var(--fh-green);
  color: #fff;
  text-align: left;
  padding: 0.6rem 0.9rem;
}
.fh-table td {
  border-bottom: 1px solid #dde7e0;
  padding: 0.6rem 0.9rem;
  background: #fff;
}
.fh-note {
  background: #fff8d6;
  border-left: 5px solid var(--fh-gold);
  padding: 0.8rem 1.1rem;
  margin: 1.2rem 0;
}
.fh-note p { margin: 0; }
.fh-cta a {
  display: inline-block;
  background: var(--fh-green);
  color: #fff !important;
  font-weight: 700;
  padding: 0.6rem 1.3rem;
  border-radius: 3px;
  text-decoration: none;
}
.fh-cta a:hover, .fh-cta a:focus {
  background: var(--fh-green-dark);
  color: var(--fh-gold) !important;
}

/* ---------- Pengumuman & Terbitan Terkini ---------- */
.cmp_announcements .obj_announcement_summary h2 a,
.cmp_announcements .obj_announcement_summary h3 a {
  color: var(--fh-green);
  font-weight: 700;
}
.obj_announcement_summary .date {
  color: var(--fh-muted);
}
.obj_announcement_summary .read_more {
  color: #1f7a3c;
  font-weight: 700;
}

.obj_issue_toc .heading .pub_id,
.obj_issue_toc .heading .published {
  font-size: 1rem;
}
.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 {
  border-bottom: 2px solid var(--fh-green);
  padding-bottom: 0.3rem;
  color: var(--fh-green);
}
.obj_article_summary {
  padding-bottom: 1.2rem;
  border-bottom: 1px dashed #d2ded6;
}
.obj_article_summary > .title a {
  text-decoration: none;
  color: var(--fh-green);
  font-weight: 700;
  font-size: 1.15rem;
  line-height: 1.45;
}
.obj_article_summary > .title a:hover {
  color: var(--fh-maroon);
}
.obj_article_summary .meta .authors {
  color: var(--fh-ink);
}
.obj_article_summary .meta .pages {
  display: inline-block;
  background: var(--fh-green);
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.25rem 0.9rem;
  border-radius: 999px;
  margin-top: 0.3rem;
}

/* Tombol galley (PDF, dll.) */
.obj_galley_link {
  background: var(--fh-green);
  color: #fff !important;
  border: 0;
  border-radius: 3px;
  font-family: var(--fh-font);
  font-weight: 700;
}
.obj_galley_link:hover,
.obj_galley_link:focus {
  background: var(--fh-green-dark);
  color: var(--fh-gold) !important;
}
.obj_galley_link.pdf::before {
  color: inherit;
}

/* Tombol umum OJS */
.cmp_button,
.pkp_button,
.cmp_form .buttons button {
  background: var(--fh-green);
  border-color: var(--fh-green-dark);
  color: #fff;
}

/* ---------- Footer ---------- */
.pkp_structure_footer_wrapper {
  background: var(--fh-paper);
  border-top: 4px solid var(--fh-green);
}
.pkp_structure_footer {
  padding: 0;
}
.pkp_footer_content {
  padding: 2rem 2rem 0;
}
.fh-footer {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.2fr;
  gap: 2rem;
  font-size: 0.95rem;
  line-height: 1.75;
}
.fh-footer h4 {
  color: var(--fh-green);
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-left: 5px solid var(--fh-maroon);
  padding-left: 0.6rem;
  margin: 0 0 0.9rem;
}
.fh-footer p {
  color: var(--fh-muted);
  text-align: left;
  margin: 0 0 0.6rem;
}
.fh-footer a {
  color: var(--fh-green);
  font-weight: 700;
}
.fh-footer .fh-partners {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}
.fh-footer .fh-partners img {
  max-height: 64px;
  width: auto;
}
.fh-bottombar {
  background: var(--fh-green);
  color: #fff;
  text-align: center;
  padding: 0.85rem 1rem;
  margin: 1.8rem -2rem 0;
  font-size: 0.95rem;
}
.pkp_brand_footer {
  padding: 0.8rem 2rem;
  background: var(--fh-green-dark);
}

@media (max-width: 767px) {
  .fh-footer {
    grid-template-columns: 1fr;
  }
  .fh-about .fh-cover {
    float: none;
    display: block;
    margin: 0 auto 1rem;
  }
}

/* ---------- Aksesibilitas ---------- */
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--fh-gold);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .fh-menu a { transition: none; }
}
