/* ============================================================
   Kontaktformular – Variante „Navy" (kompakt). Lädt zusätzlich zu
   site.css auf kontakt.php / en/contact.php (via $page['css']).
   ============================================================ */
.lead-formwrap{background:var(--navy-900);color:var(--paper);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);padding:clamp(1.25rem,3.5vw,1.9rem);}
.lead-form .badge{margin-bottom:.6rem;}
.lead-form__title{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-xl);
  color:var(--paper);margin:0 0 .3rem;}
.lead-form__intro{font-size:var(--text-sm);color:rgba(255,255,255,.78);line-height:1.5;margin:0 0 var(--space-5);}

/* Felder */
.lead-field{margin-bottom:.8rem;border:0;padding:0;min-width:0;}
.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;}
.lead-field label,.lead-field legend{display:block;font:var(--fw-semibold) var(--text-sm)/1.35 var(--font-body);
  color:rgba(255,255,255,.92);margin-bottom:.35rem;padding:0;}
.lead-field .req{color:var(--brass-300);font-weight:var(--fw-bold);}
.lead-opt{font-weight:var(--fw-regular);color:rgba(255,255,255,.6);font-size:.85em;}

.lead-form input[type=text],.lead-form input[type=email],.lead-form input[type=tel],.lead-form textarea{
  width:100%;font:var(--fw-regular) var(--text-base)/1.5 var(--font-body);color:var(--text-strong);
  background:var(--paper);border:1.5px solid transparent;border-radius:var(--radius-md);
  padding:.6rem .8rem;transition:box-shadow .15s;-webkit-appearance:none;appearance:none;box-sizing:border-box;}
.lead-form textarea{resize:vertical;min-height:4.5rem;}
.lead-form input:focus,.lead-form textarea:focus{outline:none;box-shadow:0 0 0 3px var(--brass-400);}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:var(--text-muted);}

/* Auswahl als kompakte Chips (Radios als Pills) */
.seg{display:flex;flex-wrap:wrap;gap:.4rem;}
.seg input{position:absolute;opacity:0;width:0;height:0;}
.seg label{display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;
  font:var(--fw-semibold) var(--text-sm)/1 var(--font-body);color:var(--paper);
  background:transparent;border:1.5px solid rgba(255,255,255,.4);border-radius:99px;
  padding:.46rem .95rem;margin:0;transition:all .15s;}
.seg label:hover{border-color:var(--brass-300);}
.seg input:checked + label{background:var(--brass-500);color:var(--navy-900);border-color:var(--brass-500);}
.seg input:focus-visible + label{outline:2px solid var(--brass-300);outline-offset:2px;}

/* Ja/Nein einzeilig: Legende links, Chips rechts (spart Höhe) */
.lead-form fieldset.lead-field:has(.seg--2){display:flex;flex-wrap:wrap;align-items:center;
  column-gap:1rem;row-gap:.35rem;padding:.55rem 0;margin-bottom:.2rem;}

/* dezenter Trenner (z. B. vor der Trennungsfrage) */
.lead-sep{height:1px;background:rgba(255,255,255,.14);border:0;margin:.4rem 0 1rem;}

/* etwas mehr Luft NUR zwischen den Chip-/Tag-Fragen (nicht bei Texteingaben) */
.lead-form fieldset.lead-field:has(.seg){margin-bottom:.95rem;}
.lead-form fieldset.lead-field:has(.seg--2) > legend{flex:1 1 12rem;float:none;margin:0;}
.lead-form fieldset.lead-field:has(.seg--2) > .seg--2{flex:0 0 auto;}
.lead-form fieldset.lead-field:has(.seg--2) > .lead-err{flex-basis:100%;}

/* Telefon (eingeklappt) */
.lead-phone[hidden]{display:none;}

