/*
  Navigation mobile — menu burger.
  Fichier additif, inclus depuis `site/snippets/header.php`.
  `assets/css/index.css` n'est jamais modifié : les règles mobiles vivent ici et,
  chargées après index.css, le surchargent au besoin.

  Amélioration progressive : sans JavaScript, le menu reste visible et passe
  simplement à la ligne (`flex-wrap`). Le bouton burger et le masquage du menu ne
  s'activent que lorsque le script a ajouté la classe `is-js` sur `.header`.
  Le desktop est strictement inchangé.
*/

/* Bouton burger : masqué par défaut (desktop, et tant que JS n'a pas pris la main) */
.nav-toggle {
  display: none;
}

@media (max-width: 40rem) {
  /* Repli sans JS : au moins, les liens passent à la ligne au lieu de déborder */
  .menu {
    flex-wrap: wrap;
  }

  /* --- Avec JS : burger actif --- */
  .header.is-js .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    margin-right: -0.5rem; /* aligne l'icône sur le bord droit, comme les liens */
    background: none;
    border: 0;
    color: currentColor;
    cursor: pointer;
  }

  .header.is-js .nav-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  /* Icône : trois barres dessinées en CSS, qui deviennent une croix à l'ouverture */
  .nav-toggle__box {
    position: relative;
    display: block;
    width: 22px;
    height: 16px;
  }

  .nav-toggle__bar,
  .nav-toggle__bar::before,
  .nav-toggle__bar::after {
    position: absolute;
    left: 0;
    width: 22px;
    height: 2px;
    background: currentColor;
    transition: transform 0.2s ease, background-color 0.2s ease;
  }

  .nav-toggle__bar {
    top: 7px; /* barre du milieu */
  }

  .nav-toggle__bar::before {
    content: "";
    top: -7px;
  }

  .nav-toggle__bar::after {
    content: "";
    top: 7px;
  }

  /* État ouvert : la barre du milieu disparaît, les deux autres forment une croix */
  .header.is-js .nav-toggle[aria-expanded="true"] .nav-toggle__bar {
    background: transparent;
  }

  .header.is-js .nav-toggle[aria-expanded="true"] .nav-toggle__bar::before {
    transform: translateY(7px) rotate(45deg);
  }

  .header.is-js .nav-toggle[aria-expanded="true"] .nav-toggle__bar::after {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* Menu masqué tant qu'il n'est pas ouvert ; s'empile en pleine largeur à l'ouverture */
  .header.is-js .menu {
    display: none;
    flex-basis: 100%;
    flex-direction: column;
    padding-bottom: 0.5rem;
  }

  .header.is-js .menu.is-open {
    display: flex;
  }

  /* Les icônes sociales restent sur une ligne, sous les liens */
  .header.is-js .menu .social {
    padding: 0.5rem 1rem;
  }

  @media (prefers-reduced-motion: reduce) {
    .nav-toggle__bar,
    .nav-toggle__bar::before,
    .nav-toggle__bar::after {
      transition: none;
    }
  }
}
