/* =============================================================
   SPRS Journal — Classy Theme Mimic
   Targeting OJS 3.3 Default Theme child CSS
   Inspired by openjournaltheme.com Classy design
   Install: Dashboard > Website Settings > Appearance >
            Advanced > Journal Style Sheet
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Open+Sans:ital,wght@0,300;0,400;0,600;1,400&display=swap');

/* ── Tokens ─────────────────────────────────────────────────── */
:root {
  --c-primary:    #1a3a5c;   /* deep navy — Classy header */
  --c-accent:     #7AADD4;   /* SPRS steel blue — logo accent */
  --c-accent2:    #2980b9;   /* mid blue — links */
  --c-bg:         #f4f6f9;   /* light grey page bg */
  --c-white:      #ffffff;
  --c-card:       #ffffff;
  --c-border:     #e0e6ed;
  --c-border2:    #c8d4e0;
  --c-text:       #2c3e50;
  --c-text-mid:   #4a5568;
  --c-text-muted: #7f8c9a;
  --c-footer:     #1a3a5c;

  --f-head: 'Poppins', Arial, sans-serif;
  --f-body: 'Open Sans', Arial, sans-serif;

  --radius: 6px;
  --shadow: 0 2px 12px rgba(26,58,92,0.10);
  --shadow-sm: 0 1px 4px rgba(26,58,92,0.08);
}

/* ── Base ───────────────────────────────────────────────────── */
body {
  font-family: var(--f-body) !important;
  font-size: 0.9375rem !important;
  line-height: 1.75 !important;
  color: var(--c-text) !important;
  background-color: var(--c-bg) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--f-head) !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
  line-height: 1.3 !important;
}

