/* Fehling Immobilien – Suchkundenverwaltung 0.5.0 */
.fsk-wrap,
.fsk-wrap * { box-sizing: border-box; }

.fsk-wrap {
  --fsk-ink:#1d1d1b;
  --fsk-muted:#6b6863;
  --fsk-line:#e3dfd8;
  --fsk-soft:#f7f5f1;
  --fsk-soft-2:#fbfaf8;
  --fsk-white:#fff;
  --fsk-accent:#b28d4f;
  --fsk-danger:#9d2f2f;
  position:relative;
  z-index:1;
  clear:both;
  width:100%;
  max-width:1040px;
  margin:clamp(32px,5vw,68px) auto 80px;
  padding:0 clamp(12px,2vw,22px);
  color:var(--fsk-ink);
  line-height:1.5;
  isolation:isolate;
}

.fsk-intro {
  position:relative;
  overflow:hidden;
  margin:0 0 22px;
  padding:clamp(26px,4vw,42px);
  border:1px solid var(--fsk-line);
  border-radius:20px;
  background:linear-gradient(145deg,#fff 0%,var(--fsk-soft-2) 100%);
  box-shadow:0 14px 40px rgba(24,22,18,.055);
}
.fsk-intro::before { content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--fsk-accent); }
.fsk-intro h2 { margin:0 0 12px!important;padding:0!important;font-size:clamp(1.55rem,3vw,2.2rem)!important;line-height:1.15!important;letter-spacing:-.025em;color:var(--fsk-ink)!important; }
.fsk-intro>p { margin:0!important;max-width:760px;color:#4e4b47;font-size:1.03rem; }
.fsk-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 0; }
.fsk-benefit { min-width:0;padding:15px 16px;border:1px solid #ebe7e0;border-radius:12px;background:rgba(255,255,255,.86);color:#55514c;font-size:.94rem;line-height:1.45; }
.fsk-benefit strong { display:block;margin-bottom:2px;color:var(--fsk-ink);font-size:.98rem; }
.fsk-required { margin:0 0 20px!important;color:var(--fsk-muted);font-size:.9rem; }

.fsk-form { display:block!important;position:relative;width:100%;margin:0!important;padding:0!important;overflow:visible!important; }

/* No fieldset/legend: headings live fully inside each white card. */
.fsk-section {
  display:block!important;
  position:relative;
  width:100%;
  margin:0 0 22px!important;
  padding:clamp(22px,3vw,30px)!important;
  border:1px solid var(--fsk-line)!important;
  border-radius:16px!important;
  background:var(--fsk-white)!important;
  box-shadow:0 8px 26px rgba(22,20,17,.035);
  overflow:visible!important;
}
.fsk-section-head {
  display:flex!important;
  align-items:flex-start;
  gap:13px;
  width:100%;
  margin:0 0 22px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #ece9e3;
}
.fsk-step {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 32px;
  width:32px;height:32px;
  border-radius:50%;
  background:#f2eee7;
  color:#6e552d;
  font-weight:750;
  line-height:1;
}
.fsk-section-head h3 { margin:0!important;padding:0!important;color:var(--fsk-ink)!important;font-size:1.12rem!important;font-weight:750!important;line-height:1.25!important; }
.fsk-section-head p { margin:4px 0 0!important;padding:0!important;color:var(--fsk-muted)!important;font-size:.88rem!important;line-height:1.4!important; }

.fsk-grid { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;width:100%;min-width:0; }
.fsk-grid>div { min-width:0;margin:0!important;padding:0!important; }
.fsk-full { grid-column:1/-1; }

.fsk-wrap label { display:block!important;position:static!important;margin:0 0 7px!important;padding:0!important;color:#302f2d!important;font-size:.94rem!important;font-weight:650!important;line-height:1.35!important;transform:none!important; }
.fsk-wrap input[type="text"],
.fsk-wrap input[type="email"],
.fsk-wrap input[type="tel"],
.fsk-wrap input[type="number"],
.fsk-wrap select,
.fsk-wrap textarea {
  display:block!important;float:none!important;position:static!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:48px;margin:0!important;padding:11px 13px!important;border:1px solid #cfcac2!important;border-radius:9px!important;outline:none!important;background:#fff!important;box-shadow:none!important;color:#242321!important;font:inherit!important;font-size:16px!important;line-height:1.35!important;text-indent:0!important;opacity:1!important;appearance:auto;
}
.fsk-wrap textarea { min-height:108px;resize:vertical; }
.fsk-wrap select { padding-right:34px!important; }
.fsk-wrap input:focus,.fsk-wrap select:focus,.fsk-wrap textarea:focus { border-color:#6f685d!important;box-shadow:0 0 0 3px rgba(167,131,73,.14)!important; }

.fsk-checks { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:3px 0 0!important; }
.fsk-checks label { display:flex!important;align-items:center;gap:9px;min-height:44px;margin:0!important;padding:9px 12px!important;border:1px solid #e2ded7;border-radius:9px;background:var(--fsk-soft-2);color:#393632!important;font-weight:500!important;cursor:pointer; }
.fsk-checks label:hover { border-color:#cbc4b9;background:#fff; }
.fsk-checks input[type="checkbox"],.fsk-consent-box input[type="checkbox"] { position:static!important;float:none!important;flex:0 0 auto;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;accent-color:var(--fsk-ink); }
.fsk-help { display:block;margin:7px 0 0!important;color:var(--fsk-muted)!important;font-size:.86rem!important;font-weight:400!important;line-height:1.45!important; }

.fsk-privacy { background:#fbfaf7!important; }
.fsk-consent-box { display:grid;gap:12px; }
.fsk-consent-box label { display:flex!important;align-items:flex-start;gap:10px;margin:0!important;padding:12px 14px!important;border:1px solid #e5e0d7;border-radius:10px;background:#fff;font-weight:500!important; }
.fsk-consent-box label span { flex:1; }
.fsk-privacy a { color:inherit;text-decoration:underline;text-underline-offset:2px; }

.fsk-submit-row { display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 0;padding:0; }
.fsk-wrap button[type="submit"],.fsk-action { display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;margin:0!important;padding:13px 22px!important;border:1px solid var(--fsk-ink)!important;border-radius:9px!important;background:var(--fsk-ink)!important;box-shadow:none!important;color:#fff!important;font:inherit!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer;transition:transform .15s ease,opacity .15s ease; }
.fsk-wrap button[type="submit"]:hover,.fsk-action:hover { opacity:.9;transform:translateY(-1px); }
.fsk-submit-row>span { color:var(--fsk-muted);font-size:.86rem; }

.fsk-message,.fsk-manage { position:relative;width:100%;margin:0 0 28px!important;padding:clamp(22px,4vw,34px)!important;border:1px solid var(--fsk-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 32px rgba(22,20,17,.05);overflow:visible; }
.fsk-message h2,.fsk-manage h2 { margin:0 0 10px!important;padding:0!important;color:var(--fsk-ink)!important;font-size:clamp(1.35rem,2.5vw,1.8rem)!important;line-height:1.2!important; }
.fsk-message p,.fsk-manage p { margin:0 0 10px!important; }.fsk-message p:last-child,.fsk-manage p:last-child { margin-bottom:0!important; }
.fsk-danger { border-color:#e2bcbc!important;background:#fff8f8!important; }.fsk-danger button[type="submit"] { border-color:var(--fsk-danger)!important;background:var(--fsk-danger)!important; }.fsk-manage form { margin:20px 0 0!important; }

/* Automatically appended privacy-policy block. */
.fsk-privacy-notice { margin:32px 0 0;padding-top:28px;border-top:1px solid #e3dfd8; }
.fsk-privacy-notice h2 { margin-top:0; }
.fsk-privacy-notice p { max-width:900px; }

@media(max-width:760px){
  .fsk-wrap{margin-top:26px;margin-bottom:56px;padding-inline:8px}
  .fsk-benefits,.fsk-grid,.fsk-checks{grid-template-columns:1fr!important}
  .fsk-section{padding:20px 16px!important;margin-bottom:18px!important;border-radius:13px!important}
  .fsk-intro{padding:24px 18px;border-radius:15px}
  .fsk-grid{gap:17px}
  .fsk-section-head{gap:10px;margin-bottom:18px!important;padding-bottom:15px!important}
  .fsk-step{width:29px;height:29px;flex-basis:29px}
  .fsk-submit-row{align-items:stretch}
  .fsk-wrap button[type="submit"]{width:100%!important}
}
