/* Selector de idioma (lo inyecta web/herramientas/idiomas.mjs en todas las páginas). Solo usa los colores de la web. */
.idioma-sprite{position:absolute;width:0;height:0;overflow:hidden}
.bandera{display:block;width:24px;height:18px;color:var(--ink);flex:none}

/* Escritorio: la bandera del idioma actual es el último apartado del menú, con la misma separación que los demás */
.idioma{position:relative;display:flex;align-items:center}
.idioma-boton{display:grid;place-items:center;width:36px;height:36px;margin:0 -6px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;transition:background-color .15s,transform .15s}
.idioma-boton .bandera{transition:transform .15s}
.idioma-boton:hover{background:var(--surface)}
.idioma-boton:active .bandera{transform:translateY(1px)}
.idioma-boton[aria-expanded="true"]{background:var(--surface)}
.idioma-boton:focus-visible,.idioma-menu a:focus-visible,.idioma-movil a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

.idioma-menu{position:absolute;z-index:60;top:calc(100% + 12px);left:-6px;min-width:208px;margin:0;padding:6px;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 25px 60px rgba(28,20,29,.18);animation:idioma-entra .16s ease-out}
.idioma-menu[hidden]{display:none}
.idioma-menu a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:8px;font-size:16px;font-weight:500;color:var(--ink);white-space:nowrap}
.idioma-menu a:hover{background:var(--surface)}
.idioma-menu a:focus-visible{outline-offset:-2px}
.idioma-menu a[aria-checked="true"]{background:var(--surface);font-weight:600}
.idioma-menu a[aria-checked="true"]::after{content:"";width:6px;height:11px;margin:-3px 3px 0 auto;border:solid var(--purple);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
@keyframes idioma-entra{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Móvil: dentro del menú de la hamburguesa, una fila con las banderitas */
.idioma-movil{display:none}
@media(max-width:1000px){
  .idioma{display:none}
  .desktop-nav .idioma-movil{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:14px;border-top:1px solid var(--line)}
  .idioma-movil a{display:grid;place-items:center;width:48px;height:44px;border-radius:10px}
  .idioma-movil a:hover{background:var(--surface)}
  .idioma-movil .bandera{width:30px;height:22.5px}
  .idioma-movil a[aria-current]{background:var(--surface);box-shadow:inset 0 0 0 2px var(--purple)}
}
/* Entre 1001 y 1100 px el menú va justo de espacio: menos separación entre apartados */
@media(max-width:1100px) and (min-width:1001px){.site-header{gap:18px}.desktop-nav{gap:14px}}
@media(prefers-reduced-motion:reduce){.idioma-menu{animation:none}.idioma-boton,.idioma-boton .bandera{transition:none}}
