/* Kontaktformular */
.kf form, .kf .kf-danke { display: flex; flex-direction: column; gap: 20px; }
.kf h3 { margin: 0; font-size: 26px; font-weight: 700; letter-spacing: -0.02em; }
.kf-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.kf label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; }
.kf label em { font-style: normal; font-weight: 400; color: #4f5b6e; }
.kf input[type='text'], .kf input[type='email'], .kf input[type='tel'], .kf select, .kf textarea {
  min-height: 48px; padding: 0 14px; border: 1px solid #cbd4e1; border-radius: 8px;
  font: 16px 'Geist', system-ui, sans-serif; color: #0b1424; background: #fff;
}
.kf select { padding: 0 12px; }
.kf textarea { padding: 12px 14px; resize: vertical; }
.kf fieldset { margin: 0; padding: 0; border: 0; }
.kf legend { font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.kf-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.kf-pills button { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid #cbd4e1; background: #fff; color: #0b1424; font: 500 15px 'Geist', system-ui, sans-serif; cursor: pointer; }
.kf-pills button[aria-pressed='true'] { background: #0f2e5c; border-color: #0f2e5c; color: #fff; }
.kf-pills button:focus-visible, .kf-submit:focus-visible { outline: 3px solid #8faee0; outline-offset: 2px; }
.kf .kf-consent { flex-direction: row; align-items: flex-start; gap: 12px; font-weight: 400; color: #4f5b6e; line-height: 1.5; }
.kf .kf-consent > span { flex: 1 1 auto; min-width: 0; }
.kf .kf-consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #0f2e5c; flex: none; }
.kf-submit { min-height: 56px; padding: 0 24px; background: #0f2e5c; color: #fff; border: 0; border-radius: 10px; font: 600 17px 'Geist', system-ui, sans-serif; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.kf-submit:hover { background: #2457c5; }
.kf-submit[disabled] { opacity: 0.7; cursor: progress; }
.kf-submit[data-loading='true']::after { content: ''; width: 16px; height: 16px; border: 2px solid rgba(255, 255, 255, 0.4); border-top-color: #fff; border-radius: 50%; animation: kf-spin 0.8s linear infinite; }
@keyframes kf-spin { to { transform: rotate(360deg); } }
.kf-status:empty { display: none; }
.kf-status { margin: 0; padding: 12px 14px; border-radius: 8px; font-size: 15px; line-height: 1.5; background: #fcebea; color: #7a2e24; }
.kf-danke { padding: 24px 0; }
.kf-danke-icon { width: 56px; height: 56px; border-radius: 50%; background: #e8eefa; display: flex; align-items: center; justify-content: center; }
.kf-danke h3:focus { outline: none; }
.kf-danke p { margin: 0; font-size: 17px; line-height: 1.6; color: #4f5b6e; }
.kf-danke button { align-self: flex-start; min-height: 44px; padding: 0 16px; background: transparent; color: #0f2e5c; border: 1px solid #cbd4e1; border-radius: 8px; font: 600 15px 'Geist', sans-serif; cursor: pointer; }
.kf-hp { position: absolute; left: -9999px; }
[hidden] { display: none !important; }
