/* kz.css · kinderzahnschutz.de · Besitzer: Funnel-Frontend
 * Designsprache aus dem Labor (EXPLORE_A §3): Systemschrift, viel Weißraum, Karten 22 px, eine Akzentfarbe, Glas-Kopfleiste.
 * Variablennamen laut SPEC §11 (Admin übernimmt dieselben). Kontraste geprüft auf WCAG 2.2 AA. */

:root{
  --kz-bg:#f7f5f1; --kz-bg-2:#ffffff; --kz-card:#ffffff; --kz-card-2:#fbf9f6;
  --kz-text:#1d1d1f; --kz-text-2:#3a3a3c; --kz-muted:#6e6e73; --kz-line:rgba(0,0,0,.08); --kz-line-2:#d2d2d7; --kz-chip:#ececf0;
  --kz-accent:#0071e3; --kz-accent-d:#0062c4; --kz-accent-ink:#ffffff; --kz-accent-soft:#e8f1fc; --kz-accent-sh:rgba(0,113,227,.26); --kz-link:#0066cc;
  --kz-ok:#1a7f37; --kz-ok-soft:#e8f5ec; --kz-warn:#9a5600; --kz-warn-soft:#fff4e2; --kz-bad:#d70015; --kz-bad-soft:#fff0f1; --kz-focus:#0071e3;
  --kz-glass:rgba(247,245,241,.8);
  --kz-sun:#c26a00; --kz-sun-soft:#fff2dc; --kz-mint:#e7f6ef; --kz-rose:#fdecec;
  --kz-radius:24px; --kz-radius-s:16px;
  --kz-shadow:0 1px 2px rgba(60,40,20,.03),0 10px 30px rgba(60,40,20,.06);
  --kz-shadow-s:0 1px 3px rgba(0,0,0,.06);
  --kz-shadow-lg:0 2px 6px rgba(0,0,0,.04),0 24px 60px rgba(0,0,0,.10);
  --kz-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Inter,Arial,sans-serif;
  --kz-font-d:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue","Inter Display",Inter,Arial,sans-serif;
  --kz-tap:48px; --kz-gap:16px; --kz-maxw:440px; --kz-maxw-desk:1040px; --kz-col-desk:580px;
  --kz-ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not(.kz-light){
  --kz-bg:#000000; --kz-sun:#ffb340; --kz-sun-soft:rgba(255,179,64,.14); --kz-mint:rgba(48,209,88,.12); --kz-rose:rgba(255,69,58,.12); --kz-bg-2:#0c0c0e; --kz-card:#1c1c1e; --kz-card-2:#242426;
  --kz-text:#f5f5f7; --kz-text-2:#d1d1d6; --kz-muted:#a1a1a6; --kz-line:rgba(255,255,255,.1); --kz-line-2:#3a3a3c; --kz-chip:#2c2c2e;
  --kz-accent:#0a84ff; --kz-accent-d:#3395ff; --kz-accent-ink:#ffffff; --kz-accent-soft:rgba(10,132,255,.16); --kz-accent-sh:rgba(10,132,255,.22); --kz-link:#4aa3ff;
  --kz-ok:#30d158; --kz-ok-soft:rgba(48,209,88,.14); --kz-warn:#ffb340; --kz-warn-soft:rgba(255,179,64,.13); --kz-bad:#ff6961; --kz-bad-soft:rgba(255,69,58,.14); --kz-focus:#4aa3ff;
  --kz-glass:rgba(16,16,18,.72);
  --kz-shadow:0 0 0 1px rgba(255,255,255,.07); --kz-shadow-s:0 0 0 1px rgba(255,255,255,.07); --kz-shadow-lg:0 0 0 1px rgba(255,255,255,.09),0 24px 60px rgba(0,0,0,.5);
  color-scheme:dark}}
:root.kz-dark{
  --kz-bg:#000000; --kz-sun:#ffb340; --kz-sun-soft:rgba(255,179,64,.14); --kz-mint:rgba(48,209,88,.12); --kz-rose:rgba(255,69,58,.12); --kz-bg-2:#0c0c0e; --kz-card:#1c1c1e; --kz-card-2:#242426;
  --kz-text:#f5f5f7; --kz-text-2:#d1d1d6; --kz-muted:#a1a1a6; --kz-line:rgba(255,255,255,.1); --kz-line-2:#3a3a3c; --kz-chip:#2c2c2e;
  --kz-accent:#0a84ff; --kz-accent-d:#3395ff; --kz-accent-ink:#ffffff; --kz-accent-soft:rgba(10,132,255,.16); --kz-accent-sh:rgba(10,132,255,.22); --kz-link:#4aa3ff;
  --kz-ok:#30d158; --kz-ok-soft:rgba(48,209,88,.14); --kz-warn:#ffb340; --kz-warn-soft:rgba(255,179,64,.13); --kz-bad:#ff6961; --kz-bad-soft:rgba(255,69,58,.14); --kz-focus:#4aa3ff;
  --kz-glass:rgba(16,16,18,.72);
  --kz-shadow:0 0 0 1px rgba(255,255,255,.07); --kz-shadow-s:0 0 0 1px rgba(255,255,255,.07); --kz-shadow-lg:0 0 0 1px rgba(255,255,255,.09),0 24px 60px rgba(0,0,0,.5);
  color-scheme:dark}
/* Weiße Schrift auf #0a84ff erreicht nur 3,6:1 → Primärknopf im Dunkeln mit dunklerem Blau (4,7:1) */
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-btn.p{background:#0071e3}}
@media (hover:hover) and (prefers-color-scheme:dark){:root:not(.kz-light) .kz-btn.p:hover{background:#0a7cf0}}
:root.kz-dark .kz-btn.p{background:#0071e3}
@media (hover:hover){:root.kz-dark .kz-btn.p:hover{background:#0a7cf0}}

/* ───────── Grundlagen ───────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;background:var(--kz-bg);color:var(--kz-text);font:400 17px/1.47 var(--kz-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  letter-spacing:-.011em;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:var(--kz-link);text-underline-offset:.15em}
:focus-visible{outline:3px solid var(--kz-focus);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--kz-font-d);letter-spacing:-.022em;margin:0;color:var(--kz-text)}
h1:focus,h2:focus{outline:none}
p{margin:0}
ul,ol{margin:0;padding:0}
.kz-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px}
.kz-skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--kz-text);color:var(--kz-bg);padding:10px 14px;border-radius:10px;font-weight:600;text-decoration:none}
.kz-skip:focus{top:10px}
.center{text-align:center}
.kz-mt{margin-top:18px}

/* ───────── Kopfleiste (Glas) ───────── */
.kz-top{position:sticky;top:0;z-index:60;background:var(--kz-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--kz-line)}
.kz-top-in{max-width:var(--kz-maxw-desk);margin:0 auto;padding:0 16px;height:52px;display:flex;align-items:center;gap:12px}
.kz-logo{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--kz-text);text-decoration:none;font-weight:650;font-size:1rem;letter-spacing:-.02em;white-space:nowrap;border-radius:8px}
.kz-logo svg{flex:none;display:block}
.kz-logo .tld{color:var(--kz-muted);font-weight:500}
.kz-top-r{margin-left:auto;display:flex;align-items:center;gap:6px}
.kz-icon-btn{width:44px;height:44px;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;color:var(--kz-muted)}
@media (hover:hover){.kz-icon-btn:hover{background:var(--kz-chip);color:var(--kz-text)}}
.kz-icon-btn svg{width:20px;height:20px}
.kz-icon-btn .moon{display:none}
:root.kz-dark .kz-icon-btn .sun{display:none}:root.kz-dark .kz-icon-btn .moon{display:block}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-icon-btn .sun{display:none}:root:not(.kz-light) .kz-icon-btn .moon{display:block}}
.kz-preview{background:#ffd60a;color:#1d1d1f;text-align:center;font-size:.8125rem;font-weight:600;padding:5px 12px}

/* Fortschritt + Live-Zähler */
.kz-meter{max-width:var(--kz-maxw-desk);margin:0 auto;padding:0 16px 10px;display:flex;align-items:center;gap:14px}
.kz-prog{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.kz-prog-bars{display:flex;gap:4px;flex:1;max-width:220px}
.kz-prog-bars i{display:block;height:5px;flex:1;border-radius:3px;background:var(--kz-line-2);transition:background .4s}
.kz-prog-bars i.on{background:var(--kz-accent)}
.kz-prog-l{font-size:.8125rem;font-weight:600;color:var(--kz-muted);white-space:nowrap}
@media (max-width:359px){.kz-prog-l{display:none}}

/* ───────── Raster ───────── */
.kz-main{flex:1;width:100%;max-width:var(--kz-maxw-desk);margin:0 auto;padding:0 16px}
.kz-view{width:100%;max-width:var(--kz-maxw);margin:0 auto;padding:22px 0 0;min-height:calc(100vh - 120px);min-height:calc(100dvh - 120px);display:flex;flex-direction:column}
.kz-screen{display:flex;flex-direction:column;flex:1;animation:kz-in .45s var(--kz-ease) both}
.kz-screen.soft{animation:none}
@keyframes kz-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (min-width:760px){
  .kz-view{max-width:var(--kz-col-desk);padding-top:48px}
  :root[data-screen="s0-hero"] .kz-view,:root[data-screen="s2-stub"] .kz-view,:root[data-screen="s2-tarif"] .kz-view{max-width:var(--kz-maxw-desk)}
}

/* ───────── Typografie ───────── */
.kz-eyebrow{font-size:.82rem;font-weight:600;color:var(--kz-accent);margin-bottom:10px;letter-spacing:-.005em}
:root.kz-dark .kz-eyebrow{color:var(--kz-link)}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-eyebrow{color:var(--kz-link)}}
.kz-h1{font-size:clamp(2.05rem,8.4vw,3.5rem);line-height:1.07;font-weight:750;letter-spacing:-.032em;text-wrap:balance;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word}
.kz-h2{font-size:clamp(1.65rem,6.6vw,2.3rem);line-height:1.13;font-weight:720;letter-spacing:-.026em;text-wrap:balance}
.kz-h2.q{font-size:clamp(1.3rem,5.4vw,1.75rem);line-height:1.22;letter-spacing:-.02em;margin-top:6px}
.kz-h3{font-size:1.14rem;line-height:1.3;font-weight:650;letter-spacing:-.015em}
.kz-lead{font-size:1.06rem;color:var(--kz-muted);margin-top:12px;line-height:1.5;max-width:36em}
.kz-lead.sm{font-size:.98rem}
.kz-lead b{color:var(--kz-text)}
.kz-fine{font-size:.8125rem;color:var(--kz-muted);line-height:1.45;margin-top:10px}
.kz-fine a{color:var(--kz-link)}
.kz-label{display:block;font-weight:600;font-size:.92rem;margin-bottom:8px;color:var(--kz-text)}
.kz-opt-l{font-weight:400;color:var(--kz-muted);font-size:.82rem}

/* ───────── Knöpfe, Dock ───────── */
.kz-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:calc(var(--kz-tap) + 8px);border:0;border-radius:18px;font-weight:600;font-size:1.04rem;padding:0 22px;
  transition:transform .12s,background .2s,opacity .2s,box-shadow .2s;text-decoration:none;text-align:center;line-height:1.2}
.kz-btn:active{transform:scale(.98)}
.kz-btn.p{background:var(--kz-accent);color:var(--kz-accent-ink);box-shadow:0 8px 22px var(--kz-accent-sh)}
@media (hover:hover){.kz-btn.p:hover{background:var(--kz-accent-d)}}
.kz-btn.s{background:var(--kz-chip);color:var(--kz-text)}
@media (hover:hover){.kz-btn.s:hover{background:var(--kz-line-2)}}
.kz-btn.sel{background:var(--kz-accent-soft);color:var(--kz-text);box-shadow:inset 0 0 0 2px var(--kz-accent)}
.kz-btn.l{background:none;color:var(--kz-link);min-height:var(--kz-tap);font-weight:500;font-size:.98rem}
.kz-btn.sm{min-height:var(--kz-tap);font-size:.96rem;border-radius:14px}
.kz-btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.kz-btn.busy{opacity:.7;pointer-events:none}
.kz-btn.busy::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:kz-spin .7s linear infinite}
@keyframes kz-spin{to{transform:rotate(360deg)}}
.kz-btn .arrow{transition:transform .2s}
@media (hover:hover){.kz-btn:hover .arrow{transform:translateX(3px)}}
.kz-dock{position:sticky;bottom:0;margin-top:auto;padding:24px 0 calc(14px + env(safe-area-inset-bottom));z-index:20;display:grid;gap:6px;
  background:linear-gradient(to top,var(--kz-bg) 70%,rgba(0,0,0,0))}
.kz-screen > .kz-btn.l{margin-top:-10px;margin-bottom:8px}
@media (min-width:760px){
  .kz-dock{position:static;background:none;padding:34px 0 10px}
  .kz-dock .kz-btn.p,.kz-dock .kz-btn.s{max-width:400px}
  .kz-dock.narrow{justify-items:center}
}
.kz-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--kz-link);font-size:.95rem;font-weight:500;padding:0 10px 0 0;min-height:44px;margin:-12px 0 6px -2px;border-radius:8px}
.kz-back span{font-size:1.5rem;line-height:1;margin-top:-3px}
.kz-link-btn{border:0;background:none;color:var(--kz-link);font-size:.9rem;font-weight:500;padding:6px 6px;min-height:44px;border-radius:8px;text-decoration:underline;text-underline-offset:.15em}

/* Vertrauensleiste */
.kz-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:.8125rem;color:var(--kz-muted);margin-top:8px}
.kz-trust li{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.kz-trust li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--kz-ok-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231a7f37' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.kz-trust a{color:inherit}

/* ───────── Karten, Hinweise ───────── */
.kz-card{background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);padding:20px}
.kz-card.flat{box-shadow:var(--kz-shadow-s)}
.kz-stack{display:grid;gap:14px;margin-top:22px}
.kz-stack.plain{list-style:none}
.kz-note{margin-top:14px;font-size:.92rem;line-height:1.48;border-radius:var(--kz-radius-s);padding:12px 14px;background:var(--kz-chip);color:var(--kz-text)}
.kz-note.ok{background:var(--kz-ok-soft)}
.kz-note.ok b{color:var(--kz-ok)}
.kz-note.warn{background:var(--kz-warn-soft)}
.kz-pill{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:500;border-radius:99px;padding:6px 12px;background:var(--kz-chip);color:var(--kz-text);margin-top:10px;line-height:1.3}
.kz-pill.ok{background:var(--kz-ok-soft)}
.kz-pill.ok b{color:var(--kz-ok);font-weight:650}
.kz-pill.ok::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--kz-ok);flex:none;box-shadow:0 0 0 4px rgba(26,127,55,.15)}
.kz-checks{list-style:none;display:grid;gap:9px;margin-top:18px;font-size:.98rem}
.kz-checks.sm{font-size:.92rem;gap:7px;margin-top:12px}
.kz-checks li{display:flex;gap:10px;align-items:flex-start;line-height:1.4}
.kz-checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--kz-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.kz-more{margin-top:18px;background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s)}
.kz-more summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--kz-tap);padding:0 16px;font-weight:600;font-size:.95rem;border-radius:var(--kz-radius-s)}
.kz-more summary::-webkit-details-marker{display:none}
.kz-more summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--kz-muted);border-bottom:2px solid var(--kz-muted);transform:rotate(45deg) translateY(-3px);transition:transform .2s;flex:none}
.kz-more[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.kz-more > div{padding:0 16px 16px;font-size:.92rem;color:var(--kz-text-2);line-height:1.5}
.kz-more > div p+p{margin-top:8px}
.kz-more.sm{margin-top:14px}
.kz-more.sm summary{font-size:.88rem;font-weight:500;color:var(--kz-link)}

/* ───────── Hero ───────── */
.kz-hero{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.kz-hero > *{min-width:0}
.kz-hero-txt{display:flex;flex-direction:column;min-height:calc(100dvh - 96px)}
.kz-hero .kz-h1{max-width:15em}
.kz-hero .kz-lead{margin-top:16px}
.kz-steps{list-style:none;counter-reset:s;display:grid;gap:10px;margin-top:30px}
.kz-steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;column-gap:12px;align-items:center}
.kz-steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--kz-accent-soft);color:var(--kz-accent);font-weight:700;font-size:.9rem;display:grid;place-items:center;align-self:start}
:root.kz-dark .kz-steps li::before{color:var(--kz-link)}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-steps li::before{color:var(--kz-link)}}
.kz-steps b{font-size:1rem;font-weight:650}
.kz-steps span{font-size:.9rem;color:var(--kz-muted)}
.kz-dock-hero{padding-top:28px}
.kz-hero-vis{display:none}
.kz-gift{display:flex;gap:12px;align-items:center;background:var(--kz-card);box-shadow:var(--kz-shadow);border-radius:18px;padding:12px 16px;margin:2px 0 18px;max-width:30em}
.kz-gift-ic{font-size:1.5rem;flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--kz-warn-soft)}
.kz-gift b{display:block;font-size:.98rem;line-height:1.3}
.kz-gift small{display:block;color:var(--kz-muted);font-size:.8125rem;margin-top:2px}
.kz-resume{display:grid;gap:12px;margin-top:20px;padding:16px 18px}
.kz-resume b{display:block}
.kz-resume small{color:var(--kz-muted);font-size:.85rem}
.kz-resume-a{display:flex;gap:8px;align-items:center}
.kz-resume-a .kz-btn{width:auto}
@media (min-width:860px){
  .kz-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:center;padding:12px 0 40px}
  .kz-hero-txt{min-height:0}
  .kz-hero-vis{display:block}
  .kz-dock-hero{justify-items:start}
  .kz-dock-hero .kz-trust{justify-content:flex-start}
}
/* Zifferblatt */
.kz-hero-vis{position:relative;background:var(--kz-card);border-radius:32px;box-shadow:var(--kz-shadow-lg);padding:30px 30px 26px}
/* ───────── Formulare ───────── */
.kz-form{margin-top:22px}
.kz-fg{margin-top:16px;min-width:0}
.kz-fg:first-child{margin-top:0}
.kz-in,.kz-select{width:100%;min-height:calc(var(--kz-tap) + 6px);padding:13px 16px;font-size:max(16px,1rem);border:1.5px solid var(--kz-line-2);border-radius:var(--kz-radius-s);
  background:var(--kz-card);-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
textarea.kz-in{min-height:96px;resize:vertical;line-height:1.45}
.kz-in:focus,.kz-select:focus{outline:none;border-color:var(--kz-accent);box-shadow:0 0 0 4px var(--kz-accent-soft)}
.kz-in[aria-invalid="true"]{border-color:var(--kz-bad);background:var(--kz-bad-soft)}
.kz-in.ok{border-color:var(--kz-ok)}
.kz-in::placeholder{color:var(--kz-muted);opacity:.8}
.kz-ferr{display:block;color:var(--kz-bad);font-size:.85rem;margin-top:6px;font-weight:500;min-height:0}
.kz-ferr:empty{display:none}
.kz-sug{display:block;font-size:.88rem;color:var(--kz-text-2);margin-top:6px}
.kz-sug:empty{display:none}
.kz-sug .kz-link-btn{min-height:44px;padding:0 6px}
.kz-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.kz-cb{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.88rem;line-height:1.45;margin-top:16px;color:var(--kz-text-2)}
.kz-cb input{width:22px;height:22px;margin:0;accent-color:var(--kz-accent);flex:none}
.kz-fs{border:0;padding:0;margin:20px 0 0;min-width:0}
.kz-fs legend{padding:0}
.kz-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kz-chip{display:inline-flex;align-items:center;justify-content:center;min-height:var(--kz-tap);padding:0 10px;border-radius:14px;border:1.5px solid var(--kz-line-2);background:var(--kz-card);
  font-size:.98rem;font-weight:500;color:var(--kz-text);transition:border-color .15s,background .15s,transform .1s;font-variant-numeric:tabular-nums}
@media (hover:hover){.kz-chip:hover{border-color:var(--kz-muted)}}
.kz-chip:active{transform:scale(.97)}
.kz-chip[aria-pressed="true"]{border-color:var(--kz-accent);background:var(--kz-accent-soft);font-weight:650}
.kz-chip[disabled]{opacity:.35;cursor:not-allowed}
.kz-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%236e6e73' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:44px}
.kz-beginn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-top:14px;background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s);padding:6px 6px 6px 16px;font-size:.92rem;font-weight:600}
.kz-beginn span{flex:1 1 auto}
.kz-beginn .kz-select{width:auto;flex:0 1 auto;min-width:0;max-width:100%;min-height:var(--kz-tap);border:0;background-color:var(--kz-chip);font-weight:600;font-size:.95rem}

/* Kinderliste */
.kz-kids{list-style:none;display:grid;gap:10px;margin-top:22px}
.kz-kid{display:flex;align-items:center;gap:14px;background:var(--kz-card);border-radius:18px;box-shadow:var(--kz-shadow);padding:14px 14px 14px 16px}
.kz-kid > div{flex:1;min-width:0}
.kz-kid b{display:block;font-size:1.05rem}
.kz-kid small{color:var(--kz-muted);font-size:.86rem}
.kz-avatar{width:44px;height:44px;border-radius:50%;background:var(--kz-accent-soft);color:var(--kz-accent);display:grid;place-items:center;font-weight:700;font-size:1.1rem;flex:none}
:root.kz-dark .kz-avatar{color:var(--kz-link)}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-avatar{color:var(--kz-link)}}
.kz-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:calc(var(--kz-tap) + 6px);margin-top:10px;border:1.5px dashed var(--kz-line-2);border-radius:18px;background:transparent;color:var(--kz-link);font-weight:600;font-size:.98rem}
.kz-add span{font-size:1.3rem;line-height:1}
@media (hover:hover){.kz-add:hover{border-color:var(--kz-accent);background:var(--kz-accent-soft)}}

