/* Selector de idioma ES | EN. Blanco sobre el azul del header (7.4:1) y sobre
   el fondo oscuro del menú móvil. Área táctil mínima de 44 px. */
.selector-idioma {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   margin-right: 12px;
}
.selector-idioma__enlace {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-width: 44px;
   min-height: 44px;
   padding: 0 12px;
   border: 1px solid transparent;
   border-radius: 8px;
   color: #fff;
   font-size: 14px;
   font-weight: 600;
   letter-spacing: .04em;
   line-height: 1;
   text-decoration: none;
}
.selector-idioma__enlace:hover {
   border-color: rgba(255, 255, 255, .7);
   color: #fff;
}
.selector-idioma__enlace--actual,
.selector-idioma__enlace--actual:hover {
   background-color: rgba(255, 255, 255, .18);
   border-color: #fff;
}
.selector-idioma__enlace:focus-visible {
   outline: 3px solid #fff;
   outline-offset: 2px;
   box-shadow: 0 0 0 5px #000;
}
.selector-idioma__bandera {
   display: block;
   width: 24px;
   height: 16px;
   border-radius: 2px;
   box-shadow: 0 0 0 1px rgba(255, 255, 255, .45);
   flex: none;
}
.mobile-menu__options .selector-idioma {
   margin: 0 12px 0 0;
}
@media (max-width: 575.98px) {
   .selector-idioma { margin-right: 0; }
}

/* Celular: en la barra superior solo se muestra el enlace al OTRO idioma
   (bandera + código), para que quepa junto al logo y al botón de menú. */
.selector-idioma-movil {
   align-items: center;
   margin-right: 8px;
}
.selector-idioma-movil .selector-idioma { margin-right: 0; }
.selector-idioma-movil .selector-idioma__enlace--actual { display: none; }
.selector-idioma-movil .selector-idioma__enlace { padding: 0 10px; gap: 6px; }

/* Menú móvil: el selector completo en su propia fila, sobre el botón de
   contacto, para que el botón no se comprima. */
.mobile-menu__options {
   flex-wrap: wrap;
   gap: 16px;
}
.mobile-menu__options .selector-idioma {
   flex-basis: 100%;
   justify-content: center;
   margin: 0;
}
