/* DeinArzt.digital — site.css
   Folgt dem Designsystem der aLIVE-Gruppe (alive-service.de): Tokens auf :root, heller und dunkler
   Modus über [data-theme] am <html>, keine Rahmen an Karten/Buttons/Eingabefeldern (Schatten
   --sh1/2/3), keine CSS-Verläufe (blaue Flächen nutzen /assets/img/ci-gradient-card.webp).
   Teil 1: Website für Krankenkassen · Teil 2: Formulare · Teil 3: Versicherten-Seiten im
   Erscheinungsbild einer Krankenkasse (.kp…, immer hell; Farben --k-… aus /assets/kassen/<slug>.css).
   Regel: keine Inline-Styles im HTML (Content-Security-Policy). */

@font-face { font-family: "Inter"; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-var.woff2) format("woff2"); }
@font-face { font-family: "Inter Tight"; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-tight-var.woff2) format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-display: swap; src: url(../fonts/plex-mono-500.woff2) format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 600; font-display: swap; src: url(../fonts/plex-mono-600.woff2) format("woff2"); }

:root, .kp {
  --bg: #f8fafb; --bg2: #eef2f6; --surf: #ffffff; --surf2: #eef0f2; --surf3: #e4e8ec;
  --text: #232323; --text2: #5c5f62; --text3: #787b7e;
  --acc: #0061d8; --acc-h: #0049c6; --acc-t: #ffffff; --wash: #edf4fe; --wash-t: #00255d;
  --sh1: 0 1px 2px rgba(9,11,14,.05), 0 8px 24px -10px rgba(9,11,14,.12);
  --sh2: 0 2px 4px rgba(9,11,14,.04), 0 24px 48px -16px rgba(9,11,14,.20);
  --sh3: 0 4px 8px rgba(9,11,14,.05), 0 36px 72px -20px rgba(18,48,95,.30);
  --shacc: 0 10px 24px -8px rgba(0,97,216,.55);
  --ink: #090b0e; --ink2: #131a22; --ink3: #1b2430;
  --net: #12305f; --on-grad: #dbe6f7; --on-grad-lbl: #8fc0ff;
  --ok: #2e9b6a; --ok-bg: #e3f5ec; --ok-t: #14613f; --warn: #cf9a2a; --warn-bg: #fff6dc; --err: #d4442f; --err-bg: #fbe4df;
  --ease: cubic-bezier(.2,.7,.2,1);
  --f-display: "Inter Tight", Inter, "Segoe UI", Arial, sans-serif;
  --f-body: Inter, "Segoe UI", Arial, sans-serif;
  --f-mono: "IBM Plex Mono", Consolas, "Courier New", monospace;
  --maxw: 1680px; --pad: 32px;
  /* Rundung, mit der sich jeder Abschnitt über den vorherigen schiebt, und fließende Abstände */
  --bogen: clamp(28px, 4vw, 72px); --sec: clamp(72px, 7.5vw, 152px); --karte: clamp(24px, 2.1vw, 40px); --luecke: clamp(14px, 1.3vw, 24px);
  --logo-light: block; --logo-dark: none;
  color-scheme: light;
}
[data-theme="dark"] {
  --bg: #090b0e; --bg2: #0d1218; --surf: #131a22; --surf2: #1b2430; --surf3: #243040;
  --text: #e8eef8; --text2: #acb8cb; --text3: #858d99;
  --acc: #1f8cfb; --acc-h: #69aeff; --acc-t: #05101f; --wash: #123563; --wash-t: #dbe6f7;
  --sh1: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 28px -10px rgba(0,0,0,.7);
  --sh2: inset 0 1px 0 rgba(255,255,255,.05), 0 24px 48px -16px rgba(0,0,0,.8);
  --sh3: inset 0 1px 0 rgba(255,255,255,.06), 0 36px 80px -20px rgba(31,140,251,.28);
  --shacc: 0 10px 28px -8px rgba(31,140,251,.6);
  --ok-bg: #12382a; --ok-t: #7fd9ad; --warn-bg: #3a2f12; --err-bg: #43201a;
  --logo-light: none; --logo-dark: block;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 120px; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 clamp(16px, .3vw + 12.6px, 19px)/1.6 var(--f-body); -webkit-font-smoothing: antialiased; transition: background-color .3s ease-out, color .3s ease-out; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--acc); text-underline-offset: 3px; }
