/**
 * Metro OJS Theme - Stylesheet
 * Metro UI / Modern Flat Design for OJS 3.5
 * Pure Flat Design: 0px border-radius across all elements
 */

:root {
  --metro-primary: #0067B8;
  --metro-dark: #003B73;
  --metro-light-blue: #00A4EF;
  --metro-green: #107C10;
  --metro-orange: #F7630C;
  --metro-purple: #744DA9;
  --metro-cyan: #00B7C3;
  --metro-bg: #F4F6F8;
  --metro-text: #1F2937;
  --metro-text-muted: #64748B;
  --metro-white: #FFFFFF;
  --metro-border: #E2E8F0;
  --metro-border-dark: #CBD5E1;
  --metro-radius: 0px;
  --metro-radius-sm: 0px;
  --metro-font: 'Segoe UI', 'Inter', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
}

*, *::before, *::after {
  border-radius: 0px !important;
}

html, body {
  font-family: var(--metro-font);
  background-color: var(--metro-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cdefs%3E%3Cstyle%3E.ecg%7Bfill:none;stroke:%230067B8;stroke-opacity:0.07;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;%7D.crs%7Bfill:%230067B8;fill-opacity:0.05;%7D.hex%7Bfill:none;stroke:%2300A4EF;stroke-opacity:0.045;stroke-width:1.2;%7D.nod%7Bfill:%2300B7C3;fill-opacity:0.08;%7D.grd%7Bfill:none;stroke:%23CBD5E1;stroke-opacity:0.22;stroke-width:0.5;stroke-dasharray:2 4;%7D%3C/style%3E%3C/defs%3E%3Cline x1='0' y1='60' x2='120' y2='60' class='grd'/%3E%3Cline x1='60' y1='0' x2='60' y2='120' class='grd'/%3E%3Cpath class='ecg' d='M0 60h36l4-6 4 6h5l2 5 5-49 5 56 4-14 2 2h5l5-9 6 9h37'/%3E%3Ccircle cx='56' cy='16' r='1.5' fill='%230067B8' fill-opacity='0.12'/%3E%3Cpath class='crs' d='M27 17h6v8h8v6h-8v8h-6v-8h-8v-6h8z'/%3E%3Cpath class='crs' d='M87 77h6v8h8v6h-8v8h-6v-8h-8v-6h8z'/%3E%3Cpolygon class='hex' points='85,15 95,21 95,33 85,39 75,33 75,21'/%3E%3Ccircle cx='85' cy='15' r='2' class='nod'/%3E%3Ccircle cx='95' cy='21' r='2' class='nod'/%3E%3Ccircle cx='95' cy='33' r='2' class='nod'/%3E%3Ccircle cx='85' cy='39' r='2' class='nod'/%3E%3Ccircle cx='75' cy='33' r='2' class='nod'/%3E%3Ccircle cx='75' cy='21' r='2' class='nod'/%3E%3Cline x1='85' y1='27' x2='85' y2='15' class='hex'/%3E%3Cline x1='85' y1='27' x2='95' y2='33' class='hex'/%3E%3Cline x1='85' y1='27' x2='75' y2='33' class='hex'/%3E%3Cpolygon class='hex' points='25,75 35,81 35,93 25,99 15,93 15,81'/%3E%3Ccircle cx='25' cy='75' r='2' class='nod'/%3E%3Ccircle cx='35' cy='81' r='2' class='nod'/%3E%3Ccircle cx='35' cy='93' r='2' class='nod'/%3E%3Ccircle cx='25' cy='99' r='2' class='nod'/%3E%3Ccircle cx='15' cy='93' r='2' class='nod'/%3E%3Ccircle cx='15' cy='81' r='2' class='nod'/%3E%3Cline x1='25' y1='87' x2='25' y2='75' class='hex'/%3E%3Cline x1='25' y1='87' x2='35' y2='93' class='hex'/%3E%3Cline x1='25' y1='87' x2='15' y2='93' class='hex'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 120px 120px;
  color: var(--metro-text);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--metro-font);
  font-weight: 700;
  color: var(--metro-dark);
  letter-spacing: -0.02em;
}

a {
  color: var(--metro-primary);
  text-decoration: none;
  transition: all 0.2s ease;
}

a:hover {
  color: var(--metro-dark);
}

