/* Language controls share the shell; scene geometry and transform ownership are unchanged. */
.jv-language-switcher{display:flex;gap:2px;align-items:center;flex:none;font:500 11px/1.2 'Courier New',monospace;letter-spacing:.02em;padding:2px;background:var(--page-bg,#fff);color:var(--page-fg,#151515);border:1px solid currentColor;border-radius:2px}
.jv-language-switcher a{display:flex;align-items:center;justify-content:center;min-width:28px;min-height:36px;text-decoration:none}
.jv-language-switcher a[aria-current]{text-decoration:underline;text-underline-offset:5px;font-weight:700}
.jv-language-switcher a:focus-visible{outline-offset:-3px}
.jv-nav-panel .jv-language-switcher{display:inline-flex;align-self:start;margin:0;background:transparent;color:inherit}
.jv-nav-panel .jv-language-switcher a{font:500 13px/1 'Courier New',monospace;letter-spacing:0;border:0;padding:6px;min-width:36px;min-height:40px}
@media(max-width:767px){.jv-utility-controls>.jv-language-switcher{position:absolute;left:20px;top:70px}.jv-header-compact .jv-utility-controls>.jv-language-switcher{position:fixed;left:20px;top:72px;right:auto}.jv-language-switcher a{min-height:30px;min-width:26px}.jv-header{gap:10px}}
html:not([lang=de-CH]) .jv-service-title{overflow-wrap:break-word}
html:not([lang=de-CH]) .jv-footer-base nav{flex-wrap:wrap}
/* The French equivalent has ten letters; preserve the moving line without cropping it. */
html[lang=fr-CH] .jv-frequency-type>span:last-child{font-size:.62em}
@media(max-width:767px){html[lang=fr-CH] .jv-frequency-type>span:last-child{font-size:.60em}}
@media(forced-colors:active){.jv-language-switcher{background:Canvas;color:CanvasText}}
