/*
 * UMKO Themes - EPrints Modern Theme
 * Inspired by etd.umy.ac.id
 * Repository: Universitas Muhammadiyah Kotabumi
 *
 * Color palette:
 *   Primary  : #1a5276  (deep blue)
 *   Secondary: #2980b9  (medium blue)
 *   Accent   : #e74c3c  (red accent)
 *   Light bg : #f8f9fa
 *   Dark bg  : #1c2833
 *
 * TODO(security): CSP header should be configured at the web-server level.
 * TODO(security): Inline scripts use jQuery – ensure jQuery is kept updated.
 */

/* ══════════════════════════════════════════════════
   RESET & BASE
════════════════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.7;
  color: #34495e;
  background: #f8f9fa;
  -webkit-text-size-adjust: 100%;
  /* Ensure EPrints doesn't add body margin that breaks sticky hero */
  margin: 0 !important;
  padding: 0 !important;
}

a {
  color: #1a5276;
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover { color: #e74c3c; }

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

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', 'Inter', sans-serif;
  font-weight: 700;
  color: #1a252f;
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

p { margin-bottom: 1rem; }
ul, ol { margin-bottom: 1rem; }

/* ══════════════════════════════════════════════════
   LAYOUT CONTAINER
════════════════════════════════════════════════════ */
.umko-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* ══════════════════════════════════════════════════
   NAVBAR
════════════════════════════════════════════════════ */
#umko-navbar {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #1a5276;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

#umko-navbar.scrolled {
  background: rgba(26, 82, 118, 0.97);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
  backdrop-filter: blur(8px);
}

.umko-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  gap: 1rem;
}

/* Brand */
.umko-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  flex-shrink: 0;
}

.umko-brand-logo {
  height: 44px;
  width: auto;
  object-fit: contain;
  /* No filter – use the real logo as-is */
}

.umko-brand-text {
  font-family: 'Poppins', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
  max-width: 200px;
  letter-spacing: 0.01em;
  display: block;
}

/* Hamburger */
.umko-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  flex-shrink: 0;
}
.umko-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.umko-hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.umko-hamburger.active span:nth-child(2) { opacity: 0; }
.umko-hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Nav collapse */
.umko-nav-collapse {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

/* Nav list */
.umko-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  flex: 1;
}

.umko-nav-item {
  position: relative;
}

.umko-nav-link {
  display: block;
  color: rgba(255,255,255,0.9);
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.5rem 0.85rem;
  white-space: nowrap;
  border-radius: 4px;
  transition: color 0.2s, background 0.2s;
}

/* Reset visited link color in navbar so it never turns purple */
.umko-nav-link:visited,
.umko-nav-link:visited:hover {
  color: rgba(255,255,255,0.9);
}
.umko-dropdown li a:visited {
  color: #2c3e50;
}
.umko-user-links li a:visited,
#umko-navbar .ep_tm_key_tools li a:visited {
  color: rgba(255,255,255,0.85);
}
/* Global visited reset inside sidebar and footer */
#umko-sidebar a:visited { color: inherit; }
#umko-footer a:visited   { color: inherit; }

.umko-nav-link:hover {
  color: #ffffff;
  background: rgba(255,255,255,0.15);
}

.umko-nav-item.active > .umko-nav-link {
  color: #ffffff;
  background: rgba(255,255,255,0.2);
}

/* Dropdown */
.umko-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 180px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
  list-style: none;
  padding: 0.4rem 0;
  margin: 0;
  z-index: 1100;
  border-top: 3px solid #e74c3c;
}

.umko-nav-item.has-dropdown:hover .umko-dropdown,
.umko-nav-item.dropdown-open .umko-dropdown {
  display: block;
  animation: fadeDown 0.2s ease;
}

@keyframes fadeDown {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.umko-dropdown li a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.82rem;
  color: #2c3e50;
  font-weight: 500;
  transition: background 0.15s, color 0.15s;
}
.umko-dropdown li a:hover {
  background: #eaf2fb;
  color: #1a5276;
}

/* User menu */
.umko-user-menu {
  flex-shrink: 0;
}

.umko-user-links {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.25rem;
}

.umko-user-links li a,
.umko-user-links li span a {
  color: rgba(255,255,255,0.85);
  font-size: 0.78rem;
  font-weight: 500;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.3);
  transition: all 0.2s;
  white-space: nowrap;
}
.umko-user-links li a:hover {
  background: rgba(255,255,255,0.2);
  color: #fff;
  border-color: rgba(255,255,255,0.6);
}

/* EPrints key_tools in navbar */
#umko-navbar .ep_tm_key_tools {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
}
#umko-navbar .ep_tm_key_tools li a,
#umko-navbar .ep_tm_key_tools li span {
  color: rgba(255,255,255,0.85);
  font-size: 0.78rem;
  font-weight: 500;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.3);
  white-space: nowrap;
}

/* Navbar Search */
.umko-nav-search { flex-shrink: 0; }

.umko-search-wrap {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 24px;
  overflow: hidden;
  transition: background 0.2s, border-color 0.2s;
}

.umko-search-wrap:focus-within {
  background: rgba(255,255,255,0.22);
  border-color: rgba(255,255,255,0.6);
}

#umko-nav-search-input {
  background: transparent;
  border: none;
  outline: none;
  color: #ffffff;
  font-size: 0.82rem;
  padding: 0.4rem 0.85rem;
  width: 160px;
}

