/* TAOM Kontakt - Formularlayout.
   Farben und Radien stammen aus taom-theme/style.css; alles unter .tkf gekapselt,
   damit nichts ins Theme oder in WooCommerce-Formulare durchschlaegt. */
.tkf{--navy:#101827;--rail-bd:#2b4a72;--kicker:#63b8e6;--blue:#0b6bcb;--blue-d:#0a5aa8;--blue-bg:#eaf2ff;--blue-bd:#cfe0ff;--ink:#172b4d;--sub:#5e6c84;--line:#e6e9ee;--bg:#f7f8fa;--card:#fff;--ok:#0a7d3e;--danger:#c0392b;--radius:12px;
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);line-height:1.6}
.tkf *,.tkf *::before,.tkf *::after{box-sizing:border-box}
.tkf__form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:34px}
.tkf__titel{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0 0 22px}
.tkf__reihe{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.tkf__feld{margin:0 0 18px}
.tkf__feld label{display:block;font-size:14.5px;font-weight:600;margin-bottom:7px;color:var(--ink)}
.tkf__feld label span{color:var(--blue)}
.tkf input[type=text],.tkf input[type=email],.tkf input[type=tel],.tkf select,.tkf textarea{
 width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--card);
 border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.tkf select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);
 background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.tkf textarea{resize:vertical;min-height:150px}
.tkf input:focus,.tkf select:focus,.tkf textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}
.tkf input:focus-visible,.tkf select:focus-visible,.tkf textarea:focus-visible,.tkf button:focus-visible{outline:3px solid var(--kicker);outline-offset:2px}
.tkf__zustimmung{margin:6px 0 24px}
.tkf__zustimmung label{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--sub);cursor:pointer}
.tkf__zustimmung input{margin-top:4px;width:18px;height:18px;accent-color:var(--blue);flex:0 0 auto}
.tkf__aktion{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:0}
.tkf__btn{font:inherit;font-size:16px;font-weight:600;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:14px 26px;cursor:pointer;transition:background .15s}
.tkf__btn:hover{background:var(--blue-d)}
.tkf__pflicht{font-size:14px;color:var(--sub)}
.tkf__pflicht span{color:var(--blue)}
/* Fuer Menschen unsichtbar, fuer einfache Automaten sichtbar. Nicht display:none,
   weil manche Automaten genau darauf pruefen. */
.tkf__falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tkf__meldung{border-radius:var(--radius);padding:18px 22px;font-size:16px;margin:0 0 22px}
.tkf__meldung--ok{background:#e8f5ec;border:1px solid #bbe8cd;color:#0a5c31}
.tkf__meldung--fehler{background:#fdecea;border:1px solid #f5c6c0;color:#8d2b20}
@media (max-width:720px){.tkf__reihe{grid-template-columns:1fr}.tkf__form{padding:24px}}
@media (prefers-reduced-motion:reduce){.tkf *{transition:none!important}}
