/* Wärmepumpe-PV – Anfrage-Funnel · „Ruhiger Luxus" (Grün/Navy, hell, seriös).
   Nutzt Farb-/Font-Variablen der Seite; Buttons werden funnel-intern gestylt (konsistent überall). */
.fn-ov{position:fixed;inset:0;z-index:200;background:rgba(23,8,9,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:16px}
.fn-ov.on{display:flex}
.fn{background:#ffffff;border-radius:24px;max-width:580px;width:100%;max-height:94vh;overflow:auto;box-shadow:0 40px 90px rgba(31,9,10,.28),0 2px 0 rgba(255,255,255,.6) inset;border:1px solid rgba(41,19,20,.06)}
.fn::-webkit-scrollbar{width:9px}.fn::-webkit-scrollbar-thumb{background:#dfd2d3;border-radius:9px;border:2px solid #ffffff}
.fn-head{padding:22px 26px 0;position:relative}
.fn-head .wm{font-family:var(--f-disp,inherit);font-weight:900;font-size:1.22rem;letter-spacing:-.02em;background:linear-gradient(100deg,#a2191c,#5e0a0c);-webkit-background-clip:text;background-clip:text;color:transparent}
.fn-close{position:absolute;top:18px;right:20px;background:#f6f2f2;border:1px solid #ede7e7;width:36px;height:36px;border-radius:50%;font-size:1rem;cursor:pointer;color:var(--muted,#705a5a);transition:.15s}
.fn-close:hover{background:#efe9e9;color:var(--navy,#2b1111)}
.fn-prog{display:flex;align-items:center;gap:11px;margin:16px 0 0}
.fn-prog-track{flex:1;height:8px;border-radius:999px;background:#eee9e9;overflow:hidden}
.fn-prog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#8e1014,#570709);width:0;transition:width .4s cubic-bezier(.4,0,.2,1)}
.fn-prog-pct{font-size:.78rem;font-weight:800;color:var(--g2,#570709);font-variant-numeric:tabular-nums;min-width:36px;text-align:right}
.fn-body{padding:20px 26px 4px}
.fn-step{font-family:var(--f-mono,ui-monospace,monospace);font-size:.7rem;letter-spacing:.14em;color:var(--g,#7f0e11);text-transform:uppercase;font-weight:700}
.fn-body h2{font-family:var(--f-disp,inherit);color:var(--navy,#2b1111);font-size:1.5rem;line-height:1.15;margin:7px 0 4px;letter-spacing:-.025em}
.fn-sub{color:var(--muted,#705a5a);font-size:.94rem;line-height:1.5;margin-bottom:16px}
.fn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:480px){.fn-grid{grid-template-columns:1fr}}
.fchoice{display:flex;flex-direction:column;gap:3px;text-align:left;background:#ffffff;border:1.5px solid var(--line,#eae4e4);border-radius:14px;padding:15px 16px;font:inherit;cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .06s;color:var(--navy,#2b1111);font-weight:700;box-shadow:0 1px 2px rgba(41,15,15,.03)}
.fchoice small{font-weight:400;color:var(--muted,#705a5a);font-size:.82rem}
.fchoice:hover{border-color:#e2bdbf;box-shadow:0 4px 14px rgba(41,15,15,.07)}
.fchoice:active{transform:translateY(1px)}
.fchoice.sel{border-color:var(--g,#7f0e11);background:var(--g-50,#f3eaea);box-shadow:0 0 0 3px rgba(127,14,17,.12)}
.fn-lbl{font-weight:800;color:var(--navy,#2b1111);font-size:.82rem;letter-spacing:.005em;margin:18px 0 8px}
.fn-chips{display:flex;gap:8px;flex-wrap:wrap}
.fn-chip{border:1.5px solid var(--line,#eae4e4);background:#ffffff;border-radius:999px;padding:9px 16px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--navy,#2b1111);transition:.14s}
.fn-chip:hover{border-color:#e2bdbf}
.fn-chip.sel{border-color:var(--g,#7f0e11);background:var(--g-50,#f3eaea);color:var(--g2,#570709);font-weight:700;box-shadow:0 0 0 3px rgba(127,14,17,.1)}
.fn-field{margin-top:14px}
.fn-field label{display:block;font-size:.8rem;font-weight:700;color:var(--navy,#2b1111);margin-bottom:6px}
.fn-field input,.fn-field textarea{width:100%;border:1.6px solid var(--line,#eae4e4);border-radius:12px;padding:12px 14px;font:inherit;font-size:.95rem;background:#fcfbfb;color:var(--ink,#2d1a1a);transition:border-color .15s,box-shadow .15s}
.fn-field input:focus,.fn-field textarea:focus{outline:none;border-color:var(--g,#7f0e11);box-shadow:0 0 0 3px rgba(127,14,17,.12);background:#ffffff}
.fn-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.fn-row2{grid-template-columns:1fr}}
/* Buttons – funnel-intern, überall gleich (Grün-Verlauf primär, Navy-Outline sekundär) */
.fn .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-disp,inherit);font-weight:700;font-size:1rem;border-radius:999px;padding:13px 22px;border:0;cursor:pointer;transition:transform .1s,box-shadow .15s,background .15s}
.fn .btn-accent{background:linear-gradient(180deg,#8e1014,#570709);color:#ffffff;box-shadow:0 1px 2px rgba(41,15,15,.14),0 4px 12px rgba(87,7,9,.16)}
.fn .btn-accent:hover{background:linear-gradient(180deg,#730a0d,#490608);box-shadow:0 2px 8px rgba(41,15,15,.18),0 8px 20px rgba(87,7,9,.2)}
.fn .btn-accent:active{transform:translateY(1px)}
.fn .btn-line{background:#ffffff;color:var(--navy,#2b1111);border:1.6px solid var(--line,#eae4e4)}
.fn .btn[disabled],.fn .btn:disabled{opacity:1;background:#f2eeee;color:#b39e9f;box-shadow:none;cursor:not-allowed}
.fchoice:focus-visible,.fn-chip:focus-visible,.fn-acitem:focus-visible,.fn .btn:focus-visible,.fn-field input:focus-visible,.fn-field textarea:focus-visible{outline:2px solid var(--g,#7f0e11);outline-offset:2px}
.fn-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 26px 26px}
.fn-back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted,#705a5a);font:inherit;font-weight:600;cursor:pointer;padding:8px 6px;border-radius:8px}
.fn-back:hover{color:var(--navy,#2b1111)}
.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,#705a5a);font-size:.82rem}
.fn-trust svg{width:16px;height:16px;fill:none;stroke:var(--g,#7f0e11);stroke-width:2}
.fn-note{background:#faf7f7;border:1px solid var(--line,#eae4e4);border-radius:12px;padding:12px 14px;font-size:.88rem;color:var(--navy,#2b1111);margin-top:12px;line-height:1.5}
/* Heizlast-Erstauslegung – eleganter Panel */
.fn-hl{display:flex;gap:15px;align-items:center;background:linear-gradient(180deg,#f9f2f2,#f3eaea);border:1px solid #e7cecf;border-radius:16px;padding:15px 17px;margin-top:16px}
.fn-hl-k{flex:0 0 auto;display:flex;align-items:baseline;gap:3px;min-width:78px;justify-content:center;padding:8px 12px;background:#ffffff;border:1px solid #e7cecf;border-radius:12px}
.fn-hl-n{font-family:var(--f-disp,inherit);font-weight:900;font-size:1.7rem;color:var(--g2,#570709);line-height:1}
.fn-hl-u{font-weight:800;color:var(--g,#7f0e11);font-size:.82rem}
.fn-hl-t{font-size:.9rem;color:var(--navy,#2b1111);line-height:1.4}
.fn-hl-t b{color:var(--g2,#570709)}
.fn-hl-note{color:var(--muted,#705a5a);font-size:.78rem;margin-top:3px;line-height:1.4}
.fn-msg{border-radius:12px;padding:11px 13px;font-size:.9rem;margin-top:12px;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:#ffffff;border:1px solid var(--line,#eae4e4);border-radius:12px;box-shadow:0 18px 44px rgba(41,19,20,.18);margin-top:5px;max-height:260px;overflow:auto}
.fn-acitem{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f6f2f2;padding:11px 14px;font:inherit;font-size:.92rem;color:var(--ink,#2d1a1a);cursor:pointer}
.fn-acitem:last-child{border-bottom:0}
.fn-acitem:hover{background:#f8f4f4}
.fn-acok{margin-top:6px;font-size:.82rem;color:#7f0e11;font-weight:600}
.fn-achint{margin-top:6px;font-size:.8rem;color:#9b898a}
.fn-done-ic{width:60px;height:60px;border-radius:50%;background:var(--g-50,#f3eaea);display:grid;place-items:center;margin:0 auto 16px;box-shadow:0 0 0 6px rgba(127,14,17,.06)}