#umko-nav-search-input::placeholder { color: rgba(255,255,255,0.6); }

.umko-search-wrap button {
  background: #e74c3c;
  border: none;
  color: #fff;
  padding: 0.4rem 0.85rem;
  cursor: pointer;
  font-size: 0.82rem;
  transition: background 0.2s;
}
.umko-search-wrap button:hover { background: #c0392b; }

/* ══════════════════════════════════════════════════
   HERO BANNER
════════════════════════════════════════════════════ */
#umko-hero {
  position: relative;
  background: url('../images/hero_bg.jpg') center center / cover no-repeat;
  background-color: #1a3a5c; /* fallback */
  padding: 80px 1.25rem 70px;
  text-align: center;
  min-height: 420px;
  display: flex;
  align-items: center;
  /* Sticky navbar is in normal flow, so no margin-top needed */
  overflow: hidden;
}

.umko-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(26, 82, 118, 0.88) 0%,
    rgba(41, 128, 185, 0.75) 50%,
    rgba(22, 60, 95, 0.90) 100%
  );
}

.umko-hero-content {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0 auto;
}

.umko-hero-title {
  font-size: clamp(1.6rem, 4vw, 2.8rem);
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
  margin-bottom: 0.5rem;
}

.umko-hero-subtitle {
  font-size: clamp(0.9rem, 2vw, 1.1rem);
  color: rgba(255,255,255,0.88);
  margin-bottom: 2rem;
  font-weight: 400;
}

.umko-hero-search {
  max-width: 900px;
  margin: 0 auto;
}

/* 3-field search row */
.umko-hero-search-row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  background: rgba(0,0,0,0.15);
  padding: 0.6rem;
}

/* Each input field container */
.umko-hero-field {
  flex: 1;
  position: relative;
  min-width: 0;
}

.umko-hero-field input {
  width: 100%;
  border: none;
  outline: none;
  font-size: 0.88rem;
  padding: 0.8rem 2.5rem 0.8rem 1rem;
  color: #2c3e50;
  background: #ffffff;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
}

.umko-hero-field input::placeholder {
  color: #95a5a6;
  font-weight: 400;
}

.umko-hero-field input:focus {
  box-shadow: 0 0 0 2px rgba(26,82,118,0.3);
}

/* Icon inside input */
.umko-hero-field > i {
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: #95a5a6;
  font-size: 0.85rem;
  pointer-events: none;
}

/* Gold submit button */
.umko-hero-search-btn {
  border: none;
  background: #f39c12;
  color: #ffffff;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 0.8rem 2rem;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 6px;
  transition: background 0.2s, box-shadow 0.2s;
  font-family: 'Poppins', sans-serif;
  letter-spacing: 0.02em;
  min-width: 140px;
}
.umko-hero-search-btn:hover {
  background: #e67e22;
  box-shadow: 0 4px 16px rgba(243,156,18,0.4);
}

/* Keep old class for backward compat (navbar/sidebar still use it) */
.umko-hero-search-box {
  display: flex;
  border-radius: 50px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

#umko-hero-search-input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 0.95rem;
  padding: 0.85rem 1.5rem;
  color: #2c3e50;
  background: #ffffff;
}

#umko-hero-search-input::placeholder { color: #aab2bd; }

.umko-hero-search-box button {
  border: none;
  background: #e74c3c;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.85rem 1.75rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.umko-hero-search-box button:hover { background: #c0392b; }

/* ══════════════════════════════════════════════════
   MAIN WRAPPER & LAYOUT
════════════════════════════════════════════════════ */
#umko-wrapper {
  padding: 2.5rem 0 3rem;
  min-height: calc(100vh - 64px);
}

#umko-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  grid-template-areas: "main sidebar";
  gap: 2rem;
  align-items: start;
}

/* ══════════════════════════════════════════════════
   MAIN CONTENT
════════════════════════════════════════════════════ */
#umko-main {
  grid-area: main;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  padding: 2rem 2.25rem;
  min-width: 0;
}

/* Page title */
.ep_tm_pagetitle {
  font-family: 'Poppins', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a5276;
  border-bottom: 3px solid #e74c3c;
  padding-bottom: 0.6rem;
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

/* EPrints generated content inside main */
#umko-main table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
}

#umko-main table th {
  background: #1a5276;
  color: #ffffff;
  padding: 0.65rem 1rem;
  text-align: left;
  font-weight: 600;
}

#umko-main table td {
  padding: 0.6rem 1rem;
  border-bottom: 1px solid #eef0f3;
  vertical-align: top;
}

#umko-main table tr:hover td { background: #f0f7fc; }

#umko-main table.ep_search_results tr:nth-child(even) td { background: #f8fafc; }

/* Buttons */
#umko-main input[type="submit"],
#umko-main button[type="submit"],
.ep_form_action_button {
  background: #1a5276;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 0.55rem 1.4rem;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  font-family: inherit;
}
#umko-main input[type="submit"]:hover,
#umko-main button[type="submit"]:hover,
.ep_form_action_button:hover {
  background: #154360;
  transform: translateY(-1px);
}