.metro-container {
  max-width: 1440px;
  width: 92%;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (max-width: 768px) {
  .metro-container {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 480px) {
  .metro-container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

img, iframe, svg, canvas, video, embed, object {
  max-width: 100%;
}

table {
  max-width: 100%;
}

.metro-article-detail-wrap table,
.metro-detail-box table,
.metro-page-content table,
.pkp_block table,
.metro-main-col table,
.entry_details table,
.metro-issue-description-box table,
.metro-card table,
.metro-custom-page-footer table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
}

pre, code, kbd, samp {
  max-width: 100%;
  overflow-x: auto;
  word-break: break-word;
  white-space: pre-wrap;
}

.metro-ref-link,
.metro-article-detail-title,
.metro-hero-title,
.metro-page-title,
.metro-current-title,
.metro-article-title {
  overflow-wrap: break-word;
  word-break: break-word;
}

.metro-topbar {
  background-color: #002B54;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.82rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0px !important;
}

.metro-topbar a {
  color: rgba(255, 255, 255, 0.9);
}

.metro-topbar a:hover {
  color: var(--metro-light-blue);
}

.metro-badge-oa {
  background-color: var(--metro-green) !important;
  color: #fff !important;
  font-weight: 700;
  font-size: 0.76rem;
  padding: 4px 10px;
  border-radius: 0px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1.4;
}

.metro-hero-badge {
  background-color: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 0px !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.metro-hero-badge i {
  font-size: 0.85rem;
}

.metro-header {
  background-color: var(--metro-white);
  border-bottom: 2px solid var(--metro-border);
  position: sticky;
  top: 0;
  z-index: 1020;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  border-radius: 0px !important;
  transition: all 0.3s ease;
}

.metro-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  padding: 0.5rem 0;
}

.metro-logo {
  max-height: 48px;
  width: auto;
  object-fit: contain;
  border-radius: 0px !important;
}

.metro-brand-tile {
  width: 44px;
  height: 44px;
  background-color: var(--metro-primary);
  color: var(--metro-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 800;
  border-radius: 0px !important;
  flex-shrink: 0;
}

.metro-brand-title {
  font-size: 1.22rem;
  font-weight: 800;
  color: var(--metro-dark);
  line-height: 1.15;
  margin: 0;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.metro-brand-subtitle {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--metro-text-muted);
  line-height: 1.25;
  margin: 0;
}

.metro-nav-menu .navbar-nav {
  display: flex;
  align-items: stretch;
  gap: 2px;
}

.metro-nav-menu .nav-link {
  color: var(--metro-text);
  font-weight: 600;
  font-size: 0.92rem;
  padding: 0.85rem 1rem !important;
  border-radius: 0px !important;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.metro-nav-menu .nav-link:hover {
  background-color: #E9F1F7;
  color: var(--metro-primary);
  border-radius: 0px !important;
}

.metro-auth-btn {
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0.45rem 1rem;
  border-radius: 0px !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;
}

.metro-auth-btn-primary {
  background-color: var(--metro-primary);
  color: var(--metro-white) !important;
  border-radius: 0px !important;
}

.metro-auth-btn-primary:hover {
  background-color: #005699;
}

.metro-auth-btn-outline {
  background-color: transparent;
  border-color: var(--metro-border-dark);
  color: var(--metro-text) !important;
  border-radius: 0px !important;
}

.metro-auth-btn-outline:hover {
  background-color: #E2E8F0;
}

.metro-auth-btn-danger {
  background-color: transparent;
  border-color: #EF4444;
  color: #DC2626 !important;
  border-radius: 0px !important;
}

.metro-auth-btn-danger:hover {
  background-color: #DC2626;
  color: #fff !important;
}

.metro-hero {
  background: linear-gradient(135deg, #001F3F 0%, #003366 45%, #005088 100%);
  color: var(--metro-white);
  padding: 3.5rem 0 3rem 0;
  position: relative;
  overflow: hidden;
  border-bottom: 4px solid #DC2626;
  border-radius: 0px !important;
}

.metro-hero-pattern {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(to right, rgba(0, 183, 195, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 183, 195, 0.08) 1px, transparent 1px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cdefs%3E%3Cstyle%3E.ecg%7Bfill:none;stroke:%2300B7C3;stroke-opacity:0.32;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;%7D.crs%7Bfill:%23FFFFFF;fill-opacity:0.12;%7D.hex%7Bfill:none;stroke:%2300A4EF;stroke-opacity:0.18;stroke-width:1.2;%7D.nod%7Bfill:%2300B7C3;fill-opacity:0.35;%7D%3C/style%3E%3C/defs%3E%3Cpath class='ecg' d='M0 60h36l4-6 4 6h5l2 5 5-49 5 56 4-14 2 2h5l5-9 6 9h37'/%3E%3Ccircle cx='56' cy='16' r='2' fill='%23FFFFFF' fill-opacity='0.65'/%3E%3Cpath class='crs' d='M27 17h6v8h8v6h-8v8h-6v-8h-8v-6h8z'/%3E%3Cpath class='crs' d='M87 77h6v8h8v6h-8v8h-6v-8h-8v-6h8z'/%3E%3Cpolygon class='hex' points='85,15 95,21 95,33 85,39 75,33 75,21'/%3E%3Ccircle cx='85' cy='15' r='2' class='nod'/%3E%3Ccircle cx='95' cy='21' r='2' class='nod'/%3E%3Ccircle cx='95' cy='33' r='2' class='nod'/%3E%3Ccircle cx='85' cy='39' r='2' class='nod'/%3E%3Ccircle cx='75' cy='33' r='2' class='nod'/%3E%3Ccircle cx='75' cy='21' r='2' class='nod'/%3E%3Cpolygon class='hex' points='25,75 35,81 35,93 25,99 15,93 15,81'/%3E%3Ccircle cx='25' cy='75' r='2' class='nod'/%3E%3Ccircle cx='35' cy='81' r='2' class='nod'/%3E%3Ccircle cx='35' cy='93' r='2' class='nod'/%3E%3Ccircle cx='25' cy='99' r='2' class='nod'/%3E%3Ccircle cx='15' cy='93' r='2' class='nod'/%3E%3Ccircle cx='15' cy='81' r='2' class='nod'/%3E%3C/svg%3E");
  background-size: 32px 32px, 32px 32px, 120px 120px;
  pointer-events: none;
  opacity: 0.95;
}

.metro-hero-medical-art {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 500px;
  height: 320px;
  max-width: 38vw;
  pointer-events: none;
  z-index: 1;
  opacity: 0.16;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center right;
}

.metro-hero-ecg-line {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='50' viewBox='0 0 400 50'%3E%3Cdefs%3E%3ClinearGradient id='ecgDanger' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23DC2626' stop-opacity='0.45'/%3E%3Cstop offset='20%25' stop-color='%23EF4444' stop-opacity='0.95'/%3E%3Cstop offset='22%25' stop-color='%23FFFFFF' stop-opacity='1'/%3E%3Cstop offset='56%25' stop-color='%23EF4444' stop-opacity='0.95'/%3E%3Cstop offset='58%25' stop-color='%23FFFFFF' stop-opacity='1'/%3E%3Cstop offset='100%25' stop-color='%23DC2626' stop-opacity='0.45'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='none' stroke='url(%23ecgDanger)' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M0 35h60l5-8 5 8h8l3 6 6-42 6 48 5-14 3 2h8l7-10 7 10h80l5-8 5 8h8l3 6 6-42 6 48 5-14 3 2h8l7-10 7 10h134'/%3E%3Ccircle cx='87' cy='5' r='3' fill='%23FFFFFF'/%3E%3Ccircle cx='230' cy='5' r='3' fill='%23FFFFFF'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 400px 50px;
  pointer-events: none;
  z-index: 2;
  opacity: 0.9;
  filter: drop-shadow(0 -2px 6px rgba(220, 38, 38, 0.85)) drop-shadow(0 0 10px rgba(239, 68, 68, 0.6));
  animation: metroEcgFlow 12s linear infinite;
}

@keyframes metroEcgFlow {
  from { background-position-x: 0; }
  to { background-position-x: -400px; }
}

.metro-hero-content {
  position: relative;
  z-index: 3;
}

.metro-hero-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--metro-white);
  line-height: 1.25;
  margin-bottom: 0.8rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.metro-hero-subtitle {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.95);
  max-width: 680px;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.metro-hero-btn {
  font-size: 0.92rem;
  font-weight: 700;
  padding: 0.65rem 1.4rem;
  border-radius: 0px !important;
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
  transition: all 0.2s ease;
  letter-spacing: 0.02em;
}

.metro-hero-btn-primary {
  background-color: var(--metro-cyan) !important;
  color: #001F3F !important;
  border: 1.5px solid var(--metro-cyan) !important;
}

.metro-hero-btn-primary:hover {
  background-color: #ffffff !important;
  color: var(--metro-dark) !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.metro-hero-btn-outline {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.85) !important;
}

.metro-hero-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.metro-hero-tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  max-width: 320px;
  margin-left: auto;
}

.metro-hero-tile-mini {
  padding: 14px;
  border-radius: 0px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 90px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid rgba(255, 255, 255, 0.25);
  cursor: pointer;
}

.metro-hero-tile-mini:hover {
  transform: translateY(-2px);
  filter: brightness(1.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.metro-hero-tile-mini i {
  font-size: 1.4rem;
  margin-bottom: 6px;
  color: #ffffff;
}

.metro-hero-tile-mini span {
  font-size: 0.78rem;
  font-weight: 700;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.metro-quick-tiles-wrapper {
  margin-top: 1.25rem;
  margin-bottom: 2rem;
  position: relative;
  z-index: 10;
}

.metro-quick-tiles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.metro-tile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.25rem 1.35rem 0.95rem 1.35rem;
  min-height: 145px;
  border-radius: 0px !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.1, 0.9, 0.2, 1), box-shadow 0.2s ease, filter 0.2s ease;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.metro-tile:hover {
  transform: translateY(-4px);
  filter: brightness(1.09);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
  color: #FFFFFF !important;
}

.metro-tile-blue {
  background-color: var(--metro-primary);
  border-bottom: 4px solid var(--metro-cyan);
}
.metro-tile-green {
  background-color: var(--metro-green);
  border-bottom: 4px solid #89D95B;
}
.metro-tile-orange {
  background-color: #D83B01;
  border-bottom: 4px solid #FFB900;
}
.metro-tile-purple {
  background-color: var(--metro-purple);
  border-bottom: 4px solid #E3008C;
}
.metro-tile-cyan {
  background-color: var(--metro-cyan);
  border-bottom: 4px solid var(--metro-primary);
}

.metro-stat-tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 2;
}

.metro-stat-tile-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.2);
  padding: 3px 9px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0px !important;
  color: #FFFFFF;
}

.metro-stat-tile-watermark {
  font-size: 3rem;
  opacity: 0.18;
  position: absolute;
  right: 12px;
  top: 10px;
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(0.1, 0.9, 0.2, 1), opacity 0.3s ease;
  color: #FFFFFF;
}

.metro-tile:hover .metro-stat-tile-watermark {
  transform: scale(1.15) rotate(-6deg);
  opacity: 0.32;
}

.metro-stat-tile-main {
  position: relative;
  z-index: 2;
  margin: 0.3rem 0;
}

.metro-stat-tile-number {
  font-size: 2.3rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin-bottom: 2px;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.metro-stat-unit {
  font-size: 1.15rem;
  font-weight: 700;
  opacity: 0.9;
  letter-spacing: 0;
}

.metro-stat-tile-label {
  font-size: 0.84rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.3;
}

.metro-stat-tile-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-top: 0.55rem;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.9);
  position: relative;
  z-index: 2;
  transition: color 0.2s ease;
}

.metro-tile:hover .metro-stat-tile-footer {
  color: #FFFFFF;
}

.metro-stat-tile-footer i {
  font-size: 0.8rem;
  transition: transform 0.2s ease;
}

.metro-tile:hover .metro-stat-tile-footer i {
  transform: translateX(4px);
}

.metro-main-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.metro-main-col {
  flex: 0 0 calc(78.5% - 12px);
  max-width: calc(78.5% - 12px);
}

.metro-sidebar-col {
  flex: 0 0 calc(21.5% - 12px);
  max-width: calc(21.5% - 12px);
}

.metro-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
  border-bottom: 3px solid var(--metro-primary);
  border-radius: 0px !important;
}

.metro-section-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--metro-dark);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.metro-section-title i {
  color: var(--metro-primary);
}

