/* Language switcher dropdown (details/summary). Generic: no site-specific values. */
.i18n-switcher { position: relative; display: inline-block; font-size: .875rem; line-height: 1.2; }
.i18n-switcher > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 6px; cursor: pointer; list-style: none; color: inherit; white-space: nowrap; user-select: none; }
.i18n-switcher > summary::-webkit-details-marker { display: none; }
.i18n-switcher > summary::marker { content: ''; }
.i18n-switcher > summary:focus-visible, .i18n-switcher a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.i18n-flag { flex: none; display: block; border-radius: 2px; overflow: hidden; }
.i18n-chevron { flex: none; transition: transform .15s; }
.i18n-switcher[open] .i18n-chevron { transform: rotate(180deg); }
.i18n-switcher-menu { position: absolute; top: 100%; right: 0; z-index: 2000; min-width: 140px; margin: 4px 0 0; padding: 4px 0; list-style: none; background: #fff; border: 1px solid rgba(0, 0, 0, .12); border-radius: 8px; box-shadow: 0 6px 20px rgba(0, 0, 0, .15); }
.i18n-switcher-menu li { margin: 0; padding: 0; list-style: none; }
.i18n-switcher-menu a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 12px; color: #222; text-decoration: none; white-space: nowrap; }
.i18n-switcher-menu a:hover { background: rgba(0, 0, 0, .05); }
.i18n-switcher-menu a.active { font-weight: 700; background: rgba(0, 0, 0, .04); }
.i18n-switcher-menu .i18n-check { margin-left: auto; flex: none; }
