/* EN / DE language switch in the header (German version, 22.10.2026) */
.langsw { display: inline-flex; align-items: center; gap: 2px; height: 38px; padding: 3px; flex-shrink: 0;
  border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: color-mix(in srgb, var(--surface) 70%, transparent); }
.langsw__opt { display: inline-grid; place-items: center; min-width: 34px; height: 100%; padding: 0 9px; border-radius: var(--r-pill);
  font: 600 12px/1 var(--f-mono); letter-spacing: .08em; color: var(--muted); text-decoration: none;
  transition: color .2s var(--ease), background-color .2s var(--ease), box-shadow .2s var(--ease); }
.langsw__opt:hover { color: var(--ink); }
.langsw__opt[aria-current="true"] { background: var(--tint); color: var(--ember-hi); box-shadow: inset 0 0 0 1px var(--tint-line); }
.langsw__opt:focus-visible { outline: 2px solid var(--ember); outline-offset: 2px; }
@media (max-width: 760px) {
  .langsw { height: 34px; padding: 2px; }
  .langsw__opt { min-width: 30px; padding: 0 7px; font-size: 11.5px; }
}
/* small phones: only the other language, as one pill, so brand + switch + CTA + menu fit in one row */
@media (max-width: 400px) {
  .langsw__opt[aria-current="true"] { display: none; }
}
@media (max-width: 340px) {
  .header .brand__name { display: none; }
}
/* German labels run longer: on small phones let sheet headers wrap and long tags break instead of overflowing */
@media (max-width: 400px) {
  html[lang="de"] .sheet__top { flex-wrap: wrap; row-gap: 8px; }
  html[lang="de"] .n2be__tag { white-space: normal; max-width: 100%; }
}
/* German sticky CTA: the short label on small phones so the button stays on one line */
.stickybar .sb-short { display: none; }
@media (max-width: 380px) {
  .stickybar .sb-long { display: none; }
  .stickybar .sb-short { display: inline; }
}
