/*
 * Replication Research — Custom Stylesheet for OJS 3.3 (CALIBRI EDITION)
 * Upload via: Website Settings → Appearance → Advanced → Custom Stylesheet
 *
 * Color palette:
 *   Cream   #fefdf6   (page background — preserved from live site)
 *   Navy    #1a2f4e   (primary dark)
 *   Teal    #0093c4   (accent / brand blue)
 *   Red     #c0392b   (link / highlight red)
 *   Divider #e2e8f0
 *   Text    #2d3748   (body text)
 *   Muted   #6b7a8d   (secondary text / dates)
 *
 * Fonts: Calibri-like stack. Uses local Calibri if installed, otherwise
 *        Carlito (a free, metric-compatible Calibri clone from Google Fonts)
 *        so spacing/layout stays identical for all visitors.
 */

/* Carlito — metric-compatible Calibri substitute */
@import url('https://fonts.googleapis.com/css2?family=Carlito:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* ─────────────────────────────────────────────
   GLOBAL RESETS & BASE
───────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  font-family: Calibri, Carlito, 'Segoe UI', Candara, Optima, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: #2d3748;
  background-color: #fefdf6;
  -webkit-font-smoothing: antialiased;
}

/* Apply the Calibri-like stack. We set it on body so it inherits
   everywhere normally, and explicitly on the major text/UI elements
   to override the theme's serif headings — WITHOUT targeting generic
   `a`, `span`, or any icon elements, which is what broke the search
   glyph. Icons keep their own font through normal inheritance rules. */
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body li, body td, body th, body dd, body dt, body blockquote,
body label, body input, body textarea, body select, body button,
body .cmp_notification, body .description,
body .pkp_structure_main, body .pkp_structure_sidebar,
body .navbar-nav > li > a,
body .obj_article_summary .title a, body .section_heading {
  font-family: Calibri, Carlito, 'Segoe UI', Candara, Optima, sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #1a2f4e;
  line-height: 1.3;
  font-weight: 700;
  margin-top: 0;
}

a {
  color: #c0392b;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover, a:focus {
  color: #0093c4;
  text-decoration: underline;
}

img {
  max-width: 100%;
}

/* ─────────────────────────────────────────────
   HEADER WRAPPER — entire top band dark charcoal
   (logo strip + nav row all #3d3d3d)
───────────────────────────────────────────── */
body .pkp_structure_head,
body .pkp_head_wrapper,
body header.pkp_structure_head,
body #headerNavigationContainer,
body .pkp_site_name_wrapper,
body .pkp_site_name,
body .header,
body #header,
body .cmp_header,
body .pkp_navigation_user_wrapper {
  background-color: #3d3d3d !important;
  background: #3d3d3d !important;
}

/* Primary navigation row wrapper */
body .pkp_navigation_primary_row,
body .pkp_site_nav_menu,
body .pkp_navigation_primary_wrapper {
  background-color: #3d3d3d !important;
  background: #3d3d3d !important;
}

/* ─────────────────────────────────────────────
   USER AREA (top-right: username, notifications)
   lighten text/icons for dark background
───────────────────────────────────────────── */
body .pkp_navigation_user_wrapper a,
body .pkp_navigation_user_wrapper span,
body .pkp_navigation_user a,
body .pkp_navigation_user li > a,
body #navigationUser a,
body #navigationUser span {
  color: #e8e8e8 !important;
}

body .pkp_navigation_user_wrapper a:hover,
body .pkp_navigation_user a:hover,
body #navigationUser a:hover {
  color: #ffffff !important;
}

/* Notification count bubble — light pill, dark text */
body .pkp_navigation_user .unread_notifications,
body #navigationUser .unread_notifications,
body .task_count,
body .notification_count {
  background-color: #e8e8e8 !important;
  color: #3d3d3d !important;
}

/* Dropdown caret for user menu */
body .pkp_navigation_user_wrapper .caret,
body #navigationUser .caret {
  border-top-color: #e8e8e8 !important;
}

