/**
 * @file plugins/themes/researchPlatformTheme/styles/ojs.css
 *
 * Distributed under the GNU GPL v3 or later.
 *
 * Maps the OJS default theme's public markup onto the Research Platform tokens (styles/tokens.css, generated from
 * packages/design-tokens). No colour, size or radius of its own: every value is a token or a token alias
 * (--brand, --ink, --muted, --line, --paper, --canvas, --radius-*, --spacing-*, --text-*). Logical properties
 * throughout, so Arabic (rtl) and English (ltr) share one stylesheet; the parent's rtl.less float flips are neutralised
 * where the layout below replaces them.
 *
 * Sections: 1 page frame · 2 header (platform bar, journal bar, mobile menu) · 3 skip links and focus ·
 * 4 typography and content · 5 breadcrumbs · 6 buttons · 7 forms · 8 cards (journals, issues, articles,
 * announcements) · 9 article page · 10 issue page and archive · 11 search · 12 tables, pagination, notifications ·
 * 13 sidebar blocks · 14 footer · 15 responsive · 16 generated cover placeholders · 17 links back to BAHETH ·
 * 18 sign-in and account pages · 19 visual consistency, native PDF reader · 20 balance, editorial board, author
 * instructions, BAHETH reader entry. The --rp-icon-* masks come from the shared token block
 * (plugins/generic/researchPlatform/ui/css/tokens.css, linked by the theme plugin).
 */

/* 1 · Page frame ---------------------------------------------------------------------------------------------- */
.rp-theme {
  --brand-mark: none;
  background: var(--paper);
  color: var(--ink);
  font: 400 var(--body-size) / var(--body-leading) var(--body-font);
}
html:has(.rp-theme) {
  font-size: 16px;
  background: var(--paper);
}
.rp-theme .pkp_structure_page {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  /* The parent hides screen-reader text at left: -2000px; in right-to-left pages that overflow is scrollable. */
  overflow-x: clip;
}
/* body.rp-theme[dir] outranks the parent's body[dir="rtl"] flips (rtl.less), so one rule serves both directions. */
body.rp-theme[dir] .pkp_screen_reader {
  left: auto;
  right: auto;
  inset-inline-start: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.rp-theme .pkp_structure_content,
.rp-theme .pkp_structure_footer {
  float: none;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}
.rp-theme .pkp_structure_content {
  flex: 1;
  padding-block: var(--spacing-10) var(--spacing-16);
}
.rp-theme .pkp_structure_content.has_sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18.75rem;
  gap: var(--spacing-12);
  align-items: start;
}
.rp-theme .pkp_structure_main,
.rp-theme .pkp_structure_main:first-child:last-child {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}
.rp-theme .pkp_structure_main::before,
.rp-theme .pkp_structure_main::after {
  display: none;
}
.rp-theme .pkp_structure_sidebar {
  float: none;
  width: auto;
}

/* 2 · Header ---------------------------------------------------------------------------------------------------- */
.rp-theme .pkp_structure_head {
  position: relative;
  z-index: 20;
  background: var(--paper);
  border: 0;
}
.rp-theme .rp-platform-bar {
  z-index: 3;
}
.rp-theme .portal-brand img {
  max-width: none;
}
/* The platform menu comes from the platform (header.tpl): its module dropdowns are the platform's own
   .portal-nav-group, the journals group carrying data-current (these pages live in the journals section). */
.rp-theme .portal-nav a.portal-nav-link:hover {
  color: var(--ink);
}
.rp-theme .rp-menu-toggle .rp-icon-close,
.rp-theme .rp-head[data-open] .rp-menu-toggle .rp-icon-menu {
  display: none;
}
.rp-theme .rp-head[data-open] .rp-menu-toggle .rp-icon-close {
  display: block;
}
.rp-theme .rp-user-menu-mobile {
  display: none;
}

/* Signed-in user menu (native #navigationUser) in the platform bar. */
.rp-theme .rp-user-menu.pkp_navigation_user_wrapper {
  position: relative;
  inset: auto;
  transform: none;
  margin: 0;
  padding: 0;
  border: 0;
  width: auto;
  text-align: start;
}
.rp-theme .rp-user-menu .pkp_navigation_user {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: var(--text-sm);
}
.rp-theme .rp-user-menu .pkp_navigation_user > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding-inline: var(--spacing-2);
  color: var(--ink);
  font-weight: 500;
}
.rp-theme .rp-user-menu .pkp_navigation_user > li > a:hover {
  color: var(--brand);
}
.rp-theme .rp-user-menu .pkp_navigation_user > li > a:focus {
  background: none;
  color: var(--brand);
}
.rp-theme .rp-user-menu .pkp_navigation_user > li > a:focus-visible {
  outline: var(--focus-ring);
  outline-offset: -3px;
}
.rp-theme .rp-user-menu .pkp_navigation_user ul {
  inset-inline-end: 0;
  inset-inline-start: auto;
  min-width: 14rem;
  padding: var(--spacing-2);
  border: 1px solid var(--line);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: var(--paper);
  box-shadow: var(--shadow-dropdown);
}
.rp-theme .rp-user-menu .pkp_navigation_user ul a {
  display: block;
  padding: var(--spacing-2) var(--spacing-3);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--ink);
}
.rp-theme .rp-user-menu .pkp_navigation_user ul a:hover,
.rp-theme .rp-user-menu .pkp_navigation_user ul a:focus {
  background: var(--brand-surface);
  color: var(--brand);
}
.rp-theme .pkp_navigation_user .task_count {
  background: var(--brand);
  color: var(--paper);
}

