/* Premium language control: crisp official flags, calm glass surface, tactile motion. */
.language-switcher{z-index:70}
.language-current{position:relative;min-width:156px;height:48px;padding:0 13px 0 10px;gap:11px;border:1px solid #cbdde5;border-radius:15px;background:linear-gradient(145deg,#fff,#f5fafc);box-shadow:0 6px 18px #0b345412,inset 0 1px #fff;transition:transform .3s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .3s}
.language-current::before{content:"";position:absolute;inset:4px;border:1px solid #147f891c;border-radius:11px;pointer-events:none;opacity:0;transform:scale(.94);transition:opacity .3s,transform .3s}
.language-current:hover,.language-switcher.open .language-current{transform:translateY(-2px);border-color:#70b9c1;box-shadow:0 12px 28px #0b345420,0 0 0 4px #147f8912}
.language-switcher.open .language-current::before{opacity:1;transform:scale(1)}
.language-flag{display:block!important;flex:0 0 auto;width:30px!important;height:20px!important;aspect-ratio:3/2;font-size:0!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;border-radius:3px;box-shadow:0 2px 6px #0b263a2b,0 0 0 1px #0b263a20;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.language-current .language-flag{width:32px!important;height:21px!important}
.language-switcher.open .language-current .language-flag{transform:rotate(-3deg) scale(1.04);box-shadow:0 4px 10px #0b263a35,0 0 0 1px #147f8960}
.language-label{font-size:14px!important;font-weight:750;letter-spacing:-.01em}
.language-chevron{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e9f4f6;color:#147f89;font-size:14px;line-height:1;transition:transform .35s,background .3s}
.language-switcher.open .language-chevron{background:#d9eff0}
.language-menu{top:calc(100% + 12px);width:256px;padding:9px;border:1px solid #cbdde5;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 22px 50px #0b345426,0 4px 12px #0b34540c;transform:translateY(-10px) scale(.97);transform-origin:top right;transition:opacity .3s ease,visibility .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.language-switcher.open .language-menu{transform:translateY(0) scale(1)}
.language-switcher.open .language-option{animation:languageOptionIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--language-delay,0ms)}
.language-menu::before{content:"";position:absolute;right:22px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid #cbdde5;border-top:1px solid #cbdde5;transform:rotate(45deg)}
.language-option{position:relative;min-height:57px;padding:10px 12px;gap:12px;border-radius:14px;transition:background .25s,transform .25s,box-shadow .25s}
.language-option::after{content:"";position:absolute;left:58px;right:12px;bottom:0;height:1px;background:#dce9ed;opacity:.55}
.language-option:last-child::after{display:none}
.language-option:hover{background:linear-gradient(100deg,#edf8f9,#f8fbfc);transform:translateX(3px);box-shadow:0 5px 14px #0b34540c}
.language-option.active{background:linear-gradient(100deg,#e8f5f8,#f6fbfc);box-shadow:inset 3px 0 #147f89}
.language-option .language-flag{width:31px!important;height:20px!important}
.language-option strong{font-size:14px!important;font-weight:750;line-height:1.25}
.language-option small{font-size:12px!important;line-height:1.25;color:#7b929d}
.language-option i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#149978;font-size:16px;transition:transform .3s,background .3s}
.language-option.active i{background:#d9f3e9;transform:scale(1.05)}
@media(max-width:700px){.language-current{min-width:140px;height:44px}.language-label{font-size:13px!important}.language-menu{width:240px}.language-option{min-height:55px}}
@media(prefers-reduced-motion:reduce){.language-current,.language-current::before,.language-flag,.language-menu,.language-option,.language-option i{transition:none}.language-current:hover,.language-switcher.open .language-current,.language-option:hover{transform:none}}
@keyframes languageOptionIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
