a.wp-block-navigation-item__content[aria-current]:not([aria-current="false"]) {
  color: var(--wp--preset--color--primary);
}

@media (max-width: 1024px) {
  header .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center;
  }

  header .wp-block-navigation__container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container {
    pointer-events: none;
    opacity: 0;
    /* ✅ Safari : on remplace visibility: hidden par un display différé.
       visibility seul pose problème sur Safari car il interagit mal avec
       opacity et pointer-events quand WP ajoute is-menu-open dynamiquement.
       La transition sur visibility permet à Safari de bien interpréter
       le changement d'état. */
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  }

  header .wp-block-navigation__responsive-container.is-menu-open,
  header .wp-block-navigation__responsive-container.has-modal-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    /* ✅ La transition sur visibility passe à 0s au moment de l'ouverture
       pour qu'elle soit immédiatement visible, puis opacity anime */
    transition: opacity 0.2s ease, visibility 0s linear 0s;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container {
    display: flex !important;
    align-items: flex-start !important;
  }
}

@media (min-width: 600px) and (max-width: 1024px) {
  .wp-block-navigation {
    max-height: 44px !important;
  }

  header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    flex-direction: row !important;
  }
}

@media (max-width: 1024px) {
  :root {
    --nd-header-offset: 0px;
  }

  header .wp-block-navigation__responsive-container {
    position: fixed;
    top: var(--nd-header-offset);
    /* ✅ Safari : 100vw peut inclure la scrollbar et provoquer un débordement.
       On utilise 100% qui est relatif au bloc conteneur, plus fiable. */
    width: 100%;
    height: fit-content;
    /* ✅ Safari : force un stacking context propre pour que le fixed
       fonctionne correctement au-dessus du reste du header */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  header .wp-block-navigation__responsive-container-close {
    display: none;
  }

  header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--wp--preset--gradient--hero) !important;
  }

  header .wp-block-navigation__responsive-container-content {
    max-width: var(--nd-container-current);
    margin: auto;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left;
    padding: var(--wp--preset--spacing--60) var(--nd-gutter);
  }

  header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    text-align: left;
    flex-direction: column;
    gap: 40px;
  }
}

@media (max-width: 423px) {
  .topbar {
    row-gap: 10px !important;
  }
}

@media (min-width: 600px) {
  header ul {
    margin: auto !important;
  }
}