:root {
  --journal-primary: #001f3f;       /* Navy */
  --journal-secondary: #8b0000;     /* Dark red */
  --journal-accent: #ffd700;        /* Gold */
  --journal-body-bg: #ffffff;
  --journal-text: #222222;
  --journal-muted: #555555;
  --journal-light-bg: #f5f5f5;
  --journal-sidebar-bg: #fafafa;
}

/* === Body === */
body {
  background: var(--journal-body-bg);
  color: var(--journal-text);
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  margin: 0; padding: 0;
}

/* === Header === */
.pkp_head_wrapper {
  background: var(--journal-primary);
  padding: 1rem 0;
}
.pkp_site_name a,
.pkp_header_title {
  color: #fff !important;
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-left: 1rem;
  text-decoration: none;
}

/* === Navigation === */
.pkp_navigation_primary {
  background: var(--journal-secondary);
}
.pkp_navigation_primary a {
  color: #fff !important;
  padding: 0.75rem 1rem;
}
.pkp_navigation_primary a:hover,
.pkp_navigation_primary .active a {
  background: var(--journal-accent);
  color: var(--journal-primary) !important;
}

/* === Article & Section Titles === */
.obj_article_details h1,
.page_title h1 {
  color: var(--journal-secondary);
  font-size: 1.75rem;
  margin-bottom: 0.5rem;
}
.pkp_page_title h1,
.page_title h2 {
  color: var(--journal-primary);
  border-bottom: 3px solid var(--journal-secondary);
  padding-bottom: 0.5rem;
}

/* === Links & Focus === */
a {
  color: var(--journal-primary);
  text-decoration: underline;
}
a:hover {
  color: var(--journal-secondary);
  text-decoration: none;
}
a:focus {
  outline: 3px dashed var(--journal-accent);
  outline-offset: 2px;
}

/* === Buttons === */
.btn,
button,
input[type="submit"] {
  background: var(--journal-primary);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-size: 1rem;
}
.btn:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--journal-secondary);
}

/* === Tables === */
table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1.5rem;
}
table th,
table td {
  border: 1px solid #ddd;
  padding: 0.75rem;
  text-align: left;
}
table th {
  background: var(--journal-primary);
  color: #fff;
}

/* === Sidebar === */
.pkp_structure_sidebar {
  background: var(--journal-sidebar-bg);
  padding: 1rem;
  border-left: 4px solid var(--journal-secondary);
}

/* === Footer === */
.pkp_footer_content {
  background: var(--journal-light-bg);
  color: var(--journal-muted);
  font-size: 0.875rem;
  padding: 1rem;
  text-align: center;
}
.pkp_footer_content a {
  color: var(--journal-secondary);
}