/* The language control is shared by otherwise independent pages. */
.vh-language-switch { display: inline-flex; flex-shrink: 0; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line, #ded9e5); border-radius: 999px; background: var(--paper, #fff); color: var(--ink, #241c30); font-family: 'Manrope', system-ui, sans-serif; line-height: 1; box-sizing: border-box; }
.vh-language-switch button { display: inline-flex; align-items: center; justify-content: center; min-width: 29px; min-height: 36px; margin: 0; padding: 0 6px; border: 0; border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: 10px; font-weight: 700; letter-spacing: .03em; cursor: pointer; box-shadow: none; text-transform: none; }
.vh-language-switch button[aria-pressed="true"] { background: var(--purple, #6845ad); color: #fff; }
.vh-language-switch button:hover { background: var(--lilac, #eee6f7); color: var(--purple-dark, #55348f); }
.vh-language-switch button:focus-visible { outline: 3px solid var(--purple, #6845ad); outline-offset: 3px; }
.vh-language-floating { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 2147483000; border-color: #ded9e5; background: #fff; color: #241c30; box-shadow: 0 3px 16px #18151d26; }
.vh-language-floating button { min-height: 38px; min-width: 34px; }
.vh-language-dialog { display: flex; width: fit-content; margin: 12px 16px 0 auto; position: relative; z-index: 1; }
@media (max-width: 399px) { .site-header .brand-name { display: none; } .site-header .brand-logo { width: 52px; height: 52px; } .site-header .nav-controls { gap: 6px; } }
@media print { .vh-language-switch { display: none !important; } }