/* ─────────────────────────────────────────────
   NAVBAR / HEADER
───────────────────────────────────────────── */
.navbar {
  background-color: #3d3d3d !important;
  border-bottom: none;
  padding: 0;
  min-height: 56px;
  box-shadow: none;
}

.navbar-default {
  background-color: #3d3d3d;
  border: none;
}

body .navbar-default .navbar-nav > li > a {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e8e8e8 !important;
  padding: 20px 18px;
  transition: color 0.2s ease, border-bottom 0.2s ease;
  border-bottom: 3px solid transparent;
}

body .navbar-default .navbar-nav > li > a:hover,
body .navbar-default .navbar-nav > li > a:focus,
body .navbar-default .navbar-nav > .active > a {
  color: #ffffff !important;
  background-color: transparent !important;
  border-bottom-color: #0093c4;
}

/* Dropdown menus — dark to match navbar */
body .navbar-default .dropdown-menu {
  background-color: #3d3d3d !important;
  border: 1px solid #555555 !important;
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  padding: 8px 0;
}

body .navbar-default .dropdown-menu > li > a {
  font-size: 0.875rem;
  color: #e8e8e8 !important;
  background-color: transparent !important;
  padding: 10px 20px;
}

body .navbar-default .dropdown-menu > li > a:hover,
body .navbar-default .dropdown-menu > li > a:focus {
  background-color: #4f4f4f !important;
  color: #ffffff !important;
}

/* Search link */
body .navbar-default .navbar-nav .nav-search a {
  color: #e8e8e8 !important;
}

/* ─────────────────────────────────────────────
   FORCE NAV TEXT WHITE — maximum specificity
   to override the theme's default link colors
───────────────────────────────────────────── */
body .pkp_navigation_primary_row .navbar-default .navbar-nav > li > a,
body .navbar .navbar-nav > li > a,
body .navbar-default .navbar-nav > li > a,
body ul.navbar-nav > li > a,
body #navigationPrimary > li > a,
body #navigationPrimary li a,
body .pkp_site_nav_menu a {
  color: #ffffff !important;
}

body .pkp_navigation_primary_row .navbar-default .navbar-nav > li > a:hover,
body .navbar .navbar-nav > li > a:hover,
body #navigationPrimary li a:hover,
body .pkp_site_nav_menu a:hover {
  color: #ffffff !important;
  opacity: 0.85;
}

/* ─────────────────────────────────────────────
   NAV DROPDOWN SUBMENUS — dark background,
   medium-grey hover (covers OJS 3.3 submenu markup)
───────────────────────────────────────────── */
body .navbar-default .dropdown-menu,
body #navigationPrimary .dropdown-menu,
body #navigationPrimary ul,
body #navigationPrimary li ul,
body .pkp_site_nav_menu .dropdown-menu,
body .pkp_site_nav_menu ul ul,
body .navbar-nav ul.dropdown-menu,
body .navbar-nav li ul {
  background-color: #3d3d3d !important;
  background: #3d3d3d !important;
  border: 1px solid #555555 !important;
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.30) !important;
  padding: 6px 0 !important;
}

/* Submenu list items */
body .navbar-default .dropdown-menu > li,
body #navigationPrimary .dropdown-menu > li,
body #navigationPrimary li ul > li,
body .pkp_site_nav_menu ul ul > li {
  background-color: #3d3d3d !important;
}

/* Submenu links */
body .navbar-default .dropdown-menu > li > a,
body #navigationPrimary .dropdown-menu > li > a,
body #navigationPrimary li ul > li > a,
body #navigationPrimary li ul a,
body .pkp_site_nav_menu ul ul a,
body .navbar-nav .dropdown-menu a,
body .navbar-nav li ul a {
  color: #e8e8e8 !important;
  background-color: transparent !important;
  background: transparent !important;
  padding: 10px 20px !important;
}

