// ──────────────────────────────────────────────────────────────── // Komponente · Sprachumschalter // // Getrennte URLs je Sprache (gut für Suchmaschinen und LLMs, mit // hreflang); dies ist nur die sichtbare Wahl. Segmentierter Pill-Knopf: // monospace, Versalien, eine gefüllte Marke für die aktive Sprache. // ──────────────────────────────────────────────────────────────── .langswitch { display: inline-flex; align-items: center; gap: 2px; padding: 2px; background: color-mix(in srgb, var(--fg) 4%, transparent); border: 1px solid var(--line); border-radius: var(--r-pill); } .langswitch__item { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 24px; padding: 0 var(--sp-2); font-family: var(--font-mono); font-size: var(--fs-xs); font-weight: var(--fw-medium); letter-spacing: var(--tracking-wide); text-indent: var(--tracking-wide); text-transform: uppercase; color: var(--muted); text-decoration: none; border-radius: var(--r-pill); transition: color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); &:hover, &:focus-visible { outline: none; color: var(--fg); background: color-mix(in srgb, var(--accent) 12%, transparent); } &[aria-current="page"] { color: var(--on-accent); background: var(--accent); } } // Ruhige Variante mit Beschriftung davor, z. B. data-label="Sprache". .langswitch--labeled::before { content: attr(data-label); padding: 0 var(--sp-2); font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--faint); } // Zentrierter Block (z. B. unter einer Marke), mit Abstand nach oben. .langswitch--block { align-self: center; margin-top: var(--sp-4); }