/* Journal bar: the journal's identity and its native navigation, on the platform's deep brand band. */
.rp-theme .rp-journal-bar.pkp_head_wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--colors-primary-sa-flag-800);
  color: var(--paper);
}
.rp-theme .rp-journal-bar-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-2) var(--spacing-8);
  min-height: 72px;
  padding-block: var(--spacing-3);
}
.rp-theme .rp-journal-bar .pkp_site_name_wrapper {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  flex: 0 1 auto;
  min-width: 0;
}
.rp-theme .pkp_site_nav_toggle {
  display: none;
}
.rp-theme .rp-journal-bar .pkp_site_name {
  position: static;
  width: auto;
  padding: 0;
  font-size: inherit;
  white-space: normal;
  overflow: visible;
  text-align: start;
}
.rp-theme .rp-journal-bar .pkp_site_name .is_text {
  display: inline-block;
  padding: var(--spacing-1) 0;
  color: var(--paper);
  font-family: var(--body-font);
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: var(--leading-xl);
  text-decoration: none;
}
.rp-theme .rp-journal-bar .pkp_site_name .is_text:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.rp-theme .rp-journal-bar .pkp_site_name .is_img {
  margin: 0;
  padding: var(--spacing-1);
  border-radius: var(--radius-sm);
  background: var(--paper);
}
.rp-theme .rp-journal-bar .pkp_site_name .is_img img {
  max-height: 56px;
}
.rp-theme .rp-journal-bar .pkp_site_name a:focus-visible,
.rp-theme .rp-journal-bar a:focus-visible {
  outline: 3px solid var(--paper);
  outline-offset: 2px;
}
.rp-theme .rp-journal-nav.pkp_site_nav_menu {
  position: static;
  display: block;
  flex: 1 1 auto;
  width: auto;
  padding: 0;
  background: none;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary_row,
.rp-theme .rp-journal-nav .pkp_navigation_primary_wrapper {
  width: auto;
  margin: 0;
  padding: 0;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary {
  display: flex;
  flex-wrap: wrap;
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: start;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: var(--spacing-2) var(--spacing-3);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--paper);
  font-size: 15px;
  font-weight: 500;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary > li > a:hover,
.rp-theme .rp-journal-nav .pkp_navigation_primary > li > a:focus {
  background: color-mix(in srgb, var(--paper) 12%, transparent);
  color: var(--paper);
  text-decoration: none;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary > li:first-child > a,
.rp-theme .rp-journal-nav .pkp_navigation_primary > li:last-child > a {
  margin: 0;
}
.rp-theme .rp-journal-nav .pkp_nav_list [aria-haspopup]::after {
  margin-inline: 0.4em 0;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary ul {
  min-width: 16rem;
  padding: var(--spacing-2);
  border: 1px solid var(--line);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: var(--paper);
  box-shadow: var(--shadow-dropdown);
}
.rp-theme .rp-journal-nav .pkp_navigation_primary ul a {
  display: block;
  padding: var(--spacing-2) var(--spacing-3);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--ink);
  font-size: 15px;
}
.rp-theme .rp-journal-nav .pkp_navigation_primary ul a:hover,
.rp-theme .rp-journal-nav .pkp_navigation_primary ul a:focus {
  background: var(--brand-surface);
  color: var(--brand);
}
.rp-theme .rp-journal-search {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  min-height: 44px;
  margin-inline-start: auto;
  padding: var(--spacing-2) var(--spacing-4);
  border: 1px solid color-mix(in srgb, var(--paper) 45%, transparent);
  border-radius: var(--radius-sm);
  color: var(--paper);
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
.rp-theme .rp-journal-search:hover {
  border-color: var(--paper);
  background: color-mix(in srgb, var(--paper) 12%, transparent);
  color: var(--paper);
}

/* 3 · Skip links and focus --------------------------------------------------------------------------------------- */
.rp-theme .cmp_skip_to_content a {
  position: absolute;
  inset-inline-start: var(--spacing-4);
  top: var(--spacing-2);
  z-index: 100;
  transform: none;
  padding: var(--spacing-3) var(--spacing-4);
  border-radius: var(--radius-sm);
  background: var(--paper);
  color: var(--brand);
  font-weight: 600;
  box-shadow: var(--shadow-dropdown);
}
.rp-theme .cmp_skip_to_content a:not(:focus) {
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
body.rp-theme[dir] .cmp_skip_to_content a,
body.rp-theme[dir] .cmp_skip_to_content a:focus {
  left: auto;
  right: auto;
  inset-inline-start: var(--spacing-4);
  clip: auto;
}
.rp-theme a:focus-visible,
.rp-theme button:focus-visible,
.rp-theme input:focus-visible,
.rp-theme select:focus-visible,
.rp-theme textarea:focus-visible,
.rp-theme summary:focus-visible,
.rp-theme [tabindex]:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 2px;
}
.rp-theme .pkp_structure_main a:focus {
  outline-color: var(--colors-base-black);
}
.rp-theme .portal-footer :focus-visible {
  outline-color: var(--paper);
}

/* 4 · Typography and content ------------------------------------------------------------------------------------ */
.rp-theme .pkp_structure_main {
  font-size: var(--body-size);
  line-height: var(--body-leading);
}
.rp-theme .pkp_structure_main h1,
.rp-theme .pkp_structure_main h2,
.rp-theme .pkp_structure_main h3,
.rp-theme .pkp_structure_main h4 {
  font-family: var(--body-font);
  font-weight: 600;
  color: var(--ink);
}
.rp-theme .page > h1,
.rp-theme .pkp_structure_main .page h1:first-of-type {
  margin-block: var(--spacing-2) var(--spacing-6);
  font-size: var(--display-sm);
  line-height: var(--display-sm-leading);
}
.rp-theme .pkp_structure_main h2 {
  font-size: var(--display-xs);
  line-height: var(--display-xs-leading);
}
.rp-theme .pkp_structure_main h3 {
  font-size: var(--heading-3);
  line-height: 1.5;
}
.rp-theme .pkp_structure_main p,
.rp-theme .pkp_structure_main li {
  line-height: var(--body-leading);
}
/* Zero-specificity wrapper: buttons and cards below keep their own link colours. */
:where(.rp-theme .pkp_structure_main) a {
  color: var(--brand);
}
:where(.rp-theme .pkp_structure_main) a:hover {
  color: var(--brand-hover);
}
.rp-theme .page {
  max-width: 100%;
}
.rp-theme .page_about,
.rp-theme .page_submissions,
.rp-theme .page_contact,
.rp-theme .page_privacy,
.rp-theme .page_masthead,
.rp-theme .page_editorial_history {
  max-width: 52rem;
}
.rp-theme .pkp_structure_main blockquote {
  margin-inline: 0;
  padding-inline-start: var(--spacing-4);
  border-inline-start: 4px solid var(--brand-border);
  color: var(--muted);
}
.rp-theme .pkp_structure_main hr {
  border: 0;
  border-top: 1px solid var(--line-soft);
}
.rp-theme .cmp_edit_link {
  margin-inline: var(--spacing-2) 0;
  color: var(--brand);
}

/* 5 · Breadcrumbs ----------------------------------------------------------------------------------------------- */
.rp-theme .cmp_breadcrumbs {
  margin-block-end: var(--spacing-4);
}
.rp-theme .cmp_breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-1) var(--spacing-2);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--text-sm);
  color: var(--muted);
}
.rp-theme .cmp_breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
}
.rp-theme .cmp_breadcrumbs .separator {
  color: var(--colors-neutral-400);
  padding: 0;
}
.rp-theme .cmp_breadcrumbs a {
  color: var(--brand);
  text-decoration: none;
}
.rp-theme .cmp_breadcrumbs a:hover {
  text-decoration: underline;
}
.rp-theme .cmp_breadcrumbs .current {
  color: var(--ink);
}
.rp-theme .cmp_breadcrumbs .current h1 {
  margin: 0;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}

/* 6 · Buttons ---------------------------------------------------------------------------------------------------- */
.rp-theme .cmp_button,
.rp-theme .pkp_button,
.rp-theme .cmp_form .buttons button,
.rp-theme button.submit,
.rp-theme .cmp_form button[type="submit"],
.rp-theme .block_make_submission a,
.rp-theme .page_index_site .journals .links .view a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  min-height: 44px;
  padding: var(--spacing-2) var(--spacing-5);
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--button-background-primary-default);
  box-shadow: none;
  color: var(--text-oncolor-primary);
  font: 500 var(--text-sm) / var(--leading-sm) var(--body-font);
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
}
.rp-theme .cmp_button:hover,
.rp-theme .pkp_button:hover,
.rp-theme .cmp_form .buttons button:hover,
.rp-theme button.submit:hover,
.rp-theme .cmp_form button[type="submit"]:hover,
.rp-theme .block_make_submission a:hover,
.rp-theme .page_index_site .journals .links .view a:hover {
  background: var(--button-background-primary-hovered);
  color: var(--text-oncolor-primary);
}
.rp-theme .cmp_button:active,
.rp-theme .pkp_button:active,
.rp-theme button.submit:active {
  background: var(--button-background-primary-pressed);
}
/* Secondary (outline): wire buttons, galleys, citation downloads, "current issue". */
.rp-theme .cmp_button_wire,
.rp-theme .obj_galley_link,
.rp-theme .citation_formats_styles + h3 + ul a,
.rp-theme .page_index_site .journals .links .current a,
.rp-theme .cmp_form .buttons a,
.rp-theme .read_more {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  min-height: 40px;
  padding: var(--spacing-2) var(--spacing-4);
  border: 1px solid var(--border-neutral-secondary, var(--line));
  border-radius: var(--radius-sm);
  background: var(--paper);
  color: var(--ink);
  font: 500 var(--text-sm) / var(--leading-sm) var(--body-font);
  text-decoration: none;
}
.rp-theme .cmp_button_wire:hover,
.rp-theme .obj_galley_link:hover,
.rp-theme .page_index_site .journals .links .current a:hover,
.rp-theme .cmp_form .buttons a:hover {
  border-color: var(--brand);
  background: var(--brand-surface);
  color: var(--brand);
}
.rp-theme .obj_galley_link {
  border-color: var(--brand);
  color: var(--brand);
}
.rp-theme .obj_galley_link::before {
  margin: 0;
}
.rp-theme .obj_galley_link.restricted {
  border-color: var(--colors-warning-700);
  color: var(--colors-warning-800);
}

