/* =========================================================================
   MOSAÏCA — SÉLECTEUR DE LANGUE FR | EN
   -------------------------------------------------------------------------
   Feuille partagée par les pages françaises et anglaises. Elle ne fait
   qu'une chose : rendre cliquable et lisible le lien vers l'autre langue,
   qui était jusqu'ici un simple <span> désactivé.

   Aucune autre règle du site n'est modifiée. La structure, les couleurs et
   les espacements du bloc .gnav-lang restent définis dans mckinsey.css et
   dans home.css ; on ne redéfinit ici que l'état actif/inactif, puisque
   celui-ci change désormais d'une langue à l'autre.
   ========================================================================= */

.gnav-lang a {
  text-decoration: none;
  cursor: pointer;
  transition: color .18s ease;
}

/* Le focus doit rester visible au clavier : le lien de langue est souvent
   le dernier élément atteint avant la recherche. */
.gnav-lang a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

/* Langue active (aria-current="true") : pleine intensité.
   Langue disponible (lien) : atténuée, puis éclaircie au survol. */
.gnav-lang [aria-current="true"] { color: var(--navy); }

.gnav-lang a.gnav-lang-fr,
.gnav-lang a.gnav-lang-en { color: rgba(1, 46, 74, 0.42); }

.gnav-lang a.gnav-lang-fr:hover,
.gnav-lang a.gnav-lang-fr:focus-visible,
.gnav-lang a.gnav-lang-en:hover,
.gnav-lang a.gnav-lang-en:focus-visible { color: rgba(1, 46, 74, 0.78); }

/* Page d'accueil : la barre est superposée à la mosaïque bleu nuit.
   Même logique, palette inversée. */
body.hm-hero-mode .gnav-lang [aria-current="true"] { color: var(--white); }

body.hm-hero-mode .gnav-lang a.gnav-lang-fr,
body.hm-hero-mode .gnav-lang a.gnav-lang-en { color: rgba(255, 255, 255, 0.52); }

body.hm-hero-mode .gnav-lang a.gnav-lang-fr:hover,
body.hm-hero-mode .gnav-lang a.gnav-lang-fr:focus-visible,
body.hm-hero-mode .gnav-lang a.gnav-lang-en:hover,
body.hm-hero-mode .gnav-lang a.gnav-lang-en:focus-visible { color: rgba(255, 255, 255, 0.88); }

/* Menu mobile : fond clair dans tous les cas, y compris sur l'accueil. */
.gnav-lang--mobile [aria-current="true"],
body.hm-hero-mode .gnav-lang--mobile [aria-current="true"] { color: var(--navy); }

.gnav-lang--mobile a.gnav-lang-fr,
.gnav-lang--mobile a.gnav-lang-en,
body.hm-hero-mode .gnav-lang--mobile a.gnav-lang-fr,
body.hm-hero-mode .gnav-lang--mobile a.gnav-lang-en { color: rgba(1, 46, 74, 0.42); }

.gnav-lang--mobile a.gnav-lang-fr:hover,
.gnav-lang--mobile a.gnav-lang-en:hover,
body.hm-hero-mode .gnav-lang--mobile a.gnav-lang-fr:hover,
body.hm-hero-mode .gnav-lang--mobile a.gnav-lang-en:hover { color: rgba(1, 46, 74, 0.78); }

/* ===========================================================================
   CORRECTIF : popup du sélecteur compact « FR ▾ » (initLangSelect,
   assets/nav.js), ajouté après ce fichier existant.

   Cause réelle du bug signalé (texte quasi invisible en mode héros,
   desktop) : la règle « body.hm-hero-mode .gnav-lang [aria-current="true"]
   { color: var(--white) } » ci-dessus a été écrite pour l'ancien texte
   « Français | English » posé directement sur la navbar transparente de
   l'accueil, où du blanc est effectivement le bon choix. Le nouveau menu
   déroulant réutilise volontairement aria-current="true" sur son option
   active (sémantique d'accessibilité correcte, à conserver), mais vit
   dans un popup à fond blanc — jamais sur la navbar elle-même. La règle
   ci-dessus s'appliquait donc aussi à lui : blanc sur son propre fond
   blanc, invisible.

   Correction à la source, pas un cache-misère : cette règle a
   volontairement la même spécificité que celle qu'elle corrige et arrive
   après elle dans ce même fichier, donc l'emporte sans !important. Le
   popup garde ainsi un texte marine lisible quel que soit l'état de la
   navbar (héros ou non, desktop ou mobile), ce qui est la seule règle
   sensée : son fond ne change jamais, lui. */
body.hm-hero-mode .gnav-langsel-menu [aria-current="true"] { color: var(--navy); }
