1function BodenberaterInit(){"use strict";if(window.__bodenberaterInited)return;window.__bodenberaterInited=!0;var MIN_R=3,MAX_R=6,OPTIK_SLOTS=3;function isVinyl(p){return p.art.indexOf("vinyl")>=0}function isDesignboden(p){return p.art.indexOf("designboden")>=0}function isParkett(p){return p.art.indexOf("parkett")>=0}function isLaminat(p){return p.art.indexOf("laminat")>=0}function isFeuchtraum(p){return p.sonstiges.indexOf("feuchtraum")>=0||p.sonstiges.indexOf("aquastop")>=0||p.sonstiges.indexOf("wasserresistent")>=0}function isFBH(p){return p.sonstiges.indexOf("bodenheizung")>=0}function hasTrittschall(p){return p.trittschall.indexOf("integriert")>=0}function isFliese(p){return p.plankenformat==="fliese"||p.optik.indexOf("fliesenoptik")>=0}function isFischgraet(p){return p.optik.indexOf("fischgr")>=0||p.title.toLowerCase().indexOf("fischgr")>=0||p.title.toLowerCase().indexOf("herringbone")>=0}function isHolz(p){return p.optik.indexOf("holz")>=0||p.optik.indexOf("eiche")>=0||p.optik.indexOf("diele")>=0||p.plankenformat.indexOf("diele")>=0||isParkett(p)}function isKlick(p){return p.verlegeart.indexOf("klick")>=0}function isKleben(p){return p.verlegeart.indexOf("kleb")>=0}function matchesFarbe(p,key){return!!p.farbe&&p.farbe.indexOf(key)>=0}function parseNS(p){if(typeof p._nsNum=="number")return p._nsNum;var s=String(p.nutzungsschicht||"").replace(",",".").replace(/[^0-9.]/g,"");return p._nsNum=parseFloat(s)||0}function parseStaerke(p){if(typeof p._starkeNum=="number")return p._starkeNum;var s=String(p.starke||"").replace(",",".").replace(/[^0-9.]/g,"");return p._starkeNum=parseFloat(s)||0}function nsTier(p){if(typeof p._nsTier=="number")return p._nsTier;var ns=parseNS(p),tier;return isParkett(p)?ns>=4?tier=4:ns>=3?tier=3:ns>=2.5?tier=2:ns>=1.5?tier=1:tier=0:ns>=.55?tier=4:ns>=.5?tier=3:ns>=.4?tier=2:ns>=.3?tier=1:tier=0,p._nsTier=tier}function matchesOptikKey(p,key){return key==="fischgraet"?isFischgraet(p):key==="fliese"?isFliese(p):key==="holz"?isHolz(p):key==="hell"||key==="mittel"||key==="dunkel"?matchesFarbe(p,key):!1}function matchesAnyOptik(p,keys){return keys.some(function(k){return matchesOptikKey(p,k)})}var Qs=[{id:"raum",type:"img",multi:!1,maxSel:1,label:"Raum",step:"1 / 5",q:"In welchem Raum wird der Boden verlegt?",sub:"Der Raum legt die grundlegenden technischen Anforderungen fest.",imgSrc:"https://images.unsplash.com/photo-1586023492125-27b2c045efd7?w=800&q=80",imgLabel:"Welcher Raum?",opts:[{key:"trocken_group",l:"Wohnraum",s:"Wohnzimmer \xB7 Schlafzimmer \xB7 Kinderzimmer \xB7 Flur",rooms:["Wohnzimmer","Schlafzimmer","Kinderzimmer","Flur"],img:"https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=800&q=80"},{key:"feucht_group",l:"Feuchtraum",s:"K\xFCche \xB7 Bad",rooms:["K\xFCche","Bad"],img:"https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?w=800&q=80",tip:"In Feuchtr\xE4umen kommen ausschlie\xDFlich feuchtraumgeeignete B\xF6den in Frage \u2014 Vinyl ist die optimale Wahl."},{key:"verkehr_group",l:"Gewerbe",s:"Eingang \xB7 B\xFCro / Gewerbe",rooms:["Eingang","B\xFCro / Gewerbe"],img:"https://images.unsplash.com/photo-1497366216548-37526070297c?w=800&q=80"}]},{id:"nutzung",type:"icon",multi:!1,maxSel:1,label:"Nutzung",step:"2 / 5",q:"Wie wird der Boden t\xE4glich genutzt?",sub:"Davon h\xE4ngt ab, wie robust der Boden sein muss.",imgSrc:"https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=800&q=80",imgLabel:"Beanspruchung",opts:[{key:"normal",ic:"\uD83C\uDFE0",l:"Normaler Haushalt",s:"Erwachsene, keine besonderen Anforderungen"},{key:"kinder",ic:"\uD83D\uDC76",l:"Kinder",s:"Lebhaftes Spielen, St\xF6\xDFe, L\xE4rm"},{key:"haustiere",ic:"\uD83D\uDC3E",l:"Haustiere",s:"Krallen, Schmutz, intensiver Abrieb"},{key:"stark",ic:"\uD83C\uDFE2",l:"Hohe Beanspruchung",s:"Viele Personen, gewerbliche Nutzung"}]},{id:"eigenschaften",type:"icon",multi:!0,maxSel:2,label:"Eigenschaften",step:"3 / 5",q:"Welche Eigenschaften sind dir wichtig?",sub:"W\xE4hle bis zu 2 Eigenschaften, die f\xFCr dich entscheidend sind.",imgSrc:"https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=800&q=80",imgLabel:"Anforderungen",opts:[{key:"fbh_eig",ic:"\uD83D\uDD25",l:"Fu\xDFbodenheizung",s:"Kompatibel mit Warmwasser- oder Elektro-FBH"},{key:"trittschall",ic:"\uD83D\uDD07",l:"Trittschalld\xE4mmung",s:"Ruhigere Ger\xE4uschentwicklung \u2014 wichtig in Apartments"},{key:"kratzfest",ic:"\uD83D\uDCAA",l:"Kratzfest",s:"Hohe Nutzungsschicht, robust gegen Kratzer"},{key:"pflegeleicht",ic:"\uD83E\uDDF9",l:"Pflegeleicht",s:"Einfache Reinigung, wasserabweisende Oberfl\xE4che"},{key:"natuerlich",ic:"\uD83C\uDF3F",l:"Nat\xFCrliche Materialien",s:"Echtholz, Parkett oder naturnahe B\xF6den"}]},{id:"optik",type:"icon",multi:!0,maxSel:2,label:"Optik",step:"4 / 5",q:"Welche Optik spricht dich an?",sub:'W\xE4hle bis zu 2 Optionen \u2014 oder \u201EKeine Pr\xE4ferenz" f\xFCr rein technische Empfehlungen.',imgSrc:"https://images.unsplash.com/photo-1615873968403-89e068629265?w=800&q=80",imgLabel:"Stil & Farbe",opts:[{key:"hell",ic:"\uD83C\uDF3E",l:"Hell",s:"Helle Eiche, Ahorn, Beige, Nordic"},{key:"mittel",ic:"\uD83D\uDFEB",l:"Mittel",s:"Nat\xFCrliche Eiche, Honig, Karamell"},{key:"dunkel",ic:"\uD83C\uDF11",l:"Dunkel",s:"Nuss, Wenge, Dunkelbraun"}
1,{key:"holz",ic:"\uD83E\uDEB5",l:"Holzoptik",s:"Nat\xFCrliche Holzmaserung & Dielenoptik"},{key:"fischgraet",ic:"\u25B2",l:"Fischgr\xE4t",s:"Klassisches Muster, zeitlos elegant"},{key:"fliese",ic:"\u2B1C",l:"Fliesenoptik",s:"Stein-, Marmor- oder Betonoptik"},{key:"egal",ic:"\u2726",l:"Keine Pr\xE4ferenz",s:"Funktion ist mir wichtiger als Optik"}]},{id:"verlegeart",type:"list",multi:!1,maxSel:1,label:"Verlegung",step:"5 / 5",q:"Wie soll der Boden verlegt werden?",sub:"Klick ist ideal zum Selbstverlegen. Kleben eignet sich bei niedrigen Aufbauh\xF6hen und Renovierungen.",imgSrc:"https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=800&q=80",imgLabel:"Verlegeart",opts:[{key:"klick",ic:"\uD83D\uDD17",l:"Klick-System",s:"Schwimmend verlegt, DIY-freundlich, flexibel & r\xFCckbaubar"},{key:"kleben",ic:"\uD83D\uDD8A\uFE0F",l:"Verklebt",s:"Fest mit Untergrund verbunden, d\xFCnn, optimal f\xFCr Renovierung"},{key:"egal_verl",ic:"\u2195",l:"Keine Pr\xE4ferenz",s:"Beide Varianten sind f\xFCr mich in Ordnung"}]}],root=document.getElementById("br-quiz-root");if(!root)return;var ans={},products=[],overlay=document.getElementById("br-modal-overlay");window.brOpenModal=function(){overlay&&(overlay.classList.add("is-open"),document.body.classList.add("br-modal-open"),window.gtag&>ag("event","bodenberater_opened"))},window.brCloseModal=function(){overlay&&(overlay.classList.remove("is-open"),document.body.classList.remove("br-modal-open"))},overlay&&overlay.addEventListener("click",function(e){e.target===overlay&&window.brCloseModal()}),loadProducts(),renderEntry();function loadProducts(){var el=document.getElementById("br-product-data");if(el)try{var raw=JSON.parse(el.textContent||el.innerHTML||"[]");products=raw.map(function(p){return{id:String(p.id||""),title:String(p.title||""),url:String(p.url||"#"),img:String(p.img||""),art:flat(p.art).toLowerCase(),sonstiges:flat(p.sonstiges).toLowerCase(),verlegeart:flat(p.verlegeart).toLowerCase(),optik:flat(p.optik).toLowerCase(),farbe:flat(p.farbe).toLowerCase().trim(),nk:parseInt(flat(p.nutzungsklasse),10)||0,nutzungsschicht:flat(p.nutzungsschicht),trittschall:flat(p.trittschall).toLowerCase(),plankenformat:flat(p.plankenformat).toLowerCase(),starke:flat(p.starke)}}),console.log("[Bodenberater] Products loaded:",products.length)}catch(e){console.warn("[Bodenberater] Produktdaten konnten nicht geladen werden",e)}}function flat(v){return v?Array.isArray(v)?v.join(" "):String(v):""}function renderEntry(){root.innerHTML='<div class="br-entry br-fade-in"><div class="br-entry-left"><div class="br-entry-left-inner"><span class="br-eyebrow">Bodenberater</span><h1 class="br-entry-title">Den richtigen Boden finden \u2014<br>in 60 Sekunden.</h1><p class="br-entry-sub">Beantworte 5 kurze Fragen und erhalte eine pers\xF6nliche Empfehlung, die wirklich zu deinem Raum passt.</p><div class="br-entry-steps">'+entryPill("Raum")+entryPill("Nutzung")+entryPill("Eigenschaften")+entryPill("Optik")+entryPill("Verlegung")+'</div><button class="br-start-btn" id="br-start-btn">Beratung starten <span class="br-start-arrow">\u2192</span></button><p class="br-entry-note">Kostenlos \xB7 Keine Anmeldung \xB7 60 Sekunden</p></div></div><div class="br-entry-right"><img src="https://images.unsplash.com/photo-1586023492125-27b2c045efd7?w=900&q=85" alt="Hochwertiger Boden" loading="lazy"><div class="br-entry-right-overlay"></div></div></div>',document.getElementById("br-start-btn").addEventListener("click",function(){ans={},renderQuestion(0)})}function entryPill(label){return'<span class="br-entry-pill">'+esc(label)+"</span>"}function renderQuestion(idx){var q=Qs[idx],sel=(ans[q.id]||[]).slice(),isLast=idx===Qs.length-1,pct=Math.round((idx+1)/Qs.length*100),maxR=q.maxSel>1&&sel.length>=q.maxSel,html='<div class="br-quiz br-fade-in">';html+='<div class="br-progress"><div class="br-progress-fill" style="width:'+pct+'%"></div></div>',html+='<div class="br-quiz-layout">',html+='<div class="br-q-panel"><img class="br-q-panel-img" src="'+esc(q.imgSrc)+'" alt="" loading="lazy"><div class="br-q-panel-overlay"></div><div class="br-q-panel-content"><span class="br-q-panel-step">'+esc(q.step)+'</span><span class="br-q-panel-label">'+esc(q.imgLabel)+"</span></div></div>",html+='<div class="br-q-body">',html+='<div class="br-dots">';for(var d=0;d<Qs.length;
1d++)html+='<div class="br-dot'+(d===idx?" is-active":d<idx?" is-done":"")+'"></div>';html+="</div>",html+='<h2 class="br-q-title">'+esc(q.q)+"</h2>",q.sub&&(html+='<p class="br-q-sub">'+esc(q.sub)+"</p>");var disabledKeys=[],disabledNote="";q.id==="verlegeart"&&(ans.eigenschaften||[]).indexOf("trittschall")>=0&&(disabledKeys.push("kleben"),disabledNote='Hinweis: \u201EVerklebt" ist deaktiviert, weil verklebte B\xF6den keine integrierte Trittschalld\xE4mmung enthalten. W\xE4hle \u201EKlick-System", um deine zuvor gew\xE4hlte Eigenschaft beizubehalten.',sel.indexOf("kleben")>=0&&(sel=sel.filter(function(k){return k!=="kleben"}),ans.verlegeart=sel)),q.type==="img"?html+=renderImgGrid(q,idx,sel):q.type==="icon"?html+=renderIconGrid(q,idx,sel,maxR):html+=renderList(q,idx,sel,disabledKeys),disabledNote&&(html+='<div class="br-tip" style="margin-top:14px">'+esc(disabledNote)+"</div>"),html+='<div id="br-tip-box"></div>',html+="</div>",html+="</div>",html+='<div class="br-nav"><button class="br-nav-back" id="br-nav-back"'+(idx===0?" disabled":"")+'>\u2190 Zur\xFCck</button><span class="br-nav-step">'+esc(q.step)+'</span><button class="br-nav-next'+(sel.length===0?" is-muted":"")+'" id="br-nav-next">'+(isLast?"Ergebnisse \u2192":"Weiter \u2192")+"</button></div>",html+="</div>",root.innerHTML=html,bindOptions(q,idx),refreshTip(q,sel),document.getElementById("br-nav-back").addEventListener("click",function(){idx>0&&renderQuestion(idx-1)}),document.getElementById("br-nav-next").addEventListener("click",function(){var current=ans[q.id]||[];if(current.length===0){var tb=document.getElementById("br-tip-box");tb&&(tb.innerHTML='<div class="br-tip br-tip--warn">Bitte w\xE4hle eine Option aus, um fortzufahren.</div>');return}idx<Qs.length-1?renderQuestion(idx+1):computeAndShow()})}function renderImgGrid(q,idx,sel){if(q.id!=="raum"){var html='<div class="br-img-grid">';return q.opts.forEach(function(o){var on=sel.indexOf(o.key)>=0;html+='<div class="br-img-card'+(on?" is-on":"")+'" data-key="'+o.key+'" data-qi="'+idx+'"><div class="br-img-card-check">\u2713</div><img src="'+esc(o.img)+'" alt="'+esc(o.l)+'" loading="lazy"><div class="br-img-card-body"><div class="br-img-card-label">'+esc(o.l)+"</div>"+(o.s?'<div class="br-img-card-sub">'+esc(o.s)+"</div>":"")+"</div></div>"}),html+="</div>",html}var html='<div class="br-raum-groups">';return q.opts.forEach(function(o){var on=sel.indexOf(o.key)>=0;html+='<div class="br-raum-block'+(on?" is-on":"")+'" data-key="'+o.key+'" data-qi="'+idx+'">',html+='<div class="br-raum-block-check">\u2713</div>',html+='<div class="br-raum-block-img-wrap"><img src="'+esc(o.img)+'" alt="'+esc(o.l)+'" loading="lazy"></div>',html+='<div class="br-raum-block-body">',html+='<div class="br-raum-block-title">'+esc(o.l)+"</div>",o.rooms&&o.rooms.length&&(html+='<ul class="br-raum-block-list">',o.rooms.forEach(function(r){html+="<li>"+esc(r)+"</li>"}),html+="</ul>"),html+="</div>",html+="</div>"}),html+="</div>",html}function renderIconGrid(q,idx,sel,maxR){var html='<div class="br-icon-grid">';return q.opts.forEach(function(o){var on=sel.indexOf(o.key)>=0,dimmed=maxR&&!on;html+='<div class="br-icon-card'+(on?" is-on":"")+(dimmed?" is-dim":"")+'" data-key="'+o.key+'" data-qi="'+idx+'"><div class="br-icon-card-check">\u2713</div><div class="br-icon-card-ic">'+o.ic+'</div><div class="br-icon-card-label">'+esc(o.l)+"</div>"+(o.s?'<div class="br-icon-card-sub">'+esc(o.s)+"</div>":"")+"</div>"}),html+="</div>",html}function renderList(q,idx,sel,disabledKeys){disabledKeys=disabledKeys||[];var html='<div class="br-list">';return q.opts.forEach(function(o){var on=sel.indexOf(o.key)>=0,off=disabledKeys.indexOf(o.key)>=0;html+='<div class="br-list-item'+(on?" is-on":"")+(off?" is-disabled":"")+'" data-key="'+o.key+'" data-qi="'+idx+'"'+(off?' aria-disabled="true"':"")+'><div class="br-list-radio'+(on?" is-on":"")+'"></div><div class="br-list-ic">'+o.ic+'</div><div class="br-list-body"><div class="br-list-label">'+esc(o.l)+"</div>"+(o.s?'<div class="br-list-sub">'+esc(o.s)+"</div>":"")+"</div></div>"}),html+="</div>",html}function bindOptions(q,idx){root.querySelectorAll('[data-qi="'+idx+'"]').forEach(function(card){card.addEventListener("click",function(){if(!this.classList.contains("is-disabled")){var key=this.getAttribute("data-key"),sel=(ans[q.id]||[]).slice();if(q.multi){var pos=sel.indexOf(key);if(pos>=0)sel.splice(pos,1);else if(sel.length<q.maxSel)sel.push(key);else{var tb=document.getElementById("br-tip-box");tb&&(tb.innerHTML='<div class="br-tip br-tip--warn">Maximal '+q.maxSel+" Optionen w\xE4hlbar \u2014 hebe eine Auswahl auf, um eine andere zu w\xE4hlen.</div>");return}}else sel=[key];if(ans[q.id]=sel,q.id==="raum"&&sel.length>0){var chosenGroup=sel[0];chosenGroup==="trocken_group"?ans.feuchtigkeit=["trocken"]:chosenGroup==="feucht_group"?ans.feuchtigkeit=["hoch"]:chosenGroup==="verkehr_group"&&(ans.feuchtigkeit=["mittel"])}var maxR=q.maxSel>1&&sel.length>=q.maxSel;root.querySelectorAll('[data-qi="'+idx+'"]').forEach(function(c){var k=c.getAttribute("data-key"),on=sel.indexOf(k)>=0;c.classList.toggle("is-on",on),c.classList.toggle("is-dim",maxR&&!on);var radio=c.querySelector(".br-list-radio");radio&&radio.classList.toggle("is-on",on)});var nextBtn=document.getElementById("br-nav-next");if(nextBtn&&nextBtn.classList.toggle("is-muted",sel.length===0),!maxR){var tb2=document.getElementById("br-tip-box");if(tb2){var warn=tb2.querySelector(".br-tip--warn");warn&&warn.textContent.indexOf("Maximal")>=0&&(tb2.innerHTML="")}}refreshTip(q,sel)}})})}function refreshTip(q,sel){var box=document.getElementById("br-tip-box");if(box){var tips=[];
1(sel||[]).forEach(function(key){var o=findOpt(q,key);o&&o.tip&&tips.push(o.tip)}),box.innerHTML=tips.length?'<div class="br-tip">'+tips.map(esc).join("<br>")+"</div>":""}}function findOpt(q,key){for(var i=0;i<q.opts.length;i++)if(q.opts[i].key===key)return q.opts[i];return null}function scoreProduct(p,relax){relax=relax||{};var score=0,raumRaw=(ans.raum||[])[0]||"",raumKey=raumRaw==="trocken_group"?"wohnzimmer":raumRaw==="feucht_group"?"bad":raumRaw==="verkehr_group"?"gewerbe":raumRaw,nutzKey=(ans.nutzung||[])[0]||"",feuchtKey=(ans.feuchtigkeit||[])[0]||"",eigKeys=ans.eigenschaften||[],optikKeys=ans.optik||[],verlegeKey=(ans.verlegeart||[])[0]||"",staerke=parseStaerke(p),nk=p.nk;if(raumKey==="bad"&&!isFeuchtraum(p)||feuchtKey==="hoch"&&!isFeuchtraum(p)||raumKey==="flur"&&p.nk>0&&p.nk<32&&!relax.nk||raumKey==="gewerbe"&&p.nk>0&&p.nk<33&&!relax.nk||(raumKey==="wohnzimmer"||raumKey==="schlafzimmer"||raumKey==="kueche")&&p.nk>=42||raumKey==="kueche"&&isParkett(p)||raumKey==="kueche"&&isLaminat(p)&&!isFeuchtraum(p)||verlegeKey==="klick"&&!isKlick(p)&&!relax.verlegeart||verlegeKey==="kleben"&&!isKleben(p)&&!relax.verlegeart||eigKeys.indexOf("trittschall")>=0&&!hasTrittschall(p)&&!relax.trittschall||nutzKey==="kinder"&&!hasTrittschall(p)&&!relax.kinderTrittschall||nutzKey==="haustiere"&&nsTier(p)<3&&!relax.haustiereKratz)return-1;var fSc=0;if(feuchtKey==="hoch")fSc=60;else if(feuchtKey==="trocken")isParkett(p)?fSc=50:isLaminat(p)?fSc=42:(isVinyl(p)||isDesignboden(p))&&(fSc=28);else if(feuchtKey==="mittel"){var wetProne=raumKey==="kueche"||raumKey==="bad";wetProne?isFeuchtraum(p)?fSc=50:isVinyl(p)||isDesignboden(p)?fSc=32:isLaminat(p)?fSc=18:isParkett(p)&&(fSc=-10):(isParkett(p)?fSc=45:isLaminat(p)?fSc=38:(isVinyl(p)||isDesignboden(p))&&(fSc=30),isFeuchtraum(p)&&(fSc+=15))}score+=fSc*.25;var nSc=0,tier=nsTier(p);nutzKey==="haustiere"?(isParkett(p)&&(nSc-=15),isVinyl(p)||isDesignboden(p)?nSc+=20:isLaminat(p)&&(nSc+=8),tier===4?nSc+=40:tier===3?nSc+=32:tier>=1?nSc+=8:nSc-=20,staerke>=6&&(nSc+=8)):nutzKey==="kinder"?(isVinyl(p)||isDesignboden(p)?nSc+=20:isLaminat(p)&&(nSc+=16),hasTrittschall(p)?nSc+=25:nSc-=12,tier===4?nSc+=20:tier===3?nSc+=15:tier>=1?nSc+=5:nSc-=15,staerke>=5&&(nSc+=8)):nutzKey==="stark"?(nk>=43?nSc+=60:nk>=42?nSc+=55:nk>=41?nSc+=45:nk>=33?nSc+=35:nk>=32?nSc+=18:nk===31&&(nSc+=8),staerke>=8?nSc+=18:staerke>=6&&(nSc+=10),(isVinyl(p)||isDesignboden(p))&&(nSc+=10)):(isParkett(p)?nSc+=32:isLaminat(p)?nSc+=26:(isVinyl(p)||isDesignboden(p))&&(nSc+=20),nk>=23&&nk<=33&&(nSc+=12)),score+=nSc*.2;var eSc=0;if(eigKeys.indexOf("fbh_eig")>=0&&(isFBH(p)?eSc+=50:eSc-=15),eigKeys.indexOf("trittschall")>=0&&(hasTrittschall(p)?eSc+=50:eSc-=30),eigKeys.indexOf("kratzfest")>=0&&(tier===4?eSc+=45:tier===3?eSc+=35:tier===2?eSc+=22:tier===1&&(eSc+=10),(isVinyl(p)||isDesignboden(p))&&(eSc+=12)),eigKeys.indexOf("pflegeleicht")>=0&&(isVinyl(p)||isDesignboden(p)?eSc+=45:isLaminat(p)?eSc+=20:isParkett(p)&&(eSc+=5)),eigKeys.indexOf("natuerlich")>=0){var isGreenline=p.title.toLowerCase().indexOf("greenline")>=0;isGreenline||isParkett(p)?eSc+=35:isLaminat(p)?eSc+=10:eSc-=25}score+=eSc*.2;var rSc=0;raumKey==="bad"?(rSc=50,isFliese(p)&&(rSc+=50)):raumKey==="kueche"?(isFeuchtraum(p)?rSc+=50:isVinyl(p)||isDesignboden(p)?rSc+=28:isLaminat(p)?rSc+=10:isParkett(p)&&(rSc-=20),isFliese(p)&&(rSc+=30)):raumKey==="flur"?(nk>=43?rSc+=73:nk>=42?rSc+=65:nk>=41?rSc+=55:nk>=33?rSc+=50:nk>=32?rSc+=42:nk===0&&(rSc-=30),isFeuchtraum(p)&&(rSc+=12),isFliese(p)&&(rSc+=20)):raumKey==="gewerbe"?(nk>=43?rSc+=82:nk>=42?rSc+=74:nk>=41?rSc+=66:nk>=33?rSc+=50:nk===0&&(rSc-=30),isFliese(p)&&(rSc+=15)):raumKey==="wohnzimmer"?(isParkett(p)?rSc+=40:isLaminat(p)?rSc+=30:(isVinyl(p)||isDesignboden(p))&&(rSc+=20),nk>=23&&nk<=33&&(rSc+=12),isFischgraet(p)&&(rSc+=8),isFliese(p)&&optikKeys.indexOf("fliese")<0&&(rSc-=50)):raumKey==="schlafzimmer"&&(isParkett(p)?rSc+=40:isLaminat(p)?rSc+=30:(isVinyl(p)||isDesignboden(p))&&(rSc+=20),hasTrittschall(p)&&(rSc+=25),nk>=23&&nk<=33&&(rSc+=8),isFischgraet(p)&&(rSc+=6),isFliese(p)&&optikKeys.indexOf("fliese")<0&&(rSc-=70)),score+=rSc*.15;var oSc=0,hasSpecific=optikKeys.some(function(k){return k!=="egal"});hasSpecific?(optikKeys.forEach(function(key){key!=="egal"&&matchesOptikKey(p,key)&&(oSc+=50)}
1),oSc===0&&(oSc=-25)):oSc=15,score+=oSc*.1;var bSc=0;return isFeuchtraum(p)&&(raumKey==="bad"||feuchtKey==="hoch")&&(bSc+=25),score+=bSc*.1,Math.max(0,Math.round(score))}function scoreAll(relax){return products.map(function(p){return{p:p,score:scoreProduct(p,relax)}}).filter(function(x){return x.score>=0}).sort(function(a,b){return b.score-a.score})}function computeAndShow(){root.innerHTML='<div class="br-loading br-fade-in"><div class="br-spinner"></div><p>Wir berechnen deine pers\xF6nlichen Empfehlungen \u2026</p></div>',setTimeout(function(){var raumRaw=(ans.raum||[])[0]||"",raumKey=raumRaw==="trocken_group"?"wohnzimmer":raumRaw==="feucht_group"?"bad":raumRaw==="verkehr_group"?"gewerbe":raumRaw,nutzKey=(ans.nutzung||[])[0]||"",feuchtKey=(ans.feuchtigkeit||[])[0]||"",eigKeys=ans.eigenschaften||[],optikKeys=ans.optik||[],verlegeKey=(ans.verlegeart||[])[0]||"",specific=optikKeys.filter(function(k){return k!=="egal"}),scored=scoreAll(),relaxedSummary=null,hasVerlegePref=!!(verlegeKey&&verlegeKey!=="egal_verl"),hasTrittschallEig=eigKeys.indexOf("trittschall")>=0,isNkRoom=raumKey==="flur"||raumKey==="gewerbe";if(scored.length===0&&isNkRoom){var attempt1=scoreAll({nk:!0});attempt1.length>0&&(scored=attempt1,relaxedSummary="nk")}if(scored.length===0&&nutzKey==="kinder"){var attempt2a=scoreAll({nk:isNkRoom,kinderTrittschall:!0});attempt2a.length>0&&(scored=attempt2a,relaxedSummary="kinder_trittschall")}if(scored.length===0&&nutzKey==="haustiere"){var attempt2b=scoreAll({nk:isNkRoom,haustiereKratz:!0});attempt2b.length>0&&(scored=attempt2b,relaxedSummary="haustiere_kratz")}if(scored.length===0&&hasTrittschallEig){var attempt3=scoreAll({nk:isNkRoom,kinderTrittschall:nutzKey==="kinder",haustiereKratz:nutzKey==="haustiere",trittschall:!0});attempt3.length>0&&(scored=attempt3,relaxedSummary="trittschall")}if(scored.length===0&&hasVerlegePref){var attempt4=scoreAll({nk:isNkRoom,kinderTrittschall:nutzKey==="kinder",haustiereKratz:nutzKey==="haustiere",trittschall:hasTrittschallEig,verlegeart:!0});attempt4.length>0&&(scored=attempt4,relaxedSummary="verlegeart")}var softWarning=null;relaxedSummary==="verlegeart"?softWarning="F\xFCr deine gew\xE4hlte Verlegeart fanden wir keine passenden Produkte \u2014 wir zeigen dir die besten Alternativen mit anderen Verlegearten.":relaxedSummary==="nk"?softWarning="F\xFCr die geforderte Nutzungsklasse fanden wir keine passenden Produkte \u2014 wir zeigen dir die besten Alternativen aus dem Sortiment.":relaxedSummary==="trittschall"?softWarning="F\xFCr die geforderte integrierte Trittschalld\xE4mmung fanden wir keine passenden Produkte \u2014 wir zeigen dir die besten Alternativen.":relaxedSummary==="kinder_trittschall"?softWarning="F\xFCr die Anforderung an integrierte Trittschalld\xE4mmung (Kinder) fanden wir keine perfekt passenden Produkte \u2014 wir zeigen dir die besten verf\xFCgbaren Alternativen.":relaxedSummary==="haustiere_kratz"&&(softWarning="F\xFCr eine besonders kratzresistente Oberfl\xE4che (Haustiere) fanden wir keine perfekt passenden Produkte \u2014 wir zeigen dir die besten verf\xFCgbaren Alternativen."),eigKeys.indexOf("natuerlich")>=0&&(raumKey==="bad"||feuchtKey==="hoch")&&(softWarning="Echte Naturmaterialien wie Parkett sind in Feuchtr\xE4umen nicht m\xF6glich \u2014 wir zeigen dir feuchtraumgeeignete B\xF6den, die deinem Wunsch nach Nat\xFCrlichkeit am n\xE4chsten kommen (z. B. Greenline)."),nutzKey==="haustiere"&&optikKeys.indexOf("fischgraet")>=0&&verlegeKey==="kleben"&&(softWarning="Die Kombination Haustiere + Fischgr\xE4t + Klebe-Verlegung ist in der Praxis schwierig: Fischgr\xE4t ist meist Echtholz-Parkett mit Klick-System und f\xFCr Haustier-Haushalte weniger geeignet. Wir empfehlen, den Bodenberater neu zu starten und stattdessen Vinyl oder Designboden zu w\xE4hlen \u2014 kratzresistent und auch zum Kleben verf\xFCgbar.");var COLOR_KEYS=["hell","mittel","dunkel"],colorChosen=specific.filter(function(k){return COLOR_KEYS.indexOf(k)>=0}),patternKeys=specific.filter(function(k){return COLOR_KEYS.indexOf(k)<0});function optikTier(p){if(specific.length===0)return 0;var matchColor=colorChosen.length===0||colorChosen.some(function(k){return matchesOptikKey(p,k)}),matchPattern=patternKeys.every(function(k){return matchesOptikKey(p,k)});return matchColor&&matchPattern?2:matchesAnyOptik(p,specific)?1:0}var optikFiltered=scored;if(specific.length>0){var strictMatch=scored.filter(function(x){return optikTier(x.p)>=1});if(strictMatch.length>=MIN_R)optikFiltered=strictMatch;else if(strictMatch.length>0){optikFiltered=strictMatch,softWarning||(softWarning="F\xFCr deine gew\xE4hlte Optik haben wir "+strictMatch.length+" passende Produkt"+(strictMatch.length===1?"":"e")+" gefunden. Darunter zeigen wir dir weitere te
1chnisch passende Alternativen.");var padding=scored.filter(function(x){return optikTier(x.p)===0});optikFiltered=strictMatch.concat(padding).slice(0,MAX_R)}else softWarning||(softWarning="F\xFCr deine gew\xE4hlte Optik konnten wir leider keine exakten Treffer finden. Wir zeigen dir die technisch besten Alternativen aus dem Sortiment.")}optikFiltered.sort(function(a,b){var ta=optikTier(a.p),tb=optikTier(b.p);return ta!==tb?tb-ta:b.score-a.score});var shown=optikFiltered.slice(0,MAX_R);shown.forEach(function(item,i){var eligible=specific.length===0||optikTier(item.p)>=1;item.isFullMatch=i<OPTIK_SLOTS&&eligible}),!softWarning&&verlegeKey==="kleben"&&optikKeys.indexOf("fischgraet")>=0&&shown.some(function(it){return it.p.title.toLowerCase().indexOf("klick")>=0&&isKleben(it.p)})&&(softWarning='Hinweis: Einige Fischgr\xE4t-Produkte tragen \u201EKlick" im Namen, sind laut Hersteller aber auch zum Verkleben geeignet und passen daher zu deiner gew\xE4hlten Verlegeart.'),window.__brLastResults=shown.slice(0,6).map(function(item){return{title:item.p.title,url:"https://www.reud-bodenarena.de"+item.p.url,img:item.p.img,art:item.p.art}}),window.gtag&>ag("event","bodenberater_completed",{raum:raumKey,nutzung:nutzKey,verlegeart:verlegeKey}),renderResults(shown,softWarning)},400)}function renderResults(items,softWarning){var html='<div class="br-results br-fade-in">';html+='<div class="br-results-head"><span class="br-eyebrow">Deine Empfehlung</span><h2 class="br-results-title">Pers\xF6nlich ausgew\xE4hlt f\xFCr dich</h2><p class="br-results-sub">Basierend auf deinen Angaben haben wir die passendsten B\xF6den f\xFCr dich zusammengestellt.</p></div>',softWarning&&(html+='<div class="br-approx-note">'+esc(softWarning)+"</div>"),items.length===0?html+='<div class="br-empty"><p>Keine passenden Produkte gefunden.</p><p class="br-empty-hint">Tipp: W\xE4hle bei der Optik \u201EKeine Pr\xE4ferenz" f\xFCr eine gr\xF6\xDFere Auswahl, oder starte den Bodenberater neu mit anderen Kriterien.</p><button class="br-btn-restart" id="br-restart-empty">\u21BA Bodenberater neu starten</button></div>':(items.some(function(x){return x.score<=5})&&(html+='<div class="br-approx-note">Einige Ergebnisse sind ungef\xE4hre \xDCbereinstimmungen. Unsere Berater helfen dir gerne weiter \u2014 kostenlos und unverbindlich.</div>'),html+='<div class="br-results-grid">',items.forEach(function(item){var p=item.p,isBestPick=!!item.isFullMatch,tags=buildTags(p);html+='<div class="br-result-card'+(isBestPick?" is-top":"")+'">',isBestPick&&(html+='<div class="br-result-badge">Beste Empfehlung</div>'),p.img?html+='<div class="br-result-img-wrap"><img class="br-result-img" src="'+esc(p.img)+'" alt="'+esc(p.title)+'" loading="lazy"></div>':html+='<div class="br-result-img-ph">\uD83E\uDEB5</div>',html+='<div class="br-result-body">',p.art&&(html+='<div class="br-result-type">'+esc(p.art)+"</div>"),html+='<div class="br-result-name">'+esc(p.title)+"</div>",tags.length&&(html+='<div class="br-result-tags">',tags.forEach(function(t){html+='<span class="br-result-tag">'+esc(t)+"</span>"}),html+="</div>"),html+='<a class="br-result-cta br-track-click" data-product-title="'+esc(p.title)+'" href="'+esc(p.url)+'" target="_blank" rel="noopener noreferrer">Zum Produkt \u2192</a>',html+="</div></div>"}),html+="</div>"),html+=buildResultsCta(),html+=buildEmailCapture(),html+='<div class="br-results-foot"><button class="br-btn-restart" id="br-restart-foot">\u21BA Bodenberater neu starten</button></div>',html+="</div>",root.innerHTML=html,root.querySelectorAll(".br-track-click").forEach(function(a){a.addEventListener("click",function(){window.gtag&>ag("event","bodenberater_product_click",{product_title:this.getAttribute("data-product-title")})})}),root.querySelectorAll("#br-restart-empty, #br-restart-foot").forEach(function(btn){btn.addEventListener("click",function(){window.gtag&>ag("event","bodenberater_restarted"),ans={},renderEntry()})}),bindEmailCapture()}function buildTags(p){var tags=[];return isFeuchtraum(p)&&tags.push("Feuchtraumgeeignet"),isFBH(p)&&tags.push("FBH-geeignet"),hasTrittschall(p)&&tags.push("Trittschalld\xE4mmung"),isKlick(p)?tags.push("Klick-System"):isKleben(p)&&tags.push("Klebe-System"),nsTier(p)===4&&tags.push("NS "+p.nutzungsschicht),p.nk>=31&&tags.push("NK "+p.nk),tags.slice(0,4)}function buildResultsCta(){return'<div class="br-results-cta"><span class="br-eyebrow">Unsere Kollektionen</span>
1<h3 class="br-results-cta-headline">Noch mehr Inspiration entdecken</h3><a class="br-results-cta-btn" href="/collections/alle-bodenbelage/" target="_blank" rel="noopener noreferrer">Alle Bodenbel\xE4ge ansehen <span class="br-results-cta-arrow">\u2192</span></a></div>'}function buildEmailCapture(){return'<div class="br-email"><div class="br-email-inner"><div class="br-email-text"><h3>Angebote & Neuigkeiten</h3><p>Trag dich ein und erhalte exklusive Angebote und Neuheiten direkt in dein Postfach.</p></div><div id="br-ec-form"><div class="br-email-fields"><input class="br-input" type="text" id="br-ec-fname" placeholder="Vorname *" autocomplete="given-name"><input class="br-input" type="text" id="br-ec-lname" placeholder="Nachname *" autocomplete="family-name"><input class="br-input" type="email" id="br-ec-email" placeholder="E-Mail *" autocomplete="email"></div><label class="br-consent-row"><input type="checkbox" id="br-ec-consent" class="br-consent-cb"><span class="br-consent">Ja, ich m\xF6chte den Newsletter mit Angeboten und Neuigkeiten von REUD Bodenarena per E-Mail erhalten. Die Einwilligung kann ich jederzeit widerrufen. Es gilt die <a href="/policies/privacy-policy" target="_blank" rel="noopener">Datenschutzerkl\xE4rung</a>.</span></label><div class="br-email-err" id="br-ec-err" role="alert" style="display:none"></div><div id="br-ec-fb"></div><button type="button" class="br-nav-next" id="br-ec-btn" style="width:100%;justify-content:center;margin-top:12px;" disabled>Anmelden \u2192</button></div></div></div>'}function bindEmailCapture(){var KLAVIYO_LIST_ID="XpFqFR",KLAVIYO_COMPANY_ID="SBDBDr",btn=document.getElementById("br-ec-btn"),consent=document.getElementById("br-ec-consent"),err=document.getElementById("br-ec-err"),fb=document.getElementById("br-ec-fb"),fname=document.getElementById("br-ec-fname"),lname=document.getElementById("br-ec-lname"),email=document.getElementById("br-ec-email");if(!btn)return;consent.addEventListener("change",function(){btn.disabled=!consent.checked});function showError(msg){err.textContent=msg,err.style.display="block"}function clearError(){err.textContent="",err.style.display="none"}btn.addEventListener("click",function(){clearError(),fb.innerHTML="";var fnameVal=fname.value.trim(),lnameVal=lname.value.trim(),emailVal=email.value.trim();if(!fnameVal||!lnameVal){showError("Bitte gib Vorname und Nachname an.");return}if(!emailVal||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(emailVal)){showError("Bitte gib eine g\xFCltige E-Mail-Adresse ein.");return}if(!consent.checked){showError("Bitte best\xE4tige die Einwilligung zum Empfang des Newsletters.");return}btn.disabled=!0,btn.textContent="Wird gesendet \u2026";var quizSummary=buildAnswerNote();fetch("https://a.klaviyo.com/client/subscriptions/?company_id="+KLAVIYO_COMPANY_ID,{method:"POST",headers:{"Content-Type":"application/json",revision:"2023-12-15"},body:JSON.stringify({data:{type:"subscription",attributes:{custom_source:"Bodenberater",profile:{data:{type:"profile",attributes:{email:emailVal,first_name:fnameVal,last_name:lnameVal,properties:{bodenberater_antworten:quizSummary,bodenberater_datum:new Date().toLocaleDateString("de-DE"),consent_bodenberater:!0,bodenberater_empfehlung_1:window.__brLastResults[0]?window.__brLastResults[0].title+" \u2014 "+window.__brLastResults[0].url:"",bodenberater_empfehlung_2:window.__brLastResults[1]?window.__brLastResults[1].title+" \u2014 "+window.__brLastResults[1].url:"",bodenberater_empfehlung_3:window.__brLastResults[2]?window.__brLastResults[2].title+" \u2014 "+window.__brLastResults[2].url:"",bodenberater_empfehlung_4:window.__brLastResults[3]?window.__brLastResults[3].title+" \u2014 "+window.__brLastResults[3].url:"",bodenberater_empfehlung_5:window.__brLastResults[4]?window.__brLastResults[4].title+" \u2014 "+window.__brLastResults[4].url:"",bodenberater_empfehlung_6:window.__brLastResults[5]?window.__brLastResults[5].title+" \u2014 "+window.__brLastResults[5].url:""}}}}},relationships:{list:{data:{type:"list",id:KLAVIYO_LIST_ID}}}}})}).then(function(res){if(res.status===202||res.ok)fb.innerHTML='<div class="br-email-ok">\u2713 Vielen Dank! Du erh\xE4ltst in K\xFCrze eine Best\xE4tigungs-E-Mail.</div>',document.querySelector(".br-email-fields").style.display="none",document.querySelector(".br-consent-row").style.display="none",btn.style.display="none";else return res.json().then(function(data){throw new Error(JSON.stringify(data))})}).catch(function(e){console.warn("[Bodenberater] Klaviyo error",e),showError("Anmeldung fehlgeschlagen. Bitte versuche es sp\xE4ter erneut."),btn.disabled=!1,btn.textContent="Anmelden \u2192"})})}function buildAnswerNote(){var labels={raum:"Raum",nutzung:"Nutzung",eigenschaften:"Eigenschaften",optik:"Optik",verlegeart:"Verlegeart"};return Qs.map(function(q){var sel=ans[q.id]||[];
1if(!sel.length)return null;var ls=sel.map(function(key){var o=findOpt(q,key);return o?o.l:key});return(labels[q.id]||q.id)+": "+ls.join(", ")}).filter(Boolean).join("\n")}function esc(s){return String(s||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}} 2//# sourceMappingURL=/cdn/shop/t/11/assets/bodenberater.js.map?v=21214418981410543831781785624
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.