{"product_id":"fabric-samples","title":"Fabric Samples","description":"\u003cstyle\u003esticky-add-to-cart,.sticky-add-to-cart,variant-picker,.variant-picker{display:none!important}\u003c\/style\u003e\n\u003cp\u003e\u003cstrong\u003eThe samples are free. The $25 covers flat-rate shipping anywhere in Canada.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eScreens lie about colour. Fabric hanging in your own window, in your own light, does not. Pick the fabrics you are weighing up and we will cut real swatches from the same rolls we build your blinds from and mail them to you.\u003c\/p\u003e\n\u003cfigure class=\"nvs-shot\" style=\"margin:18px 0 22px;padding:0;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0792\/2126\/0477\/files\/novo-fac-cards-v2.jpg?v=1787719595\" alt=\"Novo Blinds fabric sample cards cut from production rolls\" loading=\"lazy\" width=\"1400\" height=\"875\" style=\"display:block;width:100%;height:auto;border-radius:14px;\"\u003e\u003cfigcaption style=\"margin:8px 0 0;font-size:12px;line-height:1.5;color:#8a95a3;\"\u003eCut in our Edmonton factory from the same rolls your blinds are made from.\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003ch3\u003eWhat you get\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFull-size swatches, cut from current production rolls. Not printed cards.\u003c\/li\u003e\n\u003cli\u003eUp to 8 fabrics per order, your pick.\u003c\/li\u003e\n\u003cli\u003eOur measuring guide in the envelope, so you can measure while you decide.\u003c\/li\u003e\n\u003cli\u003eShipped Canada-wide, flat $25. No subscription, no follow-up sales calls.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to use them\u003c\/h3\u003e\n\u003cp\u003eTape a swatch to the glass and look at it at three times of day: morning, mid-afternoon, and with the lamps on at night. Blackout fabrics look far heavier at noon than they do at 9pm, and light-filtering fabrics shift warm as the sun drops. That is the test that saves you a reorder.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eIn Edmonton or Surrey? Skip the mail. \u003ca href=\"https:\/\/www.novoblinds.ca\/contact-us\/\"\u003eBook a free in-home consultation\u003c\/a\u003e and our team brings the whole fabric library to your kitchen table.\u003c\/em\u003e\u003c\/p\u003e\n\u003cdiv class=\"novo-samples\" style=\"margin:14px 0;padding:16px;border:1px solid #dfe3ea;border-radius:12px;background:#F2F4F9;\"\u003e\n\u003cp style=\"margin:0 0 4px;font-size:14px;color:#073654;\"\u003e\u003cstrong\u003eChoose your fabrics\u003c\/strong\u003e \u003cspan id=\"novo-sc\" style=\"font-weight:400;color:#5c6b7a;\"\u003e(0 of 8 selected)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"margin:0 0 10px;font-size:12px;color:#5c6b7a;\"\u003eNo preference? Leave it blank and we will send a curated set across our most popular fabrics.\u003c\/p\u003e\n\u003cinput type=\"hidden\" id=\"novo-sample-list\" name=\"properties[Samples requested]\" value=\"Curated set, your pick\"\u003e\n\u003cdiv id=\"novo-sample-grid\" style=\"display:flex;flex-wrap:wrap;gap:6px 14px;\"\u003e\u003c\/div\u003e\n\u003cp id=\"novo-sample-msg\" style=\"display:none;margin:10px 0 0;font-size:13px;color:#E23940;\"\u003eThat is 8 fabrics, our limit per envelope. Unpick one to swap it out.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  var GROUPS=[[\"Zebra Blinds\", [\"Twist Charcoal\", \"Twist Clay\", \"Twist Dove White\", \"Twist Light Brown\", \"Canvus XL White\", \"Canvus XL Ivory\", \"Canvus XL Grey\", \"Ombre White Grey\", \"Ombre Cream Beige\", \"Ombre Green Grey\"]], [\"Blackout Roller Blinds\", [\"Novo White\", \"Novo Cream\", \"Novo Light Grey\", \"Novo Dark Grey\", \"Novo Black\"]], [\"Light-Filtering Roller Blinds\", [\"Linen White\", \"Linen Beige\", \"Linen Foggy Grey\", \"Screen Weave 3% White\", \"Screen Weave 3% Light Grey\", \"Screen Weave 3% Dark Grey\"]], [\"Honeycomb Cordless Shades\", [\"Honeycomb White\", \"Honeycomb Grey\", \"Honeycomb Charcoal\"]]];\n  var MAX=8, built=false;\n  function build(){\n    var grid=document.getElementById('novo-sample-grid');\n    if(!grid||built) return; built=true;\n    var html='';\n    for(var g=0;g\u003cGROUPS.length;g++){\n      html+='\u003cdiv style=\"flex:1 1 200px;min-width:180px;\"\u003e';\n      html+='\u003cdiv style=\"font-size:13px;font-weight:600;color:#073654;margin:6px 0 4px;\"\u003e'+GROUPS[g][0]+'\u003c\/div\u003e';\n      for(var i=0;i\u003cGROUPS[g][1].length;i++){\n        var f=GROUPS[g][1][i];\n        html+='\u003clabel style=\"display:block;font-size:14px;color:#333;margin:3px 0;\"\u003e\u003cinput type=\"checkbox\" class=\"novo-swatch\" value=\"'+f+'\"\u003e '+f+'\u003c\/label\u003e';\n      }\n      html+='\u003c\/div\u003e';\n    }\n    grid.innerHTML=html;\n  }\n  function refresh(){\n    var boxes=document.querySelectorAll('.novo-swatch');\n    var picked=[];\n    for(var i=0;i\u003cboxes.length;i++){ if(boxes[i].checked) picked.push(boxes[i].value); }\n    var hid=document.getElementById('novo-sample-list');\n    var cnt=document.getElementById('novo-sc');\n    var msg=document.getElementById('novo-sample-msg');\n    if(hid) hid.value = picked.length ? picked.join(', ') : 'Curated set, your pick';\n    if(cnt) cnt.textContent='('+picked.length+' of '+MAX+' selected)';\n    var full = picked.length\u003e=MAX;\n    for(var j=0;j\u003cboxes.length;j++){ if(!boxes[j].checked) boxes[j].disabled=full; }\n    if(msg) msg.style.display = full ? 'block' : 'none';\n  }\n  function place(){\n    var wrap=document.querySelector('.novo-samples'); if(!wrap) return null;\n    var form=document.querySelector('form[action*=\"\/cart\/add\"]');\n    if(form){\n      var fid=form.getAttribute('id');\n      if(!fid){ fid='novo-pform'; form.setAttribute('id',fid); }\n      var ins=wrap.querySelectorAll('input');\n      for(var i=0;i\u003cins.length;i++){\n        if(ins[i].type==='hidden' \u0026\u0026 ins[i].getAttribute('form')!==fid) ins[i].setAttribute('form',fid);\n      }\n      var btn=form.querySelector('[type=submit]');\n      if(btn \u0026\u0026 btn.parentNode \u0026\u0026 wrap.nextElementSibling!==btn.closest('div')){\n        try{ btn.closest('div').parentNode.insertBefore(wrap, btn.closest('div')); }catch(e){}\n      }\n    }\n    return wrap;\n  }\n  function init(){ build(); place(); refresh(); }\n  document.addEventListener('change',function(e){ if(e.target\u0026\u0026e.target.className==='novo-swatch') refresh(); });\n  var mo=new MutationObserver(function(){ clearTimeout(mo._t); mo._t=setTimeout(init,150); });\n  mo.observe(document.body,{childList:true,subtree:true});\n  if(document.readyState!=='loading'){ init(); } else { document.addEventListener('DOMContentLoaded',init); }\n})();\n\u003c\/script\u003e","brand":"Novo Blinds","offers":[{"title":"Default Title","offer_id":48303633891517,"sku":"NB-SAMPLES","price":25.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0792\/2126\/0477\/files\/novo-real-samples-fan_068eac43-f590-4119-b5c6-b84ec1644f6a.jpg?v=1787680735","url":"https:\/\/shop.novoblinds.ca\/products\/fabric-samples","provider":"Novo Blinds","version":"1.0","type":"link"}