.language-trigger { display: inline-flex; align-items: center; gap: 5px; min-width: 40px; min-height: 44px; padding: 0 4px; font: inherit; font-size: 12px; color: inherit; background: transparent; border: 0; cursor: pointer; white-space: nowrap; }
.language-trigger svg { width: 10px; height: 10px; }
.language-trigger:focus-visible, .language-panel a:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
.language-footer { margin-top: 20px; }
.language-panel[hidden] { display: none; }
.language-panel { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; background: var(--overlay-language); }
.language-panel__inner { width: min(440px, 100%); max-height: calc(100dvh - 40px); overflow-y: auto; background: var(--bg-card); color: var(--ink-heading); border: 1px solid var(--bg-stone); border-radius: 4px; padding: 24px; }
.language-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.language-panel__head h2 { font-family: var(--font-didot); font-size: 28px; font-weight: 400; }
.language-panel__head button { display: grid; place-items: center; width: 44px; height: 44px; background: transparent; color: inherit; }
.language-panel__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.language-panel a { padding: 12px 0; display: block; text-decoration: none; font-size: 14px; overflow-wrap: anywhere; }
.language-panel a[aria-current="true"] { text-decoration: underline; text-underline-offset: 5px; }
.language-panel__currencies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--bg-stone); }
.language-panel__section-title { grid-column: 1 / -1; margin: 0 0 6px; font-size: 11px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-muted); }
.language-panel__currencies a { display: flex; flex-direction: column; gap: 2px; min-height: 44px; }
.language-panel__currency-name { font-size: 12px; color: var(--ink-muted); }
:root { --overlay-language: rgba(18, 40, 76, .28); }
@media (max-width: 480px) { .language-panel__inner { padding: 20px; } .language-trigger { font-size: 11px; min-width: 34px; } }
@media (prefers-reduced-motion: no-preference) { .language-panel__inner { animation: language-enter .18s ease-out; } @keyframes language-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } } }