@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@100;200;300;400;500;600;700&display=swap');

:root {
  --font: "IBM Plex Sans Arabic", sans-serif;
  --brand: #7f2434;       /* the journal maroon — dark enough for white text (9.5:1) */
  --brand-light: #aa3c50;
  --brand-dark: #5c1926;
  --brand-ink: #7f2434;   /* brand doubles as ink here: 9.5:1 as text on white */
  --brand-text: #ffffff;  /* text on --brand / --brand-dark fills */
}

body[dir="rtl"] {
  font-family: var(--font);
  font-weight: 400;
  font-style: normal;
}
body[dir="rtl"] .pkp_navigation_primary ul {
  right: auto;
}

body[dir="rtl"] .pkp_navigation_user ul {
  right: auto;
}
#navigationPrimary a,.cmp_breadcrumbs{
  font-family: var(--font);
  font-weight: 400;
  font-style: normal;
}
.obj_article_summary>.title{
  font-family: var(--font);
  font-weight: bold;
  font-style: normal;
}
.pkp_structure_main h2,.current_issue_title,.pkp_block .title,.obj_article_details .main_entry .item .label{
  font-family: var(--font);
  font-weight: 600;
  font-style: normal;
}
@media (min-width: 992px) {
  body[dir="rtl"] .pkp_navigation_user_wrapper {
        right: auto;
        /* left: 0;
        top: 25px;
    width: 25%;
    padding-left: 30px; */
  }
  body[dir="rtl"] .pkp_structure_sidebar:before {
    content: "";
    top: 0;
    left: 0;
    right: initial;
    bottom: 0;
    width: 300px;
    border-right: 1px solid #ddd;
  }
  body[dir="rtl"] .obj_article_details .main_entry {
    float: right;
  }
}
.pkp_site_name_wrapper,#navigationPrimary a:hover, #navigationPrimary a:focus,#navigationPrimary ul{
  background-color: var(--brand);
  color: var(--brand-text);
}

/* The rule above fills the "About" submenu with the brand colour, but the theme
   only paints TOP-LEVEL nav links white (.pkp_navigation_primary>li>a), so the
   submenu links kept the default link blue: 1.5:1 on maroon, unreadable.
   Hover needs its own fill too -- the generic hover above is the same colour as
   the submenu itself, so it read as no hover at all. */
#navigationPrimary ul a {
  color: var(--brand-text);
}
#navigationPrimary ul a:hover,
#navigationPrimary ul a:focus {
  background-color: var(--brand-dark);
  color: var(--brand-text);
}
/* Menu Tambahan Kanan by ade@htp.ac.id */
.hoverTable {
  width: 100%;
  border-collapse: collapse;
}
.hoverTable th {
  height: 30px;
  background: #ffffff;
  color: var(--brand-ink);
}
.hoverTable td {
  height: 30px;
  padding-top: 3px;
  vertical-align: middle;
  border-bottom: 1px solid #ffffff;
  text-align: center;
}
.hoverTable td a {
  width: 100%;
  display: block;
}
/* warna latar setiap baris tabel dan warna tulisan */
.hoverTable tr {
  background: var(--brand-light);
  color: var(--brand-text);
}
/* warna ketika dilewati mouse */
.hoverTable tr:hover {
  background-color: var(--brand-dark);
}
.hoverTable a {
  color: var(--brand-text);
}
/* .hoverTable a:hover {
  color: black;
} */

.pkp_site_name .is_img img {
  max-height: 200px;
}
.pkp_site_name {
  text-align: center;
}
.data {
  background-color: #f0f0f0;
}
.wasit-table {
  width: 100%;
  border-collapse: collapse;
}
.wasit-table th, .wasit-table td {
  border: 1px solid #ddd;
  padding: 8px;
}
.wasit-table tr:nth-child(even) {
  background-color: #f2f2f2;
}
.wasit-table tr:hover {
  background-color: #ddd;
}
.wasit-table th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  background-color: #4CAF50;
  color: white;
}
.orcid-logo {
  width: 20px;
  vertical-align: middle;
}
.orc-font-body-large {
  font-size: 1.2em;
}
/* Galleys: the theme sets "flex-flow: row nowrap", so an article with several
   PDFs squeezes every button onto one line. In the article sidebar the theme
   already styles the <li> as blocks -- un-flex the list and they stack. In
   issue/search listings, let the buttons wrap onto more lines. */
.obj_article_details .entry_details .galleys_links {
  display: block;
}
.obj_article_details .entry_details .galleys_links > li {
  margin-inline-end: 0;
}
.obj_article_summary .galleys_links,
.obj_issue_toc .galleys_links {
  flex-wrap: wrap;
  row-gap: 0.5rem;
}
.obj_galley_link {
  white-space: nowrap;
}

/* ===== Editorial board page (editor.html) =====
   ponytail: every selector stands alone — OJS strips the outer wrapper div,
   so nothing here may depend on an .eb ancestor.
   No font-family here on purpose: body[dir="rtl"] already sets the Arabic
   face, and English pages keep the theme font. */
.eb-header,
.eb-section,
.eb-grid { max-width: 980px; }
.eb-header,
.eb-section-title,
.eb-card { box-sizing: border-box; color: #222; line-height: 1.6; }
.eb-card * { box-sizing: border-box; }

.eb-header {
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 55%, var(--brand-light) 100%);
  border-radius: 8px;
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
  color: var(--brand-text);
}
.eb-header h2 { color: var(--brand-text); font-size: 1.5rem; margin: 0 0 .5rem; }
.eb-header p { color: rgba(255,255,255,.9); font-size: .88rem; margin: 0 0 .4rem; max-width: 640px; }

.eb-section { margin-bottom: 2rem; }
.eb-section-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--brand-ink);
  background: #fdf4f6;
  border-left: 4px solid var(--brand);
  border-radius: 0 5px 5px 0;
  padding: .5rem 1rem;
  margin-bottom: 1rem;
}
body[dir="rtl"] .eb-section-title {
  border-left: 0;
  border-right: 4px solid var(--brand);
  border-radius: 5px 0 0 5px;
}

.eb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.eb-card {
  background: #ffffff;
  border: 1px solid #f0d8dd;
  border-top: 4px solid var(--brand);
  border-radius: 8px;
  padding: 1.1rem 1.2rem;
}
.eb-card:hover { border-color: var(--brand); background: #fefafb; }
.eb-card-lead { max-width: 620px; }

.eb-head { display: flex; align-items: flex-start; gap: .9rem; }
.eb-photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #f0d8dd;
  background: #fdf4f6;
}
.eb-card-lead .eb-photo { width: 72px; height: 72px; }
.eb-info { flex: 1; min-width: 0; }

