/* ==========================================================================
   gns.css — Global Navigation Selector (bloc CSS privé, réserve)  — v3
   --------------------------------------------------------------------------
   Portée : tout est scopé sous #languageMenue.gns-menu.
   v3 (17/07/2026) — variante « B », charte Topas :
     • en-têtes GLOBAL / NETWORK / FOR U. soulignés en jaune Topas (#FFED00) ;
     • langue active repérée par son nom souligné jaune (sobre, sans coche
       ni gras lourd) ;
     • code (DE/EN/FR…) atténué, secondaire.
   Aucune police imposée : le menu hérite de la typo du site.
   Encodage : UTF-8 sans BOM. Fichier : topas_public/assets/css/gns.css
   ========================================================================== */

/* Jaune de la charte Topas */
/* #FFED00 */

/* --- Ligne : CODE (chasse fixe) + Nom + éventuel ↗ ----------------------- */
#languageMenue.gns-menu .gns-item {
  display: flex;
  align-items: baseline;
  gap: .55em;
  white-space: nowrap;
}

/* Code : 2 lettres MAJ, aligné à gauche, largeur fixe, chasse constante. */
#languageMenue.gns-menu .gns-code {
  flex: 0 0 2.1em;
  text-align: left;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: .04em;
  opacity: .5;                 /* secondaire, discret */
}

#languageMenue.gns-menu .gns-name {
  flex: 1 1 auto;
}

/* Symbole « quitte le site » (spec §6) — décoratif, aria-hidden côté HTML. */
#languageMenue.gns-menu .gns-ext {
  flex: 0 0 auto;
  margin-left: .4em;
  opacity: .75;
  font-size: .9em;
}

/* --- En-têtes de bloc : GLOBAL / NETWORK / FOR U. (soulignés jaune) ------ */
#languageMenue.gns-menu .gns-header {
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .8em;
  font-weight: 700;
  color: #1a1a1a;
}
#languageMenue.gns-menu .gns-header .line-bottom {
  display: inline-block;
  padding-bottom: .14em;
  border-bottom: 3px solid #FFED00;      /* jaune Topas */
}

/* --- Langue active (spec §5/§7) : nom souligné jaune, sobre ------------- */
/* Cible aria-current (posé au runtime) ET .active (posé au build). */
#languageMenue.gns-menu li.active > .gns-item .gns-name,
#languageMenue.gns-menu .gns-item[aria-current="true"] .gns-name {
  font-weight: 600;
  box-shadow: inset 0 -2px 0 #FFED00;    /* soulignement jaune du nom actif */
}

/* --- Focus visible clavier (spec §11) ----------------------------------- */
#languageMenue.gns-menu .gns-item:focus,
#languageMenue.gns-menu .gns-item:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
  border-radius: 2px;
}

/* --- Responsive : pas de chevauchement ni débordement (spec §10) -------- */
@media (max-width: 480px) {
  #languageMenue.gns-menu .gns-item {
    gap: .45em;
    white-space: normal;
  }
  #languageMenue.gns-menu .gns-code {
    flex-basis: 2em;
  }
}
