/* ============================================================================
   idiomas.css — el selector de idioma manual (views/partials/idiomas.ejs),
   4-nov-2026. Con :where() (especificidad cero): la hoja de cada página
   puede retocarlo sin pelear. Botones de 44 px o más. Sin nada de fuera.
   ========================================================================== */

:where(.sn-idiomas) {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid #e1e6ee;
  border-radius: 999px;
  background: #ffffff;
  font: 600 14px/1 system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}
:where(.sn-idiomas) a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  border-radius: 999px;
  color: #4a5a70;
  text-decoration: none;
}
:where(.sn-idiomas) a[aria-current="true"] { background: #e3f1fb; color: #01659e; }
:where(.sn-idiomas) a:focus-visible { outline: 2px solid #027ec4; outline-offset: 2px; }

/* Fijo arriba a la derecha, para las páginas sin cabecera propia. */
:where(.sn-idiomas--flotante) { position: fixed; top: max(10px, env(safe-area-inset-top)); right: 10px; z-index: 60; }

/* En el pie común: centrado, sin robar sitio. */
:where(.sn-idiomas--pie) { margin: 8px auto 0; }

/* El proyector: discreto, abajo a la izquierda; en modo diapositiva, fuera. */
:where(.sn-idiomas--proyector) { position: fixed; left: 12px; bottom: 12px; z-index: 5; opacity: .55; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); }
:where(.sn-idiomas--proyector) a { color: #cbd5e1; }
:where(.sn-idiomas--proyector) a[aria-current="true"] { background: rgba(255, 255, 255, .16); color: #fff; }
:where(.sp--slide) :where(.sn-idiomas--proyector) { display: none; }

@media print { :where(.sn-idiomas) { display: none; } }

/* El tamaño mínimo, siempre (también donde la página trae su propio estilo de .sl-idiomas). */
.sn-idiomas a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
