/* pc.css – Seite /praxis-check/ (Formular in drei Schritten) und /praxis-check/danke/ */
.pc-hero { position: relative; padding: calc(4rem + clamp(2rem, 1rem + 3vw, 4rem)) 0 clamp(3.5rem, 2rem + 4vw, 6rem); overflow: hidden; }
.pc-hero::before { content: ""; position: absolute; right: -12%; top: -25%; width: 44rem; height: 44rem; border-radius: 50%;
  background: radial-gradient(circle, rgba(58, 159, 232, .15), transparent 62%); pointer-events: none; }
.pc-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: start; }
@media (max-width: 56.25em) { .pc-grid { grid-template-columns: minmax(0, 1fr); } }

.pc-punkte { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .875rem; }
.pc-punkte li { display: flex; gap: .75rem; align-items: flex-start; font-size: 1rem; line-height: 1.55; color: #374151; }
.pc-punkte .lp-ic { margin-top: .2rem; color: #16a34a; }
.pc-punkte b { color: #111827; }
.pc-ablauf { list-style: none; margin: 2rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid #E7EAEF; display: grid; gap: .75rem; }
.pc-ablauf li { display: flex; gap: .875rem; align-items: center; font-size: .9375rem; color: #4B5563; }
.pc-ablauf b { flex: none; display: grid; place-items: center; width: 1.875rem; height: 1.875rem; border-radius: 50%; background: #EBF4FC; color: #0A6EBD; font-size: .875rem; font-weight: 800; }

/* Formular-Karte */
.pc-karte { background: #fff; border: 1px solid #E7EAEF; border-radius: 1.5rem; padding: clamp(1.25rem, .75rem + 2vw, 2.25rem);
  box-shadow: 0 30px 70px -30px rgba(10, 37, 64, .28), 0 2px 6px rgba(10, 37, 64, .04); scroll-margin-top: 5.5rem; }
.pc-form { margin: 0; }
.pc-fortschritt { height: 6px; border-radius: 999px; background: #EEF2F6; overflow: hidden; margin-bottom: .75rem; }
.pc-fortschritt span { display: block; height: 100%; width: 33.4%; background: linear-gradient(135deg, #0A6EBD, #3A9FE8); border-radius: inherit; transition: width .35s cubic-bezier(.22, .61, .36, 1); }
.pc-schritt-info { margin: 0 0 1.25rem; font-size: .8125rem; font-weight: 700; color: #6B7280; }
.pc-schritt { border: 0; margin: 0; padding: 0; min-width: 0; }
.pc-titel { padding: 0; margin: 0 0 1.25rem; font-size: 1.375rem; font-weight: 900; letter-spacing: -.02em; color: #111827; }
.pc-feld { margin-bottom: 1.125rem; }
.pc-feld label, .pc-gruppe legend { display: block; margin-bottom: .4rem; font-size: .9rem; font-weight: 700; color: #1F2937; padding: 0; }
.pc-frei { font-weight: 600; color: #6B7280; font-size: .8rem; }
.pc-feld input { width: 100%; min-height: 3rem; padding: .7rem .9rem; border: 1.5px solid #D9DEE5; border-radius: .75rem; background: #fff;
  font: inherit; font-size: 1rem; color: #111827; transition: border-color .15s, box-shadow .15s; }
.pc-feld input::placeholder { color: #9CA3AF; }
.pc-feld input:focus { outline: none; border-color: #0A6EBD; box-shadow: 0 0 0 4px rgba(58, 159, 232, .2); }
.pc-feld input[aria-invalid="true"] { border-color: #DC2626; }
.pc-hinweis { display: block; margin-top: .35rem; font-size: .8rem; color: #6B7280; }
.pc-gruppe { border: 0; margin: 0 0 1.25rem; padding: 0; min-width: 0; }
.pc-wahlen { display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-wahl { position: relative; cursor: pointer; }
.pc-wahl input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pc-wahl span { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .55rem 1rem; border: 1.5px solid #D9DEE5; border-radius: 999px;
  font-size: .9rem; font-weight: 600; color: #374151; background: #fff; transition: border-color .15s, background .15s, color .15s; }
.pc-wahl:hover span { border-color: #9CC7EA; }
.pc-wahl input:checked + span { border-color: #0A6EBD; background: #EBF4FC; color: #0A5A9C; }
.pc-wahl input:focus-visible + span { outline: 3px solid #3A9FE8; outline-offset: 2px; }
.pc-gruppe[aria-invalid="true"] .pc-wahl span { border-color: #F3A6A6; }
.pc-weiter { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; margin-top: 1.5rem; }
.pc-weiter .lp-btn { cursor: pointer; font: inherit; font-weight: 700; }
.pc-weiter .lp-btn-ghost { background: #fff; }
@media (max-width: 30em) { .pc-weiter .lp-btn { flex: 1 1 auto; } }
.pc-recht { margin: 1rem 0 0; font-size: .8125rem; line-height: 1.6; color: #6B7280; }
.pc-recht a, .pc-fehler a { color: #0A6EBD; text-decoration: underline; }
.pc-fehler { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: .75rem; background: #FEF2F2; color: #991B1B; font-size: .9rem; line-height: 1.5; }
.pc-feldfehler { display: block; margin-top: .35rem; font-size: .8rem; font-weight: 600; color: #B91C1C; }
/* Prüffeld gegen Spam: für Menschen unsichtbar */
.pc-falle { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Ohne JavaScript stehen alle Schritte untereinander; mit JavaScript nur der aktive */
.pc-js .pc-schritt { display: none; }
.pc-js .pc-schritt.ist-aktiv { display: block; }
html:not(.pc-js) .pc-fortschritt, html:not(.pc-js) .pc-schritt-info, html:not(.pc-js) [data-pc-vor], html:not(.pc-js) [data-pc-zurueck] { display: none; }
html:not(.pc-js) .pc-schritt + .pc-schritt { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #E7EAEF; }

/* Danke-Seite */
.pc-danke { text-align: center; }
.pc-danke .lp-lead, .pc-danke .lp-sub { margin-left: auto; margin-right: auto; }
.pc-danke .lp-hero-cta { justify-content: center; }
.pc-danke .lp-sub a { color: #0A6EBD; text-decoration: underline; }
.pc-haken { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; margin: 0 auto 1.75rem; border-radius: 50%; background: #ECFDF3; color: #16a34a; }
.pc-haken .lp-ic { width: 2rem; height: 2rem; }

@media (prefers-reduced-motion: reduce) { .pc-fortschritt span, .pc-feld input, .pc-wahl span { transition: none; } }