/* Ausklappbare optionale Angaben (Kinder, Ehevertrag, Vermögen) – zentrierter Trenner mit Linien */
.lead-more{margin:.5rem 0;}
.lead-more__sum{display:flex;align-items:center;gap:.7rem;cursor:pointer;list-style:none;text-align:center;
  font:var(--fw-semibold) var(--text-xs)/1.35 var(--font-body);color:rgba(255,255,255,.58);letter-spacing:.03em;
  padding:.5rem 0;-webkit-tap-highlight-color:transparent;}
.lead-more__sum::-webkit-details-marker{display:none;}
.lead-more__sum::before,.lead-more__sum::after{content:"";flex:1 1 auto;height:1px;background:rgba(255,255,255,.18);}
.lead-more__label{display:inline-flex;align-items:center;gap:.4rem;flex:none;white-space:nowrap;}
.lead-more__label::after{content:"";width:.46rem;height:.46rem;flex:none;border-right:2px solid var(--brass-300);
  border-bottom:2px solid var(--brass-300);transform:rotate(45deg);transition:transform .18s ease;}
.lead-more[open] .lead-more__label::after{transform:rotate(-135deg);}
.lead-more__sum:hover{color:rgba(255,255,255,.82);}
.lead-more__sum:hover::before,.lead-more__sum:hover::after{background:rgba(255,255,255,.3);}
.lead-more__sum:focus-visible{outline:2px solid var(--brass-300);outline-offset:3px;border-radius:var(--radius-sm);}
.lead-more__body{padding:.35rem 0 .3rem;}
.lead-more__body .lead-field:last-child{margin-bottom:.1rem;}
@media (prefers-reduced-motion:reduce){.lead-more__label::after{transition:none;}}

/* Consent-Hinweis (Text statt Checkbox) */
.lead-consent-note{margin:var(--space-4) 0 0;font:var(--fw-regular) var(--text-xs)/1.5 var(--font-body);color:rgba(255,255,255,.72);}
.lead-consent-note a{color:var(--brass-300);text-decoration:underline;text-underline-offset:.15em;}

/* Fehler (auf dunklem Grund) */
.lead-err{display:none;font-size:var(--text-xs);color:#ffb4ab;margin-top:.3rem;}
.lead-field.is-error input,.lead-field.is-error textarea{box-shadow:0 0 0 2px #ff8a7a;}
.lead-field.is-error .seg label{border-color:#ff8a7a;}
.lead-field.is-error .lead-err{display:block;}
.lead-alert{background:#fdecea;border:1px solid #f5c6c2;color:#8a1c13;border-radius:var(--radius-md);
  padding:.75rem .9rem;font-size:var(--text-sm);margin-bottom:var(--space-4);}

/* Submit + Fußnoten */
.lead-submit{margin-top:var(--space-3);}
.lead-formwrap .lead-submit{background:var(--paper);color:var(--navy-900);box-shadow:var(--shadow-sm);}
.lead-formwrap .lead-submit:hover{background:#fff;color:var(--navy-900);box-shadow:var(--shadow-md);}
.lead-submit.is-busy{opacity:.7;pointer-events:none;}
.lead-foot{margin:var(--space-3) 0 0;text-align:center;color:rgba(255,255,255,.7);}
.lead-rc{margin:.5rem 0 0;text-align:center;font-size:var(--text-xs);color:rgba(255,255,255,.55);}
.lead-rc a{color:rgba(255,255,255,.7);text-decoration:underline;}

/* Honeypot – unsichtbar */
.lead-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Erfolg (heller Text auf Navy) */
.lead-success{text-align:center;padding:clamp(1.75rem,5vw,3rem) var(--space-4);animation:leadIn .4s ease both;}
.lead-success__ic{width:54px;height:54px;color:var(--brass-300);margin:0 auto var(--space-4);display:block;}
.lead-success h3{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-2xl);color:var(--paper);margin:0 0 .4rem;}
.lead-success p{font-size:var(--text-md);color:rgba(255,255,255,.85);margin:0;}
@keyframes leadIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lead-success{animation:none;}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Mobil */
@media (max-width:560px){
  .lead-row{grid-template-columns:1fr;gap:0;}
  .lead-form fieldset.lead-field:has(.seg--2){align-items:flex-start;}
}
