/* Sélecteur de langue (bandeau et menu mobile) */
.lang-switch{position:relative;display:inline-flex}
.lang-btn{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 12px;border:1px solid #d4e0f2;border-radius:40px;background:#fff;color:#0b235f;font:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1}
.lang-btn:hover{background:#f2f7fc}
.lang-btn:focus-visible,.lang-menu a:focus-visible{outline:2px solid #0739b5;outline-offset:2px}
.lang-btn img,.lang-menu img{width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14);display:block;flex:none}
.lang-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.6}
.lang-switch.is-open .lang-chevron{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:170px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #d4e0f2;border-radius:14px;box-shadow:0 16px 40px rgba(8,26,98,.18)}
.lang-menu[hidden]{display:none}
.lang-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#0b235f;font-size:14px;font-weight:600;text-decoration:none}
.lang-menu a:hover{background:#eaf2ff}
.lang-menu a[aria-current="true"]{background:#e3edff;color:#0739b5}
/* menu mobile : deux colonnes de boutons */
.lang-switch-mobile{display:block;margin:14px 0 2px}
.lang-switch-mobile .lang-caption{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.lang-switch-mobile ul{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;list-style:none}
.lang-switch-mobile a{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d4e0f2;border-radius:12px;background:#fff;color:#0b235f;font-size:14px;font-weight:600;text-decoration:none}
.lang-switch-mobile a[aria-current="true"]{border-color:#0739b5;background:#e3edff;color:#0739b5}
.lang-switch-mobile img{width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.e-nav-cta .lang-switch{margin-right:10px}
/* Mobile : le bouton de langue reste dans l'en-tête, collé juste avant le bouton de menu (côte à côte) ; la liste de langues du menu devient superflue. */
@media(max-width:1000px){
  .e-nav-cta .lang-switch{display:inline-flex;margin-right:0}
  .e-nav-cta .lang-btn{height:36px;padding:0 8px;gap:5px;border-radius:10px;font-size:11.5px}
  .e-nav-cta .lang-btn img{width:17px;height:12px}
  .e-nav-cta .lang-btn .lang-chevron{margin-left:0;transform:scale(.85)}
  .e-nav-cta .lang-switch.is-open .lang-chevron{transform:scale(.85) rotate(180deg)}
  .lang-switch-mobile{display:none}
  /* Nom du site en en-tête : « Écoles de Formation » et la ligne du dessous restent chacun sur UNE ligne, dans toutes les langues.
     Le script ecfo-lang.js réduit la taille (--brand-scale) seulement si le texte, plus long dans certaines langues, ne tient pas. */
  .e-hdr .e-nav-inner{gap:10px}
  .e-hdr .e-brand{flex:1 1 0;min-width:0;gap:8px}
  .e-hdr .e-brand img{width:42px;height:42px;flex:none}
  .e-hdr .e-brand-text{flex:1;min-width:0}
  .e-hdr .e-brand-text strong,.e-hdr .e-brand-text span{display:block;white-space:nowrap;overflow:hidden}
  .e-hdr .e-brand-text strong{font-size:calc(.92rem*var(--brand-scale,1));letter-spacing:.01em}
  .e-hdr .e-brand-text span{font-size:calc(.72rem*var(--brand-scale,1));margin-top:4px}
  .e-hdr .e-nav-cta{flex:none}
}
@media(prefers-reduced-motion:reduce){.lang-chevron{transition:none}}