/* ───────── Zahnspangen-Uhr ───────── */
.kz-uhr{padding:20px 18px 18px}
.kz-uhr-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.kz-uhr-h small{color:var(--kz-muted);font-size:.85rem}
.kz-uhr-svg{display:block;width:100%;max-width:400px;height:auto;margin:16px auto 2px;overflow:visible}
.kz-uhr-svg .u-track{stroke:var(--kz-chip);stroke-width:8;stroke-linecap:round}
.kz-uhr-svg .u-window{stroke:var(--kz-accent);stroke-width:8;stroke-linecap:round}
.kz-uhr-svg .u-band{fill:var(--kz-warn-soft);stroke:var(--kz-warn);stroke-width:1;stroke-dasharray:3 3}
.kz-uhr-svg .u-guide{stroke:var(--kz-line-2);stroke-width:1;stroke-dasharray:2 3}
.kz-uhr-svg .u-ev{font:600 11.5px var(--kz-font);fill:var(--kz-text-2)}
.kz-uhr-svg .u-ev.b{fill:var(--kz-ok)}
.kz-uhr-svg .u-brace{fill:var(--kz-ok);stroke:var(--kz-card);stroke-width:2.5}
.kz-uhr-svg .u-age{font:500 10.5px var(--kz-font);fill:var(--kz-muted)}
.kz-uhr-svg .u-unit{font-size:9.5px}
.kz-uhr-svg .u-now{fill:var(--kz-card);stroke:var(--kz-text);stroke-width:2.5}
.kz-uhr-svg .u-now-i{fill:var(--kz-text)}
.kz-uhr-svg .u-now-l{font:700 11px var(--kz-font);fill:var(--kz-text)}
.kz-uhr-svg .u-st.g1{fill:var(--kz-warn-soft);stroke:var(--kz-warn);stroke-width:1}
.kz-uhr-svg .u-st.g2{fill:var(--kz-accent-soft);stroke:var(--kz-accent);stroke-width:1}
.kz-uhr-svg .u-st.frei{fill:var(--kz-ok)}
.kz-uhr-svg .u-st-l{font:650 10.5px var(--kz-font);fill:var(--kz-text)}
.kz-uhr-svg .u-st-l.frei{fill:#fff}
:root.kz-dark .kz-uhr-svg .u-st-l.frei{fill:#03230c}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-uhr-svg .u-st-l.frei{fill:#03230c}}
.kz-uhr-svg .u-st-b{font:600 9.5px var(--kz-font);fill:var(--kz-text-2);font-variant-numeric:tabular-nums}
.kz-uhr-svg .u-cap{font:500 10.5px var(--kz-font);fill:var(--kz-muted)}
.kz-st-leg{font-size:.8125rem;color:var(--kz-muted);margin-top:2px;font-variant-numeric:tabular-nums}
.kz-kern{font-size:1.06rem;font-weight:600;line-height:1.42;margin-top:12px;letter-spacing:-.015em}
.kz-honest{display:flex;gap:8px;font-size:.86rem;color:var(--kz-text-2);margin-top:10px;line-height:1.45}
.kz-honest span{color:var(--kz-muted);flex:none}
.kz-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.kz-stats div{background:var(--kz-card-2);border-radius:14px;padding:12px;box-shadow:var(--kz-shadow-s)}
.kz-stats b{display:block;font-size:1.6rem;font-weight:700;letter-spacing:-.03em;color:var(--kz-text);line-height:1.1}
.kz-stats span{font-size:.8125rem;color:var(--kz-muted);line-height:1.35;display:block;margin-top:4px}

/* E-Mail */
.kz-mail-ic{width:64px;height:64px;border-radius:20px;background:var(--kz-accent-soft);display:grid;place-items:center;margin:0 0 18px}
.kz-mail-ic svg{width:34px;height:34px;fill:none;stroke:var(--kz-accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.kz-mailcard{margin-top:22px}
.kz-mailcard p{color:var(--kz-muted);font-size:.92rem;margin:6px 0 14px}
.kz-mailcard .kz-btn{margin-top:12px}

/* Kasse */
.kz-kgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px}
.kz-kchip{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border-radius:16px;border:1.5px solid transparent;background:var(--kz-card);box-shadow:var(--kz-shadow-s);
  text-align:left;font-size:.9rem;font-weight:550;line-height:1.2;color:var(--kz-text);transition:border-color .15s,background .15s,transform .1s}
.kz-kchip:active{transform:scale(.98)}
.kz-kchip[aria-pressed="true"]{border-color:var(--kz-accent);background:var(--kz-accent-soft)}
.kz-kchip span:last-child{min-width:0}
.kz-kchip.row{width:100%;margin-top:8px}
.kz-kb{flex:none;width:32px;height:32px;border-radius:10px;background:var(--kz-chip);color:var(--kz-text-2);font-size:.8125rem;font-weight:700;display:grid;place-items:center;letter-spacing:0}
.kz-ksuche{margin-top:20px}
.kz-klist:empty{display:none}
.kz-kmore{display:grid;gap:8px;margin-top:16px;padding-bottom:20px}
@media (min-width:520px){.kz-kgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kz-kmore{grid-template-columns:1fr 1fr}}

/* Optionen (Ampel) */
.kz-opts{display:grid;gap:10px;margin-top:24px}
.kz-opts.two{grid-template-columns:1fr 1fr}
.kz-opts.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.kz-opt{position:relative;display:flex;align-items:center;justify-content:center;min-height:60px;padding:12px 16px;border-radius:16px;background:var(--kz-card);border:2px solid transparent;
  box-shadow:var(--kz-shadow-s);font-weight:600;font-size:1.04rem;color:var(--kz-text);transition:border-color .15s,background .15s,transform .1s;text-align:center;line-height:1.25}
@media (hover:hover){.kz-opt:hover{border-color:var(--kz-line-2)}}
.kz-opt:active{transform:scale(.98)}
.kz-opt[aria-pressed="true"]{border-color:var(--kz-accent);background:var(--kz-accent-soft)}
.kz-opts.five .kz-opt{padding:8px 4px;font-size:1.02rem;min-height:56px}
.kz-opts.five .kz-opt:last-child{font-size:.8125rem;line-height:1.15}
.kz-kmore .kz-opt{font-size:.95rem;font-weight:550;min-height:56px}
.kz-qhint{font-size:.92rem;color:var(--kz-muted);margin-top:10px;line-height:1.45}
.kz-dots{display:flex;gap:6px;margin:4px 0 18px}
.kz-dots i{height:4px;flex:1;border-radius:2px;background:var(--kz-line-2);transition:background .3s}
.kz-dots i.on{background:var(--kz-accent)}
.kz-dots i.cur{background:var(--kz-accent);opacity:.45}
.kz-privacy{margin-top:auto;padding-top:28px;padding-bottom:16px}

/* Ergebnis */
.kz-stack.solo{margin-top:6px}
.kz-erg{padding:22px 20px}
.kz-erg-h{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.kz-erg-h small{display:block;font-size:.82rem;color:var(--kz-muted);font-weight:600}
.kz-erg .kz-h3{font-size:1.24rem}
.kz-stack.solo .kz-erg .kz-h3{font-size:clamp(1.3rem,5.6vw,1.6rem);line-height:1.2}
.kz-erg > p{color:var(--kz-text-2);font-size:.98rem;line-height:1.5}
.kz-erg > p + p{margin-top:8px}
.kz-erg .kz-btn{margin-top:14px}
.kz-ampel{flex:none;display:flex;flex-direction:column;gap:4px;background:#1d1d1f;border-radius:12px;padding:6px}
.kz-ampel i{width:14px;height:14px;border-radius:50%;background:#3a3a3c}
.kz-ampel.rot i:nth-child(1){background:#ff453a;box-shadow:0 0 10px rgba(255,69,58,.8)}
.kz-ampel.gelb i:nth-child(2){background:#ffd60a;box-shadow:0 0 10px rgba(255,214,10,.8)}
.kz-ampel.gruen i:nth-child(3){background:#30d158;box-shadow:0 0 10px rgba(48,209,88,.8)}
.kz-erg.gruen{box-shadow:var(--kz-shadow),inset 0 4px 0 var(--kz-ok)}
.kz-erg.gelb{box-shadow:var(--kz-shadow),inset 0 4px 0 #e0a100}
.kz-erg.rot{box-shadow:var(--kz-shadow),inset 0 4px 0 var(--kz-bad)}
.kz-done-ic{width:64px;height:64px;border-radius:50%;background:var(--kz-ok);color:#fff;font-size:2rem;font-weight:700;display:grid;place-items:center;margin-bottom:18px}
.kz-sum b{font-size:1.08rem}

/* ───────── Leistungsfilm ───────── */
.kz-film{margin-top:20px;padding:0;overflow:hidden}
.kz-film.static{padding:18px}
.f-stage{min-height:390px;padding:18px 18px 12px;display:flex}
.f-frame{flex:1;display:flex;flex-direction:column;animation:kz-in .5s var(--kz-ease) both}
.f-yh{display:flex;flex-direction:column;gap:2px}
.f-yh b{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}
.f-yh span{font-size:.84rem;color:var(--kz-muted)}
.f-bills{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.f-bills div{background:var(--kz-card-2);box-shadow:var(--kz-shadow-s);border-radius:14px;padding:10px 12px}
.f-bills span{display:block;font-size:.8125rem;color:var(--kz-muted);line-height:1.25}
.f-bills b{display:block;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}
.f-bills .k b{color:var(--kz-muted)}
.f-sub{font-size:.8125rem;font-weight:600;color:var(--kz-muted);margin:14px 0 2px;text-transform:uppercase;letter-spacing:.05em}
.f-rows{display:grid;gap:4px}
.f-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n v" "bar bar" "h h";column-gap:10px;padding:6px 0;border-bottom:1px solid var(--kz-line)}
.f-row:last-child{border-bottom:0}
.f-n{grid-area:n;min-width:0}
.f-n b{font-size:.95rem;font-weight:650;line-height:1.2}
.f-n small{font-size:.8125rem;color:var(--kz-muted);margin-left:6px}
.f-v{grid-area:v;font-size:1.05rem;font-weight:700;align-self:center;font-variant-numeric:tabular-nums}
.f-row.rec .f-v{color:var(--kz-ok)}
.f-bar{grid-area:bar;height:8px;border-radius:4px;background:var(--kz-chip);margin-top:7px;overflow:hidden}
.f-bar i{display:block;height:100%;width:0;border-radius:4px;background:var(--kz-muted);transition:width 1.1s var(--kz-ease)}
.f-row.rec .f-bar i{background:var(--kz-ok)}
.f-hint{grid-area:h;font-size:.8125rem;color:var(--kz-warn);margin-top:4px;font-weight:500}
.f-run{margin-top:auto;padding-top:12px;font-size:.82rem;color:var(--kz-text-2);border-top:1px solid var(--kz-line)}
.f-intro{align-items:center;justify-content:center;text-align:center;gap:14px}
.f-intro-ic{width:84px;height:84px;border-radius:26px;background:var(--kz-accent-soft);display:grid;place-items:center}
.f-intro-ic svg{width:52px;height:52px}
.f-intro-ic path{fill:var(--kz-card);stroke:var(--kz-accent);stroke-width:2.4;stroke-linejoin:round}
.f-intro-ic path.w{fill:none;stroke:var(--kz-text-2);stroke-width:2.2;stroke-linecap:round}
.f-intro-ic .w2{fill:var(--kz-text-2)}
.f-intro-t{font-size:1.3rem;font-weight:650;letter-spacing:-.02em;line-height:1.3;max-width:16em}
.f-end{justify-content:center}
.f-end-k{font-size:.84rem;font-weight:600;color:var(--kz-muted);text-transform:uppercase;letter-spacing:.05em}
.f-big{display:grid;gap:10px;margin-top:12px}
.f-big div{border-radius:16px;padding:14px 16px}
.f-big span{display:block;font-size:.9rem;font-weight:500;line-height:1.3}
.f-big b{display:block;font-size:2.1rem;font-weight:750;letter-spacing:-.035em;line-height:1.1;margin-top:2px;font-variant-numeric:tabular-nums}
.f-big .o{background:var(--kz-bad-soft)}.f-big .o b{color:var(--kz-bad)}
.f-big .m{background:var(--kz-ok-soft)}.f-big .m b{color:var(--kz-ok)}
.f-others{list-style:none;display:grid;gap:4px;margin-top:12px;font-size:.88rem;color:var(--kz-text-2)}
.f-others li{display:flex;justify-content:space-between;gap:10px}
.f-others b{font-variant-numeric:tabular-nums;white-space:nowrap}
.f-ctrl{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--kz-line);background:var(--kz-card-2)}
.f-pp{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--kz-chip);display:grid;place-items:center}
.f-pp[disabled]{opacity:.4}
.ic-pause{width:12px;height:14px;border-left:4px solid var(--kz-text);border-right:4px solid var(--kz-text)}
.ic-play{width:0;height:0;border-left:13px solid var(--kz-text);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.f-prog{flex:1;height:6px;border-radius:3px;background:var(--kz-line-2);overflow:hidden}
.f-prog i{display:block;height:100%;width:0;background:var(--kz-accent);transition:width .2s linear}
.f-time{font-size:.8125rem;color:var(--kz-muted);font-variant-numeric:tabular-nums;min-width:2.6em;text-align:right}
.kz-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
.kz-tab{width:100%;border-collapse:collapse;font-size:.84rem;font-variant-numeric:tabular-nums}
.kz-tab th,.kz-tab td{padding:9px 6px;border-bottom:1px solid var(--kz-line);text-align:right;vertical-align:top}
.kz-tab th:first-child,.kz-tab td:first-child{text-align:left}
.kz-tab thead th{font-weight:650;font-size:.8125rem;color:var(--kz-text-2)}
.kz-tab tbody th{font-weight:500;color:var(--kz-muted)}
.kz-tab tfoot th,.kz-tab tfoot td{border-bottom:0;font-weight:600}
.kz-film.static .f-end{margin-top:20px}

/* ───────── Tarife (Stub Stufe 2) ───────── */
.kz-s2-h{max-width:640px}
.kz-tiers{display:grid;gap:16px;margin-top:26px}
.kz-tier{position:relative;display:flex;flex-direction:column;background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);padding:22px 20px 20px;border:2px solid transparent}
.kz-tier.rec{border-color:var(--kz-accent);order:-1;box-shadow:var(--kz-shadow-lg)}
.kz-badge{position:absolute;top:-13px;left:18px;background:var(--kz-accent);color:var(--kz-accent-ink);font-size:.8125rem;font-weight:700;padding:5px 12px;border-radius:99px;letter-spacing:.01em}
:root.kz-dark .kz-badge{background:#0071e3}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-badge{background:#0071e3}}
.kz-tier-v{font-size:.8125rem;color:var(--kz-muted);font-weight:500}
.kz-tier .kz-h3{font-size:1.3rem;margin-top:1px;overflow-wrap:anywhere;hyphens:auto}
.kz-tier{min-width:0}
.kz-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:14px}
.kz-price b{font-size:2.2rem;font-weight:700;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.kz-price span{color:var(--kz-muted);font-size:.9rem}
.kz-price-next{font-size:.84rem;color:var(--kz-text-2);margin-top:6px;font-variant-numeric:tabular-nums}
.kz-perkid small{font-weight:500;color:var(--kz-muted)}
.kz-perkid{list-style:none;display:grid;gap:2px;margin-top:8px;font-size:.84rem;color:var(--kz-muted)}
.kz-perkid li{display:flex;justify-content:space-between}
.kz-perkid b{color:var(--kz-text);font-weight:600;font-variant-numeric:tabular-nums}
.kz-sb{display:inline-flex;align-self:flex-start;margin-top:10px;font-size:.8125rem;font-weight:650;color:var(--kz-ok);background:var(--kz-ok-soft);border-radius:99px;padding:4px 10px}
.kz-feat{list-style:none;display:grid;gap:8px;margin:16px 0 14px;font-size:.88rem;color:var(--kz-text-2)}
.kz-feat li{display:flex;gap:9px;align-items:flex-start;line-height:1.38}
.kz-feat li::before{content:"";flex:none;width:17px;height:17px;margin-top:1px;border-radius:50%;background:var(--kz-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.kz-fall{font-size:.86rem;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s);border-radius:12px;padding:10px 12px;margin-bottom:14px;line-height:1.4}
.kz-tier .kz-btn{margin-top:auto}
.kz-tab.cmp td{text-align:center;font-size:.82rem}
.kz-tab.cmp thead th{text-align:center}
.kz-tab.cmp thead th:first-child{text-align:left}
.kz-tab.cmp tbody th{min-width:8.5em}
@media (min-width:860px){
  .kz-tiers{grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:stretch;gap:18px;margin-top:40px}
  .kz-tier.rec{order:0;transform:translateY(-10px)}
  .kz-s2-h{margin:0 auto;text-align:center}
  .kz-s2-h .kz-lead{margin-left:auto;margin-right:auto}
  :root[data-screen="s2-tarif"] .kz-view > .kz-screen > .kz-more,:root[data-screen="s2-tarif"] .kz-mailcard{max-width:860px;width:100%;margin-left:auto;margin-right:auto}
  :root[data-screen="s2-tarif"] .kz-back{margin-left:0}
}

/* ───────── Stufe 2 (Etappe 2) ───────── */
.kz-tier.sel{box-shadow:var(--kz-shadow-lg)}
.kz-tier:not(.rec).sel{border-color:var(--kz-accent)}
.kz-tiers.allein{max-width:460px;margin-left:auto;margin-right:auto}
@media (min-width:860px){.kz-tiers.allein{grid-template-columns:1fr}.kz-tiers.allein .kz-tier.rec{transform:none}}
.kz-alt{max-width:460px;margin:8px auto 0}
.kz-price-tag{font-size:.8125rem;color:var(--kz-muted);margin-top:4px;font-variant-numeric:tabular-nums}
.kz-perkid li.sum{border-top:1px solid var(--kz-line);padding-top:4px;margin-top:2px;color:var(--kz-text);font-weight:600}
.kz-gelb{font-size:.84rem;color:var(--kz-warn);background:var(--kz-warn-soft);border-radius:10px;padding:6px 10px;margin-top:10px}
.kz-fall{display:flex;flex-direction:column;gap:2px}
.kz-fall b{order:-1;font-size:1.45rem;line-height:1.15;letter-spacing:-.02em;color:var(--kz-ok);font-variant-numeric:tabular-nums}
.kz-fall span{color:var(--kz-text-2);font-size:.86rem}
.kz-fall small{color:var(--kz-muted);font-size:.8125rem}
.kz-more.in-card{margin:0 0 14px;box-shadow:none;background:var(--kz-card-2)}
.kz-kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:6px 12px;margin:0;font-size:.86rem}
.kz-kv dt{color:var(--kz-muted)}
.kz-kv dd{margin:0;color:var(--kz-text);overflow-wrap:anywhere}
.kz-kv dt{min-width:0;overflow-wrap:break-word;hyphens:auto}
/* B05: schmale Karten (≤ 360 px Viewport) – Bezeichnung über dem Wert statt zwei Spalten */
@media (max-width:360px){.kz-kv{grid-template-columns:minmax(0,1fr);gap:0}.kz-kv dt{margin-top:8px;font-size:.8125rem}.kz-kv dt:first-child{margin-top:0}.kz-kv dd{font-weight:500}}
.kz-gsbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;max-width:640px;margin:18px auto 0;background:var(--kz-warn-soft);border-radius:14px;padding:10px 14px;font-size:.9rem;color:var(--kz-text)}
.kz-gsbar b{font-variant-numeric:tabular-nums}
.kz-gsbar.ab{background:var(--kz-chip);color:var(--kz-muted)}
.kz-gkv{margin-top:20px;display:grid;gap:8px}
.kz-gkv-z{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.95rem}
.kz-gkv-z b{font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.kz-gkv-z.m b{color:var(--kz-muted);font-weight:600}
.kz-gkv-z.n{border-top:1px solid var(--kz-line);padding-top:8px;font-weight:650}
.kz-gkv-z.n b{color:var(--kz-ok);font-size:1.35rem}
.kz-gkv-z.neg b{color:var(--kz-text)}
.kz-chips{display:flex;flex-wrap:wrap;gap:8px}
.kz-chip.sm{min-height:44px;padding:0 12px;font-size:.88rem}
.kz-two{grid-template-columns:1fr 1fr;gap:10px}
.kz-btn.eq{background:var(--kz-card);color:var(--kz-text);box-shadow:inset 0 0 0 1.5px var(--kz-line-2);min-height:calc(var(--kz-tap) + 6px);font-size:.98rem;padding:0 10px}
@media (hover:hover){.kz-btn.eq:hover{box-shadow:inset 0 0 0 2px var(--kz-accent)}}
@media (min-width:760px){.kz-two{display:grid;grid-template-columns:1fr 1fr}.kz-dock.kz-two .kz-btn{max-width:none}}
.kz-gift-big{width:76px;height:76px;border-radius:24px;background:var(--kz-warn-soft);display:grid;place-items:center;font-size:2.4rem;margin:0 0 18px}
.kz-gift-big.ab{background:var(--kz-chip)}
.kz-gscard{margin-top:20px}
.kz-gs-rest{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.kz-gs-rest b{font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* ───────── Stufe 3 – Antrag (Etappe 3) ───────── */
.kz-s3kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.kz-s3kopf .kz-eyebrow{margin-bottom:8px;min-width:0}
.kz-s3n{font-size:.8125rem;color:var(--kz-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.kz-s3prog{height:4px;border-radius:2px;background:var(--kz-line-2);overflow:hidden;margin:0 0 18px}
.kz-s3prog i{display:block;height:100%;background:var(--kz-accent);transform-origin:left center;transition:transform .35s var(--kz-ease)}
.kz-h2.s3{font-size:clamp(1.42rem,5.8vw,1.9rem);line-height:1.18}
.kz-form.s3{margin-top:20px}
.kz-q3{font-size:1.08rem;font-weight:600;line-height:1.4;color:var(--kz-text)}
.kz-row2,.kz-row-plz,.kz-row-hnr{display:grid;gap:16px 12px;grid-template-columns:minmax(0,1fr);margin-top:16px;align-items:start}
.kz-form > .kz-row2:first-child,.kz-form > .kz-row-plz:first-child,.kz-s3step > .kz-row-plz:first-child{margin-top:0}
.kz-row2 > .kz-fg,.kz-row-plz > .kz-fg,.kz-row-hnr > .kz-fg{margin-top:0}
.kz-row-plz{grid-template-columns:minmax(6.8em,.4fr) minmax(0,1fr)}
.kz-row-hnr{grid-template-columns:minmax(0,1fr) minmax(7.2em,.34fr)}
@media (min-width:400px){.kz-row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.kz-fs + .kz-row2{margin-top:20px}
.kz-chips .kz-chip{flex:1 1 auto;min-width:5.5em;min-height:var(--kz-tap)}
.kz-tagrow{display:flex;align-items:center;gap:10px}
.kz-tagrow .kz-tag{width:5.2em;flex:none;text-align:center;font-variant-numeric:tabular-nums}
.kz-tagrow span{font-size:1.06rem;font-weight:600;color:var(--kz-text-2)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}
.kz-in.mono{font-size:max(16px,1rem)}
.kz-ibanst{font-size:.875rem;color:var(--kz-muted);margin-top:6px;font-weight:500;min-height:1.3em}
.kz-ibanst.ok{color:var(--kz-ok)}
.kz-ibanst.bad{color:var(--kz-bad)}
.kz-cb{min-height:44px;padding:4px 0;align-items:flex-start;font-size:.9375rem}
.kz-cb input{margin-top:1px}
.kz-cb.sepa{background:var(--kz-card);box-shadow:var(--kz-shadow-s);border-radius:var(--kz-radius-s);padding:14px 14px;margin-top:18px}
.kz-sub{margin-top:16px;padding:14px;border-radius:var(--kz-radius-s);background:var(--kz-card-2);box-shadow:var(--kz-shadow-s)}
.kz-sub .kz-label{margin-bottom:0}
.kz-note.rot{background:var(--kz-bad-soft)}
.kz-note.rot > b{display:block;margin-bottom:2px}
.kz-note-a{display:grid;gap:4px;margin-top:10px}
.kz-gfliste{list-style:none;display:grid;gap:0;background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s);padding:2px 14px}
.kz-gfliste li{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--kz-line);font-size:.9375rem;line-height:1.4;color:var(--kz-text-2)}
.kz-gfliste li:last-child{border-bottom:0}
.kz-gfliste b{flex:none;color:var(--kz-text);font-weight:650}
.kz-radiol{display:grid;gap:8px}
.kz-opt.row{justify-content:space-between;text-align:left;min-height:56px;gap:12px}
.kz-opt.row small{font-size:.8125rem;font-weight:600;color:var(--kz-ok)}
.kz-kwcard{display:flex;align-items:center;gap:14px}
.kz-kwcard b{display:block;font-size:1.05rem}
.kz-kwcard small{display:block;color:var(--kz-muted);font-size:.875rem;overflow-wrap:anywhere}
.kz-bump{display:flex;gap:14px;align-items:flex-start;cursor:pointer;padding:16px;border-radius:var(--kz-radius-s);border:2px dashed var(--kz-accent);background:var(--kz-accent-soft);line-height:1.4}
.kz-bump input{width:26px;height:26px;margin:0;flex:none;accent-color:var(--kz-accent)}
.kz-bump b{display:block;font-size:1.02rem;font-weight:650;color:var(--kz-text)}
.kz-bump small{display:block;margin-top:4px;font-size:.875rem;color:var(--kz-text-2)}
.kz-s3sum{padding:18px}
.kz-s3sum .kz-h3{margin-bottom:6px}
.kz-s3sum .kz-perkid{font-size:.9375rem;margin-bottom:10px}
.kz-s3sum .kz-kv{border-top:1px solid var(--kz-line);padding-top:10px}
.kz-bests{display:grid;gap:10px;margin-top:16px}
.kz-best{background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s);padding:6px 14px 4px}
.kz-best .kz-cb{margin-top:0;font-size:.9375rem;color:var(--kz-text)}
.kz-best .kz-cb b{font-weight:600}
.kz-best .kz-more{margin:0 0 4px 34px;box-shadow:none;background:none}
.kz-best .kz-more summary{padding:0;min-height:44px}
.kz-best .kz-more > div{padding:0 0 10px;font-size:.875rem}
.kz-best .kz-ferr{margin:0 0 8px 34px}
.kz-s3links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;margin-top:6px}
.kz-teilen{margin-top:12px}
.kz-teilen > p{font-size:.9375rem;line-height:1.45;color:var(--kz-text-2)}
.kz-copy{display:grid;gap:8px;margin-top:12px}
.kz-copy .kz-in{font-size:max(16px,.95rem);min-height:48px}
.kz-copy-a{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kz-copy-a .kz-btn:only-child{grid-column:1 / -1}
.kz-s3sec{background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);padding:20px;margin-top:16px}
.kz-s3sec > .kz-h3{margin-bottom:14px}
.kz-s3sec .kz-in,.kz-s3sec .kz-select{background:var(--kz-bg-2)}
.kz-s3step + .kz-s3step{margin-top:20px}
.kz-s3step.gf + .kz-s3step.gf{border-top:1px solid var(--kz-line);padding-top:18px}
.kz-s3t{font-weight:650;font-size:1rem;margin-bottom:10px}
.kz-s3step .kz-opts{margin-top:14px}
.kz-s3step .kz-q3{font-size:1rem}
.kz-s3step .kz-s3sum{box-shadow:var(--kz-shadow-s)}
@media (min-width:860px){
  :root[data-screen="s3-seite"] .kz-view{max-width:680px}
  .kz-s3sec{padding:26px 28px}
  .kz-copy{grid-template-columns:minmax(0,1fr) auto}
  .kz-copy-a{grid-template-columns:auto auto}
}

/* Partner-Seite, Danke-Seite */
.kz-pcard{margin-top:22px}
.kz-pcard .kz-feat{margin:14px 0 12px}
.kz-pcard .kz-kv{border-top:1px solid var(--kz-line);padding-top:10px;margin-top:12px}
.kz-dk-steps{list-style:none;counter-reset:s;display:grid;gap:12px;margin:14px 0 18px}
.kz-dk-steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:12px;font-size:1rem;line-height:1.45;color:var(--kz-text-2)}
.kz-dk-steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--kz-accent-soft);color:var(--kz-accent);font-weight:700;font-size:.9rem;display:grid;place-items:center}
.kz-dk-steps b{color:var(--kz-text)}
.kz-seite .kz-dock .kz-fine{margin-top:6px}

/* ───────── Aktionen, Personalisierung (Etappe 6) ───────── */
.kz-akv{display:block;flex:none}
.kz-akv .a{fill:none;stroke:var(--kz-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.kz-akv .s{fill:var(--kz-accent-soft);stroke:none}
.kz-akv .k{fill:none;stroke:var(--kz-text-2);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.kz-akv.sm{width:30px;height:30px}
.kz-akb{display:flex;align-items:center;gap:10px;background:var(--kz-card);box-shadow:var(--kz-shadow-s);border-radius:14px;padding:8px 12px;margin:0 0 14px;font-size:.9375rem;font-weight:600;line-height:1.3;color:var(--kz-text);max-width:34em}
.kz-hero-vis{position:relative}
.kz-akv.deko{position:absolute;top:18px;right:18px;width:72px;height:72px;opacity:.9}
.kz-avatar.illu{background:var(--kz-accent-soft);padding:4px}
.kz-illu{width:100%;height:100%}
.kz-illu .a{fill:none;stroke:var(--kz-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.kz-illu .s{fill:var(--kz-card)}
.kz-illu .k{fill:none;stroke:var(--kz-text-2);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.kz-illu circle.a{fill:var(--kz-text-2);stroke:none}
.kz-illu.gross{width:48px;height:48px;flex:none;background:var(--kz-accent-soft);border-radius:50%;padding:4px}
.kz-sum-h{display:flex;align-items:center;gap:12px}
.kz-sum-h b{font-size:1.08rem}
.kz-warum{margin-top:10px;font-size:.9375rem}
.kz-warum summary{cursor:pointer;color:var(--kz-link);font-weight:500;min-height:44px;display:inline-flex;align-items:center;list-style:none}
.kz-warum summary::-webkit-details-marker{display:none}
.kz-warum summary::before{content:"?";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--kz-accent-soft);color:var(--kz-link);font-size:.8125rem;font-weight:700;margin-right:8px}
.kz-warum p{color:var(--kz-text-2);line-height:1.5;margin:0 0 4px;padding:10px 12px;background:var(--kz-card-2);border-radius:12px}
.kz-price.tag b{color:var(--kz-text)}
/* Hebel cta_stil: nur Kontrast-/Isolations-Varianten (AUFTRAG §8), alle ≥ 4,5:1 */
/* Arme des Hebels cta_stil (A05: Engine = Frontend = CSS). „dunkel“ = Alias der früheren Variante „kontrast“ (Text-/Hintergrundfarbe vertauscht),
   „kontrast_gruen“ = dunkles Grün mit weißer Schrift (≥ 4,5:1 hell und dunkel), „isoliert“ = Akzent mit Ring, Nebenknöpfe ruhiger */
:root[data-cta="kontrast"] .kz-btn.p,:root[data-cta="kontrast"] .kz-btn.p:hover,:root[data-cta="dunkel"] .kz-btn.p,:root[data-cta="dunkel"] .kz-btn.p:hover{background:var(--kz-text);color:var(--kz-bg);box-shadow:0 8px 22px rgba(0,0,0,.2)}
@media (hover:hover){:root[data-cta="kontrast"] .kz-btn.p:hover,:root[data-cta="dunkel"] .kz-btn.p:hover{opacity:.92}}
:root[data-cta="kontrast_gruen"] .kz-btn.p,:root[data-cta="kontrast_gruen"] .kz-btn.p:hover{background:#13702e;color:#fff;box-shadow:0 8px 22px rgba(19,112,46,.28)}
@media (hover:hover){:root[data-cta="kontrast_gruen"] .kz-btn.p:hover{background:#0f6228}}
:root[data-cta="isoliert"] .kz-btn.p{box-shadow:0 0 0 4px var(--kz-accent-soft),0 12px 28px var(--kz-accent-sh)}
:root[data-cta="isoliert"] .kz-btn.s,:root[data-cta="isoliert"] .kz-chip{background:var(--kz-card)}

/* ───────── Danke-Seite (Etappe 4) ───────── */
.kz-konfetti{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:150}
.kz-dk-sec{background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);padding:20px;margin-top:20px}
.kz-dk-sec.plain{background:none;box-shadow:none;padding:4px 0 0}
.kz-dk-sec > .kz-h3{margin-bottom:12px}
.kz-dk-sec > .kz-lead.sm{margin-top:0}
.kz-dk-karte + .kz-dk-karte{margin-top:22px}
.kz-dk-cap{margin:8px 2px 0;text-align:center}
.kz-wallet{display:block;width:100%;height:auto;aspect-ratio:1050/660;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.18);background:var(--kz-chip)}
.kz-dk-a{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:14px}
.kz-dk-a .kz-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kz-applewallet{background:#000;color:#fff;border-radius:14px}
:root.kz-dark .kz-applewallet{box-shadow:inset 0 0 0 1.5px #5a5a5e}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-applewallet{box-shadow:inset 0 0 0 1.5px #5a5a5e}}
.kz-dk-vorl{margin-top:20px}
.kz-dk-text{margin-top:10px;background:var(--kz-card-2);border-radius:16px 16px 16px 4px;padding:12px 14px;font-size:.9375rem;line-height:1.45;color:var(--kz-text-2);box-shadow:var(--kz-shadow-s);overflow-wrap:anywhere}
.kz-dk-urk-in{display:grid;gap:14px;margin-top:14px;justify-items:center}
.kz-story{display:block;height:auto;width:min(62vw,240px);aspect-ratio:1080/1920;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.18);background:var(--kz-chip)}
.kz-dk-urk-in .kz-dk-a{width:100%;margin-top:0}
.kz-dk-prem{margin-top:12px;font-size:1rem;line-height:1.45}
.kz-dk-prem b{color:var(--kz-ok)}
.kz-dk-portal .kz-btn,.kz-dk-el > .kz-btn{margin-top:14px}
.kz-dk-st{display:block;min-height:1.2em;margin-top:6px}
.kz-dk-q{margin-top:18px}
.kz-dk-q .kz-opts{margin-top:12px}
.kz-dk-el .kz-bests{margin-top:12px}
.kz-dk-el .kz-btn.p{margin-top:14px}
.kz-dk-emp .kz-cb{margin-top:14px}
@media (max-width:359px){.kz-dk-sec{padding:18px 16px}.kz-dk-sec .kz-opts.five{gap:6px}}
@media (min-width:640px){.kz-dk-urk-in{grid-template-columns:auto 1fr;align-items:center;justify-items:start}.kz-story{width:200px}}

/* ───────── Policen-Portal (Etappe 4) ───────── */
.kz-pt-prem{margin-top:18px}
.kz-pt-prem b.kz-pt-txt{display:block;font-size:1.15rem;line-height:1.35}
.kz-pt-bar{height:10px;border-radius:5px;background:var(--kz-line-2);overflow:hidden;margin:12px 0 8px}
.kz-pt-bar i{display:block;height:100%;background:var(--kz-ok);transform-origin:left center;transition:transform .5s var(--kz-ease)}
.kz-pt-dots{display:flex;gap:8px;margin-top:4px}
.kz-pt-dots i{width:30px;height:30px;border-radius:50%;background:var(--kz-chip);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.875rem;color:var(--kz-muted)}
.kz-pt-dots i.on{background:var(--kz-ok);color:#fff}
.kz-pt-sparten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.kz-pt-sparten .kz-chip{width:100%;justify-content:flex-start;text-align:left;padding:0 12px;min-height:48px}
@media (min-width:520px){.kz-pt-sparten{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kz-pt-quellen{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.kz-pt-quellen label{position:relative;overflow:hidden}
.kz-pt-quellen input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;font-size:16px}
.kz-pt-quellen label:focus-within{outline:3px solid var(--kz-focus);outline-offset:2px}
.kz-pt-seiten{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:14px}
.kz-pt-seiten li{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--kz-chip);display:grid;place-items:center;font-size:.8125rem;font-weight:600;color:var(--kz-text-2);text-align:center;padding:4px}
.kz-pt-seiten img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kz-pt-seiten button{position:absolute;top:2px;right:2px;width:44px;height:44px;border:0;background:none;display:grid;place-items:center;padding:0}
.kz-pt-seiten button span{width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:1rem;line-height:26px}
.kz-pt-fort{height:8px;border-radius:4px;background:var(--kz-line-2);overflow:hidden;margin-top:12px}
.kz-pt-fort i{display:block;height:100%;background:var(--kz-accent);transform-origin:left center;transform:scaleX(0)}
.kz-pt-liste{list-style:none;display:grid;gap:10px;margin-top:12px}
.kz-pt-pol{background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s);padding:14px 16px}
.kz-pt-pol-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.kz-pt-pol-h b{font-size:1.02rem}
.kz-pt-pol small{display:block;color:var(--kz-muted);font-size:.875rem;margin-top:2px}
.kz-pt-st{font-size:.8125rem;font-weight:650;border-radius:99px;padding:3px 10px;background:var(--kz-chip);white-space:nowrap}
.kz-pt-st.praemie_faellig,.kz-pt-st.ausgezahlt{background:var(--kz-ok-soft);color:var(--kz-ok)}
.kz-pt-st.in_pruefung{background:var(--kz-accent-soft)}
.kz-pt-st.abgelehnt{background:var(--kz-bad-soft);color:var(--kz-bad)}
.kz-pt-pol-a{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px}

/* ───────── Kleine Höhen (SPEC §17: iPhone SE 375×667, 320×568) ─────────
 * Logozeile scrollt weg (nur Fortschritt/Zähler bleiben stehen), Hero kompakt: CTA im ersten Bildschirm, auch mit Einwilligungsbanner. */
@media (max-height:700px) and (max-width:759px){
  .kz-top{top:-46px}
  .kz-top-in{height:46px}
  .kz-meter{padding-bottom:6px}
  .kz-view{padding-top:14px}
  .kz-hero .kz-eyebrow{margin-bottom:6px}
  .kz-hero .kz-h1{font-size:clamp(1.55rem,7vw,1.95rem);line-height:1.08}
  .kz-hero .kz-lead{font-size:1rem;margin-top:10px;line-height:1.42}
  .kz-steps{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px}
  .kz-steps li{grid-template-columns:22px auto;column-gap:6px;align-items:center}
  .kz-steps li::before{width:22px;height:22px;font-size:.8125rem;grid-row:auto}
  .kz-steps span{display:none}
  .kz-steps b{font-size:.9375rem}
  .kz-dock-hero{padding-top:14px}
  .kz-hero-txt{min-height:calc(100dvh - 60px)}
  .kz-dock{padding-top:16px}
  /* Film (B06): Überschrift kompakt, Animation im ersten Bildschirm, Dock schlanker */
  .kz-film-h{font-size:1.35rem;line-height:1.15}
  .kz-film{margin-top:12px}
  .f-stage{min-height:300px;padding:12px 14px 8px}
  #kz-fdock{padding-top:10px}
  #kz-fdock .kz-btn{min-height:46px}
  /* Tarif (B07): Überschrift/Einleitung kompakt, damit Karte mit Beitrag früh sichtbar ist */
  .kz-s2-h .kz-eyebrow{display:none}
  .kz-s2-h .kz-h2{font-size:1.4rem;line-height:1.15}
  .kz-s2-h .kz-lead{font-size:.9375rem;line-height:1.4;margin-top:8px}
  .kz-tiers{margin-top:18px}
  .kz-dock-s2{padding-top:12px}
}
@media (max-height:600px) and (max-width:759px){
  /* 320×568: Platz für Überschrift, Text und CTA über dem Einwilligungsbanner – Augenbraue und Schritte entfallen */
  .kz-hero .kz-eyebrow,.kz-hero .kz-steps{display:none}
  .kz-hero .kz-lead{margin-top:8px}
  .kz-hero .kz-h1{font-size:clamp(1.45rem,6.8vw,1.8rem)}
  .kz-h2.q{font-size:1.2rem}
  .kz-film-h{font-size:1.2rem}
  [data-screen="s1-film"] .kz-eyebrow{display:none}
}
/* Querformat Handy (B36): Schriftgröße an die Höhe koppeln, Hero-CTA im ersten Bildschirm */
@media (orientation:landscape) and (max-height:500px) and (max-width:1023px){
  .kz-top{top:-46px}
  .kz-top-in{height:46px}
  .kz-view{padding-top:12px}
  .kz-hero .kz-h1{font-size:clamp(1.4rem,8.5vh,2.1rem);line-height:1.08;max-width:22em}
  .kz-hero .kz-eyebrow{margin-bottom:4px}
  .kz-hero .kz-lead{font-size:1rem;margin-top:8px;line-height:1.4;max-width:40em}
  .kz-hero .kz-steps{display:none}
  .kz-hero-txt{min-height:calc(100dvh - 58px)}
  .kz-dock-hero{padding-top:12px}
  .kz-h2{font-size:clamp(1.3rem,7vh,1.8rem)}
}
@media (max-width:359px){
  .kz-kchip .kz-kb{display:none}
  .kz-kchip{padding:8px 10px}
  .kz-in.mono{letter-spacing:0;padding-left:12px;padding-right:12px}
}
.kz-kchip span:last-child{overflow-wrap:break-word;hyphens:auto}
small{font-size:.8125rem}
.kz-beginn .kz-select{font-size:max(16px,1rem)}

/* ───────── Bildschirmtastatur offen (SPEC §17, KZ.tastatur) ───────── */
:root.kz-tastatur .kz-dock{position:static;background:none;padding-top:20px}
:root.kz-tastatur .kz-meter{display:none}
:root.kz-tastatur .kz-top{position:relative;top:0}
:root.kz-tastatur body{padding-bottom:calc(var(--kz-kb-h,0px) + var(--kz-dock-h,0px))}
/* B33: Dock mit Haupt-Button direkt über der Tastatur (top setzt KZ.tastatur aus dem VisualViewport) */
:root.kz-tastatur .kz-dock.kz-dock-kb{position:fixed;left:0;right:0;bottom:auto;margin:0;padding:8px max(16px,calc((100vw - var(--kz-maxw)) / 2)) 8px;z-index:60;
  background:var(--kz-glass);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-top:1px solid var(--kz-line);gap:0}
:root.kz-tastatur .kz-dock.kz-dock-kb > :not(.kz-btn.p){display:none}
:root.kz-tastatur .kz-dock.kz-dock-kb .kz-btn.p{min-height:48px}

/* ───────── Fuß, Toast ───────── */
.kz-foot{max-width:var(--kz-maxw-desk);width:100%;margin:28px auto 0;padding:18px 16px calc(24px + env(safe-area-inset-bottom));font-size:.8125rem;color:var(--kz-muted);border-top:1px solid var(--kz-line);display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;align-items:center}
.kz-foot a,.kz-foot button{color:var(--kz-muted);text-decoration:none;border:0;background:none;padding:6px 4px;font-size:inherit;min-height:44px;display:inline-flex;align-items:center}
@media (hover:hover){.kz-foot a:hover,.kz-foot button:hover{color:var(--kz-text);text-decoration:underline}}
/* Toast unten über dem Haupt-Button (B10: verdeckt weder „Zurück“ noch die Überschrift) */
.kz-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 92px);width:max-content;z-index:120;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--kz-text);color:var(--kz-bg);font-size:.9rem;font-weight:500;
  padding:11px 18px;border-radius:99px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:all .35s var(--kz-ease);max-width:calc(100vw - 32px);text-align:center}
.kz-toast.on{opacity:1;transform:translate(-50%,0)}
@media (min-width:860px){.kz-toast{bottom:28px}}
:root.kz-tastatur .kz-toast{bottom:calc(var(--kz-kb-h,0px) + 84px)}

/* ───────── Einwilligungsbanner: Gestaltung in css/kz-consent.css (Besitzer Messung); hier nur das Dock ───────── */
/* B11: „Details“ mit 44 px Tippfläche, ohne die Textzeile zu vergrößern (negativer Rand gleicht die Polsterung aus) */
.kzc .kzc-t .kzc-mehr{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:10px 6px;margin:-10px -6px;vertical-align:baseline}
:root.kzc-offen .kz-dock{position:static;background:none}

/* ───────── Rechtsseiten ───────── */
.kz-legal{max-width:760px;margin:0 auto;padding:30px 16px 10px}
.kz-legal .kz-card{padding:28px 22px}
.kz-legal h1{font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.1;margin-bottom:6px}
.kz-legal h2{font-size:1.18rem;margin:30px 0 8px}
.kz-legal h3{font-size:1rem;margin:20px 0 6px}
.kz-legal p,.kz-legal li{font-size:.95rem;line-height:1.6;color:var(--kz-text-2);overflow-wrap:break-word;hyphens:auto;min-width:0}
.kz-legal p+p{margin-top:10px}
.kz-legal a{overflow-wrap:anywhere}
.kz-legal ul{padding-left:1.2em;margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.kz-legal .stand{color:var(--kz-muted);font-size:.85rem}
.kz-legal address{font-style:normal;line-height:1.6;font-size:.95rem}
.kz-legal-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 4px 0 0;margin:0 0 10px;font-weight:500;text-decoration:none} /* B29: Tippziel ≥ 44 px */
@media (min-width:760px){.kz-legal{padding-top:50px}.kz-legal .kz-card{padding:44px 48px}}

/* ───────── Bewegung reduzieren / Express ───────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
:root.kz-express .kz-screen,:root.kz-express .f-frame{animation:none}
:root.kz-express *{transition-duration:.05s!important}
@media (forced-colors:active){.kz-btn,.kz-opt,.kz-chip,.kz-kchip{border:2px solid ButtonText}}
@media print{.kz-top,.kz-dock,.kz-foot{display:none}}

/* ───────── Stufe 2: Preiszeile im Dock (B07/B37) ───────── */
.kz-dock-preis{margin:0 0 2px;text-align:center;font-size:.9375rem;color:var(--kz-text-2);font-variant-numeric:tabular-nums}
.kz-dock-preis b{color:var(--kz-text);font-weight:700}
@media (min-width:760px){
  .kz-dock.kz-dock-s2{position:sticky;bottom:0;z-index:20;padding:14px 0 calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--kz-bg) 72%,rgba(0,0,0,0))}
}
:root.kz-tastatur .kz-dock.kz-dock-s2{position:static}

/* ═════════ Änderungsauftrag 21.10.2026: freundlicher, ruhiger, eine Hauptaussage je Ansicht ═════════ */

/* Startseite: Vertrauensleiste nah am Hauptbutton */
.kz-hero .kz-lead{font-size:1.12rem;margin-top:18px}
.kz-dock-hero{padding-top:30px;margin-top:0;position:static;background:none;padding-bottom:0}
.kz-hero-txt{min-height:0}
.kz-trustbar{display:grid;gap:10px;margin-top:14px;max-width:30em}
.kz-g{display:flex;align-items:center;gap:12px;background:var(--kz-card);border-radius:18px;box-shadow:var(--kz-shadow);padding:12px 16px;text-decoration:none;color:var(--kz-text);min-height:56px}
@media (hover:hover){a.kz-g:hover{box-shadow:var(--kz-shadow),inset 0 0 0 1.5px var(--kz-line-2)}}
.kz-g-ic{flex:none;width:38px;height:38px;border-radius:12px;background:var(--kz-sun-soft);display:grid;place-items:center}
.kz-g-ic svg{width:22px;height:22px;fill:#f2a900}
.kz-g-t{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.kz-g-w{font-size:1rem}
.kz-g-w b{font-size:1.12rem}
.kz-g-t small{color:var(--kz-muted);font-size:.8125rem;overflow-wrap:anywhere}
.kz-trustbar .kz-trust{justify-content:flex-start;margin-top:0;gap:6px 16px;font-size:.84rem;color:var(--kz-text-2)}
.kz-steps li::before{background:var(--kz-mint);color:var(--kz-ok)}
:root.kz-dark .kz-steps li::before{color:var(--kz-ok)}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-steps li::before{color:var(--kz-ok)}}
.kz-steps b{font-size:.98rem;font-weight:600;color:var(--kz-text-2)}
.kz-hero-vis-t{font-weight:650;font-size:1.05rem;margin-bottom:18px}
.kz-hero-vis-s{color:var(--kz-muted);font-size:.9rem;margin-top:14px}
@media (min-width:860px){.kz-trustbar .kz-trust{justify-content:flex-start}}

/* Zeitstrahl */
.kz-zs{margin:4px 0 0}
.kz-zs-h{display:none;padding-top:44px}
.kz-zs-track{position:relative;height:18px;border-radius:9px;background:var(--kz-chip)}
.kz-zs-seg{position:absolute;top:0;bottom:0;border-radius:9px}
.kz-zs-seg.v{background:linear-gradient(90deg,#cfe3ff,#a9cbff)}
.kz-zs-seg.c{background:#f6a700}
.kz-zs-seg.b{background:linear-gradient(90deg,rgba(224,49,49,.25),#e03131 45%)}
.kz-zs-now{position:absolute;top:-40px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;white-space:nowrap}
.kz-zs-now b{font-size:.8125rem;font-weight:700;background:var(--kz-text);color:var(--kz-bg);border-radius:99px;padding:4px 10px}
.kz-zs-now i{width:4px;height:34px;background:var(--kz-text);border-radius:2px;margin-top:2px}
.kz-zs-ax{position:relative;height:22px;margin-top:6px;font-size:.78rem;color:var(--kz-muted);font-variant-numeric:tabular-nums}
.kz-zs-ax span{position:absolute;transform:translateX(-50%)}
.kz-zs-ax span:first-child{transform:none}
.kz-zs-axl{font-size:.78rem;color:var(--kz-muted);text-align:right}
.kz-zs-v{list-style:none;display:grid;gap:0;position:relative;margin:6px 0 0;padding-left:26px}
.kz-zs-v::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:4px;border-radius:2px;background:linear-gradient(#a9cbff 0 33%,#f6a700 33% 62%,#e03131 62%)}
.kz-zs-v li{position:relative;padding:8px 0 10px;display:flex;flex-direction:column;gap:2px}
.kz-zs-v li::before{content:"";position:absolute;left:-24px;top:12px;width:14px;height:14px;border-radius:50%;border:3px solid var(--kz-card);box-shadow:0 0 0 1px var(--kz-line-2)}
.kz-zs-v li.v::before{background:#7fb1ff}.kz-zs-v li.c::before{background:#f6a700}.kz-zs-v li.b::before{background:#e03131}
.kz-zs-v li b{font-size:1rem;font-weight:650}
.kz-zs-v li span{font-size:.88rem;color:var(--kz-text-2);line-height:1.4}
.kz-zs-v li.akt b::after{content:" · jetzt";color:var(--kz-muted);font-weight:500}
.kz-zs-v li.kz-zs-hier{padding:4px 0}
.kz-zs-v li.kz-zs-hier::before{left:-27px;top:6px;width:20px;height:20px;background:var(--kz-text);border-color:var(--kz-bg)}
.kz-zs-v li.kz-zs-hier b{display:inline-block;align-self:flex-start;font-size:.84rem;background:var(--kz-text);color:var(--kz-bg);border-radius:99px;padding:3px 10px}
.kz-zs.allg .kz-zs-v li.akt b::after{content:none}
@media (min-width:560px){
  .kz-zs-h{display:block}
  .kz-zs-v{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-left:0;margin-top:14px}
  .kz-zs-v::before{content:none}
  .kz-zs-v li{padding:10px 0 0;border-top:4px solid}
  .kz-zs-v li::before,.kz-zs-v li.kz-zs-hier{display:none}
  .kz-zs-v li.v{border-color:#7fb1ff}.kz-zs-v li.c{border-color:#f6a700}.kz-zs-v li.b{border-color:#e03131}
  .kz-zs-v li.akt b::after{content:none}
  .kz-zs.allg .kz-zs-h{padding-top:6px}
}
.kz-zs-frei{margin-top:14px;font-size:.94rem;font-weight:600;line-height:1.45;color:var(--kz-text);background:var(--kz-mint);border-radius:14px;padding:10px 14px}
.kz-zs-erkl{list-style:none;display:grid;gap:10px;margin-top:20px;font-size:.94rem;line-height:1.5;color:var(--kz-text-2)}
.kz-zs-erkl b{color:var(--kz-text)}
.kz-uhr{padding:22px 20px 20px}

/* Erklärfilm */
.f-stage{min-height:330px;padding:24px 20px 16px}
.f-frame{justify-content:center}
.f-k{font-size:.84rem;font-weight:650;color:var(--kz-muted);text-transform:uppercase;letter-spacing:.05em}
.f-l,.f-q{font-size:1.08rem;font-weight:600;margin-top:14px;line-height:1.3}
.f-sub2{font-size:.88rem;color:var(--kz-text-2);margin-top:6px}
.f-gross{display:block;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:780;letter-spacing:-.04em;line-height:1.05;margin-top:6px;font-variant-numeric:tabular-nums}
.f-gross.k{color:var(--kz-muted)}
.f-gross.t{color:var(--kz-ok)}
.f-posten{font-size:.88rem;color:var(--kz-muted);margin-top:10px}
.f-im{font-size:.86rem;color:var(--kz-muted)}
.f-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;margin-top:14px}
.f-col{border-radius:18px;padding:14px 14px 16px;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s)}
.f-col .f-q{margin-top:0;font-size:.95rem}
.f-col.t{background:var(--kz-mint)}
.f-col .f-gross{font-size:clamp(1.8rem,8vw,2.6rem)}
.f-rest{margin-top:14px;font-size:.98rem;font-weight:600;line-height:1.45;border-radius:14px;padding:10px 14px;background:var(--kz-mint)}
.f-rest.warn{background:var(--kz-sun-soft)}
@media (max-width:379px){.f-split{grid-template-columns:minmax(0,1fr)}}
.f-big{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:379px){.f-big{grid-template-columns:minmax(0,1fr)}}
.f-big .o{background:var(--kz-rose)}
.f-big .m{background:var(--kz-mint)}
.f-andere-t{font-size:.8125rem;color:var(--kz-muted);margin-top:16px}
.f-others{margin-top:6px}
.f-others li{display:list-item;margin-left:1.1em}
.f-re{flex:none;border:0;background:none;color:var(--kz-link);font-size:.9rem;font-weight:500;min-height:44px;min-width:44px;padding:0 6px;border-radius:8px}
.kz-film-hinweis{margin-top:14px;font-size:.8125rem;line-height:1.5;color:var(--kz-text-2);background:var(--kz-card-2);border-radius:14px;padding:12px 14px;box-shadow:var(--kz-shadow-s)}
.f-statisch{list-style:none;display:grid;gap:16px}
.f-dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:6px 0 0;font-size:.92rem}
.f-dl dd{margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}
.f-dl dd small{display:block;font-weight:400;color:var(--kz-muted)}
.f-dl dd.t{color:var(--kz-ok)}

/* Übergang zur Tarifwahl */
.kz-vorteile{list-style:none;display:grid;gap:12px;margin-top:24px}
.kz-vt{display:flex;gap:14px;align-items:flex-start;background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow-s);padding:16px 18px}
.kz-vt.haupt{background:linear-gradient(135deg,var(--kz-accent-soft),var(--kz-card) 70%);box-shadow:var(--kz-shadow);padding:22px 20px}
.kz-vt.haupt b{font-size:1.2rem}
.kz-vt b{display:block;font-size:1.04rem;font-weight:680;line-height:1.3}
.kz-vt p{font-size:.94rem;color:var(--kz-text-2);margin-top:6px;line-height:1.5}
.kz-vt-ic{flex:none;width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--kz-accent-soft);color:var(--kz-accent);font-weight:700}
.kz-vt-ic.gruen{background:var(--kz-mint);color:var(--kz-ok)}
.kz-vt-ampel{list-style:none;display:grid;gap:6px;margin-top:8px;font-size:.94rem}
.kz-vt-ampel li{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.kz-vt-ampel li::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;margin-top:4px;background:#30d158}
.kz-vt-ampel li.gelb::before{background:#ffcc00}

/* Tarifkarten (reduziert) */
.kz-tier .kz-h3{font-size:1.32rem}
.kz-tier .kz-tier-v{margin-top:4px;font-size:.82rem;color:var(--kz-text-2)}
.kz-tier-nutzen{font-size:.92rem;color:var(--kz-text-2);margin-top:10px;line-height:1.45}
.kz-tier-kfo{font-size:1.02rem;font-weight:680;margin-top:16px;line-height:1.35}
.kz-tier-grenze{font-size:.86rem;color:var(--kz-text-2);margin:6px 0 16px;line-height:1.4}
.kz-kig{margin:-8px 0 14px;font-size:.86rem}
.kz-kig summary{cursor:pointer;color:var(--kz-link);min-height:44px;display:inline-flex;align-items:center;font-weight:500}
.kz-kig p{color:var(--kz-text-2);line-height:1.5;background:var(--kz-card-2);border-radius:12px;padding:10px 12px}
.kz-tier .kz-gelb{margin-bottom:14px}
.kz-tab.cmp td small{color:var(--kz-muted)}

/* Antrag */
.kz-original{margin-top:6px}
.kz-orte{margin-top:8px}
.kz-orte:empty{display:none}
.kz-orte .kz-chips{margin-top:6px}
.kz-beginn-mehr{margin-top:6px}

/* Seitenfuß: Produktnamen und Versicherer */
.kz-foot-marken{flex-basis:100%;text-align:center;max-width:62em;margin:6px auto 0;line-height:1.5}
@media (min-width:860px){
  :root[data-screen="s2-tarif"] .kz-trustbar{margin:10px auto 0;justify-items:center}
  :root[data-screen="s2-tarif"] .kz-trustbar .kz-trust{justify-content:center}
}

/* ═════════ Runde 2 (21.10.2026): Bilder, Trustbar, Film-Storyboard, Nutzen, Wischkarten ═════════ */
/* Bilder: feste Seitenverhältnisse gegen Layoutsprünge */
.kz-bild{display:block;border-radius:24px;overflow:hidden;background:var(--kz-chip);aspect-ratio:16/9}
.kz-bild img{display:block;width:100%;height:100%;object-fit:cover}
.kz-bild.hero{aspect-ratio:16/10}
.kz-bild.hero img{object-position:70% 40%}
.kz-bild.nutzen{margin-top:18px;aspect-ratio:16/9}
.kz-bild.eltern{margin:4px 0 12px;aspect-ratio:16/8;border-radius:16px}
.kz-hero-vis{display:block;order:-1;padding:0;background:none;box-shadow:none;border-radius:24px}
.kz-hero{gap:18px}
@media (max-width:859px){.kz-hero-vis .kz-bild.hero{aspect-ratio:16/9}}
@media (max-height:700px) and (max-width:759px){.kz-hero-vis .kz-bild.hero{aspect-ratio:2/1}}
@media (min-width:860px){.kz-hero-vis{order:0}.kz-bild.hero{aspect-ratio:4/3.4}}

/* Trustbar: nur „x,x Sterne bei Google“, ganze Leiste verlinkt */
.kz-trustbar{display:grid;gap:8px;margin-top:14px;justify-items:start}
.kz-g{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border-radius:99px;background:var(--kz-card);box-shadow:var(--kz-shadow-s);text-decoration:none;color:var(--kz-text);font-size:.95rem}
.kz-g-st{color:#f2a900;letter-spacing:1px;font-size:.95rem}
@media (hover:hover){a.kz-g:hover{box-shadow:var(--kz-shadow-s),inset 0 0 0 1.5px var(--kz-line-2)}}
.kz-trustbar .kz-trust{margin:0;justify-content:flex-start}

/* Zeitfenster: Lage und Grenzen */
.kz-zs-lage{margin-top:14px;font-size:.95rem;line-height:1.5;color:var(--kz-text-2)}
.kz-zs-info{margin-top:8px;font-size:.88rem;line-height:1.45;color:var(--kz-text-2)}
.kz-kasse-hinweis{margin-top:6px}
.kz-qhilfe{margin-top:14px}
.kz-dock-fine{text-align:center;font-size:.84rem;color:var(--kz-muted);margin:0 0 4px}

/* Film-Bühne: Elemente erscheinen nacheinander (data-s ≤ Schritt → .an), nichts verdeckt frühere Werte */
.f-stage{display:block;min-height:0;padding:22px 20px 16px}
.f-buehne [data-s]{opacity:0;visibility:hidden;transition:opacity .5s var(--kz-ease),transform .5s var(--kz-ease);transform:translateY(6px)}
.f-buehne [data-s].an{opacity:1;visibility:visible;transform:none}
.f-buehne tr[data-s]{transform:none}
.f-gross-t{font-size:clamp(1.6rem,7vw,2.1rem);font-weight:750;letter-spacing:-.03em}
.f-j1 .f-l{margin-top:12px}
.f-j1 .f-gross{font-size:clamp(2.6rem,12vw,3.6rem)}
.f-qa{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px;margin-top:16px;padding:12px 14px;border-radius:16px;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s)}
.f-qa .f-q{margin:0;font-size:1rem}
.f-qa .f-gross{font-size:clamp(1.8rem,8vw,2.4rem);margin:0}
.f-qa.t{background:var(--kz-mint)}
.f-im{display:inline-block;font-size:.8rem;font-weight:700;background:var(--kz-ok);color:#fff;border-radius:99px;padding:2px 8px;margin-left:4px;vertical-align:middle}
.f-buehne.tabelle .f-j1{display:none}
.f-tab{display:none}
.f-buehne.tabelle .f-tab{display:block}
.f-tbl{width:100%;border-collapse:collapse;margin-top:8px;font-variant-numeric:tabular-nums;font-size:clamp(.86rem,3.6vw,1rem)}
.f-tbl th,.f-tbl td{padding:9px 4px;text-align:right;border-bottom:1px solid var(--kz-line);white-space:nowrap}
.f-tbl th:first-child{text-align:left}
.f-tbl thead th{font-size:.78rem;color:var(--kz-muted);font-weight:650}
.f-tbl td.t{color:var(--kz-ok);font-weight:750}
.f-tbl tr.f-notiz td{text-align:left;white-space:normal;font-size:.88rem;background:var(--kz-sun-soft);border-radius:10px;padding:8px 10px}
.f-end{margin-top:16px;display:grid;gap:8px}
.f-end-o,.f-end-m{padding:12px 14px;border-radius:16px;font-size:1.02rem;line-height:1.4}
.f-end-o{background:var(--kz-rose)}.f-end-o b{color:var(--kz-bad)}
.f-end-m{background:var(--kz-mint)}.f-end-m b{color:var(--kz-ok)}
.f-end b{font-size:1.2rem;white-space:nowrap}
.f-ctrl .f-re{font-size:1rem}
.kz-film.static .f-buehne [data-s]{transition:none}

/* Nutzenzusammenfassung: Chips mit Kurzerklärung (Klick/Tippen/Tastatur) */
.kz-vt-l{list-style:none;display:grid;gap:4px;margin-top:6px;font-size:.94rem;color:var(--kz-text-2)}
.kz-vt-l li{line-height:1.45}
.kz-tipchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.kz-tipchip{min-height:44px;padding:0 14px;border-radius:99px;border:1.5px solid var(--kz-accent);background:var(--kz-card);color:var(--kz-accent);font-weight:650;font-size:.92rem}
.kz-tipchip[aria-expanded="true"]{background:var(--kz-accent);color:var(--kz-accent-ink)}
.kz-tip{flex-basis:100%;font-size:.9rem;line-height:1.45;color:var(--kz-text-2);background:var(--kz-card);border-radius:12px;padding:10px 12px;box-shadow:var(--kz-shadow-s)}

/* Tarifkarten: gleiches Raster (Subgrid), mobil horizontal mit Einrasten */
.kz-tierwrap{position:relative;margin-top:22px}
.kz-tiers{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,84%);grid-template-rows:repeat(7,auto);gap:0 12px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding:16px 8% 14px;margin:0 -16px;scroll-padding:0 8%;scrollbar-width:none;overscroll-behavior-x:contain}
.kz-tiers::-webkit-scrollbar{display:none}
.kz-tiers:focus-visible{outline:3px solid var(--kz-focus);outline-offset:-3px}
.kz-tier{grid-row:span 7;display:grid;grid-template-rows:subgrid;row-gap:0;scroll-snap-align:center;padding:18px 16px 14px;transform:none!important;order:0!important}
.kz-tier > *{min-width:0}
.kz-t-kopf .kz-badge{position:static;display:inline-block;margin-bottom:8px}
.kz-badge.leer{visibility:hidden}
.kz-t-kopf .kz-h3{font-size:1.18rem}
.kz-tier-nutzen{font-size:.86rem;margin-top:6px}
.kz-t-preis{padding-top:12px}
.kz-t-preis .kz-price{margin-top:0}
.kz-t-kfo{padding-top:12px;border-top:1px solid var(--kz-line);margin-top:12px}
.kz-tier-kfo{margin-top:0;font-size:.98rem}
.kz-tier-grenze{margin:4px 0 0}
.kz-kig{margin:4px 0 0}
.kz-t-bsp{margin-top:12px;padding:10px 12px;border-radius:14px;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s);display:grid;gap:2px;align-content:start}
.kz-t-bsp p{display:flex;justify-content:space-between;gap:8px;font-size:.9rem}
.kz-t-bsp-t{font-size:.8rem!important;color:var(--kz-muted)}
.kz-t-bsp b{font-variant-numeric:tabular-nums}.kz-t-bsp b.z{color:var(--kz-ok)}.kz-t-bsp b.e{color:var(--kz-text)}
.kz-t-bsp.aus{background:var(--kz-warn-soft)}
.kz-t-l{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;margin:12px 0 0;font-size:.88rem}
.kz-t-l dt{color:var(--kz-text-2)}.kz-t-l dd{margin:0;font-weight:650;text-align:right}
.kz-t-wahl{padding-top:14px;align-self:end}
.kz-t-orig{font-size:.8125rem;color:var(--kz-text-2);margin-top:10px;line-height:1.35}
.kz-tiernav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px}
.kz-pfeil{width:44px;height:44px;border-radius:50%;border:0;background:var(--kz-card);box-shadow:var(--kz-shadow-s);font-size:1.4rem;line-height:1;color:var(--kz-text)}
.kz-dots2{display:flex;gap:4px}
.kz-dot{width:28px;height:44px;border:0;background:none;padding:0;display:grid;place-items:center}
.kz-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--kz-line-2);transition:background .2s,transform .2s}
.kz-dot[aria-current="true"]::before{background:var(--kz-accent);transform:scale(1.25)}
@media (min-width:860px){
  .kz-tiers{grid-auto-flow:row;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-auto-columns:auto;overflow:visible;padding:16px 0 0;margin:0;gap:0 18px}
  .kz-tiernav{display:none}
}
.kz-dock-s2 .kz-btn.p{min-height:58px;font-size:1.08rem}
/* Antrag Runde 2: Kontoinhaber, Unterlagen, getrennte Erklärungen, Eltern-Upsell */
.kz-inhaber{margin-top:16px;font-size:.98rem}
.kz-doks{margin-top:16px;padding:14px 16px;border-radius:var(--kz-radius-s);background:var(--kz-card);box-shadow:var(--kz-shadow-s)}
.kz-doks ul{list-style:none;display:grid;gap:6px;margin-top:6px;font-size:.92rem}
.kz-doks li::before{content:"📄 ";}
.kz-doks small{color:var(--kz-text-2)}
.kz-best.gesondert{border:1.5px solid var(--kz-line-2);box-shadow:none}
.kz-best-hinweis{margin:0 0 6px 34px;font-size:.875rem;line-height:1.45;color:var(--kz-text);background:var(--kz-warn-soft);border-radius:10px;padding:8px 10px}
.kz-up-l{margin:10px 0 14px}
.kz-fine,.kz-t-orig,.kz-dock-fine{color:var(--kz-text-2)}
.f-qa:not(:has(.an)){visibility:hidden}
.f-tbl tr[data-s]:not(.an) > *{border-color:transparent}
.kz-perkid li{gap:10px}
.kz-s3-fuer{margin-top:10px;font-weight:650;font-size:1rem}
/* Kassenwahl ruhiger: flache Kacheln, Kürzel dezent */
.kz-kchip{box-shadow:none;border:1.5px solid var(--kz-line-2);background:var(--kz-card)}
.kz-kb{background:var(--kz-accent-soft);color:var(--kz-accent)}
/* Runde 2: Bestätigungen mit Kurzüberschrift, Wortlaut am Häkchen */
.kz-best-t{margin:10px 0 0;font-size:.8125rem;font-weight:700;letter-spacing:.02em;color:var(--kz-muted)}
.kz-best .kz-cb span{font-weight:400;line-height:1.45}

/* ═══ Runde 3 · S1 (zusammengeführt aus kz-r3-s1.css) ═══ */
/* kz-r3-s1.css · Runde 3, Bereich R3-S1 (Stufe 1 + Film) – wird vom Orchestrator in kz.css übernommen */

/* Namensseite: mehrere Kinder */
.kz-kn + .kz-kn{margin-top:12px}
.kz-kn-row{display:flex;gap:8px;align-items:stretch}
.kz-kn-row .kz-in{flex:1;min-width:0}
.kz-kn-weg{flex:none;width:48px;border:1.5px solid var(--kz-line-2);border-radius:14px;background:var(--kz-card);color:var(--kz-muted);font-size:1.5rem;line-height:1}
.kz-kn-weg[hidden]{display:none}
.kz-kn-plus{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:10px;padding:0 4px;border:0;background:none;color:var(--kz-link);font-weight:600;font-size:.95rem;border-radius:10px}
.kz-kn-plus span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--kz-accent-soft);font-size:1.1rem;line-height:1}
.kz-kn-plus[hidden]{display:none}
@media (hover:hover){.kz-kn-weg:hover{color:var(--kz-bad);border-color:var(--kz-bad)}.kz-kn-plus:hover{text-decoration:underline}}

/* Zeitfenster: nur die Box */
.kz-uhr{margin-top:18px}
.kz-uhr-k + .kz-uhr-k{margin-top:22px;padding-top:18px;border-top:1px solid var(--kz-line)}
.kz-uhr-k .kz-h3{margin-bottom:6px}
.kz-uhr-k + .kz-uhr-k .kz-zs-v li > span{display:none} /* Phasen-Erklärung nur beim ersten Kind (mobil kürzer) */
@media (min-width:560px){.kz-uhr-k + .kz-uhr-k .kz-zs-v{display:none}}
.kz-uhr-cta{font-size:clamp(1.18rem,5.2vw,1.38rem);font-weight:750;line-height:1.28;letter-spacing:-.015em;margin:0 0 14px;padding-left:12px;border-left:5px solid var(--kz-accent)}
.kz-uhr-k.im .kz-uhr-cta{border-color:#f6a700}
.kz-uhr-k.nach .kz-uhr-cta{border-color:#e03131}
.kz-uhr-hilft{margin-top:18px;padding:14px 16px;border-radius:16px;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s)}
.kz-uhr-hilft > b{font-size:1rem;font-weight:700}
.kz-uhr-hilft ul{list-style:none;display:grid;gap:8px;margin-top:8px;font-size:.94rem;line-height:1.4;color:var(--kz-text-2)}
.kz-uhr-hilft li{position:relative;padding-left:22px}
.kz-uhr-hilft li::before{content:"✓";position:absolute;left:0;top:0;color:var(--kz-ok);font-weight:800}
.kz-uhr-hilft li b{color:var(--kz-text)}
[data-screen="s1-uhr"] .kz-dock .kz-btn.p{min-height:60px;padding:10px 20px;line-height:1.25}

/* Film: schneller, größere rote Box, Ersparnis */
.f-buehne [data-s]{transition-duration:.4s}
.f-end{gap:10px}
.f-end-o{padding:18px 16px;font-size:1.12rem;line-height:1.35;box-shadow:inset 0 0 0 2px var(--kz-bad)}
.f-end-o b{display:block;font-size:clamp(2rem,9vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:4px 0}
.f-end-m{font-size:1.06rem}
.f-end-m small{display:block;margin-top:4px;font-size:.86rem;color:var(--kz-text-2)}

/* Zusammenfassung: kurz, groß, rote Vergleichsbox, auffälliger Knopf */
.kz-e3s{display:grid;gap:12px;margin-top:20px}
.kz-e3{background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow-s);padding:16px 18px}
.kz-e3-t{display:flex;align-items:center;gap:12px;font-size:clamp(1.12rem,4.8vw,1.3rem);font-weight:750;line-height:1.25;letter-spacing:-.015em}
.kz-e3-t .kz-vt-ic{width:36px;height:36px;border-radius:12px}
.kz-e3.a .kz-vt-ic{background:var(--kz-mint);color:var(--kz-ok)}
.kz-e3.warn .kz-vt-ic{background:var(--kz-warn-soft);color:var(--kz-warn)}
.kz-e3 > p{font-size:.96rem;color:var(--kz-text-2);margin-top:10px;line-height:1.45}
.kz-e3 .kz-vt-ampel{margin-top:12px}
.kz-e3 .kz-note{margin-top:10px}
.kz-e3-vgl{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;margin-top:12px}
.kz-e3-vgl p{display:flex;flex-direction:column;gap:4px;border-radius:16px;padding:14px;margin:0}
.kz-e3-vgl span{font-size:.86rem;font-weight:600;color:var(--kz-text-2)}
.kz-e3-vgl b{font-size:clamp(1.25rem,5.6vw,1.6rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kz-e3-vgl .o{background:var(--kz-bad-soft);box-shadow:inset 0 0 0 2px var(--kz-bad)}
.kz-e3-vgl .o b{color:var(--kz-bad)}
.kz-e3-vgl .m{background:var(--kz-mint)}
.kz-e3-vgl .m b{color:var(--kz-ok)}
@media (max-width:359px){.kz-e3-vgl{grid-template-columns:minmax(0,1fr)}}
[data-screen="s1-ende"] .kz-dock .kz-btn.p{min-height:64px;font-size:1.14rem;font-weight:700;border-radius:20px;padding:10px 20px;line-height:1.25}
@media (min-width:760px){[data-screen="s1-ende"] .kz-dock .kz-btn.p,[data-screen="s1-uhr"] .kz-dock .kz-btn.p{max-width:none}}
@media (max-width:359px){[data-screen="s1-uhr"] .kz-dock .kz-btn.p{font-size:.96rem;padding:8px 14px;gap:6px}}

/* ═══ Runde 3 · S2 (zusammengeführt aus kz-r3-s2.css) ═══ */
/* kz-r3-s2.css · Runde 3, Bereich R3-S2: E-Mail-Schranke, Abschlussdringlichkeit, Dialoge (Tipp/Gutschein), schwebende Knöpfe,
 * GKV-Rechner. Nur Variablen aus kz.css (Hell/Dunkel automatisch). Wird später vom Orchestrator in kz.css übernommen. */

/* ── E-Mail-Schranke: Seite vollständig, unlesbar unscharf, nicht bedienbar; scharfer Dialog darüber ── */
.kz-screen[data-screen="s2-tarif"]{position:relative}
.kz-gate-blur{filter:blur(7px);-webkit-filter:blur(7px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.9}
.kz-gate{position:absolute;z-index:40;left:0;right:0;top:64px;margin:0 auto;max-width:420px}
.kz-gate .kz-h3{font-size:1.3rem;line-height:1.25}
.kz-gate-text{margin:8px 0 14px;color:var(--kz-text-2);font-size:.98rem;line-height:1.45}
.kz-gate .kz-btn.p{margin-top:12px}
.kz-gate .kz-fine{font-size:.8rem;line-height:1.45}
@media (max-width:759px){.kz-gate{top:12px}}
@media (min-width:860px){.kz-gate{top:96px}}

/* ── Dialoge (Tipp, Gutschein) ── */
html.kz-dlg-offen{overflow:hidden}
.kz-dlg-bg{position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.48);display:grid;place-items:center;padding:16px;overflow-y:auto;
  animation:kz-dlg-in .2s ease both}
.kz-dlg{position:relative;width:100%;max-width:420px;background:var(--kz-card);color:var(--kz-text);border-radius:var(--kz-radius);
  box-shadow:var(--kz-shadow-lg);padding:22px 20px 18px;outline:none}
.kz-dlg-bg .kz-dlg{animation:kz-dlg-up .25s var(--kz-ease) both}
.kz-dlg-bg .kz-dlg .kz-h3{text-align:center;font-size:1.28rem;line-height:1.28}
@keyframes kz-dlg-in{from{opacity:0}}
@keyframes kz-dlg-up{from{opacity:0;transform:translateY(14px) scale(.98)}}
@media (prefers-reduced-motion:reduce){.kz-dlg-bg,.kz-dlg-bg .kz-dlg,.kz-fabs{animation:none}}
.kz-gd-ic{width:60px;height:60px;border-radius:20px;background:var(--kz-warn-soft);display:grid;place-items:center;font-size:2rem;margin:0 auto 12px}
.kz-gd-ic.spar{background:var(--kz-accent-soft);color:var(--kz-accent)}
.kz-gd-text{text-align:center;color:var(--kz-text-2);font-size:.92rem;line-height:1.45;margin-top:8px}
.kz-gd-uhr{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:12px 0 0;font-size:.85rem;color:var(--kz-text-2)}
.kz-gd-uhr b{font-size:1.45rem;font-weight:700;color:var(--kz-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.kz-gd-uhr small{font-size:.72rem;font-weight:500;color:var(--kz-muted);margin:0 6px 0 2px}
.kz-gd-wahl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.kz-gd-wahl .kz-btn{padding:0 10px;min-height:52px}
.kz-dlg .kz-btn.s{background:var(--kz-card);box-shadow:inset 0 0 0 1.5px var(--kz-line-2);color:var(--kz-text)}
.kz-dlg > .kz-btn.l{display:block;width:auto;margin:8px auto 0;padding:0 14px}
.kz-dlg .kz-more{margin-top:8px;box-shadow:none;background:var(--kz-card-2)}
.kz-dlg .kz-trustbar{margin-top:12px}
@media (max-width:359px){.kz-gd-wahl{grid-template-columns:1fr}.kz-dlg{padding:18px 14px 14px}}

/* ── Leiste oben: Gutschein vorgemerkt (antippbar) ── */
.kz-gsleiste{width:100%;border:0;cursor:pointer;min-height:44px;text-align:left;font:inherit;font-size:.92rem;flex-wrap:nowrap}
.kz-gsleiste > span:nth-child(2){flex:1}
.kz-gsl-p{font-size:1.3rem;line-height:1;color:var(--kz-muted)}
@media (hover:hover){.kz-gsleiste:hover{filter:brightness(.97)}}

/* ── Abschlussdringlichkeit: drei kurze Zeilen ── */
.kz-jetzt{max-width:640px;margin:16px auto 0;padding:12px 14px 12px 16px;border-radius:var(--kz-radius-s);background:var(--kz-card);
  box-shadow:var(--kz-shadow-s);border-left:4px solid var(--kz-sun)}
.kz-jetzt h2{font-size:.95rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}
.kz-jetzt ul{list-style:none;display:grid;gap:5px;font-size:.9rem;line-height:1.35;color:var(--kz-text-2)}
.kz-jetzt li{display:grid;grid-template-columns:20px 1fr;gap:6px;align-items:start}
.kz-jetzt li::before{content:"⏱";font-size:.95rem;line-height:1.35}
.kz-jetzt li.j-bef::before{content:"⚠"}
.kz-jetzt li.j-st::before{content:"📈"}
.kz-jetzt b{color:var(--kz-text);font-weight:650}

/* ── Schwebende Knöpfe unten rechts (gestapelt, ≥ 44 px, nie übereinander) ── */
.kz-fab-platz{height:76px}
.kz-fabs{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:55;display:flex;flex-direction:column;gap:12px;
  animation:kz-fab-in .3s .45s both}
@keyframes kz-fab-in{from{opacity:0;transform:scale(.8)}}
.kz-fab{width:54px;height:54px;border-radius:50%;border:0;background:var(--kz-card);color:var(--kz-accent);display:grid;place-items:center;font-size:1.55rem;
  box-shadow:0 0 0 1px var(--kz-line),0 8px 24px rgba(0,0,0,.16)}
.kz-fab.gs{background:var(--kz-warn-soft);color:var(--kz-text)}
@media (hover:hover){.kz-fab:hover{transform:scale(1.05)}}
:root.kz-tastatur .kz-fabs{display:none}
@media (min-width:860px){.kz-fabs{right:max(24px,calc((100vw - var(--kz-maxw-desk)) / 2 - 70px));bottom:28px}}

/* ── GKV-Seite: Rechner, Pflichthinweis, Entscheidung ── */
.kz-gkv-r{margin-top:20px;display:grid;gap:10px}
.kz-gkv-r .z{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:1rem}
.kz-gkv-r .z b{font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.kz-gkv-r .z.minus b{color:var(--kz-ok)}
.kz-gkv-r .z.eff{border-top:2px solid var(--kz-text);padding-top:10px;font-weight:700}
.kz-gkv-r .z.eff b{font-size:1.5rem}
.kz-gkv-r .z.mon{color:var(--kz-text-2);margin-top:-4px}
.kz-gkv-r .z.mon b{font-weight:600}
.kz-gkv-zb{margin-top:12px;font-size:.82rem;line-height:1.5;color:var(--kz-text-2)}
.kz-gkv-wt{margin-top:30px;text-align:center;font-size:1.2rem}
.kz-gkv-wahl{display:grid;gap:10px;margin-top:14px}
.kz-gkv-wahl .kz-btn{min-height:60px;font-size:1.08rem}
.kz-gkv-wahl .kz-btn.s{background:var(--kz-card);box-shadow:inset 0 0 0 2px var(--kz-accent);color:var(--kz-text)}
.kz-gkv-wahl .kz-btn[aria-pressed="true"]::before{content:"✓";font-weight:800}
@media (min-width:760px){.kz-gkv-wahl{grid-template-columns:1fr 1fr}}

/* ═══ Runde 3 · S3 (zusammengeführt aus kz-r3-s3.css) ═══ */
/* kz-r3-s3.css · Runde 3, Bereich R3-S3 (Antrag, Abschluss, Partner, Nachladen) – wird vom Orchestrator in kz.css übernommen.
 * Nur Variablen aus kz.css (hell/dunkel automatisch), mobil zuerst (320–430 px), Desktop ab 760/860 px. */

/* Ladehinweis/Fehler beim Nachladen von Stufe 3 */
.kz-s3laden{min-height:40vh}
.kz-s3laden .kz-dock{margin-top:18px}

/* Abschlussblock: EIN Häkchen, Wortlaut je Erklärung als eigener Absatz */
.kz-best-eins{padding:10px 14px 8px}
.kz-best-eins .kz-cb{margin-top:0;gap:12px}
.kz-best-eins .kz-cb input{margin-top:3px}
.kz-best-texte{display:grid;gap:12px;min-width:0}
.kz-best-abs{display:block;line-height:1.45;color:var(--kz-text)}
.kz-best-abs .kz-best-t{display:block;margin:0 0 2px;font-size:.8125rem;font-weight:700;letter-spacing:.02em;color:var(--kz-muted)}
.kz-best-abs.gesondert{border-top:1px solid var(--kz-line);padding-top:12px}
.kz-best-abs .kz-best-w{display:block}
.kz-best-abs .kz-best-hinweis{display:block;margin:8px 0 0;font-size:.875rem}
.kz-best-abs a{color:var(--kz-link);text-decoration:underline;text-underline-offset:2px;font-weight:600;
  padding:2px 0;overflow-wrap:anywhere}
.kz-best-abs a:focus-visible{outline:2px solid var(--kz-focus);outline-offset:2px;border-radius:4px}
.kz-best-eins .kz-ferr{margin:0 0 6px 34px}
.kz-best-sepa .kz-best-t{margin-top:10px}
.kz-best-fehlt{margin-top:10px}

/* Vertrauenszeile direkt am Absende-Knopf */
.kz-dock .kz-s3trust{margin-top:4px;gap:2px 10px;font-size:.75rem}
.kz-s3trust li{white-space:normal}
.kz-s3trust a{text-decoration:none;color:inherit}
.kz-s3trust a:focus-visible{outline:2px solid var(--kz-focus);outline-offset:2px;border-radius:4px}
.kz-s3trust .kz-g-st{color:#f2a900;margin-right:1px}
.kz-s3trust b{font-weight:600;color:var(--kz-text)}
:root.kz-tastatur .kz-dock .kz-s3trust{display:none}

/* Trust-Siegel (makler.siegel) als kompakte Badges – mobil 2-spaltig */
.kz-siegel{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 4px;padding:0}
.kz-siegel li{min-width:0}
.kz-siegel li > a,.kz-siegel li > span{display:flex;align-items:center;gap:8px;height:100%;min-height:48px;padding:8px 10px;border-radius:var(--kz-radius-s);
  background:var(--kz-card);box-shadow:var(--kz-shadow-s);color:var(--kz-text);text-decoration:none;font-size:.8rem;line-height:1.3;font-weight:600}
.kz-siegel li > a:focus-visible{outline:2px solid var(--kz-focus);outline-offset:2px}
.kz-siegel-ic{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--kz-ok-soft);color:var(--kz-ok);font-size:.8rem;font-weight:800}
.kz-siegel li[data-siegel="google"] .kz-siegel-ic{background:var(--kz-sun-soft);color:#f2a900}
.kz-siegel-t{min-width:0;overflow-wrap:break-word;hyphens:auto}
.kz-siegel li[data-siegel="makler"],.kz-siegel li[data-siegel="finanztest"]{grid-column:1 / -1}
@media (max-width:340px){.kz-siegel{grid-template-columns:1fr}}
@media (min-width:760px){.kz-siegel{grid-template-columns:repeat(3,1fr)}.kz-siegel li[data-siegel="makler"],.kz-siegel li[data-siegel="finanztest"]{grid-column:auto}}

/* Zusammengelegter Bildschirm Anschrift + Bankverbindung */
.kz-s3t-lead{margin:-2px 0 6px}

/* Partnerseite: Beispielrechnung oben hervorgehoben */
.kz-pbsp{margin:14px 0 6px;padding:16px;border-radius:var(--kz-radius);background:var(--kz-card);box-shadow:var(--kz-shadow-s);border:1.5px solid var(--kz-ok-soft)}
.kz-pbsp-t{font-weight:700;font-size:1.02rem;line-height:1.35;color:var(--kz-text);margin:0 0 12px}
.kz-pbsp-z{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kz-pbsp-k{display:grid;gap:2px;align-content:start;padding:10px 12px;border-radius:var(--kz-radius-s);background:var(--kz-bg-2);min-width:0}
.kz-pbsp-k span{font-size:.8rem;color:var(--kz-text-2);line-height:1.3}
.kz-pbsp-k b{font-size:1.15rem;font-weight:800;color:var(--kz-text);line-height:1.2;overflow-wrap:anywhere}
.kz-pbsp-k.kosten b{color:var(--kz-bad)}
.kz-pbsp-k.spar{grid-column:1 / -1;background:var(--kz-ok-soft)}
.kz-pbsp-k.spar span{color:var(--kz-text)}
.kz-pbsp-k.spar b{color:var(--kz-ok);font-size:1.45rem}
.kz-pbsp-mit{margin:10px 0 4px;font-weight:600;color:var(--kz-text)}
.kz-pbsp-l{list-style:none;display:grid;gap:6px;margin:0 0 4px;padding:0}
.kz-pbsp-l li{padding:8px 12px;border-radius:var(--kz-radius-s);background:var(--kz-ok-soft);color:var(--kz-text);font-weight:600;font-size:.92rem}
.kz-pbsp .kz-fine{margin-top:10px}
@media (min-width:560px){.kz-pbsp-z{grid-template-columns:1fr 1fr 1fr}.kz-pbsp-k.spar{grid-column:auto}}

/* ═══ Runde 4 · S1 (zusammengeführt aus kz-r4-s1.css) ═══ */
/* Runde 4 – wird am Ende in kz.css übernommen */
/* ───────── R4-S1: Stufe 1 (Zeitstrahl mobil horizontal, Kasse, Gesundheitsfragen, Prüf-Animation, Glückwunsch, Film) ───────── */

/* Film: Einblenden nochmals 20 % schneller (Taktung im Seed/Rückfall) */
.f-buehne [data-s]{transition-duration:.32s}

/* Zeitstrahl: auf allen Breiten horizontal; Phasen als drei Spalten unter dem Balken (keine Überlappung) */
.kz-zs-h{display:block;padding-top:40px}
.kz-zs-v{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-left:0;margin-top:12px}
.kz-zs-v::before{content:none}
.kz-zs-v li{padding:8px 0 0;border-top:4px solid}
.kz-zs-v li::before{content:none}
.kz-zs-v li.v{border-color:#7fb1ff}.kz-zs-v li.c{border-color:#f6a700}.kz-zs-v li.b{border-color:#e03131}
.kz-zs-v li span b{font-weight:700;color:var(--kz-text)}
.kz-zs-now.l{transform:translateX(-2px);align-items:flex-start}
.kz-zs-now.r{transform:translateX(calc(-100% + 2px));align-items:flex-end}
.kz-uhr-k + .kz-uhr-k .kz-zs-v{display:none} /* Phasen-Beschriftung nur beim ersten Kind */
@media (max-width:559px){
  .kz-zs-h{padding-top:36px}
  .kz-zs-track{height:14px}
  .kz-zs-now{top:-34px}
  .kz-zs-now b{font-size:.75rem;padding:3px 8px}
  .kz-zs-now i{height:30px}
  .kz-zs-ax{font-size:.72rem;height:18px}
  .kz-zs-axl{font-size:.72rem}
  .kz-zs-v{gap:8px;margin-top:8px}
  .kz-zs-v li b{font-size:.84rem;line-height:1.2}
  .kz-zs-v li span{font-size:.76rem;line-height:1.35;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
}

/* Kasse: der bisherige Untertitel ist die Überschrift */
.kz-h2.kz-h2-k{font-size:clamp(1.4rem,5.8vw,2rem);line-height:1.2}

/* Gesundheitsfragen: weiche Karte mit Bild, ruhige Schrift, Antworten im festen Dock (auf jeder Frage gleiche Position) */
.kz-q-intro{font-size:1rem;line-height:1.45;color:var(--kz-text-2);margin:0 0 12px;max-width:30em}
.kz-q-prog{display:flex;align-items:center;gap:12px;font-size:.84rem;font-weight:600;color:var(--kz-muted)}
.kz-q-prog .kz-dots{flex:1;max-width:120px;margin:0}
.kz-qcard{margin-top:12px;background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);padding:20px 20px 18px}
.kz-q-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--kz-accent-soft);color:var(--kz-accent)}
.kz-q-ic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.kz-qcard.q1 .kz-q-ic{background:var(--kz-mint);color:var(--kz-ok)}
.kz-qcard.q2 .kz-q-ic{background:var(--kz-sun-soft);color:var(--kz-sun)}
.kz-qcard.q4 .kz-q-ic{background:var(--kz-rose);color:var(--kz-bad)}
.kz-q-t{margin-top:14px;font-family:var(--kz-font);font-size:clamp(1.12rem,4.6vw,1.3rem);font-weight:450;line-height:1.45;letter-spacing:-.01em;color:var(--kz-text-2);max-width:26em;text-wrap:pretty}
.kz-q-t b{font-weight:700;color:var(--kz-text)}
.kz-qcard .kz-qhilfe{margin-top:12px}
.kz-qcard .kz-qhint{margin-top:10px}
.kz-qdock{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:18px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--kz-bg) 76%,rgba(0,0,0,0));pointer-events:none}
.kz-qdock-in{max-width:var(--kz-maxw);margin:0 auto;pointer-events:auto}
.kz-qdock .kz-opts{margin:0}
.kz-qdock .kz-opt{min-height:64px;font-size:1.12rem;font-weight:650;border-color:var(--kz-line-2);box-shadow:var(--kz-shadow)}
.kz-qdock .kz-opts.five .kz-opt{min-height:64px}
.kz-qdock .kz-opt[aria-pressed="true"]{border-color:var(--kz-accent)}
.kz-screen[data-screen^="s1-ampel-q"]{padding-bottom:104px;animation-name:kz-q-in} /* nur Einblenden: transform würde das feste Dock mitbewegen */
@keyframes kz-q-in{from{opacity:0}to{opacity:1}}
:root[data-screen^="s1-ampel-q"] body{padding-bottom:96px}
html.kzc-offen .kz-qdock{bottom:var(--kzc-h,140px)}
@media (min-width:760px){.kz-qdock-in{max-width:var(--kz-col-desk)}.kz-qdock{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

/* Prüf-Animation: Zeilen nacheinander abhaken */
.kz-pruef{list-style:none;display:grid;gap:14px;margin-top:24px}
.kz-pruef li{display:flex;align-items:flex-start;gap:12px;font-size:1.06rem;line-height:1.4;color:var(--kz-text-2);opacity:.35;transition:opacity .3s}
.kz-pruef li.an,.kz-pruef li.ok{opacity:1}
.kz-pruef li.ok{color:var(--kz-text)}
.kz-pr-ic{flex:none;position:relative;width:28px;height:28px;border-radius:50%;border:2.5px solid var(--kz-line-2)}
.kz-pruef li.an .kz-pr-ic{border-color:var(--kz-accent);border-right-color:transparent;animation:kz-spin .8s linear infinite}
.kz-pruef li.ok .kz-pr-ic{border-color:var(--kz-ok);background:var(--kz-ok)}
.kz-pruef li.ok .kz-pr-ic::after{content:"";position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
:root.kz-dark .kz-pruef li.ok .kz-pr-ic::after{border-color:#03230c}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-pruef li.ok .kz-pr-ic::after{border-color:#03230c}}
@media (prefers-reduced-motion:reduce){.kz-pruef li{transition:none}.kz-pruef li.an .kz-pr-ic{animation:none}}

/* Glückwunsch-/Ergebnisseite */
.kz-gw-lead{color:var(--kz-text-2);font-size:clamp(1.08rem,4.4vw,1.2rem)}
.kz-gw-lead b{color:var(--kz-ok);white-space:nowrap}
.kz-gw-k{list-style:none;display:grid;gap:10px;margin-top:18px}
.kz-gw-k li{display:flex;align-items:flex-start;gap:12px;background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s);padding:12px 14px;font-size:.98rem;line-height:1.45;color:var(--kz-text-2)}
.kz-gw-k li > div{min-width:0}
.kz-gw-k li b{color:var(--kz-text)}
.kz-gw-k li small{display:block;margin-top:4px;font-size:.84rem;color:var(--kz-text-2)}
.kz-gw-k li .kz-btn{margin-top:10px}
.kz-ampel.mini{flex-direction:row;gap:3px;padding:4px 5px;border-radius:9px;margin-top:2px}
.kz-ampel.mini i{width:9px;height:9px}
.kz-gw-k + .kz-e3s{margin-top:14px}
.kz-e3s .kz-bild.nutzen{margin-top:0}
.kz-dock.kz-dock-fix{position:sticky;bottom:0;padding-top:18px}
.kz-dock.kz-dock-fix .kz-btn.p{min-height:64px;font-size:1.14rem;font-weight:700;border-radius:20px;padding:10px 20px;line-height:1.25}
@media (min-width:760px){
  .kz-dock.kz-dock-fix{position:sticky;bottom:0;z-index:20;padding:16px 0 calc(18px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--kz-bg) 72%,rgba(0,0,0,0))}
  .kz-dock.kz-dock-fix .kz-btn.p{max-width:none}
}
:root.kzc-offen .kz-dock.kz-dock-fix{position:sticky;bottom:var(--kzc-h,140px);padding-bottom:10px;background:linear-gradient(to top,var(--kz-bg) 72%,rgba(0,0,0,0))}

/* ═══ Runde 4 · S2 (zusammengeführt aus kz-r4-s2.css) ═══ */
/* Runde 4 – wird am Ende in kz.css übernommen
 * kz-r4-s2.css · Bereich R4-S2 (SPEC §22): Preis-Schranke auf der Tarifseite, Tipp-Dialog-Knöpfe, Gutschein-Bildkarten. */

/* ── Preis-Schranke: nur die Beiträge verpixelt (Platzhalter ohne echten Wert, nicht markierbar), Rest scharf ── */
.kz-pix{display:inline-block;color:transparent;border-radius:8px;line-height:1;padding:.06em .08em;-webkit-user-select:none;user-select:none;pointer-events:none;
  background:repeating-conic-gradient(var(--kz-line-2) 0 25%,var(--kz-chip) 0 50%) 0 0/9px 9px;filter:blur(.7px);vertical-align:-.08em}
.kz-price b > .kz-pix{font-size:inherit;color:transparent;background-size:12px 12px;border-radius:10px;filter:blur(1px)}
.kz-perkid b > .kz-pix{font-size:.84rem;color:transparent;border-radius:5px;background-size:6px 6px}
.kz-price.kz-pz{align-items:center}
.kz-pg-hinweis .kz-btn.s{background:var(--kz-card);box-shadow:var(--kz-shadow-s)}
.kz-pg-hinweis{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;max-width:640px;margin:16px 0 0;
  padding:12px 14px;border-radius:16px;background:var(--kz-accent-soft);color:var(--kz-text);font-size:.92rem;line-height:1.4}
.kz-pg-hinweis p{display:flex;gap:8px;align-items:flex-start;flex:1 1 220px}
.kz-pg-hinweis p svg{flex:none;margin-top:2px;color:var(--kz-accent)}
.kz-pg-hinweis .kz-btn{width:auto;flex:0 0 auto;padding:0 16px}
.kz-pz-btn svg,.kz-pg .kz-btn.p svg{flex:none}
@media (min-width:760px){.kz-pg-hinweis{margin-left:auto;margin-right:auto}}

/* Dialog „Preise freischalten und Übersicht speichern“: Lesefluss Überschrift → Erklärung → Feld → Knopf → Zurück */
.kz-pg .kz-h3{text-align:left!important}
.kz-pg .kz-gd-text{text-align:left;margin:8px 0 14px}
.kz-pg form .kz-btn.p{margin-top:12px}
.kz-pg .kz-fine{font-size:.78rem}
.kz-pg > .kz-btn.l{margin:4px auto 0}
@media (max-width:759px){.kz-dlg-bg:has(.kz-pg){place-items:start center;padding-top:max(16px,env(safe-area-inset-top))}}

/* ── Tipp-Dialog: Hauptknopf + lockerer Nebenknopf (untereinander, gleiche Stelle wie im Gutschein-Dialog) ── */
.kz-tipp-wahl{display:grid;gap:2px;margin-top:16px}
.kz-tipp-wahl .kz-btn.l{width:auto;justify-self:center;padding:0 16px}

/* ── Gutschein-Bildkarten (eigene Gestaltung, keine Original-Logos) ── */
.kz-gk-wahl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.kz-gk{display:block;width:100%;min-height:44px;padding:0;border:0;background:none;border-radius:16px;color:inherit;text-align:left;
  transition:transform .15s var(--kz-ease),box-shadow .2s}
.kz-gk:focus-visible{outline:3px solid var(--kz-focus);outline-offset:3px;border-radius:16px}
.kz-gk:active{transform:scale(.98)}
@media (hover:hover){.kz-gk:hover{transform:translateY(-2px)}.kz-gk:hover .kz-gk-k{box-shadow:0 12px 26px rgba(0,0,0,.22)}}
.kz-gk[disabled]{opacity:.6;cursor:wait}
.kz-gk.busy .kz-gk-k::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.25)}
.kz-gk-k{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.586;min-height:76px;border-radius:16px;
  padding:10px 12px;overflow:hidden;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.16);isolation:isolate}
/* Glanz + Geschenkband (rechts) */
.kz-gk-k::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 55%)}
.kz-gk-k > .kz-gk-s{position:absolute;top:6px;right:calc(18% - 11px);width:34px;height:20px;color:var(--gk-band)}
.kz-gk-k{background-image:linear-gradient(90deg,transparent calc(82% - 5px),var(--gk-band) calc(82% - 5px),var(--gk-band) calc(82% + 5px),transparent calc(82% + 5px)),var(--gk-grund)}
.kz-gk-amazon{--gk-grund:linear-gradient(135deg,#1d3d63,#0d2140);--gk-band:#f2b84b}
.kz-gk-wunschgutschein{--gk-grund:linear-gradient(135deg,#b8323f,#7d2358);--gk-band:#ffe1a6}
.kz-gk-x{--gk-grund:linear-gradient(135deg,#2f5d50,#163a32);--gk-band:#f2d16b}
.kz-gk-w{font:800 clamp(1.25rem,5.6vw,1.7rem)/1 var(--kz-font-d);letter-spacing:-.03em;font-variant-numeric:tabular-nums;max-width:70%}
.kz-gk-n{font-size:clamp(.7rem,3vw,.82rem);font-weight:650;line-height:1.2;max-width:76%;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto}
.kz-gk-ok{position:absolute;right:6px;bottom:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1a7f37;font-weight:800;font-size:.85rem}
.kz-gk.an .kz-gk-k{box-shadow:0 0 0 3px var(--kz-card),0 0 0 6px var(--kz-accent)}
.kz-gk[aria-pressed="false"] .kz-gk-k{opacity:.82}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-gk-k{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 6px 18px rgba(0,0,0,.4)}
  :root:not(.kz-light) .kz-gk.an .kz-gk-k{box-shadow:0 0 0 3px var(--kz-card),0 0 0 6px var(--kz-accent)}}
:root.kz-dark .kz-gk-k{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 6px 18px rgba(0,0,0,.4)}
:root.kz-dark .kz-gk.an .kz-gk-k{box-shadow:0 0 0 3px var(--kz-card),0 0 0 6px var(--kz-accent)}
.kz-gd .kz-gd-ic{width:44px;height:44px;border-radius:14px;font-size:1.45rem;margin-bottom:8px}
@media (max-width:359px){.kz-gk-wahl{grid-template-columns:1fr 1fr;gap:8px}.kz-gk-k{padding:8px 9px;border-radius:13px}}
@media (prefers-reduced-motion:reduce){.kz-gk{transition:none}.kz-gk:hover{transform:none}}

/* ═══ Runde 5 · S1 (zusammengeführt aus kz-r5-s1.css) ═══ */
/* Runde 5 – wird am Ende in kz.css übernommen */
/* ───────── R5-S1: Film (weich, ohne Layoutsprünge), mobile Film-Sperre, Prüf-Animation als Rechner, Glückwunsch-Seite ───────── */
:root{--f5-on-ok:#fff;--f5-spring:cubic-bezier(.34,1.56,.64,1)}
:root.kz-dark{--f5-on-ok:#03230c}
@media (prefers-color-scheme:dark){:root:not(.kz-light){--f5-on-ok:#03230c}}

/* ═══ Film ═══ Größen in em → Bühne lässt sich mobil über --f5-k an die freie Höhe anpassen (einmal vor dem ersten Bild) */
.kz-film.f5{font-size:calc(17px * var(--f5-k,1));border-radius:24px}
.kz-film.f5 .f-stage{display:block;min-height:0;padding:1.15em 1.1em 1em}
.f5-b{display:grid}
.f5-j1,.f5-tabw{grid-area:1/1;min-width:0}
.f5-j1{display:grid;gap:.7em;align-content:start}
/* Grundbewegung: weiches Aufgleiten, nur opacity/transform (GPU), unsichtbare Schritte bleiben im Layout (feste Höhe) */
.f5-b [data-s]{transition:opacity .5s var(--kz-ease),transform .6s var(--kz-ease)}
.f5-b [data-s]:not(.an){opacity:0;visibility:hidden;transform:translate3d(0,12px,0)}
.f5-jt{font-size:1.45em;font-weight:780;letter-spacing:-.03em;line-height:1.1;color:var(--kz-text)}
.f5-jt::before{content:"";display:inline-block;width:.42em;height:.42em;border-radius:50%;background:var(--kz-accent);margin-right:.4em;vertical-align:.14em}
.f5-bill{display:flex;gap:.8em;align-items:flex-start;padding:.95em 1em;border-radius:1.1em;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s)}
.f5-b .f5-bill:not(.an){transform:translate3d(0,14px,0) scale(.97)}
.f5-bill-ic{flex:none;width:2.5em;height:2.5em;border-radius:.8em;display:grid;place-items:center;background:var(--kz-accent-soft);color:var(--kz-accent)}
.f5-bill-ic svg{width:1.45em;height:1.45em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.f5-l{font-size:.9em;font-weight:600;color:var(--kz-text-2);line-height:1.3}
.f5-gross{display:block;font-size:2.5em;font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-top:.06em;font-variant-numeric:tabular-nums;color:var(--kz-text)}
.f5-posten{font-size:.8em;color:var(--kz-muted);margin-top:.25em;line-height:1.35}
.f5-qa{display:flex;align-items:center;justify-content:space-between;gap:.7em;padding:.8em 1em;border-radius:1.1em;background:var(--kz-card-2);box-shadow:var(--kz-shadow-s)}
.f5-qa.t{flex-wrap:wrap;row-gap:.35em}
.f5-qa.t .f5-q{flex:1 1 100%}
.f5-qa.t .f5-wert{margin-left:auto}
.f5-qa.t{background:var(--kz-mint);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--kz-ok) 28%,transparent)}
.f5-q{font-size:1em;font-weight:620;line-height:1.3;min-width:0;color:var(--kz-text)}
.f5-wert{flex:none;font-size:1.85em;font-weight:800;letter-spacing:-.035em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Kasse: zählt herunter – feste Breite (unsichtbarer Platzhalter mit dem größten Betrag) → Frage daneben bricht nicht um */
.f5-wert.k{display:inline-grid;justify-items:end;color:var(--kz-text);transition:opacity .35s var(--kz-ease),color .4s}
.f5-b .f5-wert.k:not(.an){transform:none}
.f5-zw,.f5-zv{grid-area:1/1}
.f5-zw{visibility:hidden}
.f5-wert.k.fertig{color:var(--kz-bad);animation:f5-nudge .5s var(--f5-spring)}
@keyframes f5-nudge{40%{transform:scale(1.12)}to{transform:none}}
/* Top: Betrag springt mit Federeffekt auf, Häkchen zeichnet sich (keine Zählanimation) */
.f5-wert.t{display:inline-flex;align-items:center;gap:.22em;color:var(--kz-ok)}
.f5-b .f5-wert.t{transition:none}
.f5-b .f5-wert.t:not(.an){transform:scale(.4)}
.f5-b .f5-wert.t.an{animation:f5-pop .7s var(--f5-spring) both}
@keyframes f5-pop{from{opacity:0;transform:translate3d(0,10px,0) scale(.4)}55%{opacity:1}to{opacity:1;transform:none}}
.f5-ok{flex:none;width:.78em;height:.78em;overflow:visible}
.f5-ok circle{fill:var(--kz-ok)}
.f5-ok path{fill:none;stroke:var(--f5-on-ok);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:0}
.f5-b .f5-wert.an .f5-ok path,.f5-b .f5-end.an .f5-ok path{animation:f5-haken .45s .3s var(--kz-ease) both}
@keyframes f5-haken{from{stroke-dashoffset:16}}
.f5-chip{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;font-weight:700;padding:.08em .5em .1em;border-radius:99px;background:var(--kz-card);color:var(--kz-text);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--kz-ok) 40%,transparent)}
.f5-chip b{font-size:.82em;font-weight:800;letter-spacing:.01em;padding:.1em .5em;border-radius:99px;background:var(--kz-ok);color:var(--f5-on-ok)}
/* Übergang Jahr 1 → Übersicht: weiche Überblendung in derselben Rasterzelle (keine Höhenänderung) */
.f5-j1{transition:opacity .4s var(--kz-ease),transform .5s var(--kz-ease),visibility 0s}
.f5-b.tabelle .f5-j1{opacity:0;visibility:hidden;transform:translate3d(0,-14px,0);transition:opacity .35s var(--kz-ease),transform .45s var(--kz-ease),visibility 0s linear .45s}
.f5-tabw{opacity:0;visibility:hidden;transform:translate3d(0,10px,0);transition:opacity .3s,transform .3s,visibility 0s linear .3s}
.f5-b.tabelle .f5-tabw{opacity:1;visibility:visible;transform:none;transition:opacity .5s .18s var(--kz-ease),transform .6s .18s var(--kz-ease),visibility 0s}
.f5-k{font-size:.78em;font-weight:700;color:var(--kz-muted);text-transform:uppercase;letter-spacing:.06em}
.f5-tbl{width:100%;border-collapse:collapse;margin-top:.45em;font-size:.95em;font-variant-numeric:tabular-nums}
.f5-tbl th,.f5-tbl td{padding:.5em .3em;text-align:right;white-space:nowrap;border-bottom:1px solid var(--kz-line)}
.f5-tbl th:first-child{text-align:left;padding-left:0}
.f5-tbl thead th{font-size:.8em;font-weight:650;color:var(--kz-muted);padding-bottom:.35em}
.f5-tbl td.k{color:var(--kz-muted)}
.f5-tbl td.t,.f5-tbl th.t{padding-right:0}
.f5-th{display:inline-block;padding:.12em .65em;border-radius:99px;background:var(--kz-ok);color:var(--f5-on-ok);font-weight:800;font-size:1.05em}
.f5-pill{display:inline-block;padding:.12em .55em;border-radius:99px;background:var(--kz-mint);color:var(--kz-ok);font-weight:800;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--kz-ok) 25%,transparent)}
/* Zeilen gleiten von links ein, Zelle für Zelle; Top-Betrag ploppt kurz auf */
.f5-b tr[data-s]{transform:none}
.f5-b tr[data-s] > *{transition:opacity .45s var(--kz-ease),transform .55s var(--kz-ease)}
.f5-b tr[data-s]:not(.an) > *{opacity:0;transform:translate3d(-14px,0,0);border-color:transparent}
.f5-b tr[data-s] > :nth-child(2){transition-delay:.06s}
.f5-b tr[data-s] > :nth-child(3){transition-delay:.12s}
.f5-b tr[data-s] > :nth-child(4){transition-delay:.18s}
.f5-b tr.an .f5-pill{animation:f5-pop .6s .2s var(--f5-spring) both}
.f5-notiz td{text-align:left;white-space:normal;padding:.3em 0 .55em}
.f5-notiz td > span{display:block;font-size:.84em;line-height:1.4;background:var(--kz-sun-soft);border-radius:.7em;padding:.45em .7em;color:var(--kz-text)}
.f5-b tr.f5-notiz > *{transition-delay:.35s}
/* Endbild */
.f5-end{display:grid;gap:.55em;margin-top:.8em}
.f5-b .f5-end.an .f5-end-m{animation:f5-pop .7s .45s var(--f5-spring) both}
.f5-end-o{padding:.75em 1em;border-radius:1.1em;background:var(--kz-bad-soft);box-shadow:inset 0 0 0 2px var(--kz-bad);font-size:.95em;line-height:1.4;color:var(--kz-text)}
.f5-end-o b{color:var(--kz-bad);font-size:1.18em;font-weight:800;white-space:nowrap}
.f5-end-m{display:flex;align-items:center;gap:.6em;padding:.75em 1em;border-radius:1.1em;background:var(--kz-mint);font-size:1em;font-weight:600;line-height:1.35;color:var(--kz-text)}
.f5-end-m .f5-ok{width:1.5em;height:1.5em}
.f5-end-m b{color:var(--kz-ok);font-size:1.3em;font-weight:800;white-space:nowrap}
/* Steuerleiste: Fortschritt gleitet linear (transform statt Breite) */
.kz-film.f5 .f-prog i{width:100%;transform:scaleX(0);transform-origin:0 50%;transition:transform var(--f5-pd,.2s) linear;will-change:transform}
/* Reduzierte Bewegung / statische Fassung: Endbild sofort, keine Bewegung */
.kz-film.static .f5-b *,.kz-film.static .f5-b *::before{transition:none!important;animation:none!important}
@media (prefers-reduced-motion:reduce){.f5-b *,.f5-b *::before,.kz-film.f5 .f-prog i{transition:none!important;animation:none!important}}
/* Express-Modus (Mittagspause/Akku) verkürzt sonst alle Übergänge auf 0,05 s → Film bleibt weich (Taktung unverändert) */
:root.kz-express .f5-b [data-s],:root.kz-express .f5-b tr[data-s] > *,:root.kz-express .f5-j1,:root.kz-express .f5-tabw{transition-duration:.5s!important}
:root.kz-express .kz-film.f5 .f-prog i{transition-duration:var(--f5-pd,.2s)!important}
@media (max-width:359px){.f5-qa{flex-wrap:wrap}.f5-wert{margin-left:auto}}

/* ═══ Mobile Film-Sperre: Seite steht still (overflow + touchmove-Sperre in kz-film.js), Kopfzeile und Dock bleiben sticky und bedienbar ═══ */
html.kz-film-lock{overflow:hidden;overscroll-behavior:none} /* nur html (wirkt auf den Viewport): overflow am body würde sticky Kopf/Dock lösen */
html.kz-film-lock body{overflow:visible;overscroll-behavior:none;touch-action:pinch-zoom} /* body overflow-x:hidden würde sonst zum Scroll-Container */
html.kz-film-lock #kz-fdock{position:sticky;bottom:0;padding-top:8px}

/* ═══ Prüf-Animation als Rechner ═══ */
.kz-pr-h{text-align:left}
.kz-pr-box{display:grid;justify-items:center;gap:22px;margin-top:22px;padding:26px 20px 22px;border-radius:var(--kz-radius);background:var(--kz-card);box-shadow:var(--kz-shadow)}
.kz-pr-ring{position:relative;width:132px;height:132px}
.kz-pr-ring > svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.kz-pr-ring circle{fill:none;stroke-width:9}
.kz-pr-ring .b{stroke:var(--kz-chip)}
.kz-pr-ring .f{stroke:var(--kz-accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke .4s}
.kz-pr-box.fertig .kz-pr-ring .f{stroke:var(--kz-ok)}
.kz-pr-mitte{position:absolute;inset:22px;border-radius:50%;display:grid;place-items:center;background:var(--kz-accent-soft);color:var(--kz-accent);transition:background .4s,color .4s}
.kz-pr-mitte svg{grid-area:1/1;width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .3s,transform .45s var(--f5-spring)}
.kz-pr-mitte .z{animation:kz-pr-puls 1.1s ease-in-out infinite}
.kz-pr-mitte .h{opacity:0;transform:scale(.4);stroke-width:4.5}
.kz-pr-box.fertig .kz-pr-mitte{background:var(--kz-ok);color:var(--f5-on-ok)}
.kz-pr-box.fertig .kz-pr-mitte .z{opacity:0;animation:none}
.kz-pr-box.fertig .kz-pr-mitte .h{opacity:1;transform:none}
@keyframes kz-pr-puls{50%{transform:scale(.88)}}
.kz-pruef.kz-pr5{margin:0;width:100%;max-width:340px;gap:12px}
.kz-pr5 li{align-items:center;font-size:1.02rem;transition:opacity .3s}
.kz-pr5 .kz-pr-ic{width:26px;height:26px}
.kz-pr5 .kz-pr-t{min-width:0;flex:1}
.kz-pr5 li.lauf .kz-pr-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--kz-text-2);font-variant-numeric:tabular-nums}
.kz-pr5 li.ok .kz-pr-ic::after{left:7.5px;top:3.5px}
@media (prefers-reduced-motion:reduce){.kz-pr-mitte .z{animation:none}.kz-pr-mitte svg{transition:none}}

/* ═══ Glückwunsch-Seite: ein ruhiges System (gleiche Radien, Abstände, Schriftgrößen), Führung oben → unten ═══ */
[data-screen="s1-ergebnis"]{--gw-r:22px;--gw-gap:14px;--gw-pad:18px}
.kz-gw-kopf{position:relative;margin-top:2px;padding:20px var(--gw-pad) 16px;border-radius:var(--gw-r);background:linear-gradient(165deg,var(--kz-mint) 0%,var(--kz-card) 78%);box-shadow:var(--kz-shadow)}
.kz-gw-kopf.gelb{background:linear-gradient(165deg,var(--kz-sun-soft) 0%,var(--kz-card) 78%)}
.kz-gw-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--kz-ok);color:var(--f5-on-ok);box-shadow:0 0 0 7px color-mix(in srgb,var(--kz-ok) 16%,transparent);margin:0 0 14px 2px}
.kz-gw-kopf.gelb .kz-gw-ic{background:var(--kz-sun);color:var(--kz-card);box-shadow:0 0 0 7px color-mix(in srgb,var(--kz-sun) 18%,transparent)}
.kz-gw-ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;animation:f5-haken2 .6s .25s var(--kz-ease) both}
.kz-gw-ic b{font-size:1.6rem;font-weight:800;line-height:1}
@keyframes f5-haken2{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}
.kz-gw-kopf .kz-gw-h{font-size:clamp(1.5rem,6.2vw,2rem);line-height:1.15}
.kz-gw-kopf .kz-gw-lead{margin-top:10px;font-size:clamp(1.04rem,4.3vw,1.15rem);line-height:1.45}
.kz-gw-kopf .kz-gw-k{margin-top:16px;gap:0;border-top:1px solid var(--kz-line)}
.kz-gw-kopf .kz-gw-k li{background:none;box-shadow:none;border-radius:0;padding:12px 0 0;align-items:center;font-size:.96rem}
.kz-gw-kopf .kz-gw-k li + li{border-top:1px solid var(--kz-line);margin-top:12px}
.kz-gw-kopf .kz-gw-k li > div{flex:1}
.kz-gw-kopf .kz-ampel.mini{margin-top:0}
.kz-gw-s{gap:var(--gw-gap)}
.kz-gw-k + .kz-e3s,.kz-gw-kopf + .kz-e3s{margin-top:var(--gw-gap)}
.kz-gw-c{border-radius:var(--gw-r);padding:var(--gw-pad);box-shadow:var(--kz-shadow);overflow:hidden}
.kz-gw-c .kz-e3-t{font-size:1.12rem;gap:10px}
.kz-gw-c .kz-vt-ic{width:34px;height:34px;border-radius:11px;font-size:1rem}
.kz-gw-c.b .kz-vt-ic{background:var(--kz-accent-soft);color:var(--kz-accent)}
.kz-gw-c.c .kz-vt-ic{background:var(--kz-sun-soft);color:var(--kz-sun)}
.kz-gw-c > p{margin-top:10px;font-size:.96rem}
.kz-gw-c > .kz-fine{margin-top:10px;font-size:.84rem}
/* Beispiel: rot und grün im gleichen Stil, untereinander */
.kz-gw-c .kz-e3-vgl{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:14px}
.kz-gw-c .kz-e3-vgl p{flex-direction:row;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;box-shadow:none}
.kz-gw-c .kz-e3-vgl .o{background:var(--kz-bad-soft);box-shadow:inset 3px 0 0 var(--kz-bad)}
.kz-gw-c .kz-e3-vgl .m{background:var(--kz-mint);box-shadow:inset 3px 0 0 var(--kz-ok)}
.kz-gw-zi{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:1rem;font-weight:800;line-height:1}
.kz-e3-vgl .o .kz-gw-zi{background:var(--kz-bad);color:#fff}
.kz-e3-vgl .m .kz-gw-zi{background:var(--kz-ok);color:var(--f5-on-ok)}
.kz-gw-zt{display:flex;flex-direction:column;gap:2px;min-width:0}
.kz-gw-c .kz-e3-vgl span.kz-gw-zt > span{font-size:.84rem;font-weight:600;color:var(--kz-text-2)}
.kz-gw-c .kz-e3-vgl b{font-size:clamp(1.2rem,5.2vw,1.45rem)}
/* Mehr Möglichkeiten: Bild als Kopf der Karte */
.kz-gw-c.c > .kz-bild.nutzen{margin:calc(var(--gw-pad) * -1) calc(var(--gw-pad) * -1) 16px;border-radius:0;aspect-ratio:2/1}
.kz-gw-s > .kz-bild.nutzen{border-radius:var(--gw-r)}
.kz-gw-c .kz-tipchips{margin-top:14px}
.kz-gw-c .kz-tipchip{border-width:1.5px;background:var(--kz-card)}
/* Vertrauen + Hinweis als ruhiger Abschluss */
.kz-gw-trust{margin-top:var(--gw-gap);padding:4px 2px 0}
.kz-gw-trust .kz-trustbar{margin-top:0}
.kz-gw-trust > .kz-fine{margin-top:12px;font-size:.84rem;line-height:1.45}
/* gestaffeltes Einblenden (nur opacity/transform) */
.kz-gw-kopf,.kz-gw-s > *,.kz-gw-trust{animation:kz-in .5s var(--kz-ease) both}
.kz-gw-s > :nth-child(1){animation-delay:.08s}
.kz-gw-s > :nth-child(2){animation-delay:.16s}
.kz-gw-trust{animation-delay:.22s}
@media (min-width:760px){
  [data-screen="s1-ergebnis"]{--gw-pad:24px;--gw-gap:18px}
  .kz-gw-kopf{padding:26px var(--gw-pad) 20px}
  .kz-gw-c .kz-e3-vgl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:359px){[data-screen="s1-ergebnis"]{--gw-pad:15px}.kz-gw-c .kz-e3-vgl p{padding:10px 12px;gap:10px}}
@media (prefers-reduced-motion:reduce){.kz-gw-ic svg{animation:none}}

/* ═══ Runde 5 · S2 (zusammengeführt aus kz-r5-s2.css) ═══ */
/* Runde 5 – wird am Ende in kz.css übernommen */
/* ═════════ R5-S2 (SPEC §23): Tarifseite farbiger, mobil breitere Karten, Vertrauen sichtbarer · Google-„G“ in der gemeinsamen Trustbar ═════════
   Knopf-Änderungen nur im Tarif-Kontext (.kz-tiers .kz-tbtn) – globale .kz-btn und Hebel cta_stil bleiben auf allen anderen Seiten unverändert.
   Kontraste (WCAG AA): Weiß auf #0071e3 4,7:1 · #0b7a68 5,3:1 · #6a45bf 6,5:1; Tarif-Schrift auf Pastell ≥ 5,2:1. */

/* ── Google-„G“ (offizielles Logo, auf weißem Kreis – auch im Dunkelmodus, wie von Google vorgesehen) ── */
.kz-g-gl{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.kz-g-logo{display:block;width:18px;height:18px}

/* ── Kopf: Google-Zeile statt Augenzeile „Tarif“ ── */
.kz-s2-g{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 10px;padding:6px 14px 6px 6px;border-radius:99px;background:var(--kz-card);
  box-shadow:var(--kz-shadow-s),inset 0 0 0 1px var(--kz-line);color:var(--kz-text);text-decoration:none;font-size:.92rem;line-height:1.2}
.kz-s2-g .kz-g-st{color:#f2a900;font-size:1rem}
.kz-s2-g .kz-g-w b{font-weight:700}
@media (hover:hover){a.kz-s2-g:hover{box-shadow:var(--kz-shadow-s),inset 0 0 0 1.5px var(--kz-line-2)}}
a.kz-s2-g:focus-visible{outline:3px solid var(--kz-focus);outline-offset:2px;border-radius:99px}
@media (max-height:700px) and (max-width:759px){.kz-s2-g{margin-bottom:6px;font-size:.88rem}}

/* ── Freundlicher Hintergrund (nur Tarifseite, hell) ── */
:root[data-screen="s2-tarif"] body{background:linear-gradient(180deg,#eaf3ff 0,#f4f0fc 300px,var(--kz-bg) 680px) no-repeat,var(--kz-bg)}
:root.kz-dark[data-screen="s2-tarif"] body{background:var(--kz-bg)}
@media (prefers-color-scheme:dark){:root:not(.kz-light)[data-screen="s2-tarif"] body{background:var(--kz-bg)}}

/* ── „Lieber früher als zu spät“: warme Box ── */
:root[data-screen="s2-tarif"] .kz-jetzt{background:linear-gradient(135deg,#fff6e6,var(--kz-card) 70%);box-shadow:var(--kz-shadow-s),inset 0 0 0 1px #f3dcb3}
:root[data-screen="s2-tarif"] .kz-jetzt h2{color:#8a4d00}
:root.kz-dark[data-screen="s2-tarif"] .kz-jetzt{background:linear-gradient(135deg,rgba(255,179,64,.12),var(--kz-card) 70%);box-shadow:var(--kz-shadow-s)}
:root.kz-dark[data-screen="s2-tarif"] .kz-jetzt h2{color:var(--kz-sun)}
@media (prefers-color-scheme:dark){
  :root:not(.kz-light)[data-screen="s2-tarif"] .kz-jetzt{background:linear-gradient(135deg,rgba(255,179,64,.12),var(--kz-card) 70%);box-shadow:var(--kz-shadow-s)}
  :root:not(.kz-light)[data-screen="s2-tarif"] .kz-jetzt h2{color:var(--kz-sun)}
}

/* ── Tarif-Farben: Top = Hauptfarbe (Blau), zweite Karte Mint, dritte Lavendel ── */
.kz-tier.kz-tf-top{--tf:#0071e3;--tf-2:#0a5fc4;--tf-soft:#e8f1fc;--tf-line:#a9cdf5;--tf-ink:#0062c4;--tf-sh:rgba(0,113,227,.28)}
.kz-tier.kz-tf-a{--tf:#0b7a68;--tf-2:#08695a;--tf-soft:#e4f5f0;--tf-line:#a9dccf;--tf-ink:#0b6b5c;--tf-sh:rgba(11,122,104,.22)}
.kz-tier.kz-tf-b{--tf:#6a45bf;--tf-2:#5a37ab;--tf-soft:#f0ebfc;--tf-line:#cfc0f2;--tf-ink:#5b3aa8;--tf-sh:rgba(106,69,191,.22)}
:root.kz-dark .kz-tier.kz-tf-top{--tf-soft:rgba(10,132,255,.17);--tf-line:#2f68aa;--tf-ink:#7cc0ff;--tf-sh:rgba(0,0,0,.4)}
:root.kz-dark .kz-tier.kz-tf-a{--tf-soft:rgba(45,212,191,.13);--tf-line:#2b7a6d;--tf-ink:#6ee7cf;--tf-sh:rgba(0,0,0,.4)}
:root.kz-dark .kz-tier.kz-tf-b{--tf-soft:rgba(167,139,250,.15);--tf-line:#6552a6;--tf-ink:#c4b5fd;--tf-sh:rgba(0,0,0,.4)}
@media (prefers-color-scheme:dark){
  :root:not(.kz-light) .kz-tier.kz-tf-top{--tf-soft:rgba(10,132,255,.17);--tf-line:#2f68aa;--tf-ink:#7cc0ff;--tf-sh:rgba(0,0,0,.4)}
  :root:not(.kz-light) .kz-tier.kz-tf-a{--tf-soft:rgba(45,212,191,.13);--tf-line:#2b7a6d;--tf-ink:#6ee7cf;--tf-sh:rgba(0,0,0,.4)}
  :root:not(.kz-light) .kz-tier.kz-tf-b{--tf-soft:rgba(167,139,250,.15);--tf-line:#6552a6;--tf-ink:#c4b5fd;--tf-sh:rgba(0,0,0,.4)}
}
.kz-tiers .kz-tier[class*="kz-tf-"]{border:2px solid var(--tf-line);overflow:hidden}
.kz-tiers .kz-tier.rec[class*="kz-tf-"]{border-color:var(--tf);box-shadow:var(--kz-shadow-lg)}
/* Kopf in Tarif-Pastell bis an den Kartenrand */
.kz-tier[class*="kz-tf-"] .kz-t-kopf{margin:-18px -16px 0;padding:16px 16px 12px;background:var(--tf-soft)}
.kz-tier[class*="kz-tf-"] .kz-t-kopf .kz-h3{color:var(--tf-ink)}
.kz-tier[class*="kz-tf-"] .kz-t-kopf .kz-badge{background:var(--tf);color:#fff}
.kz-tier[class*="kz-tf-"] .kz-tier-nutzen{color:var(--kz-text-2)}
.kz-tier[class*="kz-tf-"] .kz-t-bsp{background:var(--kz-card-2);background:color-mix(in srgb,var(--tf-soft) 55%,var(--kz-card));box-shadow:inset 0 0 0 1px var(--tf-line)}
.kz-tier[class*="kz-tf-"] .kz-t-bsp.aus{background:var(--kz-warn-soft);box-shadow:none}
.kz-tier[class*="kz-tf-"] .kz-t-kfo{border-top-color:var(--tf-line)}

/* ── Beantragen-Knöpfe: farbig mit Zahn-Symbol; Top als deutlicher Hauptknopf (überschreibt cta_stil nur hier) ── */
:root:root .kz-tiers .kz-tier .kz-btn.kz-tbtn{background:linear-gradient(135deg,var(--tf),var(--tf-2));color:#fff;opacity:1;border-radius:16px;min-height:52px;
  font-weight:650;font-size:1rem;padding:8px 16px;gap:8px;box-shadow:0 6px 16px var(--tf-sh)}
:root:root .kz-tiers .kz-tier.rec .kz-btn.kz-tbtn{min-height:58px;font-size:1.08rem;font-weight:700;box-shadow:0 0 0 4px var(--tf-soft),0 12px 26px var(--tf-sh)}
@media (hover:hover){:root:root .kz-tiers .kz-tier .kz-btn.kz-tbtn:hover{background:var(--tf-2);opacity:1}}
:root:root .kz-tiers .kz-tier .kz-btn.kz-tbtn:focus-visible{outline:3px solid var(--kz-focus);outline-offset:3px}
.kz-tbtn .kz-zahn,.kz-tbtn svg{flex:none}
.kz-tbtn .kz-zahn{width:20px;height:20px}
/* „14 Tage Widerrufsrecht“ direkt am Knopf */
.kz-t-wr{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-size:.82rem;font-weight:550;color:var(--kz-text-2);line-height:1.3}
.kz-t-wr svg{flex:none;color:var(--kz-ok)}
/* Hinweis „Beiträge noch verdeckt“: Knopf farbig statt grau */
:root[data-screen="s2-tarif"] .kz-pg-hinweis .kz-btn.s{background:var(--kz-accent-soft);color:var(--kz-link);box-shadow:inset 0 0 0 1.5px var(--kz-accent)}

/* ── Mobil: Karten fast bis zum Rand, Nachbarkarte nur ~14 px angeschnitten (Scroll-Snap) ── */
@media (max-width:859px){
  .kz-tiers{--peek:14px;--tgap:8px;grid-auto-columns:100%;gap:0 var(--tgap);padding:14px calc(var(--peek) + var(--tgap)) 14px;
    scroll-padding:0 calc(var(--peek) + var(--tgap));margin:0 -16px}
  .kz-tierwrap{margin-top:16px}
  .kz-tiernav{margin-top:0;gap:8px}
  .kz-tiernav .kz-pfeil{width:40px;height:40px;font-size:1.25rem}
}

/* ── Trustbar unten: Titel, Google-Karte mit „G“, Badges mit Icons ── */
.kz-s2-trust{max-width:860px;width:100%;margin:26px auto 0;padding:20px 14px 16px;border-radius:var(--kz-radius);
  background:linear-gradient(160deg,#eaf3ff,#f3effd 55%,#e9f7f2);box-shadow:var(--kz-shadow)}
.kz-s2-trust-t{font-size:1.06rem;font-weight:700;text-align:center;margin:0 0 12px;letter-spacing:-.01em}
:root:root .kz-s2-trust .kz-trustbar{max-width:none;margin:0;justify-items:stretch;gap:10px}
:root:root .kz-s2-trust .kz-g{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;min-height:58px;border-radius:18px;padding:10px 16px;font-size:1.02rem;
  background:var(--kz-card);box-shadow:var(--kz-shadow-s)}
.kz-s2-trust .kz-g-gl{width:36px;height:36px}
.kz-s2-trust .kz-g-logo{width:22px;height:22px}
.kz-s2-trust .kz-g .kz-g-st{font-size:1.1rem;letter-spacing:2px}
a.kz-g:focus-visible{outline:3px solid var(--kz-focus);outline-offset:2px}
:root:root .kz-s2-trust .kz-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;font-size:.86rem;color:var(--kz-text-2)}
:root:root .kz-s2-trust .kz-trust li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;text-align:center;white-space:normal;
  padding:12px 10px;border-radius:16px;background:var(--kz-card);box-shadow:var(--kz-shadow-s);line-height:1.3;min-width:0;overflow-wrap:anywhere}
:root:root .kz-s2-trust .kz-trust li::before{content:none;display:none}
.kz-s2-trust .kz-trust li:last-child:nth-child(odd){grid-column:1/-1}
.kz-s2-trust .kz-trust b{display:block;color:var(--kz-text);font-weight:700;font-size:.95rem}
.kz-tb-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px}
.kz-tb-wr .kz-tb-ic{background:#e8f5ec;color:#1a7f37}
.kz-tb-mk .kz-tb-ic{background:#e8f1fc;color:#0062c4}
.kz-tb-sb .kz-tb-ic{background:#fff2dc;color:#9a5600}
.kz-tb-vs .kz-tb-ic{background:#f0ebfc;color:#5b3aa8}
@media (min-width:760px){
  .kz-s2-trust{padding:24px 22px 20px}
  :root:root .kz-s2-trust .kz-trust{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .kz-s2-trust .kz-trust li:last-child:nth-child(odd){grid-column:auto}
}
:root.kz-dark .kz-s2-trust{background:linear-gradient(160deg,rgba(10,132,255,.13),rgba(167,139,250,.10) 55%,rgba(45,212,191,.08)),var(--kz-card-2)}
:root.kz-dark .kz-tb-wr .kz-tb-ic{background:rgba(48,209,88,.15);color:#30d158}
:root.kz-dark .kz-tb-mk .kz-tb-ic{background:rgba(10,132,255,.17);color:#7cc0ff}
:root.kz-dark .kz-tb-sb .kz-tb-ic{background:rgba(255,179,64,.15);color:#ffb340}
:root.kz-dark .kz-tb-vs .kz-tb-ic{background:rgba(167,139,250,.16);color:#c4b5fd}
@media (prefers-color-scheme:dark){
  :root:not(.kz-light) .kz-s2-trust{background:linear-gradient(160deg,rgba(10,132,255,.13),rgba(167,139,250,.10) 55%,rgba(45,212,191,.08)),var(--kz-card-2)}
  :root:not(.kz-light) .kz-tb-wr .kz-tb-ic{background:rgba(48,209,88,.15);color:#30d158}
  :root:not(.kz-light) .kz-tb-mk .kz-tb-ic{background:rgba(10,132,255,.17);color:#7cc0ff}
  :root:not(.kz-light) .kz-tb-sb .kz-tb-ic{background:rgba(255,179,64,.15);color:#ffb340}
  :root:not(.kz-light) .kz-tb-vs .kz-tb-ic{background:rgba(167,139,250,.16);color:#c4b5fd}
}

/* ═══ Runde 6 · A (zusammengeführt aus kz-r6-a.css) ═══ */
/* Runde 6 · Bereich R6-A – wird am Ende in css/kz.css übernommen */

/* „Bitte prüfen: Gesundheitsfragen für {Kind}“ – farbig hervorgehoben (Hell/Dunkel über die Variablen) */
.kz-pruefhinweis{display:flex;align-items:center;gap:10px;margin:12px 0 4px;padding:12px 14px;border-radius:var(--kz-radius-s);
  background:var(--kz-warn-soft);border:1.5px solid var(--kz-warn);color:var(--kz-text);font-weight:650;font-size:.98rem;line-height:1.35}
.kz-pruefhinweis-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  background:var(--kz-warn);color:var(--kz-bg-2);font-weight:800;font-size:.9rem}
.kz-s3sec .kz-pruefhinweis{margin-top:4px;margin-bottom:12px}

/* Zahnfrage: Anzahl nach „Ja“ */
.kz-fz-n{margin-top:14px}
.kz-fz-n .kz-label{margin-bottom:0}
.kz-s3step .kz-opts.kz-fz-opts{margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:8px}
.kz-fz-opts .kz-opt{min-height:52px;padding:8px 6px}
.kz-fz-opts .kz-opt:last-child{grid-column:span 2;font-size:.92rem}

/* Letzter Bildschirm mobil: Zahlung und „Prüfen & absenden“ als klar getrennte Abschnitte */
.kz-s3t-abs{font-size:1.1rem;margin-bottom:6px}
.kz-form.s3:not(.seite) .kz-s3step[data-step="iban"],
.kz-form.s3:not(.seite) .kz-s3step[data-step="bestaetigungen"]{border-top:1px solid var(--kz-line);margin-top:22px;padding-top:18px}
.kz-inhaber-anders{margin-top:12px}

/* ═══ Runde 6 · B (zusammengeführt aus kz-r6-b.css) ═══ */
/* Runde 6 · Bereich R6-B – wird am Ende in css/kz.css übernommen */

/* ── 1 · Gesundheitsfragen im Stil der „Beispiel“-Box: weiche Fläche, normale gut lesbare Schrift, höchstens der Kernbegriff dezent hervorgehoben,
 *      kein großes Symbol vor der Frage (Lesefluss oben → unten). Antworten bleiben im festen Dock. ── */
.kz-qcard.kz-qcard6{margin-top:14px;background:var(--kz-card);border:1px solid var(--kz-line);border-radius:var(--kz-radius-s);box-shadow:none;padding:16px 18px 6px}
.kz-qcard6 .kz-q-t{margin:0;font-family:var(--kz-font);font-size:1.0625rem;font-weight:400;line-height:1.55;letter-spacing:0;color:var(--kz-text);max-width:34em;text-wrap:pretty}
.kz-qcard6 .kz-q-t b{font-weight:600;color:inherit}
.kz-qcard6 .kz-q-t b ~ b{font-weight:inherit}
.kz-qcard6 .kz-qhint{margin-top:10px;font-size:.9375rem;color:var(--kz-text-2)}
.kz-qcard6 .kz-fine{margin-top:6px}
.kz-qcard6 .kz-qhilfe{margin-top:8px}
.kz-qcard6 .kz-qhilfe p{margin-bottom:12px}
.kz-qcard6:not(:has(.kz-qhilfe)){padding-bottom:16px}
/* Entscheidungshilfe direkt sichtbar, gleiche ruhige Fläche wie die „Beispiel“-Box */
.kz-qe{margin-top:14px;background:var(--kz-card-2);border-radius:12px;padding:12px 14px;font-size:.9375rem;line-height:1.5;color:var(--kz-text-2)}
.kz-qe-t{margin:0 0 6px;font-size:.8125rem;font-weight:600;color:var(--kz-muted);letter-spacing:.01em}
.kz-qe ul{list-style:none;margin:0;padding:0}
.kz-qe li{position:relative;padding:5px 0 5px 18px}
.kz-qe li + li{border-top:1px solid var(--kz-line)}
.kz-qe li::before{content:"";position:absolute;left:3px;top:.95em;width:6px;height:6px;border-radius:50%;background:var(--kz-line-2)}
.kz-qe li.nein + li.nein,.kz-qe li.ja + li.ja{border-top-style:dashed}
.kz-qe-a{font-weight:600;color:var(--kz-text);white-space:nowrap}
.kz-qe li.ja .kz-qe-a{color:var(--kz-link)}
.kz-qe-u{margin:8px 0 0;font-size:.875rem;color:var(--kz-muted)}
@media (min-width:760px){.kz-qcard.kz-qcard6{padding:20px 22px 8px}.kz-qcard6 .kz-q-t{font-size:1.125rem}}

/* ── 2 · GKV-Seite: drei Erklärungen (gleiche Gestaltung, geschlossen) zwischen Rechenbeispiel und „Wichtig“; Entscheidung mit Unterzeile ── */
.kz-gkv-faqs{margin-top:14px;display:grid;gap:8px}
.kz-gkv-faqs .kz-more.sm{margin-top:0}
.kz-more.kz-gkv-faq summary{font-size:.95rem;font-weight:600;color:var(--kz-text);justify-content:flex-start}
.kz-more.kz-gkv-faq summary::before{content:"?";display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--kz-accent-soft);color:var(--kz-link);font-size:.8125rem;font-weight:700;margin-right:10px}
.kz-more.kz-gkv-faq summary::after{margin-left:auto}
.kz-gkv-faq > div p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--kz-text-2)}
.kz-gkv-wsub{margin:8px auto 0;max-width:34em;text-align:center;font-size:.9375rem;line-height:1.5;color:var(--kz-text-2)}

/* ── 3 · Tarifseite: Leiste „Kassenwechsel vorgemerkt“, Siegel „förderfähig“, Effektivbeitrag (nur geförderte Karte) ── */
.kz-gsbar.kz-gkvleiste{background:var(--kz-ok-soft);margin-top:14px;color:var(--kz-text)}
.kz-gkvleiste + .kz-tierwrap{margin-top:14px}
.kz-gkvl-ic{display:inline-grid;place-items:center;color:var(--kz-ok);flex:none}
.kz-gkvl-ic svg{width:22px;height:22px}
.kz-foerder{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:99px;
  background:var(--kz-ok-soft);color:var(--kz-ok);border:1px solid currentColor;font-size:.75rem;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:nowrap}
.kz-foerder::before{content:"";width:12px;height:12px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l3 3 6-6.6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l3 3 6-6.6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.kz-price-eff{margin-top:6px;font-size:.84rem;font-weight:600;color:var(--kz-ok);font-variant-numeric:tabular-nums;line-height:1.35}

/* ═══ Runde 6 · K (zusammengeführt aus kz-r6-k.css) ═══ */
/* Runde 6 · Bereich R6-K – wird am Ende in css/kz.css übernommen
 * Kopfzeilen-Knopf „Kontakt“ (alle Seiten) + Kontaktseite kontakt.html (Nachricht / Rückrufservice). Variablen aus kz.css (SPEC §11), Hell/Dunkel automatisch. */

/* ── Kopfzeile: dezenter Knopf „Kontakt“ neben dem Hell/Dunkel-Schalter ── */
.kz-kontakt-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--kz-line-2);
  color:var(--kz-text);background:transparent;font-size:.875rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;
  position:relative;transition:background .15s,border-color .15s}
.kz-kontakt-btn::after{content:"";position:absolute;inset:-4px -2px}   /* Tippfläche ≥ 44 px ohne größere Optik */
.kz-kontakt-btn svg{width:16px;height:16px;flex:none;color:var(--kz-accent)}
@media (hover:hover){.kz-kontakt-btn:hover{background:var(--kz-chip);border-color:var(--kz-muted)}}
.kz-kontakt-btn[aria-current="page"]{background:var(--kz-accent-soft);border-color:var(--kz-accent)}
@media (max-width:359px){.kz-kontakt-btn{padding:0 10px}.kz-kontakt-btn svg{display:none}}
.kz-foot a[aria-current="page"]{color:var(--kz-text)}

/* ── Kontaktseite ── */
.kz-ko .kz-checks{margin-top:14px}
.kz-ko-tab{margin-top:14px}
.kz-ko-form{margin-top:20px}
.kz-ko-wahl{border:0;margin:0;padding:0;min-width:0}
.kz-ko-wahl legend{padding:0}
.kz-ko-wahl-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kz-ko-wahl-b{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;min-height:96px;padding:14px;border-radius:var(--kz-radius-s);
  border:1.5px solid var(--kz-line-2);background:var(--kz-card);color:var(--kz-text);font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.kz-ko-wahl-b:active{transform:scale(.98)}
@media (hover:hover){.kz-ko-wahl-b:hover{border-color:var(--kz-muted)}}
.kz-ko-wahl-b[aria-pressed="true"]{border-color:var(--kz-accent);background:var(--kz-accent-soft);box-shadow:inset 0 0 0 1px var(--kz-accent)}
.kz-ko-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--kz-chip);color:var(--kz-accent)}
.kz-ko-wahl-b[aria-pressed="true"] .kz-ko-ic{background:var(--kz-accent);color:var(--kz-accent-ink)}
.kz-ko-ic svg{width:19px;height:19px}
.kz-ko-wt{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.kz-ko-wt b{font-size:.98rem;font-weight:650}
.kz-ko-wt small{font-size:.8125rem;color:var(--kz-muted)}
.kz-ko-card{margin-top:16px}
.kz-ko-hint{display:block;margin-top:6px}
.kz-ko-fs{border:0;padding:0;margin-left:0;margin-right:0;min-width:0}
.kz-ko-fs legend{padding:0}
.kz-ko-tage .kz-chip{min-width:3.2em;flex:1 1 0}
.kz-ko-zeiten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kz-ko-zeit{flex-direction:column;gap:1px;min-height:58px;padding:6px 4px;line-height:1.2}
.kz-ko-zeit b{font-size:.92rem;font-weight:600}
.kz-ko-zeit small{font-size:.75rem;color:var(--kz-muted);font-weight:500}
.kz-ko-zeit[aria-pressed="true"] b{font-weight:700}
.kz-ko textarea.kz-in{resize:vertical;min-height:96px;line-height:1.45}
.kz-ko-dock{margin-top:8px}
.kz-ko-dock .kz-fine{margin-top:6px}
#kz-ko-e:not(:empty){margin-top:12px}
@media (max-width:359px){.kz-ko-wahl-g{grid-template-columns:1fr}.kz-ko-wahl-b{min-height:0;flex-direction:row;align-items:center}}

/* ═══ Runde 7 · A (zusammengeführt aus kz-r7-a.css) ═══ */
/* Runde 7 · Bereich R7-A – wird am Ende in css/kz.css übernommen */

/* Kontrast im Antrag (Kundenwunsch „Kontraste für die Boxen bei den Gesundheitsfragen nicht gut genug“).
 * Ziel WCAG AA: Text ≥ 4,5:1, Kastenränder/Bedienelemente ≥ 3:1 gegen den Seitenhintergrund – hell und dunkel.
 * Gemessen (hell, Seite #f7f5f1): Rand #86868b 3,3:1 (auf Weiß 3,6:1); Fließtext --kz-text-2 auf --kz-chip 9,6:1, auf --kz-warn-soft 10,4:1;
 * Warnrand --kz-warn 5,2:1. Dunkel (Seite #000, Karte #1c1c1e): Rand #7c7c80 5,1:1 bzw. 4,1:1; Text --kz-text-2 auf Karten ≥ 9:1.
 * Nur auf den Antragsbildschirmen (s3-*), damit Stufe 1/2 (R7-B) unberührt bleiben. */
:root{--kz-r7a-rand:#86868b}
@media (prefers-color-scheme:dark){:root:not(.kz-light){--kz-r7a-rand:#7c7c80}}
:root.kz-dark{--kz-r7a-rand:#7c7c80}

/* Antwortknöpfe (Ja/Nein, Anzahl, Versicherungsbeginn): sichtbarer Rand statt Weiß auf Beige */
.kz-screen[data-screen^="s3-"] .kz-opt{border:1.5px solid var(--kz-r7a-rand);box-shadow:none}
@media (hover:hover){.kz-screen[data-screen^="s3-"] .kz-opt:hover{border-color:var(--kz-text-2)}}
.kz-screen[data-screen^="s3-"] .kz-opt[aria-pressed="true"]{border:2px solid var(--kz-accent);background:var(--kz-accent-soft)}
.kz-screen[data-screen^="s3-"] .kz-chip{border-color:var(--kz-r7a-rand)}
.kz-screen[data-screen^="s3-"] .kz-chip[aria-pressed="true"]{border-color:var(--kz-accent)}

/* Prüfliste der Gesundheitsantworten, Erklärungen, aufklappbare Hinweise (§ 19 VVG, „Warum fragen wir das?“), Abschlussblock */
.kz-screen[data-screen^="s3-"] .kz-gfliste,
.kz-screen[data-screen^="s3-"] .kz-more,
.kz-screen[data-screen^="s3-"] .kz-best,
.kz-screen[data-screen^="s3-"] .kz-s3sum{border:1.5px solid var(--kz-r7a-rand);box-shadow:none}
.kz-screen[data-screen^="s3-"] .kz-gfliste li{color:var(--kz-text);border-bottom-color:var(--kz-line-2)}
.kz-screen[data-screen^="s3-"] .kz-gfliste li:last-child{border-bottom:0}
.kz-screen[data-screen^="s3-"] .kz-gfliste b{color:var(--kz-text);font-weight:700}
.kz-screen[data-screen^="s3-"] .kz-more summary{color:var(--kz-link)}
.kz-screen[data-screen^="s3-"] .kz-more > div{color:var(--kz-text)}
.kz-screen[data-screen^="s3-"] .kz-warum p{color:var(--kz-text);background:var(--kz-card);border:1.5px solid var(--kz-r7a-rand)}

/* Hinweis-/Info-Kästen: Rand in der Kastenfarbe, Text in voller Textfarbe */
.kz-screen[data-screen^="s3-"] .kz-note{color:var(--kz-text);border:1.5px solid var(--kz-r7a-rand)}
.kz-screen[data-screen^="s3-"] .kz-note.warn{border-color:var(--kz-warn);border-left-width:5px}
.kz-screen[data-screen^="s3-"] .kz-note.rot{border-color:var(--kz-bad);border-left-width:5px}
.kz-screen[data-screen^="s3-"] .kz-note.ok{border-color:var(--kz-ok);border-left-width:5px}
.kz-screen[data-screen^="s3-"] .kz-pruefhinweis{border-width:2px;border-left-width:5px}

/* Erklärende Kleintexte: dunkler als --kz-muted (4,3:1 auf Chip-Flächen) */
.kz-screen[data-screen^="s3-"] .kz-qhint,
.kz-screen[data-screen^="s3-"] .kz-fine,
.kz-screen[data-screen^="s3-"] .kz-note .kz-fine{color:var(--kz-text-2)}

/* Gesundheitsseite: Zusatzfragen direkt unter Überschrift/Prüf-Hinweis, danach die Einleitung zur Prüfliste */
.kz-screen[data-screen^="s3-"] .kz-pruefhinweis + .kz-lead.sm{margin-top:10px}
.kz-screen[data-screen^="s3-"] .kz-pruefhinweis + .kz-form.s3{margin-top:4px}
.kz-form.s3 > .kz-vvg:first-child{margin-top:12px}
.kz-screen[data-screen^="s3-"] .kz-vvg{margin-bottom:18px}
.kz-gs-lead{margin-top:22px;padding-top:16px;border-top:1px solid var(--kz-line-2);color:var(--kz-text-2);font-weight:600}
.kz-s3sec .kz-gs-lead{margin-top:6px;padding-top:0;border-top:0;font-size:.9375rem}
.kz-s3sec .kz-s3step + .kz-s3step .kz-gs-lead{margin-top:8px;padding-top:14px;border-top:1px solid var(--kz-line-2)}
.kz-s3sec .kz-gs-t{margin-top:18px}

/* ═══ Runde 7 · B (zusammengeführt aus kz-r7-b.css) ═══ */
/* Runde 7 · Bereich R7-B – wird am Ende in css/kz.css übernommen
 * Kundenwunsch 25.10.2026: mehr Kontrast für die Boxen der Gesundheitsfragen und die Trustboxen; Trustbar unter „Beantragen“ auffälliger
 * und beruhigend. Alle Textfarben ≥ 4,5:1 (WCAG AA), Box-Ränder deutlich sichtbar; gemessene Werte: docs/AENDERUNG_RUNDE7_B.md. */

:root{
  --kz7-box:#ffffff; --kz7-box-line:#959fae; --kz7-box-sh:0 1px 2px rgba(16,24,40,.06),0 3px 10px rgba(16,24,40,.05);
  --kz7-qe-bg:#eef2f7; --kz7-qe-line:#8593a7; --kz7-qe-sep:#c3ccd8;
  --kz7-ja-bg:#0a58b8; --kz7-ja-ink:#ffffff; --kz7-nein-bg:#ffffff; --kz7-nein-line:#48484a; --kz7-nein-ink:#1d1d1f;
  --kz7-tuk-bg:#e7f5ec; --kz7-tuk-line:#7dbd92; --kz7-tuk-ic:#1a7f37; --kz7-tuk-ic-ink:#ffffff;
  --kz7-tb-sec:linear-gradient(160deg,#dde9fb,#e9e3f8 55%,#dcf0e7); --kz7-tb-sec-line:#bccbe0;
}
@media (prefers-color-scheme:dark){:root:not(.kz-light){
  --kz7-box:#2c2c2e; --kz7-box-line:#5a5a5f; --kz7-box-sh:none;
  --kz7-qe-bg:#2a2d33; --kz7-qe-line:#757a84; --kz7-qe-sep:#4a4d54;
  --kz7-ja-bg:#0a64d6; --kz7-ja-ink:#ffffff; --kz7-nein-bg:#1c1c1e; --kz7-nein-line:#c7c7cc; --kz7-nein-ink:#f5f5f7;
  --kz7-tuk-bg:#17301f; --kz7-tuk-line:#3a8f55; --kz7-tuk-ic:#30d158; --kz7-tuk-ic-ink:#04220e;
  --kz7-tb-sec:linear-gradient(160deg,#16263d,#221d36 55%,#142a25); --kz7-tb-sec-line:#3a3f4a;
}}
:root.kz-dark{
  --kz7-box:#2c2c2e; --kz7-box-line:#5a5a5f; --kz7-box-sh:none;
  --kz7-qe-bg:#2a2d33; --kz7-qe-line:#757a84; --kz7-qe-sep:#4a4d54;
  --kz7-ja-bg:#0a64d6; --kz7-ja-ink:#ffffff; --kz7-nein-bg:#1c1c1e; --kz7-nein-line:#c7c7cc; --kz7-nein-ink:#f5f5f7;
  --kz7-tuk-bg:#17301f; --kz7-tuk-line:#3a8f55; --kz7-tuk-ic:#30d158; --kz7-tuk-ic-ink:#04220e;
  --kz7-tb-sec:linear-gradient(160deg,#16263d,#221d36 55%,#142a25); --kz7-tb-sec-line:#3a3f4a;
}

/* ── 1 · Gesundheitsfragen Stufe 1: Karte und Box „So entscheiden Sie“ klar abgesetzt, Text dunkel, Ja/Nein als eigene Marken ── */
:root .kz-qcard.kz-qcard6{border:1px solid var(--kz7-box-line);box-shadow:var(--kz7-box-sh)}
:root .kz-qe{background:var(--kz7-qe-bg);border:1px solid var(--kz7-qe-line);border-radius:12px;padding:12px 14px 12px;color:var(--kz-text);font-size:.9375rem;line-height:1.5}
:root .kz-qe-t{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:.875rem;font-weight:700;color:var(--kz-text);letter-spacing:0}
.kz-qe-t::before{content:"?";display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--kz-text);color:var(--kz7-qe-bg);font-size:.75rem;font-weight:800}
:root .kz-qe li{padding:7px 0 7px 20px;color:var(--kz-text)}
:root .kz-qe li + li{border-top:1px solid var(--kz7-qe-sep)}
:root .kz-qe li.ja + li.ja,:root .kz-qe li.nein + li.nein{border-top-style:dashed}
/* Wechsel von den Ja- zu den Nein-Fällen: deutliche Trennlinie */
:root .kz-qe li.ja + li.nein{border-top:2px solid var(--kz7-qe-line);margin-top:2px}
/* Aufzählungszeichen: Ja = gefülltes Quadrat, Nein = leerer Kreis (Form, nicht nur Farbe) */
:root .kz-qe li::before{left:2px;top:calc(7px + .55em);width:9px;height:9px;border-radius:2px;background:var(--kz7-ja-bg)}
:root .kz-qe li.nein::before{border-radius:50%;background:transparent;box-shadow:inset 0 0 0 2px var(--kz7-nein-line)}
/* Antwort-Marke: „→ Ja“ gefüllt blau mit weißer Schrift, „→ Nein“ umrandet – Gewicht und Form unterscheiden sich */
:root .kz-qe-a{display:inline-block;margin-left:2px;padding:0 8px;border-radius:99px;font-size:.875rem;font-weight:700;line-height:1.55;white-space:nowrap;vertical-align:baseline}
:root .kz-qe li.ja .kz-qe-a{background:var(--kz7-ja-bg);color:var(--kz7-ja-ink)}
:root .kz-qe li.nein .kz-qe-a{background:var(--kz7-nein-bg);color:var(--kz7-nein-ink);box-shadow:inset 0 0 0 1.5px var(--kz7-nein-line)}
:root .kz-qe-u{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--kz7-qe-sep);font-size:.875rem;color:var(--kz-text-2)}

/* ── 2 · Trustboxen (gemeinsame Trustbar KZ.trustRow, Tarifseite unten, Glückwunsch-, GKV-Seite, Gutschein-Dialog, Siegel der Zusammenfassung) ── */
:root .kz-g{background:var(--kz7-box);border:1px solid var(--kz7-box-line);box-shadow:var(--kz7-box-sh);color:var(--kz-text)}
@media (hover:hover){:root a.kz-g:hover{border-color:var(--kz-text-2);box-shadow:var(--kz7-box-sh)}}
:root .kz-trust{color:var(--kz-text-2);font-weight:500}
:root .kz-trustbar .kz-trust{color:var(--kz-text)}
:root .kz-gw-trust > .kz-fine{color:var(--kz-text-2)}
/* Tarifseite unten: Fläche kräftiger getönt + Rand, Karten weiß mit Rand, Schrift dunkel */
:root:root .kz-s2-trust{background:var(--kz7-tb-sec);border:1px solid var(--kz7-tb-sec-line);box-shadow:none}
:root .kz-s2-trust-t{color:var(--kz-text)}
:root:root .kz-s2-trust .kz-g{background:var(--kz7-box);border:1px solid var(--kz7-box-line);box-shadow:var(--kz7-box-sh)}
:root:root .kz-s2-trust .kz-trust{color:var(--kz-text);font-weight:500}
:root:root .kz-s2-trust .kz-trust li{background:var(--kz7-box);border:1px solid var(--kz7-box-line);box-shadow:var(--kz7-box-sh);overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}
/* lange Wörter (Versicherungsmakler, Krankenversicherung) mit Trennstrich statt Buchstabenumbruch */
:root .kz-s2-trust .kz-trust b{color:var(--kz-text)}
/* Siegel in der Antrags-Zusammenfassung */
:root .kz-siegel li > a,:root .kz-siegel li > span{background:var(--kz7-box);border:1px solid var(--kz7-box-line);box-shadow:var(--kz7-box-sh);color:var(--kz-text)}
/* Kopfzeile Tarifseite (Google-Zeile) */
:root .kz-s2-g{background:var(--kz7-box);box-shadow:var(--kz7-box-sh),inset 0 0 0 1px var(--kz7-box-line)}

/* ── 3 · Zusagen direkt unter dem Abschluss-Knopf (KZ.ui.trustUnterKnopf): grün getönte Leiste, Haken/Schloss in gefüllten Kreisen ── */
.kz-tuk{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin:10px 0 0;padding:8px 12px;
  background:var(--kz7-tuk-bg);border:1px solid var(--kz7-tuk-line);border-radius:12px;color:var(--kz-text);font-size:.8125rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.kz-tuk li{display:inline-flex;align-items:center;gap:6px;min-width:0}
.kz-tuk li > a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;border-radius:6px}
.kz-tuk li > a:focus-visible{outline:2px solid var(--kz-focus);outline-offset:2px}
@media (hover:hover){.kz-tuk li > a:hover span:last-child{text-decoration:underline;text-underline-offset:.15em}}
.kz-tuk-ic{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--kz7-tuk-ic);color:var(--kz7-tuk-ic-ink)}
.kz-tuk-ic svg{width:13px;height:13px}
.kz-tuk .kz-g-gl{width:20px;height:20px}
.kz-tuk .kz-g-logo{width:14px;height:14px}
.kz-tuk-st{color:#e09b00;font-size:.95rem;line-height:1}
.kz-tuk b{font-weight:800}
/* Tarifkarten: als kleine Checkliste untereinander (schmale Karten, nichts bricht mitten in der Zusage um) */
.kz-tuk-tarif{flex-direction:column;align-items:flex-start;gap:5px;width:fit-content;max-width:100%;margin:10px auto 0;padding:8px 14px}
/* Antrag: im Dock kompakt in einer Zeile (bricht bei Bedarf um); bei offener Bildschirmtastatur ausgeblendet wie bisher */
.kz-dock .kz-tuk-antrag{margin-top:4px;padding:6px 10px;gap:4px 12px;font-size:.78rem}
:root.kz-tastatur .kz-dock .kz-tuk{display:none}

/* ═══ Runde 7 · C (zusammengeführt aus kz-r7-c.css) ═══ */
/* Runde 7 · Bereich R7-C – wird am Ende in css/kz.css übernommen
 * Danke-Seite: Portal-Wette, Empfehlungs-Aktion (ganze Karte → WhatsApp), Teilen-Knopf, Vertragsdaten; Portal: Wett-Aufhänger.
 * Farben nur über Variablen aus css/kz.css (hell/dunkel); WhatsApp-Knopf in dunklem Grün (weiße Schrift, Kontrast ≥ 4,5:1). */
:root{--kz-wa:#0f7a3d;--kz-wa-h:#0c6a35}

/* ── Portal-Wette ── */
.kz-dk-pw.wette,.kz-pt-wette.wette{background:linear-gradient(160deg,var(--kz-accent-soft),var(--kz-card) 72%);box-shadow:var(--kz-shadow),inset 0 0 0 1.5px var(--kz-accent-soft)}
.kz-dk-pw .kz-eyebrow,.kz-pt-wette .kz-eyebrow{margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}
.kz-dk-pw-h{font-size:1.32rem;line-height:1.28;font-weight:700;letter-spacing:-.02em}
.kz-dk-pw > .kz-lead.sm{margin-top:10px;color:var(--kz-text-2)}
.kz-dk-pw > .kz-btn{margin-top:16px}
.kz-dk-pw-z{margin-top:10px}
.kz-dk-bed{margin-top:10px;font-size:.8125rem;line-height:1.45;color:var(--kz-text-2)}
.kz-dk-bed summary{cursor:pointer;list-style:none;padding:6px 0;min-height:32px}
.kz-dk-bed summary::-webkit-details-marker{display:none}
.kz-dk-bed-l{color:var(--kz-link);text-decoration:underline;text-underline-offset:.15em;white-space:nowrap}
.kz-dk-bed[open] .kz-dk-bed-l{text-decoration:none}
.kz-dk-bed p{margin-top:6px}
.kz-pt-wette{background:var(--kz-card);border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);padding:18px 20px;margin-top:16px}
.kz-pt-wette .kz-h3{font-size:1.2rem;line-height:1.3;font-weight:700}

/* ── Empfehlungs-Aktion: ganze Karte antippbar ── */
.kz-dk-ea-sec{margin-top:20px}
.kz-dk-ea{display:block;position:relative;text-decoration:none;color:var(--kz-text);background:linear-gradient(150deg,var(--kz-mint),var(--kz-card) 78%);
  border-radius:var(--kz-radius);box-shadow:var(--kz-shadow);border:2px solid var(--kz-ok);padding:22px 20px 20px;transition:transform .15s var(--kz-ease),box-shadow .15s}
.kz-dk-ea:focus-visible{outline:3px solid var(--kz-focus);outline-offset:3px}
@media (hover:hover){.kz-dk-ea:hover{transform:translateY(-1px);box-shadow:var(--kz-shadow-lg)}}
.kz-dk-ea:active{transform:scale(.99)}
.kz-dk-ea-tag{display:inline-block;background:var(--kz-warn);color:var(--kz-bg);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;margin-bottom:10px}
.kz-dk-ea .kz-h3{font-size:1.5rem;line-height:1.22;font-weight:750;letter-spacing:-.02em}
.kz-dk-ea-lead{margin-top:8px;font-size:1rem;line-height:1.45;color:var(--kz-text-2)}
.kz-dk-ea-cta{display:flex;align-items:center;gap:10px;margin-top:16px;min-height:52px;padding:0 18px;border-radius:16px;background:var(--kz-wa);color:#fff;font-weight:650;font-size:1.04rem}
.kz-dk-ea-cta .arrow{margin-left:auto;transition:transform .2s}
@media (hover:hover){.kz-dk-ea:hover .kz-dk-ea-cta{background:var(--kz-wa-h)}.kz-dk-ea:hover .kz-dk-ea-cta .arrow{transform:translateX(3px)}}
.kz-dk-ea-bed{margin:10px 4px 0}
.kz-dk-ea-mehr{margin:2px 0 0}
.kz-dk-ea-sec > .kz-cb{margin-top:6px}

/* ── Teilen (an den Partner) ── */
.kz-btn.kz-wa{background:var(--kz-wa);color:#fff;margin-top:14px;text-decoration:none}
@media (hover:hover){.kz-btn.kz-wa:hover{background:var(--kz-wa-h)}}
.kz-wa-ic{flex:none;width:22px;height:22px}
.kz-dk-sh .kz-dk-text{margin-top:10px}

/* ── Vertragsdaten (unten) ── */
.kz-dk-vd-l{list-style:none;display:grid;gap:10px;margin:12px 0 4px;padding:0}
.kz-dk-vd-l li{display:grid;gap:2px;background:var(--kz-card);border-radius:var(--kz-radius-s);box-shadow:var(--kz-shadow-s);padding:12px 14px;font-size:.9375rem;line-height:1.4;color:var(--kz-text-2)}
.kz-dk-vd-l b{color:var(--kz-text);font-size:1rem}
.kz-dk-vd-l small{font-size:.8125rem;color:var(--kz-muted)}
.kz-dk-vd .kz-fine{margin-top:8px}

@media (max-width:359px){.kz-dk-ea{padding:18px 16px}.kz-dk-ea .kz-h3{font-size:1.32rem}.kz-dk-pw-h{font-size:1.2rem}}

/* ═══ Runde 7 · G (zusammengeführt aus kz-r7-g.css) ═══ */
/* Runde 7 · Bereich R7-G – wird am Ende in css/kz.css übernommen */
/* Seite gkv-nummer.html: Versichertennummer nachreichen (eingebunden nur in gkv-nummer.html) */
.kz-gn .kz-gn-wer{margin:4px 0 14px;font-size:15px;color:var(--kz-text-2)}
.kz-gn .kz-gn-card{padding:18px 16px}
.kz-gn .kz-gn-in{font:600 22px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;min-height:56px}
.kz-gn .kz-gn-in::placeholder{letter-spacing:.12em;color:var(--kz-muted);opacity:.55;font-weight:500}
.kz-gn .kz-gn-hint{display:block;margin-top:6px}
.kz-gn .kz-gn-ok{display:block;margin-top:6px;font-size:15px;font-weight:600;color:var(--kz-ok)}
.kz-gn .kz-gn-ok:empty{display:none}
.kz-gn-wo{margin-top:14px;border-top:1px solid var(--kz-line);padding-top:12px}
.kz-gn-wo>summary{cursor:pointer;font-weight:600;color:var(--kz-link);min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
.kz-gn-wo>summary::-webkit-details-marker{display:none}
.kz-gn-wo>summary::before{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s var(--kz-ease,ease);margin:0 4px 0 2px}
.kz-gn-wo[open]>summary::before{transform:rotate(45deg)}
.kz-gn-wo-in{padding:6px 0 2px}
.kz-gn-karte{display:block;width:100%;max-width:340px;height:auto;margin:4px auto 14px}
.kz-gn-k-bg{fill:var(--kz-card-2);stroke:var(--kz-line-2);stroke-width:1.5}
.kz-gn-k-l{fill:var(--kz-line-2)}
.kz-gn-k-l2{fill:var(--kz-line)}
.kz-gn-k-chip{fill:var(--kz-sun-soft);stroke:var(--kz-sun);stroke-width:1.2}
.kz-gn-k-chipl{fill:none;stroke:var(--kz-sun);stroke-width:1.2}
.kz-gn-k-foto{fill:var(--kz-bg-2);stroke:var(--kz-line-2)}
.kz-gn-k-hl{fill:var(--kz-accent-soft);stroke:var(--kz-accent);stroke-width:2.5}
.kz-gn-k-nr{font:700 15px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;fill:var(--kz-link,var(--kz-accent))}
.kz-gn-k-t{font:500 11px var(--kz-font,system-ui,sans-serif);fill:var(--kz-text-2)}
.kz-gn-k-t.sm{font-size:10px;font-weight:600;fill:var(--kz-link,var(--kz-accent))}
.kz-gn-liste{margin:0;padding:0 0 0 20px;display:grid;gap:8px;font-size:15px;line-height:1.45;color:var(--kz-text)}
.kz-gn-liste b{font-weight:600}
.kz-gn .kz-gn-privat{margin-top:10px}
.kz-gn .kz-gn-mask{font:600 18px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;margin:4px 0 14px}
.kz-gn .kz-dock .kz-btn+.kz-btn{margin-top:10px}
@media (min-width:768px){.kz-gn .kz-gn-card{padding:22px 24px}.kz-gn-wo-in{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:20px;align-items:start}.kz-gn-karte{margin:4px 0 0}}
@media (prefers-reduced-motion:reduce){.kz-gn-wo>summary::before{transition:none}}

/* ═══ Runde 8 · A (zusammengeführt aus kz-r8-a.css) ═══ */
/* Runde 8 · Bereich R8-A – wird am Ende in css/kz.css übernommen */

/* „Kurz mit dem Partner abstimmen“ / „Später weitermachen“ als gut sichtbare Zweit-Knöpfe (vorher kleine Text-Links).
   Stehen im Inhalt direkt unter dem Dock (Haupt-Knopf + Vertrauensleiste), nicht im festen Dock → das Dock wird nicht höher.
   Rangfolge bleibt: Haupt-Knopf gefüllt in Akzentfarbe mit Schatten, Zweit-Knöpfe hell mit Rand, kleiner und ohne Schatten.
   Rand: hell #86868b (3,3:1 zur Seite, 3,6:1 zu Weiß), dunkel #7c7c80 (≥ 3:1 zu Seite/Karte) – wie R7-A. */
:root{--kz-r8a-rand:#86868b}
@media (prefers-color-scheme:dark){:root:not(.kz-light){--kz-r8a-rand:#7c7c80}}
:root.kz-dark{--kz-r8a-rand:#7c7c80}

.kz-s3links.kz-s3neben{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0 4px;justify-content:stretch}
.kz-s3neben .kz-btn.kz-s3nb{min-height:52px;padding:8px 16px;gap:10px;border-radius:16px;font-size:1rem;font-weight:600;line-height:1.25;
  background:var(--kz-card);color:var(--kz-text);border:1.5px solid var(--kz-r8a-rand);box-shadow:none}
.kz-s3neben .kz-s3nb svg{flex:none;color:var(--kz-link)}
.kz-s3neben .kz-s3nb span{min-width:0;text-wrap:balance}
@media (hover:hover){.kz-s3neben .kz-btn.kz-s3nb:hover{background:var(--kz-chip);border-color:var(--kz-text-2)}}
.kz-s3neben .kz-btn.kz-s3nb:focus-visible{outline:2px solid var(--kz-focus,var(--kz-link));outline-offset:2px}
.kz-s3neben .kz-btn.kz-s3nb.busy svg{display:none}

/* ab Tablet/Desktop nebeneinander */
@media (min-width:560px){
  .kz-s3links.kz-s3neben{grid-template-columns:1fr 1fr;gap:12px}
}
/* Desktop: Dock ist statisch (Haupt-Knopf max. 400 px, linksbündig) – Zweit-Knöpfe in Textbreite nebeneinander, links an der Knopfkante,
   jeder Text in einer Zeile */
@media (min-width:760px){
  .kz-s3links.kz-s3neben{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-top:8px}
  .kz-s3neben .kz-btn.kz-s3nb{width:auto;flex:0 1 auto;padding:8px 20px 8px 16px;white-space:nowrap}
}
/* offene Tastatur (mobil): Platz für das Eingabefeld – Knöpfe bleiben im Inhalt, nur etwas Abstand weniger */
:root.kz-tastatur .kz-s3links.kz-s3neben{margin-top:10px}

/* ═══ Runde 8 · B (zusammengeführt aus kz-r8-b.css) ═══ */
/* Runde 8 · Bereich R8-B – wird am Ende in css/kz.css übernommen */

/* §1 GKV-Seite: Einleitungssatz oben ruhig statt Überschrift – Lead-Größe (18 px mobil, 20 px Desktop), normales Gewicht,
   volle Textfarbe; nur die beiden Kassennamen fett (<b> aus js/kz-stufe2.js). Bleibt semantisch die h1 der Seite. */
.kz-gkv-titel{font-family:var(--kz-font);font-size:1.125rem;line-height:1.5;font-weight:400;letter-spacing:-.005em;color:var(--kz-text);
  margin:0;max-width:34em;text-wrap:pretty;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word}
.kz-gkv-titel b{font-weight:700;color:inherit}
@media (min-width:760px){.kz-gkv-titel{font-size:1.25rem;line-height:1.45}}
.kz-gkv-titel + .kz-gkv-r{margin-top:16px}

/* §2 GKV-Seite: neue Reihenfolge – Entscheidung (Überschrift, Unterzeile, zwei Knöpfe) direkt unter den drei Erklärungen,
   darunter „Wichtig: …“ und „Genauer rechnen …“ mit etwas Luft zu den Knöpfen. Knöpfe stehen im Inhalt (kein Dock auf dieser Seite). */
.kz-gkv-faqs + .kz-gkv-wt{margin-top:28px}
.kz-gkv-wahl + .kz-gkv-zb{margin-top:24px}

/* ═══ Runde 8 · C (zusammengeführt aus kz-r8-c.css) ═══ */
/* Runde 8 · Bereich R8-C – wird am Ende in css/kz.css übernommen */

/* Policen-Portal: „Was sollte zu sehen sein?“ unter „2. Seiten hinzufügen“ */
.kz-pt-hilfe{margin:8px 0 2px;padding:12px 14px;border-radius:var(--kz-radius-s);background:var(--kz-accent-soft);color:var(--kz-text-2);font-size:.9rem;line-height:1.45}
.kz-pt-hilfe-t{margin:0 0 6px;font-weight:700;color:var(--kz-text);font-size:.95rem}
.kz-pt-hilfe ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.kz-pt-hilfe li{position:relative;padding-left:22px}
.kz-pt-hilfe li::before{content:"";position:absolute;left:3px;top:.38em;width:9px;height:5px;border-left:2px solid var(--kz-accent);border-bottom:2px solid var(--kz-accent);transform:rotate(-45deg)}
.kz-pt-hilfe li b{color:var(--kz-text)}
.kz-pt-hilfe-bsp{display:grid;gap:2px;margin-top:2px}
.kz-pt-hilfe-f{margin:8px 0 0;font-size:.85rem;color:var(--kz-muted)}
:root.kz-dark .kz-pt-hilfe li::before{border-color:var(--kz-link)}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-pt-hilfe li::before{border-color:var(--kz-link)}}

/* Danke-Seite: Leistungsübersicht (PDF) unter der Zahnschutz-Karte */
.kz-dk-lu{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;min-height:var(--kz-tap);
  border-radius:var(--kz-radius-s);background:var(--kz-accent-soft);color:var(--kz-text);text-decoration:none;box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .15s var(--kz-ease),transform .15s var(--kz-ease)}
.kz-dk-lu:hover{box-shadow:inset 0 0 0 1.5px var(--kz-accent)}
.kz-dk-lu:active{transform:scale(.99)}
.kz-dk-lu:focus-visible{outline:3px solid var(--kz-focus);outline-offset:2px}
.kz-dk-lu-ic{color:var(--kz-accent);flex:none}
.kz-dk-lu-t{display:grid;gap:2px;min-width:0}
.kz-dk-lu-t b{font-size:1rem;line-height:1.3;color:var(--kz-text)}
.kz-dk-lu-t small{font-size:.82rem;line-height:1.35;color:var(--kz-muted)}
.kz-dk-lu .arrow{color:var(--kz-accent);font-weight:700;font-size:1.1rem}
:root.kz-dark .kz-dk-lu-ic,:root.kz-dark .kz-dk-lu .arrow{color:var(--kz-link)}
@media (prefers-color-scheme:dark){:root:not(.kz-light) .kz-dk-lu-ic,:root:not(.kz-light) .kz-dk-lu .arrow{color:var(--kz-link)}}

/* Danke-Seite: „Gut zu wissen“ (frühe Rechnungen) bei „Was passiert jetzt?“ */
.kz-dk-gz{margin:4px 0 6px;padding:14px 16px;border-radius:var(--kz-radius-s);background:var(--kz-warn-soft);border-left:4px solid var(--kz-sun);color:var(--kz-text-2);font-size:.95rem;line-height:1.5}
.kz-dk-gz p{margin:0}
.kz-dk-gz p + p{margin-top:6px}
.kz-dk-gz-t{font-weight:700;color:var(--kz-warn)}
.kz-dk-gz-a{font-weight:600;color:var(--kz-text)}

/* ── Runde 9 · Film (R9-F) ── */
.f5-b.tabelle .f5-tabw{transition:opacity .4s .08s var(--kz-ease),transform .45s .08s var(--kz-ease),visibility 0s}

/* ── Runde 9 · Tarifseite (R9-T) ── */
/* Gutschein-Eintrag in der Vertrauensbox: gleiche Kachel wie die übrigen Einträge, aber als Knopf erkennbar (Rahmen, Pfeil) */
:root:root .kz-s2-trust .kz-trust li.kz-tb-gs{padding:0;position:relative;box-shadow:var(--kz-shadow-s),inset 0 0 0 1.5px #f3b7c8}
.kz-tb-btn{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;width:100%;height:100%;
  margin:0;padding:12px 10px;border:0;border-radius:16px;background:transparent;color:inherit;font:inherit;line-height:1.3;text-align:center;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:background-color .15s ease,transform .1s ease}
.kz-tb-btn:hover{background:rgba(194,37,92,.06)}
.kz-tb-btn:active{transform:scale(.98)}
.kz-tb-btn:focus-visible{outline:3px solid var(--kz-focus);outline-offset:-3px}
.kz-tb-go{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffe9ef;color:#c2255c;
  font-size:1.05rem;font-weight:700;line-height:1;padding-bottom:2px}
.kz-tb-gs .kz-tb-ic{background:#ffe9ef;color:#c2255c}
:root.kz-dark .kz-tb-gs .kz-tb-ic,:root.kz-dark .kz-tb-go{background:rgba(255,105,150,.16);color:#ff8fb1}
:root.kz-dark .kz-s2-trust .kz-trust li.kz-tb-gs{box-shadow:var(--kz-shadow-s),inset 0 0 0 1.5px rgba(255,105,150,.45)}
:root.kz-dark .kz-tb-btn:hover{background:rgba(255,105,150,.08)}
@media (prefers-color-scheme:dark){
  :root:not(.kz-light) .kz-tb-gs .kz-tb-ic,:root:not(.kz-light) .kz-tb-go{background:rgba(255,105,150,.16);color:#ff8fb1}
  :root:not(.kz-light) .kz-s2-trust .kz-trust li.kz-tb-gs{box-shadow:var(--kz-shadow-s),inset 0 0 0 1.5px rgba(255,105,150,.45)}
  :root:not(.kz-light) .kz-tb-btn:hover{background:rgba(255,105,150,.08)}
}
@media (prefers-reduced-motion:reduce){.kz-tb-btn{transition:none}.kz-tb-btn:active{transform:none}}

/* ── Runde 9 · Danke-Seite (R9-D) ── */
/* Wette ruhiger: schlichte Karte, Überschrift + ein Satz + Knopf, Rest im Ausklappfeld „Weitere Infos“ (Danke-Seite und Portal) */
.kz-dk-pw.wette,.kz-pt-wette.wette{background:var(--kz-card);box-shadow:var(--kz-shadow)}
.kz-dk-pw-h{font-size:1.4rem;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}
.kz-dk-pw > .kz-lead.sm{margin-top:12px;font-size:1.0625rem;line-height:1.5;color:var(--kz-text-2)}
.kz-dk-pw > .kz-btn{margin-top:22px}
.kz-pt-wette .kz-h3{text-wrap:balance}
.kz-pt-wette-l{margin-top:10px;line-height:1.5;color:var(--kz-text-2)}
.kz-dk-mehr{margin-top:18px;border-top:1px solid var(--kz-line)}
.kz-dk-mehr summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--kz-tap);padding:4px 0;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:600;color:var(--kz-text)}
.kz-dk-mehr summary::-webkit-details-marker{display:none}
.kz-dk-mehr summary::after{content:"";flex:none;width:8px;height:8px;margin-right:4px;border-right:2px solid var(--kz-muted);border-bottom:2px solid var(--kz-muted);transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--kz-ease)}
.kz-dk-mehr[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.kz-dk-mehr summary:focus-visible{outline:2px solid var(--kz-accent);outline-offset:2px;border-radius:8px}
.kz-dk-mehr-b{padding:2px 0 8px;font-size:.9375rem;line-height:1.55;color:var(--kz-text-2)}
.kz-dk-mehr-b p+p{margin-top:10px}
.kz-dk-mehr-b .kz-fine{font-size:.8125rem;line-height:1.5;color:var(--kz-muted)}
@media (prefers-reduced-motion:reduce){.kz-dk-mehr summary::after{transition:none}}
@media (max-width:359px){.kz-dk-pw-h{font-size:1.24rem}}

/* ── Runde 9 · Fragen (R9-B) ── */
/* Gesundheitsfrage als ruhige Karte: fette Kurzüberschrift, darunter genau zwei kleine Beispielzeilen mit Marke „Ja“ (gefüllt) /
   „Nein“ (umrandet) – Form und Fläche unterscheiden sich, nicht nur die Farbe. Ja/Nein-Knöpfe bleiben groß im festen Dock (kz-qdock).
   Farben nur über Variablen (--kz-*, --kz7-qe-*, --kz7-ja-*, --kz7-nein-*) → Hell- und Dunkelmodus. */
:root .kz-qcard.kz-qcard6.kz-qcard9{padding:18px 18px 16px;border-radius:16px}
:root .kz-qcard9 .kz-q9-t{margin:0;font-family:var(--kz-font);font-size:clamp(1.25rem,5.6vw,1.45rem);font-weight:700;line-height:1.25;letter-spacing:-.015em;color:var(--kz-text);max-width:none;text-wrap:balance}
.kz-q9{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.kz-q9 li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:10px 12px;border-radius:12px;background:var(--kz7-qe-bg);font-size:.9375rem;line-height:1.45;color:var(--kz-text-2)}
.kz-q9 li::before{content:none}
.kz-q9 li.nein{background:transparent;box-shadow:inset 0 0 0 1px var(--kz7-qe-sep)}
.kz-q9-m{display:inline-block;min-width:3.4em;margin-top:1px;padding:1px 9px;border-radius:99px;font-size:.8125rem;font-weight:700;line-height:1.5;text-align:center;white-space:nowrap}
.kz-q9 li.ja .kz-q9-m{background:var(--kz7-ja-bg);color:var(--kz7-ja-ink)}
.kz-q9 li.nein .kz-q9-m{background:var(--kz7-nein-bg);color:var(--kz7-nein-ink);box-shadow:inset 0 0 0 1.5px var(--kz7-nein-line)}
.kz-q9-x{text-wrap:pretty}
.kz-q9-u{margin:12px 0 0;font-size:.8125rem;line-height:1.45;color:var(--kz-muted)}
.kz-qcard9 .kz-qhint{margin-top:12px}
.kz-qcard9 .kz-fine{margin-top:6px}
@media (min-width:760px){:root .kz-qcard.kz-qcard6.kz-qcard9{padding:24px 24px 20px}.kz-q9 li{font-size:1rem}}

/* ── Runde 10 · Fragen (R10-A) ── */
/* Gesundheitsfragen: „Nein“ (Normalfall – nur wenn alle Fragen mit Nein beantwortet werden, ist voller Schutz möglich) steht zuerst
   und ist als Hauptknopf gefüllt; „Ja“ ist dezent (Umriss). Gewählt: Häkchen + stärkerer Rahmen, auch bei „Ja“. Nur Variablen → Hell/Dunkel. */
.kz-qdock .kz-opts.two .kz-opt[data-v="nein"]{background:var(--kz-accent);border-color:var(--kz-accent);color:var(--kz-accent-ink);box-shadow:0 8px 22px var(--kz-accent-sh)}
@media (hover:hover){.kz-qdock .kz-opts.two .kz-opt[data-v="nein"]:hover{background:var(--kz-accent-d);border-color:var(--kz-accent-d)}}
.kz-qdock .kz-opts.two .kz-opt[data-v="ja"]{background:transparent;border-color:var(--kz-line-2);color:var(--kz-text);font-weight:600;box-shadow:none}
@media (hover:hover){.kz-qdock .kz-opts.two .kz-opt[data-v="ja"]:hover{border-color:var(--kz-accent)}}
.kz-qdock .kz-opts.two .kz-opt[aria-pressed="true"]::before{content:"✓";margin-right:.45em;font-weight:800}
.kz-qdock .kz-opts.two .kz-opt[data-v="nein"][aria-pressed="true"]{background:var(--kz-accent-d);border-color:var(--kz-accent-ink);box-shadow:0 0 0 3px var(--kz-accent),0 8px 22px var(--kz-accent-sh)}
.kz-qdock .kz-opts.two .kz-opt[data-v="ja"][aria-pressed="true"]{background:var(--kz-accent-soft);border-color:var(--kz-accent);color:var(--kz-text);font-weight:700;box-shadow:0 0 0 1px var(--kz-accent)}
/* Wurde „Ja“ gewählt, tritt das nicht gewählte „Nein“ zurück in den Umriss-Stil */
.kz-qdock .kz-opts.two:has(.kz-opt[data-v="ja"][aria-pressed="true"]) .kz-opt[data-v="nein"]{background:transparent;border-color:var(--kz-line-2);color:var(--kz-text);font-weight:600;box-shadow:none}

/* ── Runde 10 · Danke Eltern (R10-D) ── */
/* Beratungsverzicht als gesonderte Erklärung: eigenes Häkchen, Titel über dem Wortlaut, Hinweis (§ 63 VVG) sichtbar darunter */
.kz-dk-el-vz{padding:10px 14px 8px}
.kz-dk-el-vz .kz-cb{gap:12px}
.kz-dk-el-vz .kz-cb input{margin-top:3px}
.kz-dk-el-vz .kz-cb .kz-dk-el-vz-t{display:block;margin:0 0 2px;font-size:.8125rem;font-weight:700;letter-spacing:.02em;color:var(--kz-muted)}
.kz-dk-el-vz-h{margin:6px 0 4px 34px;font-size:.875rem;line-height:1.45;color:var(--kz-text);background:var(--kz-warn-soft);border-radius:10px;padding:8px 10px}

/* ── Runde 10 · Gutschein-Leiste (R10-G) ──
 * Schmale Zeile im normalen Seitenfluss VOR <header class="kz-top"> (nicht sticky/fixed): scrollt mit dem Inhalt weg,
 * der klebende Kopf (top:0 bzw. mobil top:-46px, Tastatur: relativ) bleibt unverändert. Farben nur über Variablen (hell/dunkel). */
.kz-gszeile{flex:none;background:var(--kz-bg);border-bottom:1px solid var(--kz-line)}
.kz-gszeile[hidden]{display:none}
.kz-gsz-b{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:var(--kz-maxw-desk);height:32px;margin:0 auto;padding:0 16px;
  border:0;background:transparent;color:var(--kz-text-2);font:inherit;font-size:.8125rem;line-height:1;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
.kz-gsz-i{flex:none;font-size:.95rem}
.kz-gsz-n{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.kz-gsz-s,.kz-gsz-p{flex:none;color:var(--kz-muted)}
.kz-gsz-r{flex:none;color:var(--kz-muted);font-weight:600;font-variant-numeric:tabular-nums}
.kz-gsz-p{font-size:1.05rem;margin-left:2px}
.kz-gsz-b:focus-visible{outline:2px solid var(--kz-focus);outline-offset:-2px;border-radius:6px}
@media (hover:hover){.kz-gsz-b:hover .kz-gsz-n{text-decoration:underline;text-underline-offset:2px}}
@media (prefers-reduced-motion:no-preference){.kz-gszeile:not([hidden]){animation:kzGszIn .35s ease both}}
@keyframes kzGszIn{from{opacity:0}to{opacity:1}}
@media print{.kz-gszeile{display:none}}

/* ── Runde 10 · Antrag (R10-S) ── */
/* Bestätigungs-Boxen (Ihre Angaben · Verzicht auf Beratung · SEPA) klappen nach dem Haken wie ein FAQ zu: Überschrift-Knopf mit grünem Haken,
 * Inhalt per grid-template-rows 1fr → 0fr + Deckkraft (300 ms, ease-out); bei reduzierter Bewegung ohne Animation. */
.kz-best-klapp,.kz-best-klapp.kz-best-eins{padding:4px 14px 4px;transition:background-color .3s ease-out}
.kz-best-kopf{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;margin:0;padding:6px 0;border:0;background:none;color:var(--kz-text);
  font:inherit;font-size:.9375rem;font-weight:700;line-height:1.35;text-align:left;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}
.kz-best-kopf:focus-visible{outline:2px solid var(--kz-focus);outline-offset:2px}
.kz-best-ok{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--kz-ok);color:#fff;
  opacity:0;transform:scale(.6);transition:opacity .25s ease-out,transform .3s cubic-bezier(.22,.61,.36,1)}
.kz-best-klapp.an .kz-best-ok{opacity:1;transform:none}
.kz-best-kt{flex:1;min-width:0}
.kz-best-klapp:not(.an) .kz-best-st{display:none}
.kz-best-chev{flex:none;width:9px;height:9px;margin:0 4px 4px 6px;border-right:2px solid var(--kz-muted);border-bottom:2px solid var(--kz-muted);
  transform:rotate(-135deg);transform-origin:60% 60%;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.kz-best-klapp.zu .kz-best-chev{transform:rotate(45deg)}
@media (hover:hover){.kz-best-kopf:hover .kz-best-chev{border-color:var(--kz-text)}}
.kz-best-kl{display:grid;grid-template-rows:1fr;opacity:1;visibility:visible;
  transition:grid-template-rows .3s cubic-bezier(.22,.61,.36,1),opacity .3s ease-out,visibility 0s linear 0s}
.kz-best-kli{min-height:0}
.kz-best-klapp.anim .kz-best-kli,.kz-best-klapp.zu .kz-best-kli{overflow:hidden}
.kz-best-klapp.zu .kz-best-kl{grid-template-rows:0fr;opacity:0;visibility:hidden;
  transition:grid-template-rows .3s cubic-bezier(.22,.61,.36,1),opacity .2s ease-out,visibility 0s linear .3s}
.kz-best-klapp .kz-best-kli > .kz-cb{padding-bottom:6px}
.kz-best-klapp .kz-best-kli > .kz-more{margin-bottom:4px}
.kz-best-klapp.zu .kz-ferr:empty{display:none}
.kz-best-klapp.sofort .kz-best-kl,.kz-best-klapp.sofort .kz-best-ok,.kz-best-klapp.sofort .kz-best-chev{transition:none!important}
:root.kz-express .kz-best-kl,:root.kz-express .kz-best-ok,:root.kz-express .kz-best-chev{transition:none!important}
@media (prefers-reduced-motion:reduce){.kz-best-kl,.kz-best-ok,.kz-best-chev,.kz-best-klapp{transition:none!important}}
/* Vertrauenszeile am Absende-Knopf: vorgemerkter Gutschein rechts neben der Google-Bewertung; am Handy sauberer Umbruch */
.kz-tuk-gs > span:last-child{text-wrap:balance}
@media (max-width:480px){.kz-tuk-antrag .kz-tuk-gs{max-width:100%;justify-content:center;text-align:left}}

/* ── Runde 11 · Fragen-Beispiele + Gutschein-Zeile (R11) ──
 * Beispielzeilen passend zu den Knöpfen: „Nein“ (oben) gefüllt mit blauer Marke und getönter Fläche, „Ja“ (unten) nur umrandet.
 * Gutschein-Zeile über dem Kopf rund 30 % größer. */
.kz-q9 li.nein{background:var(--kz7-qe-bg);box-shadow:none}
.kz-q9 li.nein .kz-q9-m{background:var(--kz7-ja-bg);color:var(--kz7-ja-ink);box-shadow:none}
.kz-q9 li.ja{background:transparent;box-shadow:inset 0 0 0 1px var(--kz7-qe-sep)}
.kz-q9 li.ja .kz-q9-m{background:var(--kz7-nein-bg);color:var(--kz7-nein-ink);box-shadow:inset 0 0 0 1.5px var(--kz7-nein-line)}
.kz-gsz-b{height:42px;gap:8px;font-size:1.0625rem}
.kz-gsz-i{font-size:1.25rem}
.kz-gsz-p{font-size:1.35rem}

/* ── Runde 12 · Tastatur (R12-T) ── */
/* Touch-Gerät und Eingabefeld fokussiert (KZ.tastatur setzt kz-kbd-offen nur über focusin/focusout): Das Dock mit „Weiter“ hängt
 * nicht mehr unten bzw. über der Tastatur, sondern steht im normalen Seitenfluss direkt unter dem Formular. Es ändert sich nichts,
 * was oberhalb des Feldes Platz braucht (kein Ausblenden von Fortschritt/Kopf, kein Body-Padding, kein fixiertes Dock) – das Feld
 * bleibt stehen. Die älteren Regeln mit :root.kz-tastatur, .kz-dock-kb und --kz-kb-h sind wirkungslos (Klasse/Variable werden
 * nicht mehr gesetzt). Bei geschlossener Tastatur bleibt alles wie bisher. */
:root.kz-kbd-offen .kz-dock,
:root.kz-kbd-offen .kz-dock.kz-dock-s2,
:root.kz-kbd-offen .kz-dock.kz-dock-fix,
:root.kz-kbd-offen.kzc-offen .kz-dock.kz-dock-fix{position:static;margin-top:0;background:none}
/* schwebende Knöpfe (fixed) sind bei offener Tastatur nur im Weg; ausblenden ändert den Fluss nicht */
:root.kz-kbd-offen .kz-fabs{display:none}
