/* Language selector — globe icon only, dark dropdown */
.lang-select { position:relative; display:flex; align-items:center; }

.lang-btn {
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; padding:0;
  background:none; border:none; border-radius:8px;
  color:rgba(255,255,255,0.45);
  cursor:pointer;
  transition:color .3s ease, background .3s ease, transform .3s ease;
}
.lang-btn svg { width:18px; height:18px; display:block; }
.lang-btn:hover { color:#fff; background:rgba(255,255,255,0.06); transform:translateY(-1px); }
.lang-btn:focus-visible { outline:1px solid rgba(255,255,255,0.3); outline-offset:2px; }

.lang-menu {
  position:absolute; top:calc(100% + 12px); right:0;
  min-width:150px; padding:6px;
  background:rgba(10,10,10,0.95);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;
  box-shadow:0 16px 40px rgba(0,0,0,0.6);
  opacity:0; transform:scale(.94) translateY(-4px);
  transform-origin:top right;
  pointer-events:none; visibility:hidden;
  transition:opacity .22s ease, transform .22s cubic-bezier(0.16,1,0.3,1), visibility .22s;
  z-index:60;
}
.lang-select.open .lang-menu {
  opacity:1; transform:scale(1) translateY(0);
  pointer-events:auto; visibility:visible;
}

.lang-option {
  display:flex; align-items:center; gap:10px; width:100%;
  padding:9px 10px;
  background:none; border:none; border-radius:8px;
  color:rgba(255,255,255,0.6);
  font-family:inherit; font-size:13px; text-align:left;
  cursor:pointer;
  transition:background .25s ease, color .25s ease;
}
.lang-option:hover { background:rgba(255,255,255,0.06); color:#fff; }
.lang-option.active { color:#fff; }
.lang-option .flag { font-size:15px; line-height:1; }