/* Form elements */
#umko-main input[type="text"],
#umko-main input[type="email"],
#umko-main input[type="password"],
#umko-main input[type="search"],
#umko-main select,
#umko-main textarea {
  width: 100%;
  border: 1px solid #d5dbdf;
  border-radius: 6px;
  padding: 0.5rem 0.85rem;
  font-size: 0.875rem;
  font-family: inherit;
  color: #2c3e50;
  background: #fdfdfd;
  transition: border-color 0.2s, box-shadow 0.2s;
}
#umko-main input:focus,
#umko-main select:focus,
#umko-main textarea:focus {
  outline: none;
  border-color: #1a5276;
  box-shadow: 0 0 0 3px rgba(26,82,118,0.12);
}

/* EPrints abstract/citation boxes */
.ep_block {
  background: #f8fafc;
  border: 1px solid #e4eaf0;
  border-left: 4px solid #1a5276;
  border-radius: 6px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

.ep_summary_row td:first-child {
  font-weight: 600;
  color: #1a5276;
  width: 160px;
  min-width: 120px;
}

/* Breadcrumb */
.ep_tm_breadcrumb {
  font-size: 0.8rem;
  color: #7f8c8d;
  margin-bottom: 1rem;
}
.ep_tm_breadcrumb a { color: #2980b9; }
.ep_tm_breadcrumb a:hover { color: #e74c3c; }

/* Pagination */
.ep_paging {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin: 1.5rem 0 0;
  align-items: center;
}

.ep_paging a,
.ep_paging span {
  display: inline-block;
  padding: 0.35rem 0.7rem;
  border-radius: 5px;
  border: 1px solid #d5dbdf;
  font-size: 0.82rem;
  color: #1a5276;
  background: #fff;
  transition: all 0.2s;
}
.ep_paging a:hover { background: #1a5276; color: #fff; border-color: #1a5276; }
.ep_paging .ep_paging_current {
  background: #1a5276;
  color: #fff;
  border-color: #1a5276;
}

/* ══════════════════════════════════════════════════
   SIDEBAR
════════════════════════════════════════════════════ */
#umko-sidebar {
  grid-area: sidebar;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.umko-sidebar-widget {
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  overflow: hidden;
}

.umko-widget-title {
  font-family: 'Poppins', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #ffffff;
  background: #1a5276;
  padding: 0.65rem 1rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.umko-widget-title .fa {
  font-size: 0.85rem;
  opacity: 0.85;
}

/* Sidebar search */
.umko-sidebar-search {
  display: flex;
  margin: 0;
  border: none;
}

#umko-sidebar-search-input {
  flex: 1;
  border: none;
  border-bottom: 2px solid #e8edf0;
  padding: 0.7rem 1rem;
  font-size: 0.85rem;
  font-family: inherit;
  color: #2c3e50;
  outline: none;
  background: #fdfdfd;
  transition: border-color 0.2s;
}
#umko-sidebar-search-input:focus { border-color: #1a5276; background: #fff; }

.umko-sidebar-search button {
  background: #e74c3c;
  border: none;
  color: #fff;
  padding: 0.7rem 1rem;
  cursor: pointer;
  font-size: 0.85rem;
  transition: background 0.2s;
}
.umko-sidebar-search button:hover { background: #c0392b; }

/* Sidebar login (EPrints menu) */
#umko-sidebar-login {
  padding: 0.75rem 1rem;
}

#umko-sidebar-login .ep_tm_key_tools {
  list-style: none;
  margin: 0;
  padding: 0;
}

#umko-sidebar-login .ep_tm_key_tools li {
  border-bottom: 1px solid #eef0f3;
}

#umko-sidebar-login .ep_tm_key_tools li:last-child { border-bottom: none; }

#umko-sidebar-login .ep_tm_key_tools li a,
#umko-sidebar-login .ep_tm_key_tools li span {
  display: block;
  padding: 0.55rem 0.25rem;
  font-size: 0.82rem;
  font-weight: 500;
  color: #2c3e50;
  transition: color 0.15s, padding-left 0.15s;
}

#umko-sidebar-login .ep_tm_key_tools li a:hover {
  color: #1a5276;
  padding-left: 0.5rem;
}

/* Sidebar nav menu */
.umko-sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0.4rem 0;
}

.umko-sidebar-menu li a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1rem;
  font-size: 0.83rem;
  font-weight: 500;
  color: #34495e;
  border-left: 3px solid transparent;
  transition: color 0.15s, background 0.15s, border-color 0.15s, padding-left 0.15s;
}

.umko-sidebar-menu li a .fa {
  color: #7f8c8d;
  width: 16px;
  font-size: 0.8rem;
  flex-shrink: 0;
}

.umko-sidebar-menu li a:hover {
  color: #1a5276;
  background: #f0f7fc;
  border-left-color: #1a5276;
  padding-left: 1.25rem;
}

.umko-sidebar-menu li.active > a {
  color: #1a5276;
  background: #eaf3fb;
  border-left-color: #e74c3c;
  font-weight: 600;
}

/* ══════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════ */
#umko-footer {
  background: #1c2833;
  color: rgba(255,255,255,0.75);
  padding: 3rem 0 0;
  font-size: 0.875rem;
}

