/* Site-wide header (navbar) and footer. Loaded after each theme's own CSS so it
   wins on both the panel theme and the landing (nico) theme. */

/* ---------- header ---------- */
nav.site-nav {
  background: linear-gradient(90deg, #12141b 0%, #1b1830 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 2px 14px rgba(0, 0, 0, .35);
  padding-top: .55rem;
  padding-bottom: .55rem;
}
nav.site-nav .navbar-brand img { max-height: 38px; }

nav.site-nav .nav-link {
  position: relative;
  color: #e8eaf1 !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: .2px;
  padding: .55rem .85rem !important;
  opacity: 1;
  transition: color .15s ease;
}
nav.site-nav .nav-link:hover,
nav.site-nav .nav-link:focus,
nav.site-nav .nav-link.active { color: #ffffff !important; }

@media (min-width: 992px) {
  nav.site-nav .navbar-nav:first-child .nav-link::after {
    content: "";
    position: absolute;
    left: .85rem; right: .85rem; bottom: .15rem;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #ff2db7, #7c3aed);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
  }
  nav.site-nav .navbar-nav:first-child .nav-link:hover::after,
  nav.site-nav .navbar-nav:first-child .nav-link.active::after { transform: scaleX(1); }
}

nav.site-nav .navbar-toggler { border-color: rgba(255, 255, 255, .35); }
nav.site-nav .btn.btn-primary {
  background: linear-gradient(135deg, #ff2db7, #7c3aed) !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 600;
  padding: .4rem 1rem;
  border-radius: 999px;
  box-shadow: 0 2px 10px rgba(124, 58, 237, .45);
}
nav.site-nav .dropdown-menu {
  background: #1b1d27;
  border: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .4);
}
nav.site-nav .dropdown-item { color: #e8eaf1; }
nav.site-nav .dropdown-item:hover { background: rgba(255, 255, 255, .08); color: #fff; }

/* ---------- footer ---------- */
footer.site-footer {
  background: linear-gradient(180deg, #14161d 0%, #0c0d12 100%) !important;
  border-top: 3px solid #7c3aed;
  color: #c9cedb !important;
}
footer.site-footer p,
footer.site-footer li,
footer.site-footer span { color: #c9cedb !important; }
footer.site-footer a { color: #d6dae6 !important; text-decoration: none !important; }
footer.site-footer a:hover { color: #ff5fc4 !important; }
footer.site-footer h5 {
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  position: relative;
}
footer.site-footer h5::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 28px; height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #ff2db7, #7c3aed);
}
footer.site-footer ul li { margin-bottom: .45rem; }
footer.site-footer hr { border-color: rgba(255, 255, 255, .12) !important; }
footer.site-footer .footer-copy,
footer.site-footer .footer-copy a { color: #aab1c2 !important; font-size: 14px; }
footer.site-footer .footer-copy a:hover { color: #ff5fc4 !important; }

/* ---------- header: layout fixes for crowded / logged-in menus ---------- */
nav.site-nav .navbar-brand { flex-shrink: 0; margin-right: 1.25rem; }
nav.site-nav .navbar-brand img { max-height: 38px; width: auto; display: block; }
nav.site-nav .nav-link { white-space: nowrap; }
nav.site-nav .dropdown-item.active,
nav.site-nav .dropdown-item:active { background: linear-gradient(135deg, #ff2db7, #7c3aed); color: #fff; }

/* balance pill (replaces the old floating badge) */
nav.site-nav .nav-balance {
  display: inline-block;
  position: static;
  padding: .3rem .8rem;
  margin: 0 .35rem;
  border-radius: 999px;
  background: rgba(70, 200, 120, .16);
  border: 1px solid rgba(70, 200, 120, .55);
  color: #7ff0ae !important;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  white-space: nowrap;
}
nav.site-nav .nav-balance:hover { background: rgba(70, 200, 120, .28); color: #fff !important; }

nav.site-nav .nav-pill {
  display: inline-block;
  padding: .1rem .5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff2db7, #7c3aed);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  vertical-align: middle;
}

@media (max-width: 991.98px) {
  nav.site-nav .navbar-collapse { padding: .5rem 0 .75rem; }
  nav.site-nav .nav-balance { margin: .35rem 0; }
}

/* keep long account names/emails from pushing the menu past the edge */
nav.site-nav #adminMenu,
nav.site-nav #userMenu {
  max-width: 230px;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 992px) and (max-width: 1299.98px) {
  nav.site-nav .nav-link { padding-left: .6rem !important; padding-right: .6rem !important; }
}