.metro-current-card {
  background-color: var(--metro-white);
  border: 1px solid var(--metro-border);
  border-radius: 0px !important;
  padding: 1.5rem;
  margin-bottom: 2rem;
  border-left: 5px solid var(--metro-green);
}

.metro-current-grid {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
}

.metro-current-cover {
  flex: 0 0 160px;
  max-width: 160px;
  background-color: #ECEFF1;
  border: 1px solid var(--metro-border);
  padding: 4px;
  border-radius: 0px !important;
  text-align: center;
}

.metro-current-cover img {
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 0px !important;
}

.metro-current-details {
  flex: 1;
}

.metro-current-badge {
  background-color: var(--metro-green);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 0px !important;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 0.5rem;
}

.metro-current-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--metro-dark);
  margin-bottom: 0.5rem;
}

.metro-current-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  font-size: 0.85rem;
  color: var(--metro-text-muted);
  margin-bottom: 1rem;
}

.metro-current-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.metro-current-meta-item i {
  color: var(--metro-primary);
}

.metro-current-description {
  background-color: #F8FAFC;
  border: 1px solid var(--metro-border);
  border-left: 3px solid var(--metro-green);
  border-radius: 0px !important;
  padding: 0.9rem 1.15rem;
  margin-bottom: 1.25rem;
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--metro-text);
}