.umko-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.umko-footer-col h4 {
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

.umko-footer-col p {
  color: rgba(255,255,255,0.65);
  font-size: 0.82rem;
  line-height: 1.7;
  margin-bottom: 0.6rem;
}

.umko-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.umko-footer-col ul li { margin-bottom: 0.4rem; }

.umko-footer-col ul li a {
  color: rgba(255,255,255,0.65);
  font-size: 0.82rem;
  transition: color 0.2s, padding-left 0.2s;
}
.umko-footer-col ul li a:hover { color: #ffffff; padding-left: 4px; }

.umko-social {
  display: flex;
  gap: 0.6rem;
  margin-top: 0.75rem;
}

.umko-social a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.umko-social a:hover {
  background: #e74c3c;
  border-color: #e74c3c;
  color: #ffffff;
}

.umko-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.45);
  flex-wrap: wrap;
  gap: 0.5rem;
}

.umko-footer-bottom a { color: rgba(255,255,255,0.65); }
.umko-footer-bottom a:hover { color: #ffffff; }

.umko-footer-powered a { color: #2980b9; }
.umko-footer-powered a:hover { color: #3498db; }

/* ══════════════════════════════════════════════════
   EPRINTS SPECIFIC OVERRIDES
════════════════════════════════════════════════════ */

/* Abstract page */
.ep_summary_page {
  padding: 0;
}

.ep_document_icon { margin-bottom: 0.5rem; }

/* Search results */
.ep_search_result {
  border-bottom: 1px solid #eef0f3;
  padding: 1rem 0;
}

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

.ep_search_result_title a {
  font-size: 1rem;
  font-weight: 600;
  color: #1a5276;
}

.ep_search_result_title a:hover { color: #e74c3c; }

/* Browse views */
.ep_view_title {
  font-size: 1.3rem;
  color: #1a5276;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* Messages / alerts */
.ep_msg_warning {
  background: #fef9e7;
  border: 1px solid #f39c12;
  border-left: 4px solid #f39c12;
  border-radius: 6px;
  padding: 0.8rem 1rem;
  margin-bottom: 1rem;
  color: #856404;
}

.ep_msg_message {
  background: #eaf7fb;
  border: 1px solid #2980b9;
  border-left: 4px solid #2980b9;
  border-radius: 6px;
  padding: 0.8rem 1rem;
  margin-bottom: 1rem;
  color: #154360;
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤ 992px)
════════════════════════════════════════════════════ */
@media (max-width: 992px) {

  .umko-nav-list,
  .umko-user-menu,
  .umko-nav-search {
    display: none;
  }

  .umko-hamburger { display: flex; }

  .umko-nav-collapse {
    position: sticky;
    top: 64px;
    left: 0;
    right: 0;
    background: #1a5276;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    /* Stack below the sticky navbar */
    z-index: 999;
  }

  .umko-nav-collapse.open {
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
  }

  .umko-nav-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
  }

  .umko-nav-link { padding: 0.65rem 0.5rem; }

  .umko-dropdown {
    position: static;
    box-shadow: none;
    border-radius: 0;
    border-top: none;
    border-left: 3px solid #e74c3c;
    background: rgba(255,255,255,0.08);
    margin-left: 0.75rem;
    padding: 0.25rem 0;
  }

  .umko-dropdown li a {
    color: rgba(255,255,255,0.85);
    background: transparent;
    padding: 0.45rem 1rem;
  }
  .umko-dropdown li a:hover { background: rgba(255,255,255,0.1); color: #fff; }

  .umko-user-menu { display: block; }

  .umko-nav-search {
    display: block;
    margin-top: 0.5rem;
  }

  #umko-nav-search-input { width: 100%; }

  /* Layout */
  #umko-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "sidebar";
  }

  /* Footer */
  .umko-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤ 600px)
════════════════════════════════════════════════════ */
@media (max-width: 600px) {

  #umko-hero {
    padding: 100px 1rem 60px;
  }

  .umko-brand-text {
    font-size: 0.7rem;
    max-width: 130px;
    display: block; /* show text on mobile alongside logo */
  }

  .umko-hero-title { font-size: 1.5rem; }
  .umko-hero-subtitle { font-size: 0.85rem; }

  .umko-hero-search-row { flex-direction: column; border-radius: 10px; }
  .umko-hero-search-btn { width: 100%; text-align: center; }

  .umko-hero-search-box { flex-direction: column; border-radius: 10px; }
  #umko-hero-search-input { border-radius: 10px 10px 0 0; }
  .umko-hero-search-box button { border-radius: 0 0 10px 10px; justify-content: center; }

  #umko-main { padding: 1.25rem; }

  .umko-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .umko-footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

/* ══════════════════════════════════════════════════
   PRINT
════════════════════════════════════════════════════ */
@media print {
  #umko-navbar, #umko-hero, #umko-sidebar, #umko-footer { display: none !important; }
  #umko-main { box-shadow: none; padding: 0; }
  #umko-wrapper { padding: 0; }
  body { background: #fff; }
}

/* ══════════════════════════════════════════════════
   HERO – flex child fix (content centering)
════════════════════════════════════════════════════ */
.umko-hero-content {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0 auto;
  width: 100%;
}

/* ══════════════════════════════════════════════════
   RSS / ATOM FEED LINKS – horizontal row
════════════════════════════════════════════════════ */
/* EPrints outputs feed links with img icons. JS wraps them in .umko-feed-row */
.umko-feed-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0.75rem 0 1rem;
}

.umko-feed-row p,
.umko-feed-row div {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* Also style any .ep_feed_links or .ep_syndication EPrints might use */
.ep_feed_links,
.ep_syndication {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

/* Individual feed link pill */
.ep_feed_links a,
.ep_syndication a,
.umko-feed-row a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.75rem;
  border-radius: 20px;
  border: 1px solid #d5dbdf;
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a5276;
  background: #f0f7fc;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.ep_feed_links a:hover,
.ep_syndication a:hover,
.umko-feed-row a:hover {
  background: #1a5276;
  color: #ffffff;
}

/* ══════════════════════════════════════════════════
   BROWSE LISTS – by year / subject / division / author
   Professional numbered / bulleted appearance
════════════════════════════════════════════════════ */

/* Container for view list items */
.ep_view_list,
#umko-main ul.ep_view_list,
#umko-main ol.ep_view_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.5rem;
}

.ep_view_list li,
#umko-main .ep_view_list li {
  margin: 0;
  padding: 0;
}

.ep_view_list li a,
#umko-main .ep_view_list li a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.85rem;
  border-radius: 7px;
  border: 1px solid #e8edf3;
  background: #fdfdfe;
  color: #1a5276;
  font-size: 0.85rem;
  font-weight: 500;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
  counter-increment: browse-item;
}

.ep_view_list li a::before {
  content: counter(browse-item, decimal-leading-zero);
  font-size: 0.7rem;
  font-weight: 700;
  color: #ffffff;
  background: #1a5276;
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  flex-shrink: 0;
  min-width: 28px;
  text-align: center;
  letter-spacing: 0.02em;
}

#umko-main .ep_view_list {
  counter-reset: browse-item;
}

.ep_view_list li a:hover {
  background: #eaf3fb;
  border-color: #1a5276;
  color: #154360;
  transform: translateX(3px);
}

/* Group heading (e.g. letter of alphabet for author browse) */
.ep_view_group_heading,
.ep_view_heading {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #1a5276;
  border-bottom: 2px solid #e74c3c;
  padding-bottom: 0.35rem;
  margin: 1.5rem 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ep_view_group_heading::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e74c3c;
  flex-shrink: 0;
}

/* Count badge next to each item (e.g. "24 items") */
.ep_view_count,
.ep_view_list li .ep_view_count {
  margin-left: auto;
  font-size: 0.7rem;
  font-weight: 700;
  background: #e74c3c;
  color: #ffffff;
  border-radius: 20px;
  padding: 0.05rem 0.5rem;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════
   FRONT PAGE – Division / Browse Section
   Visibility controlled by JavaScript (isFrontPage check)
════════════════════════════════════════════════════ */
#umko-divisions {
  background: #ffffff;
  border-top: 3px solid #e74c3c;
  padding: 2.5rem 0;
}

.umko-divisions-header {
  text-align: center;
  margin-bottom: 2rem;
}

.umko-divisions-header h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: #1a252f;
  margin-bottom: 0.4rem;
}

.umko-divisions-header p {
  color: #7f8c8d;
  font-size: 0.9rem;
  margin: 0;
}

.umko-browse-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.umko-browse-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.75rem 1rem;
  border-radius: 12px;
  border: 2px solid transparent;
  background: #f8fafc;
  color: #1a5276;
  text-align: center;
  font-weight: 600;
  font-size: 0.88rem;
  transition: all 0.25s ease;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.umko-browse-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1a5276 0%, #2980b9 100%);
  opacity: 0;
  transition: opacity 0.25s ease;
  border-radius: 10px;
}

