/* Custom styles for dark navbar */
/* Custom styles for dark navbar */
.navbar-custom {
  background-color: #080808 !important;
  z-index: 1050 !important; /* Ensure navbar is always in front */
}
/* Brand logo: scales down on narrow screens so it never pushes the
   toggler onto a second row. 70px reserves room for the toggler. */
.navbar-custom .navbar-brand {
  max-width: calc(100% - 70px);
  padding-top: 0;
  padding-bottom: 0;
}
.navbar-logo {
  height: 52px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
@media (min-width: 576px) {
  .navbar-logo {
    height: 60px;
  }
}
@media (min-width: 992px) {
  .navbar-logo {
    height: 80px;
  }
}
.navbar-custom .navbar-nav .nav-link,
.navbar-custom .navbar-brand,
.navbar-custom .navbar-nav .nav-link.dropdown-toggle {
  color: #fff !important;
}
.navbar-custom .navbar-nav .nav-link:hover,
.navbar-custom .navbar-nav .nav-link:focus,
.navbar-custom .navbar-nav .nav-link.dropdown-toggle:focus {
  color: #d50032 !important;
}
.navbar-custom .dropdown-menu {
  background-color: #181818;
}
.navbar-custom .dropdown-item {
  color: #fff;
}
.navbar-custom .dropdown-item:hover,
.navbar-custom .dropdown-item:focus {
  background-color: #222;
  color: #d50032;
}
.navbar-toggler {
  border-color: #fff;
}

/* --- Collapsed (mobile/tablet) menu --- */
@media (max-width: 991.98px) {
  /* Long menus scroll rather than running off the screen. */
  .navbar-custom .navbar-collapse {
    margin-top: 0.85rem;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
  }
  .navbar-custom .navbar-nav .nav-link {
    padding: 0.6rem 0.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  /* Icon-only items read as icon + label when stacked. */
  .navbar-custom .navbar-nav .nav-link > .bi {
    width: 1.5rem;
    text-align: center;
  }
  /* Search sits on its own full-width row with the field always visible;
     !important beats the inline widths navbar.js toggles on desktop. */
  #navbar-search-container {
    width: 100%;
    margin-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.4rem 0;
  }
  #navbar-search-form {
    width: 100%;
  }
  #navbar-search-btn .bi-search {
    opacity: 1 !important;
  }
  #navbar-search-input {
    width: 100% !important;
    padding: 0.25rem 0.5rem !important;
    margin-left: 0.5rem;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 0.25rem;
    color: #fff;
  }
  #navbar-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
  }
  /* Full-width rows would fling the badge to the far right. */
  #notifBadge {
    position: static !important;
    transform: none !important;
    margin: 0 0 0 0.4rem !important;
  }
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255,255,255,1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
