
/* Interface language remains accessible in editor and auth layouts. */
.ck-language-switcher { display:flex; align-items:center; margin:0; flex:0 0 30px; }
.ck-language-switcher[data-language-switcher] .ck-language-control {
 position:relative; display:grid; place-items:center; box-sizing:border-box;
 width:30px; min-width:30px; height:30px; margin:0; padding:0;
 border:1px solid var(--ck-language-border,#dce3eb); border-radius:7px;
 background:var(--ck-language-background,#fff); cursor:pointer;
}
.ck-language-switcher .ck-language-control:hover { border-color:#8eb6b3; }
.ck-language-switcher .ck-language-control:focus-within { outline:2px solid #087e78; outline-offset:2px; }
.ck-language-flag { display:block; width:20px; height:14px; overflow:hidden; border-radius:2px; box-shadow:0 0 0 1px #00000012; pointer-events:none; }
.ck-language-flag svg { display:block; width:20px; height:14px; }
/* A native select covers the flag: keyboard, touch and the platform's language
   menu stay available, while only the flag occupies toolbar space. */
.ck-language-switcher .ck-language-control select {
 position:absolute; inset:0; box-sizing:border-box; width:100%; min-width:0;
 height:100%; min-height:0; margin:0; padding:0; opacity:0; cursor:pointer;
}
.ck-language-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.ck-auth-language { position:absolute; top:16px; right:16px; z-index:20; color:#fff; --ck-language-background:#ffffff0d; --ck-language-border:#ffffff33; }
@media(max-width:640px) { .ck-topbar { flex-wrap:wrap; } .ck-auth-language { top:8px; right:8px; } }
