/* 1. BRAND VARIABLES */
:root {
  /* Primary brand color (buttons, links, highlights) */
  --brand-primary: #004080;

  /* Secondary / accent color (optional) */
  --brand-secondary: #6b7280;

  /* Header background */
  --brand-header-bg: #ffffff;

  /* Main title font */
  --brand-title-font: "Georgia", "Times New Roman", serif;

  /* Body / UI font */
  --brand-ui-font: "Inter", "Helvetica Neue", Arial, sans-serif;

  /* Subtitle color */
  --brand-subtitle-color: #374151;
}


/* 2. HEADER & JOURNAL IDENTITY */
.pkp_site_name {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 0.75rem 1.5rem;
  background-color: var(--brand-header-bg);
}

/* Logo */
.pkp_site_name img {
  max-height: 64px;
  width: auto;
  flex-shrink: 0;
}

/* Title container */
.pkp_site_name_text {
  display: flex;
  flex-direction: column;
}

/* Journal title */
.pkp_site_name_text span,
.pkp_site_name_text a {
  font-family: var(--brand-title-font);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand-primary);
  line-height: 1.2;
  letter-spacing: 0.2px;
  text-decoration: none;
}

/* Journal subtitle / tagline */
.pkp_site_name_text small {
  margin-top: 0.15rem;
  font-family: var(--brand-ui-font);
  font-size: 0.875rem;
  font-style: italic;
  color: var(--brand-subtitle-color);
}

/* 3. NAVIGATION */
.pkp_navigation_primary > li > a {
  font-family: var(--brand-ui-font);
  font-size: 0.95rem;
  font-weight: 500;
  color: #1f2937;
  padding: 0.75rem 1rem;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: var(--brand-primary);
  text-decoration: none;
}

.pkp_navigation_primary > li > a.is_current {
  color: var(--brand-primary);
  font-weight: 600;
}

/* 5. BUTTONS & ACTIONS */
.pkp_button_primary {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  font-family: var(--brand-ui-font);
  font-weight: 500;
}

.pkp_button_primary:hover {
  background-color: #003366;
  border-color: #003366;
}

.pkp_button {
  border-radius: 4px;
}

/* 5. TYPOGRAPHY */
body {
  font-family: var(--brand-ui-font);
  color: #111827;
}

.pkp_page_title,
.pkp_section_title {
  font-family: var(--brand-title-font);
  font-weight: 600;
  color: #111827;
}

.pkp_page_content p {
  line-height: 1.65;
}

/* 6. FOOTER */
.pkp_footer_content {
  font-family: var(--brand-ui-font);
  font-size: 0.85rem;
  color: #4b5563;
}

.pkp_footer_content a {
  color: var(--brand-primary);
}

/* 7. RESPONSIVE */
@media (max-width: 768px) {
  .pkp_site_name {
    flex-direction: column;
    text-align: center;
  }

  .pkp_site_name img {
    margin-bottom: 0.5rem;
  }
}

/* =========================================================
   OJS 3.5 DEFAULT THEME — HEADER BRANDING FIX
   Logo + Title + Subtitle (Institutional)
   ========================================================= */

/* Reset excessive spacing added by default theme */
.pkp_structure_head {
  padding-top: 0;
  padding-bottom: 0;
}

/* Main site name container */
.pkp_site_name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.25rem;
  padding: 1rem 1.5rem;
  background-color: #ffffff;
  min-height: 96px;
  box-sizing: border-box;
}

/* Logo */
.pkp_site_name img {
  max-height: 72px;
  width: auto;
  display: block;
}

/* Text wrapper (OJS default markup uses this class) */
.pkp_site_name .pkp_site_name_text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Journal title */
.pkp_site_name .pkp_site_name_text a,
.pkp_site_name .pkp_site_name_text span {
  font-family: var(--brand-title-font, Georgia, "Times New Roman", serif);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--brand-primary, #004080);
  text-decoration: none;
}

/* Journal subtitle (summary / tagline) */
.pkp_site_name .pkp_site_name_text small {
  margin-top: 0.25rem;
  font-family: var(--brand-ui-font, Arial, sans-serif);
  font-size: 0.9rem;
  font-style: italic;
  line-height: 1.3;
  color: #374151;
}

/* Ensure subtitle is visible (default theme sometimes hides it) */
.pkp_site_name small {
  display: block;
}

/* Mobile refinement */
@media (max-width: 768px) {
  .pkp_site_name {
    flex-direction: column;
    text-align: center;
    padding: 1rem;
  }

  .pkp_site_name img {
    margin-bottom: 0.5rem;
  }
}

/* =========================================================
   HEADER & NAVIGATION COLOR OVERRIDE
   Default Theme – OJS 3.5
   ========================================================= */

/* Top header bar (Register / Login) */
.pkp_structure_head {
  background-color: #a0d2f0 !important;
}