/* 7 · Forms ------------------------------------------------------------------------------------------------------ */
.rp-theme .cmp_form fieldset {
  margin: 0 0 var(--spacing-6);
  padding: 0;
  border: 0;
}
.rp-theme .cmp_form legend {
  margin-block-end: var(--spacing-3);
  font-size: var(--heading-3);
  font-weight: 600;
}
.rp-theme .cmp_form .fields > div,
.rp-theme .cmp_form .fields > fieldset {
  margin-block-end: var(--spacing-4);
}
.rp-theme .cmp_form label,
.rp-theme .cmp_form .label {
  display: block;
  margin-block-end: var(--spacing-1);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: var(--leading-sm);
}
.rp-theme .cmp_form .required,
.rp-theme .cmp_form .pkp_screen_reader + .required {
  color: var(--colors-error-700);
}
.rp-theme input[type="text"],
.rp-theme input[type="email"],
.rp-theme input[type="password"],
.rp-theme input[type="search"],
.rp-theme input[type="url"],
.rp-theme input[type="tel"],
.rp-theme input[type="number"],
.rp-theme input[type="date"],
.rp-theme select,
.rp-theme textarea {
  min-height: var(--control-height);
  max-width: 100%;
  padding: var(--spacing-2) var(--spacing-3);
  /* neutral-500 (4.8:1 on white) rather than the platform field's neutral-400 (2.5:1): WCAG 2.2 SC 1.4.11. */
  border: 1px solid var(--colors-neutral-500);
  border-radius: var(--control-radius);
  background: var(--paper);
  color: var(--ink);
  font: 400 var(--text-md) / var(--leading-md) var(--body-font);
}
.rp-theme input[type="text"]:hover,
.rp-theme input[type="email"]:hover,
.rp-theme input[type="password"]:hover,
.rp-theme input[type="search"]:hover,
.rp-theme select:hover,
.rp-theme textarea:hover {
  border-color: var(--colors-neutral-700);
}
.rp-theme .cmp_form input[type="text"],
.rp-theme .cmp_form input[type="email"],
.rp-theme .cmp_form input[type="password"] {
  width: 100%;
  max-width: 28rem;
}
.rp-theme input[type="checkbox"],
.rp-theme input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--brand);
  vertical-align: middle;
}
.rp-theme .cmp_form .error,
.rp-theme .pkp_form_error,
.rp-theme .cmp_notification.warning {
  color: var(--colors-error-700);
}

/* 8 · Cards ------------------------------------------------------------------------------------------------------ */
/* Site index: the journal list as platform service cards. */
.rp-theme .page_index_site .about_site {
  max-width: 52rem;
  margin-block-end: var(--spacing-10);
  color: var(--muted);
}
.rp-theme .page_index_site .journals {
  margin: 0;
}
/* The parent hides this heading; the platform shows section headings. */
.rp-theme .page_index_site .journals h2 {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  margin-block: 0 var(--spacing-6);
  padding: 0;
  border: 0;
  font-size: var(--display-xs);
}
.rp-theme .page_index_site .journals > ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
  gap: var(--spacing-6);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .page_index_site .journals > ul > li {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin: 0;
  padding: var(--spacing-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--paper);
  box-shadow: var(--shadow-card);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.rp-theme .page_index_site .journals > ul > li:hover,
.rp-theme .page_index_site .journals > ul > li:focus-within {
  border-color: var(--brand-border);
  box-shadow: var(--shadow-card-hover);
}
.rp-theme .page_index_site .journals .thumb,
.rp-theme .page_index_site .journals .body {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}
.rp-theme .page_index_site .journals .thumb img {
  max-height: 160px;
  border-radius: var(--radius-sm);
}
.rp-theme .page_index_site .journals .body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--spacing-3);
}
.rp-theme .page_index_site .journals h3 {
  margin: 0;
  font-size: var(--heading-3);
}
.rp-theme .page_index_site .journals h3 a {
  color: var(--ink);
  text-decoration: none;
}
.rp-theme .page_index_site .journals h3 a:hover {
  color: var(--brand);
}
.rp-theme .page_index_site .journals .description {
  color: var(--muted);
  font-size: var(--text-sm);
}
.rp-theme .page_index_site .journals .description p:last-child {
  margin-block-end: 0;
}
.rp-theme .page_index_site .journals .links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-3);
  margin: auto 0 0;
  padding: var(--spacing-4) 0 0;
  border-top: 1px solid var(--line-soft);
  list-style: none;
}
.rp-theme .page_index_site .journals .links li {
  margin: 0;
}

