/* Unterseiten-Komponenten: Fallprüfung (Formular), Rechtstexte, Partnerseite, Fehlerseite.
   Grundlage (Tokens, Typo, Nav, Footer) steht in site.css und wird hier nicht wiederholt. */

/* ---------- Teil 2: Unterseiten-Komponenten (Guide 3 · Formular & Rechtstext) ---------- */

/* Seitenaufbau Fallprüfung: Kopf links, Formular-Panel rechts (gleiches Raster wie Ablauf/FAQ) */
.form-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.form-layout .section__head{margin-bottom:0;position:sticky;top:112px}
.form-layout .section__head h1{text-wrap:balance}

/* Formular – Felder auf surface-warm-Panel, alles Klickbare als Pill (Guide Regel: Pills für alles Klickbare) */
.case-form__group + .case-form__group{margin-top:48px}
.case-form__group > .type-eyebrow{margin-bottom:8px}
.form-field{border:0;margin-top:28px;min-width:0}
.form-field__label{display:block;font:600 17px/26px var(--font-sans);letter-spacing:-.014em;margin-bottom:12px}
.form-field__label small{font:400 14px/22px var(--font-sans);color:var(--color-text-muted)}
.form-field__hint{font-size:14px;line-height:22px;color:var(--color-text-muted);margin:-6px 0 14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}

.choice-group{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative;display:inline-flex}
.choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;padding:10px 20px;border-radius:var(--radius-pill);background:#fff;border:1px solid var(--color-border-default);font:400 15px/22px var(--font-sans);letter-spacing:-.084px;transition:background-color .2s ease,border-color .2s ease}
.choice:hover span{border-color:var(--color-icon-muted)}
.choice input:checked + span{background:var(--color-accent-primary);border-color:var(--color-accent-primary)}
.choice input:focus-visible + span{outline:2px solid var(--color-ink);outline-offset:2px}

.text-input{display:block;width:100%;height:48px;padding:12px 20px;border-radius:var(--radius-pill);border:1px solid var(--color-border-default);background:#fff;font:400 16px/24px var(--font-sans);letter-spacing:-.084px;color:var(--color-ink);transition:border-color .2s ease}
.text-input::placeholder{color:var(--color-icon-muted)}
.text-input:hover{border-color:var(--color-icon-muted)}
.text-input:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}

.form-consent{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;margin-top:32px;font-size:14px;line-height:22px;color:var(--color-text-muted)}
.form-consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--color-ink);cursor:pointer}
.form-consent a{color:var(--color-ink)}

.form-field__error{grid-column:1 / -1;margin-top:10px;font:600 14px/22px var(--font-sans);color:var(--color-ink)}
.form-field__error::before{content:"\2192\00a0"}
.form-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}  /* Honeypot, für Menschen unsichtbar */

.case-form__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px}
.case-form__actions .button{border:0;cursor:pointer}
.case-form__actions .button[disabled]{opacity:.6;cursor:progress;transform:none}
.case-form__note{font-size:14px;line-height:22px;color:var(--color-text-muted)}

