/*
 * modern-nav.css — Top navbar, dropdowns, mobile hamburger
 */

/* === MAIN NAVBAR === */
.navbar.navbar-default {
  background: var(--re-card) !important;
  border-bottom: 3px solid var(--re-accent) !important;
  box-shadow: 0 2px 16px rgba(30,58,95,0.12) !important;
  min-height: 60px !important;
  padding: 0 !important;
}

/* Logo / brand */
.navbar-nav-custom > li:first-child > a,
.navbar-brand,
.navbar-nav-custom > li > a[href="/"] {
  font-family: var(--re-font) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--re-primary) !important;
  padding: 16px 16px !important;
  letter-spacing: -0.3px;
}
/* Orange accent on "Rail" part */
.navbar-nav-custom > li:first-child > a strong,
.navbar-brand strong {
  color: var(--re-accent) !important;
}

/* Nav links */
.navbar-nav-custom > li > a {
  font-family: var(--re-font) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--re-text-secondary) !important;
  padding: 20px 14px !important;
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
  transition: color var(--re-transition-fast), border-color var(--re-transition-fast) !important;
  line-height: 20px !important;
}
.navbar-nav-custom > li > a:hover,
.navbar-nav-custom > li.active > a,
.navbar-nav-custom > li.open > a {
  color: var(--re-primary) !important;
  border-bottom-color: var(--re-accent) !important;
  background: transparent !important;
}

/* Nav icon (train icon) */
.navbar-nav-custom > li > a .gi-train {
  font-size: 26px !important;
  color: var(--re-primary);
  vertical-align: middle;
  margin-right: 5px;
}

/* === DROPDOWN MENUS === */
.dropdown-menu {
  border: 1px solid var(--re-border) !important;
  border-radius: var(--re-radius-md) !important;
  box-shadow: var(--re-shadow-md) !important;
  margin-top: 0 !important;
  padding: 6px !important;
  background: var(--re-card) !important;
}
.dropdown-menu > li > a {
  font-family: var(--re-font) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  padding: 8px 14px !important;
  border-radius: var(--re-radius-sm) !important;
  color: var(--re-text-primary) !important;
  transition: background var(--re-transition-fast) !important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li.active > a {
  background: var(--re-surface) !important;
  color: var(--re-primary) !important;
}
.dropdown-menu .divider {
  background-color: var(--re-border) !important;
  margin: 5px 0 !important;
}

/* === NAVBAR FORM (search bar) === */
.navbar.navbar-default .navbar-form .form-control {
  border-radius: var(--re-radius-sm) !important;
  border: 1.5px solid var(--re-border) !important;
  background: var(--re-surface) !important;
  color: var(--re-text-primary) !important;
  font-family: var(--re-font) !important;
  font-size: 13px !important;
  height: 36px !important;
  transition: border-color var(--re-transition-base), box-shadow var(--re-transition-base) !important;
}
.navbar.navbar-default .navbar-form .form-control:focus {
  border-color: var(--re-primary) !important;
  box-shadow: 0 0 0 3px rgba(30,58,95,0.10) !important;
  background: var(--re-card) !important;
}

/* === SIDEBAR NAV === */
#sidebar, #sidebar-alt {
  background: linear-gradient(180deg, #1e3a5f 0%, #16304f 100%) !important;
  box-shadow: 2px 0 16px rgba(0,0,0,0.20) !important;
}

.sidebar-brand {
  background: linear-gradient(135deg, var(--re-accent) 0%, var(--re-accent-hover) 100%) !important;
  color: #fff !important;
  font-family: var(--re-font) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px !important;
  padding: 18px 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  transition: background var(--re-transition-base) !important;
}
.sidebar-brand:hover {
  background: linear-gradient(135deg, var(--re-accent-hover) 0%, #c0600e 100%) !important;
  text-decoration: none !important;
}

.sidebar-nav > li > a {
  font-family: var(--re-font) !important;
  color: rgba(255,255,255,0.80) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 11px 18px !important;
  border-left: 3px solid transparent !important;
  transition: all var(--re-transition-fast) !important;
}
.sidebar-nav > li > a:hover,
.sidebar-nav > li > a.active,
.sidebar-nav > li.active > a {
  color: #fff !important;
  background: rgba(244,128,26,0.12) !important;
  border-left-color: var(--re-accent) !important;
}
.sidebar-nav ul li a {
  font-family: var(--re-font) !important;
  color: rgba(255,255,255,0.60) !important;
  font-size: 12px !important;
  padding: 8px 18px 8px 38px !important;
}
.sidebar-nav ul li a:hover { color: var(--re-accent) !important; }

.sidebar-header {
  font-family: var(--re-font) !important;
  color: rgba(255,255,255,0.30) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.4px !important;
  padding: 14px 18px 6px !important;
}

/* === MOBILE HAMBURGER === */
.navbar-toggle {
  border-color: rgba(30,58,95,0.25) !important;
  border-radius: var(--re-radius-sm) !important;
  margin: 12px 12px !important;
}
.navbar-toggle:hover { background: var(--re-surface) !important; }
.navbar-toggle .icon-bar { background: var(--re-primary) !important; }

/* Responsive */
@media (max-width: 767px) {
  .navbar-nav-custom > li > a {
    border-bottom: none !important;
    padding: 12px 16px !important;
    border-left: 3px solid transparent !important;
  }
  .navbar-nav-custom > li > a:hover {
    border-left-color: var(--re-accent) !important;
    background: var(--re-surface) !important;
  }
  .navbar.navbar-default .navbar-collapse {
    border-top: 1px solid var(--re-border);
  }
}
