/* M24 — Kontaktformular [m24_kontakt] (Optik wie Teile-Modal „Frage stellen"). Schrift erbt (Saira). */
.m24kf{font-family:inherit;color:#14161a;max-width:100%;box-sizing:border-box}
.m24kf *,.m24kf *::before,.m24kf *::after{box-sizing:border-box}
.m24kf-form{display:flex;flex-direction:column;gap:16px;margin:0}
.m24kf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.m24kf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.m24kf-label{display:block;font-size:13px;font-weight:700;line-height:1.3;color:#14161a;margin:0}

.m24kf-input{display:block;width:100%;min-height:48px;margin:0;padding:11px 14px;font-family:inherit;font-size:16px;line-height:1.35;color:#14161a;background:#fff;border:1px solid #cfd6e2;border-radius:10px;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease}
.m24kf-input:focus{outline:none;border-color:#0f4c9c;box-shadow:0 0 0 3px rgba(15,76,156,.14)}
.m24kf-select{appearance:auto;cursor:pointer}
.m24kf select.m24kf-input,.m24kf select.m24kf-select{height:48px !important;min-height:48px !important;padding:0 40px 0 14px !important;line-height:46px !important;font-size:16px !important;border:1px solid #cfd6e2 !important;border-radius:10px !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27%3E%3Cpath d=%27M1 1l5 5 5-5%27 fill=%27none%27 stroke=%27%2314161a%27 stroke-width=%271.6%27/%3E%3C/svg%3E") no-repeat right 14px center !important;-webkit-appearance:none !important;appearance:none !important;box-sizing:border-box !important}
.m24kf-textarea{min-height:120px;resize:vertical}
.m24kf-input.m24kf-invalid,.m24kf-seg.m24kf-invalid .m24kf-seg-btn{border-color:#9e2b2b}

/* Themen-Chips (Einfachauswahl) */
.m24kf-chips{display:flex;flex-wrap:wrap;gap:8px}
.m24kf-chip{min-height:40px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;color:#0f4c9c;background:#fff;border:1.5px solid #cfd6e2;border-radius:999px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}
.m24kf-chip:hover{border-color:#0f4c9c}
.m24kf-chip[aria-checked="true"]{background:#0f4c9c;border-color:#0f4c9c;color:#fff}
.m24kf-chip:focus-visible{outline:2px solid #0f4c9c;outline-offset:2px}

/* „Ich bin" — nutzt das gemeinsame Segment-Verhalten (.m24-iqf-seg), eigene Optik */
.m24kf .m24kf-seg{display:flex;gap:10px}
.m24kf .m24kf-seg-btn{flex:1 1 0;min-width:0;min-height:48px;padding:10px 12px;font-size:15px;font-weight:600;color:#14161a;background:#fff;border:1px solid #cfd6e2;border-radius:10px}
.m24kf .m24kf-seg-btn[aria-checked="true"]{background:#eef4fc;border:2px solid #0f4c9c;color:#0f4c9c}
.m24kf .m24kf-seg-btn:focus-visible{outline:2px solid #0f4c9c;outline-offset:2px}

.m24kf-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#6b7077;cursor:pointer;margin:0}
.m24kf-consent input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:#0f4c9c;cursor:pointer}
.m24kf-consent a{color:#0f4c9c;text-decoration:underline}

.m24kf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.m24kf-error{margin:0;color:#9e2b2b;font-size:13.5px;font-weight:600}
.m24kf-error[hidden],.m24kf-success[hidden]{display:none}

.m24kf-submit{display:block;width:100%;min-height:52px;padding:14px 18px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.1;color:#fff;background:linear-gradient(90deg,#1565c0,#0d3b7a);border:0;border-radius:10px;cursor:pointer;transition:filter .15s,box-shadow .15s,transform .15s}
.m24kf-submit:hover{filter:brightness(1.06);box-shadow:0 6px 18px rgba(13,59,122,.28);transform:translateY(-1px)}
.m24kf-submit:active{filter:brightness(.97);transform:none;box-shadow:none}
.m24kf-submit:disabled{opacity:.6;cursor:wait;filter:none;box-shadow:none;transform:none}
.m24kf-foot{margin:-6px 0 0;text-align:center;font-size:12px;color:#8a919c}

.m24kf-success{background:#eaf6ee;border:1px solid #b6ddc4;border-radius:10px;color:#236a3f;padding:18px;font-size:15px;font-weight:600;text-align:center}

@media (max-width:639px){
	.m24kf-grid{grid-template-columns:1fr}
	.m24kf .m24kf-seg{flex-direction:column}
}
