.language-switcher { position: relative; color: inherit; }
.language-switcher summary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 82px; min-height: 42px; padding: 0 11px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: transparent; box-shadow: none; cursor: pointer; list-style: none; font-size: .73rem; font-weight: 800; letter-spacing: .055em; transition: color .2s, background .2s, border-color .2s, box-shadow .2s, transform .2s; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary:hover, .language-switcher[open] summary { border-color: var(--white); background: var(--white); color: var(--blue-800); box-shadow: 0 10px 30px rgba(5,29,58,.16); transform: translateY(-2px); }
.site-header.is-scrolled .language-switcher summary { border-color: var(--line); background: transparent; }
.site-header.is-scrolled .language-switcher summary:hover, .site-header.is-scrolled .language-switcher[open] summary { border-color: var(--blue-800); background: var(--blue-800); color: var(--white); }
.language-switcher summary:focus-visible { outline: 2px solid var(--blue-300); outline-offset: 2px; }
.language-switcher summary > i { display: none; }
.language-switcher summary::after { content: ""; width: 6px; height: 6px; margin: -3px 0 0 1px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; opacity: .82; transform: rotate(45deg); transition: transform .2s, margin .2s; }
.language-switcher[open] summary::after { margin-top: 3px; transform: rotate(225deg); }
.language-flag { display: inline-flex; flex: 0 0 auto; width: 22px; height: 15px; overflow: hidden; border-radius: 3px; box-shadow: 0 0 0 1px rgba(8,30,59,.15); }
.language-flag svg { display: block; width: 100%; height: 100%; }
.language-menu { position: absolute; z-index: 30; top: calc(100% + 9px); right: -7px; width: 224px; padding: 8px; border: 1px solid rgba(21,65,128,.12); border-radius: 13px; background: #fff; color: var(--ink); box-shadow: 0 18px 48px rgba(8,30,59,.18); }
.language-menu::before { content: ""; position: absolute; top: -5px; right: 22px; width: 9px; height: 9px; border: solid rgba(21,65,128,.12); border-width: 1px 0 0 1px; background: #fff; transform: rotate(45deg); }
.language-menu-title { display: block; padding: 7px 10px 8px; color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.language-option { display: grid; grid-template-columns: 24px 1fr 18px; align-items: center; gap: 10px; min-height: 42px; padding: 6px 10px; border-radius: 8px; color: var(--ink); font-size: .8rem; font-weight: 700; transition: color .18s, background .18s; }
.language-option:hover { background: var(--blue-100); color: var(--blue-900); }
.language-option:focus-visible { outline: 2px solid var(--blue-400); outline-offset: -2px; }
.language-option[aria-current="true"] { color: var(--blue-800); background: rgba(222,238,249,.62); }
.language-option i { justify-self: end; color: var(--blue-700); font-size: 1rem; }
.language-switcher-mobile { display: grid; gap: 7px; margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.language-switcher-mobile .language-menu-title { padding: 0 4px 3px; }
.language-mobile-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.language-mobile-options .language-option { display: flex; flex-direction: column; justify-content: center; gap: 6px; min-height: 64px; padding: 8px 4px; border: 1px solid var(--line); text-align: center; font-size: .7rem; }
.language-mobile-options .language-option[aria-current="true"] { border-color: var(--blue-400); }
.language-mobile-options .language-option-label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width:1180px) and (min-width:861px) { .desktop-nav { gap: 13px; } .header-actions { gap: 8px; } }
