.language-switcher{z-index:1000;width:180px;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:relative}.selector{background:var(--background);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .3s;display:flex;box-shadow:0 4px 6px rgba(0,0,0,.05)}.selector:hover{background:var(--background);transform:translateY(-1px);box-shadow:0 6px 12px rgba(0,0,0,.08)}.selector.open{border-bottom:1px solid var(--border);box-shadow:none;color:var(--text);border-radius:12px 12px 0 0}.current-locale{color:var(--text);align-items:center;gap:12px;font-weight:500;display:flex}.flag{font-size:1.2em}.chevron{fill:var(--text);transition:transform .3s}.chevron.open{transform:rotate(180deg)}.dropdown{background:var(---background);opacity:0;z-index:100;border-radius:0 0 12px 12px;width:100%;max-height:0;transition:all .3s;position:absolute;top:100%;left:0;overflow:hidden;transform:translateY(-10px);box-shadow:0 6px 12px rgba(0,0,0,.1)}.dropdown.open{opacity:1;border:1px solid var(--border);border-top:none;max-height:300px;transform:translateY(0)}.option{cursor:pointer;background:var(--background);color:var(--text);align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.option:hover{background:var(--surface)}.option.active{background:var(--primary);color:var(--primary-hover);font-weight:500}.option.active .label{color:var(--text)}.label{color:var(--text);transition:color .2s}.option:hover .label{color:var(--text)}.option{opacity:0;animation:.3s forwards fadeIn;transform:translateY(-5px)}.dropdown.open .option{animation:.3s forwards fadeInSlide}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.language-switcher{width:160px}.selector,.option{padding:10px 14px}}@media (max-width:480px){.language-switcher{width:140px}.current-locale .label,.option .label{font-size:.9em}.flag{font-size:1.1em}}
