/* ===========================================================================
   UGANDA CHRISTIAN UNIVERSITY | JOURNALS & ARCHIVES
   Accessible academic journal theme · OJS 3.5 / PKP Immersion front-end
   Version: 2.0 · 2026-10-19

   INSTALL: Upload as the single custom journal stylesheet through
   Settings > Website > Appearance > Advanced > Journal Style Sheet
   (exact location can vary by installed OJS theme).
   Replace the old journalupdatedfix.css custom sheet; do not stack both.
   NOTE: User-uploaded file referenced sheetfinal.css, which was not supplied.
   Therefore this file is a comprehensive FRONT-END override, not a replacement
   for the OJS theme's own built-in CSS. Keep the active theme enabled.

   Palette follows colors present in supplied file (#003A8F and #7A0026),
   not an independently verified official university brand standards document.
   Design policy: WCAG-conscious contrast; no invisible text; logical focus;
   responsive layouts; gentle motion; print/readability first.
   =========================================================================== */

:root {
  color-scheme: light;
  --ucu-blue: #003a8f;
  --ucu-blue-dark: #002b6b;
  --ucu-blue-hover: #00275f;
  --ucu-maroon: #7a0026;
  --ucu-maroon-hover: #62001f;
  --ucu-gold: #b98520;
  --ucu-white: #ffffff;
  --ucu-ink: #182436;
  --ucu-muted: #43536a;
  --ucu-canvas: #f5f7fa;
  --ucu-surface: #ffffff;
  --ucu-surface-soft: #eef3f9;
  --ucu-border: #cbd5e1;
  --ucu-link: #003a8f;
  --ucu-link-hover: #62001f;
  --ucu-focus: #ad5700;
  --ucu-shadow: 0 5px 22px rgb(17 37 67 / 8%);
  --ucu-radius-sm: .45rem;
  --ucu-radius-md: .85rem;
  --ucu-radius-lg: 1.15rem;
  --ucu-motion: 180ms ease;
  /* Legacy variable aliases referenced by original upload */
  --surface-glass: var(--ucu-surface);
  --surface-soft: var(--ucu-surface-soft);
  --border-subtle: var(--ucu-border);
  --gray-900: var(--ucu-ink);
  --gray-700: var(--ucu-muted);
  --gray-500: #53647a;
  --gray-200: #d9e2ed;
  --radius-md: var(--ucu-radius-md);
  --radius-lg: var(--ucu-radius-lg);
  --transition-fast: 140ms ease;
  --transition-base: var(--ucu-motion);
}

/* 1. LEGIBILITY & ACCESSIBILITY ------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body {
  background: var(--ucu-canvas);
  color: var(--ucu-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: clamp(1rem, .98rem + .13vw, 1.08rem);
  line-height: 1.65;
  overflow-wrap: break-word;
}
body, button, input, textarea, select { -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
img, picture, svg, video { max-width: 100%; }
img { height: auto; }
:where(p, li, dd, dt, blockquote, figcaption) { overflow-wrap: anywhere; }
:where(h1, h2, h3, h4, h5, h6) {
  color: var(--ucu-ink);
  line-height: 1.28;
  text-wrap: pretty;
}
h1 { font-size: clamp(1.75rem, 1.25rem + 2.1vw, 2.65rem); }
h2 { font-size: clamp(1.4rem, 1.1rem + 1.25vw, 2rem); }
h3 { font-size: clamp(1.18rem, 1.05rem + .6vw, 1.5rem); }
:where(a) { color: var(--ucu-link); text-decoration-thickness: .09em; text-underline-offset: .17em; }
:where(a:hover) { color: var(--ucu-link-hover); }
:where(a:focus-visible, button:focus-visible, [role="button"]:focus-visible,
       input:focus-visible, textarea:focus-visible, select:focus-visible,
       summary:focus-visible, [tabindex]:focus-visible) {
  outline: 3px solid var(--ucu-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px var(--ucu-surface) !important;
}
::selection { background: #bed4f4; color: #10223b; }
:where(button, input, textarea, select) { font: inherit; }
:where(input, textarea, select) {
  max-width: 100%; background: var(--ucu-surface); color: var(--ucu-ink);
  border-color: var(--ucu-border);
}
:where(input::placeholder, textarea::placeholder) { color: var(--ucu-muted); opacity: 1; }
:where(hr) { border: 0; border-top: 1px solid var(--ucu-border); }
:where(.sr-only, .visually-hidden) { /* Respect theme's existing accessible hiding utility. */ }

