/* Shared marketing navbar chrome for portal, console, and auth layouts.
   Full marketing pages load the complete marketing bundle instead. */

.l1-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
}

.l1-navbar {
  background: rgba(244, 246, 248, 0.94);
  border-bottom: 1px solid var(--l1-border);
  left: auto;
  padding: .475rem 0;
  position: sticky;
  right: auto;
  top: 0;
  transition: background .25s ease, padding .25s ease, backdrop-filter .25s ease, border-color .25s ease, box-shadow .25s ease;
  width: 100%;
  z-index: 1040;
}

.l1-navbar > .l1-container {
  position: relative;
}

.l1-navbar.l1-navbar-scrolled,
.l1-navbar.l1-navbar-dashboard {
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: var(--l1-border);
  padding: .285rem 0;
}

.l1-brand img {
  display: block;
  height: 64px;
  max-height: 64px;
  transition: height .25s ease;
  width: auto;
}

.l1-navbar.l1-navbar-scrolled .l1-brand img,
.l1-navbar.l1-navbar-dashboard .l1-brand img {
  height: 53px;
}

.l1-nav-collapse {
  min-width: 0;
}

.l1-nav-links {
  margin-left: 0;
  margin-right: 0;
}

.l1-account-nav {
  margin-left: auto;
}

.l1-nav-profile {
  align-items: center;
  display: flex;
  margin-right: -.35rem;
}

.l1-navbar .l1-nav-link,
.l1-menu-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--l1-text-muted);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 500;
  gap: .35rem;
  padding: .5rem .85rem !important;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
  white-space: nowrap;
}

.l1-navbar .l1-nav-link:hover,
.l1-navbar .l1-nav-link.active,
.l1-menu-trigger:hover,
.l1-menu-trigger.active,
.l1-menu .dropdown-toggle.show,
.l1-menu .dropdown-toggle[aria-expanded="true"] {
  background: color-mix(in srgb, var(--l1-brand) 8%, transparent);
  color: var(--l1-text);
}

.l1-menu {
  position: relative;
}

.l1-menu-trigger i {
  font-size: .7rem;
  transition: transform .16s ease;
}

.l1-menu .dropdown-toggle.show i,
.l1-menu .dropdown-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.l1-menu-panel,
.l1-dropdown {
  background: var(--l1-surface-1);
  border: 1px solid var(--l1-border);
  border-radius: var(--l1-radius-md);
  box-shadow: var(--l1-shadow-md);
  display: none;
  gap: .15rem;
  left: 0;
  list-style: none;
  margin: .55rem 0 0;
  min-width: 250px;
  padding: .45rem;
  position: absolute;
  top: 100%;
  z-index: 40;
}

.l1-menu-panel-end {
  left: auto;
  right: 0;
}

.l1-menu-panel.show {
  display: grid;
}

.l1-menu-link {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--l1-radius-sm);
  color: var(--l1-text-muted);
  display: flex;
  font: inherit;
  font-size: .94rem;
  gap: .65rem;
  padding: .7rem .85rem;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.l1-menu-link:hover,
.l1-menu-link:focus {
  background: var(--l1-primary-soft);
  color: var(--l1-text);
}

.l1-menu-link i {
  color: var(--l1-primary);
  width: 1rem;
}

.l1-menu-divider,
.l1-profile-divider {
  border: 0;
  border-top: 1px solid var(--l1-border);
  margin: .35rem .45rem;
}

.l1-profile-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  padding: 3px;
  transition: background .15s ease, opacity .15s ease;
  width: 42px;
}

.l1-profile-toggle:hover,
.l1-profile-toggle:focus {
  background: transparent;
  box-shadow: none;
  opacity: .8;
}

.l1-profile-toggle.l1-menu-trigger::after {
  display: none;
}

.l1-profile-avatar {
  background: var(--l1-brand-soft);
  border: 0;
  border-radius: 999px;
  color: var(--l1-text-dim);
  display: block;
  height: 34px;
  object-fit: cover;
  width: 34px;
}

.l1-profile-avatar-blank {
  background: var(--l1-brand-soft);
  color: var(--l1-brand-strong);
  display: grid;
  overflow: hidden;
  place-items: center;
}

.l1-profile-avatar-blank i {
  display: block;
  font-size: 0.9rem;
  line-height: 1;
  /* FA user glyphs sit optically high; nudge for true visual center. */
  transform: translateY(0.5px);
}

.l1-toggler,
.l1-nav-toggle {
  border: 1px solid var(--l1-border-strong);
  border-radius: var(--l1-radius-sm);
  color: var(--l1-text);
  padding: .45rem .7rem;
}

.l1-toggler:focus,
.l1-nav-toggle:focus-visible,
.l1-menu-trigger:focus-visible,
.l1-menu-link:focus-visible {
  box-shadow: 0 0 0 3px var(--l1-primary-soft);
  outline: 2px solid var(--l1-primary);
  outline-offset: 2px;
}

