/* ---- Kontakt-spezifisch ---- */
.khead{text-align:center;padding:50px 0 36px}
.khead h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(36px,5vw,58px);color:var(--brown);letter-spacing:-.02em;margin-top:14px}
.khead p{color:var(--muted);font-size:17px;margin-top:10px;max-width:52ch;margin-inline:auto}
.khead .eyebrow{justify-content:center}

.kgrid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-bottom:30px}
/* info cards */
.kinfo{display:flex;flex-direction:column;gap:16px}
.kcard{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;align-items:flex-start}
.kcard .ic{flex-shrink:0;width:52px;height:52px;border-radius:14px;background:var(--soft-pink);display:grid;place-items:center;font-size:23px}
.kcard h3{font-family:'Fraunces',serif;font-size:19px;color:var(--brown);margin-bottom:4px}
.kcard p,.kcard a{font-size:14.5px;color:var(--muted);line-height:1.7}
.kcard a:hover{color:var(--pink)}
.hourtab{margin-top:6px;font-size:14px;color:var(--brown)}
.hourtab div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--line)}
.hourtab b{color:var(--ink)}
.socials{display:flex;gap:10px;margin-top:4px}
.socials a{width:42px;height:42px;border-radius:12px;background:var(--cream2);display:grid;place-items:center;font-size:19px;transition:background .2s}
.socials a:hover{background:var(--soft-pink)}

/* form */
.kform{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow)}
.kform h2{font-family:'Fraunces',serif;font-weight:600;font-size:26px;color:var(--brown);margin-bottom:6px}
.kform p.sub{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;font-size:14px;color:var(--brown);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(212,14,20,.12)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:6px 0 18px}
.consent input{width:18px;height:18px;accent-color:var(--pink);margin-top:2px}

/* map */
.mapwrap{padding:20px 0 70px}
.mapwrap iframe{width:100%;height:420px;border:1px solid var(--line);border-radius:24px;filter:saturate(.9)}
.mapnote{text-align:center;color:var(--muted);font-size:13.5px;margin-top:14px}

@media(max-width:880px){.kgrid{grid-template-columns:1fr}.frow{grid-template-columns:1fr}}