a {
  color: var(--c-primary) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

a:hover {
  color: var(--c-accent) !important;
  text-decoration: underline !important;
}

img { max-width: 100%; height: auto; }

/* ── Header ─────────────────────────────────────────────────── */
.pkp_structure_head {
  background: var(--c-primary) !important;
  border-bottom: 3px solid var(--c-accent) !important;
  padding: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

.pkp_head_wrapper,
.pkp_navigation_user_wrapper {
  background: var(--c-primary) !important;
}

/* ── Logo: fill header, no padding, no text ─────────────────── */

.pkp_head_wrapper {
  padding: 0 !important;
}

.pkp_site_name img,
.pkp_site_name_logo img,
.pkp_site_name a img {
  max-height: clamp(80px, 10vw, 120px) !important;
  width: auto !important;
  display: block !important;
  margin: 0 !important;
}

/* Kill font size and line-height so no invisible text gap shows */
.pkp_site_name {
  font-size: 0 !important;
  line-height: 0 !important;
}

.pkp_site_name a {
  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

/* Hide every possible text element OJS might render next to logo */
.pkp_site_name a span,
.pkp_site_name span,
.pkp_site_name h1,
.pkp_site_name h2,
.pkp_site_name p,
.pkp_site_name_tagline,
.pkp_site_name ~ .pkp_site_name_tagline,
.pkp_header_title,
.pkp_header_title h1,
.pkp_header_title h2,
.pkp_structure_head .pkp_site_name + *,
.pkp_structure_head h1,
.pkp_structure_head h2 {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Primary nav */
.pkp_navigation_primary_row {
  background: rgba(0,0,0,0.15) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.pkp_navigation_primary a,
.pkp_navigation_primary a:link,
.pkp_navigation_primary a:visited {
  font-family: var(--f-head) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.88) !important;
  background: transparent !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1.25rem !important;
  transition: color 0.15s, background 0.15s !important;
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
}

.pkp_navigation_primary a:hover,
.pkp_navigation_primary a:focus,
.pkp_navigation_primary a:active,
.pkp_navigation_primary a:focus-visible,
.pkp_navigation_primary .current > a {
  color: var(--c-accent) !important;
  background: rgba(255,255,255,0.06) !important;
  text-decoration: none !important;
  outline: none !important;
}

/* Dropdown */
.pkp_navigation_primary .pkp_dropdown,
.pkp_navigation_primary ul ul,
.pkp_nav_list .pkp_dropdown,
nav ul ul {
  background: var(--c-primary) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-top: 3px solid var(--c-accent) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
  border-radius: 0 0 var(--radius) var(--radius) !important;
  min-width: 200px !important;
}

.pkp_navigation_primary ul ul li a,
.pkp_navigation_primary ul ul li a:visited,
.pkp_nav_list .pkp_dropdown li a,
.pkp_nav_list .pkp_dropdown li a:visited {
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  padding: 10px 18px !important;
  display: block !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.pkp_navigation_primary ul ul li:last-child a,
.pkp_nav_list .pkp_dropdown li:last-child a {
  border-bottom: none !important;
}

.pkp_navigation_primary ul ul li a:hover,
.pkp_nav_list .pkp_dropdown li a:hover {
  background: rgba(122,173,212,0.15) !important;
  color: var(--c-accent) !important;
  text-decoration: none !important;
  padding-left: 24px !important;
}

/* User nav */
.pkp_navigation_user a {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.55) !important;
  font-family: var(--f-body) !important;
}

.pkp_navigation_user a:hover {
  color: var(--c-accent) !important;
}

/* Search */
.pkp_search .search_input {
  font-family: var(--f-body) !important;
  font-size: 0.875rem !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgba(255,255,255,0.1) !important;
  color: var(--c-white) !important;
  border-radius: var(--radius) !important;
}

.pkp_search .search_input::placeholder { color: rgba(255,255,255,0.5) !important; }

.pkp_search .search_button {
  background: var(--c-accent) !important;
  border-color: var(--c-accent) !important;
  color: var(--c-primary) !important;
  font-family: var(--f-head) !important;
  font-weight: 600 !important;
  border-radius: var(--radius) !important;
}

/* ── Page layout ────────────────────────────────────────────── */
.pkp_structure_main {
  background: var(--c-bg) !important;
  padding-top: 1.5rem !important;
}

/* Section headings */
.pkp_structure_main h2,
.section_title,
.current_issue_title,
.issue_title {
  font-family: var(--f-head) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-bottom: 2px solid var(--c-accent) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 1.25rem !important;
}

.pkp_structure_main h3 {
  font-family: var(--f-head) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
}

/* ── Article listing — Classy style ────────────────────────── */
/* Each article in a white card with shadow */
.obj_article_summary {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.1rem 1.25rem !important;
  margin-bottom: 0.75rem !important;
  box-shadow: var(--shadow-sm) !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
  border-left: 3px solid transparent !important;
}

.obj_article_summary:hover {
  box-shadow: var(--shadow) !important;
  border-left-color: var(--c-accent) !important;
}

/* Article title */
.obj_article_summary .title {
  font-family: var(--f-head) !important;
  font-size: 0.975rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin-bottom: 0.3rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.obj_article_summary .title a {
  color: var(--c-primary) !important;
  text-decoration: none !important;
}

.obj_article_summary .title a:hover {
  color: var(--c-accent2) !important;
  text-decoration: underline !important;
}

/* Authors + affiliations */
.obj_article_summary .authors {
  font-family: var(--f-body) !important;
  font-size: 0.82rem !important;
  color: var(--c-text-mid) !important;
  margin-bottom: 0.35rem !important;
  font-style: italic !important;
}

/* Abstract snippet */
.obj_article_summary .abstract {
  font-family: var(--f-body) !important;
  font-size: 0.82rem !important;
  color: var(--c-text-muted) !important;
  line-height: 1.65 !important;
}

/* Stats row — Abstract view count + PDF downloads (Classy signature) */
.obj_article_summary .galleys_links {
  margin-top: 0.6rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

/* Galley buttons */
.obj_article_summary .galleys_links a,
.obj_article_summary .galley_link,
.obj_article_details .galleys_links a,
.obj_article_details .galley_link {
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 3px 12px !important;
  background: var(--c-primary) !important;
  color: var(--c-white) !important;
  border: 1px solid var(--c-primary) !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background 0.15s !important;
}

.obj_article_summary .galleys_links a:hover,
.obj_article_summary .galley_link:hover,
.obj_article_details .galleys_links a:hover,
.obj_article_details .galley_link:hover {
  background: var(--c-accent) !important;
  border-color: var(--c-accent) !important;
  color: var(--c-primary) !important;
  text-decoration: none !important;
}

/* DOI */
.obj_article_summary .doi,
.obj_article_details .doi {
  font-family: var(--f-body) !important;
  font-size: 0.75rem !important;
  color: var(--c-text-muted) !important;
  margin-top: 0.35rem !important;
}

.obj_article_summary .doi a,
.obj_article_details .doi a {
  color: var(--c-accent2) !important;
}

/* Issue TOC section labels */
.obj_issue_toc .section > h2 {
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--c-accent) !important;
  background: var(--c-primary) !important;
  padding: 0.4rem 0.85rem !important;
  margin-bottom: 0.75rem !important;
  border: none !important;
  border-radius: 3px !important;
  display: inline-block !important;
}

/* ── Article detail page ────────────────────────────────────── */
.obj_article_details {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.75rem 2rem !important;
  box-shadow: var(--shadow-sm) !important;
}

.obj_article_details .page_title,
.obj_article_details h1 {
  font-family: var(--f-head) !important;
  font-size: clamp(1.2rem, 2.5vw, 1.75rem) !important;
  font-weight: 700 !important;
  color: var(--c-primary) !important;
  line-height: 1.3 !important;
  margin-bottom: 0.75rem !important;
  text-transform: none !important;
}

.obj_article_details .authors {
  font-family: var(--f-body) !important;
  font-size: 0.9rem !important;
  color: var(--c-text-mid) !important;
  font-style: italic !important;
  margin-bottom: 0.5rem !important;
}

.obj_article_details .article_details,
.obj_article_details .published,
.obj_article_details .section {
  font-family: var(--f-body) !important;
  font-size: 0.75rem !important;
  color: var(--c-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Abstract */
.obj_article_details .abstract,
.obj_article_details .article_abstract {
  font-family: var(--f-body) !important;
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
  background: var(--c-bg) !important;
  border-left: 3px solid var(--c-accent) !important;
  padding: 1.1rem 1.25rem !important;
  margin: 1.25rem 0 !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  color: var(--c-text) !important;
}

.obj_article_details .abstract h2,
.obj_article_details .abstract .label {
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--c-accent) !important;
  margin-bottom: 0.5rem !important;
  border: none !important;
}

/* Keywords */
.obj_article_details .keywords {
  font-family: var(--f-body) !important;
  font-size: 0.82rem !important;
  color: var(--c-text-mid) !important;
}

.obj_article_details .keywords .label {
  font-weight: 600 !important;
  color: var(--c-primary) !important;
}

/* How to cite */
.obj_article_details .how_to_cite,
.obj_article_details .citation_display {
  font-family: var(--f-body) !important;
  font-size: 0.8rem !important;
  background: var(--c-bg) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 0.85rem 1rem !important;
  color: var(--c-text-mid) !important;
  line-height: 1.6 !important;
}

.obj_article_details .how_to_cite .label,
.obj_article_details .citation_display .label {
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--c-primary) !important;
  display: block !important;
  margin-bottom: 0.4rem !important;
}

/* ── Breadcrumbs ────────────────────────────────────────────── */
.pkp_breadcrumbs {
  font-family: var(--f-body) !important;
  font-size: 0.78rem !important;
  color: var(--c-text-muted) !important;
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
  margin-bottom: 1.25rem !important;
}

.pkp_breadcrumbs a {
  color: var(--c-accent2) !important;
  text-decoration: none !important;
}

.pkp_breadcrumbs a:hover {
  color: var(--c-primary) !important;
}

/* ── Sidebar — scoped ONLY to content blocks, not navigation ──── */
/*
   OJS 3.3 sidebar block IDs we target:
   #sidebarInformation       — For Readers / Authors / Librarians
   #sidebarMakeSubmission    — Make a Submission button
   #sidebarIssues            — Current / past issues
   #sidebarLanguageToggle    — Language switcher
   #sidebarKeyword           — Keyword search
   .pkp_block                — generic blocks editors create
   We deliberately do NOT target .pkp_navigation_* or search forms.
*/

/* Block card wrapper */
#sidebarInformation,
#sidebarMakeSubmission,
#sidebarIssues,
#sidebarLanguageToggle,
#sidebarKeyword,
.pkp_structure_sidebar .pkp_block {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 0 !important;
  margin-bottom: 1.1rem !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
}

/* Block title bar */
#sidebarInformation h2,
#sidebarMakeSubmission h2,
#sidebarIssues h2,
#sidebarLanguageToggle h2,
#sidebarKeyword h2,
.pkp_structure_sidebar .pkp_block h2 {
  font-family: var(--f-head) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--c-white) !important;
  background: var(--c-primary) !important;
  margin: 0 !important;
  padding: 0.65rem 1rem !important;
  border-radius: 0 !important;
  border-bottom: 2px solid var(--c-accent) !important;
}

/* List reset */
#sidebarInformation ul,
#sidebarMakeSubmission ul,
#sidebarIssues ul,
.pkp_structure_sidebar .pkp_block ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* List items */
#sidebarInformation ul li,
#sidebarMakeSubmission ul li,
#sidebarIssues ul li,
.pkp_structure_sidebar .pkp_block ul li {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
}

#sidebarInformation ul li:last-child,
#sidebarMakeSubmission ul li:last-child,
#sidebarIssues ul li:last-child,
.pkp_structure_sidebar .pkp_block ul li:last-child {
  border-bottom: none !important;
}

/* Links — full width with chevron */
#sidebarInformation ul li a,
#sidebarMakeSubmission ul li a,
#sidebarIssues ul li a,
.pkp_structure_sidebar .pkp_block ul li a {
  font-family: var(--f-body) !important;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  color: var(--c-text) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.6rem 1rem !important;
  border-bottom: none !important;
  transition: background 0.13s ease, color 0.13s ease, padding-left 0.13s ease !important;
}

/* Chevron indicator */
#sidebarInformation ul li a::after,
#sidebarMakeSubmission ul li a::after,
#sidebarIssues ul li a::after,
.pkp_structure_sidebar .pkp_block ul li a::after {
  content: '›' !important;
  font-size: 1.1rem !important;
  color: var(--c-accent) !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  transition: transform 0.13s ease !important;
}

#sidebarInformation ul li a:hover,
#sidebarMakeSubmission ul li a:hover,
#sidebarIssues ul li a:hover,
.pkp_structure_sidebar .pkp_block ul li a:hover {
  background: var(--c-bg) !important;
  color: var(--c-primary) !important;
  padding-left: 1.3rem !important;
  text-decoration: none !important;
}

#sidebarInformation ul li a:hover::after,
#sidebarMakeSubmission ul li a:hover::after,
#sidebarIssues ul li a:hover::after,
.pkp_structure_sidebar .pkp_block ul li a:hover::after {
  transform: translateX(3px) !important;
}

/* Paragraph content inside blocks */
#sidebarInformation p,
#sidebarMakeSubmission p,
.pkp_structure_sidebar .pkp_block p {
  padding: 0.75rem 1rem !important;
  margin: 0 !important;
  font-size: 0.84rem !important;
  color: var(--c-text-mid) !important;
  border-bottom: 1px solid var(--c-border) !important;
}

#sidebarInformation p:last-child,
#sidebarMakeSubmission p:last-child,
.pkp_structure_sidebar .pkp_block p:last-child {
  border-bottom: none !important;
}

/* ── Make a Submission block ─────────────────────────────────── */
#sidebarMakeSubmission,
.block_make_submission {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.75rem !important;
}

.block_make_submission h2.pkp_screen_reader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
}

/* Mimic the header nav buttons (Publish, Peer Review Policy, etc.):
   navy fill, white uppercase label, subtle overlay + accent text on hover/click,
   no full colour swap and no visited/active flash. */
a.block_make_submission_link,
a.block_make_submission_link:link,
a.block_make_submission_link:visited,
.block_make_submission a,
.block_make_submission a:visited,
.block_make_submission .content a,
.block_make_submission .content a:visited,
.cmp_manuscript_button,
.cmp_manuscript_button:visited {
  display: block !important;
  background: var(--c-primary) !important;
  color: rgba(255,255,255,0.92) !important;
  font-family: var(--f-head) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 0.75rem 1.25rem !important;
  border: none !important;
  border-radius: var(--radius) !important;
  text-decoration: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: color 0.15s, background 0.15s !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

a.block_make_submission_link:hover,
a.block_make_submission_link:focus,
a.block_make_submission_link:active,
.block_make_submission a:hover,
.block_make_submission a:focus,
.block_make_submission a:active,
.block_make_submission .content a:hover,
.block_make_submission .content a:focus,
.block_make_submission .content a:active,
.cmp_manuscript_button:hover,
.cmp_manuscript_button:focus,
.cmp_manuscript_button:active {
  background: rgba(26,58,92,0.85) !important;
  color: var(--c-accent) !important;
  text-decoration: none !important;
  outline: none !important;
}

/* ── Information block ───────────────────────────────────────── */
.block_information {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 0 !important;
  margin-bottom: 1.1rem !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
  width: 100% !important;
  display: block !important;
}

.block_information h2 {
  font-family: var(--f-head) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--c-white) !important;
  background: var(--c-primary) !important;
  margin: 0 !important;
  padding: 0.65rem 1rem !important;
  border-radius: 0 !important;
  border-bottom: 2px solid var(--c-accent) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

.block_information ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.block_information ul li {
  border-bottom: 1px solid var(--c-border) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.block_information ul li:last-child {
  border-bottom: none !important;
}

.block_information ul li a {
  font-family: var(--f-body) !important;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  color: var(--c-text) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.6rem 1rem !important;
  transition: background 0.13s ease, color 0.13s ease, padding-left 0.13s ease !important;
}

.block_information ul li a::after {
  content: '›' !important;
  font-size: 1.1rem !important;
  color: var(--c-accent) !important;
  flex-shrink: 0 !important;
  transition: transform 0.13s ease !important;
}

.block_information ul li a:hover {
  background: var(--c-bg) !important;
  color: var(--c-primary) !important;
  padding-left: 1.3rem !important;
  text-decoration: none !important;
}

.block_information ul li a:hover::after {
  transform: translateX(3px) !important;
}

/* ── Body content link colour fix ────────────────────────────── */
/* Scope only to main content — not header, nav, or sidebar */
.pkp_structure_main p a,
.pkp_structure_main li a,
.pkp_structure_main td a,
.obj_article_details p a,
.obj_article_summary .abstract a {
  color: var(--c-primary) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(26,58,92,0.3) !important;
}

.pkp_structure_main p a:hover,
.pkp_structure_main li a:hover,
.pkp_structure_main td a:hover,
.obj_article_details p a:hover {
  color: var(--c-accent) !important;
  text-decoration-color: var(--c-accent) !important;
}

/* ── Search block ────────────────────────────────────────────── */
#sidebarKeyword,
.pkp_structure_sidebar .block_search,
.pkp_structure_sidebar .pkp_block_search {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 0 !important;
  margin-bottom: 1.1rem !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
}

/* Search form inside block */
.pkp_structure_sidebar .pkp_search,
.pkp_structure_sidebar .search_form,
#sidebarKeyword form {
  padding: 0.75rem !important;
  display: flex !important;
  gap: 0.4rem !important;
}

.pkp_structure_sidebar .pkp_search input[type="text"],
.pkp_structure_sidebar .search_form input[type="text"],
#sidebarKeyword input[type="text"] {
  flex: 1 !important;
  font-family: var(--f-body) !important;
  font-size: 0.84rem !important;
  border: 1px solid var(--c-border2) !important;
  border-radius: 3px !important;
  padding: 0.4rem 0.65rem !important;
  min-height: 36px !important;
  color: var(--c-text) !important;
}

.pkp_structure_sidebar .pkp_search input[type="text"]:focus,
#sidebarKeyword input[type="text"]:focus {
  border-color: var(--c-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(122,173,212,0.2) !important;
}

/* Search button — visible steel blue */
.pkp_structure_sidebar .pkp_search button,
.pkp_structure_sidebar .pkp_search input[type="submit"],
.pkp_structure_sidebar .search_form button,
.pkp_structure_sidebar .search_form input[type="submit"],
#sidebarKeyword button,
#sidebarKeyword input[type="submit"] {
  background: var(--c-primary) !important;
  color: var(--c-white) !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 0 0.75rem !important;
  min-height: 36px !important;
  font-family: var(--f-head) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
  white-space: nowrap !important;
}

.pkp_structure_sidebar .pkp_search button:hover,
.pkp_structure_sidebar .pkp_search input[type="submit"]:hover,
#sidebarKeyword button:hover,
#sidebarKeyword input[type="submit"]:hover {
  background: var(--c-accent) !important;
  color: var(--c-primary) !important;
}

/* ── Issue summary card ──────────────────────────────────────── */
.obj_issue_summary {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  box-shadow: var(--shadow-sm) !important;
}

.obj_issue_summary .title {
  font-family: var(--f-head) !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
  text-transform: none !important;
}

.obj_issue_summary .title a {
  color: var(--c-primary) !important;
}

.obj_issue_summary .title a:hover {
  color: var(--c-accent2) !important;
}

/* ── Pagination ─────────────────────────────────────────────── */
.cmp_pagination {
  font-family: var(--f-head) !important;
  margin-top: 1.5rem !important;
}

.cmp_pagination a,
.cmp_pagination .page {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  padding: 0.35rem 0.8rem !important;
  border: 1px solid var(--c-border2) !important;
  border-radius: 3px !important;
  color: var(--c-accent2) !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin: 2px !important;
  transition: background 0.13s, color 0.13s !important;
}

.cmp_pagination a:hover {
  background: var(--c-primary) !important;
  color: var(--c-white) !important;
  border-color: var(--c-primary) !important;
  text-decoration: none !important;
}

.cmp_pagination .current_page,
.cmp_pagination .page.current {
  background: var(--c-accent) !important;
  border-color: var(--c-accent) !important;
  color: var(--c-primary) !important;
}

/* ── Forms ──────────────────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="password"],
textarea, select {
  font-family: var(--f-body) !important;
  font-size: 1rem !important;
  border: 1px solid var(--c-border2) !important;
  border-radius: var(--radius) !important;
  min-height: 40px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--c-accent2) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(41,128,185,0.15) !important;
}

.submitFormButton,
input[type="submit"],
button[type="submit"] {
  font-family: var(--f-head) !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: var(--c-primary) !important;
  color: var(--c-white) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  padding: 0 1.5rem !important;
  min-height: 42px !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}

.submitFormButton:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--c-accent) !important;
}

/* ── Tables ─────────────────────────────────────────────────── */
table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.875rem !important;
  font-family: var(--f-body) !important;
}