/* ══════════════════════════════════════════════════
   CARD ICON (span, not div – XHTML valid inside anchor)
════════════════════════════════════════════════════ */
.umko-browse-card .umko-card-icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(26, 82, 118, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #1a5276;
  transition: all 0.25s ease;
}

.umko-browse-card .umko-card-label {
  position: relative;
  z-index: 1;
  color: #1a252f;
  transition: color 0.25s ease;
}

.umko-browse-card .umko-card-desc {
  position: relative;
  z-index: 1;
  font-size: 0.75rem;
  font-weight: 400;
  color: #7f8c8d;
  transition: color 0.25s ease;
}

.umko-browse-card:hover::before { opacity: 1; }
.umko-browse-card:hover {
  border-color: #1a5276;
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26,82,118,0.2);
}
.umko-browse-card:hover .umko-card-icon {
  background: rgba(255,255,255,0.2);
  color: #ffffff;
}
.umko-browse-card:hover .umko-card-label,
.umko-browse-card:hover .umko-card-desc {
  color: #ffffff;
}

.umko-browse-card:visited { color: #1a5276; }

@media (max-width: 768px) {
  .umko-browse-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .umko-browse-cards { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .umko-browse-card { padding: 1.25rem 0.75rem; }
}

/* ══════════════════════════════════════════════════
   FRONT PAGE – Stats bar
   Visibility controlled by JavaScript
════════════════════════════════════════════════════ */
#umko-stats-bar {
  background: #1a5276;
  color: #ffffff;
  padding: 1.25rem 0;
}

.umko-stats-inner {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
}

.umko-stat-item {
  text-align: center;
}

.umko-stat-number {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
}

.umko-stat-label {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.7);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.2rem;
}

/* ══════════════════════════════════════════════════
   MOBILE – 600px hero fix
════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  #umko-hero { padding: 60px 1rem 50px; min-height: 320px; }
}

/* ══════════════════════════════════════════════════
   HERO – Advanced Search Link
════════════════════════════════════════════════════ */
.umko-hero-adv-link {
  display: block;
  margin-top: 0.75rem;
  text-align: center;
}
.umko-hero-adv-link a {
  color: rgba(255,255,255,0.85);
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.4);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.umko-hero-adv-link a:hover {
  color: #ffffff;
  border-color: #ffffff;
}
.umko-hero-adv-link a i {
  margin-right: 0.3rem;
}

