/**
 * Eigenes Kontaktformular ([aendring_kontakt_form]) — Design B (zentriert, warm).
 * Warme Sand-Flaeche als Panel, darin: Intro (Bricolage-H1) + weisse Formularkarte
 * + Direkt-Mail-Zeile. JS-Hooks unveraendert (#aendring-kontakt, .kf-field/[data-err],
 * .kf-btn, [data-status], .kf-done).
 */
/* Seite cremefarben (kein Weiss um die Karte / unter dem Footer); overflow-x:hidden
   faengt den 100vw-Full-Bleed (Breadcrumb + Kontakt-Band) ab -> kein H-Scroll.
   Flex-Spalte + min-height:100vh + Footer margin-top:auto = Sticky-Footer:
   bei kurzem Inhalt rueckt der Footer ans Fensterende, kein Loch darunter. */
body.page-kontakt{background:#faf2e8;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;}
body.page-kontakt .aend-ft{margin-top:auto;}
/* Full-Bleed Sand-Band (gleiche Technik wie der Breadcrumb), Inhalt zentriert sich selbst. */
.kf-bg{
  --ink:#1b2330;--navy:#1c2b3e;--gold:#a9801f;--line:#e3d8c8;--muted:#6c6a63;
  background:#faf2e8;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding:50px 24px 60px;font-family:'Inter',-apple-system,sans-serif;
}
.kf-bg *{box-sizing:border-box;}

.kf-intro{text-align:center;max-width:500px;margin:0 auto 28px;}
.kf-ey{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 13px;}
.kf-h1{font:800 40px/1.06 'Bricolage Grotesque','Inter',sans-serif;letter-spacing:-.01em;color:#1c2b3e;margin:0 0 13px;}
.kf-lead{font-size:16px;line-height:1.6;color:#5d6b7a;margin:0;}

.kf{
  max-width:540px;margin:0 auto;color:var(--ink);line-height:1.5;
  background:#fff;border:1px solid #ece2d3;border-radius:18px;padding:28px 30px;
}
.kf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

.kf-row2{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.kf-field{margin:0 0 15px;}
.kf-field label{display:block;font-size:13px;font-weight:600;color:#3a4654;margin:0 0 6px;}
.kf-field input,.kf-field textarea{
  width:100%;font:400 15px/1.5 'Inter',sans-serif;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.kf-field input::placeholder,.kf-field textarea::placeholder{color:#a9a193;}
.kf-field input:focus,.kf-field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,128,31,.13);
}
.kf-field textarea{resize:vertical;min-height:118px;}
.kf-field.has-err input,.kf-field.has-err textarea{border-color:#c0392b;}
.kf-err{display:block;color:#c0392b;font-size:12px;margin-top:5px;}
.kf-err:empty{margin:0;}

.kf-consent{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:#7a8290;line-height:1.5;margin:2px 0 18px;cursor:pointer;}
.kf-consent input{margin-top:2px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--gold);}
.kf-consent a{color:var(--gold);text-decoration:underline;}
.kf-consent.has-err{color:#c0392b;}

/* Doppelte Klasse (0,2,0) gegen hello-elementor reset.css [type=submit] (Pink+3px). */
.kf-btn.kf-btn{
  display:flex;width:100%;align-items:center;justify-content:center;
  font:600 15px/1 'Inter',sans-serif;color:#fff;background:var(--navy);
  border:0;border-radius:11px;padding:15px;cursor:pointer;
  transition:background .15s ease,opacity .15s ease;
}
.kf-btn.kf-btn:hover{background:#16263c;}
.kf-btn.kf-btn:disabled{opacity:.6;cursor:default;}

.kf-status{margin:16px 0 0;font-size:14px;line-height:1.5;padding:13px 15px;border-radius:11px;}
.kf-status.is-error{background:#fbeae8;border:1px solid #f0c8c2;color:#9c3a2c;}

.kf-direct{text-align:center;font-size:13px;color:#7a8290;margin:20px auto 0;}
.kf-direct svg{vertical-align:-2px;color:var(--gold);}
.kf-direct a{color:#1c2b3e;font-weight:600;text-decoration:none;}

/* Erfolgs-Karte (ersetzt das Formular nach Versand) */
.kf-done{max-width:540px;margin:0 auto;text-align:center;background:#fff;border:1px solid #ece2d3;border-radius:18px;padding:38px 28px;}
.kf-done-ico{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#eaf6ee;display:flex;align-items:center;justify-content:center;color:#2e8b57;}
.kf-done h3{font-family:'Bricolage Grotesque','Inter',sans-serif;font-size:24px;font-weight:800;color:#1c2b3e;margin:0 0 10px;}
.kf-done p{font-size:16px;color:#5d6b7a;margin:0;}

@media(max-width:600px){
  .kf-bg{padding:34px 16px 44px;}
  .kf-h1{font-size:31px;}
  .kf-row2{grid-template-columns:1fr;gap:0;}
  .kf{padding:22px 20px;}
}
