.sidebar {
  width: 16rem;
}

/* L'état replié (body.sidebar-collapsed, posé côté serveur depuis le cookie)
   ne s'applique qu'à partir de sm : en mobile la sidebar est off-canvas. */
@media (min-width: 640px) {
  .main-content,
  .form-nav {
    margin-left: 16rem;
  }

  body.sidebar-collapsed .sidebar {
    width: 4.5rem;
  }

  body.sidebar-collapsed .main-content,
  body.sidebar-collapsed .form-nav {
    margin-left: 4.5rem;
  }

  body.sidebar-collapsed .chevron-icon {
    transform: rotate(180deg);
  }

  body.sidebar-collapsed .sidebar .nav-link {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }

  body.sidebar-collapsed .sidebar .nav-label {
    display: none; /* plutôt que width:0 qui casse le layout flex */
  }

  body.sidebar-collapsed .sidebar .nav-logo {
    opacity: 0;
    pointer-events: none;
    height: 0;
    overflow: hidden;
  }

  body.sidebar-collapsed .sidebar > div {
    padding-left: 0;
    padding-right: 0;
  }

  body.sidebar-collapsed .sidebar-chevron {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
}

/* Par défaut : chevron aligné à droite dans la sidebar dépliée */
.sidebar-chevron {
  justify-content: flex-end;
}

.hide-scrollbar {
  -ms-overflow-style: none;  /* IE et Edge */
  scrollbar-width: none;     /* Firefox */
}

.hide-scrollbar::-webkit-scrollbar {
  display: none;             /* Chrome, Safari */
}
