/* ORENIQ I18N-01 : sélecteur de langue (FR | EN) et proposition de la langue du navigateur. Variables de palette.css et
   app.css (aucune couleur nouvelle). */
.langue-selecteur {
  display: inline-flex; align-items: center; flex-shrink: 0;
  border: 1px solid var(--bordure-interactive); border-radius: var(--radius-full); overflow: hidden;
}
.langue-option {
  background: transparent; color: var(--ink); border: 0;
  padding: var(--space-1) var(--space-2); min-width: 32px;
  font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.08em;
}
.langue-option + .langue-option { border-left: 1px solid var(--line); }
.langue-option:hover:not([aria-pressed="true"]) { background: var(--surface); }
.langue-option[aria-pressed="true"] { background: var(--ink); color: var(--surface-raised); }
.langue-option:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }

/* Carte de connexion et d'inscription : sélecteur en tête de carte, à droite (dans le flux : jamais sur le logo). */
.carte > .langue-selecteur { align-self: flex-end; }

/* Proposition (langue du navigateur) : jamais appliquée d'office. */
.langue-proposition {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2);
  border: 1px solid var(--info-bord); background: var(--info-fond); color: var(--info-texte);
  border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); font-size: 14px; line-height: 20px;
}
.langue-proposition-texte { flex: 1 1 auto; min-width: 12em; }
.langue-proposition .btn-secondaire { padding: var(--space-1) var(--space-2); }

/* Infobulles (i18n.js) : position fixe calculée, jamais cliquable, largeur bornée à l'écran. */
.infobulle {
  position: fixed; z-index: 50; left: 0; top: 0;
  max-width: min(280px, calc(100vw - 16px));
  background: var(--ink); color: var(--surface-raised);
  border-radius: var(--radius-md); padding: 6px 10px;
  font-size: 13px; line-height: 18px; font-weight: 400; letter-spacing: normal; text-align: left;
  pointer-events: none; box-shadow: 0 2px 8px rgb(0 0 0 / 0.2);
}
.infobulle[hidden] { display: none; }
.ultracode-produit { font-weight: 600; border-radius: var(--radius-sm); }
.ultracode-produit:focus-visible, #compteur-jetons:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

@media (max-width: 600px) {
  .entete-utilisateur .langue-option { padding: var(--space-1) 6px; min-width: 28px; }
}