th {
  font-family: var(--f-head) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  background: var(--c-primary) !important;
  color: var(--c-white) !important;
  padding: 0.6rem 0.9rem !important;
  text-align: left !important;
}

td {
  padding: 0.55rem 0.9rem !important;
  border-bottom: 1px solid var(--c-border) !important;
  color: var(--c-text-mid) !important;
}

tr:nth-child(even) td {
  background: var(--c-bg) !important;
}

.pkp_structure_main table {
  display: block !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* ── Footer wrapper ──────────────────────────────────────────── */
.pkp_structure_footer_wrapper {
  background: var(--c-footer) !important;
  border-top: 3px solid var(--c-accent) !important;
  margin-top: 1.5rem !important;
  padding: 0 !important;
}

.pkp_structure_footer {
  padding: 0 !important;
  width: 100% !important;
}

.pkp_structure_footer table,
.pkp_structure_footer tbody,
.pkp_structure_footer tr {
  width: 100% !important;
  display: block !important;
}

.pkp_structure_footer td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}

.pkp_footer_content {
  display: block !important;
  width: 100% !important;
  font-family: var(--f-body) !important;
}

.pkp_brand_footer { display: none !important; }

/* ── Custom footer grid ───────────────────────────────────────── */
/* 4 columns: licence (40%) / Quick Links (20%) / Visit (20%) / Logo (20%) */
.sf {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 1.1rem 2rem 0.75rem !important;
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
  gap: 0 1.75rem !important;
  align-items: start !important;
  font-family: var(--f-body) !important;
  box-sizing: border-box !important;
}