/* ══════════════════════════════════════════════════
   SIDEBAR – Advanced Search Link
════════════════════════════════════════════════════ */
.umko-adv-search-link {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.78rem;
  color: #1a5276;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s;
}
.umko-adv-search-link:hover {
  color: #e74c3c;
}
.umko-adv-search-link i {
  margin-right: 0.25rem;
}

/* ══════════════════════════════════════════════════
   DROPDOWN DIVIDER
════════════════════════════════════════════════════ */
.umko-dropdown-divider {
  height: 0;
  margin: 0.35rem 0;
  border: none;
  border-top: 1px solid rgba(255,255,255,0.15);
}

/* ══════════════════════════════════════════════════
   EPRINTS SEARCH FORM – Professional Styling
   Classes generated by EPrints: ep_search_*, ep_form_*
════════════════════════════════════════════════════ */

/* Search form container */
#umko-main .ep_block {
  background: #ffffff;
  border-radius: 10px;
  padding: 1.5rem;
  border: 1px solid #e8edf3;
  margin-bottom: 1.5rem;
}

/* Search field rows */
#umko-main .ep_search_fields {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
}

#umko-main .ep_search_fields th {
  text-align: left;
  padding: 0.5rem 1rem 0.5rem 0;
  font-family: 'Poppins', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a252f;
  white-space: nowrap;
  vertical-align: top;
  min-width: 140px;
}

#umko-main .ep_search_fields td {
  padding: 0.35rem 0;
}

/* All input fields in search */
#umko-main .ep_search_fields input[type="text"],
#umko-main .ep_search_fields input[type="search"],
#umko-main .ep_search_fields input[type="number"],
#umko-main .ep_search_fields select {
  width: 100%;
  max-width: 480px;
  padding: 0.55rem 0.85rem;
  border: 1px solid #d5dbdf;
  border-radius: 6px;
  font-size: 0.85rem;
  color: #1a252f;
  background: #f8fafc;
  transition: border-color 0.2s, box-shadow 0.2s;
  font-family: 'Inter', sans-serif;
}
#umko-main .ep_search_fields input[type="text"]:focus,
#umko-main .ep_search_fields input[type="search"]:focus,
#umko-main .ep_search_fields select:focus {
  border-color: #1a5276;
  box-shadow: 0 0 0 3px rgba(26,82,118,0.1);
  outline: none;
  background: #ffffff;
}

#umko-main .ep_search_fields select {
  max-width: 280px;
  cursor: pointer;
}

/* Search field name label */
#umko-main .ep_search_field_name {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: #1a252f;
  font-size: 0.85rem;
  margin-bottom: 0.35rem;
}

/* Buttons bar */
#umko-main .ep_search_buttons {
  border: none;
  background: #f0f4f8;
  border-radius: 8px;
  padding: 0.85rem 1rem;
  margin: 1rem 0;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

/* Action buttons */
#umko-main .ep_form_action_button {
  padding: 0.55rem 1.5rem;
  border: none;
  border-radius: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
}

#umko-main input.ep_form_action_button[name="_action_search"] {
  background: #1a5276;
  color: #ffffff;
}
#umko-main input.ep_form_action_button[name="_action_search"]:hover {
  background: #154360;
  box-shadow: 0 4px 12px rgba(26,82,118,0.3);
}

/* Advanced Search link button */
#umko-main .ep_form_search_advanced_link,
#umko-main input.ep_form_search_advanced_link {
  background: transparent !important;
  color: #1a5276 !important;
  border: 1px solid #1a5276 !important;
  text-decoration: none !important;
  border-radius: 6px;
  padding: 0.55rem 1.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
#umko-main .ep_form_search_advanced_link:hover,
#umko-main input.ep_form_search_advanced_link:hover {
  background: #1a5276 !important;
  color: #ffffff !important;
}

/* New search / Reset buttons */
#umko-main input.ep_form_action_button[name="_action_newsearch"],
#umko-main input.ep_form_action_button[name="_action_update"] {
  background: #7f8c8d;
  color: #ffffff;
}
#umko-main input.ep_form_action_button[name="_action_newsearch"]:hover,
#umko-main input.ep_form_action_button[name="_action_update"]:hover {
  background: #5d6d7e;
}

/* Search controls bar (above results) */
#umko-main .ep_search_controls,
#umko-main .ep_search_controls_bottom {
  border: none;
  background: #f0f4f8;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Search results description */
#umko-main .ep_search_desc {
  font-size: 0.88rem;
  color: #5d6d7e;
  margin: 0.5rem 0 1rem;
  padding: 0.5rem 0;
}

/* Each search result row */
#umko-main .ep_search_result {
  display: flex;
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid #edf0f5;
  transition: background 0.15s;
}
#umko-main .ep_search_result:hover {
  background: #f8fafc;
}

#umko-main .ep_search_result > div {
  padding: 0.35rem 0.5rem;
  border-bottom: none;
  display: block;
}

/* Pagination */
#umko-main .ep_paginate_list {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin: 1.5rem 0;
  flex-wrap: wrap;
}

