/* Desplegable de idioma con banderas SVG (flag-icons). */
.lang-dropdown {
   position: relative;
   display: inline-block;
}
.lang-toggle {
   border: 1px solid #ced4da;
   background: #fff;
   color: #495057;
   border-radius: 0.25rem;
   padding: 0.25rem 0.6rem;
   font-size: 0.875rem;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   gap: 0.4rem;
   line-height: 1.2;
}
.lang-toggle:focus {
   outline: none;
   border-color: #80bdff;
   box-shadow: 0 0 0 0.15rem rgba(0, 123, 255, 0.25);
}
.lang-toggle .lang-flag,
.lang-opt .fi {
   width: 18px;
   height: 13px;
   border-radius: 2px;
   box-shadow: 0 0 1px rgba(0, 0, 0, 0.35);
   flex: 0 0 auto;
}
.lang-menu {
   position: absolute;
   right: 0;
   top: calc(100% + 4px);
   min-width: 150px;
   background: #fff;
   border: 1px solid #ced4da;
   border-radius: 0.25rem;
   list-style: none;
   margin: 0;
   padding: 4px 0;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
   z-index: 1050;
   display: none;
}
.lang-dropdown.open .lang-menu {
   display: block;
}
.lang-opt {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.4rem 0.75rem;
   font-size: 0.875rem;
   color: #495057;
   text-decoration: none;
   cursor: pointer;
}
.lang-opt:hover,
.lang-opt:focus {
   background: #f1f3f5;
   color: #212529;
   text-decoration: none;
}
.lang-opt.active {
   background: #e7f1ff;
   color: #0d6efd;
}

/* Wrapper para fijar el selector en esquina superior derecha
   (login, registro, mem result pages). */
.lang-dropdown-floating {
   position: fixed;
   top: 12px;
   right: 12px;
   z-index: 9999;
}