/* 2. UNIVERSITY IDENTITY / MAIN HEADER ----------------------------------- */
.main-header, .pkp_structure_head {
  background: var(--ucu-surface);
  color: var(--ucu-ink);
  border-bottom: .25rem solid var(--ucu-maroon);
  box-shadow: 0 2px 12px rgb(0 43 107 / 8%);
}
.main-header .container-fluid, .main-header__admin, .main-header__title {
  background: transparent; color: var(--ucu-ink);
}
.main-header__title { margin: 0; padding-block: .75rem; }
.main-header__title img, .pkp_site_name img {
  display: block; width: auto; max-width: min(100%, 23rem); max-height: 6.75rem;
  object-fit: contain;
}
.main-header__admin-link, .main-header__lang-link,
.pkp_structure_head a, .pkp_navigation_primary a, .pkp_navigation_user a {
  color: var(--ucu-blue-dark);
}
.main-header__admin-link:hover, .main-header__lang-link:hover,
.pkp_structure_head a:hover, .pkp_navigation_primary a:hover {
  color: var(--ucu-maroon-hover);
}
/* Only explicit navigation wrappers get colored; don't recolor all descendants. */
.pkp_navigation_primary_wrapper, .main-header__nav { border-color: var(--ucu-border); }
.dropdown-menu { background: var(--ucu-surface); color: var(--ucu-ink); border: 1px solid var(--ucu-border); }
.dropdown-menu a, .dropdown-menu .nav-link { color: var(--ucu-blue-dark); }
.dropdown-menu a:hover, .dropdown-menu .nav-link:hover,
.dropdown-menu a:focus-visible, .dropdown-menu .nav-link:focus-visible {
  background: var(--ucu-surface-soft); color: var(--ucu-maroon-hover);
}

/* 3. PAGE SURFACES, BREADCRUMBS AND MAIN CONTENT -------------------------- */
.main__header, .content-body, .pkp_structure_main, .page,
.page_openid_login, .page_login, .page_register {
  color: var(--ucu-ink);
}
.content-body, .pkp_structure_main { background-color: var(--ucu-surface); }
.main__title, .content-body :where(h1,h2,h3,h4,h5,h6),
.pkp_structure_main :where(h1,h2,h3,h4,h5,h6) { color: var(--ucu-ink); }
.content-body a:not(.btn), .pkp_structure_main a:not(.btn) { color: var(--ucu-link); }
.content-body a:not(.btn):hover, .pkp_structure_main a:not(.btn):hover { color: var(--ucu-link-hover); }
.cmp_breadcrumbs ol, .cmp_breadcrumbs ul, .pkp_breadcrumbs ol {
  display: flex; flex-wrap: wrap; align-items: center;
  column-gap: .5rem; row-gap: .25rem;
}
.cmp_breadcrumbs, .pkp_breadcrumbs { color: var(--ucu-muted); font-size: .9rem; }
.cmp_breadcrumbs a, .pkp_breadcrumbs a { color: var(--ucu-blue-dark); }

