/* ==========================================================================
   JCSIR — Custom Stylesheet for OJS 3.5 (Default Theme)
   Journal of Computer Science Innovations and Research
   Upload: Settings > Website > Appearance > Setup > Journal style sheet
   Palette taken from the journal's banner/footer: deep navy + electric blue
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&display=swap");

:root {
  --jc-navy-900: #0A0F1E;
  --jc-navy-800: #0F1830;
  --jc-navy-700: #16223F;
  --jc-blue: #2E9FE8;
  --jc-blue-dark: #1B7FC4;
  --jc-blue-soft: #E8F4FD;
  --jc-ink: #1A2233;
  --jc-muted: #5B6B80;
  --jc-line: #E3E8EF;
  --jc-bg: #F4F7FB;
  --jc-white: #FFFFFF;
  --jc-radius: 10px;
  --jc-radius-sm: 6px;
  --jc-shadow: 0 1px 2px rgba(10, 15, 30, .05), 0 6px 20px rgba(10, 15, 30, .06);
  --jc-shadow-hover: 0 4px 10px rgba(10, 15, 30, .08), 0 14px 32px rgba(10, 15, 30, .10);
  --jc-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --jc-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
}

/* --------------------------------------------------------------------------
   1. Base
   -------------------------------------------------------------------------- */
html, body {
  background: var(--jc-bg);
}

body {
  font-family: var(--jc-sans);
  color: var(--jc-ink);
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.page_title,
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
  font-family: var(--jc-serif);
  color: var(--jc-navy-900);
  font-weight: 600;
  line-height: 1.3;
}

a {
  color: var(--jc-blue-dark);
  text-decoration: none;
  transition: color .2s ease;
}

a:hover,
a:focus {
  color: var(--jc-blue);
}

::selection {
  background: var(--jc-blue);
  color: var(--jc-white);
}