a:hover { color: var(--acc-h); }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
h1, h2, h3 { font-family: var(--f-display); text-wrap: balance; }
h1 { font-size: clamp(40px, 5.2vw, 96px); font-weight: 800; line-height: 1; letter-spacing: -.045em; }
h2 { font-size: clamp(32px, 3.6vw, 66px); font-weight: 800; line-height: 1.04; letter-spacing: -.04em; }
h3 { font-size: clamp(21px, 1.5vw, 28px); font-weight: 700; line-height: 1.2; letter-spacing: -.015em; }
button, input, textarea, select { font: inherit; color: inherit; }
::selection { background: #1f8cfb; color: #fff; }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; border-radius: 6px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 20px; top: -80px; z-index: 100; padding: 12px 18px; border-radius: 100px; background: var(--acc); color: var(--acc-t); font-weight: 600; text-decoration: none; }
.skip:focus { top: 16px; color: var(--acc-t); }
.nobr { white-space: nowrap; }
.i { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.logo-light { display: var(--logo-light); }
.logo-dark { display: var(--logo-dark); }

.wrap { max-width: calc(var(--maxw) + 2 * var(--pad)); margin: 0 auto; padding: 0 var(--pad); }
/* Inhalt: auf Laptops rund 10 % Rand je Seite, große Bildschirme begrenzt --maxw (wie alive-service.de).
   Kopf und Fuß behalten die volle Breite. */
@media (min-width: 1101px) { main .wrap { max-width: min(calc(var(--maxw) + 2 * var(--pad)), 80vw + 2 * var(--pad)); } }
/* Lesespalte: gleiche linke Kante wie alle anderen Abschnitte, aber begrenzte Zeilenlänge */
.wrap--schmal > * { max-width: clamp(640px, 52vw, 980px); }
.wrap--schmal > .karten { max-width: none; }

/* Abschnitte schieben sich mit runden Ecken übereinander statt hart aneinanderzustoßen */
.sec, .hero, .belege, .artikel { position: relative; background: var(--bg); transition: background-color .3s ease-out; }
.sec, .artikel { padding: var(--sec) 0 calc(var(--sec) + var(--bogen)); margin-top: calc(-1 * var(--bogen)); border-radius: var(--bogen) var(--bogen) 0 0; box-shadow: 0 -30px 60px -44px rgba(9,11,14,.22); }
main > :first-child { margin-top: 0; border-radius: 0; box-shadow: none; }
.sec--alt { background: var(--bg2); }
.sec--ink { background: var(--ink); color: var(--on-grad); box-shadow: none; }
.sec--ink h2, .sec--ink h3 { color: #fff; }
.sec--ink p { color: #acb8cb; }
.sec > .wrap > * + *, .hero--seite .wrap > * + * { margin-top: 22px; }
.sec > .wrap:is(.zweispalt, .faqs, .vorschau) > * + * { margin-top: 0; }
.sec > .wrap > h2 + * { margin-top: 28px; }
.kicker { display: flex; align-items: center; gap: 10px; font: 600 13px/1 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--text2); }
.kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--acc); flex: none; }
.sec--ink .kicker { color: #acb8cb; }
.sec--ink .kicker::before { background: #1f8cfb; }
.kicker + h1, .kicker + h2 { margin-top: 18px !important; }
.lead { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.55; color: var(--text2); text-wrap: pretty; }
.lead--schmal { max-width: 720px; }
.klein { font-size: 14px; color: var(--text3); }
.mlabel { font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text3); }
@media (max-width: 760px) { :root { --pad: 20px; } }

.btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 26px; border: 0; border-radius: 100px; background: var(--acc); color: var(--acc-t); box-shadow: var(--shacc); font: 600 15px/1 var(--f-body); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .2s ease-out, transform .2s ease-out, box-shadow .2s ease-out, color .2s ease-out; }
.btn:hover { background: var(--acc-h); color: var(--acc-t); transform: translateY(-2px); }
.btn--hell { background: var(--surf); color: var(--text); box-shadow: var(--sh1); }
.btn--hell:hover { background: var(--surf); color: var(--text); box-shadow: var(--sh2); }
.sec--ink .btn--hell { background: var(--ink3); color: #fff; box-shadow: none; }
.btn--weiss { background: #fff; color: var(--net); box-shadow: none; }
.btn--weiss:hover { background: #edf4fe; color: var(--net); }
.btn--klein { min-height: 46px; padding: 0 22px; }
.btn[disabled] { opacity: .6; cursor: progress; transform: none; }
.aktionen { display: flex; flex-wrap: wrap; gap: 12px; }
.pille { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px 10px 12px; border-radius: 100px; background: var(--surf); box-shadow: var(--sh1); font: 600 13px/1.3 var(--f-body); color: var(--text2); }
.punkt { width: 9px; height: 9px; border-radius: 50%; background: var(--ok); flex: none; animation: puls 2s ease-out infinite; }
@keyframes puls { 0% { box-shadow: 0 0 0 0 rgba(46,155,106,.5); } 70% { box-shadow: 0 0 0 10px rgba(46,155,106,0); } 100% { box-shadow: 0 0 0 0 rgba(46,155,106,0); } }

/* blaue Verlaufsflächen */
.akzent { position: relative; isolation: isolate; overflow: hidden; background: var(--net); color: var(--on-grad); box-shadow: var(--sh3); }
.akzent > .akzent__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; z-index: -1; }
.akzent h2, .akzent h3 { color: #fff; }
.akzent p { color: var(--on-grad); }
.akzent .kicker, .akzent .mlabel { color: var(--on-grad-lbl); }
.akzent .kicker::before { background: var(--on-grad-lbl); }
.akzent a:not(.btn) { color: #fff; }

/* Einblenden beim Scrollen (nur mit JavaScript, siehe site.js) */
.js [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js [data-reveal].ist-da { opacity: 1; transform: none; }

/* ------------------------------------------------------------------ Kopf */
.topbar { position: sticky; top: 0; z-index: 50; padding: 16px 20px 0; }
.nav { position: relative; max-width: var(--maxw); margin: 0 auto; display: flex; align-items: center; gap: 14px; height: 76px; padding: 0 12px 0 28px; background: var(--surf); border-radius: 100px; box-shadow: var(--sh1); transition: background-color .3s ease-out, box-shadow .3s ease-out; }
.nav.ist-gescrollt { box-shadow: var(--sh2); }
.marke { display: flex; align-items: center; flex: none; }
.marke img { height: 40px; width: auto; }
.navlinks { flex: 1 1 auto; display: flex; justify-content: center; gap: 2px; }
.navlinks a { height: 44px; display: flex; align-items: center; padding: 0 16px; border-radius: 100px; color: var(--text2); font: 600 17px/1 var(--f-display); letter-spacing: -.02em; text-decoration: none; white-space: nowrap; transition: color .2s ease-out, background-color .2s ease-out; }
.navlinks a:hover { color: var(--text); background: var(--surf2); }
.navlinks a[aria-current] { color: var(--wash-t); background: var(--wash); }
.thema { flex: none; position: relative; width: 76px; height: 40px; border: 0; border-radius: 100px; background: var(--surf2); cursor: pointer; padding: 0; transition: background-color .3s ease-out; }
.thema__knopf { position: absolute; top: 4px; left: 4px; width: 32px; height: 32px; border-radius: 50%; background: var(--surf); box-shadow: var(--sh1); transition: left .3s var(--ease); display: flex; align-items: center; justify-content: center; }
.thema__punkt { width: 12px; height: 12px; border-radius: 50%; background: var(--warn); box-shadow: 0 0 0 3px rgba(207,154,42,.25); transition: all .3s ease-out; }
[data-theme="dark"] .thema__knopf { left: 40px; }
[data-theme="dark"] .thema__punkt { background: transparent; box-shadow: inset -4px -2px 0 0 #8fc0ff; }
.menue { display: none; flex: none; height: 44px; align-items: center; gap: 10px; padding: 0 18px; border: 0; border-radius: 100px; background: var(--surf2); color: var(--text); font: 600 15px/1 var(--f-body); cursor: pointer; }
.fortschritt { position: absolute; left: 28px; right: 28px; bottom: 0; height: 3px; border-radius: 3px; overflow: hidden; pointer-events: none; }
.fortschritt span { display: block; height: 3px; width: 100%; background: var(--acc); border-radius: 3px; transform-origin: left; transform: scaleX(0); }
@media (max-width: 1080px) { .nav .btn { display: none; } }
@media (max-width: 900px) {
  .menue { display: flex; } .navlinks { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 10px); flex-direction: column; gap: 4px; padding: 14px; border-radius: 28px; background: var(--surf); box-shadow: var(--sh3); }
  .navlinks.ist-offen { display: flex; } .navlinks a { height: 52px; font-size: 19px; }
  .nav { justify-content: space-between; } .marke { margin-right: auto; }
}
@media (max-width: 560px) { .topbar { padding: 10px 10px 0; } .nav { height: 66px; padding: 0 8px 0 18px; gap: 8px; } .marke img { height: 34px; } .thema { width: 64px; } [data-theme="dark"] .thema__knopf { left: 28px; } .menue { padding: 0 14px; } }

/* ------------------------------------------------------------------ Hero */
.hero { padding: clamp(40px, 5vw, 104px) 0 calc(var(--sec) * .8 + var(--bogen)); }
.hero--seite { padding-bottom: calc(var(--sec) * .5 + var(--bogen)); background: var(--bg2); }
.hero--seite h1 { font-size: clamp(38px, 4.4vw, 84px); max-width: 18ch; }
.hero--seite .lead { max-width: clamp(520px, 46vw, 860px); }
.hero__in { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 5vw, 112px); align-items: center; }
.hero__text > * + * { margin-top: 26px; }
.hero__text .aktionen { margin-top: 36px; }
.hero__text .lead { max-width: clamp(520px, 38vw, 720px); }
.rot { display: inline-block; color: var(--acc); }
.rot.raus { opacity: 0; transform: translateY(-.25em); transition: opacity .25s ease-in, transform .25s ease-in; }
.rot.rein { animation: rotRein .55s var(--ease); }
@keyframes rotRein { from { opacity: 0; transform: translateY(.35em); } to { opacity: 1; transform: none; } }
@media (max-width: 1000px) { .hero__in { grid-template-columns: 1fr; gap: 48px; } }

/* Vorgangskarte im Hero */
.mock { position: relative; padding: var(--karte); border-radius: 28px; background: var(--surf); box-shadow: var(--sh3); transition: background-color .3s ease-out; }
.mock__kopf { display: flex; align-items: center; gap: 10px; }
.mock__kopf b { font: 700 17px/1.2 var(--f-display); }
.mock__status { margin-left: auto; padding: 7px 12px; border-radius: 100px; background: var(--wash); color: var(--wash-t); font: 600 12px/1 var(--f-body); transition: background-color .3s ease-out, color .3s ease-out; }
.mock[data-stufe="3"] .mock__status { background: var(--ok-bg); color: var(--ok-t); }
.mock__daten { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.mock__daten div { padding: 13px 15px; border-radius: 16px; background: var(--surf2); }
.mock__daten dt { font: 500 11px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text3); }
.mock__daten dd { margin-top: 7px; font-weight: 600; font-size: 15px; line-height: 1.3; }
.mock__balken { display: flex; gap: 6px; margin-top: 22px; }
.mock__balken i { flex: 1; height: 4px; border-radius: 4px; background: var(--surf2); transition: background-color .4s ease-out; }
.mock__verlauf { list-style: none; padding: 0; margin-top: 18px; display: grid; gap: 8px; }
.mock__verlauf li { display: flex; align-items: center; gap: 14px; padding: 13px 15px; border-radius: 16px; color: var(--text3); transition: background-color .35s ease-out, transform .35s var(--ease), box-shadow .35s ease-out, color .35s ease-out; }
.mock__verlauf li::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--surf3); transition: background-color .35s ease-out; }
.mock__verlauf span { display: block; font-weight: 600; font-size: 15px; line-height: 1.3; }
.mock__verlauf small { font-size: 13px; }
.mock__verlauf li.fertig { color: var(--text2); }
.mock__verlauf li.fertig::before { background: var(--acc); }
.mock__verlauf li.aktiv { background: var(--surf2); color: var(--text); transform: translateX(6px); }
.mock__verlauf li.aktiv::before { background: var(--ok); animation: puls 2s ease-out infinite; }
.mock[data-stufe="1"] .mock__balken i:nth-child(-n+1), .mock[data-stufe="2"] .mock__balken i:nth-child(-n+2), .mock[data-stufe="3"] .mock__balken i { background: var(--acc); }
.mock__hinweis { margin-top: 14px; text-align: center; font-size: 12px; color: var(--text3); }

/* ------------------------------------------------------------------ Karten, Kennzahlen, Schritte */
.zahlen { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--luecke); }
.zahlen li, .karte, .schritte li { padding: var(--karte); border-radius: 24px; background: var(--surf); box-shadow: var(--sh1); transition: transform .25s ease-out, box-shadow .25s ease-out, background-color .3s ease-out; }
.zahlen li:hover, a.karte:hover { transform: translateY(-4px); box-shadow: var(--sh2); }
.zahlen b { display: block; font: 800 clamp(48px, 4.2vw, 84px)/1 var(--f-display); letter-spacing: -.045em; font-variant-numeric: tabular-nums; color: var(--acc); }
.zahlen li > strong { display: block; margin-top: 14px; font: 600 16px/1.4 var(--f-body); }
.zahlen li > span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--text2); }
@media (max-width: 1000px) { .zahlen { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .zahlen { grid-template-columns: 1fr; } }

.zweispalt { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 5vw, 120px); align-items: start; }
@media (min-width: 901px) { .zweispalt > :first-child { position: sticky; top: 128px; } }
.zweispalt > div > * + * { margin-top: 22px; }
.zweispalt > *, .weg > *, .kontakt > *, .kp-spalten > *, .hero__in > *, .kanal > *, .vorschau > * { min-width: 0; }
@media (max-width: 900px) { .zweispalt { grid-template-columns: 1fr; gap: 32px; } }
.zweispalt > .haken, .zweispalt > .prosa { max-width: 900px; }

