/*
 * OJS 3.3.0.21 — UMPO Blue / Clean CSS Override
 * Scope: CSS-only customization for frontend and common OJS dashboard elements.
 * Suggested upload: Website > Appearance > Advanced > Additional CSS (or your theme's CSS upload field).
 *
 * Important:
 * - CSS can restyle existing elements, but cannot create new components or change page structure.
 * - Some selectors depend on the active OJS theme/plugin. If an element does not change,
 *   its theme may use a different selector or the CSS upload field may only affect the frontend.
 */

:root {
  --umpo-blue-950: #0b2545;
  --umpo-blue-900: #103b67;
  --umpo-blue-800: #15528a;
  --umpo-blue-700: #1769aa;
  --umpo-blue-600: #2185d0;
  --umpo-blue-500: #3b9de2;
  --umpo-blue-200: #b9e1fb;
  --umpo-blue-100: #e8f5ff;
  --umpo-blue-50: #f5faff;
  --umpo-white: #ffffff;
  --umpo-ink: #1d2b3a;
  --umpo-muted: #607286;
  --umpo-border: #d9e6f0;
  --umpo-surface: #ffffff;
  --umpo-page: #f3f8fc;
  --umpo-shadow: 0 8px 24px rgba(16, 59, 103, .08);
  --umpo-radius: 14px;
}