/* 4. JOURNAL DIRECTORY: IMAGE LEFT, DESCRIPTION RIGHT -------------------- */
.index-site__journals {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 1.3rem;
}
.index-site__journals > li {
  display: flex; flex-direction: row; align-items: flex-start; gap: 1.5rem;
  min-width: 0; padding: 1.35rem;
  background: var(--ucu-surface);
  border: 1px solid var(--ucu-border);
  border-radius: var(--ucu-radius-lg); box-shadow: var(--ucu-shadow);
  color: var(--ucu-ink);
  transition: box-shadow var(--ucu-motion), transform var(--ucu-motion);
}
.index-site__journals > li:hover { box-shadow: 0 9px 26px rgb(0 43 107 / 12%); transform: translateY(-2px); }
.index-site__journals .thumb { flex: 0 0 8.75rem; width: 8.75rem; max-width: 100%; }
.index-site__journals .thumb .img-wrapper { display: block; overflow: hidden; border-radius: var(--ucu-radius-md); }
.index-site__journals .thumb img {
  display: block; width: 100%; height: auto; border: 1px solid var(--ucu-border);
  border-radius: var(--ucu-radius-md); object-fit: cover;
}
.index-site__journals > li > *:not(.thumb) { min-width: 0; flex: 1 1 0; }
.index-site__journals h3 { margin: 0 0 .5rem; color: var(--ucu-ink); font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); }
.index-site__journals h3 a { color: var(--ucu-blue-dark); text-decoration: none; }
.index-site__journals h3 a:hover { color: var(--ucu-maroon-hover); text-decoration: underline; }
.index-site__journals .description,
.index-site__journals .description p { color: var(--ucu-muted); line-height: 1.7; }
.index-site__journals .description { margin: 0 0 .9rem; }
.index-site__journals .description p { margin-bottom: .4rem; }
.index-site__links { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .55rem; }
.index-site__links .btn { padding: .55rem 1.1rem; font-size: .92rem; font-weight: 650; line-height: 1.35; border-radius: 2rem; }
.index-site__links .btn-primary, .btn-primary {
  background: var(--ucu-blue); color: #fff; border: 1px solid var(--ucu-blue);
}
.index-site__links .btn-primary:hover, .btn-primary:hover,
.index-site__links .btn-primary:focus-visible, .btn-primary:focus-visible {
  background: var(--ucu-blue-hover); color: #fff; border-color: var(--ucu-blue-hover);
}
.index-site__links .btn-secondary {
  color: var(--ucu-blue-dark); border: 2px solid var(--ucu-blue-dark);
  background: var(--ucu-surface);
}
.index-site__links .btn-secondary:hover,
.index-site__links .btn-secondary:focus-visible {
  color: #fff; background: var(--ucu-blue-dark); border-color: var(--ucu-blue-dark);
}
/* No :not(.has_thumb) padding hack: OJS templates do not always emit has_thumb. */

/* 5. ARTICLE READING, ABSTRACTS, METADATA & REFERENCES -------------------- */
:where(.obj_article_details, .obj_article_summary, .page_article, .page_issue,
       .page_about, .page_submissions, .page_contact) { color: var(--ucu-ink); }