.prosa { overflow-wrap: anywhere; }
.prosa > * + * { margin-top: 16px; }
.prosa h2 { margin-top: 48px; font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.025em; line-height: 1.15; }
.prosa h3 { margin-top: 28px; font-size: 20px; }
.prosa ul, .prosa ol { padding-left: 22px; }
.prosa li + li { margin-top: 8px; }
.prosa table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; display: block; overflow-x: auto; border-radius: 20px; background: var(--surf); box-shadow: var(--sh1); }
.prosa th, .prosa td { padding: 14px 18px; text-align: left; vertical-align: top; min-width: 150px; }
.prosa tbody tr:nth-child(odd) > * { background: var(--surf2); }
.prosa thead th { font-family: var(--f-display); font-size: 16px; }
.prosa tbody th { font-weight: 600; min-width: 120px; }
.prosa--recht { margin-top: 32px; font-size: 16px; }
.prosa--recht h2 { font-size: 24px; }
.prosa--recht h3 { font-size: 18px; }
.prosa .stand { color: var(--text3); font-size: 14px; }

.karten { list-style: none; padding: 0; display: grid; gap: var(--luecke); margin-top: clamp(32px, 3.4vw, 64px) !important; }
.karten--3, .karten--ratgeber { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) { .karten--3, .karten--ratgeber { grid-template-columns: 1fr; } }
.karte { display: block; height: 100%; color: var(--text); text-decoration: none; }
.karte > * + * { margin-top: 12px; }
.karte p { color: var(--text2); font-size: 16px; }
.karte .kicker { font-size: 12px; margin-bottom: 20px; }
a.karte:hover { color: var(--text); }
p a .i, li a .i { display: inline; vertical-align: -3px; margin-left: 4px; }
.btn .i, .tel .i, .vorschau__link .i { display: block; margin-left: 0; vertical-align: 0; }
.mehr { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px !important; color: var(--acc); font: 600 15px/1 var(--f-body); }
.mehr .i { transition: transform .2s ease-out; }
a:hover .mehr .i { transform: translateX(4px); }