/* ---------- Global foundation ---------- */
html { scroll-behavior: smooth; }
body {
  color: var(--umpo-ink);
  background: var(--umpo-page);
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
a {
  color: var(--umpo-blue-700);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}
a:hover, a:focus { color: var(--umpo-blue-900); }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 {
  color: var(--umpo-blue-950);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.02em;
}
h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); }
h2 { font-size: clamp(1.45rem, 2.3vw, 1.9rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1rem; }
::selection { color: #fff; background: var(--umpo-blue-700); }

/* Keep the content centered and spacious on wide screens */
.pkp_structure_page {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  background: var(--umpo-white);
  box-shadow: 0 0 45px rgba(11, 37, 69, .04);
}
.pkp_structure_main {
  min-width: 0;
  background: var(--umpo-white);
}
.pkp_structure_content {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

/* ---------- Header / masthead ---------- */
.pkp_structure_head {
  background: linear-gradient(120deg, var(--umpo-blue-950) 0%, var(--umpo-blue-800) 58%, var(--umpo-blue-600) 100%);
  border: 0;
  color: var(--umpo-white);
}
.pkp_site_name_wrapper {
  padding-top: 1.7rem;
  padding-bottom: 1.7rem;
}
.pkp_site_name {
  margin: 0;
  padding: 0;
}
.pkp_site_name > a,
.pkp_site_name > a:hover,
.pkp_site_name > a:focus {
  color: #fff;
  text-decoration: none;
}
.pkp_site_name .is_img img {
  display: block;
  max-height: 100px;
  width: auto;
  object-fit: contain;
}
.pkp_site_name .is_text {
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0,0,0,.12);
}
.pkp_site_name_wrapper:after { display: none; }

/* Header user/login links */
.pkp_navigation_user_wrapper {
  background: rgba(7, 28, 53, .22);
  border-top: 1px solid rgba(255,255,255,.12);
}
.pkp_navigation_user {
  max-width: 1280px;
  margin: 0 auto;
  padding: .35rem 1.25rem;
}
.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: #fff;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  background: rgba(255,255,255,.13);
  border-radius: 8px;
}

/* ---------- Primary navigation / navbar ---------- */
.pkp_navigation_primary_row {
  background: #fff;
  border-bottom: 1px solid var(--umpo-border);
  box-shadow: 0 5px 18px rgba(16,59,103,.05);
}
.pkp_navigation_primary_wrapper { background: #fff; }
.pkp_navigation_primary {
  max-width: 1280px;
  margin: 0 auto;
}
.pkp_navigation_primary > li > a {
  padding: 1rem .9rem;
  color: var(--umpo-blue-950);
  font-weight: 700;
  font-size: .95rem;
  border-bottom: 3px solid transparent;
  text-decoration: none;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-current="page"] {
  color: var(--umpo-blue-700);
  background: var(--umpo-blue-50);
  border-bottom-color: var(--umpo-blue-600);
}
.pkp_navigation_primary .dropdown-menu,
.pkp_navigation_user .dropdown-menu {
  min-width: 220px;
  padding: .45rem;
  border: 1px solid var(--umpo-border);
  border-radius: 12px;
  box-shadow: var(--umpo-shadow);
  background: #fff;
}
.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_user .dropdown-menu a {
  display: block;
  padding: .65rem .8rem;
  border-radius: 8px;
  color: var(--umpo-ink);
  text-decoration: none;
}
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_user .dropdown-menu a:hover {
  background: var(--umpo-blue-100);
  color: var(--umpo-blue-900);
}

/* ---------- Main layout: full width feel + consistent sidebar ---------- */
.pkp_structure_content,
.pkp_structure_footer {
  padding-left: clamp(1rem, 3vw, 2.5rem);
  padding-right: clamp(1rem, 3vw, 2.5rem);
}
.pkp_structure_main,
.pkp_structure_sidebar {
  box-sizing: border-box;
}
.pkp_structure_sidebar {
  padding-top: 1rem;
}
.pkp_structure_sidebar .pkp_block {
  margin: 0 0 1.25rem;
  padding: 1.2rem;
  background: var(--umpo-blue-50);
  border: 1px solid var(--umpo-border);
  border-radius: var(--umpo-radius);
  box-shadow: 0 4px 14px rgba(16,59,103,.04);
}
.pkp_structure_sidebar .pkp_block .title,
.pkp_block .title {
  margin: 0 0 .9rem;
  padding-bottom: .65rem;
  color: var(--umpo-blue-950);
  font-size: 1.02rem;
  font-weight: 800;
  border-bottom: 2px solid var(--umpo-blue-200);
}
.pkp_structure_sidebar .pkp_block a { overflow-wrap: anywhere; }
.pkp_structure_sidebar input[type="text"],
.pkp_structure_sidebar input[type="search"],
.pkp_structure_sidebar input[type="email"],
.pkp_structure_sidebar select {
  width: 100%;
  max-width: 100%;
}

/* ---------- Search ---------- */
.pkp_search,
.pkp_search_desktop,
.pkp_search_mobile {
  color: var(--umpo-ink);
}
.pkp_search input[type="text"],
.pkp_search input[type="search"],
.pkp_search input[type="email"],
.pkp_search_desktop input,
.pkp_search_mobile input,
input[name="query"],
input[name="search"] {
  min-height: 44px;
  padding: .65rem .9rem;
  color: var(--umpo-ink);
  background: #fff;
  border: 1px solid #c9dbea;
  border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(11,37,69,.03);
}
.pkp_search input:focus,
.pkp_search_desktop input:focus,
.pkp_search_mobile input:focus,
input[name="query"]:focus,
input[name="search"]:focus {
  outline: 3px solid rgba(59,157,226,.2);
  border-color: var(--umpo-blue-600);
}
button, input[type="submit"], .pkp_search button, .cmp_button, .obj_galley_link {
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
button, input[type="submit"], .cmp_button {
  border-radius: 9px;
}
button:hover, input[type="submit"]:hover, .cmp_button:hover {
  box-shadow: 0 5px 14px rgba(21,82,138,.14);
}

/* ---------- Home: current issue / issue cover / journal summary ---------- */
.current_issue,
.obj_issue_toc,
.obj_issue_toc .heading,
.page_index_journal {
  color: var(--umpo-ink);
}
.current_issue {
  margin: 0 0 2rem;
  padding: clamp(1rem, 2.5vw, 2rem);
  background: linear-gradient(135deg, #fff 0%, var(--umpo-blue-50) 100%);
  border: 1px solid var(--umpo-border);
  border-radius: 18px;
  box-shadow: var(--umpo-shadow);
}
.current_issue .current_issue_title,
.current_issue > h2,
.obj_issue_toc .heading h2 {
  margin-top: 0;
  color: var(--umpo-blue-950);
  font-weight: 800;
}
.current_issue .read_more,
.current_issue a.read_more {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .75rem;
  padding: .65rem 1rem;
  color: #fff;
  background: var(--umpo-blue-700);
  border-radius: 9px;
  font-weight: 700;
  text-decoration: none;
}
.current_issue .read_more:hover,
.current_issue a.read_more:hover {
  color: #fff;
  background: var(--umpo-blue-900);
}
.current_issue .cover img,
.obj_issue_toc .cover img,
.obj_issue_summary .cover img {
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(11,37,69,.15);
}
.current_issue .description,
.journal_description,
.journal-description,
.pkp_page_index .additional_content {
  color: #40556a;
}
.pkp_page_index .current_issue .section,
.obj_issue_toc .section {
  margin-top: 1.4rem;
}

/* Article entries on issue pages and homepage */
.obj_article_summary {
  position: relative;
  margin: 0 0 1rem;
  padding: 1.15rem 1.25rem;
  background: #fff;
  border: 1px solid var(--umpo-border);
  border-radius: 12px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.obj_article_summary:hover {
  border-color: #a7d5f5;
  box-shadow: 0 8px 22px rgba(16,59,103,.07);
  transform: translateY(-1px);
}
.obj_article_summary .title,
.obj_article_summary h3,
.obj_article_summary h4 {
  margin-top: 0;
  margin-bottom: .45rem;
  color: var(--umpo-blue-900);
  font-weight: 750;
}
.obj_article_summary .title a,
.obj_article_summary h3 a,
.obj_article_summary h4 a {
  color: var(--umpo-blue-900);
  text-decoration: none;
}
.obj_article_summary .title a:hover,
.obj_article_summary h3 a:hover,
.obj_article_summary h4 a:hover { color: var(--umpo-blue-600); }
.obj_article_summary .authors,
.obj_article_summary .meta,
.obj_article_summary .pages,
.obj_article_summary .published {
  color: var(--umpo-muted);
  font-size: .9rem;
}
.obj_article_summary .galleys_links,
.obj_article_summary .links {
  margin-top: .7rem;
}

/* ---------- Archive / issue listing ---------- */
.page_issue_archive .issues_archive,
.page_issue_archive .issues_archive > li,
.issues_archive {
  list-style: none;
}
.page_issue_archive .issues_archive {
  margin: 0;
  padding: 0;
}
.page_issue_archive .issues_archive > li,
.issues_archive > li {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin: 0 0 1rem;
  padding: 1.2rem;
  background: #fff;
  border: 1px solid var(--umpo-border);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(16,59,103,.04);
}
.page_issue_archive .issues_archive > li:hover,
.issues_archive > li:hover {
  border-color: #a7d5f5;
  box-shadow: var(--umpo-shadow);
}
.page_issue_archive .issues_archive .cover img,
.issues_archive .cover img {
  width: auto;
  max-width: 130px;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(11,37,69,.12);
}
.page_issue_archive .issues_archive .title,
.issues_archive .title {
  margin-top: 0;
  color: var(--umpo-blue-900);
  font-weight: 800;
}
.page_issue_archive .issues_archive .description,
.issues_archive .description {
  color: var(--umpo-muted);
}

/* ---------- Article details / breadcrumbs / pagination ---------- */
.pkp_page_article .item,
.obj_article_details .item {
  margin-bottom: 1rem;
}
.cmp_breadcrumbs {
  margin-bottom: 1.25rem;
  color: var(--umpo-muted);
  font-size: .88rem;
}
.cmp_breadcrumbs a { color: var(--umpo-blue-700); }
.cmp_pagination a,
.cmp_pagination .current {
  display: inline-block;
  margin: .15rem;
  padding: .45rem .75rem;
  border: 1px solid var(--umpo-border);
  border-radius: 8px;
  text-decoration: none;
}
.cmp_pagination .current {
  color: #fff;
  background: var(--umpo-blue-700);
  border-color: var(--umpo-blue-700);
}
.cmp_pagination a:hover {
  background: var(--umpo-blue-100);
  border-color: var(--umpo-blue-200);
}

/* ---------- Forms, login, registration ---------- */
.pkp_form,
.pkp_form fieldset,
.page_login form,
.page_lost_password form,
.page_register form {
  color: var(--umpo-ink);
}
.pkp_form fieldset,
.page_login form,
.page_lost_password form,
.page_register form {
  padding: clamp(1rem, 2vw, 1.6rem);
  background: #fff;
  border: 1px solid var(--umpo-border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(16,59,103,.05);
}
label, .pkp_form label {
  color: var(--umpo-blue-950);
  font-weight: 650;
}
input[type="text"], input[type="email"], input[type="password"],
input[type="url"], input[type="number"], input[type="search"],
select, textarea {
  max-width: 100%;
  border: 1px solid #c9dbea;
  border-radius: 9px;
  background: #fff;
  color: var(--umpo-ink);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input[type="url"]:focus, input[type="number"]:focus, input[type="search"]:focus,
select:focus, textarea:focus {
  outline: 3px solid rgba(59,157,226,.18);
  border-color: var(--umpo-blue-600);
}
button, input[type="submit"], .cmp_button, a.cmp_button {
  padding: .65rem 1rem;
  color: #fff;
  background: var(--umpo-blue-700);
  border: 1px solid var(--umpo-blue-700);
  font-weight: 700;
  text-decoration: none;
}
button:hover, input[type="submit"]:hover, .cmp_button:hover, a.cmp_button:hover {
  color: #fff;
  background: var(--umpo-blue-900);
  border-color: var(--umpo-blue-900);
}
.cmp_button_wire,
a.cmp_button_wire {
  color: var(--umpo-blue-700);
  background: #fff;
  border-color: #a8cce7;
}
.cmp_button_wire:hover,
a.cmp_button_wire:hover {
  color: var(--umpo-blue-900);
  background: var(--umpo-blue-50);
}

/* ---------- Tables and notices ---------- */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid var(--umpo-border);
  border-radius: 10px;
  overflow: hidden;
}
th {
  color: var(--umpo-blue-950);
  background: var(--umpo-blue-100);
  font-weight: 800;
}
th, td {
  padding: .75rem .9rem;
  border-bottom: 1px solid var(--umpo-border);
  text-align: left;
}
tr:last-child td { border-bottom: 0; }
tr:nth-child(even) td { background: #fbfdff; }
.cmp_notification,
.pkp_notification {
  padding: .9rem 1rem;
  border-radius: 10px;
  border-width: 1px;
}

/* ---------- Footer ---------- */
.pkp_structure_footer_wrapper {
  color: #dcecff;
  background: linear-gradient(120deg, var(--umpo-blue-950), var(--umpo-blue-800));
  border-top: 4px solid var(--umpo-blue-500);
}
.pkp_structure_footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
  color: #dcecff;
}
.pkp_structure_footer a {
  color: #fff;
  text-decoration-color: rgba(255,255,255,.45);
}
.pkp_structure_footer a:hover { color: var(--umpo-blue-200); }
.pkp_brand_footer,
.pkp_brand_footer a { color: #fff; }

/* ---------- Backend / dashboard common elements ---------- */
/* The dashboard may use separate templates/styles; these selectors only affect matching elements. */
.pkp_page_dashboard,
.pkp_page_workflow,
.pkp_page_submissions,
.pkp_page_management,
.pkp_page_users,
.pkp_page_settings {
  color: var(--umpo-ink);
}
.pkp_page_dashboard .pkp_structure_main,
.pkp_page_workflow .pkp_structure_main,
.pkp_page_submissions .pkp_structure_main,
.pkp_page_management .pkp_structure_main,
.pkp_page_users .pkp_structure_main,
.pkp_page_settings .pkp_structure_main {
  background: var(--umpo-white);
}
.pkp_page_dashboard .pkp_structure_content,
.pkp_page_workflow .pkp_structure_content,
.pkp_page_submissions .pkp_structure_content,
.pkp_page_management .pkp_structure_content,
.pkp_page_users .pkp_structure_content,
.pkp_page_settings .pkp_structure_content {
  background: var(--umpo-white);
}
.pkp_page_dashboard .pkp_nav_list,
.pkp_page_workflow .pkp_nav_list,
.pkp_page_submissions .pkp_nav_list,
.pkp_page_management .pkp_nav_list,
.pkp_page_users .pkp_nav_list,
.pkp_page_settings .pkp_nav_list {
  border-radius: 10px;
}
.pkp_page_dashboard .pkp_nav_list a,
.pkp_page_workflow .pkp_nav_list a,
.pkp_page_submissions .pkp_nav_list a,
.pkp_page_management .pkp_nav_list a,
.pkp_page_users .pkp_nav_list a,
.pkp_page_settings .pkp_nav_list a {
  border-radius: 8px;
}
.pkp_page_dashboard .pkp_nav_list a:hover,
.pkp_page_workflow .pkp_nav_list a:hover,
.pkp_page_submissions .pkp_nav_list a:hover,
.pkp_page_management .pkp_nav_list a:hover,
.pkp_page_users .pkp_nav_list a:hover,
.pkp_page_settings .pkp_nav_list a:hover {
  color: var(--umpo-blue-900);
  background: var(--umpo-blue-100);
}
.pkp_page_dashboard .pkp_nav_list .current,
.pkp_page_workflow .pkp_nav_list .current,
.pkp_page_submissions .pkp_nav_list .current,
.pkp_page_management .pkp_nav_list .current,
.pkp_page_users .pkp_nav_list .current,
.pkp_page_settings .pkp_nav_list .current {
  color: var(--umpo-blue-900);
  background: var(--umpo-blue-100);
  border-left: 3px solid var(--umpo-blue-600);
  font-weight: 800;
}
.pkp_page_dashboard .pkp_linkaction,
.pkp_page_workflow .pkp_linkaction,
.pkp_page_submissions .pkp_linkaction,
.pkp_page_management .pkp_linkaction,
.pkp_page_users .pkp_linkaction,
.pkp_page_settings .pkp_linkaction {
  color: var(--umpo-blue-700);
}
.pkp_page_dashboard .pkp_linkaction:hover,
.pkp_page_workflow .pkp_linkaction:hover,
.pkp_page_submissions .pkp_linkaction:hover,
.pkp_page_management .pkp_linkaction:hover,
.pkp_page_users .pkp_linkaction:hover,
.pkp_page_settings .pkp_linkaction:hover {
  color: var(--umpo-blue-950);
}
.pkp_page_dashboard .pkp_notification,
.pkp_page_workflow .pkp_notification,
.pkp_page_submissions .pkp_notification,
.pkp_page_management .pkp_notification,
.pkp_page_users .pkp_notification,
.pkp_page_settings .pkp_notification {
  border-radius: 10px;
}
.pkp_page_dashboard .pkp_form,
.pkp_page_workflow .pkp_form,
.pkp_page_submissions .pkp_form,
.pkp_page_management .pkp_form,
.pkp_page_users .pkp_form,
.pkp_page_settings .pkp_form {
  max-width: 100%;
}
.pkp_page_dashboard .pkp_form input,
.pkp_page_dashboard .pkp_form select,
.pkp_page_dashboard .pkp_form textarea,
.pkp_page_workflow .pkp_form input,
.pkp_page_workflow .pkp_form select,
.pkp_page_workflow .pkp_form textarea,
.pkp_page_submissions .pkp_form input,
.pkp_page_submissions .pkp_form select,
.pkp_page_submissions .pkp_form textarea {
  border-radius: 8px;
}

/* Backend table row hover */
.pkp_page_dashboard table tr:hover td,
.pkp_page_workflow table tr:hover td,
.pkp_page_submissions table tr:hover td,
.pkp_page_management table tr:hover td,
.pkp_page_users table tr:hover td,
.pkp_page_settings table tr:hover td {
  background: #f0f8ff;
}

/* ---------- Responsive adjustments ---------- */
@media (min-width: 1200px) {
  .pkp_structure_page { max-width: 100%; }
  .pkp_structure_content,
  .pkp_structure_footer {
    padding-left: clamp(2rem, 4vw, 4.5rem);
    padding-right: clamp(2rem, 4vw, 4.5rem);
  }
}
@media (max-width: 767px) {
  body { font-size: 15px; }
  .pkp_site_name_wrapper { padding: 1.2rem 1rem; }
  .pkp_site_name .is_text { font-size: 1.45rem; }
  .pkp_navigation_primary > li > a { padding: .75rem .8rem; }
  .page_issue_archive .issues_archive > li,
  .issues_archive > li {
    display: block;
  }
  .page_issue_archive .issues_archive .cover,
  .issues_archive .cover {
    margin: 0 0 1rem;
  }
  .page_issue_archive .issues_archive .cover img,
  .issues_archive .cover img {
    max-width: 105px;
  }
  .current_issue { padding: 1rem; }
  .pkp_structure_content { padding-top: 1.25rem; padding-bottom: 2rem; }
  table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* ==========================================================
   REVISION 1 — HOME CURRENT ISSUE / VIEW ALL ISSUES / ARTICLES
   Append-only override for OJS 3.3.0.21
   ========================================================== */

/* "View All Issues" link/button: white text on a blue surface */
.current_issue .read_more,
.current_issue a.read_more,
.pkp_page_index .current_issue a,
.pkp_page_index .current_issue .read_more,
a.read_more,
.obj_issue_toc .read_more {
  color: #fff !important;
}
.current_issue .read_more,
.current_issue a.read_more,
.pkp_page_index .current_issue .read_more,
.pkp_page_index .current_issue a.read_more,
a.read_more,
.obj_issue_toc .read_more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .65rem 1rem;
  color: #fff !important;
  background: #1769aa;
  border: 1px solid #1769aa;
  border-radius: 9px;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none !important;
}
.current_issue .read_more:hover,
.current_issue a.read_more:hover,
.pkp_page_index .current_issue .read_more:hover,
.pkp_page_index .current_issue a.read_more:hover,
a.read_more:hover,
.obj_issue_toc .read_more:hover {
  color: #fff !important;
  background: #103b67;
  border-color: #103b67;
}

/* Article cards: remove gaps so entries appear tightly stacked */
.obj_issue_toc .articles,
.obj_issue_toc .section,
.pkp_page_index .current_issue .sections,
.pkp_page_index .current_issue .section {
  margin-bottom: 0;
}
.obj_issue_toc .articles > li,
.obj_issue_toc .section .obj_article_summary,
.pkp_page_index .current_issue .obj_article_summary,
.obj_issue_toc .obj_article_summary {
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.obj_issue_toc .obj_article_summary,
.pkp_page_index .current_issue .obj_article_summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title title"
    "authors pages"
    "affiliation pages"
    "pdf pdf";
  column-gap: 1rem;
  row-gap: .25rem;
  padding: 1.05rem 1.15rem;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #d9e6f0 !important;
  border-left: 3px solid transparent;
  transition: background-color .18s ease, border-color .18s ease;
}
.obj_issue_toc .obj_article_summary:first-child,
.pkp_page_index .current_issue .obj_article_summary:first-child {
  border-top: 1px solid #d9e6f0;
}
.obj_issue_toc .obj_article_summary:hover,
.pkp_page_index .current_issue .obj_article_summary:hover {
  background: #f5faff;
  border-left-color: #2185d0;
  transform: none;
}

/* Title on the first line */
.obj_article_summary .title,
.obj_article_summary h3,
.obj_article_summary h4 {
  grid-area: title;
  margin: 0 0 .25rem !important;
  font-size: 1.06rem;
  line-height: 1.45;
  font-weight: 800;
}
.obj_article_summary .title a,
.obj_article_summary h3 a,
.obj_article_summary h4 a {
  color: #103b67;
  text-decoration: none;
}
.obj_article_summary .title a:hover,
.obj_article_summary h3 a:hover,
.obj_article_summary h4 a:hover {
  color: #2185d0;
  text-decoration: underline;
}

/* Author name beneath title */
.obj_article_summary .authors,
.obj_article_summary .author {
  grid-area: authors;
  margin: 0 !important;
  color: #40556a;
  font-size: .9rem;
  line-height: 1.5;
}

/* Page range / page count aligned on the right */
.obj_article_summary .pages,
.obj_article_summary .page {
  grid-area: pages;
  align-self: center;
  justify-self: end;
  margin: 0 !important;
  padding: .3rem .55rem;
  color: #15528a;
  background: #e8f5ff;
  border: 1px solid #b9e1fb;
  border-radius: 7px;
  font-size: .82rem;
  font-weight: 750;
  white-space: nowrap;
}

/* Affiliation: style if the active theme/plugin outputs it inside the summary */
.obj_article_summary .affiliation,
.obj_article_summary .author-affiliation,
.obj_article_summary .affiliations,
.obj_article_summary .institution,
.obj_article_summary .authorInstitution {
  grid-area: affiliation;
  margin: 0 !important;
  color: #718398;
  font-size: .82rem;
  line-height: 1.45;
}

/* PDF / galley download row below author and affiliation */
.obj_article_summary .galleys_links,
.obj_article_summary .links,
.obj_article_summary .article_galleys,
.obj_article_summary ul.galleys_links {
  grid-area: pdf;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin: .45rem 0 0 !important;
  padding: 0;
  list-style: none;
}
.obj_article_summary .galleys_links a,
.obj_article_summary .links a,
.obj_article_summary .article_galleys a,
.obj_article_summary a.obj_galley_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .42rem .75rem;
  color: #fff !important;
  background: #1769aa;
  border: 1px solid #1769aa;
  border-radius: 7px;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.3;
  text-decoration: none !important;
}
.obj_article_summary .galleys_links a:hover,
.obj_article_summary .links a:hover,
.obj_article_summary .article_galleys a:hover,
.obj_article_summary a.obj_galley_link:hover {
  color: #fff !important;
  background: #103b67;
  border-color: #103b67;
}

/* Keep metadata readable when OJS/theme wraps it differently */
.obj_article_summary .meta,
.obj_article_summary .published {
  color: #718398;
  font-size: .82rem;
}

/* Mobile: stack page information to avoid squeezing article titles */
@media (max-width: 600px) {
  .obj_issue_toc .obj_article_summary,
  .pkp_page_index .current_issue .obj_article_summary {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "title"
      "authors"
      "affiliation"
      "pages"
      "pdf";
    row-gap: .4rem;
    padding: .9rem;
  }
  .obj_article_summary .pages,
  .obj_article_summary .page {
    justify-self: start;
    align-self: start;
  }
}
