/* Bandeiras de idioma no topo (pt-BR, pt-PT, en, es) */
.idiomas { display: inline-flex; align-items: center; gap: 6px; flex: none; margin-left: 6px; padding-left: 12px; border-left: 1px solid var(--borda-suave, #e2e8f0); }
.idioma { display: inline-block; line-height: 0; border-radius: 4px; outline: 0; -webkit-tap-highlight-color: transparent; }
.idioma:focus, .idioma:active, .idioma:focus-visible { outline: 0; }
.idioma img { display: block; width: 26px; height: 18px; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(15,23,42,.2); opacity: .6; filter: saturate(.8); transition: opacity .15s, transform .15s, box-shadow .15s, filter .15s; }
.idioma:hover img, .idioma:focus-visible img { opacity: 1; filter: none; transform: translateY(-1px); }
.idioma.is-atual img { opacity: 1; filter: none; }
.idiomas--topo { display: none; }

@media (max-width: 1200px) {
  /* no celular/tablet as bandeiras ficam sempre à vista, ao lado do botão do menu */
  .idiomas--menu { display: none; }
  .idiomas--topo { display: inline-flex; margin-left: auto; padding-left: 0; border-left: 0; gap: 5px; }
  .idiomas--topo + .menu-btn { margin-left: 8px; }
  .idiomas--topo .idioma img { width: 24px; height: 17px; }
}
@media (max-width: 380px) {
  .idiomas--topo { gap: 4px; }
  .idiomas--topo .idioma img { width: 21px; height: 15px; }
}