/* Submenu link hover — medium grey highlight */
body .navbar-default .dropdown-menu > li > a:hover,
body .navbar-default .dropdown-menu > li > a:focus,
body #navigationPrimary .dropdown-menu > li > a:hover,
body #navigationPrimary li ul > li > a:hover,
body #navigationPrimary li ul a:hover,
body #navigationPrimary li ul a:focus,
body .pkp_site_nav_menu ul ul a:hover,
body .navbar-nav .dropdown-menu a:hover,
body .navbar-nav li ul a:hover {
  background-color: #5a5a5a !important;
  background: #5a5a5a !important;
  color: #ffffff !important;
}

/* Active/open submenu item */
body #navigationPrimary li ul > li.active > a,
body .navbar-default .dropdown-menu > .active > a {
  background-color: #5a5a5a !important;
  color: #ffffff !important;
}

/* Nav item dropdown carets (▼ next to menu items) */
body .navbar-default .navbar-nav > li > a .caret,
body .navbar-default .navbar-nav .dropdown-toggle .caret {
  border-top-color: #e8e8e8 !important;
}

/* Search icon */
body .navbar-default .navbar-nav .fa,
body .navbar-default .navbar-nav .fas,
body .navbar-default .navbar-nav svg {
  color: #e8e8e8 !important;
  fill: #e8e8e8 !important;
}

/* Mobile hamburger toggle */
.navbar-default .navbar-toggle {
  border-color: #666666;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #e8e8e8;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #4f4f4f;
}

/* ─────────────────────────────────────────────
   SITE HEADER / LOGO AREA
───────────────────────────────────────────── */
#headerLogo,
.site-name {
  padding: 28px 0 20px;
}

.pkp_site_name_logo img {
  max-height: 80px;
  width: auto;
}

/* ─────────────────────────────────────────────
   MAIN LAYOUT & PAGE WRAPPER
───────────────────────────────────────────── */
#pkp_content_main,
.pkp_structure_main {
  padding-top: 36px;
  padding-bottom: 60px;
}

.container {
  max-width: 1140px;
}

/* ─────────────────────────────────────────────
   HOMEPAGE — NEWS / ANNOUNCEMENTS BLOCK
───────────────────────────────────────────── */
.pkp_block_information,
.homepage_image,
.homepage_about {
  padding: 0;
}

/* The two-column news cards */
.pkp_homepage_section_row {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 40px;
}

/* Individual news card */
.pkp_homepage_section {
  padding: 32px 36px;
  border-right: 1px solid #e2e8f0;
  background: #fefdf6;
  flex: 1;
  transition: background 0.2s;
}

.pkp_homepage_section:last-child {
  border-right: none;
}

.pkp_homepage_section:hover {
  background: #f5f4ec;
}

/* News headline links */
.pkp_homepage_section h2 a,
.pkp_homepage_section h3 a {
  font-size: 1.1rem;
  font-weight: 700;
  color: #c0392b;
  line-height: 1.4;
}

.pkp_homepage_section h2 a:hover,
.pkp_homepage_section h3 a:hover {
  color: #1a2f4e;
  text-decoration: none;
}

/* Date / metadata below headlines */
.pkp_homepage_section .date,
.pkp_homepage_section .pkp_metadata {
  font-size: 0.8rem;
  color: #6b7a8d;
  margin: 6px 0 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Announcement excerpt */
.pkp_homepage_section .pkp_announcement_summary,
.pkp_homepage_section p {
  font-size: 0.95rem;
  color: #2d3748;
  line-height: 1.7;
  margin-bottom: 16px;
}

/* "Read More" link */
.pkp_homepage_section .read_more,
.pkp_homepage_section a.read_more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0093c4;
  letter-spacing: 0.01em;
}

.pkp_homepage_section .read_more:hover {
  color: #1a2f4e;
  text-decoration: none;
}

/* ─────────────────────────────────────────────
   HOMEPAGE — CURRENT ISSUE SECTION
───────────────────────────────────────────── */
.pkp_block_issue_info,
.current_issue,
h2.pkp_heading_1 {
  font-family: 'Merriweather', Georgia, serif;
}