:where(.obj_article_details .abstract, .obj_article_details .item.abstract,
       .obj_article_details .item.references, .article-text,
       .article-content, .galley_view, .page_article .content-body) {
  line-height: 1.75;
}
/* Restrict reading line length to prose, NOT the full issue grid or PDF viewer. */
:where(.obj_article_details .abstract, .obj_article_details .item.abstract,
       .obj_article_details .item.references, .article-text, .article-content) > :where(p,ul,ol,blockquote) {
  max-width: 72ch;
}
:where(.article-text, .article-content, .galley_view .html) {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.02rem, .98rem + .18vw, 1.13rem);
}
:where(.obj_article_details, .page_article, .page_issue) :where(h1,h2,h3,h4),
:where(.obj_article_details .item, .obj_article_details .label, .article-meta) {
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
:where(.obj_article_details .authors, .obj_article_details .published,
       .obj_article_details .doi, .obj_article_details .keywords,
       .obj_article_details .item) { color: var(--ucu-ink); }
:where(.obj_article_details .label, .obj_article_details .value,
       .article-meta, .citation_display, .item.citation) { line-height: 1.6; }
:where(.obj_article_details blockquote, .article-text blockquote,
       .article-content blockquote, .content-body blockquote) {
  margin: 1.5rem 0; padding: .9rem 1.25rem;
  border: 1px solid var(--ucu-border);
  background: var(--ucu-surface-soft); color: var(--ucu-ink);
  font-style: italic;
}
:where(.references, .item.references, .ref-list) ol,
:where(.references, .item.references, .ref-list) ul { padding-left: 2rem; }
:where(.references, .item.references, .ref-list) li { padding-left: .3rem; margin-block: .6rem; }
/* Hanging-indent references only for plain reference paragraphs. */
:where(.references, .item.references, .ref-list) > p { padding-left: 2rem; text-indent: -2rem; }
:where(a[href^="#ref"], a[href^="#cite"], a[href^="#fn"], a[role="doc-biblioref"]) {
  border-radius: .25rem; padding-inline: .12em; text-decoration: underline;
}
:where(a[href^="#ref"], a[href^="#cite"], a[href^="#fn"], a[role="doc-biblioref"]):hover {
  background: var(--ucu-surface-soft);
}
/* Tooltips: shown only where accessible authored data-tooltip text exists. */
[data-tooltip] { position: relative; }
[data-tooltip]:is(:hover, :focus-visible)::after {
  content: attr(data-tooltip); position: absolute; z-index: 20;
  left: 0; bottom: calc(100% + .5rem);
  max-width: min(20rem, 80vw); width: max-content;
  padding: .5rem .75rem; border-radius: var(--ucu-radius-sm);
  background: var(--ucu-blue-dark); color: #fff;
  box-shadow: var(--ucu-shadow); font-size: .85rem; line-height: 1.45;
  white-space: normal; pointer-events: none;
}

/* 6. FIGURES, LARGE TABLES, CODE, FORMULAE ------------------------------- */
:where(figure, .article-content figure, .article-text figure) { max-width: 100%; margin: 1.5rem 0; }
:where(figure img) { display: block; max-width: 100%; height: auto; }
:where(figcaption, .caption) { margin-top: .5rem; color: var(--ucu-muted); font-size: .9rem; line-height: 1.5; }
:where(.table-responsive, .table-wrapper, .article-table, .table-wrap) {
  max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
/* Bare wide tables can scroll themselves (no markup changes required). */
:where(.article-text, .article-content, .content-body, .obj_article_details) table {
  display: block; width: max-content; max-width: 100%; overflow-x: auto;
  border-collapse: separate; border-spacing: 0; font-size: .94rem;
  background: var(--ucu-surface); color: var(--ucu-ink);
}
:where(.article-text, .article-content, .content-body, .obj_article_details) :where(th,td) {
  padding: .7rem .85rem; border: 1px solid var(--ucu-border);
  text-align: left; vertical-align: top;
}
:where(.article-text, .article-content, .content-body, .obj_article_details) th {
  background: var(--ucu-blue-dark); color: #fff;
  font-weight: 700;
}
:where(.article-text, .article-content, .content-body, .obj_article_details) tr:nth-child(even) td {
  background: var(--ucu-surface-soft); color: var(--ucu-ink);
}
:where(code, pre, kbd, samp) { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; }
:where(pre, .math, .MathJax_Display, mjx-container[display="true"]) {
  max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
pre { padding: 1rem; background: var(--ucu-surface-soft); color: var(--ucu-ink); border: 1px solid var(--ucu-border); border-radius: var(--ucu-radius-md); }
:not(pre) > code { padding: .12em .3em; background: var(--ucu-surface-soft); color: var(--ucu-ink); border-radius: .25rem; }

/* 7. OPTIONAL TABLE OF CONTENTS ----------------------------------------- */
@media (min-width: 64rem) {
  :where(.article-toc, .toc-sidebar, .table-of-contents) {
    position: sticky; top: 2rem; max-height: calc(100vh - 4rem);
    overflow-y: auto; align-self: start;
  }
}
:where(.article-toc, .toc-sidebar, .table-of-contents) a { color: var(--ucu-blue-dark); }
:where(.article-toc, .toc-sidebar, .table-of-contents) :where(a[aria-current="location"], .active > a) {
  color: var(--ucu-maroon-hover); border-bottom: 2px solid var(--ucu-maroon);
  padding-left: .5rem; font-weight: 700;
}

/* 8. BUTTONS, BADGES, ALERTS, FORMS -------------------------------------- */
:where(.btn, button, [type="submit"]) { min-height: 2.5rem; }
:where(.btn):not(.btn-primary):not(.btn-secondary) { text-underline-offset: .15em; }
:where(.alert, .notification, .cmp_notification) { color: var(--ucu-ink); }
:where(.alert-info, .notification-info) { background: #e8f1fc; color: #183c6e; border-color: #9dbfe9; }
:where(.alert-warning, .notification-warning) { background: #fff4dc; color: #674700; border-color: #e5c47b; }
:where(.alert-danger, .notification-error) { background: #ffedf0; color: #842436; border-color: #dda3ad; }
:where(.alert-success, .notification-success) { background: #e7f4ed; color: #205b3e; border-color: #9acdb2; }
:where(label, legend) { color: var(--ucu-ink); }

/* 9. AUTHENTICATION: OJS 3.5 IMMERSION ---------------------------------- */
body.page_login .page_openid_login {
  width: min(calc(100% - 2rem), 43rem); margin: 2.25rem auto; padding: clamp(1.25rem, 2vw, 2rem);
  background: var(--ucu-surface); border: 1px solid var(--ucu-border);
  border-top: 5px solid var(--ucu-maroon); border-radius: var(--ucu-radius-lg);
  color: var(--ucu-ink); box-shadow: var(--ucu-shadow);
}
body.page_login .page_openid_login > h1 { color: var(--ucu-blue-dark); }
body.page_login #openid-provider-list { list-style: none; padding: 0; margin: 0; }
body.page_login #openid-provider-list > li { margin-bottom: .9rem; }
body.page_login #openid-provider-list strong { display: block; color: var(--ucu-ink); }
body.page_login #openid-provider-list a { text-decoration: none; }
body.page_login #openid-provider-list a > div {
  display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem;
  border: 1px solid var(--ucu-border); border-radius: var(--ucu-radius-md);
  background: var(--ucu-surface-soft); color: var(--ucu-blue-dark); font-weight: 700;
}
body.page_login #openid-provider-list a:is(:hover, :focus-visible) > div {
  border-color: var(--ucu-maroon); background: var(--ucu-surface);
}
body.page_login #openid-provider-list img { width: auto; max-width: 2.25rem; max-height: 2.25rem; }

/* 10. FOOTERS ------------------------------------------------------------ */
.pkp_structure_footer_wrapper, .main-footer {
  margin-top: 2.5rem; padding-block: 1.5rem;
  background: #003a8f; color: #fff; border-top: 4px solid var(--ucu-maroon);
}
.pkp_structure_footer { max-width: 75rem; margin-inline: auto; padding: 1rem 1.5rem; }
.pkp_structure_footer_wrapper :where(p, h1, h2, h3, h4, li, span),
.main-footer :where(p, h1, h2, h3, h4, li, span) { color: #fff; }
.pkp_structure_footer_wrapper a, .main-footer a {
  color: #fff; text-decoration: underline; text-underline-offset: .2em;
}
.pkp_structure_footer_wrapper a:is(:hover, :focus-visible), .main-footer a:is(:hover, :focus-visible) {
  color: #ffe8ac;
}
.main-footer hr { border-top-color: rgb(255 255 255 / 35%); }
.main-footer .sidebar_wrapper ul { list-style: none; margin: 0; padding: 0; }
.pkp_brand_footer { text-align: right; margin-top: .75rem; }
.pkp_brand_footer img, .main-footer .pkp_brand_footer img {
  width: auto; max-width: 6rem; max-height: 2.5rem; height: auto;
  /* No global invert: it can make publisher logos disappear. */
  filter: none; opacity: 1;
}

/* 11. DEVICE ADAPTATION --------------------------------------------------- */
@media (max-width: 48rem) {
  .index-site__journals > li { gap: 1rem; padding: 1rem; }
  .index-site__journals .thumb { flex-basis: 6.5rem; width: 6.5rem; }
  .main-header__title img { max-height: 5.5rem; }
  .pkp_structure_footer { padding-inline: 1rem; }
}
@media (max-width: 30rem) {
  .index-site__journals > li { flex-direction: column; gap: .85rem; }
  .index-site__journals .thumb { flex: none; width: min(100%, 12rem); }
  .index-site__journals > li > *:not(.thumb) { width: 100%; }
  .index-site__links { flex-direction: column; }
  .index-site__links .btn { width: 100%; text-align: center; }
  .pkp_brand_footer { text-align: center; }
  :where(.article-text, .article-content) { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .index-site__journals > li:hover { transform: none; }
}

/* 12. USER-CONTROLLED DARK MODE -----------------------------------------------------------
   A coordinated whole-page palette avoids white-on-white, navy-on-navy and
   unintended dark backgrounds in light forms. The companion JS initializes from system preference unless explicitly toggled.
   Do not force dark backgrounds on embedded PDF/image viewers or galley iframe.
   ------------------------------------------------------------------------- */
html[data-theme="dark"] {
    color-scheme: dark;
    --ucu-blue: #003a8f; /* original institutional blue remains unchanged */
    --ucu-blue-dark: #c3dcff;
    --ucu-blue-hover: #dae9ff;
    --ucu-maroon: #e5a2b8;
    --ucu-maroon-hover: #ffd4df;
    --ucu-ink: #f3f6fd;
    --ucu-muted: #d1dced;
    --ucu-canvas: #101a2a;
    --ucu-surface: #19283d;
    --ucu-surface-soft: #263850;
    --ucu-border: #556780;
    --ucu-link: #b9d7ff;
    --ucu-link-hover: #ffd4df;
    --ucu-focus: #ffd073;
    --ucu-shadow: 0 5px 22px rgb(0 0 0 / 28%);
}

html[data-theme="dark"] .btn-primary,
  html[data-theme="dark"] .index-site__links .btn-primary {
    background: #9fc5ff; color: #0b223f; border-color: #9fc5ff;
  }
  html[data-theme="dark"] .btn-primary:hover,
  html[data-theme="dark"] .index-site__links .btn-primary:hover {
    background: #cee2ff; color: #0b223f; border-color: #cee2ff;
  }
  html[data-theme="dark"] .index-site__links .btn-secondary:hover { color: #10233b; }
  html[data-theme="dark"] :where(.alert-info,.notification-info) { background: #213e61; color: #e2efff; border-color: #648bb5; }
  html[data-theme="dark"] :where(.alert-warning,.notification-warning) { background: #503d19; color: #fff0c7; border-color: #b9944e; }
  html[data-theme="dark"] :where(.alert-danger,.notification-error) { background: #572d3b; color: #ffe5ec; border-color: #bd7e93; }
  html[data-theme="dark"] :where(.alert-success,.notification-success) { background: #1f443a; color: #d9f9e7; border-color: #72a995; }
  html[data-theme="dark"] :where(.content-body,.article-content,.article-text,.obj_article_details) th {
    background: #304d74; color: #fff;
  }
  html[data-theme="dark"] .pkp_structure_footer_wrapper,
  html[data-theme="dark"] .main-footer { background: #101d31; color: #fff; }

/* 13. PRINT --------------------------------------------------------------- */
@media print {
  @page { margin: 15mm; }
  :root { color-scheme: light !important; }
  html { scroll-behavior: auto; }
  body, .content-body, .pkp_structure_main, .main__header, .page,
  .obj_article_details, .article-text, .article-content {
    background: #fff !important; color: #000 !important;
    box-shadow: none !important; border-color: #aaa !important;
  }
  body { font-family: Georgia, "Times New Roman", serif; font-size: 11pt; line-height: 1.5; }
  :where(h1,h2,h3,h4,h5,h6,p,li,span,div,blockquote) { color: #000; }
  .main-header, .main-footer, .pkp_structure_head,
  .pkp_structure_footer_wrapper, .pkp_navigation_primary_wrapper,
  .pkp_navigation_user, .pkp_structure_sidebar, .sidebar_wrapper,
  .article-toc, .toc-sidebar, .table-of-contents,
  .cmp_breadcrumbs, .pkp_breadcrumbs, .index-site__links,
  .btn, button, .social-share, .share-buttons, .pkp_brand_footer { display: none !important; }
  .pkp_structure_main, .content-body, .main, .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  :where(.article-text,.article-content,.obj_article_details) > :where(p,ul,ol,blockquote) { max-width: none; }
  a, a:visited { color: #000 !important; text-decoration: underline; }
  :where(.article-text,.article-content,.obj_article_details) a[href^="http"]:not([href*="javascript:"])::after {
    content: " (" attr(href) ")"; font: 8pt Arial, sans-serif; overflow-wrap: anywhere;
  }
  pre, blockquote, figure, table { break-inside: avoid; }
  :where(.article-text,.article-content,.content-body,.obj_article_details) table {
    display: table; width: 100%; max-width: 100%; overflow: visible;
    background: #fff !important; color: #000 !important;
  }
  :where(.article-text,.article-content,.content-body,.obj_article_details) th,
  :where(.article-text,.article-content,.content-body,.obj_article_details) td,
  :where(.article-text,.article-content,.content-body,.obj_article_details) tr:nth-child(even) td {
    background: #fff !important; color: #000 !important; border: 1px solid #666;
  }
  .index-site__journals > li { background: #fff !important; color: #000 !important; box-shadow: none; transform: none; }
  .index-site__journals .description, .index-site__journals .description p { color: #000 !important; }
  [data-tooltip]::after { display: none !important; }
}


/* UCU JOURNAL BRAND BADGE — background image requested by the institution. */
:root { --ucu-badge-image: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ8YDloVv4WSk3tyLSgEZFdtq0EcaVfilG1_G7DXwYt_NLThSSWlWefYQo&s=10"); }
.main-header__title,
.pkp_site_name_wrapper:has(.pkp_site_name) {
  background-image: linear-gradient(90deg, rgba(0,58,143,.94), rgba(0,58,143,.87)), var(--ucu-badge-image);
  background-position: center;
  background-size: cover;
  border-radius: .65rem;
  color: #fff;
  padding: .85rem 1.15rem;
}
.main-header__title .ucu-journal-brand,
.pkp_site_name_wrapper .ucu-journal-brand {
  display: flex; align-items: center; flex-wrap: wrap; gap: clamp(.75rem, 2vw, 1.5rem);
  min-height: 4rem;
}
.main-header__title .ucu-brand-logo,
.pkp_site_name_wrapper .ucu-brand-logo { display: inline-flex; align-items: center; flex: 0 1 auto; min-width: 0; }
.main-header__title .ucu-brand-logo img,
.pkp_site_name_wrapper .ucu-brand-logo img {
  max-height: 5.25rem; max-width: min(100%, 13rem); object-fit: contain;
}
.ucu-brand-label {
  display: block; flex: 1 1 16rem; color: #fff !important;
  font: 700 clamp(1.05rem, 1.25vw + .7rem, 1.65rem)/1.3 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  letter-spacing: -.015em; text-wrap: balance;
}
.ucu-theme-toggle {
  display: inline-flex; align-items: center; gap: .45rem; flex: 0 0 auto;
  padding: .48rem .8rem; margin-left: auto; border-radius: 999px;
  border: 2px solid #fff; background: #fff; color: #003a8f;
  font: 700 .9rem/1.3 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  cursor: pointer; white-space: nowrap;
}
.ucu-theme-toggle:hover { background: #e7f0ff; color: #002b6b; }
.ucu-theme-toggle:focus-visible { outline: 3px solid #ffdb65; outline-offset: 3px; }
/* Preserve original full-color UCU blue in headers/footers in both themes. */
.pkp_structure_footer_wrapper, .main-footer { background: #003a8f; }
html[data-theme="dark"] .pkp_structure_footer_wrapper,
html[data-theme="dark"] .main-footer { background: #003a8f; }
html[data-theme="dark"] .main-header__title,
html[data-theme="dark"] .pkp_site_name_wrapper:has(.pkp_site_name) { color: #fff; }
@media (max-width: 38rem) {
  .main-header__title .ucu-journal-brand,
  .pkp_site_name_wrapper .ucu-journal-brand { gap: .7rem; }
  .ucu-brand-label { flex-basis: 100%; }
  .ucu-theme-toggle { margin-left: 0; }
}
@media print { .ucu-theme-toggle { display: none !important; } }
