/* Language choice shares the spare space to the right of the page controls. */
.language-switch{position:absolute;top:calc(104px + env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:2147482998;display:flex;gap:4px;padding:3px;border:1px solid #dc83bc80;border-radius:15px;background:linear-gradient(145deg,#352039,#140c1d);box-shadow:inset 0 1px 1px #fff4,0 5px 20px #0007}
.language-switch a{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:38px;border-radius:10px;padding:4px;color:#d7c8d9;text-decoration:none;font:600 12px/1.2 system-ui,sans-serif;letter-spacing:.04em}
.language-switch a[aria-current]{background:#f6007538;color:#fff;box-shadow:inset 0 0 0 1px #f89dc880}
.language-switch a:hover{color:#fff;background:#ffffff14}.language-switch a:focus-visible{outline:2px solid #ff79cd;outline-offset:3px}
@media(max-width:600px){.language-switch{top:calc(84px + env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));gap:2px;padding:2px}.language-switch a{font-size:11px;min-width:30px;min-height:40px;padding:3px}}
/* Headings wrap at words, never at arbitrary single characters. */
html[lang="de-CH"] .display{overflow-wrap:normal;word-break:normal;hyphens:manual}
@media(max-width:700px){html[lang="de-CH"] .hero h1{font-size:clamp(2rem,8vw,3.8rem);overflow-wrap:normal;word-break:normal}html[lang="de-CH"] .header-link{font-size:8px;letter-spacing:.08em;padding:11px 12px}}
html[lang="de-CH"] .legal-content{overflow-wrap:anywhere}
/* Keep the German word CHARAKTER together in both display headings. */
html[lang="de-CH"] :is(#produktion-title,#charakter-title) em{white-space:nowrap;overflow-wrap:normal;font-size:.82em}
@media(max-width:700px){html[lang="de-CH"] :is(#produktion-title,#charakter-title) em{font-size:min(.82em,9vw)}}

/* Fit the complete German premiere word without splitting its final letter. */
html[lang="de-CH"] .teaser-premiere .display{font-size:clamp(2rem,10vw,8rem)}

/* QM 2026-10-20: keep mobile navigation below the language selector. */
@media(max-width:600px){.navigation{top:calc(144px + env(safe-area-inset-top));max-height:calc(100svh - 160px - env(safe-area-inset-top));overflow-y:auto}}