:focus-visible {
  outline: 2px solid var(--jc-blue);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   2. Header
   -------------------------------------------------------------------------- */
.pkp_structure_head {
  background: var(--jc-navy-900) !important;           /* overrides header background image option */
  background-image:
    linear-gradient(rgba(46, 159, 232, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46, 159, 232, .06) 1px, transparent 1px),
    linear-gradient(135deg, var(--jc-navy-900) 0%, var(--jc-navy-700) 100%) !important;
  background-size: 32px 32px, 32px 32px, 100% 100% !important;
  border-bottom: 3px solid var(--jc-blue);
  box-shadow: 0 2px 16px rgba(10, 15, 30, .25);
}

.pkp_site_name .is_img img {
  border-radius: var(--jc-radius-sm);
}

.pkp_site_name > a:not(.is_img) {
  font-family: var(--jc-serif);
  color: var(--jc-white);
}

/* Mobile menu toggle */
.pkp_site_nav_toggle {
  background: var(--jc-blue);
  border-radius: var(--jc-radius-sm);
}

/* Mobile menu panel */
.pkp_site_nav_menu {
  background: var(--jc-navy-800);
}

@media (min-width: 992px) {
  .pkp_head_wrapper {
    padding-top: 1.6rem;
  }

  .pkp_site_name {
    padding-top: .5rem;
    padding-bottom: 1rem;
  }

  .pkp_site_name .is_img img {
    max-height: 90px;
  }

  .pkp_site_nav_menu {
    background: transparent;
  }

  .pkp_navigation_primary_row {
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* --------------------------------------------------------------------------
   3. Primary navigation
   -------------------------------------------------------------------------- */
.pkp_navigation_primary > li > a {
  font-family: var(--jc-sans);
  font-weight: 500;
  font-size: .95rem;
  letter-spacing: .01em;
  color: rgba(255, 255, 255, .88);
  transition: color .2s ease, border-color .2s ease;
}

@media (min-width: 992px) {
  .pkp_navigation_primary > li > a {
    margin: 0 1.1rem 0 0;
    padding: 1rem 0 .9rem;
    border-bottom: 3px solid transparent;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus,
  .pkp_navigation_primary > li:hover > a {
    color: var(--jc-white);
    border-bottom-color: var(--jc-blue);
    text-decoration: none;
  }

  /* dropdowns */
  .pkp_navigation_primary ul {
    background: var(--jc-white);
    border: 1px solid var(--jc-line);
    border-radius: var(--jc-radius);
    box-shadow: var(--jc-shadow-hover);
    padding: .5rem 0;
    margin-top: 0;
    min-width: 220px;
  }

  .pkp_navigation_primary ul a {
    color: var(--jc-ink);
    font-size: .92rem;
    padding: .55rem 1.1rem;
    border-left: 3px solid transparent;
  }

  .pkp_navigation_primary ul a:hover,
  .pkp_navigation_primary ul a:focus {
    background: var(--jc-blue-soft);
    color: var(--jc-blue-dark);
    border-left-color: var(--jc-blue);
    text-decoration: none;
  }

  /* search link */
  .pkp_navigation_search_wrapper a {
    color: rgba(255, 255, 255, .88);
    font-weight: 500;
    padding: .45rem 1rem;
    margin-top: .45rem;
    border: 1px solid rgba(46, 159, 232, .55);
    border-radius: 999px;
    transition: all .2s ease;
  }

  .pkp_navigation_search_wrapper a:hover,
  .pkp_navigation_search_wrapper a:focus {
    background: var(--jc-blue);
    border-color: var(--jc-blue);
    color: var(--jc-white);
    text-decoration: none;
  }
}

/* Mobile nav links */
@media (max-width: 991px) {
  .pkp_navigation_primary > li > a,
  .pkp_navigation_primary ul a,
  .pkp_navigation_user a,
  .pkp_navigation_search_wrapper a {
    color: rgba(255, 255, 255, .9);
  }

  .pkp_navigation_primary > li {
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }
}

/* --------------------------------------------------------------------------
   4. User navigation (Register / Login)
   -------------------------------------------------------------------------- */
.pkp_navigation_user > li > a {
  font-size: .85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, .8);
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: var(--jc-white);
  text-decoration: none;
}

@media (min-width: 992px) {
  .pkp_navigation_user_wrapper {
    top: .35rem;
  }

  .pkp_navigation_user > li > a {
    padding: .25rem .8rem;
    border-radius: 999px;
  }

  .pkp_navigation_user > li:last-child > a {
    background: var(--jc-blue);
    color: var(--jc-white);
    margin-left: .35rem;
  }

  .pkp_navigation_user > li:last-child > a:hover {
    background: var(--jc-blue-dark);
  }

  .pkp_navigation_user ul {
    background: var(--jc-white);
    border-radius: var(--jc-radius);
    box-shadow: var(--jc-shadow-hover);
  }

  .pkp_navigation_user ul a {
    color: var(--jc-ink);
  }
}

.pkp_navigation_user .task_count {
  background: var(--jc-blue);
  color: var(--jc-white);
}

/* --------------------------------------------------------------------------
   5. Layout: main content + sidebar
   -------------------------------------------------------------------------- */
.pkp_structure_content {
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}

/* remove default theme vertical divider lines */
.pkp_structure_main:before,
.pkp_structure_main:after {
  display: none !important;
}

.pkp_structure_main {
  background: var(--jc-white);
  border: 1px solid var(--jc-line);
  border-radius: var(--jc-radius);
  box-shadow: var(--jc-shadow);
  padding: 1.5rem;
}

@media (min-width: 768px) {
  .pkp_structure_main {
    padding: 2.25rem 2.5rem;
  }
}

/* Homepage: let the banner breathe edge-to-edge in the card */
.pkp_page_index .pkp_structure_main {
  padding: 0;
  overflow: hidden;
}

.pkp_page_index .page_index_journal > *:not(.homepage_image) {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 768px) {
  .pkp_page_index .page_index_journal > *:not(.homepage_image) {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.pkp_page_index .page_index_journal > *:last-child {
  padding-bottom: 2rem;
}

.homepage_image {
  margin: 0;
}

.homepage_image img {
  display: block;
  width: 100%;
  height: auto;
}

/* Breadcrumbs */
.cmp_breadcrumbs {
  font-size: .85rem;
  color: var(--jc-muted);
  margin-bottom: 1rem;
}

.cmp_breadcrumbs a {
  color: var(--jc-muted);
}

.cmp_breadcrumbs a:hover {
  color: var(--jc-blue-dark);
}

.cmp_breadcrumbs .current {
  color: var(--jc-ink);
}

/* Page titles */
.page_title,
.pkp_structure_main .page > h1 {
  font-size: 2rem;
  margin: 0 0 1.5rem;
  padding-bottom: .9rem;
  position: relative;
}

.page_title:after,
.pkp_structure_main .page > h1:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 64px;
  height: 3px;
  border-radius: 3px;
  background: var(--jc-blue);
}

.pkp_structure_main h2 { font-size: 1.45rem; }
.pkp_structure_main h3 { font-size: 1.15rem; }

.pkp_structure_main p,
.pkp_structure_main li {
  color: #2E3A4D;
}

/* --------------------------------------------------------------------------
   6. Sidebar blocks
   -------------------------------------------------------------------------- */
.pkp_structure_sidebar {
  padding-top: 0;
}

.pkp_structure_sidebar .pkp_block {
  background: var(--jc-white);
  border: 1px solid var(--jc-line);
  border-radius: var(--jc-radius);
  box-shadow: var(--jc-shadow);
  padding: 1.25rem 1.35rem;
  margin: 0 0 1.25rem;
}

@media (min-width: 992px) {
  .pkp_structure_sidebar {
    padding-left: 1.5rem;
  }
}

.pkp_block .title {
  display: block;
  font-family: var(--jc-sans);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jc-blue-dark);
  margin-bottom: .9rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--jc-line);
}

.pkp_block ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pkp_block li {
  padding: .35rem 0;
}

.pkp_block li a {
  color: var(--jc-ink);
}

.pkp_block li a:hover {
  color: var(--jc-blue-dark);
}

/* "Make a Submission" block */
.block_make_submission {
  background: linear-gradient(135deg, var(--jc-navy-900), var(--jc-navy-700)) !important;
  border: 0 !important;
}

.block_make_submission a,
.block_make_submission_link {
  display: block;
  text-align: center;
  background: var(--jc-blue);
  color: var(--jc-white) !important;
  font-weight: 600;
  border-radius: var(--jc-radius-sm);
  padding: .8rem 1rem;
  transition: background .2s ease, transform .2s ease;
}

.block_make_submission a:hover {
  background: var(--jc-blue-dark);
  transform: translateY(-1px);
  text-decoration: none;
}

.block_web_feed a img {
  vertical-align: middle;
}

/* --------------------------------------------------------------------------
   7. Buttons & forms
   -------------------------------------------------------------------------- */
.cmp_button,
.cmp_button_wire,
.pkp_button,
.cmp_form .buttons button,
.cmp_form .buttons a.submit,
button.submit,
.page_search .submit button,
.obj_galley_link {
  font-family: var(--jc-sans);
  font-weight: 600;
  border-radius: var(--jc-radius-sm);
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cmp_button,
.cmp_form .buttons button,
.cmp_form .buttons a.submit,
button.submit,
.page_search .submit button {
  background: var(--jc-blue);
  border: 1px solid var(--jc-blue);
  color: var(--jc-white);
  padding: 0 1.4rem;
  line-height: 2.6rem;
  height: auto;
  box-shadow: none;
}

.cmp_button:hover,
.cmp_form .buttons button:hover,
.cmp_form .buttons a.submit:hover,
button.submit:hover,
.page_search .submit button:hover {
  background: var(--jc-blue-dark);
  border-color: var(--jc-blue-dark);
  color: var(--jc-white);
  box-shadow: 0 6px 16px rgba(46, 159, 232, .3);
}

.cmp_button_wire,
.cmp_form .buttons a:not(.submit) {
  background: transparent;
  border: 1px solid var(--jc-blue);
  color: var(--jc-blue-dark);
}

.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form input[type="url"],
.cmp_form input[type="tel"],
.cmp_form select,
.cmp_form textarea,
.page_search input[type="text"],
.page_search select,
.pkp_search input[type="text"] {
  font-family: var(--jc-sans);
  background: var(--jc-white);
  border: 1px solid #CDD6E1;
  border-radius: var(--jc-radius-sm);
  padding: .6rem .8rem;
  min-height: 2.6rem;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.cmp_form input:focus,
.cmp_form select:focus,
.cmp_form textarea:focus,
.page_search input:focus,
.page_search select:focus {
  border-color: var(--jc-blue);
  box-shadow: 0 0 0 3px rgba(46, 159, 232, .18);
  outline: none;
}

.cmp_form .label,
.cmp_form legend {
  font-weight: 600;
  color: var(--jc-ink);
}

.cmp_form fieldset {
  border: 0;
}

.cmp_form .required {
  color: #D64545;
}

/* Notifications */
.cmp_notification {
  background: var(--jc-blue-soft);
  border: 0;
  border-left: 4px solid var(--jc-blue);
  border-radius: var(--jc-radius-sm);
  color: var(--jc-ink);
  padding: 1rem 1.25rem;
}

/* Pagination */
.cmp_pagination {
  font-size: .9rem;
  margin-top: 2rem;
}

.cmp_pagination a,
.cmp_pagination .current {
  display: inline-block;
  padding: .3rem .75rem;
  border-radius: var(--jc-radius-sm);
  border: 1px solid var(--jc-line);
}

.cmp_pagination .current {
  background: var(--jc-blue);
  border-color: var(--jc-blue);
  color: var(--jc-white);
}

/* --------------------------------------------------------------------------
   8. Homepage sections (description, announcements, current issue)
   -------------------------------------------------------------------------- */
.page_index_journal .about_journal,
.page_index_journal .journal-description,
.page_index_journal .additional_content {
  padding-top: 2rem;
  font-size: 1rem;
}

.cmp_announcements {
  padding-top: 2rem;
  border-top: 1px solid var(--jc-line);
  margin-top: 2rem;
}

.cmp_announcements > .obj_announcement_summary,
.cmp_announcements .more > .obj_announcement_summary {
  background: var(--jc-bg);
  border-radius: var(--jc-radius);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid var(--jc-blue);
}

.obj_announcement_summary h2,
.obj_announcement_summary h3,
.obj_announcement_summary h4 {
  font-size: 1.15rem;
  margin: 0 0 .35rem;
}

.obj_announcement_summary h2 a,
.obj_announcement_summary h3 a,
.obj_announcement_summary h4 a {
  color: var(--jc-navy-900);
}

.obj_announcement_summary h2 a:hover,
.obj_announcement_summary h3 a:hover,
.obj_announcement_summary h4 a:hover {
  color: var(--jc-blue-dark);
}

.obj_announcement_summary .date {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--jc-blue-dark);
}

.obj_announcement_summary .read_more {
  font-weight: 600;
}

.page_index_journal .current_issue {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--jc-line);
}

.page_index_journal .current_issue > h2 {
  font-family: var(--jc-sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jc-blue-dark);
}

.page_index_journal .current_issue .read_more {
  display: inline-block;
  margin-top: 1rem;
  font-weight: 600;
  padding: .55rem 1.2rem;
  border: 1px solid var(--jc-blue);
  border-radius: 999px;
}

.page_index_journal .current_issue .read_more:hover {
  background: var(--jc-blue);
  color: var(--jc-white);
}

/* --------------------------------------------------------------------------
   9. Issue table of contents
   -------------------------------------------------------------------------- */
.obj_issue_toc .heading {
  background: linear-gradient(135deg, var(--jc-navy-900), var(--jc-navy-700));
  color: rgba(255, 255, 255, .85);
  border-radius: var(--jc-radius);
  padding: 1.5rem;
  margin-bottom: 2rem;
  overflow: hidden;
}

.obj_issue_toc .heading a { color: var(--jc-blue); }

.obj_issue_toc .heading .description,
.obj_issue_toc .heading .description p,
.obj_issue_toc .heading .pub_id,
.obj_issue_toc .heading .published {
  color: rgba(255, 255, 255, .8);
}

.obj_issue_toc .heading .label {
  color: var(--jc-blue);
  font-weight: 600;
}

.obj_issue_toc .cover img,
.obj_issue_summary .cover img {
  border-radius: var(--jc-radius-sm);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

.obj_issue_toc .galleys,
.obj_issue_toc .section {
  margin: 2rem 0 0;
}

.obj_issue_toc .galleys h2,
.obj_issue_toc .section h2 {
  position: static;
  display: inline-block;
  background: var(--jc-blue-soft);
  color: var(--jc-blue-dark);
  font-family: var(--jc-sans);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .35rem .85rem;
  border-radius: 999px;
  margin: 0 0 1rem;
}

.obj_issue_toc .galleys:before,
.obj_issue_toc .section:before {
  display: none;
}

.obj_issue_toc .section > .cmp_article_list {
  margin: 0;
  padding: 0;
}

.cmp_article_list > li {
  list-style: none;
  margin-bottom: 1rem;
}

/* Article summary cards */
.obj_article_summary {
  background: var(--jc-white);
  border: 1px solid var(--jc-line);
  border-radius: var(--jc-radius);
  padding: 1.25rem 1.4rem;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}

.obj_article_summary:hover {
  border-color: rgba(46, 159, 232, .45);
  box-shadow: var(--jc-shadow-hover);
  transform: translateY(-2px);
}

@media (min-width: 768px) {
  .obj_article_summary {
    padding-right: 1.4rem;
  }

  .obj_article_summary .meta .pages {
    position: static;
  }
}

.obj_article_summary .cover {
  margin-bottom: 1rem;
}

.obj_article_summary .cover img {
  border-radius: var(--jc-radius-sm);
}

.obj_article_summary > .title,
.obj_article_summary h3.title,
.obj_article_summary h4.title,
.obj_article_summary .title {
  font-family: var(--jc-serif);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
}

.obj_article_summary .title a {
  color: var(--jc-navy-900);
}

.obj_article_summary .title a:hover {
  color: var(--jc-blue-dark);
}

.obj_article_summary .subtitle {
  color: var(--jc-muted);
  font-size: .95rem;
}

.obj_article_summary .meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .25rem 1rem;
  margin-top: .5rem;
  font-size: .88rem;
  color: var(--jc-muted);
}

.obj_article_summary .authors {
  color: var(--jc-muted);
}

.obj_article_summary .pages,
.obj_article_summary .published {
  font-size: .8rem;
  color: var(--jc-muted);
}

.obj_article_summary .galleys_links {
  margin-top: .85rem;
}

/* Galley (PDF / HTML) buttons */
.obj_galley_link {
  background: var(--jc-white);
  border: 1px solid var(--jc-blue);
  color: var(--jc-blue-dark);
  font-size: .82rem;
  line-height: 2rem;
  padding: 0 .9rem;
}

.obj_galley_link:hover,
.obj_galley_link:focus {
  background: var(--jc-blue);
  border-color: var(--jc-blue);
  color: var(--jc-white);
  text-decoration: none;
}

.obj_galley_link.restricted {
  border-color: #D9A441;
  color: #9A6B12;
}

/* Download / statistics badges */
.obj_article_summary .views,
.obj_article_summary .downloads {
  font-size: .8rem;
  color: var(--jc-muted);
}

/* --------------------------------------------------------------------------
   10. Archives
   -------------------------------------------------------------------------- */
.issues_archive {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .issues_archive { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
  .issues_archive { grid-template-columns: repeat(3, 1fr); }
}

.issues_archive > li {
  margin: 0;
  padding: 0;
  border: 0;
}

.obj_issue_summary {
  height: 100%;
  background: var(--jc-white);
  border: 1px solid var(--jc-line);
  border-radius: var(--jc-radius);
  padding: 1rem;
  transition: box-shadow .25s ease, transform .25s ease;
}

.obj_issue_summary:hover {
  box-shadow: var(--jc-shadow-hover);
  transform: translateY(-3px);
}

.obj_issue_summary .cover {
  float: none;
  display: block;
  width: 100%;
  margin: 0 0 1rem;
}

.obj_issue_summary .cover img {
  width: 100%;
  max-height: none;
  box-shadow: none;
}

.obj_issue_summary h2 {
  font-size: 1.05rem;
  margin: 0;
}

.obj_issue_summary h2 a.title {
  color: var(--jc-navy-900);
}

.obj_issue_summary .series {
  display: block;
  margin-top: .25rem;
  font-family: var(--jc-sans);
  font-size: .82rem;
  color: var(--jc-muted);
}

.obj_issue_summary .description {
  font-size: .9rem;
  color: var(--jc-muted);
}

/* --------------------------------------------------------------------------
   11. Article landing page
   -------------------------------------------------------------------------- */
.obj_article_details .page_title {
  font-size: 1.9rem;
  line-height: 1.25;
}

.obj_article_details .subtitle {
  font-family: var(--jc-serif);
  color: var(--jc-muted);
  font-size: 1.2rem;
  margin: -.75rem 0 1.5rem;
}

.obj_article_details .row {
  border-top: 1px solid var(--jc-line);
  margin: 0;
}

.obj_article_details .main_entry .item {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--jc-line);
}

.obj_article_details .main_entry .item:last-child {
  border-bottom: 0;
}

.obj_article_details .item .label,
.obj_article_details .main_entry .item h2.label,
.obj_article_details .entry_details .item .label {
  display: block;
  font-family: var(--jc-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jc-blue-dark);
  margin: 0 0 .5rem;
}

.obj_article_details .authors {
  list-style: none;
  padding: 0;
}

.obj_article_details .authors li {
  margin-bottom: .9rem;
}

.obj_article_details .authors .name {
  font-weight: 600;
  color: var(--jc-ink);
}

.obj_article_details .authors .affiliation {
  font-size: .9rem;
  color: var(--jc-muted);
}

.obj_article_details .authors .orcid a {
  font-size: .85rem;
}

.obj_article_details .item.abstract p {
  font-size: 1rem;
  line-height: 1.8;
  text-align: justify;
}

.obj_article_details .item.keywords .value {
  color: var(--jc-muted);
}

.obj_article_details .item.doi a {
  word-break: break-all;
}

/* Right column */
@media (min-width: 768px) {
  .obj_article_details .entry_details {
    border-left: 1px solid var(--jc-line);
  }
}

.obj_article_details .entry_details .item {
  padding: 1.25rem 1.25rem;
  border-bottom: 1px solid var(--jc-line);
}

.obj_article_details .entry_details .item:last-child {
  border-bottom: 0;
}

.obj_article_details .cover_image img {
  border-radius: var(--jc-radius-sm);
  box-shadow: var(--jc-shadow);
}

.obj_article_details .galleys_links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.obj_article_details .galleys_links li {
  display: inline-block;
  margin: 0 .4rem .4rem 0;
}

.obj_article_details .galleys_links .obj_galley_link {
  background: var(--jc-blue);
  color: var(--jc-white);
  font-size: .9rem;
  line-height: 2.4rem;
  padding: 0 1.25rem;
}

.obj_article_details .galleys_links .obj_galley_link:hover {
  background: var(--jc-blue-dark);
  border-color: var(--jc-blue-dark);
}

/* Citation box */
.obj_article_details .citation_display .csl-bib-body,
.obj_article_details .citation_display .value {
  background: var(--jc-bg);
  border-radius: var(--jc-radius-sm);
  padding: .9rem 1rem;
  font-size: .88rem;
}

.obj_article_details .citation_formats_button {
  border-radius: var(--jc-radius-sm);
}

.obj_article_details .item.references .value p {
  font-size: .9rem;
  color: var(--jc-muted);
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/* --------------------------------------------------------------------------
   12. Static pages: About, Submissions, Editorial Board, Contact
   -------------------------------------------------------------------------- */
.page_about .page_title,
.page_submissions .page_title,
.page_contact .page_title {
  margin-bottom: 1.75rem;
}

.page_submissions .submission_checklist ul,
.page_submissions .author_guidelines ul {
  padding-left: 1.2rem;
}

.page_submissions .submission_checklist li {
  margin-bottom: .55rem;
}

.page_submissions .cmp_notification a {
  font-weight: 600;
}

.page_contact .contact_section {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .page_contact .contact_section {
    grid-template-columns: repeat(2, 1fr);
  }
}

.page_contact .contact {
  background: var(--jc-bg);
  border-radius: var(--jc-radius);
  padding: 1.25rem 1.4rem;
  margin: 0;
  width: auto;
  float: none;
}

.page_contact .contact h3 {
  margin-top: 0;
  font-size: 1rem;
  color: var(--jc-blue-dark);
}

/* Editorial board / masthead tables & lists */
.pkp_structure_main table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
}

.pkp_structure_main table th {
  background: var(--jc-navy-900);
  color: var(--jc-white);
  font-weight: 600;
  text-align: left;
  padding: .7rem .9rem;
}

.pkp_structure_main table td {
  padding: .7rem .9rem;
  border-bottom: 1px solid var(--jc-line);
  vertical-align: top;
}

.pkp_structure_main table tr:nth-child(even) td {
  background: #FAFBFD;
}

.page_masthead .user_listing,
.page_masthead ul {
  padding-left: 0;
  list-style: none;
}

.page_masthead h2 {
  margin-top: 2rem;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--jc-line);
}

.page_masthead li {
  padding: .6rem 0;
  border-bottom: 1px dashed var(--jc-line);
}

/* --------------------------------------------------------------------------
   13. Search page
   -------------------------------------------------------------------------- */
.page_search .search_input {
  display: flex;
  gap: .5rem;
}

.page_search .search_advanced {
  background: var(--jc-bg);
  border-radius: var(--jc-radius);
  padding: 1rem 1.25rem;
  margin-top: 1rem;
}

.page_search .search_results {
  margin-top: 1.5rem;
}

/* --------------------------------------------------------------------------
   14. Login / Register
   -------------------------------------------------------------------------- */
.page_login .cmp_form,
.page_register .cmp_form,
.page_lost_password .cmp_form {
  max-width: 560px;
}

.page_login .cmp_form .register,
.page_login .cmp_form .password a {
  font-weight: 600;
}

.page_register .context_optin .roles {
  background: var(--jc-bg);
  border-radius: var(--jc-radius);
  padding: 1rem 1.25rem;
}

/* --------------------------------------------------------------------------
   15. Footer
   -------------------------------------------------------------------------- */
.pkp_structure_footer_wrapper {
  background: var(--jc-navy-900);
  border-top: 0;
  margin-top: 0;
}

.pkp_structure_footer {
  background: var(--jc-navy-900);
}

.pkp_footer_content {
  padding: 0 40px;      /* matches the -40px margin of the custom footer HTML */
  overflow: hidden;
  color: #8AABB8;
}

.pkp_footer_content > div:first-child {
  margin-top: 0 !important;
}

.pkp_footer_content a {
  transition: color .2s ease;
}

.pkp_footer_content a:hover {
  color: var(--jc-blue) !important;
}

.pkp_footer_content a[href*="tamuz"] {
  color: var(--jc-blue);
}

/* Hide stray content accidentally pasted into the footer from an AI chat window */
.pkp_footer_content .code-block,
.pkp_footer_content div:has(> .code-block),
.pkp_footer_content p[data-path-to-node] {
  display: none !important;
}

/* PKP / OJS brand logo on dark footer */
.pkp_brand_footer {
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 1.25rem 40px;
  overflow: hidden;
}

.pkp_brand_footer a {
  max-width: 110px;
  opacity: .55;
  transition: opacity .2s ease;
}

.pkp_brand_footer a:hover {
  opacity: .9;
}

.pkp_brand_footer img {
  filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
  .pkp_footer_content,
  .pkp_brand_footer {
    padding-left: 20px;
    padding-right: 20px;
  }

  .pkp_footer_content > div:first-child {
    margin-left: -20px !important;
    margin-right: -20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* --------------------------------------------------------------------------
   16. Misc
   -------------------------------------------------------------------------- */
.cmp_edit_link {
  font-size: .8rem;
  border-radius: 999px;
}

.cmp_back_link a {
  font-weight: 600;
}

hr {
  border: 0;
  border-top: 1px solid var(--jc-line);
  margin: 2rem 0;
}

blockquote {
  margin: 1.5rem 0;
  padding: .75rem 1.25rem;
  border-left: 4px solid var(--jc-blue);
  background: var(--jc-bg);
  border-radius: 0 var(--jc-radius-sm) var(--jc-radius-sm) 0;
}

code, pre {
  font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
}

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