/* Selector de idioma de la cabecera. Lo inserta el servicio traductor delante de «Menú». */
.lang-sw { position: relative; margin-left: auto; }
.lang-sw-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 2px; background: none; border: 0; cursor: pointer;
  color: var(--text-title, #12151b); font: inherit; font-size: 13px; font-weight: 500; letter-spacing: 0.02em;
}
.lang-sw-btn svg { width: 9px; height: 6px; transition: transform 0.25s cubic-bezier(0.22, 0.7, 0.2, 1); }
.lang-sw.is-open .lang-sw-btn svg { transform: rotate(180deg); }
.lang-sw-btn:focus-visible, .lang-sw-lista a:focus-visible { outline: 2px solid var(--primary, #2e6bf6); outline-offset: 2px; border-radius: 4px; }
.lang-sw-lista {
  position: absolute; right: -8px; top: calc(100% + 12px); z-index: 140;
  min-width: 164px; margin: 0; padding: 6px; list-style: none;
  background: var(--bg-body, #fff); border: 1px solid var(--border-primary, rgba(15, 23, 32, 0.1)); border-radius: 12px;
  box-shadow: 0 18px 40px -18px rgba(15, 23, 32, 0.28);
}
.lang-sw-lista[hidden] { display: none; }
.lang-sw-lista a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 9px 10px; border-radius: 8px; text-decoration: none;
  color: var(--text-body, #5b6472); font-size: 14px; line-height: 1.2;
}
.lang-sw-lista a:hover { background: var(--bg-surface, #f1f3f6); color: var(--text-title, #12151b); }
.lang-sw-lista a[aria-current="true"] { color: var(--text-title, #12151b); font-weight: 500; }
.lang-sw-lista a[aria-current="true"]::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--primary, #2e6bf6); }
@media (prefers-reduced-motion: reduce) { .lang-sw-btn svg { transition: none; } }