.sf-col { min-width: 0 !important; }

.sf-heading {
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.9) !important;
  margin: 0 0 0.5rem !important;
  padding-bottom: 0.35rem !important;
  border-bottom: 1px solid rgba(122,173,212,0.3) !important;
}

.sf-logo {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
}

.sf-logo img {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  opacity: 0.9 !important;
  transition: opacity 0.2s ease !important;
}

.sf-logo img:hover {
  opacity: 1 !important;
}

.sf-name {
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.68) !important;
  margin: 0 0 0.4rem !important;
  font-family: var(--f-body) !important;
}

.sf-issn {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 0 0.5rem !important;
  font-family: var(--f-head) !important;
}

.sf-meta {
  display: flex !important;
  gap: 0.35rem !important;
  flex-wrap: wrap !important;
}

.sf-tag {
  font-size: 0.58rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 2px 6px !important;
  border: 1px solid rgba(122,173,212,0.25) !important;
  color: rgba(122,173,212,0.6) !important;
  border-radius: 2px !important;
  font-family: var(--f-head) !important;
}

.sf-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.32rem !important;
}

/* Fix all links inside footer to be visible on dark background */
.pkp_structure_footer_wrapper a,
.pkp_footer_content a,
.sf a,
.sf-strip a {
  color: rgba(122,173,212,0.85) !important;
  text-decoration: none !important;
}