/* Main navigation bar */
.pkp_navigation_primary_wrapper {
  background-color: #a0d2f0 !important;
}

/* Some default themes add a pseudo-element */
.pkp_structure_head::before {
  background-color: #a0d2f0 !important;
}

/* Navigation text color for contrast */
.pkp_navigation_primary > li > a,
.pkp_user_nav > li > a {
  color: #0f172a;
}

.pkp_navigation_primary > li > a:hover,
.pkp_user_nav > li > a:hover {
  color: #000000;
}

/* =========================================================
   STANDARDIZED INSTITUTIONAL FOOTER
   OJS 3.5 Default Theme | Multi-Journal Ready
   WCAG AA Compliant
   ========================================================= */

/* ---------- BRAND VARIABLES (shared across journals) ---------- */
:root {
  --brand-primary: #a0d2f0;           /* Header / Footer background */
  --brand-footer-text: #0f172a;       /* Dark slate (AA compliant) */
  --brand-footer-link: #0b3a53;       /* Accessible link color */
}

/* ---------- Footer full-width background ---------- */
.pkp_structure_footer {
  background-color: var(--brand-primary) !important;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ---------- Centered content container ---------- */
.pkp_structure_footer .pkp_footer_content {
  max-width: 1200px;                  /* Institutional standard */
  margin: 0 auto;
  padding: 1.75rem 1.5rem;
  background: transparent;
  box-sizing: border-box;
  text-align: center;
}

/* ---------- Footer typography ---------- */
.pkp_structure_footer,
.pkp_structure_footer p,
.pkp_structure_footer li,
.pkp_structure_footer span {
  color: var(--brand-footer-text);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* ---------- Footer links (WCAG AA) ---------- */
.pkp_structure_footer a {
  color: var(--brand-footer-link);
  font-weight: 500;
  text-decoration: underline;
}

.pkp_structure_footer a:hover,
.pkp_structure_footer a:focus {
  color: #000000;
  text-decoration: underline;
}

/* ---------- Institutional copyright line ---------- */
.pkp_structure_footer::after {
  content: "© 2026 National Defence University–Kenya. All rights reserved. Published by the National Defence University-Kenya.";
  display: block;
  margin-top: 1rem;
  font-size: 0.8rem;
  color: var(--brand-footer-text);
}

/* ---------- Mobile refinement ---------- */
@media (max-width: 768px) {
  .pkp_structure_footer .pkp_footer_content {
    padding: 1.25rem 1rem;
  }
}

/* =========================================================
   FORCE JUSTIFIED TEXT – OJS 3.5 (INLINE STYLE OVERRIDE)
   GUARANTEED FIX
   ========================================================= */

/* HTML galleys (most common case) */
.galley_view p,
.galley_view li,
.galley_view div,
.article-content p,
.article-content li,
.article-content div,
.article-summary p,
.article-summary li,
.obj_article_details p,
.obj_article_summary p,
.pkp_page_content p,
.pkp_page_content li {
  text-align: justify !important;
  hyphens: auto !important;
}

/* Prevent justification on headings */
.galley_view h1,
.galley_view h2,
.galley_view h3,
.galley_view h4,
.galley_view h5,
.galley_view h6,
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  text-align: left !important;
}

/* ================================
   HEADER LOGO–ONLY CONFIGURATION
   OJS 3.5 Default Theme
================================ */

/* Hide textual site title and subtitle */
.pkp_site_name .is_text {
  display: none !important;
}

/* Header container alignment */
.pkp_site_name {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
}

/* Logo image sizing */
.pkp_site_name .is_img img,
.pkp_site_name img {
  max-height: 90px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Prevent excessive header height */
.pkp_site_name_wrapper {
  min-height: unset;
}

/* ================================
   UNIFY HEADER BACKGROUND COLOR
   OJS 3.5 Default Theme
================================ */

/* Entire header wrapper */
.pkp_site_name_wrapper,
.pkp_site_name {
  background-color: #a0d2f0 !important;
}

/* Remove residual white spacing */
.pkp_site_name_wrapper {
  margin: 0;
  padding: 0;
}

/* Maintain padding for logo only */
.pkp_site_name {
  padding: 12px 0;
}

/* Ensure navigation bar matches header */
.pkp_navigation_primary_wrapper {
  background-color: #a0d2f0;
}

/* ================================
   FOOTER SOCIAL ICONS – FONT AWESOME
================================ */

.ndu-footer-social {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 10px;
}

.ndu-footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #ffffff;
  color: #003366;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ndu-footer-social a:hover,
.ndu-footer-social a:focus-visible {
  background-color: #003366;
  color: #ffffff;
}
/* Justify readable HTML content (non-PDF) */
.pkp_page_content p,
.pkp_page_content li,
.pkp_page_content div {
  text-align: justify;
  text-justify: inter-word;
}