/* Issue and article summaries */
.rp-theme .obj_issue_summary {
  display: grid;
  gap: var(--spacing-3);
}
.rp-theme .obj_issue_summary .title {
  font-size: var(--heading-3);
  font-weight: 600;
}
.rp-theme .obj_issue_summary .title a {
  color: var(--ink);
  text-decoration: none;
}
.rp-theme .obj_issue_summary .title a:hover {
  color: var(--brand);
}
.rp-theme .obj_issue_summary .series {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-sm);
}
.rp-theme .obj_issue_summary .cover img,
.rp-theme .obj_issue_toc .cover img {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
}
.rp-theme .issues_archive {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
  gap: var(--spacing-6);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .issues_archive > li {
  margin: 0;
  padding: var(--spacing-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--paper);
  box-shadow: var(--shadow-card);
}
.rp-theme .issues_archive > li:hover,
.rp-theme .issues_archive > li:focus-within {
  border-color: var(--brand-border);
  box-shadow: var(--shadow-card-hover);
}
.rp-theme .cmp_article_list {
  display: grid;
  gap: var(--spacing-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .cmp_article_list > li {
  margin: 0;
}
.rp-theme .obj_article_summary {
  position: relative;
  padding: var(--spacing-5) var(--spacing-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--paper);
  box-shadow: var(--shadow-card);
}
.rp-theme .obj_article_summary:hover,
.rp-theme .obj_article_summary:focus-within {
  border-color: var(--brand-border);
  box-shadow: var(--shadow-card-hover);
}
.rp-theme .obj_article_summary .title {
  margin: 0;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  font-weight: 600;
}
.rp-theme .obj_article_summary .title a {
  color: var(--ink);
  text-decoration: none;
}
.rp-theme .obj_article_summary .title a:hover {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rp-theme .obj_article_summary .subtitle {
  display: block;
  margin-block-start: var(--spacing-1);
  color: var(--muted);
  font-size: var(--text-md);
  font-weight: 400;
}
.rp-theme .obj_article_summary .meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--spacing-1) var(--spacing-4);
  margin-block-start: var(--spacing-2);
  color: var(--muted);
  font-size: var(--text-sm);
}
.rp-theme .obj_article_summary .meta > div {
  display: inline;
}
.rp-theme .obj_article_summary .pages,
.rp-theme .obj_article_summary .published {
  position: static;
  float: none;
  line-height: inherit;
}
.rp-theme .obj_article_summary .authors {
  padding: 0;
}
.rp-theme .obj_article_summary .galleys_links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
  margin: var(--spacing-4) 0 0;
  padding: 0;
  list-style: none;
}
.rp-theme .obj_article_summary .galleys_links li {
  display: block;
  margin: 0;
}
.rp-theme .obj_article_summary .cover {
  float: none;
  display: block;
  width: auto;
  margin: 0 0 var(--spacing-3);
}
.rp-theme .obj_article_summary .cover img {
  max-height: 180px;
  border-radius: var(--radius-sm);
}

/* Announcements */
.rp-theme .cmp_announcements {
  border: 0;
}
.rp-theme .cmp_announcements > h2 {
  padding: 0;
  border: 0;
  margin-block-end: var(--spacing-4);
}
.rp-theme .cmp_announcements .obj_announcement_summary,
.rp-theme .page_announcements .obj_announcement_summary {
  padding: var(--spacing-5) var(--spacing-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--paper);
  margin-block-end: var(--spacing-4);
}
.rp-theme .obj_announcement_summary h2,
.rp-theme .obj_announcement_summary h3,
.rp-theme .obj_announcement_summary h4 {
  margin: 0 0 var(--spacing-2);
  font-size: var(--text-lg);
}
.rp-theme .obj_announcement_summary .date {
  color: var(--muted);
  font-size: var(--text-sm);
}

/* Journal home: about block, current issue, highlights */
.rp-theme .page_index_journal .homepage_image img {
  width: 100%;
  max-height: 22rem;
  object-fit: cover;
  border-radius: var(--radius-card);
}
.rp-theme .page_index_journal .homepage_about {
  margin-block-end: var(--spacing-10);
  padding: var(--spacing-6) var(--spacing-8);
  border-inline-start: 4px solid var(--brand);
  border-radius: var(--radius-sm);
  background: var(--brand-surface);
}
.rp-theme .page_index_journal .homepage_about h2,
.rp-theme .page_index_journal .current_issue > h2 {
  margin-block: 0 var(--spacing-4);
  font-size: var(--display-xs);
}
.rp-theme .page_index_journal .current_issue .current_issue_title {
  margin-block-end: var(--spacing-4);
  color: var(--muted);
  font-size: var(--text-lg);
  font-weight: 500;
}
.rp-theme .page_index_journal .read_more {
  margin-block-start: var(--spacing-6);
}
.rp-theme .page_index_journal .read_more::after {
  display: none;
}

/* 9 · Article page ------------------------------------------------------------------------------------------------ */
.rp-theme .obj_article_details > .page_title {
  margin-block: var(--spacing-2) var(--spacing-2);
  font-size: var(--display-sm);
  line-height: var(--display-sm-leading);
}
.rp-theme .obj_article_details > .subtitle {
  margin-block: 0 var(--spacing-6);
  color: var(--muted);
  font-size: var(--text-xl);
  font-weight: 400;
  line-height: var(--leading-xl);
}
.rp-theme .obj_article_details .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18.75rem;
  gap: var(--spacing-10);
  margin: 0;
  border: 0;
}
.rp-theme .obj_article_details .main_entry,
.rp-theme .obj_article_details .entry_details {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
}
.rp-theme .obj_article_details .main_entry::before,
.rp-theme .obj_article_details .main_entry::after,
.rp-theme .obj_article_details .row::before,
.rp-theme .obj_article_details .row::after {
  display: none;
}
.rp-theme .obj_article_details .main_entry .item,
.rp-theme .obj_article_details .entry_details .item {
  margin: 0;
  padding: var(--spacing-5) 0;
  border-block-end: 1px solid var(--line-soft);
}
.rp-theme .obj_article_details .main_entry .item:first-child {
  padding-block-start: 0;
}
.rp-theme .obj_article_details .entry_details {
  align-self: start;
  padding: var(--spacing-2) var(--spacing-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--canvas);
}
.rp-theme .obj_article_details .entry_details .item:last-child {
  border-block-end: 0;
}
.rp-theme .obj_article_details .item .label,
.rp-theme .obj_article_details .entry_details .item .label {
  margin: 0 0 var(--spacing-2);
  color: var(--ink);
  font-size: var(--text-md);
  font-weight: 600;
  line-height: var(--leading-md);
}
.rp-theme .obj_article_details .main_entry .item > .label {
  font-size: var(--heading-3);
}
.rp-theme .obj_article_details .authors {
  display: grid;
  gap: var(--spacing-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .obj_article_details .authors li {
  margin: 0;
}
.rp-theme .obj_article_details .authors .name {
  font-weight: 600;
}
.rp-theme .obj_article_details .authors .affiliation,
.rp-theme .obj_article_details .authors .userGroup {
  display: block;
  color: var(--muted);
  font-size: var(--text-sm);
}
.rp-theme .obj_article_details .authors .orcid {
  display: block;
  font-size: var(--text-sm);
}
.rp-theme .obj_article_details .authors .orcid a {
  overflow-wrap: anywhere;
}
.rp-theme .obj_article_details .doi .value,
.rp-theme .obj_article_details .doi a {
  overflow-wrap: anywhere;
  direction: ltr;
  unicode-bidi: isolate;
}
.rp-theme .obj_article_details .abstract {
  line-height: 1.8;
}
.rp-theme .obj_article_details .keywords .value {
  color: var(--ink);
}
.rp-theme .obj_article_details .galleys_links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .obj_article_details .galleys_links li {
  margin: 0;
}
.rp-theme .obj_article_details .cover_image img {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
}
.rp-theme .obj_article_details .citation_display .value {
  padding: var(--spacing-3);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  background: var(--paper);
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}
.rp-theme .obj_article_details .citation_formats {
  margin-block-start: var(--spacing-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--paper);
}
.rp-theme .obj_article_details .citation_formats_button {
  width: 100%;
  min-height: 44px;
  padding: var(--spacing-2) var(--spacing-3);
  border: 0;
  border-radius: var(--radius-sm);
  background: none;
  color: var(--brand);
  font: 500 var(--text-sm) / var(--leading-sm) var(--body-font);
  text-align: start;
}
.rp-theme .obj_article_details .citation_formats_button::after {
  float: inline-end;
}
.rp-theme .obj_article_details .citation_formats_list {
  padding: 0 var(--spacing-3) var(--spacing-3);
}
.rp-theme .obj_article_details .citation_formats_styles,
.rp-theme .obj_article_details .citation_formats_list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .obj_article_details .citation_formats_list li a {
  display: block;
  padding: var(--spacing-1) 0;
  font-size: var(--text-sm);
}
.rp-theme .obj_article_details .citation_formats_list .label {
  margin-block: var(--spacing-3) var(--spacing-1);
  font-size: var(--text-xs);
  color: var(--muted);
}
.rp-theme .obj_article_details .copyright,
.rp-theme .obj_article_details .item.copyright {
  font-size: var(--text-sm);
  color: var(--muted);
}
.rp-theme .obj_article_details .copyright img {
  margin-block-start: var(--spacing-2);
}
/* Version history (researchPlatform plugin, publication/versionNotes.tpl): what changed in each published version. */
.rp-theme .rp-version-notes__list {
  margin: 0;
  padding-inline-start: var(--spacing-5);
}
.rp-theme .rp-version-notes__item {
  margin-block-end: var(--spacing-3);
}
.rp-theme .rp-version-notes__meta {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--muted);
}
.rp-theme .rp-version-notes__item--current .rp-version-notes__meta {
  color: var(--ink);
}
.rp-theme .rp-version-notes__text p {
  margin-block: var(--spacing-1) 0;
  unicode-bidi: plaintext;
  text-align: start;
}
/* Mixed-language blocks (an English reference or abstract on an Arabic page): each paragraph takes the direction of
   its own text, so punctuation and numbers are not reordered by the page direction. */
.rp-theme .obj_article_details .references .value p,
.rp-theme .obj_article_details .references .value li,
.rp-theme .obj_article_details .abstract p,
.rp-theme .obj_article_details .citation_display .value {
  unicode-bidi: plaintext;
  text-align: start;
}
.rp-theme .obj_article_details .references .value p,
.rp-theme .obj_article_details .references .value li {
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}
.rp-theme .obj_article_details .categories ul,
.rp-theme .obj_article_details .supplementary_galleys_links {
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .obj_article_details .version_history,
.rp-theme .obj_article_details .versions ul {
  font-size: var(--text-sm);
}

/* 10 · Issue page and archive ----------------------------------------------------------------------------------- */
.rp-theme .obj_issue_toc .heading {
  display: flow-root;
  margin-block-end: var(--spacing-8);
  padding: var(--spacing-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--canvas);
}
.rp-theme .obj_issue_toc .cover {
  float: inline-start;
  width: auto;
  margin-inline-end: var(--spacing-6);
}
.rp-theme .obj_issue_toc .cover img {
  max-height: 18rem;
}
.rp-theme .obj_issue_toc .description {
  color: var(--ink);
}
.rp-theme .obj_issue_toc .pub_id,
.rp-theme .obj_issue_toc .published {
  margin: var(--spacing-2) 0 0;
  font-size: var(--text-sm);
}
.rp-theme .obj_issue_toc .pub_id .type,
.rp-theme .obj_issue_toc .published .label {
  color: var(--muted);
  font-weight: 500;
}
.rp-theme .obj_issue_toc .galleys,
.rp-theme .obj_issue_toc .section {
  margin: var(--spacing-8) 0 0;
  padding: 0;
}
.rp-theme .obj_issue_toc .galleys::before,
.rp-theme .obj_issue_toc .section::before {
  display: none;
}
.rp-theme .obj_issue_toc .galleys > :is(h2, h3),
.rp-theme .obj_issue_toc .section > :is(h2, h3) {
  display: block;
  position: static;
  margin-block: 0 var(--spacing-4);
  padding: 0 0 var(--spacing-3);
  border: 0;
  border-block-end: 1px solid var(--line);
  background: none;
  color: var(--ink);
  font-size: var(--heading-3);
  font-weight: 600;
  line-height: 1.5;
}
.rp-theme .obj_issue_toc .articles {
  margin-block-start: 0;
}
.rp-theme .obj_issue_toc .galleys_links li {
  margin: 0;
}

/* 11 · Search ----------------------------------------------------------------------------------------------------- */
.rp-theme .page_search .cmp_form,
.rp-theme .page_search form {
  margin-block-end: var(--spacing-8);
}
.rp-theme .page_search .search_input {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}
.rp-theme .page_search .search_input .query {
  flex: 1 1 18rem;
  width: auto;
  max-width: none;
  font-size: var(--text-md);
}
.rp-theme .page_search .search_advanced {
  margin-block-start: var(--spacing-4);
  padding: var(--spacing-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--canvas);
}
.rp-theme .page_search .search_advanced legend {
  font-size: var(--text-md);
}
.rp-theme .page_search .date_range,
.rp-theme .page_search .author {
  margin-block-end: var(--spacing-4);
}
.rp-theme .page_search .submit {
  margin-block-start: var(--spacing-4);
  text-align: end;
}
/* The parent draws the search icon as an absolutely placed square; keep it inline in the platform button. */
.rp-theme .page_search .submit button {
  padding-inline: var(--spacing-5);
  border: 0;
}
.rp-theme .page_search .submit button::after,
.rp-theme .read_more::after {
  position: static;
  order: -1;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  line-height: 1;
}
.rp-theme .page_search .search_advanced legend {
  padding-inline: var(--spacing-2);
}
.rp-theme .cmp_search_filter {
  margin: 0;
}
.rp-theme .search_results {
  display: grid;
  gap: var(--spacing-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 12 · Tables, pagination, notifications ----------------------------------------------------------------------- */
.rp-theme .pkp_structure_main table,
.rp-theme .cmp_table {
  width: 100%;
  border: 1px solid var(--line);
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.rp-theme .pkp_structure_main th,
.rp-theme .pkp_structure_main td {
  padding: var(--spacing-3);
  border-block-end: 1px solid var(--line-soft);
  text-align: start;
}
.rp-theme .pkp_structure_main th {
  background: var(--canvas);
  font-weight: 600;
}
.rp-theme .cmp_pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-3);
  margin-block-start: var(--spacing-8);
  color: var(--muted);
  font-size: var(--text-sm);
}
.rp-theme .cmp_pagination .prev,
.rp-theme .cmp_pagination .next {
  float: none;
  margin: 0;
}
.rp-theme .cmp_notification {
  margin-block-end: var(--spacing-6);
  padding: var(--spacing-4) var(--spacing-5);
  border: 1px solid var(--colors-info-200);
  border-inline-start: 4px solid var(--colors-info-700);
  border-radius: var(--radius-sm);
  background: var(--colors-info-50);
  color: var(--ink);
}
.rp-theme .cmp_notification.success {
  border-color: var(--colors-success-200);
  border-inline-start-color: var(--colors-success-700);
  background: var(--colors-success-50);
}
.rp-theme .cmp_notification.warning,
.rp-theme .cmp_notification.error {
  border-color: var(--colors-error-200);
  border-inline-start-color: var(--colors-error-700);
  background: var(--colors-error-50);
  color: var(--ink);
}

/* 13 · Sidebar blocks --------------------------------------------------------------------------------------------- */
.rp-theme .pkp_structure_sidebar .pkp_block {
  margin: 0 0 var(--spacing-6);
  padding: var(--spacing-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--paper);
}
.rp-theme .pkp_structure_sidebar .pkp_block .title {
  display: block;
  margin: 0 0 var(--spacing-3);
  color: var(--ink);
  font-size: var(--text-md);
  font-weight: 600;
}
.rp-theme .pkp_structure_sidebar .pkp_block ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .pkp_structure_sidebar .pkp_block li {
  padding-block: var(--spacing-1);
}
.rp-theme .pkp_structure_sidebar .block_make_submission {
  border-color: var(--brand-border);
  background: var(--brand-surface);
}
.rp-theme .pkp_structure_sidebar .block_make_submission a {
  width: 100%;
}

/* 14 · Footer ---------------------------------------------------------------------------------------------------- */
.rp-theme .rp-update {
  margin-block-start: auto;
}
.rp-theme .pkp_structure_footer_wrapper.portal-footer {
  background: var(--colors-primary-sa-flag-900);
}
.rp-theme .rp-footer .pkp_structure_footer {
  text-align: start;
}
.rp-theme .rp-footer-journal {
  margin-block-end: var(--spacing-10);
  padding: 0 0 var(--spacing-8);
  border-block-end: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
  color: var(--colors-primary-sa-flag-100);
  font-size: var(--text-sm);
  text-align: start;
}
.rp-theme .rp-footer-journal a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rp-theme .rp-footer .pkp_brand_footer {
  margin: 0;
  padding: 0;
}
.rp-theme .rp-footer .pkp_brand_footer a {
  float: none;
  display: inline;
  max-width: none;
  color: var(--colors-primary-sa-flag-100);
  font-size: var(--text-xs);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rp-theme .portal-footer-bottom {
  margin-top: 56px;
  padding-top: var(--spacing-6);
  border-top: 1px solid color-mix(in srgb, var(--paper) 22%, transparent);
}
.rp-theme .portal-footer-mark img {
  max-width: none;
}

/* 15 · Responsive ------------------------------------------------------------------------------------------------ */
@media (min-width: 1025px) {
  .rp-theme .rp-journal-nav .pkp_navigation_primary ul {
    inset-inline-start: 0;
  }
  /* The journal's own column joins the platform's footer columns: one row, one column each. */
  .rp-theme .rp-footer .portal-footer-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
  }
}
@media (max-width: 1024px) {
  .rp-theme .pkp_structure_content.has_sidebar,
  .rp-theme .obj_article_details .row {
    grid-template-columns: minmax(0, 1fr);
  }
  /* One menu button opens the platform links and the journal navigation together, in the page flow. */
  .rp-theme .rp-head .portal-header-main {
    flex-wrap: wrap;
    height: auto;
    min-height: 80px;
    row-gap: 0;
  }
  .rp-theme .rp-head .portal-nav {
    order: 3;
    position: static;
    flex-basis: 100%;
    max-height: none;
    margin-inline: calc(var(--container-padding) * -1);
    padding: var(--spacing-2) var(--container-padding) var(--spacing-4);
    border-top: 1px solid var(--line-soft);
    border-bottom: 0;
    box-shadow: none;
  }
  .rp-theme .rp-head[data-open] .portal-nav {
    display: flex;
  }
  .rp-theme .rp-journal-nav.pkp_site_nav_menu {
    display: none;
    flex-basis: 100%;
    order: 3;
  }
  .rp-theme .rp-head[data-open] .rp-journal-nav.pkp_site_nav_menu {
    display: block;
  }
  .rp-theme .rp-journal-nav .pkp_navigation_primary {
    flex-direction: column;
  }
  .rp-theme .rp-journal-nav .pkp_navigation_primary ul {
    position: static;
    display: block;
    min-width: 0;
    margin: 0 var(--spacing-3) var(--spacing-2);
    padding: 0;
    border: 0;
    border-inline-start: 2px solid color-mix(in srgb, var(--paper) 35%, transparent);
    border-radius: 0;
    background: none;
    box-shadow: none;
  }
  .rp-theme .rp-journal-nav .pkp_navigation_primary ul a {
    color: var(--paper);
  }
  .rp-theme .rp-journal-nav .pkp_navigation_primary ul a:hover,
  .rp-theme .rp-journal-nav .pkp_navigation_primary ul a:focus {
    background: color-mix(in srgb, var(--paper) 12%, transparent);
    color: var(--paper);
  }
  .rp-theme .rp-user-menu {
    display: none;
  }
  .rp-theme .rp-user-menu-mobile {
    display: block;
    padding-block-start: var(--spacing-2);
    border-top: 1px solid var(--line-soft);
  }
  .rp-theme .rp-user-list,
  .rp-theme .rp-user-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .rp-theme .rp-user-list a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-inline: var(--spacing-4);
    color: var(--ink);
    text-decoration: none;
  }
  .rp-theme .rp-user-list ul a {
    padding-inline-start: var(--spacing-8);
  }
  .rp-theme .rp-user-list .task_count {
    display: inline-grid;
    place-items: center;
    min-width: 1.5rem;
    height: 1.5rem;
    margin-inline-start: var(--spacing-2);
    padding-inline: var(--spacing-1);
    border-radius: 999px;
    background: var(--brand);
    color: var(--paper);
    font-size: var(--text-xs);
  }
}
@media (max-width: 767px) {
  .rp-theme {
    --container-padding: var(--container-padding-mobile);
  }
  .rp-theme .pkp_structure_content {
    padding-block: var(--spacing-6) var(--spacing-10);
  }
  .rp-theme .rp-journal-bar-main {
    min-height: 60px;
  }
  .rp-theme .rp-journal-bar .pkp_site_name .is_text {
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
  }
  .rp-theme .rp-journal-search span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .rp-theme .rp-journal-search {
    min-width: 44px;
    padding: var(--spacing-2);
    justify-content: center;
  }
  .rp-theme .page > h1,
  .rp-theme .pkp_structure_main .page h1:first-of-type,
  .rp-theme .obj_article_details > .page_title {
    font-size: var(--display-xs);
    line-height: var(--display-xs-leading);
  }
  .rp-theme .obj_issue_toc .cover {
    float: none;
    margin: 0 0 var(--spacing-4);
  }
  .rp-theme .page_index_journal .homepage_about {
    padding: var(--spacing-5);
  }
  .rp-theme .obj_article_summary {
    padding: var(--spacing-4);
  }
}

/* BAHETH logo: the compact header logo (symbol + name) in the platform bar, the full logo in the footer. */
.rp-theme .portal-brand img.portal-logo {
  width: auto;
  height: 60px;
  max-width: 200px;
}
.rp-theme .portal-footer-mark img.portal-logo {
  width: auto;
  height: 84px;
  max-width: 220px;
}
@media (max-width: 760px) {
  .rp-theme .portal-brand img.portal-logo {
    height: 46px;
  }
}

/* 16 · Generated cover placeholders ------------------------------------------------------------------------------ */
/* frontend/components/rpCoverPlaceholder.tpl: where a journal has no thumbnail or an issue no cover. Deliberately
   neutral (grey scale only, dashed edge, a visible "generated" note, no brand colour, no BAHETH mark), so it can never
   be read as a publisher's official cover. */
.rp-theme .rp-cover-placeholder {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-2);
  box-sizing: border-box;
  width: 100%;
  padding: var(--spacing-4) var(--spacing-3) calc(var(--spacing-4) + 1.75rem);
  overflow: hidden;
  border: 1px dashed var(--colors-neutral-300);
  border-radius: var(--radius-sm);
  background-color: var(--colors-neutral-50);
  background-image: repeating-linear-gradient(
    135deg,
    transparent 0 11px,
    color-mix(in srgb, var(--colors-neutral-300) 45%, transparent) 11px 12px
  );
  color: var(--colors-neutral-700);
  text-align: center;
  font-family: var(--body-font);
}
.rp-theme .rp-cover-placeholder--issue {
  max-width: 12rem;
  aspect-ratio: 210 / 297;
}
.rp-theme .rp-cover-placeholder--journal {
  aspect-ratio: 16 / 7;
}
.rp-theme .rp-cover-placeholder__initials {
  display: inline-grid;
  place-items: center;
  min-width: 4.5rem;
  min-height: 4.5rem;
  padding-inline: var(--spacing-3);
  border: 1px solid var(--colors-neutral-300);
  border-radius: 999px;
  background: var(--paper);
  color: var(--colors-neutral-700);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  unicode-bidi: isolate;
}
.rp-theme .rp-cover-placeholder__title {
  display: -webkit-box;
  max-width: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--colors-neutral-800);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.5;
}
.rp-theme .rp-cover-placeholder__meta {
  color: var(--colors-neutral-600);
  font-size: var(--text-xs);
  line-height: 1.5;
}
.rp-theme .rp-cover-placeholder__note {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: var(--spacing-1) var(--spacing-2);
  border-block-start: 1px dashed var(--colors-neutral-300);
  background: var(--paper);
  color: var(--colors-neutral-600);
  font-size: var(--text-xs);
  line-height: 1.5;
}
.rp-theme .rp-cover-placeholder--journal .rp-cover-placeholder__title {
  -webkit-line-clamp: 2;
}
.rp-theme .rp-cover-generated,
.rp-theme .rp-cover-generated:hover {
  display: block;
  text-decoration: none;
}
.rp-theme .obj_issue_summary .rp-cover-generated {
  margin-block-end: var(--spacing-2);
}
.rp-theme .obj_issue_toc .cover.rp-cover-generated {
  width: 12rem;
}
.rp-theme .page_index_site .journals .rp-cover-generated a {
  display: block;
  text-decoration: none;
}
@media (max-width: 760px) {
  .rp-theme .obj_issue_toc .cover.rp-cover-generated {
    width: min(100%, 10rem);
  }
}
@media print {
  .rp-theme .rp-cover-generated {
    display: none;
  }
}

