/* VolksWarm – gemeinsamer Anfrage-Funnel (Startseite + Landingpages).
   Nutzt die Farb-/Font-Variablen und .btn-Klassen der jeweiligen Seite. */
.fn-ov{position:fixed;inset:0;z-index:200;background:rgba(9,24,22,.6);display:none;align-items:center;justify-content:center;padding:16px}
.fn-ov.on{display:flex}
.fn{background:var(--white,#fff);border-radius:22px;max-width:560px;width:100%;max-height:94vh;overflow:auto;box-shadow:0 24px 60px rgba(20,40,36,.16)}
.fn-head{padding:20px 24px 0;position:relative}
.fn-head .wm{font-family:var(--f-disp,inherit);font-weight:900;font-size:1.2rem;letter-spacing:-.03em;background:linear-gradient(100deg,#1f9c7f,#0e5a46);-webkit-background-clip:text;background-clip:text;color:transparent}
.fn-close{position:absolute;top:16px;right:18px;background:#f1f5f4;border:0;width:34px;height:34px;border-radius:50%;font-size:1rem;cursor:pointer;color:var(--muted,#5b6f6e)}
.fn-prog{display:flex;gap:6px;margin:14px 0 0}
.fn-prog i{height:5px;flex:1;border-radius:3px;background:var(--line,#e4eae8)}
.fn-prog i.act{background:var(--g,#137A62)}
.fn-body{padding:18px 24px 4px}
.fn-step{font-family:var(--f-mono,monospace);font-size:.72rem;letter-spacing:.1em;color:var(--g,#137A62);text-transform:uppercase}
.fn-body h2{font-family:var(--f-disp,inherit);color:var(--navy,#12262a);font-size:1.4rem;margin:6px 0 4px;letter-spacing:-.02em}
.fn-sub{color:var(--muted,#5b6f6e);font-size:.94rem;margin-bottom:14px}
.fn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:460px){.fn-grid{grid-template-columns:1fr}}
.fchoice{display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border:2px solid var(--line,#e4eae8);border-radius:14px;padding:14px 15px;font:inherit;cursor:pointer;transition:.14s;color:var(--navy,#12262a);font-weight:700}
.fchoice small{font-weight:400;color:var(--muted,#5b6f6e);font-size:.82rem}
.fchoice:hover{border-color:var(--g-100,#cfe6dc)}
.fchoice.sel{border-color:var(--g,#137A62);background:var(--g-50,#EAF3EF)}
.fn-lbl{font-weight:700;color:var(--navy,#12262a);font-size:.86rem;margin:16px 0 7px}
.fn-chips{display:flex;gap:8px;flex-wrap:wrap}
.fn-chip{border:2px solid var(--line,#e4eae8);background:#fff;border-radius:999px;padding:8px 15px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--navy,#12262a)}
.fn-chip.sel{border-color:var(--g,#137A62);background:var(--g-50,#EAF3EF);color:var(--g2,#0B5341);font-weight:700}
.fn-field{margin-top:12px}
.fn-field label{display:block;font-size:.8rem;font-weight:700;color:var(--navy,#12262a);margin-bottom:5px}
.fn-field input,.fn-field textarea{width:100%;border:1.6px solid var(--line,#e4eae8);border-radius:12px;padding:11px 13px;font:inherit;font-size:.95rem;background:#fbfcfc;color:var(--ink,#1b2a2c)}
.fn-field input:focus,.fn-field textarea:focus{outline:none;border-color:var(--g,#137A62)}
.fn-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.fn-row2{grid-template-columns:1fr}}
.fn-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px 24px}
.fn-back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted,#5b6f6e);font:inherit;font-weight:600;cursor:pointer}
.fn-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.fn-trust{display:inline-flex;align-items:center;gap:7px;color:var(--muted,#5b6f6e);font-size:.82rem}
.fn-trust svg{width:16px;height:16px;fill:none;stroke:var(--g,#137A62);stroke-width:2}
.fn-note{background:var(--g-50,#EAF3EF);border:1px solid var(--g-100,#cfe6dc);border-radius:12px;padding:12px 14px;font-size:.9rem;color:var(--navy,#12262a);margin-top:4px}
.fn-msg{border-radius:12px;padding:11px 13px;font-size:.9rem;margin-top:10px;display:none}
.fn-msg.err{display:block;background:#fdecec;border:1px solid #f5c2c2;color:#a12626}

/* Adress-Autovervollständigung */
.fn-acwrap{position:relative}
.fn-ac{display:none;position:absolute;left:0;right:0;top:100%;z-index:5;background:#fff;border:1px solid var(--line,#e4eae8);border-radius:12px;box-shadow:0 14px 40px rgba(20,40,36,.16);margin-top:4px;max-height:260px;overflow:auto}
.fn-acitem{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f2f6f4;padding:11px 14px;font:inherit;font-size:.92rem;color:var(--ink,#1b2a2c);cursor:pointer}
.fn-acitem:last-child{border-bottom:0}
.fn-acitem:hover{background:#f4f8f6}
.fn-acok{margin-top:6px;font-size:.82rem;color:#137A62;font-weight:600}
.fn-achint{margin-top:6px;font-size:.8rem;color:#8a9a97}