.pkp_structure_footer_wrapper a:hover,
.pkp_footer_content a:hover,
.sf a:hover {
  color: var(--c-accent) !important;
  text-decoration: underline !important;
}

.sf-nav a {
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.72) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  display: block !important;
}

.sf-nav a:hover {
  color: var(--c-accent) !important;
  text-decoration: none !important;
}

/* Bottom strip — fixed layout, minimal padding */
.sf-strip {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0.4rem 2rem !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.sf-copy,
.sf-powered {
  font-size: 0.67rem !important;
  color: rgba(255,255,255,0.28) !important;
  font-family: var(--f-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.sf-strip a {
  color: rgba(122,173,212,0.45) !important;
  text-decoration: none !important;
  font-size: 0.67rem !important;
}

.sf-strip a:hover {
  color: rgba(122,173,212,0.8) !important;
  text-decoration: none !important;
}

@media (max-width: 768px) {
  .sf {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.1rem 1.5rem !important;
    padding: 1rem 1rem 0.6rem !important;
  }
  .sf-license { grid-column: 1 / -1 !important; }
  .sf-logo {
    justify-content: flex-start !important;
  }
  .sf-strip {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0.25rem !important;
    padding: 0.4rem 1rem !important;
  }
}

@media (max-width: 480px) {
  .sf {
    grid-template-columns: 1fr !important;
  }
  .sf-license { grid-column: auto !important; }
}

/* ── Editorial Board & Static Pages ─────────────────────────── */
.eb-wrapper {
  max-width: 780px !important;
}

.eb-section {
  margin-bottom: 2rem !important;
}

.eb-section-label {
  display: block !important;
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--c-primary) !important;
  padding-bottom: 0.45rem !important;
  border-bottom: 2px solid var(--c-accent) !important;
  margin-bottom: 0 !important;
}

.eb-card {
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
}

.eb-card:last-child {
  border-bottom: none !important;
}

.eb-name {
  font-family: var(--f-head) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
  line-height: 1.4 !important;
}

.eb-dept {
  font-family: var(--f-body) !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--c-text-mid) !important;
  margin-top: 2px !important;
}

.eb-uni {
  font-family: var(--f-body) !important;
  font-size: 0.78rem !important;
  font-weight: 300 !important;
  color: var(--c-text-muted) !important;
  margin-top: 1px !important;
}

.eb-spacer {
  height: 2rem !important;
  border-bottom: 1px solid var(--c-border) !important;
  margin-bottom: 2rem !important;
}

.eb-heading {
  font-family: var(--f-head) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--c-primary) !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 1.5rem !important;
  display: block !important;
}

