/* === Navbar PRIMEDIS === */
.custom-navbar {
  background: linear-gradient(90deg, rgba(15,27,49,0.98) 0%, rgba(31,111,235,0.98) 100%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 4px 12px rgba(0,0,0,0.35);
  padding: .5rem clamp(.8rem, 2vw, 1rem);
  font-family: 'Open Sans', sans-serif;
}

.custom-navbar .custom-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  flex-wrap: wrap; /* mobile-first */
}

/* Brand */
.custom-navbar .custom-brand {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 600;
  color: #e6edf3;
  text-decoration: none;
  font-size: 1rem;
  min-width: 0;
}
.custom-navbar .custom-brand:hover { color: #fff; }
.custom-navbar .custom-brand img { height: 34px; width: auto; }
.custom-navbar .custom-brand span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 55vw;
}

/* Toggler */
.custom-navbar .navbar-toggler {
  border: none;
  background: transparent;
  color: #fff;
  font-size: 1.35rem;
  margin-left: auto;
  padding: .4rem .6rem;
  border-radius: 10px;
}
.custom-navbar .navbar-toggler:focus { outline: none; box-shadow: none; }

/* Collapse (mobile) */
.custom-navbar .navbar-collapse {
  width: 100%;
  flex-basis: 100%;
  background: #0f1725;
  padding: .75rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  margin-top: .5rem;
}
.custom-navbar .navbar-nav { width: 100%; }
.custom-navbar .navbar-nav .nav-item { margin: .15rem 0; }
.custom-navbar .navbar-nav .nav-link {
  color: #e6edf3;
  font-size: .95rem;
  padding: .65rem .8rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  transition: background .2s ease, transform .2s ease, color .2s ease;
}
.custom-navbar .navbar-nav .nav-link i { font-size: 1rem; }
.custom-navbar .navbar-nav .nav-link:hover {
  background: rgba(255,255,255,0.08);
  color: #fff;
  transform: translateY(-1px);
}
.custom-navbar .navbar-nav .nav-link.active {
  background: rgba(31,111,235,0.25);
  border: 1px solid rgba(31,111,235,0.5);
  color: #fff;
}

/* Bouton déconnexion */
.custom-navbar .custom-logout-button {
  background: rgba(220,53,69,0.15);
  border: 1px solid rgba(220,53,69,0.3);
  border-radius: 10px;
}
.custom-navbar .custom-logout-button:hover {
  background: rgba(220,53,69,0.25);
  border-color: rgba(220,53,69,0.5);
  color: #fff;
}

/* Dropdown */
.custom-navbar .dropdown-menu {
  background: #0f1725;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
.custom-navbar .dropdown-item {
  color: #e6edf3;
  font-size: .9rem;
}
.custom-navbar .dropdown-item:hover {
  background: rgba(31,111,235,0.2);
  color: #fff;
}


/* Moyen écran (≥ 992px) : plus d’air */
@media (min-width: 992px) {
  .custom-navbar .navbar-nav .nav-link { padding: .55rem .85rem; }
}

/* Réduction d’animations si demandée */
@media (prefers-reduced-motion: reduce) {
  .custom-navbar .navbar-nav .nav-link,
  .custom-navbar .navbar-toggler {
    transition: none !important;
  }
}

/* --- Anti-doublon hamburger --- */

/* --- Comportement par défaut (mobile / tablette / petits desktops) --- */
.desktop-fab { display: none; }

/* Collapse Bootstrap (mobile) */
.navbar.navbar-expand-1584 .navbar-collapse.collapse { display: none; }
.navbar.navbar-expand-1584 .navbar-collapse.collapse.show { display: block; }




/* --- Comportement collapse pour notre breakpoint custom --- */
.navbar.navbar-expand-1584 .navbar-collapse.collapse { display: none; }
.navbar.navbar-expand-1584 .navbar-collapse.collapse.show { display: block; }

/* Mobile & tablettes (<1584px) */
@media (max-width: 1583.98px) {
  /* Toggler visible, menu en "panneau" plein largeur */
  .navbar.navbar-expand-1584 .navbar-toggler{ display:inline-flex; }

  .custom-navbar .navbar-collapse{
    width:100%;
    flex-basis:100%;
    background:#0f1725;
    padding:.75rem;
    border-top:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    margin-top:.5rem;
  }
  .custom-navbar .navbar-nav{ width:100%; }
  .custom-navbar .navbar-nav .nav-item{ margin:.15rem 0; }
  .custom-navbar .navbar-nav .nav-link{ width:100%; }

  /* ❌ Le drawer et le FAB doivent être totalement invisibles en mobile */
  .desktop-fab,
  #rightDrawer,
  #drawerBackdrop{ display:none !important; }
}


/* --- Drawer : caché par défaut (même si HTML présent) --- */
#rightDrawer{
  position: fixed; top: 0; right: 0; height: 100vh; width: min(380px, 86vw);
  background: #0f1725; border-left: 1px solid rgba(255,255,255,.08);
  transform: translateX(100%); transition: transform .25s ease-in-out; z-index: 1051;
  box-shadow: -12px 0 28px rgba(0,0,0,.35);
  pointer-events: none;  /* pas cliquable si fermé */
}
#rightDrawer.open{ transform: translateX(0%); pointer-events:auto; }

