/* ---------- botão de idioma ---------- */
.idioma, .idioma-gatilho { -webkit-tap-highlight-color: transparent; }
.idioma-solto, .idioma-gatilho {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border: 0; border-radius: var(--ds-raio-medio);
  background: transparent; color: var(--ds-cor-texto); font: 400 13px/18px var(--lp-fonte-texto, var(--ds-fonte)); text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color var(--ds-dur-rapida) var(--ds-curva), color var(--ds-dur-rapida) var(--ds-curva);
}
.idioma-solto:hover, .idioma-gatilho:hover, .idioma-gatilho[aria-expanded='true'] { background-color: var(--ds-cor-preenchimento); }
.idioma-solto:active, .idioma-gatilho:active { background-color: color-mix(in srgb, var(--ds-cor-texto) 22%, transparent); transition-duration: 0ms; }
.idioma-solto:focus-visible, .idioma-gatilho:focus-visible { outline: 2px solid color-mix(in srgb, var(--ds-cor-texto) 72%, transparent); outline-offset: 2px; }
/* alvo de 44 px no toque sem mudar o desenho */
.idioma-solto, .idioma-gatilho { position: relative; }
@media (pointer: coarse) { .idioma-solto::after, .idioma-gatilho::after { content: ''; position: absolute; inset: -6px -2px; } }

/* telas sem cabeçalho: na linha da marca, com o texto terminando na borda dos campos (360 px); no celular, à direita */
/* a página ajusta pela altura da marca e pela largura da coluna: --idioma-topo, --idioma-coluna, --idioma-direita (celular) */
.idioma-solto.na-tela, .idioma-b.na-tela { position: absolute; top: var(--idioma-topo, 35px); left: calc(var(--lp-margem) + var(--idioma-coluna, 360px) + 10px); transform: translateX(-100%); pointer-events: auto;
  transition: opacity 260ms var(--ds-curva); }
/* nas telas com voo (entrada e cadastro), some junto com a marca quando o voo começa */
.palco[data-fase]:not([data-fase='fora']) .na-tela { opacity: 0; pointer-events: none; }
@media (max-width: 760px) {
  .idioma-solto.na-tela, .idioma-b.na-tela { left: auto; right: var(--idioma-direita, 16px); transform: none; }
}
@media (max-width: 760px) and (max-height: 760px) { .idioma-solto.na-tela, .idioma-b.na-tela { top: var(--idioma-topo-baixo, 23px); } }
@media (max-width: 760px) { html[data-canto-alto] .na-tela { top: 79px; } }
@media (prefers-reduced-motion: reduce) { .na-tela { transition: opacity 180ms linear; } }

/* A: no cabeçalho, colado a "Entrar" (4 px, como os itens da navegação) */
.topo > .idioma { margin-left: auto; margin-right: -24px; }
.topo > .idioma + .entrar { margin-left: 0; }
@media (max-width: 900px) { .topo > .idioma { margin-right: -16px; } }
@media (max-width: 760px) { .topo > .idioma { display: none; } }
/* na folha do Menu: uma linha igual às das páginas, logo antes da ação */