#umko-main .ep_paginate_list a,
#umko-main .ep_paginate_list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 0.5rem;
  border-radius: 6px;
  border: 1px solid #d5dbdf;
  font-size: 0.8rem;
  font-weight: 500;
  color: #1a5276;
  background: #ffffff;
  transition: all 0.2s;
  text-decoration: none;
}

#umko-main .ep_paginate_list a:hover {
  background: #1a5276;
  color: #ffffff;
  border-color: #1a5276;
}

/* Current page */
#umko-main .ep_paginate_list span {
  background: #1a5276;
  color: #ffffff;
  border-color: #1a5276;
  font-weight: 700;
}

/* Search feed links */
#umko-main .ep_search_feed a {
  color: #1a5276;
  font-size: 0.78rem;
}

/* Search export section */
#umko-main .ep_search_export {
  margin: 1rem 0;
  padding: 0.5rem 0;
}

/* Reorder dropdown */
#umko-main .ep_search_reorder select {
  padding: 0.4rem 0.75rem;
  border: 1px solid #d5dbdf;
  border-radius: 6px;
  font-size: 0.82rem;
  background: #f8fafc;
  cursor: pointer;
}

/* Search help text */
#umko-main .ep_search_fields .ep_show_help {
  font-size: 0.75rem;
  color: #7f8c8d;
  margin-top: 0.25rem;
}

/* Page title on search page */
#umko-main h1.ep_tm_pagetitle {
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a252f;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid #e74c3c;
  margin-bottom: 1rem;
}

/* ══════════════════════════════════════════════════
   EPRINTS BROWSE VIEWS – Hierarchy & List Styling
   Covers: divisions, subjects, year, creators, etc.
════════════════════════════════════════════════════ */

/* View intro text */
.ep_view_intro {
  font-size: 0.88rem;
  color: #5d6d7e;
  margin-bottom: 1rem;
  padding: 0.65rem 1rem;
  background: #f0f4f8;
  border-radius: 6px;
  border-left: 3px solid #1a5276;
}

/* ── View menu container ── */
.ep_view_menu {
  margin-bottom: 1.5rem;
}

/* ── Hierarchical nested lists (divisions, subjects) ── */
.ep_view_menu > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ep_view_menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Level 1 items (top-level: University) */
.ep_view_menu > ul > li {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  border-left: 4px solid #1a5276;
  transition: box-shadow 0.2s;
}
.ep_view_menu > ul > li:hover {
  box-shadow: 0 2px 8px rgba(26,82,118,0.08);
}

/* Level 1 links */
.ep_view_menu > ul > li > a {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a5276;
  text-decoration: none;
  transition: color 0.2s;
}
.ep_view_menu > ul > li > a:hover {
  color: #e74c3c;
}

/* Level 2 wrapper (nested ul inside li) */
.ep_view_menu > ul > li > ul {
  margin-top: 0.5rem;
  padding-left: 0.75rem;
  border-left: 2px solid #d5e8f3;
}

/* Level 2 items (Fakultas) */
.ep_view_menu > ul > li > ul > li {
  padding: 0.55rem 0.75rem;
  margin-bottom: 0.25rem;
  border-radius: 6px;
  border-left: 3px solid #2980b9;
  background: #f8fafc;
  transition: background 0.2s;
}
.ep_view_menu > ul > li > ul > li:hover {
  background: #edf3f8;
}

/* Level 2 links */
.ep_view_menu > ul > li > ul > li > a {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: #2980b9;
  text-decoration: none;
  transition: color 0.2s;
}
.ep_view_menu > ul > li > ul > li > a:hover {
  color: #1a5276;
}

/* Level 3 wrapper */
.ep_view_menu > ul > li > ul > li > ul {
  margin-top: 0.35rem;
  padding-left: 0.75rem;
  border-left: 2px solid #e0e8ed;
}

/* Level 3 items (Prodi / S-1) */
.ep_view_menu > ul > li > ul > li > ul > li {
  padding: 0.4rem 0.65rem;
  margin-bottom: 0.15rem;
  border-radius: 4px;
  border-left: 3px solid #27ae60;
  background: #ffffff;
  transition: background 0.2s;
}
.ep_view_menu > ul > li > ul > li > ul > li:hover {
  background: #f0faf4;
}

/* Level 3 links */
.ep_view_menu > ul > li > ul > li > ul > li > a {
  font-size: 0.84rem;
  font-weight: 500;
  color: #27ae60;
  text-decoration: none;
  transition: color 0.2s;
}
.ep_view_menu > ul > li > ul > li > ul > li > a:hover {
  color: #1a5276;
}

/* ── Alphabet / Toolbox navigation (year, creators) ── */
.ep_toolbox {
  margin-bottom: 1rem;
}

.ep_toolbox_content {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
  padding: 0.75rem 1rem;
  background: #f0f4f8;
  border-radius: 8px;
  font-size: 0.82rem;
}

.ep_toolbox_content a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 34px;
  padding: 0 0.55rem;
  border-radius: 5px;
  background: #ffffff;
  color: #1a5276;
  font-weight: 600;
  font-size: 0.8rem;
  text-decoration: none;
  border: 1px solid #d5dbdf;
  transition: all 0.2s;
}
.ep_toolbox_content a:hover {
  background: #1a5276;
  color: #ffffff;
  border-color: #1a5276;
}