/* ── About the Journal ───────────────────────────────────────── */
.ab-wrapper {
  max-width: 780px !important;
}

.ab-intro p {
  font-family: var(--f-body) !important;
  font-size: 0.95rem !important;
  line-height: 1.8 !important;
  color: var(--c-text) !important;
  margin-bottom: 1rem !important;
}

.ab-section {
  margin-top: 1.75rem !important;
  padding-top: 1.75rem !important;
  border-top: 1px solid var(--c-border) !important;
}

.ab-section-label {
  display: block !important;
  font-family: var(--f-head) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--c-primary) !important;
  padding-bottom: 0.45rem !important;
  border-bottom: 2px solid var(--c-accent) !important;
  margin-bottom: 0.85rem !important;
}

.ab-text {
  font-family: var(--f-body) !important;
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
  color: var(--c-text) !important;
  margin-bottom: 0.75rem !important;
}

.ab-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0.5rem 0 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 1.5rem !important;
}

.ab-list li {
  font-family: var(--f-body) !important;
  font-size: 0.84rem !important;
  color: var(--c-text-mid) !important;
  padding: 0.35rem 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.ab-list li::before {
  content: '' !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: var(--c-accent) !important;
  flex-shrink: 0 !important;
}

.ab-badges {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  margin-top: 2rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid var(--c-border) !important;
}

.ab-badge {
  font-family: var(--f-head) !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border: 1px solid var(--c-accent) !important;
  color: var(--c-primary) !important;
  border-radius: 3px !important;
  background: var(--c-blue-wash) !important;
}
.obj_announcement_summary {
  background: var(--c-card) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius) !important;
  padding: 1rem 1.25rem !important;
  margin-bottom: 0.75rem !important;
  box-shadow: var(--shadow-sm) !important;
}

