.language-switcher { position: relative; flex: 0 0 auto; font-size: .875rem; z-index: 35; }
.language-switcher summary { display: flex; align-items: center; gap: .5rem; min-height: 44px; box-sizing: border-box; padding: .45rem .65rem; cursor: pointer; border: 1px solid #bbb; border-radius: 6px; list-style: none; background: #fffdf9; color: #252b27; white-space: nowrap; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher nav { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); box-sizing: border-box; width: min(260px, calc(100vw - 32px)); max-height: min(440px, 70dvh); overflow-y: auto; overscroll-behavior: contain; padding: .4rem; background: #fffdf9; border: 1px solid #bbb; border-radius: 6px; box-shadow: 0 5px 14px #0001; }
.language-switcher nav a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: .5rem .75rem; color: #252b27; text-decoration: none; border-radius: 4px; }
.language-switcher nav a:hover, .language-switcher nav a[aria-current] { background: #edf0e8; }
.language-switcher nav a[aria-current] { font-weight: 700; }
.language-switcher nav a[aria-current]::after { content: '✓'; margin-inline-start: auto; }
.language-switcher :focus-visible { outline: 2px solid #32634c; outline-offset: 3px; }
.language-switcher .language-switcher-note { margin: .4rem .75rem .6rem; color: #515b52; font-size: .8rem; line-height: 1.6; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 980px) {
    .site-header .header-actions { position: relative; z-index: 35; }
    .site-header .language-switcher { position: static; }
}