/* Current letter (bold, not a link) */
.ep_toolbox_content b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 34px;
  padding: 0 0.55rem;
  border-radius: 5px;
  background: #1a5276;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.8rem;
}

/* Separator pipes between letters */
.ep_toolbox_content > br {
  display: none;
}

/* ── View page content (listing items under a browse value) ── */
.ep_view_page {
  margin: 1rem 0;
}

.ep_view_page p {
  padding: 0.6rem 0;
  border-bottom: 1px solid #edf0f5;
  font-size: 0.88rem;
  line-height: 1.5;
  transition: background 0.15s;
}
.ep_view_page p:hover {
  background: #f8fafc;
  padding-left: 0.5rem;
}

.ep_view_page p a {
  color: #1a5276;
  text-decoration: none;
  font-weight: 500;
}
.ep_view_page p a:hover {
  color: #e74c3c;
  text-decoration: underline;
}

/* ── Year heading (h2 on browse by year page) ── */
#umko-main h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a252f;
  margin: 1.25rem 0 0.5rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #e8edf3;
}

/* ── Generic list styling within main content ── */
#umko-main ul:not(.umko-nav-list):not(.umko-dropdown):not(.umko-sidebar-menu):not(.ep_tm_key_tools):not([class]) {
  list-style: none;
  padding: 0;
  margin: 0;
}

#umko-main ul:not(.umko-nav-list):not(.umko-dropdown):not(.umko-sidebar-menu):not(.ep_tm_key_tools):not([class]) > li {
  position: relative;
  padding: 0.5rem 0.75rem 0.5rem 1.5rem;
  margin-bottom: 0.2rem;
  font-size: 0.88rem;
  border-bottom: 1px solid #f0f2f5;
  transition: background 0.15s;
}
#umko-main ul:not(.umko-nav-list):not(.umko-dropdown):not(.umko-sidebar-menu):not(.ep_tm_key_tools):not([class]) > li::before {
  content: '';
  position: absolute;
  left: 0.35rem;
  top: 0.85rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #1a5276;
}
#umko-main ul:not(.umko-nav-list):not(.umko-dropdown):not(.umko-sidebar-menu):not(.ep_tm_key_tools):not([class]) > li:hover {
  background: #f8fafc;
}
#umko-main ul:not(.umko-nav-list):not(.umko-dropdown):not(.umko-sidebar-menu):not(.ep_tm_key_tools):not([class]) > li a {
  color: #1a5276;
  text-decoration: none;
  font-weight: 500;
}
#umko-main ul:not(.umko-nav-list):not(.umko-dropdown):not(.umko-sidebar-menu):not(.ep_tm_key_tools):not([class]) > li a:hover {
  color: #e74c3c;
}

/* ── RSS/Feed row ── */
.umko-feed-row {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
  margin: 0.5rem 0;
}

/* ══════════════════════════════════════════════════
   CURRENT DIVISION (leaf node converted by JS)
════════════════════════════════════════════════════ */
a.umko-current-division {
  font-weight: 700;
  color: #e74c3c;
  text-decoration: none;
  cursor: pointer;
  border-bottom: 2px solid #e74c3c;
  padding-bottom: 1px;
  transition: color 0.2s;
}
a.umko-current-division:hover {
  color: #c0392b;
}

/* ══════════════════════════════════════════════════
   HIERARCHY INSIDE ep_toolbox_content (breadcrumb on sub-pages)
   EPrints nests ul/li inside ep_toolbox_content on division sub-pages
════════════════════════════════════════════════════ */
.ep_toolbox_content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ep_toolbox_content > ul > li {
  padding: 0.55rem 0.75rem;
  border-left: 4px solid #1a5276;
  background: #ffffff;
  border-radius: 6px;
  margin-bottom: 0.35rem;
}

.ep_toolbox_content > ul > li > a {
  font-weight: 700;
  color: #1a5276;
  text-decoration: none;
  font-size: 0.9rem;
}
.ep_toolbox_content > ul > li > a:hover {
  color: #e74c3c;
}

/* Level 2 in breadcrumb */
.ep_toolbox_content > ul > li > ul > li {
  padding: 0.45rem 0.65rem;
  margin-top: 0.3rem;
  margin-left: 0.75rem;
  border-left: 3px solid #2980b9;
  background: #f8fafc;
  border-radius: 5px;
}

.ep_toolbox_content > ul > li > ul > li > a {
  font-weight: 600;
  color: #2980b9;
  text-decoration: none;
  font-size: 0.86rem;
}
.ep_toolbox_content > ul > li > ul > li > a:hover {
  color: #1a5276;
}

/* Level 3 in breadcrumb (current / leaf) */
.ep_toolbox_content > ul > li > ul > li > ul > li {
  padding: 0.4rem 0.6rem;
  margin-top: 0.25rem;
  margin-left: 0.75rem;
  border-left: 3px solid #27ae60;
  background: #ffffff;
  border-radius: 4px;
}

.ep_toolbox_content > ul > li > ul > li > ul > li a,
.ep_toolbox_content > ul > li > ul > li > ul > li strong {
  font-weight: 600;
  color: #27ae60;
  text-decoration: none;
  font-size: 0.84rem;
}

/* ── Hide no_link_decor broken navigation ── */
.no_link_decor table {
  display: none;
}
.no_link_decor img[alt="[up]"] {
  width: 20px;
  height: 20px;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.no_link_decor img[alt="[up]"]:hover {
  opacity: 1;
}

