/* Karl Lorenz — contact / inquiry forms (kontakte + immobilien), in the site's own language: cream, coral, ivypresto. */
.kl-form-wrap{max-width:1100px;margin:0 auto;padding:10px 20px 70px}
.kl-form-wrap--listing{max-width:none;padding:60px 0 0;border-top:1px solid #eee;margin-top:50px}
.kl-form-intro{max-width:640px;margin-bottom:28px}
.kl-eyebrow,.kl-form-intro .sc_item_subtitle{display:block;color:#d9633f;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.kl-form-intro h2{font-family:ivypresto-display,"Playfair Display",Georgia,serif;font-weight:400;font-size:40px;line-height:1.1;margin:0 0 14px}
.kl-form-intro p{font-size:17px;line-height:1.6;color:#555;margin:0}
.kl-form{background:#fff;border-radius:16px;box-shadow:0 12px 40px -18px rgba(30,25,21,.25);padding:32px}
.kl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.kl-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#3a3532;margin:0}
.kl-form .kl-full{grid-column:1/-1}
.kl-form input[type=text],.kl-form input[type=email],.kl-form input[type=tel],.kl-form select,.kl-form textarea{width:100%;min-height:50px;padding:12px 16px;border:1px solid #e2ddd5;border-radius:10px;background:#faf8f4;font-size:16px;font-family:inherit;color:#1e1915;transition:border-color .2s,box-shadow .2s,background .2s;margin:0}
.kl-form textarea{resize:vertical;line-height:1.5}
.kl-form input:focus,.kl-form select:focus,.kl-form textarea:focus{outline:none;border-color:#d9633f;background:#fff;box-shadow:0 0 0 4px rgba(217,99,63,.14)}
.kl-form input.is-bad,.kl-form textarea.is-bad{border-color:#c43d2e;box-shadow:0 0 0 4px rgba(196,61,46,.12)}
.kl-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;margin:22px 0 0!important;font-size:14px!important;font-weight:400!important;line-height:1.5;color:#555!important}
.kl-consent input{margin:4px 0 0;width:18px;height:18px;flex:none;accent-color:#d9633f}.kl-consent span{flex:1;min-width:0}
.kl-consent a{color:#d9633f;text-decoration:underline;text-underline-offset:3px}
.kl-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}
.kl-form .kl-btn--form,.kl-form button.kl-btn--form,.kl-form button.kl-btn--form:focus{margin-top:24px;font-family:'Open Sans',system-ui,sans-serif!important;background:#d9633f!important;color:#fff!important;border:0!important;border-radius:8px!important;letter-spacing:0!important;text-transform:none!important;min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 32px;border:0;border-radius:8px;background:#d9633f;color:#fff;font-weight:600;font-size:16px;cursor:pointer;transition:background .2s,transform .12s,box-shadow .2s;box-shadow:0 12px 26px -14px rgba(217,99,63,.9);font-family:inherit}
.kl-form .kl-btn--form:hover,.kl-form button.kl-btn--form:hover{background:#c2532f!important;color:#fff!important}.kl-btn--form:active{transform:scale(.98)}.kl-btn--form[disabled]{opacity:.6;cursor:wait}
.kl-form-err{display:block;margin:16px 0 0;padding:12px 16px;border-radius:8px;background:#f9e3e0;color:#b1352a;font-size:14px;font-weight:600}
.kl-form-err[hidden]{display:none}
.kl-form-ok{display:none;margin-top:20px;padding:22px 26px;border-radius:12px;background:#e3efe6;color:#2e5a3d;font-size:17px;line-height:1.5}
.kl-form-ok:target,.kl-form-ok.is-on{display:block}.kl-form-ok strong{display:block;font-size:20px;margin-bottom:4px}
.kl-form.is-sent{display:none}
@media(max-width:700px){.kl-form{padding:22px 18px}.kl-form-grid{grid-template-columns:1fr;gap:14px}.kl-form-intro h2{font-size:31px}.kl-btn--form{width:100%}.kl-form-wrap{padding:0 16px 50px}.kl-form-wrap--listing{padding:40px 0 0}}