.metro-current-description p:last-child {
  margin-bottom: 0;
}

.metro-current-description-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--metro-text-muted);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.metro-current-description-label i {
  color: var(--metro-green);
}

.metro-btn-issue {
  background-color: var(--metro-green);
  color: #fff !important;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 0.55rem 1.25rem;
  border-radius: 0px !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border: none;
  transition: all 0.2s ease;
}

.metro-btn-issue:hover {
  background-color: #0E680E;
  filter: brightness(1.05);
}

.metro-articles-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 2rem;
}

.metro-article-card {
  background-color: var(--metro-white);
  border: 1px solid var(--metro-border);
  border-left: 4px solid var(--metro-primary);
  border-radius: 0px !important;
  padding: 1.2rem 1.4rem;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.metro-article-card:hover {
  border-color: var(--metro-border-dark);
  border-left-color: var(--metro-light-blue);
  background-color: #FAFCFE;
}

.metro-article-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.metro-badge-category {
  background-color: #E5F1FA;
  color: var(--metro-primary);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 0px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.metro-article-date {
  font-size: 0.8rem;
  color: var(--metro-text-muted);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.metro-article-title {
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.metro-article-title a {
  color: var(--metro-dark);
}

.metro-article-title a:hover {
  color: var(--metro-primary);
}

.metro-article-authors {
  font-size: 0.86rem;
  color: var(--metro-text);
  display: flex;
  align-items: center;
  gap: 6px;
}

.metro-article-authors i {
  color: var(--metro-primary);
}

.metro-article-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 6px;
  border-top: 1px dashed var(--metro-border);
}

.metro-article-meta-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.8rem;
  color: var(--metro-text-muted);
}

.metro-doi-link {
  color: var(--metro-text-muted);
  background-color: #F1F5F9;
  padding: 2px 6px;
  border-radius: 0px !important;
  font-size: 0.78rem;
  font-family: monospace;
}

.metro-doi-link:hover {
  color: var(--metro-primary);
  background-color: #E2E8F0;
}

.metro-article-metric {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 600;
  padding: 2px 7px;
  background-color: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: var(--metro-text);
  border-radius: 0px !important;
  line-height: 1.4;
  white-space: nowrap;
}

.metro-article-metric strong {
  font-weight: 700;
  color: var(--metro-dark);
}

.metro-metric-views {
  border-left: 2px solid var(--metro-primary) !important;
}

.metro-metric-downloads {
  border-left: 2px solid var(--metro-green) !important;
}

.metro-article-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.metro-btn-pdf {
  background-color: #D32F2F;
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 0px !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-transform: uppercase;
}

.metro-btn-pdf:hover {
  background-color: #B71C1C;
}

.metro-btn-view {
  background-color: #ECEFF1;
  color: var(--metro-text) !important;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 0px !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.metro-btn-view:hover {
  background-color: #CFD8DC;
}

.metro-sidebar {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.metro-card {
  background-color: var(--metro-white);
  border: 1px solid var(--metro-border);
  border-radius: 0px !important;
  padding: 1.25rem;
  overflow: hidden;
}

.metro-card-header {
  background-color: var(--metro-primary);
  color: #FFFFFF !important;
  font-size: 0.86rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: -1.25rem -1.25rem 1.1rem -1.25rem;
  padding: 0.7rem 1.15rem;
  border-radius: 0px !important;
  border: none !important;
  border-bottom: 2px solid rgba(0, 0, 0, 0.15) !important;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.35;
  box-sizing: border-box;
}

.metro-card-header-green { background-color: var(--metro-green) !important; }
.metro-card-header-red { background-color: #D32F2F !important; }
.metro-card-header-navy { background-color: #2B3A4A !important; }
.metro-card-header-orange { background-color: #E65100 !important; }
.metro-card-header-cyan { background-color: #00828A !important; }
.metro-card-header-purple { background-color: var(--metro-purple) !important; }
.metro-card-header-primary { background-color: var(--metro-primary) !important; }

.pkp_block {
  background-color: var(--metro-white);
  border: 1px solid var(--metro-border);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
  border-radius: 0px !important;
  padding: 1rem 1.1rem;
  margin-bottom: 1.25rem;
  overflow: hidden;
}

.pkp_block .title,
.pkp_block h2.title {
  margin: -1rem -1.1rem 1rem -1.1rem !important;
  padding: 0.65rem 1.1rem !important;
  background: var(--metro-dark);
  color: #FFFFFF !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
  border: none !important;
  border-left: 4px solid var(--metro-cyan) !important;
  border-bottom: 2px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 0px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

.pkp_block .title a, .pkp_block h2.title a { color: #FFFFFF !important; text-decoration: none !important; }

.pkp_screen_reader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pkp_block ul, .pkp_block ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.pkp_block ul li, .pkp_block ol li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  background: transparent !important;
  border: none !important;
}

.pkp_block ul li > a, .pkp_block ol li > a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 14px !important;
  background-color: var(--metro-primary) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-left: 5px solid var(--metro-cyan) !important;
  border-radius: 0px !important;
  font-size: 0.83rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  position: relative !important;
  transition: all 0.2s cubic-bezier(0.1, 0.9, 0.2, 1) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  line-height: 1.35 !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}

.pkp_block ul li > a em, .pkp_block ul li > a i {
  font-style: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  margin-right: 10px !important;
  font-size: 0.95rem !important;
  color: #FFFFFF !important;
  flex-shrink: 0 !important;
}

.pkp_block ul li > a::after, .pkp_block ol li > a::after {
  content: "\f054" !important;
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
  font-weight: 900 !important;
  margin-left: auto !important;
  padding-left: 10px !important;
  font-size: 0.72rem !important;
  opacity: 0.75 !important;
  color: #FFFFFF !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
  flex-shrink: 0 !important;
}

.pkp_block ul li:nth-child(5n+1) > a { background-color: #0067B8 !important; border-left-color: #00B7C3 !important; }
.pkp_block ul li:nth-child(5n+2) > a { background-color: #107C10 !important; border-left-color: #89D95B !important; }
.pkp_block ul li:nth-child(5n+3) > a { background-color: #D83B01 !important; border-left-color: #FFB900 !important; }
.pkp_block ul li:nth-child(5n+4) > a { background-color: #744DA9 !important; border-left-color: #E3008C !important; }
.pkp_block ul li:nth-child(5n+5) > a { background-color: #008272 !important; border-left-color: #00B7C3 !important; }

.pkp_block ul li > a:hover {
  transform: translateX(6px) !important;
  filter: brightness(1.15) !important;
  color: #FFFFFF !important;
  border-left-color: #FFFFFF !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22) !important;
}

.pkp_block ul li > a:hover::after { opacity: 1 !important; transform: translateX(4px) !important; color: #FFFFFF !important; }

.pkp_block .most_read_article {
  background-color: #F8FAFC !important;
  border: 1px solid var(--metro-border) !important;
  border-left: 4px solid var(--metro-orange) !important;
  border-radius: 0px !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
  display: block !important;
}

.pkp_block .most_read_article:hover {
  background-color: #FFFFFF !important;
  border-left-color: var(--metro-primary) !important;
  transform: translateX(4px) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
}

.most_read_article .most_read_article_title a {
  background-color: transparent !important; border: none !important; border-left: none !important; padding: 0 !important;
  color: var(--metro-dark) !important; font-weight: 700 !important; font-size: 0.83rem !important; line-height: 1.35 !important;
  text-transform: none !important; letter-spacing: normal !important; transform: none !important; box-shadow: none !important; display: block !important;
}

.most_read_article .most_read_article_title a:hover { background-color: transparent !important; color: var(--metro-primary) !important; transform: none !important; box-shadow: none !important; }
.pkp_block .most_read_article a::after { content: none !important; display: none !important; }

.most_read_article_stats {
  font-size: 0.74rem !important; color: var(--metro-text-muted) !important; font-weight: 600 !important; display: inline-flex !important;
  align-items: center !important; gap: 5px !important; background: #EEF2F6 !important; padding: 2px 8px !important; margin-top: 5px !important;
}

.pkp_block img { max-width: 100% !important; height: auto !important; display: block !important; margin: 0 auto !important; }

.metro-footer {
  background: linear-gradient(180deg, #06152B 0%, #001F3F 100%);
  color: rgba(255, 255, 255, 0.85);
  padding-top: 0;
  position: relative;
  border-radius: 0px !important;
  overflow: hidden;
}

.metro-footer .container-fluid {
  position: relative;
  z-index: 2;
  padding-top: 2.5rem;
}

.metro-footer h5 {
  color: #FFFFFF;
  font-size: 0.95rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--metro-primary);
  border-radius: 0px !important;
  display: flex;
  align-items: center;
}

.metro-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.metro-footer-links a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.metro-footer-links a i { font-size: 0.75rem; transition: transform 0.2s ease; }
.metro-footer-links a:hover { color: #FFFFFF !important; transform: translateX(4px); }
.metro-footer-links a:hover i { color: var(--metro-cyan) !important; }

.metro-footer-social { display: flex; gap: 8px; margin-top: 1.25rem; }

.metro-footer-social a {
  width: 36px; height: 36px; background-color: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12);
  color: #FFFFFF; display: flex; align-items: center; justify-content: center; border-radius: 0px !important;
  font-size: 0.95rem; text-decoration: none !important; transition: all 0.2s ease;
}

.metro-footer-social a.metro-soc-fb:hover { background-color: #1877F2; border-color: #1877F2; color: #fff; }
.metro-footer-social a.metro-soc-tw:hover { background-color: #000000; border-color: #333333; color: #fff; }
.metro-footer-social a.metro-soc-li:hover { background-color: #0A66C2; border-color: #0A66C2; color: #fff; }
.metro-footer-social a.metro-soc-yt:hover { background-color: #FF0000; border-color: #FF0000; color: #fff; }

.metro-footer-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 3px solid var(--metro-primary);
  border-radius: 0px !important;
  padding: 1.15rem 1.25rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.metro-custom-page-footer {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid var(--metro-cyan);
  border-radius: 0px !important;
  padding: 1.2rem 1.4rem;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.84rem;
  line-height: 1.6;
}

.metro-custom-page-footer a { color: var(--metro-cyan) !important; text-decoration: underline; }
.metro-custom-page-footer a:hover { color: #FFFFFF !important; }

.metro-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.25rem 0;
  margin-top: 2.25rem;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.65);
}

.metro-footer-bottom a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.metro-footer-bottom a:hover { color: var(--metro-cyan); text-decoration: underline; }

.metro-page-banner {
  background: linear-gradient(135deg, #001F3F 0%, #003366 50%, #004D94 100%);
  color: #fff;
  padding: 2rem 0;
  margin-bottom: 2.5rem;
  border-bottom: 3px solid var(--metro-cyan);
  border-radius: 0px !important;
  position: relative;
  overflow: hidden;
}

.metro-page-banner::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: 
    linear-gradient(to right, rgba(0, 183, 195, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 183, 195, 0.06) 1px, transparent 1px);
  background-size: 32px 32px, 32px 32px;
  pointer-events: none;
  opacity: 0.88;
}

.metro-page-banner .metro-container { position: relative; z-index: 2; }
.metro-breadcrumb { margin-bottom: 0.4rem; font-size: 0.82rem; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.metro-breadcrumb a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.metro-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.metro-breadcrumb strong { color: #fff; }
.metro-page-title { font-size: 1.75rem; font-weight: 800; color: #fff; margin: 0; }

.metro-floating-actions {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1050;
}

.metro-btn-float {
  width: 44px; height: 44px; border-radius: 0px !important; display: flex; align-items: center; justify-content: center;
  color: #fff; border: none; cursor: pointer; font-size: 1.1rem; transition: all 0.2s ease; text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.metro-btn-float:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25); }
.metro-btn-float-top { background-color: var(--metro-dark); }
.metro-btn-float-wa { background-color: #25D366; }

.btn, .badge, .card, .modal-content, .form-control, .dropdown-menu, .alert, img { border-radius: 0px !important; }

@media (max-width: 1199.98px) {
  .metro-quick-tiles-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991.98px) {
  .metro-header .navbar { padding: 0.35rem 0; }
  .metro-brand { gap: 8px; max-width: calc(100% - 56px); }
  .metro-brand-title { font-size: 1.05rem; }
  .metro-brand-subtitle { font-size: 0.72rem; }
  .metro-brand-tile { width: 38px; height: 38px; font-size: 1.05rem; }
  .metro-main-row { flex-direction: column; }
  .metro-main-col, .metro-sidebar-col { flex: 0 0 100%; max-width: 100%; }
  .metro-sidebar-col { margin-top: 2rem; }
  .metro-quick-tiles-grid { grid-template-columns: repeat(2, 1fr); }
  .metro-hero-tiles { margin-top: 1.5rem; margin-left: 0; max-width: 100%; }
}

@media (max-width: 767.98px) {
  .metro-hero { padding: 2rem 0 1.75rem 0; }
  .metro-hero-title { font-size: 1.35rem; line-height: 1.3; margin-bottom: 0.6rem; }
  .metro-hero-subtitle { font-size: 0.88rem; line-height: 1.45; margin-bottom: 1.25rem; }
  .metro-hero-ecg-line { height: 30px; background-size: 260px 30px; }
  .metro-hero-badge, .metro-badge-oa { font-size: 0.72rem; padding: 3px 8px; }
  .metro-hero-tiles { margin-top: 1.25rem; grid-template-columns: repeat(2, 1fr); gap: 8px; max-width: 100%; }
  .metro-hero-tile-mini { padding: 10px; min-height: 65px; }
  .metro-hero-tile-mini i { font-size: 1.15rem; margin-bottom: 4px; }
  .metro-hero-tile-mini span { font-size: 0.72rem; }
  .metro-quick-tiles-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .metro-tile { min-height: 110px; padding: 0.85rem 0.85rem 0.7rem 0.85rem; }
  .metro-stat-tile-number { font-size: 1.35rem; }
  .metro-stat-tile-label { font-size: 0.72rem; line-height: 1.2; }
  .metro-current-card { padding: 1rem; margin-bottom: 1.75rem; }
  .metro-current-grid { flex-direction: column !important; align-items: stretch !important; gap: 1rem; }
  .metro-current-cover { max-width: 180px; margin: 0 auto; text-align: center; }
  .metro-current-title { font-size: 1.18rem; margin-bottom: 0.65rem; }
  .metro-current-meta { gap: 6px 10px; }
  .metro-current-meta-item { font-size: 0.76rem; padding: 3px 8px; }
  .metro-current-description { padding: 0.75rem 0.85rem; margin: 0.85rem 0; }
  .metro-btn-issue { width: 100%; justify-content: center; padding: 0.65rem 1rem; font-size: 0.82rem; }
  .metro-page-banner { padding: 1.25rem 0; margin-bottom: 1.5rem; }
  .metro-page-title { font-size: 1.25rem; }
  .metro-article-card { padding: 1rem 0.85rem; gap: 7px; }
  .metro-article-title { font-size: 1rem; line-height: 1.35; }
  .metro-article-footer { flex-direction: column !important; align-items: stretch !important; gap: 10px; margin-top: 0.5rem; padding-top: 0.6rem; }
  .metro-article-actions { width: 100%; display: flex; flex-wrap: wrap; gap: 6px; }
  .metro-btn-pdf, .metro-btn-view { flex: 1 1 calc(50% - 6px); justify-content: center; text-align: center; padding: 6px 10px; min-height: 36px; font-size: 0.78rem; }
  .metro-floating-actions { bottom: 14px; right: 14px; gap: 8px; }
  .metro-btn-float { width: 40px; height: 40px; font-size: 1rem; }
  .metro-footer { padding-top: 2rem; }
  .metro-footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 0.78rem; }
}

@media (max-width: 575.98px) {
  .metro-hero-btn { width: 100%; justify-content: center; padding: 0.65rem 1rem; }
}

@media (max-width: 400px) {
  .metro-quick-tiles-grid { grid-template-columns: 1fr !important; }
  .metro-hero-tiles { grid-template-columns: 1fr; }
  .metro-brand-title { font-size: 0.95rem; }
}

/* ==========================================================================
   SMIJ THEME INTEGRATION BRIDGE
   Added by the SMIJ theme; not part of the Metro stylesheet above. This part
   wires that stylesheet to real OJS markup: the mobile nav toggle (the base
   styles assume Bootstrap's navbar-collapse JS, which isn't loaded here),
   the menu OJS renders via {load_menu}, the topbar login/register menu, the
   footer column grid (no Bootstrap grid loaded), and CSS-only skinning of a
   couple of native OJS templates (article list, issue heading) that this
   theme does not override, so an OJS update to those templates can't break
   the theme. Edit navy/gold in Website > Appearance > Theme, not here.
   ========================================================================== */

.smij-page { width: 100%; }
.metro-container { box-sizing: border-box; }
.metro-main-col.smij-full { flex: 0 0 100%; max-width: 100%; }

/* Mobile nav toggle button + show/hide */
.metro-nav-toggle {
	display: none; align-items: center; gap: 8px; padding: .5rem .9rem; cursor: pointer;
	background: #fff; border: 1px solid var(--metro-border-dark); color: var(--metro-dark);
	font-family: var(--metro-font); font-size: .85rem; font-weight: 700;
}
.metro-nav-toggle:hover, .metro-nav-toggle[aria-expanded="true"] { background: var(--metro-primary); color: #fff; border-color: var(--metro-primary); }

.metro-nav-menu { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.metro-nav-menu .navbar-nav { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.metro-nav-menu .navbar-nav > li { list-style: none; position: relative; }
.metro-nav-menu > a.nav-link,
.metro-nav-menu .navbar-nav > li > a {
	display: flex; align-items: center; gap: 6px; color: var(--metro-text); font-weight: 600; font-size: .92rem;
	padding: .85rem 1rem; text-decoration: none; transition: all .15s ease;
}
.metro-nav-menu > a.nav-link:hover,
.metro-nav-menu .navbar-nav > li > a:hover { background: #E9F1F7; color: var(--metro-primary); }
.metro-nav-menu .navbar-nav > li.current > a { background: var(--metro-primary); color: #fff; }
.metro-nav-menu .navbar-nav ul {
	position: absolute; z-index: 40; min-width: 14em; background: #fff; border: 1px solid var(--metro-border);
	box-shadow: 0 8px 22px rgba(0,0,0,.12); padding: 4px; margin: 0; list-style: none; display: none;
}
.metro-nav-menu .navbar-nav li:hover > ul, .metro-nav-menu .navbar-nav li:focus-within > ul { display: block; }
.metro-nav-menu .navbar-nav ul li { list-style: none; }
.metro-nav-menu .navbar-nav ul a { padding: .5rem .75rem; color: var(--metro-text); }

.metro-nav-menu .navbar-nav > li > a[href$="/issue/current"]::before,
.metro-nav-menu .navbar-nav > li > a[href$="/issue/archive"]::before,
.metro-nav-menu .navbar-nav > li > a[href$="/about"]::before,
.metro-nav-menu .navbar-nav > li > a[href$="/about/submissions"]::before,
.metro-nav-menu .navbar-nav > li > a[href$="/announcement"]::before {
	font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: 6px;
}
.metro-nav-menu .navbar-nav > li > a[href$="/issue/current"]::before { content: "\f518"; }
.metro-nav-menu .navbar-nav > li > a[href$="/issue/archive"]::before { content: "\f187"; }
.metro-nav-menu .navbar-nav > li > a[href$="/about"]::before { content: "\f05a"; }
.metro-nav-menu .navbar-nav > li > a[href$="/about/submissions"]::before { content: "\f15c"; }
.metro-nav-menu .navbar-nav > li > a[href$="/announcement"]::before { content: "\f0a1"; }

.metro-topbar .smij-usermenu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.metro-topbar .smij-usermenu > li { list-style: none; position: relative; }
.metro-topbar .smij-usermenu a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.9); text-decoration: none; font-weight: 600; }
.metro-topbar .smij-usermenu a:hover { color: var(--metro-light-blue); }
.metro-topbar .smij-usermenu ul { position: absolute; right: 0; z-index: 40; background: #fff; padding: 4px; margin: 4px 0 0; list-style: none; border: 1px solid var(--metro-border); box-shadow: 0 8px 22px rgba(0,0,0,.12); display: none; }
.metro-topbar .smij-usermenu li:hover > ul, .metro-topbar .smij-usermenu li:focus-within > ul { display: block; }
.metro-topbar .smij-usermenu ul a { color: var(--metro-text); padding: 6px 10px; }
.metro-topbar .smij-usermenu a[href$="/login"]::before,
.metro-topbar .smij-usermenu a[href$="/user/register"]::before { font-family: "Font Awesome 6 Free"; font-weight: 900; }
.metro-topbar .smij-usermenu a[href$="/login"]::before { content: "\f090"; }
.metro-topbar .smij-usermenu a[href$="/user/register"]::before { content: "\f234"; }

@media (max-width: 991.98px) {
	.metro-nav-toggle { display: inline-flex; }
	.navbar.metro-container { flex-wrap: wrap; }
	.metro-nav-menu { display: none; flex-direction: column; align-items: stretch; width: 100%; padding: .5rem 0 1rem; border-top: 2px solid var(--metro-border); }
	.metro-nav-menu.is-open { display: flex; }
	.metro-nav-menu .navbar-nav { flex-direction: column; align-items: stretch; width: 100%; }
	.metro-nav-menu .navbar-nav ul { position: static; box-shadow: none; margin-left: 14px; }
	.metro-nav-menu > a.nav-link, .metro-nav-menu .navbar-nav > li > a { padding: .7rem .5rem; }
}

/* Footer column grid (no Bootstrap grid is loaded) */
.smij-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; margin-bottom: 1.5rem; }
@media (max-width: 767.98px) { .smij-footer-grid { grid-template-columns: 1fr; gap: 28px; } }

/* Hide the Default theme's own hero image / page heading / breadcrumbs where
   this theme supplies its own hero or page banner instead */
.smij_theme .homepage_image { display: none; }
.pkp_page_index .page_index_journal > h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.metro-current-card ~ .current_issue > h2,
.metro-current-card ~ .current_issue > .current_issue_title,
.metro-current-card ~ .current_issue .obj_issue_toc .heading,
.metro-current-card ~ .current_issue > a.read_more { display: none; }
.pkp_page_issue.pkp_op_current .page_issue > h1,
.pkp_page_issue.pkp_op_view .page_issue > h1,
.pkp_page_issue.pkp_op_archive .page_issue_archive > h1,
.pkp_page_issue .cmp_breadcrumbs { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Native OJS templates this theme does not override, skinned via their own
   classes to match the Metro look (article list, issue heading) */
.obj_article_summary {
	background: var(--metro-white); border: 1px solid var(--metro-border); border-left: 4px solid var(--metro-primary);
	border-radius: 0 !important; padding: 1.2rem 1.4rem; margin: 0 0 14px; transition: all .2s ease;
}
.obj_article_summary:hover { border-left-color: var(--metro-light-blue); background: #FAFCFE; }
.obj_article_summary .title { font-size: 1.08rem; font-weight: 700; }
.obj_article_summary .title a { color: var(--metro-dark); }
.obj_article_summary .title a:hover { color: var(--metro-primary); }
.obj_article_summary .meta { color: var(--metro-text-muted); font-size: .85rem; }
a.obj_galley_link.pdf { background: #D32F2F; color: #fff !important; border-radius: 0 !important; padding: 3px 9px; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
a.obj_galley_link.pdf:hover { background: #B71C1C; }

.obj_issue_toc .heading { display: flex; gap: 24px; margin: 0 0 24px; padding: 1.5rem; background: var(--metro-white); border: 1px solid var(--metro-border); border-left: 5px solid var(--metro-green); flex-wrap: wrap; }
.obj_issue_toc .heading .cover img { max-height: 220px; width: auto; border: 1px solid var(--metro-border); padding: 4px; background: #ECEFF1; }
.obj_issue_toc .heading .description { flex: 1; min-width: 220px; background: #F8FAFC; border: 1px solid var(--metro-border); border-left: 3px solid var(--metro-green); padding: .9rem 1.15rem; }
.obj_issue_toc .section > h2 { display: inline-block; margin: 8px 0 14px; padding: 5px 12px; background: #E9F1F7; color: var(--metro-primary); font-size: .8rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

/* Optional sidebar block header colour, e.g. <div class="pkp_block smij-color-green"> */
.pkp_block.smij-color-green .title { background: var(--metro-green) !important; }
.pkp_block.smij-color-red .title { background: #D32F2F !important; }
.pkp_block.smij-color-orange .title { background: #E65100 !important; }
.pkp_block.smij-color-cyan .title { background: #00828A !important; }
.pkp_block.smij-color-purple .title { background: var(--metro-purple) !important; }

/* ==========================================================================
   SMIJ ADDITION (1.4.1): single-article page (frontend/objects/article_details.tpl)
   This page was not styled in 1.4.0 — only the article list and issue heading
   were. It renders as a real two-column layout, .row > .main_entry (abstract,
   authors, references...) + .entry_details (downloads, cover, issue, licence),
   using OJS's own class names (.row .main_entry .entry_details .item .label
   .value .sub_item), so no template is overridden — just styled.
   ========================================================================== */
.obj_article_details { background: var(--metro-white); border: 1px solid var(--metro-border); padding: 1.75rem 2rem; margin-bottom: 2rem; }
.obj_article_details .page_title { font-size: 1.7rem; font-weight: 800; color: var(--metro-dark); line-height: 1.3; margin: 0 0 .5rem; }
.obj_article_details .subtitle { font-size: 1.1rem; font-weight: 600; color: var(--metro-text-muted); margin: 0 0 1.25rem; }

.obj_article_details .row { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 1.5rem; align-items: flex-start; }
.obj_article_details .main_entry { flex: 1 1 60%; min-width: 280px; }
.obj_article_details .entry_details { flex: 0 0 300px; max-width: 300px; min-width: 260px; }

.obj_article_details .item { margin-bottom: 1.5rem; }
.obj_article_details .item:last-child { margin-bottom: 0; }
.obj_article_details .item > .label, .obj_article_details .sub_item > .label {
	font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	color: var(--metro-primary); margin-bottom: .4rem; display: block;
}
.obj_article_details .item > .value, .obj_article_details .sub_item > .value { font-size: .92rem; line-height: 1.65; color: var(--metro-text); }
.obj_article_details .entry_details .item { background: #F8FAFC; border: 1px solid var(--metro-border); border-left: 3px solid var(--metro-primary); padding: .9rem 1rem; }
.obj_article_details .entry_details .sub_item + .sub_item { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--metro-border); }

.obj_article_details ul.authors { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.obj_article_details ul.authors > li { padding: .7rem .9rem; background: #F8FAFC; border: 1px solid var(--metro-border); border-left: 3px solid var(--metro-cyan); }
.obj_article_details ul.authors .name { display: block; font-weight: 700; color: var(--metro-dark); font-size: .95rem; }
.obj_article_details ul.authors .affiliation, .obj_article_details ul.authors .contributor_roles { display: block; font-size: .82rem; color: var(--metro-text-muted); }

.obj_article_details .entry_details .cover_image img { width: 100%; height: auto; border: 1px solid var(--metro-border); background: #ECEFF1; padding: 4px; }

.obj_article_details ul.galleys_links, .obj_article_details ul.supplementary_galleys_links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.obj_article_details a.obj_galley_link, .obj_article_details a.obj_galley_link_supplementary {
	display: flex; align-items: center; gap: 8px; padding: .55rem .9rem; background: #D32F2F; color: #fff !important;
	font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important; border-radius: 0 !important;
}
.obj_article_details a.obj_galley_link:hover, .obj_article_details a.obj_galley_link_supplementary:hover { background: #B71C1C; }
.obj_article_details a.obj_galley_link.html { background: var(--metro-primary); }
.obj_article_details a.obj_galley_link.html:hover { background: var(--metro-dark); }
.obj_article_details a.obj_galley_link.restricted { background: var(--metro-text-muted); }
.obj_article_details a.obj_galley_link.restricted:hover { background: var(--metro-dark); }
.obj_article_details a.obj_galley_link::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f15c"; }
.obj_article_details a.obj_galley_link.pdf::before { content: "\f1c1"; }
.obj_article_details a.obj_galley_link.restricted::before { content: "\f023"; }

.obj_article_details .keywords .value, .obj_article_details .categories { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.obj_article_details .categories li a, .obj_article_details .keywords .value { padding: 3px 10px; background: #E9F1F7; color: var(--metro-primary); font-size: .82rem; font-weight: 700; text-decoration: none; }
.obj_article_details .item.issue a.title { color: var(--metro-primary); font-weight: 700; text-decoration: none; }
.obj_article_details .item.issue a.title:hover { color: var(--metro-dark); text-decoration: underline; }
.obj_article_details .item.copyright a { color: var(--metro-primary); }

@media (max-width: 767.98px) {
	.obj_article_details { padding: 1.1rem 1rem; }
	.obj_article_details .page_title { font-size: 1.3rem; }
	.obj_article_details .row { flex-direction: column; gap: 20px; }
	.obj_article_details .entry_details { flex: 1 1 100%; max-width: 100%; }
}