.obj_announcement_summary .title,
.obj_announcement_summary h2 {
  font-family: var(--f-head) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
  text-transform: none !important;
}

.obj_announcement_summary .date {
  font-family: var(--f-body) !important;
  font-size: 0.75rem !important;
  color: var(--c-accent) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 0.3rem !important;
  display: block !important;
}

/* ── Borders cleanup ────────────────────────────────────────── */
.pkp_structure_main {
  border-right-color: transparent !important;
}

.pkp_structure_sidebar {
  border-left-color: transparent !important;
}

.pkp_page_index .pkp_structure_content,
.pkp_page_index section,
.pkp_page_index article,
.pkp_page_index .homepage_image,
.obj_issue_summary,
.cmp_announcement_summary,
.pkp_helpers_align_left,
.pkp_helpers_align_right {
  border-color: transparent !important;
}

/* ── Notifications ──────────────────────────────────────────── */
.pkp_notification,
.notifySuccess {
  font-family: var(--f-body) !important;
  font-size: 0.875rem !important;
  background: #eaf7ef !important;
  border-left: 3px solid #27ae60 !important;
  padding: 0.75rem 1rem !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  color: var(--c-text) !important;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .pkp_structure_head { padding: 0 !important; }

  .pkp_navigation_primary a {
    font-size: 0.88rem !important;
    padding: 10px 14px !important;
  }

  .pkp_site_name img,
  .pkp_site_name_logo img {
    max-height: 50px !important;
  }

  .obj_article_details {
    padding: 1.1rem !important;
  }

  .pkp_structure_sidebar {
    padding: 1.5rem 0 0 !important;
  }

  .pkp_block h2,
  .pkp_sidebar .block h2 {
    margin: -1rem -1.1rem 0.85rem !important;
  }
}

@media (max-width: 480px) {
  body { font-size: 0.9rem !important; }

  .obj_article_summary .title {
    font-size: 0.9rem !important;
  }

  .obj_article_details .page_title,
  .obj_article_details h1 {
    font-size: 1.15rem !important;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  textarea, select {
    font-size: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0.01ms !important; }
}