/* Section label "Current Issue" */
.pkp_structure_main h2 {
  font-size: 1.5rem;
  color: #1a2f4e;
  padding-bottom: 12px;
  border-bottom: 2px solid #1a2f4e;
  margin-bottom: 24px;
}

/* Volume/issue metadata */
.issue_identify {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 4px;
}

.issue_identify .published {
  font-weight: 400;
  color: #6b7a8d;
  font-size: 0.9rem;
}

/* Article listings in issue */
.obj_article_summary {
  border-bottom: 1px solid #e2e8f0;
  padding: 20px 0;
}

.obj_article_summary:last-child {
  border-bottom: none;
}

.obj_article_summary .title a {
  font-size: 1rem;
  font-weight: 700;
  color: #c0392b;
}

.obj_article_summary .title a:hover {
  color: #1a2f4e;
}

.obj_article_summary .authors {
  font-size: 0.875rem;
  color: #6b7a8d;
  margin: 4px 0 0;
}

/* Section headings within issue TOC */
.section_heading {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6b7a8d;
  padding: 24px 0 8px;
  border-top: 1px solid #e2e8f0;
  margin-top: 8px;
}

/* ─────────────────────────────────────────────
   SIDEBAR
───────────────────────────────────────────── */
#sidebar,
.pkp_structure_sidebar {
  padding-left: 32px;
}

/* Sidebar block wrapper */
.pkp_block {
  margin-bottom: 32px;
}

/* Sidebar section dividers */
.pkp_block_information hr,
.pkp_structure_sidebar hr {
  border: none;
  border-top: 1px solid #e2e8f0;
  margin: 0;
}

/* Sidebar links (Subscribe, Become a Reviewer, etc.) */
.pkp_block_information a,
.pkp_structure_sidebar .title a,
.pkp_structure_sidebar a {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #c0392b;
  padding: 14px 0;
  border-bottom: 1px solid #e2e8f0;
  transition: color 0.2s, padding-left 0.2s;
}

.pkp_block_information a:hover,
.pkp_structure_sidebar a:hover {
  color: #1a2f4e;
  padding-left: 6px;
  text-decoration: none;
}

/* ─────────────────────────────────────────────
   SIDEBAR — CTA BUTTONS
   "Make a Submission" & "Pre-Submission Inquiry"
───────────────────────────────────────────── */
/* Primary CTA */
.pkp_block_make_submission a,
a.pkp_button_primary,
.cta-primary {
  display: block !important;
  background-color: #1a2f4e !important;
  color: #ffffff !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 14px 20px !important;
  border-radius: 3px !important;
  border: 2px solid #1a2f4e !important;
  margin-bottom: 10px !important;
  transition: background-color 0.2s, color 0.2s !important;
  text-decoration: none !important;
}

.pkp_block_make_submission a:hover,
a.pkp_button_primary:hover {
  background-color: #0093c4 !important;
  border-color: #0093c4 !important;
  color: #ffffff !important;
}

/* Secondary CTA */
.pkp_block_pre_submission a,
a.pkp_button_offset,
.cta-secondary {
  display: block !important;
  background-color: transparent !important;
  color: #1a2f4e !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 13px 20px !important;
  border-radius: 3px !important;
  border: 2px solid #1a2f4e !important;
  margin-bottom: 10px !important;
  transition: background-color 0.2s, color 0.2s !important;
  text-decoration: none !important;
}

.pkp_block_pre_submission a:hover,
a.pkp_button_offset:hover {
  background-color: #1a2f4e !important;
  color: #ffffff !important;
}

/* ─────────────────────────────────────────────
   ARTICLE / SUBMISSION PAGES
───────────────────────────────────────────── */
.obj_article_details h1.page_title {
  font-size: 1.75rem;
  color: #1a2f4e;
  margin-bottom: 20px;
}

