{"product_id":"foco-customized","title":"Foco Customized","description":"\u003ch2\u003eFOCO Einbaukamin nach Maß\u003c\/h2\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003cdiv\u003eFoco Customized bietet Ihnen die Möglichkeit, Ihren Kamin genau nach Ihren Wünschen und Maßen anzupassen – wir können fast jede Größe herstellen.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr \/\u003e\n\t\u003c\/div\u003e\n\u003cdiv\u003eKontaktieren Sie uns gerne für ein unverbindliches Angebot:\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr \/\u003e\n\t\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-weight: bold;\"\u003eDamit wir Ihnen ein Angebot erstellen können, benötigen wir diese Informationen:\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-weight: bold;\"\u003e\u003cbr \/\u003e\n\t\t\u003c\/span\u003e\u003c\/div\u003e\n\u003cul\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eFoco-Modell\u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eBreite\u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eTiefe\u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eHöhe (falls relevant)\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv\u003eUnd senden Sie uns die Informationen an info@bioethanol-kamin-shop.de\u003c\/div\u003e\n\u003cdiv class=\"container\" style=\"max-width: 700px; margin-top: 40px;\"\u003e  \n\t\u003cdiv class=\"panel panel-default\" style=\"border-color: #f60; border-radius: 10px;\"\u003e    \n\t\t\u003cdiv class=\"panel-heading\" style=\"background-color: #f60; color: white;\"\u003e      \n\t\t\t\u003ch3 class=\"panel-title text-center\" style=\"font-weight: bold;\"\u003eFOCO Kamin-Konfigurator\u003c\/h3\u003e    \u003c\/div\u003e    \n\t\t\u003cdiv class=\"panel-body\" style=\"background-color: #fffaf5;\"\u003e      \n\t\t\t\u003cp class=\"text-center\"\u003eGeben Sie die Maße ein und wählen Sie den Brennertyp – der Preis wird automatisch berechnet.\u003c\/p\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"length\"\u003eLänge (mm)\u003c\/label\u003e        \n\t\t\t\t\u003cinput type=\"number\" class=\"form-control\" id=\"length\" placeholder=\"z. B. 1000\" oninput=\"berechnePreis()\" \/\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"depth\"\u003eTiefe (mm)\u003c\/label\u003e        \n\t\t\t\t\u003cinput type=\"number\" class=\"form-control\" id=\"depth\" placeholder=\"z. B. 400\" oninput=\"berechnePreis()\" \/\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"height\"\u003eHöhe (mm)\u003c\/label\u003e        \n\t\t\t\t\u003cinput type=\"number\" class=\"form-control\" id=\"height\" placeholder=\"z. B. 600\" oninput=\"berechnePreis()\" \/\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"burner\"\u003eBrennertyp\u003c\/label\u003e        \n\t\t\t\t\u003cselect class=\"form-control\" id=\"burner\" onchange=\"berechnePreis()\"\u003e\n\t\t\t\t\u003c\/select\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv id=\"output\" class=\"well\" style=\"margin-top: 20px; background-color: #fff2e6; border-color: #f60;\"\u003e\u0026nbsp;\u003c\/div\u003e    \u003c\/div\u003e  \u003c\/div\u003e\u003c\/div\u003e\n\u003cscript\u003e\n\/\/\u003c![CDATA[\nfunction berechnePreis() {\n  const length = parseInt(document.getElementById(\"length\").value);\n  const depth = parseInt(document.getElementById(\"depth\").value);\n  const height = parseInt(document.getElementById(\"height\").value);\n  const burnerSelect = document.getElementById(\"burner\");\n  const output = document.getElementById(\"output\");\n\n  if (isNaN(length) || isNaN(depth) || isNaN(height)) {\n    output.innerHTML = \"\u003cspan class='text-danger'\u003eBitte geben Sie alle Maße ein.\u003c\/span\u003e\";\n    return;\n  }\n\n  if (length \u003e 2000 || depth \u003e 800 || height \u003e 800) {\n    output.innerHTML = \"\u003cstrong\u003eKontaktieren Sie uns:\u003c\/strong\u003e Für Kamine über 2000 mm Länge oder über 800 mm Höhe\/Tiefe bitten wir um Kontaktaufnahme.\";\n    return;\n  }\n\n  const isSlimline = depth \u003e= 100 \u0026\u0026 depth \u003c= 180;\n  const previousBurner = burnerSelect.value;\n  burnerSelect.innerHTML = '';\n\n  if (isSlimline) {\n    const opt = document.createElement(\"option\");\n    opt.value = \"slimline\";\n    opt.text = \"Slimline (manuell)\";\n    burnerSelect.appendChild(opt);\n  } else {\n    const types = [\n      { value: \"superior\", text: \"Superior (manuell)\" },\n      { value: \"prime\", text: \"PrimeFire\" },\n      { value: \"fla4\", text: \"FLA 4\" },\n      { value: \"fla4p\", text: \"FLA 4+\" }\n    ];\n    types.forEach(t =\u003e {\n      const opt = document.createElement(\"option\");\n      opt.value = t.value;\n      opt.text = t.text;\n      burnerSelect.appendChild(opt);\n    });\n  }\n\n  const exists = Array.from(burnerSelect.options).find(o =\u003e o.value === previousBurner);\n  burnerSelect.value = exists ? previousBurner : burnerSelect.options[0].value;\n  const burner = burnerSelect.value;\n\n  if (burner !== \"superior\" \u0026\u0026 burner !== \"slimline\" \u0026\u0026 depth \u003c 320) {\n    output.innerHTML = \"\u003cstrong\u003eHinweis:\u003c\/strong\u003e Automatische Brenner erfordern mindestens 320 mm Tiefe.\";\n    return;\n  }\n\n  const standardData = {\n    600: { price: 1189, manual: \"Superior 60 cm\" },\n    800: { price: 1419, manual: \"Superior 60 cm\" },\n    1000: { price: 1659, manual: \"Superior 80 cm\" },\n    1200: { price: 1959, manual: \"Superior 100 cm\" },\n    1500: { price: 2909, manual: \"2x Superior 60 cm\" },\n    1800: { price: 3389, manual: \"2x Superior 80 cm\" }\n  };\n\n  const autoModels = {\n    800: {\n      prime: { name: \"PrimeFire 2.0 590\", price: 2975 },\n      fla4: { name: \"FLA 4 590\", price: 4582 },\n      fla4p: { name: \"FLA 4+ 590\", price: 6093 }\n    },\n    1000: {\n      prime: { name: \"PrimeFire 2.0 790\", price: 3021 },\n      fla4: { name: \"FLA 4 790\", price: 5676 },\n      fla4p: { name: \"FLA 4+ 790\", price: 7205 }\n    },\n    1200: {\n      prime: { name: \"PrimeFire 2.0 990\", price: 4599 },\n      fla4: { name: \"FLA 4 990\", price: 8782 },\n      fla4p: { name: \"FLA 4+ 990\", price: 7271 }\n    },\n    1500: {\n      prime: { name: \"PrimeFire 2.0 1190\", price: 6307 },\n      fla4: { name: \"FLA 4 1190\", price: 8782 },\n      fla4p: { name: \"FLA 4+ 1190\", price: 10299 }\n    },\n    1800: {\n      fla4: { name: \"FLA 4 1490\", price: 10835 },\n      fla4p: { name: \"FLA 4+ 1490\", price: 12346 }\n    }\n  };\n\n  let matchedSize = null;\n  let basePrice = 0;\n  let manualBurner = \"\";\n  let sorted = Object.keys(standardData).map(Number).sort((a, b) =\u003e a - b);\n\n  for (let i = 0; i \u003c sorted.length; i++) {\n    if (length \u003c= sorted[i]) {\n      matchedSize = sorted[i];\n      basePrice = standardData[matchedSize].price;\n      manualBurner = isSlimline ? \"Slimline\" : standardData[matchedSize].manual;\n      break;\n    }\n  }\n\n  if (!matchedSize) {\n    output.innerHTML = \"\u003cstrong\u003eKontaktieren Sie uns:\u003c\/strong\u003e Wir können den Preis für diese Länge nicht berechnen.\";\n    return;\n  }\n\n  basePrice = Math.round(basePrice * 1.3); \/\/ 30 % Zuschlag\n  if (depth \u003e 600 || height \u003e 600) {\n    basePrice = Math.round(basePrice * 1.15); \/\/ 15 % Zuschlag\n  }\n\n  let upgradePrice = 0;\n  let burnerDetails = manualBurner;\n\n  if (burner !== \"superior\" \u0026\u0026 burner !== \"slimline\") {\n    const models = autoModels[matchedSize];\n    if (models \u0026\u0026 models[burner]) {\n      burnerDetails = `${models[burner].name} (+ ${models[burner].price.toLocaleString('de-DE')} \u0026euro;)`;\n      upgradePrice = models[burner].price;\n    } else {\n      burnerDetails = \"Automatischer Brenner – bitte kontaktieren Sie uns für Preise\";\n    }\n  }\n\n  const totalPrice = basePrice + upgradePrice;\n\n  output.innerHTML =\n    `\u003cstrong\u003eMaße:\u003c\/strong\u003e ${length} x ${depth} x ${height} mm\u003cbr\u003e` +\n    `\u003cstrong\u003eBrenner:\u003c\/strong\u003e ${burnerDetails}\u003cbr\u003e` +\n    `\u003cstrong\u003eGesamtpreis:\u003c\/strong\u003e \u003cspan style=\"font-size: 18px; font-weight: bold;\"\u003e${totalPrice.toLocaleString('de-DE')} \u0026euro;\u003c\/span\u003e`;\n}\n\/\/]]\u003e\n\u003c\/script\u003e","brand":"Foco","offers":[{"title":"Default Title","offer_id":54014851875162,"sku":"FOCO-CUS","price":-1.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1013\/4349\/4490\/files\/foco_custom_56056.webp?v=1776444618","url":"https:\/\/biofireplacegroup.myshopify.com\/de\/products\/foco-individuell-angepasst","provider":"Bio Fireplace Group","version":"1.0","type":"link"}