/* 17 · Links back to BAHETH ---------------------------------------------------------------------------------------- */
.rp-theme .rp-journal-platform-mark {
  flex: none;
  width: 20px;
  height: 20px;
}
.rp-theme .page_index_site .rp-journal-directory {
  margin: var(--spacing-8) 0 0;
}
.rp-theme .page_index_site .rp-journal-directory a {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  font-weight: 600;
}

/* 18 · Sign-in and account pages ----------------------------------------------------------------------------------- */
/* researchPlatform's SSO sign-in (sso/login.tpl) and the native login, password and registration pages: one readable
   column in the platform's card frame. */
.rp-theme .page_login,
.rp-theme .page_lost_password,
.rp-theme .page_reset_password,
.rp-theme .page_register,
.rp-theme .page_change_password {
  max-width: 40rem;
}
.rp-theme .rp-sso-login .rp-sso-login__lead,
.rp-theme .rp-sso-login .rp-sso-login__message {
  color: var(--muted);
}
.rp-theme .rp-sso-login .rp-sso-login__action {
  margin-block: var(--spacing-6);
}
.rp-theme .rp-sso-login .rp-sso-login__button {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: var(--spacing-3) var(--spacing-6);
  border: 0;
  border-radius: var(--control-radius);
  background: var(--brand);
  color: var(--paper);
  font-weight: 600;
  text-decoration: none;
}
.rp-theme .rp-sso-login .rp-sso-login__button:hover {
  background: var(--brand-hover);
  color: var(--paper);
}
.rp-theme .rp-sso-login .rp-sso-login__button:active {
  background: var(--brand-pressed);
}
.rp-theme .rp-sso-login .rp-sso-login__notes {
  margin: 0;
  padding: var(--spacing-5) var(--spacing-6);
  padding-inline-start: calc(var(--spacing-6) + 1rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--canvas);
  color: var(--ink);
  font-size: var(--text-sm);
}
.rp-theme .rp-sso-login .rp-sso-login__notes li + li {
  margin-block-start: var(--spacing-2);
}

