/*****************************************************************************/
/* Custom navbar toggler icon that handles hamburger-to-cross transformation */
/*****************************************************************************/

.navbar-toggler {
  padding: .25rem .25rem;
  font-size: 1.25rem;

  border: none; /* enlève le bug visuel */
  outline: none;
  box-shadow: none;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hamburger icon */
.hamburger-icon {
  width: 26px;
  height: 20px;

  position: relative;
  display: block;
}

/* Hamburger icon lines */
.hamburger-icon,
.hamburger-icon::before,
.hamburger-icon::after {
  background: currentColor;
}

.hamburger-icon::before,
.hamburger-icon::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  transition: transform 0.22s ease;
  will-change: transform;
}

/* Hamburger icon middle line */
.hamburger-icon {
  height: 2px;
  margin: auto 0;
  transition: background-color .15s ease;
}

/* Top / bottom */
.hamburger-icon::before {
  top: -7px;
}

.hamburger-icon::after {
  top: 7px;
}

/* Cross */
.navbar-toggler:not(.collapsed) .hamburger-icon {
  background: transparent;
}

.navbar-toggler:not(.collapsed) .hamburger-icon::before {
  transform: translateY(7px) rotate(45deg);
}

.navbar-toggler:not(.collapsed) .hamburger-icon::after {
  transform: translateY(-7px) rotate(-45deg);
}