.l1-btn {
  align-items: center;
  border-radius: var(--l1-radius-sm);
  display: inline-flex;
  gap: .5rem;
  justify-content: center;
  line-height: 1.2;
  min-height: 42px;
  text-decoration: none;
  user-select: none;
}

.l1-btn-primary {
  background: var(--l1-primary);
  border: 1px solid var(--l1-primary);
  color: #fff;
  font-weight: 600;
  padding: .75rem 1.5rem;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.l1-btn-primary:hover {
  background: var(--l1-primary-dark);
  border-color: var(--l1-primary-dark);
  color: #fff;
}

.l1-btn-ghost {
  background: transparent;
  border: 1px solid var(--l1-border-strong);
  color: var(--l1-text);
  font-weight: 600;
  padding: .75rem 1.5rem;
  transition: all .2s ease;
}

.l1-btn-ghost:hover {
  background: var(--l1-primary-soft);
  border-color: var(--l1-primary);
  color: var(--l1-primary-dark);
}

@media (min-width: 992px) {
  .l1-nav-collapse {
    justify-content: flex-end;
    position: static;
  }

  .l1-nav-links {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  .l1-account-nav {
    position: relative;
    z-index: 3;
  }
}

@media (max-width: 991.98px) {
  .l1-navbar,
  .l1-navbar.l1-navbar-scrolled {
    padding: .35rem 0;
  }

  .l1-brand img,
  .l1-navbar.l1-navbar-scrolled .l1-brand img,
  .l1-navbar.l1-navbar-dashboard .l1-brand img {
    height: 46px;
  }

  .l1-navbar .l1-nav-collapse {
    padding-bottom: .5rem;
    padding-top: .65rem;
  }

  .l1-navbar .l1-nav-link {
    border-bottom: 1px solid var(--l1-border);
    font-size: .98rem;
    padding: .6rem .25rem !important;
  }

  .l1-navbar .l1-nav-item:last-child .l1-nav-link,
  .l1-navbar .l1-nav-item.l1-menu .l1-nav-link {
    border-bottom: 0;
  }

  .l1-navbar .l1-nav-item.l1-menu .l1-menu-panel.l1-dropdown {
    background: transparent;
    border: 0;
    border-left: 2px solid var(--l1-border);
    border-radius: 0;
    box-shadow: none;
    display: none;
    float: none;
    inset: auto !important;
    margin: 0 0 .5rem;
    padding: .25rem 0 .25rem .75rem;
    position: static !important;
    transform: none !important;
    width: 100%;
  }

  .l1-navbar .l1-nav-item.l1-menu .l1-menu-panel.l1-dropdown.show {
    display: block;
  }

  .l1-nav-links {
    margin-left: 0;
    margin-right: 0;
    transform: none;
  }

  .l1-account-nav {
    margin-left: 0;
    padding-top: .75rem;
  }

  .l1-nav-profile {
    display: block;
    margin-right: 0;
  }

  .l1-profile-toggle {
    height: 44px;
    justify-content: center;
    width: 100%;
  }

  .l1-navbar .l1-nav-profile .l1-menu-panel.l1-profile-dropdown {
    width: 100%;
  }
}

/* Client portal dashboard: prioritize account controls over marketing nav. */
.l1-client-portal-body .l1-navbar.l1-navbar-dashboard .l1-nav-links,
.l1-client-portal-body .l1-navbar.l1-navbar-dashboard .l1-dashboard-link {
  display: none !important;
}

.l1-client-sidebar-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--l1-border);
  border-radius: var(--l1-radius-sm, .375rem);
  display: none;
  height: 2.375rem;
  justify-content: center;
  margin-right: .5rem;
  padding: 0;
  width: 2.75rem;
}

.l1-client-sidebar-toggle .navbar-toggler-icon {
  height: 1.125rem;
  width: 1.125rem;
}

@media (max-width: 991.98px) {
  .l1-client-portal-body .l1-client-sidebar-toggle {
    display: inline-flex;
  }

  .l1-client-portal-body .l1-navbar-dashboard .l1-nav-toggle {
    display: none;
  }

  .l1-client-portal-body .l1-nav-shell {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: .25rem;
  }

  .l1-client-portal-body .l1-brand {
    margin-right: auto;
  }
}

[data-l1-theme="dark"] .l1-navbar,
[data-l1-theme="dark"] .l1-navbar.l1-navbar-scrolled,
[data-l1-theme="dark"] .l1-navbar.l1-navbar-dashboard {
  background: rgba(22, 25, 28, 0.92);
  border-bottom-color: var(--l1-border);
}

[data-l1-theme="dark"] .l1-menu-panel,
[data-l1-theme="dark"] .l1-dropdown {
  background: var(--l1-surface-1);
  border-color: var(--l1-border);
}

[data-l1-theme="dark"] .l1-profile-avatar-blank {
  background: var(--l1-surface-3);
  color: var(--l1-ink);
}
