{
 "$schema": "../../schema.json",
 "schema": "fundus/1",
 "id": "kostenrechner-konfigurator",
 "name": "Kostenrechner mit Spanne",
 "name_en": "Cost estimator / configurator with live price range",
 "kurz": "Fläche, Ausstattung und Optionen einstellen, die Kosten stehen sofort als ehrliche Spanne mit Aufschlüsselung da und gehen mit einem Klick als Anfrage an den Betrieb.",
 "kategorie": "Sektionen & Funktionen",
 "kategorie_slug": "sektionen",
 "kategorie_nr": 16,
 "bau_chat": "D",
 "prioritaet": "D",
 "trendstatus": "etabliert",
 "belegstatus": "belegt",
 "website_belege": 2,
 "stimmung": [
  "präzise",
  "warm"
 ],
 "stimmung_roh": [
  "funktional",
  "ehrlich",
  "handwerklich"
 ],
 "technik": [
  "css",
  "vanilla-js",
  "form",
  "intl",
  "svg"
 ],
 "technik_gruppen": [
  "css",
  "js",
  "canvas"
 ],
 "leistungskosten": "niedrig",
 "steckbrief": {
  "beschreibung": "Ein Rechner schätzt die Kosten eines Vorhabens, etwa einer Badsanierung oder einer Dachdämmung. Schieberegler für Fläche, Stufen für Ausstattung und Optionen als Häkchen. Das Ergebnis steht live als Spanne von bis, nicht als scheinbar genauer Einzelpreis. Darunter eine Aufschlüsselung nach Posten, der Hinweis „unverbindliche Schätzung“ mit dem, was nicht enthalten ist, und ein Knopf, der die Auswahl an ein Anfrageformular übergibt.",
  "warum_es_wirkt": "Die erste Frage jedes Kunden ist „Was kostet das ungefähr?“. Eine ehrliche Spanne beantwortet sie, ohne ein Angebot vorwegzunehmen. Wer schon gerechnet hat, fragt gezielter an, und der Betrieb bekommt Fläche, Ausstattung und Wünsche gleich mitgeliefert.",
  "wann_einsetzen": "Handwerk mit wiederkehrenden Leistungen (Bad, Dach, Fassade, Boden, Malerarbeiten), Paket- oder Ratenrechner bei SaaS und Kursanbietern, überall dort, wo Preise von wenigen Größen abhängen.",
  "wann_nicht": "Wenn der Betrieb keine belastbaren Erfahrungswerte hat oder jeder Auftrag ganz anders ist. Dann besser Ab-Preise und Beispielprojekte nennen. Nie als verstecktes Lead-Formular, das erst nach der Kontaktangabe ein Ergebnis zeigt.",
  "varianten": [
   "Badsanierung: Fläche, Ausstattungsstufe, Optionen (bodengleiche Dusche, Wand-WC, Fußbodenheizung)",
   "Dachdämmung: Dachfläche, Verfahren (zwischen den Sparren, auf den Sparren, oberste Geschossdecke), Dämmstoff, Dachfenster",
   "Ratenrechner: Betrag und Laufzeit mit Monatsrate (Finanzierung, Kurse)",
   "Paketrechner: Anzahl Nutzer, Laufzeit, Zusatzmodule (SaaS)"
  ],
  "umsetzung": "Ein <form> mit input type=range (Fläche) samt Plus/Minus-Knöpfen, Radiokarten (Stufe) und Checkboxen (Optionen). Jede Änderung rechnet alle Posten als [min, max] neu, rundet auf 100 € und gibt mit Intl.NumberFormat('de-DE') aus. Die Spanne steht in <output>, eine gedrosselte aria-live-Zeile sagt nur den Endwert an. Aufschlüsselung als Liste mit Farbbalken (flex-grow nach Mitte des Postens). Der Knopf „Diese Auswahl anfragen“ schreibt eine lesbare Zusammenfassung in ein verstecktes Feld und zeigt sie über dem Formular mit „Auswahl ändern“; zurück geht ohne Datenverlust. Abhängige Optionen im Script (z. B. Gerüst fest bei Außendämmung). Preisbasis, Stand, Mehrwertsteuer-Hinweis und Förderhinweise liefert der Betrieb; Formulierungen zu Preisangaben vom Kunden prüfen lassen. Im Einsatz die Auswahl auch in die URL schreiben, damit man sie teilen kann.",
  "mobil": "Ergebnis unter den Eingaben; eine feste Leiste unten zeigt die Spanne und „Anfragen“, solange das Ergebnis nicht im Bild ist. Regler mit großem Griff und Plus/Minus-Knöpfen, Formular einspaltig.",
  "reduzierte_bewegung": "Zahlen und Balken springen ohne Zählen auf den neuen Wert. Zustandswechsel ohne Versatz.",
  "barrierefreiheit": "Echte Formularelemente mit <label>, Regler mit aria-valuetext („8 Quadratmeter“). Ergebnis in <output> mit aria-live=\"polite\", gedrosselt, damit Screenreader nicht bei jedem Schritt sprechen. Spanne immer als Text, nicht nur als Balken. Signalfarbe Orange nur mit dunkler Schrift (Kontrast über 4,5 : 1)."
 },
 "messwerte": {
  "easing": "cubic-bezier(0.4, 0, 0.2, 1)",
  "dauer_ms": "150 Farbe und Häkchen, 280 Zahlenwechsel und Balken",
  "stagger_ms": "",
  "distanz": "Einblendung höchstens 8 px",
  "sonstiges": "Kurve und Dauern aus dem Rezept handwerk-werkstatt-klartext (Holzrausch .15s cubic-bezier(.4,0,.2,1), thermondo .28s); Ergebnis als Spanne nach rechner-portal.de",
  "herkunft": "eigene Festlegung",
  "quelle": "Rezept handwerk-werkstatt-klartext"
 },
 "kurve": {
  "bezier": [
   0.4,
   0.0,
   0.2,
   1.0
  ],
  "css": "cubic-bezier(0.4, 0, 0.2, 1)",
  "name": "Material Standard",
  "dauer_ms": 280
 },
 "gesehen_bei": [
  {
   "seite": "rechner-portal.de: Badsanierung-Kosten-Rechner",
   "url": "https://rechner-portal.de/bau-handwerk/fliesen-bodenbelaege/badsanierung-kosten-rechner",
   "auszeichnung": "",
   "beobachtung": "Abgerufen 01.11.2026: Eingaben Sanierungsart (komplett oder einzelne Gewerke), Fläche 3 bis 20 m², drei Ausstattungsstufen. Ergebnis als Spanne mit Unter- und Obergrenze und Mitte, Kosten je m², Reserve 10 und 20 %, Aufschlüsselung je Gewerk als Spanne. Ausdrücklich Richtwert und kein Angebot, mit Liste, was nicht enthalten ist, und Preisbasis mit Datum. Keine Übergabe an eine Anfrage.",
   "art": "website"
  },
  {
   "seite": "Bausparkasse Schwäbisch Hall: Sanierungskosten-Rechner",
   "url": "https://www.schwaebisch-hall.de/wohnen-und-leben/bauen-und-modernisieren/umbau-modernisierung/renovierungskosten-berechnen.html",
   "auszeichnung": "",
   "beobachtung": "Abgerufen 01.11.2026: vier Rechner (Dach mit Dämmart und Deckung, Fassade, Bad, Boden). Ergebnis als „Summe ca.“ ohne Spanne, Aufschlüsselung in Material und Arbeitslohn hinter „Berechnungsdetails“. Hinweis auf Richtwerte mit Stand und Quelle; danach „Beratung vereinbaren“ als Übergabe.",
   "art": "website"
  }
 ],
 "tutorials": [
  {
   "titel": "MDN: <input type=\"range\">",
   "url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/range"
  },
  {
   "titel": "MDN: <output>",
   "url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/output"
  },
  {
   "titel": "MDN: Intl.NumberFormat",
   "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat"
  }
 ],
 "kombinierbar_mit": [
  "kontakt-anfrage-formular",
  "validierung-nach-interaktion",
  "checkbox-radio-animiert",
  "tabellenziffern",
  "akkordeon-hoehe-auto"
 ],
 "urls": {
  "detail": "https://cecodesign.de/lab/fundus/sektionen/kostenrechner-konfigurator/",
  "meta": "https://cecodesign.de/lab/fundus/sektionen/kostenrechner-konfigurator/meta.json",
  "demo": "https://cecodesign.de/lab/fundus/sektionen/kostenrechner-konfigurator/demo"
 },
 "herkunft": {
  "quelldateien": [
   "DEF-Recherche 01.11.2026"
  ],
  "pruefnotizen": [
   "DEF-Recherche 01.11.2026 (D2): Kosten- oder Ratenrechner mit Live-Ergebnis für handwerk, saas, kurs.",
   "Zwei Rechner von Portalen bzw. einer Bausparkasse geprüft (01.11.2026). Beleg von einer Handwerksbetriebs-Website mit eigenem Rechner fehlt noch.",
   "Preise in der Demo sind Beispielwerte, keine Marktdaten."
  ]
 },
 "bau": {
  "status": "fertig",
  "kurz": "Fläche, Ausstattung und Optionen einstellen, die Kosten stehen sofort als ehrliche Spanne mit Aufschlüsselung da und gehen mit einem Klick als Anfrage an den Betrieb.",
  "demo": true,
  "abhaengigkeiten": [],
  "werte": {
   "easing": "cubic-bezier(0.4, 0, 0.2, 1)",
   "dauer_ms": 280,
   "dauer_zahlen_ms": "280 (Tween der Spanne per rAF mit derselben Kurve)",
   "dauer_ui_ms": 150,
   "einblendung": "Tafel-Zustand opacity 0 → 1, translate 8px → 0 in 280 ms",
   "schliessen": "cubic-bezier(0.4, 0, 1, 1) 200 ms (mobile Leiste)",
   "rundung": "Posten und Summe auf 100 €, je m² auf 10 €",
   "zahlenformat": "Intl.NumberFormat('de-DE', { maximumFractionDigits: 0 })",
   "ansage": "aria-live polite, 700 ms nach der letzten Änderung",
   "signal": "#FB6100 mit Schrift #1A1A1A (nur Anfrage)",
   "flaechen": "#EFEDEA Grund, #E4E0D9 Feld, #D3CDC2 Linie, #1D1C1A Ergebnis-Tafel",
   "postenfarben": "#C3B4A5, #BDC1A9, #D3CDC2, #97A2BC, #DFD6D0, #8F8A7E, #E9E1C9",
   "massstab_grundriss": "48 px je Meter, Seitenverhältnis Raum 1,38 : 1"
  },
  "ausloeser": "klick",
  "touch": "Regler mit 32 px Griff und Plus/Minus-Knöpfen (44 px). Unter 900 px steht das Ergebnis unter den Eingaben; solange es nicht im Bild ist, zeigt eine feste Leiste unten die Spanne und „Anfragen“. Formular einspaltig, Datei-Feld als große Fläche.",
  "reduziert": "Spanne, Balken und Skala springen ohne Zählen und Gleiten auf den neuen Wert; Zustände der Tafel erscheinen ohne Versatz; der Zeiger der Vorführung blendet nur.",
  "korrekturen": {
   "umsetzung": "Ein <form> mit input type=range (Fläche) samt Plus/Minus-Knöpfen, Radiokarten (Stufe) und Checkboxen (Optionen). Jede Änderung rechnet alle Posten als [min, max] neu, rundet auf 100 € und gibt mit Intl.NumberFormat('de-DE') aus. Die Spanne steht in <output>, eine gedrosselte aria-live-Zeile sagt nur den Endwert an. Aufschlüsselung als Liste mit Farbbalken (flex-grow nach Mitte des Postens). Der Knopf „Diese Auswahl anfragen“ schreibt eine lesbare Zusammenfassung in ein verstecktes Feld und zeigt sie über dem Formular mit „Auswahl ändern“; zurück geht ohne Datenverlust. Abhängige Optionen im Script (z. B. Gerüst fest bei Außendämmung). Preisbasis, Stand, Mehrwertsteuer-Hinweis und Förderhinweise liefert der Betrieb; Formulierungen zu Preisangaben vom Kunden prüfen lassen. Im Einsatz die Auswahl auch in die URL schreiben, damit man sie teilen kann.",
   "mobil": "Ergebnis unter den Eingaben; eine feste Leiste unten zeigt die Spanne und „Anfragen“, solange das Ergebnis nicht im Bild ist. Regler mit großem Griff und Plus/Minus-Knöpfen, Formular einspaltig.",
   "reduzierte_bewegung": "Zahlen und Balken springen ohne Zählen auf den neuen Wert. Zustandswechsel ohne Versatz."
  },
  "geprueft": "02.11.2026",
  "notiz": "Welt: Rezept handwerk-werkstatt-klartext, erfundener Meisterbetrieb Heckmann (Bad, Dach, Ausbau) aus Siegen, Telefon als tel:-Link im Kopf. Special Gothic (Condensed über font-stretch 75 % für Labels), Atkinson Hyperlegible Next für Text, Materialfarben aus dem Rezept, Orange nur auf Anfrage-Knöpfen mit dunkler Schrift. Eigene SVG-Zeichnungen: Grundriss wächst im festen Maßstab mit der Fläche, Objekte folgen den Optionen (Dusche, Vorwand, Haltegriff, Heizschleifen); Dachschnitt zeigt die Lage der Dämmung im gewählten Dämmstoff-Muster und die Dachfenster. Die Vorführung zieht den Regler, wählt Stufe und Optionen, übergibt an die Anfrage, füllt sie aus und sendet. Preise sind Beispielwerte der Demo. Referenzen: rechner-portal.de (Spanne, Aufschlüsselung, Richtwert-Hinweis), schwaebisch-hall.de (Übergabe an Beratung). AD-Review 02.11.2026: Note 4. Variante Dach zeigte den Badgrundriss statt des Dachschnitts (SVG kennt .hidden nicht), behoben mit toggleAttribute. Zugang 02.11.2026: --meta #7A756C auf #646059 (4,75:1 auf Fläche), leere Posten in der Tafel über Farbe (--tafel-leise, 6,4:1) statt Deckkraft .38 gedämpft, Knopfrahmen im Kontrastmodus.",
  "varianten": [
   {
    "id": "bad",
    "name": "Badsanierung",
    "wann": "Sanitär- und Fliesenbetriebe: Fläche, drei Ausstattungsstufen und Optionen wie bodengleiche Dusche; Zeichnung als Grundriss.",
    "werte": {
     "flaeche_m2": "3 bis 16, Schritt 0,5, Start 8",
     "stufen": "Standard 0,68 · Komfort 1 · Premium 1,55",
     "skala_eur": 45000,
     "zeichnung": "Grundriss im festen Maßstab"
    }
   },
   {
    "id": "dach",
    "name": "Dachdämmung",
    "wann": "Dachdecker und Zimmereien: Dachfläche, Verfahren und Dämmstoff mit Abhängigkeiten (Zellulose nicht auf den Sparren, Gerüst bei Außendämmung fest) und Zähler für Dachfenster.",
    "werte": {
     "flaeche_m2": "40 bis 200, Schritt 5, Start 120",
     "stufen": "zwischen den Sparren · auf den Sparren · oberste Geschossdecke",
     "material": "Mineralwolle 1 · Holzfaser 1,45 · Zellulose 1,12",
     "skala_eur": 90000,
     "zeichnung": "Dachschnitt, Hausbreite folgt der Fläche"
    }
   }
  ]
 }
}
