/* Combined stacking and layout rules for top bars: navbar, roles-band, quick-nav */

/* Fixed heights per bar (adjust to your real pixels) */
:root {
  --navbar-h: 140px;    /* logo + menus - réduit de 180px à 80px */
  --roles-h: 120px;    /* roles-band height when present - réduit aussi */
  --quick-gap: 4px;    /* space between roles-band and quick-nav - réduit pour moins d'espace */

  /* Total reserved height for fixed top area */
  --nav-height: calc(var(--navbar-h) + var(--roles-h));
}

/* If roles-band not shown, collapse its height */
body:not(.has-roles-band) {
  --roles-h: 0px;
  --nav-height: var(--navbar-h);
}

/* Roles-band fixed below the navbar: top = navbar height + gap */
.roles-band {
  position: fixed;
  top: calc(var(--navbar-h, 140px) + 2px);  /* Réduit l'espace de 8px à 2px */
  left: 0;
  right: 0;
  z-index: 1200; /* above quick-nav */
}

/* Quick-nav positioned under the whole top area (navbar + roles-band) */
.quick-nav {
  position: sticky;
  top: calc(var(--navbar-h, 140px) + var(--roles-h, 120px) + 4px);  /* Réduit l'espace à 4px */
  z-index: 900; /* below roles-band */
  margin: 0;  /* Supprime les marges pour réduire l'espace */
}

/* Assurer que le contenu principal soit en dessous des barres de navigation */
main, .main-content, body > .container:first-of-type {
  padding-top: calc(var(--nav-height) + 20px);
}

/* Si pas de roles-band, utiliser seulement la hauteur navbar */
body:not(.has-roles-band) main,
body:not(.has-roles-band) .main-content,
body:not(.has-roles-band) body > .container:first-of-type {
  padding-top: calc(var(--navbar-h) + 20px);
}

/* Règle spécifique pour la quick-nav quand il n'y a pas de roles-band */
body:not(.has-roles-band) .quick-nav {
  top: calc(var(--navbar-h, 140px) + 4px);  /* Espace réduit aussi */
}

@media (max-width: 768px) {
  .quick-nav {
    top: calc(var(--navbar-h, 140px) + var(--roles-h, 120px) + 4px);  /* Espace réduit aussi sur mobile */
  }
}
