{"product_id":"kit-vmc-double-flux-comfoair-q-350-zehnder-cle-en-main-dn-90","title":"Kit VMC double flux ComfoAir Q 350 Zehnder | Clé en main DN 90","description":"\u003cp\u003eSystème de ventilation double flux \u003cstrong\u003eclé en main\u003c\/strong\u003e, pré-dimensionné pour les logements \u003cstrong\u003eT3+ à T5+\u003c\/strong\u003e. Tous les composants sont 100 % compatibles et sélectionnés pour garantir les performances Zehnder. La composition de base est incluse et fixe ; complétez si besoin avec les options ci-dessous, le total se met à jour en direct.\u003c\/p\u003e \u003cdiv id=\"fkit-caq350\"\u003e \u003cstyle\u003e #fkit-caq350{--fk-vert:#4d7c2a;--fk-vert-d:#3a5f1f;--fk-orange:#ed7d1c;--fk-bord:#e6e6e1;--fk-gris:#6b6b66;max-width:860px;margin:18px 0;color:#1d1d1b;} #fkit-caq350 *{box-sizing:border-box;} #fkit-caq350 .fk-sec{font-size:13px;font-weight:700;color:var(--fk-vert-d);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 6px;} #fkit-caq350 .fk-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--fk-bord);} #fkit-caq350 .fk-row:last-child{border-bottom:none;} #fkit-caq350 .fk-row.off{opacity:.45;} #fkit-caq350 .fk-chk{width:20px;height:20px;flex:none;cursor:pointer;accent-color:var(--fk-vert);} #fkit-caq350 .fk-inc{width:20px;height:20px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--fk-vert);font-weight:800;font-size:15px;} #fkit-caq350 .fk-img{width:54px;height:54px;flex:none;object-fit:contain;background:#fff;border:1px solid var(--fk-bord);border-radius:8px;} #fkit-caq350 .fk-info{flex:1;min-width:0;} #fkit-caq350 .fk-name{font-size:14px;font-weight:600;line-height:1.3;} #fkit-caq350 .fk-meta{font-size:12px;color:var(--fk-gris);margin-top:2px;} #fkit-caq350 .fk-oos{color:#b3261e;font-weight:600;} #fkit-caq350 .fk-stepper{display:flex;align-items:center;gap:4px;flex:none;} #fkit-caq350 .fk-qbtn{width:30px;height:30px;border:1px solid var(--fk-bord);background:#fff;border-radius:7px;cursor:pointer;font-size:18px;line-height:1;color:var(--fk-vert-d);} #fkit-caq350 .fk-qin{width:42px;height:30px;text-align:center;border:1px solid var(--fk-bord);border-radius:7px;font-size:14px;font-weight:600;-moz-appearance:textfield;} #fkit-caq350 .fk-qin::-webkit-outer-spin-button,#fkit-caq350 .fk-qin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;} #fkit-caq350 .fk-qfix{width:110px;flex:none;text-align:center;font-size:14px;font-weight:700;color:var(--fk-vert-d);} #fkit-caq350 .fk-line{min-width:104px;text-align:right;font-size:14px;font-weight:700;flex:none;} #fkit-caq350 .fk-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:2px solid var(--fk-vert);} #fkit-caq350 .fk-tot-l{font-size:12px;color:var(--fk-gris);} #fkit-caq350 .fk-tot{font-size:26px;font-weight:800;color:var(--fk-vert-d);line-height:1.1;} #fkit-caq350 .fk-cta{background:var(--fk-orange);color:#fff;border:none;border-radius:9px;padding:14px 24px;font-size:15px;font-weight:700;cursor:pointer;} #fkit-caq350 .fk-cta:disabled{opacity:.5;cursor:not-allowed;} #fkit-caq350 .fk-msg{margin-top:12px;padding:12px 14px;border-radius:8px;font-size:13px;display:none;} #fkit-caq350 .fk-msg.err{display:block;background:#fbe9e7;color:#b3261e;} #fkit-caq350 .fk-wait{font-size:13px;color:var(--fk-gris);padding:10px 0;} \u003c\/style\u003e \u003cdiv class=\"fk-sec\"\u003eComposition de base\u003c\/div\u003e \u003cdiv id=\"fk-base\"\u003e\u003cdiv class=\"fk-wait\"\u003eChargement du configurateur…\u003c\/div\u003e\u003c\/div\u003e \u003cdiv class=\"fk-sec\"\u003eOptions à ajouter\u003c\/div\u003e \u003cdiv id=\"fk-opts\"\u003e\u003c\/div\u003e \u003cdiv class=\"fk-bar\"\u003e \u003cdiv\u003e \u003cdiv class=\"fk-tot-l\"\u003eTotal estimé · \u003cspan id=\"fk-count\"\u003e0\u003c\/span\u003e article(s)\u003c\/div\u003e \u003cdiv class=\"fk-tot\" id=\"fk-total\"\u003e—\u003c\/div\u003e \u003c\/div\u003e \u003cbutton type=\"button\" class=\"fk-cta\" id=\"fk-add\" disabled\u003eAjouter le kit au panier\u003c\/button\u003e \u003c\/div\u003e \u003cdiv class=\"fk-msg\" id=\"fk-msg\"\u003e\u003c\/div\u003e \u003cscript\u003e (function(){ var WRAP=document.getElementById('fkit-caq350');if(!WRAP)return; var BASE=[[\"vmc-double-flux-comfoair-q-350-zehnder\",1],[\"batterie-de-prechauffage-pour-zehnder-confoair-q-cv-q-a\",1],[\"caisson-silencieux-repartition-zehnder-420mm\",2],[\"plaque-de-raccordement-8-piquages-dn90-serie-420\",2],[\"plaque-de-raccordement-dn160-serie-420\",2]]; var OPTS=[[\"bouche-dinsufflation-comfovalve-luna-s125-de-zehnder\",7],[\"bouche-dextraction-comfovalve-luna-e125\",5],[\"jeu-de-filtres-1xf7-1xg4-pour-comfoair-q-350-450-600\",1],[\"comfoconnect-lan-c-pour-comfoair-q-350-450-600\",1],[\"manchon-comfopipe-compact-160-zehnder\",2]]; var KIT_TAG='ComfoAir Q 350'; var fmt=function(c){return new Intl.NumberFormat('fr-FR',{style:'currency',currency:'EUR'}).format(c\/100);}; var baseBox=WRAP.querySelector('#fk-base'),optBox=WRAP.querySelector('#fk-opts'); function getP(h){return fetch('\/products\/'+h+'.js').then(function(r){return r.ok?r.json():null;}).catch(function(){return null;});} function rowHTML(p,q,fixed){ var v=p.variants[0];var img=p.featured_image||'';if(img.indexOf('\/\/')===0)img='https:'+img; var ctrl=fixed?'\u003cspan class=\"fk-inc\" title=\"Inclus dans le kit\"\u003e✓\u003c\/span\u003e':'\u003cinput type=\"checkbox\" class=\"fk-chk\"'+(v.available?'':' disabled')+'\u003e'; var qc=fixed?'\u003cdiv class=\"fk-qfix\"\u003e× '+q+'\u003c\/div\u003e':'\u003cdiv class=\"fk-stepper\"\u003e\u003cbutton type=\"button\" class=\"fk-qbtn\" data-step=\"-1\"\u003e−\u003c\/button\u003e\u003cinput type=\"number\" class=\"fk-qin\" value=\"'+q+'\" min=\"1\" inputmode=\"numeric\"\u003e\u003cbutton type=\"button\" class=\"fk-qbtn\" data-step=\"1\"\u003e+\u003c\/button\u003e\u003c\/div\u003e'; return '\u003cdiv class=\"fk-row'+(fixed?' fk-fixed':' off')+'\" data-vid=\"'+v.id+'\" data-price=\"'+v.price+'\" data-q=\"'+q+'\" data-avail=\"'+(v.available?1:0)+'\"'+(fixed?' data-fixed=\"1\"':'')+'\u003e'+ctrl+(img?'\u003cimg class=\"fk-img\" src=\"'+img+'\" alt=\"\" loading=\"lazy\"\u003e':'')+'\u003cdiv class=\"fk-info\"\u003e\u003cdiv class=\"fk-name\"\u003e'+p.title+'\u003c\/div\u003e\u003cdiv class=\"fk-meta\"\u003e'+fmt(v.price)+(v.available?'':' · \u003cspan class=\"fk-oos\"\u003eIndisponible\u003c\/span\u003e')+'\u003c\/div\u003e\u003c\/div\u003e'+qc+'\u003cdiv class=\"fk-line\"\u003e\u003c\/div\u003e\u003c\/div\u003e'; } Promise.all([Promise.all(BASE.map(function(x){return getP(x[0]);})),Promise.all(OPTS.map(function(x){return getP(x[0]);}))]).then(function(res){ baseBox.innerHTML=res[0].map(function(p,i){return p?rowHTML(p,BASE[i][1],true):'';}).join('')||'\u003cdiv class=\"fk-wait\"\u003eProduits indisponibles.\u003c\/div\u003e'; optBox.innerHTML=res[1].map(function(p,i){return p?rowHTML(p,OPTS[i][1],false):'';}).join(''); init(); }); function init(){ var rows=[].slice.call(WRAP.querySelectorAll('.fk-row')); var totalEl=WRAP.querySelector('#fk-total'),countEl=WRAP.querySelector('#fk-count'),addBtn=WRAP.querySelector('#fk-add'),msg=WRAP.querySelector('#fk-msg'); function isFixed(r){return r.dataset.fixed==='1';} function isAvail(r){return r.dataset.avail==='1';} function qty(r){if(isFixed(r))return parseInt(r.dataset.q,10)||1;var i=r.querySelector('.fk-qin');var n=parseInt(i.value,10);if(isNaN(n)||n\u003c1){n=1;i.value=1;}return n;} function on(r){if(isFixed(r))return isAvail(r);var c=r.querySelector('.fk-chk');return c.checked\u0026\u0026!c.disabled;} function recompute(){var t=0,c=0,missing=false;rows.forEach(function(r){var pr=parseInt(r.dataset.price,10)||0,q=qty(r);r.querySelector('.fk-line').textContent=fmt(pr*q);var inc=on(r);if(!isFixed(r))r.classList.toggle('off',!inc);if(isFixed(r)\u0026\u0026!isAvail(r))missing=true;if(inc){t+=pr*q;c+=q;}});totalEl.textContent=fmt(t);countEl.textContent=c;if(missing){addBtn.disabled=true;msg.className='fk-msg err';msg.textContent='Un composant indispensable du kit est en rupture. Contactez-nous pour la disponibilite.';}else{addBtn.disabled=c===0;if(msg.classList.contains('err')){msg.className='fk-msg';msg.textContent='';}}} rows.forEach(function(r){if(isFixed(r))return;r.querySelector('.fk-chk').addEventListener('change',recompute);r.querySelector('.fk-qin').addEventListener('input',recompute);[].slice.call(r.querySelectorAll('.fk-qbtn')).forEach(function(b){b.addEventListener('click',function(){var i=r.querySelector('.fk-qin');var n=qty(r)+parseInt(b.dataset.step,10);if(n\u003c1)n=1;i.value=n;if(!on(r))r.querySelector('.fk-chk').checked=true;recompute();});});}); addBtn.addEventListener('click',function(){var items=[];rows.forEach(function(r){if(on(r)){items.push({id:parseInt(r.dataset.vid,10),quantity:qty(r),properties:{Kit:KIT_TAG}});}});if(!items.length)return;addBtn.disabled=true;addBtn.textContent='Ajout en cours…';msg.className='fk-msg';fetch('\/cart\/add.js',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({items:items})}).then(function(res){if(!res.ok)return res.json().then(function(e){throw e;});return res.json();}).then(function(){window.location.href='\/cart';}).catch(function(e){addBtn.disabled=false;addBtn.textContent='Ajouter le kit au panier';msg.className='fk-msg err';msg.textContent='Un composant n a pas pu etre ajoute'+(e\u0026\u0026e.description?' : '+e.description:'')+'. Verifie le stock puis reessaie.';});}); recompute(); } })(); \u003c\/script\u003e \u003c\/div\u003e \u003cp style=\"font-size:13px;color:#6b6b66;\"\u003eOptions complémentaires hors compo de base : réseau primaire ComfoPipe Compact DN 160, bouches ComfoValve Luna S\/E, filtres, pilotage ComfoConnect.\u003c\/p\u003e","brand":"ZEHNDER","offers":[{"title":"Default Title","offer_id":57239817453941,"sku":"KIT-30003156","price":3542.8,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0948\/8069\/4645\/files\/vmc-double-flux-comfoair-q350-zehnder_85654511-4343-4f95-b192-c37a8bb0a50c.png?v=1779116762","url":"https:\/\/www.fematshop.fr\/products\/kit-vmc-double-flux-comfoair-q-350-zehnder-cle-en-main-dn-90","provider":"Fematshop","version":"1.0","type":"link"}