/* ENSO — sélecteur de langue (front) */
.enso-switcher{display:inline-flex;align-items:center;gap:12px;font-family:inherit}
.enso-switcher .enso-lang{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:inherit;opacity:.75;font-weight:600;transition:.15s}
.enso-switcher .enso-lang:hover{opacity:1}
.enso-switcher .enso-lang.is-active{opacity:1;color:#C0402E}
.enso-switcher .enso-fl{font-size:1.05em;line-height:1}
.enso-switcher.enso-flags .enso-nm{display:none}
/* Dropdown */
.enso-drop{position:relative;display:inline-block}
.enso-drop .enso-current{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid currentColor;border-radius:10px;padding:7px 12px;cursor:pointer;color:inherit;font:inherit;opacity:.9;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.enso-drop .enso-caret{opacity:.7;font-size:.9em;transition:transform .15s}
.enso-drop.open .enso-caret{transform:rotate(180deg)}
/* Menu calé sur le bord droit du bouton et borné à la fenêtre : ne déborde jamais
   l'écran (desktop comme mobile), y compris quand le sélecteur est en fin de header. */
.enso-drop .enso-menu{position:absolute;top:calc(100% + 6px);right:0;left:auto;min-width:100%;max-width:calc(100vw - 24px);background:#fff;color:#16130f;border:1px solid rgba(0,0,0,.1);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:6px;display:none;z-index:9999}
.enso-drop.open .enso-menu{display:block}
.enso-drop .enso-menu .enso-lang{display:flex;padding:8px 10px;border-radius:7px;opacity:.9}
.enso-drop .enso-menu .enso-lang:hover{background:rgba(192,64,46,.08)}

/* Style "inline" — noms côte à côte, l'active en évidence (façon NavPress) */
.enso-inline{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
.enso-inline .enso-lang{opacity:.5;font-weight:500;text-decoration:none}
.enso-inline .enso-lang:hover{opacity:.8}
.enso-inline .enso-lang.is-active{opacity:1;font-weight:600}
.enso-inline .enso-fl{margin-right:6px}
.enso-inline .enso-sep{opacity:.35;margin:0 -4px}
.enso-inline.enso-upper .enso-nm{text-transform:uppercase;letter-spacing:.08em;font-size:.9em}

/* ---- Mobile / tactile ---- */
@media (max-width:600px){
  /* Cibles tactiles confortables (>=44px de haut recommandé). Le calage du menu
     est déjà géré par la règle de base (bord droit + largeur max). */
  .enso-drop .enso-current{padding:10px 14px}
  .enso-drop .enso-menu{padding:8px}
  .enso-drop .enso-menu .enso-lang{padding:12px 12px}
  .enso-inline{gap:18px}
  .enso-inline .enso-lang,.enso-switcher.enso-text .enso-lang,.enso-switcher.enso-flags .enso-lang{padding:8px 4px}
}

/* =====================================================================
   Sélecteur déroulant stylé — [enso_language_dropdown]
   Couleurs / coins / police pilotés par les variables --dd-* posées en
   ligne par le shortcode (réglées depuis le tableau de bord). Fallbacks ici.
   ===================================================================== */
.enso-dd{position:relative;display:inline-block;font-family:var(--dd-font,inherit);line-height:1.2}
.enso-dd-current{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:0;margin:0;
  font:inherit;font-family:inherit;font-weight:600;
  padding:10px 16px;border-radius:var(--dd-radius,10px);
  background:var(--dd-bg,#fff);color:var(--dd-text,#16130f);
  transition:background-color .15s,color .15s;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.enso-dd-current:hover{background:var(--dd-bgh,#16130f);color:var(--dd-texth,#fff)}
.enso-dd-fl{font-size:1.05em;line-height:1}
.enso-dd-caret{
  width:.55em;height:.55em;flex:none;margin-left:2px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-2px);transition:transform .18s;
}
.enso-dd.open .enso-dd-caret{transform:rotate(-135deg) translate(1px,2px)}
/* Menu déroulant */
.enso-dd-menu{
  position:absolute;top:calc(100% + 6px);right:0;left:auto;
  min-width:100%;max-width:calc(100vw - 24px);
  background:var(--dd-menu-bg,#fff);border-radius:var(--dd-radius,10px);
  box-shadow:0 14px 34px rgba(0,0,0,.18);padding:6px;overflow:hidden;
  display:none;z-index:9999;
}
.enso-dd.open .enso-dd-menu{display:block}
/* Ouverture vers le haut (bouton en bas de page / sidebar) */
.enso-dd-up .enso-dd-menu{top:auto;bottom:calc(100% + 6px)}
.enso-dd-item{
  display:flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;
  padding:10px 14px;border-radius:calc(var(--dd-radius,10px) - 4px);
  color:var(--dd-text,#16130f);
  transition:background-color .12s,color .12s;
}
.enso-dd-item:hover,.enso-dd-item:focus-visible{background:var(--dd-bgh,#16130f);color:var(--dd-texth,#fff);outline:none}
@media (max-width:600px){
  .enso-dd-current{padding:12px 16px}
  .enso-dd-item{padding:12px 14px}
}