#drawerBackdrop{
  position: fixed; inset: 0; background: rgba(0,0,0,.35);
  opacity: 0; visibility: hidden; transition: opacity .2s ease; z-index: 1050;
}
#drawerBackdrop.show{ opacity: 1; visibility: visible; }


/* --- Comportement collapse pour notre breakpoint custom --- */
.navbar.navbar-expand-1584 .navbar-collapse.collapse { display: none; }
.navbar.navbar-expand-1584 .navbar-collapse.collapse.show { display: block; }

/* Mobile & tablettes (<1584px) : toggler + menu en panneau */
@media (max-width: 1583.98px) {
  .navbar.navbar-expand-1584 .navbar-toggler{ display:inline-flex; }
  .custom-navbar .navbar-collapse{
    width:100%; flex-basis:100%;
    background:#0f1725; padding:.75rem;
    border-top:1px solid rgba(255,255,255,.08);
    border-radius:12px; margin-top:.5rem;
  }
  .custom-navbar .navbar-nav{ width:100%; }
  .custom-navbar .navbar-nav .nav-item{ margin:.15rem 0; }
  .custom-navbar .navbar-nav .nav-link{ width:100%; }

  /* Drawer & FAB invisibles en mobile */
  .desktop-fab, #rightDrawer, #drawerBackdrop { display:none !important; }
}

/* Desktop (≥1584px) : logo+nom SEULEMENT, pas de menu inline, FAB visible */
@media (min-width: 1584px){
  .navbar.navbar-expand-1584 .navbar-toggler{ display:none !important; visibility:hidden !important; }
  .navbar.navbar-expand-1584 .navbar-collapse{ display:none !important; } /* <- cache la liste des liens */
  .desktop-fab{ display:inline-flex !important; }
}

/* Gardien de padding (spécificité + priorité) */
.navbar.custom-navbar {
  padding: .5rem clamp(.8rem, 2vw, 1rem) !important;
}
@media (min-width:1584px){
  .navbar.custom-navbar {
    padding: .55rem 1rem !important;
  }
}

/* Optionnel : neutraliser un utilitaire Bootstrap accidentel */
.navbar.custom-navbar[class*="py-"] { padding-top: initial !important; padding-bottom: initial !important; }
.navbar.custom-navbar[class*="px-"] { padding-left: initial !important; padding-right: initial !important; }


/* Lock navbar spacing on every page */
.navbar.custom-navbar {
  /* vertical | horizontal */
  padding: .5rem clamp(.8rem, 2vw, 1rem) !important;
}

/* Neutralize container paddings inside the navbar so pages can't change the look */
.custom-navbar .container-fluid,
.custom-navbar .custom-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Also ignore Bootstrap px/py utilities if someone adds them by mistake */
.navbar.custom-navbar[class*="px-"],
.navbar.custom-navbar[class*="p-"] {
  padding-left: initial !important;
  padding-right: initial !important;
  padding-top: initial !important;
  padding-bottom: initial !important;
}

/* Backdrop affiché quand le menu mobile est ouvert */
.nav-mobile-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 1049; /* juste sous la collapse (Bootstrap ~1050) */
}

/* Empêche le scroll du body si besoin quand le menu est ouvert */
body.nav-open {
  overflow: hidden;
}