.eb-role {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--brand-ink);
  margin-bottom: 2px;
}
.eb-name { font-size: 1rem; font-weight: 700; color: #111; margin-bottom: 3px; }
.eb-name a { color: #111; text-decoration: none; }
.eb-name a:hover { color: var(--brand-ink); text-decoration: underline; }
.eb-affil { font-size: .82rem; color: #555; }
.eb-flag {
  width: 20px;
  height: 15px;
  object-fit: cover;
  border: 1px solid #f0d8dd;
  border-radius: 2px;
  vertical-align: -2px;
  margin-right: .4rem;
}
body[dir="rtl"] .eb-flag { margin-right: 0; margin-left: .4rem; }
.eb-country { color: #777; font-size: .76rem; }

.eb-links { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.eb-link,
.jinfo-link {
  display: inline-block;
  padding: .35rem .85rem;
  border: 1px solid #e6c4cb;
  border-radius: 20px;
  background: #ffffff;
  color: var(--brand-ink);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  word-break: break-all;
}
.eb-link:hover,
.jinfo-link:hover {
  background: var(--brand-ink);
  border-color: var(--brand-ink);
  color: var(--brand-text);
  text-decoration: none;
}

@media (max-width: 600px) {
  .eb-header { padding: 1.25rem 1.25rem; }
  .eb-grid { grid-template-columns: 1fr; }
}

/* ===== Journal info block (home.html) =====
   ponytail: every selector stands alone — OJS strips the outer wrapper div,
   so nothing here may depend on a .jinfo ancestor. */
.jinfo-lead,
.jinfo-table,
.jinfo-note,
.jinfo-section-title,
.jinfo-list,
.jinfo-foot {
  box-sizing: border-box;
  max-width: 900px;
  color: #222;
  line-height: 1.6;
}

.jinfo-lead {
  font-size: 1.05rem;
  margin: 0 0 1.5rem;
}

.jinfo-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e6c4cb;
  border-top: 6px solid var(--brand);
  margin-bottom: 1.75rem;
  font-size: 1rem;
}
.jinfo-table th,
.jinfo-table td {
  padding: .95rem 1.2rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #f0d8dd;
}
body[dir="rtl"] .jinfo-table th,
body[dir="rtl"] .jinfo-table td { text-align: right; }
.jinfo-table tr:last-child th,
.jinfo-table tr:last-child td { border-bottom: 0; }

/* the loud part: solid brand band down the label column */
.jinfo-table th {
  width: 30%;
  min-width: 165px;
  font-weight: 700;
  font-size: 1rem;
  background: var(--brand);
  color: var(--brand-text);
  border-bottom-color: rgba(255,255,255,.45);
}
.jinfo-table td { background: #ffffff; }
.jinfo-table tr:nth-child(even) td { background: #fdf4f6; }
.jinfo-table tr:hover td { background: #f7dde2; }
.jinfo-table a { color: var(--brand-ink); font-weight: 600; }

.jinfo-value { font-weight: 700; font-size: 1.1rem; color: var(--brand-ink); }
.jinfo-sub { font-size: .9rem; color: #555; margin-top: 3px; }
.jinfo-badge { max-height: 56px; width: auto; vertical-align: middle; }
.jinfo-links { display: flex; flex-wrap: wrap; gap: .5rem; }

.jinfo-note {
  background: #fbe8eb;
  border: 1px solid #e6c4cb;
  border-left: 6px solid var(--brand);
  padding: 1.1rem 1.35rem;
  font-size: .98rem;
  margin-bottom: 1.75rem;
}
body[dir="rtl"] .jinfo-note {
  border-left: 1px solid #e6c4cb;
  border-right: 6px solid var(--brand);
}
.jinfo-note a { color: var(--brand-ink); font-weight: 700; }

.jinfo-section-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--brand-text);
  background: var(--brand);
  border-left: 6px solid var(--brand-dark);
  padding: .7rem 1.2rem;
  margin-bottom: 1rem;
}
body[dir="rtl"] .jinfo-section-title {
  border-left: 0;
  border-right: 6px solid var(--brand-dark);
}

.jinfo-list { list-style: none; padding: 0; margin: 0 0 1rem; }
.jinfo-list li {
  padding: .7rem 0;
  font-size: .98rem;
  border-bottom: 1px solid #f0d8dd;
}
.jinfo-list li:last-child { border-bottom: 0; }
.jinfo-list .jinfo-link { margin-left: .5rem; vertical-align: baseline; }
body[dir="rtl"] .jinfo-list .jinfo-link { margin-left: 0; margin-right: .5rem; }
.jinfo-foot { font-size: .9rem; color: #555; }

/* pills here are filled, not outlined — they sit next to a solid brand band */
.jinfo-link {
  padding: .45rem 1rem;
  font-size: .85rem;
  background: var(--brand-ink);
  border-color: var(--brand-ink);
  color: var(--brand-text);
}
.jinfo-link:hover { background: var(--brand-dark); border-color: var(--brand-dark); color: var(--brand-text); }
/* .jinfo-table a is more specific than .jinfo-link and would repaint pill text */
.jinfo-table a.jinfo-link { color: var(--brand-text); font-weight: 700; text-decoration: none; }

@media (max-width: 600px) {
  .jinfo-table, .jinfo-table tbody, .jinfo-table tr, .jinfo-table th, .jinfo-table td { display: block; width: 100%; }
  .jinfo-table th { min-width: 0; }
}

/* The default theme is still on PKP's blue (#006798 / #008acb) for links and
   wire buttons, so article titles and PDF buttons went blue on a maroon site.
   Repaint the article list and its buttons in the journal's own colour.
   Titles also gain an underline on hover -- colour alone is not an affordance. */
.obj_article_summary .title a {
  color: var(--brand-ink);
}
.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus {
  color: var(--brand-dark);
  text-decoration: underline;
}

.obj_galley_link,
.cmp_button_wire {
  border-color: var(--brand);
  color: var(--brand-ink);
}
.obj_galley_link:hover,
.obj_galley_link:focus,
.cmp_button_wire:hover,
.cmp_button_wire:focus {
  background: var(--brand);
  color: var(--brand-text);
}

.pkp_page_index .current_issue .read_more,
.obj_announcement_summary .read_more,
.obj_galley_link_supplementary {
  color: var(--brand-ink);
}
.pkp_page_index .current_issue .read_more:hover,
.pkp_page_index .current_issue .read_more:focus,
.obj_announcement_summary .read_more:hover,
.obj_announcement_summary .read_more:focus,
.obj_galley_link_supplementary:hover,
.obj_galley_link_supplementary:focus {
  color: var(--brand-dark);
  text-decoration: underline;
}