.schritte { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--luecke); counter-reset: s; margin-top: clamp(32px, 3.4vw, 64px) !important; }
.schritte li { counter-increment: s; position: relative; }
.schritte li::before { content: "0" counter(s); display: block; font: 600 clamp(40px, 3.2vw, 64px)/1 var(--f-mono); color: var(--acc); }
.schritte h3 { margin-top: 28px; }
.schritte p { margin-top: 12px; color: var(--text2); font-size: 16px; }
.schritte li:last-child { isolation: isolate; overflow: hidden; background: var(--net) url(../img/ci-gradient-card.webp) center / 100% 100% no-repeat; box-shadow: var(--sh3); }
.schritte li:last-child::before { color: var(--on-grad-lbl); }
.schritte li:last-child h3 { color: #fff; }
.schritte li:last-child p { color: var(--on-grad); }
@media (max-width: 900px) { .schritte { grid-template-columns: 1fr; } }

.haken { list-style: none; padding: 0; display: grid; gap: 10px; }
.haken li { display: flex; gap: 16px; padding: 20px 24px; border-radius: 20px; background: var(--surf); box-shadow: var(--sh1); }
.haken .i { margin-top: 5px; color: var(--ok); stroke-width: 2.6; }

/* ------------------------------------------------------------------ Kanäle (Tabs) */
.tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; border-radius: 100px; background: var(--surf); box-shadow: var(--sh1); margin-top: 40px !important; }
.tabs button { height: 44px; padding: 0 20px; border: 0; border-radius: 100px; font: 600 15px/1 var(--f-body); cursor: pointer; background: transparent; color: var(--text2); transition: background-color .25s ease-out, color .25s ease-out, box-shadow .25s ease-out; }
.tabs button[aria-selected="true"] { background: var(--acc); color: var(--acc-t); box-shadow: var(--shacc); }
.kanal { display: grid; grid-template-columns: 1fr 1fr; gap: var(--luecke); margin-top: 24px !important; }
.kanal__text { padding: clamp(28px, 3vw, 64px); border-radius: 28px; }
.kanal__text > * + * { margin-top: 16px; }
.kanal__text h3 { font-size: clamp(28px, 2.8vw, 54px); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }
.kanal__text ul { list-style: none; padding: 0; display: grid; gap: 8px; margin-top: 24px; }
.kanal__text li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; }
.kanal__text li .i { margin-top: 4px; color: var(--on-grad-lbl); }
.kanal__bild { padding: clamp(24px, 2.4vw, 48px); border-radius: 28px; background: var(--surf); box-shadow: var(--sh1); }
.kanal__bild ol { list-style: none; padding: 0; display: grid; gap: 8px; margin-top: 18px; }
.kanal__bild li { display: flex; gap: 16px; align-items: baseline; padding: 15px 18px; border-radius: 16px; background: var(--surf2); font-size: 15px; }
.kanal__bild li span { flex: none; width: 64px; font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text3); }
.kanal__bild li:last-child { background: var(--ok-bg); color: var(--ok-t); font-weight: 600; }
.kanal__bild li:last-child span { color: var(--ok-t); }
.js .kanal[hidden] { display: none; }
.kanal.wechsel { animation: rotRein .45s var(--ease); }
@media (max-width: 900px) { .kanal { grid-template-columns: 1fr; } .kanal__text { padding: 28px; } }

