/* Native disclosure keeps language navigation usable without JavaScript. */
body .site-shell:has(.language-switch[open]) { z-index: 100; }
body .site-shell .language-switch {
  position: relative; grid-column: 3; grid-row: 1; justify-self: end;
  margin-right: 64px; color: #fffefa; font: 600 13px/1.2 var(--font-ui, sans-serif);
  letter-spacing: .02em;
}
body .site-shell .language-switch summary {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-width: 62px; min-height: 44px; padding: 0 8px; list-style: none;
  cursor: pointer; user-select: none;
}
body .site-shell .language-switch summary::-webkit-details-marker { display: none; }
.language-chevron { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.language-switch[open] .language-chevron { transform: translateY(2px) rotate(225deg); }
body .site-shell .language-switch:not([open]) .language-options { display: none; }
body .site-shell .language-options {
  position: absolute; z-index: 5; top: calc(100% + 7px); right: 0;
  width: 200px; max-height: calc(100dvh - var(--header) - 16px); overflow-y: auto;
  padding: 6px; background: #080807; border: 1px solid #fffefa40;
  box-shadow: 0 14px 32px #0003;
}
body .site-shell .language-options a {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  min-height: 44px; padding: 10px 12px; color: inherit; text-decoration: none;
  font: inherit; letter-spacing: normal;
}
body .site-shell .language-options a span:last-child { color: #fffefa99; font-size: 11px; }
body .site-shell .language-options a[aria-current] { background: #fffefa16; }
body .site-shell .language-options a:hover { background: #fffefa26; }
body .site-shell .language-switch :is(a,summary):focus-visible { outline: 2px solid #ff791b; outline-offset: -2px; }
@media (max-width: 680px) {
  body .site-shell { grid-template-columns: minmax(0,1fr) 40px auto 48px; }
  body .site-shell .language-switch { grid-column: 3; margin-right: 0; }
  body .site-shell .language-switch summary { min-width: 56px; }
  body .site-shell .menu-toggle { grid-column: 4; }
  body .site-shell .brand-link { font-size: 16px; gap: 5px; }
  body .site-shell .studio-label { display: none; }
}
@media (max-width: 370px) {
  body .site-shell { padding-inline: 14px; gap: 4px; }
  body .site-shell .brand-link { font-size: 14px; }
}
/* German compounds can break naturally within the existing editorial layouts. */
html[lang="de"] main :is(h1,h2,h3,p,li), html[lang="de"] .shared-site-ending :is(h2,p,label,legend) { hyphens: auto; overflow-wrap: anywhere; }
