/* Global tweaks for consistent Manage-style look */

:root {
  --page-header-gap: 1rem;
  --site-header-height: 70px; /* keep footer equal to header height */
}

.page-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--page-header-gap);
  margin-bottom: 1rem;
}

.page-header-title {
  margin: 0;
}

.page-subtitle {
  color: #6c757d; /* Bootstrap text-muted */
  margin: 0;
}

.page-actions .btn + .btn {
  margin-left: .5rem;
}

/* Card polish */
.card-header {
  font-weight: 600;
}

.table-actions .btn + .btn {
  margin-left: .25rem;
}

/* Navbar auth links: black, inline, no bullets */
.navbar .auth-links {
  list-style: none;
}
.navbar .auth-links a {
  color: #000 !important; /* force black regardless of navbar theme */
  text-decoration: none;
}
.navbar .auth-links a:hover,
.navbar .auth-links a:focus {
  text-decoration: none;
}

/* Header height */
.site-header {
  min-height: var(--site-header-height);
}

/* Logo offset — 2.5rem from left and top */
.site-header .container-fluid {
  padding-left: 2.5rem;
  padding-top: 2.5rem;
  align-items: flex-start;
}

/* Header / navbar background set to white */
.site-header,
.navbar {
  background-color: #ffffff !important; /* enforce white background */
}

/* Optional subtle separation removed for a cleaner look */
.navbar {
  border-bottom: none;
}

/* Blazor subnav: inline, borderless link row */
.blazor-subnav {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}
.blazor-links {
  display: flex;
  align-items: center;
  gap: .75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.blazor-link {
  color: #0d6efd; /* Bootstrap primary */
  text-decoration: none;
}
.blazor-link.active {
  font-weight: 600;
}
.blazor-link:hover,
.blazor-link:focus {
  text-decoration: underline;
}

/* Ensure no bullets in header nav */
.navbar-nav,
.navbar-nav .nav-item {
  list-style: none;
}
.navbar-nav {
  padding-left: 0;
  margin-bottom: 0;
}
.navbar .nav-link {
  text-decoration: none;
}

/* Ensure top-level menu items are black (visible on white header) */
.site-header .navbar-nav > .nav-item > .nav-link,
.site-header .navbar-nav > .nav-item > .dropdown-toggle {
  color: #000 !important;
}
.site-header .navbar-nav > .nav-item > .nav-link:hover,
.site-header .navbar-nav > .nav-item > .nav-link:focus,
.site-header .navbar-nav > .nav-item > .dropdown-toggle:hover,
.site-header .navbar-nav > .nav-item > .dropdown-toggle:focus {
  color: #000 !important;
}

/* Nested dropdowns (submenu) positioning and visibility */
.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .125rem;
  margin-right: .125rem;
}
/* anchor nested submenu to its parent li */
.dropdown-submenu {
  position: relative;
}

/* Show third-level submenus on hover as a fallback to JS */
.dropdown-submenu > .dropdown-menu {
  display: none;
}
.dropdown-submenu:hover > .dropdown-menu,
.dropdown-submenu:focus-within > .dropdown-menu,
.dropdown-submenu.show > .dropdown-menu {
  display: block;
}

/* Align the split toggle neatly next to the label in navbar */
.navbar-nav .dropdown-toggle-split::after {
  margin-left: .15rem;
}
.navbar-nav .dropdown-toggle-split {
  padding-left: .25rem;
  padding-right: .5rem;
}

/* Submenu split row alignment inside dropdowns */
.dropdown-menu .submenu-split .dropdown-item {
  padding-right: .5rem;
}
.dropdown-menu .submenu-split .dropdown-toggle-split::after {
  margin-left: .25rem;
}
.dropdown-menu .submenu-split .dropdown-toggle-split {
  padding: .25rem .5rem;
}

/* Ensure nested menus appear above content if overlapping */
.dropdown-menu {
  z-index: 1050;
}

/* Logo sizing */
.navbar-brand .logo-img {
  height: 70px;
  width: auto;
  display: block;
}

/* Manage pages: make the subtitle smaller and consistent */
h1 + .text-muted {
  font-size: 0.875rem; /* even smaller (≈14px) */
  line-height: 1.5;
}
/* Only reduce subtitle when explicitly muted */
p.text-muted,
div.text-muted {
  font-size: 0.875rem; /* match reduced size */
  line-height: 1.5;
  color: #6c757d; /* muted tone */
}

/* Manage pages: align heading sizes with Admin pages */
.manage-shell h1 { font-size: 1.75rem; line-height: 1.2; }
.manage-shell h2 { font-size: 1.75rem; line-height: 1.2; }

/* Identity Manage pages: unify heading sizes and smaller subtitle */
.manage-account-page h1 { font-size: 1.75rem; line-height: 1.2; }
.manage-account-page h2 { font-size: 1.75rem; line-height: 1.2; }
.manage-account-page h1 + h2 { display: none; }
.manage-account-page h1 + .text-muted,
.manage-account-page p.text-muted { display: none; }