.article_summary .authors {
  font-size: 0.95rem;
  color: #6b7a8d;
  margin-bottom: 16px;
}

.article_details_block {
  background: #f5f4ec;
  border-radius: 4px;
  padding: 24px;
  margin-bottom: 28px;
}

/* Abstract heading */
.article_details_block h4,
.article_details_block h3 {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #6b7a8d;
  font-weight: 600;
  margin-bottom: 10px;
}

/* DOI / metadata rows */
.article_details_block .pkp_metadata {
  font-size: 0.875rem;
  color: #6b7a8d;
  margin-bottom: 6px;
}

/* Download PDF button */
.obj_galley_link.pdf,
.galley_link {
  display: inline-block;
  background-color: #0093c4;
  color: #ffffff !important;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 3px;
  margin: 4px 4px 4px 0;
  transition: background-color 0.2s;
  text-decoration: none !important;
}

.obj_galley_link.pdf:hover,
.galley_link:hover {
  background-color: #1a2f4e;
}

/* ─────────────────────────────────────────────
   ISSUE ARCHIVE PAGE
───────────────────────────────────────────── */
.obj_issue_summary {
  display: flex;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid #e2e8f0;
  align-items: flex-start;
}

.obj_issue_summary .cover {
  flex-shrink: 0;
  width: 80px;
}

.obj_issue_summary .cover img {
  border: 1px solid #e2e8f0;
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.obj_issue_summary .title a {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2f4e;
}

.obj_issue_summary .title a:hover {
  color: #c0392b;
}

/* ─────────────────────────────────────────────
   BREADCRUMBS
───────────────────────────────────────────── */
.pkp_navigation_breadcrumbs {
  font-size: 0.8rem;
  color: #6b7a8d;
  margin-bottom: 24px;
  padding: 12px 0;
  border-bottom: 1px solid #e2e8f0;
}

.pkp_navigation_breadcrumbs a {
  color: #6b7a8d;
}

.pkp_navigation_breadcrumbs a:hover {
  color: #0093c4;
}

.pkp_navigation_breadcrumbs .separator {
  margin: 0 6px;
}

/* ─────────────────────────────────────────────
   FORMS (Submission, Search, etc.)
───────────────────────────────────────────── */
.pkp_form .form-control,
input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select {
  border: 1px solid #cbd5e0;
  border-radius: 3px;
  padding: 10px 14px;
  font-size: 0.9375rem;
  color: #2d3748;
  background-color: #fefdf6;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.pkp_form .form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #0093c4;
  box-shadow: 0 0 0 3px rgba(0, 147, 196, 0.15);
}

label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1a2f4e;
  margin-bottom: 6px;
  display: block;
}

/* Form submit buttons */
.pkp_form button[type="submit"],
.pkp_form input[type="submit"],
button.pkp_button_primary {
  background-color: #1a2f4e;
  color: #ffffff;
  border: none;
  padding: 12px 28px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.pkp_form button[type="submit"]:hover {
  background-color: #0093c4;
}

/* ─────────────────────────────────────────────
   SEARCH PAGE
───────────────────────────────────────────── */
.search_results .obj_article_summary {
  padding: 20px 0;
  border-bottom: 1px solid #e2e8f0;
}

/* ─────────────────────────────────────────────
   FOOTER — cream/white background, matches screenshot
   ISSN + RSS left, OJS/PKP center-right
───────────────────────────────────────────── */
.pkp_structure_footer {
  background-color: #fffff8;
  color: #2d3748;
  padding: 36px 0 28px;
  margin-top: 48px;
  border-top: 1px solid #e2e8f0;
}

/* Top row: policy links separated by pipes */
.pkp_structure_footer .pkp_footer_links,
.pkp_structure_footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
  margin-bottom: 14px;
}

.pkp_structure_footer .pkp_footer_links a,
.pkp_structure_footer nav a,
.pkp_structure_footer a {
  color: #c0392b;
  font-size: 0.875rem;
  text-decoration: underline;
  transition: color 0.2s;
}