/* Status-Karten: Erfolg = Highlight-Fläche (accent-primary), Fehler = weiße Karte mit Ink-Text (kein Alarm-Rot, Regel 4/5) */
.form-status{border-radius:var(--radius-card);padding:20px 24px;margin-top:24px;font-size:15px;line-height:24px}
.form-status .type-heading-sm{margin-bottom:6px}
.form-status--error{background:#fff;border:1px solid var(--color-border-default)}
.form-status--success{background:var(--color-accent-primary);padding:40px 32px}
.form-status--success .type-display-sm{margin-bottom:12px}
.form-status--success p + p{margin-top:16px}
.form-status[hidden]{display:none}
.form-status--decline{background:#fff}
.form-result__label{color:var(--color-ink);margin-bottom:12px}
.form-result__points{margin-top:12px;padding-left:20px}
.form-result__points li + li{margin-top:8px}
.form-status--success p.form-result__note{margin-top:24px;font-size:13px;line-height:20px;color:var(--color-text-muted)}

/* Rechtstext – ruhige Lesespalte */
.legal-text{max-width:720px}
.legal-text h2{font:600 20px/28px var(--font-sans);letter-spacing:-.017em;margin-top:48px}
.legal-text h3{font:600 17px/26px var(--font-sans);letter-spacing:-.014em;margin-top:28px}
.legal-text p,.legal-text ul{margin-top:12px;font-size:16px;line-height:26px}
.legal-text ul{padding-left:20px}
.legal-text li + li{margin-top:6px}
.legal-text .text-muted{font-size:14px;line-height:22px}
.legal-text address{font-style:normal}

@media (max-width:920px){
  .form-layout{grid-template-columns:1fr;gap:32px}
  .form-layout .section__head{position:static}
}

@media (max-width:640px){
  .form-grid{grid-template-columns:1fr}
  .form-status--success{padding:32px 24px}
}

/* ---------- Teil 3: Partnerseite (partner.html) ---------- */
.partner-hero{max-width:780px;margin-bottom:0}
.partner-hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
.partner-link{font-size:16px;line-height:24px;color:var(--color-ink)}
.section__inner.partner-tight{padding-top:0}
.partner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.partner-card{background:var(--color-surface-subtle);border-radius:var(--radius-card);padding:28px 24px}
.partner-card .type-heading-sm{margin-bottom:12px}
.partner-card p{font-size:15px;line-height:24px;color:var(--color-text-muted)}
.partner-split{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.partner-split .section__head{margin-bottom:0}
.partner-steps{list-style:none;padding:0;margin:0;counter-reset:step;display:grid;gap:28px}
.partner-steps li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;column-gap:24px}
.partner-steps li::before{content:counter(step);grid-row:1 / span 2;width:44px;height:44px;border-radius:50%;background:var(--color-surface-subtle);display:flex;align-items:center;justify-content:center;font:400 22px/1 var(--font-display)}
.partner-steps .type-heading-sm{padding-top:8px;margin-bottom:8px}
.partner-steps p,.partner-fit li{font-size:15px;line-height:24px;color:var(--color-text-muted)}
.partner-fit{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.partner-fit li{display:grid;grid-template-columns:22px 1fr;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-ink);font-size:16px;line-height:26px}
.partner-fit li::before{content:"";width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--color-accent-cta)}
.partner-contact{display:grid;grid-template-columns:1fr auto;gap:16px 48px;align-items:center}
.partner-contact .type-display-sm{margin:12px 0}
.partner-contact__action{display:grid;gap:10px;justify-items:start}
.partner-contact__mail{font-size:15px;color:var(--color-text-muted);user-select:all}
.partner-contact__note{grid-column:1 / -1;font-size:13px;line-height:20px;color:var(--color-text-muted)}
@media (max-width:920px){
  .partner-cards{grid-template-columns:1fr}
  .partner-split{grid-template-columns:1fr;gap:24px}
  .partner-contact{grid-template-columns:1fr}
}

/* Partnerseite: Ablauf-Grafik (Variante 2026-10-05) */
.flow{display:grid;grid-template-columns:1fr 32px 1fr 32px 1.25fr;gap:16px;align-items:center}
.flow__step{background:var(--color-surface-subtle);border-radius:var(--radius-card);padding:28px 24px;height:100%}
.flow__num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:16px;border-radius:50%;background:#fff;font:400 20px/1 var(--font-display)}
.flow__step .type-heading-sm{margin-bottom:8px}
.flow__step p{font-size:15px;line-height:24px;color:var(--color-text-muted)}
.flow__arrow{width:32px;height:32px;color:var(--color-icon-muted)}
.flow__outcomes{display:grid;gap:8px}
.flow__outcome{border-radius:var(--radius-card);padding:20px 24px}
.flow__outcome--back{background:var(--color-accent-primary)}
.flow__outcome--fee{background:var(--color-surface-warm);border:1px solid var(--color-accent-cta)}
.flow__label{font:600 16px/24px var(--font-sans);letter-spacing:-.017em;margin-bottom:4px}
.flow__result{font-size:15px;line-height:24px}
.flow__or{text-align:center;font:600 13px/20px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.flow__note{max-width:780px;margin-top:28px;font-size:15px;line-height:24px;color:var(--color-text-muted)}
@media (max-width:920px){
  .flow{grid-template-columns:1fr;gap:8px}
  .flow__arrow{transform:rotate(90deg);justify-self:center}
}

/* ---------- Teil 4: Fehlerseite (404.html) ---------- */
.notfound{max-width:720px;margin-bottom:0;min-height:40vh}
.notfound__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