/* ------------------------------------------------------------------ Design-Vorschau */
.vorschau { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 5vw, 120px); align-items: center; }
.vorschau__wahl > * + * { margin-top: 22px; }
.vorschau__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vorschau__chips button { height: 46px; padding: 0 20px; border: 0; border-radius: 100px; background: var(--ink3); color: #fff; font: 600 14px/1 var(--f-body); cursor: pointer; transition: background-color .2s ease-out, box-shadow .2s ease-out; }
.vorschau__chips button[aria-pressed="true"] { background: #1f8cfb; color: #05101f; box-shadow: 0 10px 28px -8px rgba(31,140,251,.6); }
.vorschau__eigen { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; }
.vorschau__eigen label { display: block; font: 600 13px/1 var(--f-body); color: #acb8cb; }
.vorschau__eigen input[type="text"] { display: block; width: 100%; height: 50px; margin-top: 10px; padding: 0 20px; border: 0; border-radius: 100px; background: var(--ink3); color: #fff; font-size: 16px; }
.vorschau__eigen input[type="color"] { display: block; width: 76px; height: 50px; margin-top: 10px; padding: 6px; border: 0; border-radius: 100px; background: var(--ink3); cursor: pointer; }
.vorschau__link { display: inline-flex; gap: 8px; align-items: center; color: #8fc0ff; font-weight: 600; font-size: 15px; text-decoration: none; }
.vorschau__link:hover { color: #fff; }
.fenster { --d-kopf: #0b5d4b; --d-kopf-t: #fff; --d-akzent: #e0a100; --d-akzent-t: #1a1a1a; border-radius: 24px; overflow: hidden; background: #fff; color: #23292e; box-shadow: 0 36px 80px -20px rgba(31,140,251,.35); }
.fenster__leiste { display: flex; align-items: center; gap: 6px; padding: 12px 16px; background: #e9edf1; }
.fenster__leiste i { width: 10px; height: 10px; border-radius: 50%; background: #c5ccd4; }
.fenster__leiste span { margin-left: 10px; flex: 1; padding: 6px 12px; border-radius: 100px; background: #fff; font: 500 11px/1.2 var(--f-mono); color: #5c5f62; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fenster__kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; background: var(--d-kopf); color: var(--d-kopf-t); transition: background-color .35s ease-out, color .35s ease-out; }
.fenster__kopf b { font: 800 18px/1.1 var(--f-display); letter-spacing: -.02em; }
.fenster__kopf small { font-size: 12px; opacity: .85; }
.fenster__inhalt { padding: 24px 22px 26px; }
.fenster__inhalt h3 { font-size: 22px; color: #1a1f24; }
.fenster__inhalt p { margin-top: 6px; font-size: 14px; color: #5c5f62 !important; }
.fenster__felder { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.fenster__felder span { display: block; height: 42px; padding: 0 14px; border-radius: 10px; background: #f1f4f6; font: 500 13px/42px var(--f-body); color: #858d99; }
.fenster__felder span.breit { grid-column: 1 / -1; }
.fenster__knopf { display: inline-block; margin-top: 16px; padding: 14px 22px; border-radius: 10px; background: var(--d-akzent); color: var(--d-akzent-t); font: 600 14px/1 var(--f-body); transition: background-color .35s ease-out, color .35s ease-out; }
@media (max-width: 960px) { .vorschau { grid-template-columns: 1fr; gap: 36px; } }

/* ------------------------------------------------------------------ Wege, Siegel, Kassenliste, FAQ */
.weg { display: grid; grid-template-columns: minmax(280px, .5fr) 1fr; gap: clamp(24px, 4vw, 96px); padding: clamp(28px, 3vw, 64px); border-radius: 28px; background: var(--surf); box-shadow: var(--sh1); margin-top: 20px !important; }
.weg:first-child { margin-top: 0 !important; }
.weg h2 { font-size: clamp(28px, 2.8vw, 54px); }
.weg .prosa { max-width: 900px; }
.weg__fuer { margin-top: 14px; display: inline-block; padding: 9px 14px; border-radius: 100px; background: var(--wash); color: var(--wash-t); font-size: 13px; font-weight: 600; }
@media (max-width: 860px) { .weg { grid-template-columns: 1fr; gap: 20px; padding: 28px; } }

.siegel { list-style: none; padding: 0; display: grid; gap: 12px; }
.siegel li { display: flex; align-items: center; gap: 18px; padding: 16px 22px; border-radius: 20px; background: var(--surf); box-shadow: var(--sh1); }
.siegel img { width: 64px; height: 64px; }
.siegel span { font-size: 15px; color: var(--text2); line-height: 1.35; }
.siegel strong { display: block; color: var(--text); font: 700 18px/1.3 var(--f-display); }

.faqs { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 5vw, 120px); align-items: start; }
.faqs > div > * + * { margin-top: 22px; }
.faqs > div:last-child > .faq:first-child { margin-top: 0 !important; }
@media (min-width: 901px) { .faqs > :first-child { position: sticky; top: 128px; } }
@media (max-width: 900px) { .faqs { grid-template-columns: 1fr; } }
.faq { border-radius: 20px; background: var(--surf); box-shadow: var(--sh1); margin-top: 10px !important; transition: box-shadow .3s ease-out, background-color .3s ease-out; }
h2 + .faq { margin-top: 36px !important; }
.faq[open] { box-shadow: var(--sh2); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 24px; cursor: pointer; list-style: none; font: 600 17px/1.4 var(--f-body); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--surf2); color: var(--text); display: flex; align-items: center; justify-content: center; font: 500 20px/1 var(--f-body); transition: all .3s ease-out; }
.faq[open] summary::after { background: var(--acc); color: var(--acc-t); transform: rotate(45deg); }
.faq p { padding: 0 24px 24px; color: var(--text2); font-size: 16px; }
.faq[open] p { animation: rotRein .4s var(--ease); }

.hinweisbox { padding: 24px 28px; border-radius: 20px; background: var(--warn-bg); margin-top: 32px !important; }
.hinweisbox--ruhig { background: var(--wash); color: var(--wash-t); }
.hinweisbox h3 { font-size: 19px; }
.hinweisbox p { margin-top: 6px; }


.raster { display: grid; grid-template-columns: minmax(0, 1fr) clamp(280px, 24vw, 400px); gap: clamp(40px, 6vw, 140px); align-items: start; }
.raster > * { min-width: 0; }
.raster__text { max-width: 900px; }
.raster__text > * + * { margin-top: 22px; }
.raster__rand { position: sticky; top: 128px; display: grid; gap: var(--luecke); }
.sec > .wrap.raster > * + * { margin-top: 0; }
.inhalt { padding: 26px 28px; border-radius: 24px; background: var(--surf); box-shadow: var(--sh1); }
.inhalt ol { list-style: none; padding: 0; margin-top: 16px; display: grid; gap: 4px; }
.inhalt a { display: block; padding: 8px 12px; margin: 0 -12px; border-radius: 12px; color: var(--text2); font-size: 15px; line-height: 1.35; text-decoration: none; transition: background-color .15s ease-out, color .15s ease-out; }
.inhalt a:hover, .inhalt a.aktiv { background: var(--wash); color: var(--wash-t); }
.randkarte { padding: 28px; border-radius: 24px; }
.randkarte > * + * { margin-top: 14px; }
.randkarte h2 { font-size: 26px; letter-spacing: -.025em; line-height: 1.1; }
.randkarte p { font-size: 15px; }
@media (max-width: 1000px) { .raster { grid-template-columns: 1fr; } .raster__rand { position: static; } .raster__rand .inhalt { display: none; } }
.artikel h1 { font-size: clamp(34px, 3.8vw, 72px); line-height: 1.04; letter-spacing: -.04em; }
.pfad, .meta { font: 500 12px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text3); }
.pfad a { color: var(--text3); }
.artikel .prosa { margin-top: 40px; }
.hinweis { margin-top: 48px !important; font-size: 14px; color: var(--text3); }

/* ------------------------------------------------------------------ Fuß */
.fuss { position: relative; margin-top: calc(-1 * var(--bogen)); border-radius: var(--bogen) var(--bogen) 0 0; background: var(--ink); color: #acb8cb; padding: clamp(64px, 6vw, 112px) 0 0; font-size: 15px; overflow: hidden; }
.fuss a { color: #acb8cb; text-decoration: none; transition: color .2s ease-out; }
.fuss a:hover { color: #fff; }
.fuss__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr .8fr; gap: 48px; }
.fuss__grid > div > * + * { margin-top: 16px; }
.fuss__logo img { height: 46px; width: auto; }
.fuss h2 { font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: #858d99; }
.fuss ul { list-style: none; padding: 0; }
.fuss li + li { margin-top: 12px; }
.fuss__unten { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 56px; padding: 22px 26px; border-radius: 22px; background: var(--ink2); }
.fuss__not { margin-top: 18px; font-size: 13px; color: #858d99; }
.wortmarke { display: flex; justify-content: space-between; margin: 40px 0 -.2em; font: 800 clamp(48px, 13.5vw, 250px)/1 var(--f-display); letter-spacing: -.04em; color: var(--ink2); white-space: nowrap; user-select: none; }
.wortmarke span { display: inline-block; cursor: default; transition: color .3s ease-out, transform .45s var(--ease); }
.wortmarke span:hover { color: #1f8cfb; transform: translateY(-16px); }
@media (max-width: 900px) { .fuss__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .fuss__grid { grid-template-columns: 1fr; } }

/* ================================================================== Formulare */
.kontakt { display: grid; grid-template-columns: .85fr 1.15fr; gap: var(--luecke); align-items: stretch; }
.kontakt__info { padding: clamp(28px, 3.2vw, 72px); border-radius: 28px; }
.kontakt__info > * + * { margin-top: 20px; }
.kontakt__info :is(h1, h2) { font-size: clamp(30px, 3vw, 58px); line-height: 1.04; letter-spacing: -.04em; color: #fff; }
.kontakt__info .klein { color: var(--on-grad); opacity: .85; }
.person { display: flex; align-items: center; gap: 16px; margin-top: 32px !important; }
.person img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.person strong { display: block; color: #fff; font: 700 19px/1.3 var(--f-display); }
.person span { font-size: 14px; line-height: 1.4; display: block; }
.tel { display: inline-flex; align-items: center; gap: 10px; font: 700 22px/1 var(--f-display); text-decoration: none; }
@media (max-width: 900px) { .kontakt { grid-template-columns: 1fr; } .kontakt__info { padding: 28px; } }

.form { background: var(--surf); border-radius: 28px; box-shadow: var(--sh2); padding: clamp(24px, 2.6vw, 56px); transition: background-color .3s ease-out; }
.form__body > * + * { margin-top: 18px; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.feld--breit { grid-column: 1 / -1; }
@media (max-width: 620px) { .grid2 { grid-template-columns: 1fr; } .form { padding: 24px 18px; } }
.feld label, .feld .label, .chips legend { display: block; margin-bottom: 10px; font: 600 14px/1.3 var(--f-body); }
.opt { font-weight: 400; font-size: 13px; color: var(--text3); }
.feld input, .feld select, .feld textarea { width: 100%; min-height: 52px; padding: 13px 20px; border: 0; border-radius: 26px; background: var(--surf2); font-size: 16px; line-height: 1.4; transition: box-shadow .2s ease-out, background-color .3s ease-out; }
.feld textarea { resize: vertical; border-radius: 22px; }
.feld select { appearance: none; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23787b7e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 18px; }
.feld input:focus, .feld select:focus, .feld textarea:focus { outline: 0; box-shadow: 0 0 0 2px var(--acc); }
.feld input::placeholder, .feld textarea::placeholder { color: var(--text3); }
.feld.hat-fehler input, .feld.hat-fehler select, .feld.hat-fehler textarea { box-shadow: 0 0 0 2px var(--err); }
.hilfe { margin-top: 8px; font-size: 13px; line-height: 1.4; color: var(--text3); }
.fehler { display: flex; gap: 8px; align-items: baseline; margin-top: 8px; font-size: 14px; line-height: 1.4; font-weight: 600; color: var(--err); }
.fehler::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--err); }
.form__fehler { padding: 14px 20px; border-radius: 18px; background: var(--err-bg); color: var(--err); font-weight: 600; font-size: 15px; }
.form__gruppe { margin-top: 36px !important; font-size: 20px; }
.form__pflicht + .form__gruppe { margin-top: 16px !important; }
.form__pflicht { font-size: 14px; color: var(--text3); }
.chips { border: 0; padding: 0; margin: 0; min-width: 0; }
.chips, .wahl { display: flex; flex-wrap: wrap; gap: 8px; }
.chips legend { width: 100%; padding: 0; }
.chip { position: relative; margin: 0 !important; cursor: pointer; }
.chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; min-height: 0; cursor: pointer; }
.chip span { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 100px; background: var(--surf2); font: 600 14px/1.2 var(--f-body); transition: background-color .2s ease-out, color .2s ease-out, box-shadow .2s ease-out; }
.chip:hover span { background: var(--surf3); }
.chip input:checked + span { background: var(--acc); color: var(--acc-t); box-shadow: var(--shacc); }
.chip input:focus-visible + span { outline: 2px solid var(--acc); outline-offset: 2px; }
.wahl .chip { flex: 1; }
.wahl .chip span { width: 100%; min-height: 52px; justify-content: center; }
.feld.hat-fehler .chip span { box-shadow: 0 0 0 2px var(--err); }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; cursor: pointer; }
.check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--acc); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tsbox:empty { display: none; }
.form__ok { padding: 12px 0; }
.form__ok:focus { outline: 0; }
.form__ok h3 { font-size: 28px; color: var(--ok); }
.form__ok p { margin-top: 12px; }
.form__ok [data-ticket] { font: 600 20px/1 var(--f-mono); }

/* ================================================================== Versicherten-Seiten (.kp) */
/* Die Seiten der Kassen sind immer hell (Tokens oben auf .kp zurückgesetzt) und nutzen ruhigere,
   eckigere Formularfelder mit sichtbarem Rahmen – die Zielgruppe sind alle Versicherten. */
.kp { --acc: var(--k-akzent); --acc-h: var(--k-akzent); --acc-t: var(--k-akzent-t); --shacc: none; --wash: #f1f4f6; --surf2: #fff; --ok: #1f8a5b; background: #fff; color: #23292e; }
.kp h1 { font-weight: 750; letter-spacing: -.02em; line-height: 1.1; }
.kp h2 { font-size: 30px; font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.kp h3 { font-size: 19px; }
.kp .btn { box-shadow: none; }
.kp .form { box-shadow: var(--sh2); border-radius: 22px; }
.kp .feld input, .kp .feld select, .kp .feld textarea { border: 1.5px solid #c5ccd4; background-color: #fff; padding: 12px 14px; }
.kp .feld input:focus, .kp .feld select:focus, .kp .feld textarea:focus { border-color: var(--k-link); box-shadow: 0 0 0 3px #e3edf3; }
.kp .feld.hat-fehler input, .kp .feld.hat-fehler select, .kp .feld.hat-fehler textarea { border-color: var(--err); box-shadow: 0 0 0 3px var(--err-bg); }
.kp .chip span { border: 1.5px solid #c5ccd4; background: #fff; font-size: 15px; }
.kp .chip input:checked + span { border-color: var(--k-akzent); }
.kp .form__gruppe { padding-top: 24px; border-top: 1px solid #e3e8ec; font-size: 18px; margin-top: 30px !important; }
.kp .form__pflicht + .form__gruppe { padding-top: 0; border-top: 0; }
.kp a { color: var(--k-link); }
.kp-wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.btn--kasse { background: var(--k-akzent); color: var(--k-akzent-t) !important; border-radius: 12px; }
.btn--kasse:hover { background: var(--k-akzent); filter: brightness(.93); }

.kp-kopf { background: var(--k-kopf); color: var(--k-kopf-t); }
.kp-kopf__in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 84px; padding-top: 12px; padding-bottom: 12px; }
.kp-logo img { width: 190px; }
.kp-kopf__rechts { display: flex; align-items: center; gap: 20px; }
.kp-kopf a.kp-zurueck, .kp-kopf a.kp-tel { color: var(--k-kopf-t); text-decoration: none; font-size: 15px; }
.kp-kopf a.kp-zurueck:hover { text-decoration: underline; }
.kp-tel { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
@media (max-width: 720px) { .kp-logo img { width: 140px; } .kp-zurueck { display: none; } .kp-tel span { display: none; } }

.kp-buehne { background: var(--k-buehne); color: var(--k-buehne-t); overflow: hidden; }
.kp-buehne__in { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.kp-buehne__text > * + * { margin-top: 22px; }
.kp-buehne h1 { font-size: clamp(30px, 4vw, 46px); hyphens: manual; }
.kp-buehne p { font-size: 18px; max-width: 520px; }
.kp-buehne__bild img { border-radius: 18px; aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
@media (max-width: 900px) { .kp-buehne__in { grid-template-columns: 1fr; gap: 28px; padding-top: 36px; padding-bottom: 36px; } }

.kp-sec { padding: 64px 0 80px; background: #f7fafc; }
.kp main > * { margin-top: 0; border-radius: 0; box-shadow: none; }
.kp-spalten { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; }
.kp-formular > p { margin: 12px 0 24px; color: #4a5560; }
.kp-info > * + *, .kp-karte__box > * + * { margin-top: 16px; }
.kp-info ul, .kp-frage ul { padding-left: 22px; }
.kp-info li + li, .kp-frage li + li { margin-top: 6px; }
@media (max-width: 960px) { .kp-spalten { grid-template-columns: 1fr; } .kp-sec { padding: 40px 0 56px; } }

.kp-fragen { margin-top: 28px !important; border-radius: 16px; background: #fff; box-shadow: var(--sh1); padding: 6px 22px; }
.kp-frage { border-bottom: 1px solid #e3e8ec; }
.kp-frage:last-child { border-bottom: 0; }
.kp-frage summary { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; cursor: pointer; list-style: none; font: 600 16px/1.35 var(--f-display); }
.kp-frage summary::-webkit-details-marker { display: none; }
.kp-frage summary::after { content: "+"; flex: none; font-size: 22px; line-height: 1; color: var(--k-link); }
.kp-frage[open] summary::after { content: "–"; }
.kp-frage > div { padding-bottom: 18px; font-size: 16px; }
.kp-frage > div > * + * { margin-top: 10px; }
.linkliste { list-style: none; padding: 0 !important; }
.kp-notfall { margin-top: 28px !important; padding: 20px 22px; border-radius: 16px; background: var(--warn-bg); }
.kp-notfall h2 { font-size: 18px !important; }
.kp-notfall p { margin-top: 6px; }

.kp--karte { background: #f3f3f3; }
.kp--karte .kp-kopf { border-bottom: 1px solid #e6e6e6; }
.kp-karte { padding: 0 0 72px; }
.kp-karte__bild img { width: 100%; max-height: 420px; object-fit: cover; }
.kp-karte .kp-wrap { max-width: 900px; padding: 0; }
.kp-karte__box { position: relative; margin: -90px 24px 0; padding: 40px; background: #fff; border-radius: 4px; box-shadow: var(--sh1); }
.kp-karte__box h1 { font-size: clamp(32px, 5vw, 48px); }
.kp h2.kp-unter { font: 650 22px/1.3 var(--f-display); letter-spacing: -.01em; }
.kp-karte .form { margin-top: 28px; padding: 0; box-shadow: none; border-radius: 0; }
@media (max-width: 620px) { .kp-karte__box { margin: -40px 12px 0; padding: 24px 18px; } }

.kp .form--kasse .feld input, .kp .form--kasse .feld select, .kp .form--kasse .feld textarea, .kp .chip span { border-radius: 8px; }
.kp .form__ok h3 { color: var(--ok); }

.kp-fuss { background: #fff; border-top: 1px solid #e3e8ec; padding: 40px 0; font-size: 15px; color: #4a5560; }
.kp-fuss .kp-wrap > * + * { margin-top: 16px; }
.kp-logo--fuss img { width: 150px; }
.kp-fuss__links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.kp-fuss__partner { padding-top: 16px; border-top: 1px solid #e3e8ec; font-size: 13px; color: #6b7680; }
.kp-fuss__partner a { color: #6b7680; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
@media print { .kopf, .fuss, .kp-kopf__rechts, .form__body { display: none; } }