.pkp_structure_footer .pkp_footer_links a:hover,
.pkp_structure_footer nav a:hover,
.pkp_structure_footer a:hover {
  color: #1a2f4e;
}

/* Pipe separators between footer links */
.pkp_structure_footer .pkp_footer_links a + a::before,
.pkp_structure_footer nav a + a::before {
  content: " | ";
  color: #2d3748;
  text-decoration: none;
  margin: 0 4px;
}

/* ISSN line */
.pkp_structure_footer .pkp_footer_issn,
.pkp_structure_footer p {
  font-size: 0.875rem;
  color: #2d3748;
  margin: 0 0 20px;
}

/* Bottom row: hosted-by logos left, OJS/PKP right */
.pkp_structure_footer .pkp_brand_footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
}

.pkp_structure_footer .pkp_brand_footer .hosted_by {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.pkp_structure_footer .pkp_brand_footer .hosted_by span {
  font-size: 0.75rem;
  color: #6b7a8d;
}

.pkp_structure_footer .pkp_brand_footer img {
  max-height: 44px;
  width: auto;
}

/* OJS/PKP text on the right */
.pkp_structure_footer .pkp_brand_footer .pkp_brand {
  text-align: right;
  font-size: 0.8rem;
  color: #6b7a8d;
  line-height: 1.5;
}

.pkp_structure_footer .pkp_brand_footer .pkp_brand strong,
.pkp_structure_footer .pkp_brand_footer .pkp_brand .ojs_pkp {
  display: block;
  font-size: 1.1rem;
  font-weight: 400;
  color: #2d3748;
  letter-spacing: 0.01em;
}

/* ─────────────────────────────────────────────
   NOTIFICATIONS / ALERTS
───────────────────────────────────────────── */
.pkp_notification,
.alert {
  border-radius: 3px;
  padding: 14px 20px;
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.alert-success {
  background-color: #f0fdf4;
  border-left: 4px solid #22c55e;
  color: #166534;
}

.alert-danger, .alert-error {
  background-color: #fef2f2;
  border-left: 4px solid #c0392b;
  color: #991b1b;
}

.alert-info {
  background-color: #eff6ff;
  border-left: 4px solid #0093c4;
  color: #1e40af;
}

/* ─────────────────────────────────────────────
   PAGINATION
───────────────────────────────────────────── */
.pkp_pagination .pagination > li > a,
.pkp_pagination .pagination > li > span {
  color: #1a2f4e;
  border-color: #e2e8f0;
  font-size: 0.875rem;
  padding: 8px 14px;
}

.pkp_pagination .pagination > .active > a,
.pkp_pagination .pagination > .active > span {
  background-color: #1a2f4e;
  border-color: #1a2f4e;
  color: #ffffff;
}

.pkp_pagination .pagination > li > a:hover {
  background-color: #f5f4ec;
  color: #0093c4;
  border-color: #0093c4;
}

/* ─────────────────────────────────────────────
   RESPONSIVE — MOBILE
───────────────────────────────────────────── */
@media (max-width: 768px) {
  .pkp_homepage_section_row {
    flex-direction: column;
  }

  .pkp_homepage_section {
    padding: 24px 20px;
    border-right: none;
    border-bottom: 1px solid #e2e8f0;
  }

  #sidebar,
  .pkp_structure_sidebar {
    padding-left: 0;
    margin-top: 40px;
  }

  .navbar-default .navbar-nav > li > a {
    padding: 14px 16px;
    border-bottom: none;
  }

  .pkp_structure_footer .pkp_brand_footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .pkp_structure_footer .pkp_brand_footer .pkp_brand {
    text-align: left;
  }

  .obj_article_details h1.page_title {
    font-size: 1.4rem;
  }
}

/* ─────────────────────────────────────────────
   ACCESSIBILITY
───────────────────────────────────────────── */
:focus-visible {
  outline: 3px solid #0093c4;
  outline-offset: 2px;
}

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