/* 19 · BAHETH visual consistency: section accents, covers, article record ------------------------------------------ */
/* Issue sections and the journal home's current issue carry the platform's brand accent (sa-flag-800). */
.rp-theme .obj_issue_toc .section > :is(h2, h3),
.rp-theme .page_index_journal .current_issue > h2,
.rp-theme .cmp_announcements > h2 {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.rp-theme .obj_issue_toc .section > :is(h2, h3)::before,
.rp-theme .page_index_journal .current_issue > h2::before,
.rp-theme .cmp_announcements > h2::before {
  content: "";
  flex: none;
  inline-size: 4px;
  block-size: 1.25em;
  border-radius: 2px;
  background: var(--brand);
}
/* Covers: one frame for issue and article images (archive, issue page, journal home, article). */
.rp-theme .obj_issue_summary .cover img,
.rp-theme .obj_issue_toc .cover img,
.rp-theme .obj_article_details .cover_image img,
.rp-theme .page_index_site .thumb img {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: 0 1px 2px rgb(16 24 40 / 0.06), 0 4px 12px rgb(16 24 40 / 0.08);
  background: var(--paper);
}
/* Article record: keywords as chips (OJS prints them as one comma-separated line, so wrap it as a soft band). */
.rp-theme .obj_article_details .keywords .value {
  display: inline-block;
  padding: var(--spacing-1) var(--spacing-3);
  border-radius: var(--radius-sm);
  background: var(--brand-surface);
  color: var(--ink);
  font-size: var(--text-sm);
  line-height: 1.9;
}
.rp-theme .obj_article_details .doi .value a,
.rp-theme .obj_article_details .doi a {
  color: var(--brand);
  font-weight: 500;
}
.rp-theme .obj_article_details .item.published .value,
.rp-theme .obj_article_details .item.issue .title {
  font-weight: 500;
}
/* Galley buttons (PDF, HTML) read as the platform's primary "read" action on the article page. */
.rp-theme .obj_article_details .galleys_links .obj_galley_link.pdf {
  border-color: var(--brand);
  background: var(--brand);
  color: var(--paper);
}
.rp-theme .obj_article_details .galleys_links .obj_galley_link.pdf:hover {
  background: var(--brand-hover);
  color: var(--paper);
}
/* Article rows in issue tables of contents: a brand edge on hover/focus, like the platform's list rows. */
.rp-theme .obj_issue_toc .obj_article_summary:hover,
.rp-theme .obj_issue_toc .obj_article_summary:focus-within {
  box-shadow: inset 4px 0 0 var(--brand);
}
.rp-theme[dir="rtl"] .obj_issue_toc .obj_article_summary:hover,
.rp-theme[dir="rtl"] .obj_issue_toc .obj_article_summary:focus-within {
  box-shadow: inset -4px 0 0 var(--brand);
}
/* Numbers and identifiers (ISSN, DOI, pages) in Latin digits stay left-to-right inside Arabic text. */
.rp-theme .obj_article_summary .pages,
.rp-theme .obj_issue_toc .pub_id .id {
  direction: ltr;
  unicode-bidi: isolate;
}

/* 19 · Native PDF reader (pdfJsViewer display.tpl: header_view + galley_view, no rp-theme class) ----------------- */
/* The bar keeps its native height (@line-header, which the iframe offset relies on); brand colours and typeface only. */
.pkp_page_article.pkp_op_view .header_view,
.pkp_page_issue.pkp_op_view .header_view {
  background: var(--colors-primary-sa-flag-950);
  box-shadow: inset 0 -3px 0 var(--brand);
  font-family: var(--body-font);
}
.pkp_page_article.pkp_op_view .header_view .title,
.pkp_page_issue.pkp_op_view .header_view .title {
  font-weight: 600;
  color: var(--paper);
}
.pkp_page_article.pkp_op_view .header_view .return,
.pkp_page_article.pkp_op_view .header_view .download,
.pkp_page_issue.pkp_op_view .header_view .return,
.pkp_page_issue.pkp_op_view .header_view .download {
  background: var(--brand);
  color: var(--paper);
  font-weight: 600;
}
.pkp_page_article.pkp_op_view .header_view .title:hover,
.pkp_page_article.pkp_op_view .header_view .title:focus,
.pkp_page_article.pkp_op_view .header_view .return:hover,
.pkp_page_article.pkp_op_view .header_view .return:focus,
.pkp_page_article.pkp_op_view .header_view .download:hover,
.pkp_page_article.pkp_op_view .header_view .download:focus,
.pkp_page_issue.pkp_op_view .header_view .title:hover,
.pkp_page_issue.pkp_op_view .header_view .title:focus,
.pkp_page_issue.pkp_op_view .header_view .return:hover,
.pkp_page_issue.pkp_op_view .header_view .return:focus,
.pkp_page_issue.pkp_op_view .header_view .download:hover,
.pkp_page_issue.pkp_op_view .header_view .download:focus {
  background: var(--colors-primary-sa-flag-600-primary);
  color: var(--paper);
  outline: 2px solid var(--paper);
  outline-offset: -4px;
}
/* Arabic (display.tpl sets lang but no dir): right-to-left title, mirrored return arrow and download edges. */
.pkp_page_article.pkp_op_view:lang(ar) .header_view,
.pkp_page_issue.pkp_op_view:lang(ar) .header_view {
  direction: rtl;
}
.pkp_page_article.pkp_op_view:lang(ar) .header_view .return,
.pkp_page_issue.pkp_op_view:lang(ar) .header_view .return {
  left: auto;
  right: 0;
  transform: scaleX(-1);
}
.pkp_page_article.pkp_op_view:lang(ar) .header_view .download,
.pkp_page_issue.pkp_op_view:lang(ar) .header_view .download {
  right: auto;
  left: 0;
}
.pkp_page_article.pkp_op_view:lang(ar) .header_view .title,
.pkp_page_issue.pkp_op_view:lang(ar) .header_view .title {
  padding-left: 0;
  padding-right: calc(2.5rem + 1rem);
}
.pkp_page_article.pkp_op_view .galley_view,
.pkp_page_issue.pkp_op_view .galley_view {
  background: var(--colors-neutral-100);
}

/* 20 · Balance, editorial pages and the BAHETH reader entry ------------------------------------------------------ */
/* Covers: real covers keep their proportions but never dominate a page (no giant decorative covers). */
.rp-theme .issues_archive .obj_issue_summary .cover img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 15rem;
  margin-inline: auto;
}
.rp-theme .issues_archive .obj_issue_summary .cover {
  display: block;
  margin-block-end: var(--spacing-3);
  text-align: center;
}
.rp-theme .page_index_journal .current_issue .obj_issue_toc .cover img,
.rp-theme .obj_issue_toc .cover img {
  max-height: 15rem;
  max-width: min(100%, 12rem);
}
.rp-theme .obj_article_details .cover_image img {
  max-height: 20rem;
  max-width: min(100%, 15rem);
}
.rp-theme .page_index_journal .homepage_image img {
  max-height: 22rem;
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius-card);
}
.rp-theme .page_index_site .journals .thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7rem;
  max-height: 10rem;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: var(--canvas);
}
.rp-theme .page_index_site .journals .thumb img {
  max-height: 10rem;
  object-fit: contain;
}
/* Article lists: a little denser so issues and search results show more per screen. */
.rp-theme .obj_article_summary {
  padding: var(--spacing-4) var(--spacing-5);
}
.rp-theme .cmp_article_list,
.rp-theme .search_results {
  gap: var(--spacing-3);
}
/* BAHETH Scientific Reader entry (ResearchPlatformThemePlugin::articleReaderLinks, moved after the galleys). */
.rp-theme .obj_article_details .entry_details .rp-reader-entry {
  margin-block: var(--spacing-3);
  padding: var(--spacing-4);
  border-block-end: 1px solid var(--brand-border);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius-card);
  background: var(--brand-surface);
}
.rp-theme .obj_article_details .rp-reader-entry .label {
  margin: 0 0 var(--spacing-1);
}
.rp-theme .rp-reader-entry__hint {
  margin: 0 0 var(--spacing-3);
  color: var(--muted);
  font-size: var(--text-sm);
  line-height: 1.6;
}
.rp-theme .rp-reader-entry__links {
  display: grid;
  gap: var(--spacing-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .rp-reader-entry__links li {
  margin: 0;
}
.rp-theme .rp-reader-open {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  min-height: 44px;
  padding: var(--spacing-2) var(--spacing-4);
  border: 1px solid var(--brand);
  border-radius: var(--radius-sm);
  background: var(--paper);
  color: var(--brand);
  font-size: var(--text-sm);
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}
.rp-theme .rp-reader-open:hover,
.rp-theme .rp-reader-open:focus-visible {
  background: var(--brand);
  color: var(--paper);
}
.rp-theme .rp-reader-open__icon {
  flex: none;
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--rp-icon-book) center / contain no-repeat;
  mask: var(--rp-icon-book) center / contain no-repeat;
}
/* Editorial board (3.5 masthead): each role group as a section, its members as compact person cards. */
.rp-theme .page_masthead > h2,
.rp-theme .page_masthead h2 {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-block: var(--spacing-8) var(--spacing-4);
  font-size: var(--heading-3);
}
.rp-theme .page_masthead h2::before {
  content: "";
  flex: none;
  inline-size: 4px;
  block-size: 1.25em;
  border-radius: 2px;
  background: var(--brand);
}
.rp-theme .page_masthead .user_listing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: var(--spacing-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rp-theme .page_masthead .user_listing > li {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  margin: 0;
  padding: var(--spacing-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--paper);
}
.rp-theme .page_masthead .user_listing .name {
  color: var(--ink);
  font-weight: 600;
}
.rp-theme .page_masthead .user_listing .affiliation,
.rp-theme .page_masthead .user_listing .date_start {
  color: var(--muted);
  font-size: var(--text-sm);
}
/* Submissions page (author instructions): a clear entry point, the checklist as ticked items, policies as sections. */
.rp-theme .page_submissions .cmp_notification {
  padding: var(--spacing-4) var(--spacing-5);
  border: 1px solid var(--brand-border);
  border-inline-start: 4px solid var(--brand);
  border-radius: var(--radius-md);
  background: var(--brand-surface);
}
.rp-theme .page_submissions :is(.author_guidelines, .submission_checklist, .copyright_notice, .privacy_statement) {
  margin-block: var(--spacing-8) 0;
}
.rp-theme .page_submissions :is(.author_guidelines, .submission_checklist, .copyright_notice, .privacy_statement) > h2 {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding-block-end: var(--spacing-3);
  border-block-end: 1px solid var(--line);
}
.rp-theme .page_submissions :is(.author_guidelines, .submission_checklist, .copyright_notice, .privacy_statement) > h2::before {
  content: "";
  flex: none;
  inline-size: 4px;
  block-size: 1.25em;
  border-radius: 2px;
  background: var(--brand);
}
.rp-theme .page_submissions .submission_checklist ul {
  display: grid;
  gap: var(--spacing-2);
  padding: 0;
  list-style: none;
}
.rp-theme .page_submissions .submission_checklist li {
  position: relative;
  margin: 0;
  padding: var(--spacing-3) var(--spacing-4);
  padding-inline-start: calc(var(--spacing-4) + 1.75rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--paper);
}
.rp-theme .page_submissions .submission_checklist li::before {
  content: "";
  position: absolute;
  top: calc(var(--spacing-3) + 0.2em);
  inset-inline-start: var(--spacing-4);
  width: 1.25rem;
  height: 1.25rem;
  background: var(--brand);
  -webkit-mask: var(--rp-icon-check-circle) center / contain no-repeat;
  mask: var(--rp-icon-check-circle) center / contain no-repeat;
}
/* About, policies and other static pages: a readable measure. */
.rp-theme :is(.page_about, .page_submissions, .page_privacy, .page_contact, .page_masthead) > :is(p, ul, ol, .description) {
  max-width: 75ch;
}
/* Native PDF reader bar: the BAHETH reader is the richer view; the native one stays for direct download. */
.header_view .return {
  font-weight: 600;
}
