{"product_id":"windshield-snow-cover","title":"❄️Windshield Snow Cover 57.87 x 45.66 inches","description":"\u003cdiv class=\"wb23-details\"\u003e\n\u003cdiv style=\"max-width:780px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;color:#263746;line-height:1.65;\"\u003e\n\u003cdiv style=\"background:linear-gradient(135deg,#172b3d 0%,#3d789c 55%,#dceff7 100%);border-radius:16px;padding:28px 24px;text-align:center;color:#fff;\"\u003e\n\u003cdiv style=\"display:inline-block;background:#55a7cf;color:#fff;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.8px;\"\u003eWINTER SHIELD • SUMMER SHADE\u003c\/div\u003e\n\u003ch2 style=\"margin:14px 0 8px;font-size:30px;line-height:1.2;color:#fff;\"\u003eSpend Less Time Clearing the Windshield\u003c\/h2\u003e\n\u003cp style=\"margin:0 auto 18px;max-width:650px;color:#eef8fc;\"\u003eCover your windshield before the weather arrives to help block snow, ice, frost and direct summer sun.\u003c\/p\u003e\n\u003cdiv\u003e\n\u003cspan style=\"display:inline-block;margin:4px;padding:7px 11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:13px;font-weight:700;\"\u003e4-Layer Material\u003c\/span\u003e\u003cspan style=\"display:inline-block;margin:4px;padding:7px 11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:13px;font-weight:700;\"\u003e5 Strong Magnets\u003c\/span\u003e\u003cspan style=\"display:inline-block;margin:4px;padding:7px 11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:13px;font-weight:700;\"\u003e57.87 × 45.66 in\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0960\/5375\/6088\/files\/ChatGPTImage2026_9_22_15_07_20_5-16b857115463-16b857115463-16b857115463.png?v=1791875133\" alt=\"four-layer windshield snow and sun cover\" style=\"display:block;width:100%;height:auto;margin:22px auto 0;border-radius:14px;\"\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;\"\u003e\n\u003cdiv style=\"background:#edf8fd;border:1px solid #cbe4f0;border-radius:14px;padding:18px;\"\u003e\n\u003cdiv style=\"font-size:24px;\"\u003e❄️\u003c\/div\u003e\n\u003ch3 style=\"margin:6px 0;color:#267499;font-size:17px;\"\u003eWinter Coverage\u003c\/h3\u003e\n\u003cp style=\"margin:0;font-size:14px;\"\u003eHelps keep snow, ice and frost from settling directly on the windshield.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff7e7;border:1px solid #eadbb8;border-radius:14px;padding:18px;\"\u003e\n\u003cdiv style=\"font-size:24px;\"\u003e☀️\u003c\/div\u003e\n\u003ch3 style=\"margin:6px 0;color:#89651d;font-size:17px;\"\u003eSummer Sun Shield\u003c\/h3\u003e\n\u003cp style=\"margin:0;font-size:14px;\"\u003eBlocks direct sunlight and UV exposure to help protect the vehicle interior.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#f1f4f6;border:1px solid #d8dfe4;border-radius:14px;padding:18px;\"\u003e\n\u003cdiv style=\"font-size:24px;\"\u003e🧲\u003c\/div\u003e\n\u003ch3 style=\"margin:6px 0;color:#4d6170;font-size:17px;\"\u003eMulti-Point Hold\u003c\/h3\u003e\n\u003cp style=\"margin:0;font-size:14px;\"\u003eFive edge magnets, door flaps and mirror straps help secure the cover.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#eef3f6;border:1px solid #d2dde3;border-radius:14px;padding:18px;\"\u003e\n\u003cdiv style=\"font-size:24px;\"\u003e🧳\u003c\/div\u003e\n\u003ch3 style=\"margin:6px 0;color:#405b6b;font-size:17px;\"\u003eFoldable Storage\u003c\/h3\u003e\n\u003cp style=\"margin:0;font-size:14px;\"\u003eEasy to shake clean, fold and keep in your vehicle between seasons.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#203747;color:#fff;border-radius:16px;padding:24px;margin:18px 0;\"\u003e\n\u003ch2 style=\"margin:0 0 10px;color:#fff;font-size:24px;\"\u003eA Quicker Start on Cold Mornings\u003c\/h2\u003e\n\u003cp style=\"margin:0;color:#e4f1f7;\"\u003eInstead of scraping a fully exposed windshield, remove the cover, shake away accumulated snow or frost, and prepare the glass for safe driving visibility.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0960\/5375\/6088\/files\/ChatGPTImage2026_9_22_15_07_20_6-5737864dc938-5737864dc938-5737864dc938.png?v=1791875140\" alt=\"windshield cover for snow ice and frost protection\" style=\"display:block;width:100%;height:auto;margin:18px 0;border-radius:14px;border:1px solid #d4e0e6;\"\u003e\u003cdiv style=\"background:linear-gradient(135deg,#f0f5f7,#fafcfd);border:1px solid #d3e0e5;border-radius:16px;padding:24px;margin:18px 0;\"\u003e\n\u003ch2 style=\"margin:0 0 12px;color:#355f75;font-size:24px;\"\u003eFour Protective Layers\u003c\/h2\u003e\n\u003cdiv style=\"display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;\"\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong style=\"color:#397c9c;\"\u003eAluminum Foil Layer\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eReflective outer coverage for changing seasons.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong style=\"color:#397c9c;\"\u003eSpunlaced Cotton\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eAdds thickness to the protective structure.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong style=\"color:#397c9c;\"\u003eWarp-Weft Cotton\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eSupports durability and everyday handling.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong style=\"color:#397c9c;\"\u003eWhite Inner Lining\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eCompletes the layered windshield-facing side.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0960\/5375\/6088\/files\/ChatGPTImage2026_9_22_15_07_19_4-9b284ad213ec-9b284ad213ec-9b284ad213ec.png?v=1791875148\" alt=\"four layer material windshield protector\" style=\"display:block;width:100%;height:auto;margin:18px 0;border-radius:14px;border:1px solid #d4e0e6;\"\u003e\u003cdiv style=\"background:#eef6fa;border:1px solid #cfe0e8;border-radius:16px;padding:24px;margin:18px 0;\"\u003e\n\u003ch2 style=\"margin:0 0 14px;color:#34637a;font-size:24px;\"\u003eSimple, Secure Setup\u003c\/h2\u003e\n\u003cdiv style=\"display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;\"\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong\u003e1. Center the Cover\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eSpread it evenly across the windshield.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong\u003e2. Close the Door Flaps\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003ePlace the side flaps inside the front doors before closing them.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong\u003e3. Loop the Mirror Straps\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eSecure the elastic bands around compatible side mirrors.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cstrong\u003e4. Position the Magnets\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size:13px;\"\u003eAlign the magnetic edge with a suitable metal surface near the hood.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0960\/5375\/6088\/files\/ChatGPTImage2026_9_22_15_07_18_2-00b4892242f8-00b4892242f8-00b4892242f8.png?v=1791875154\" alt=\"magnetic windshield snow cover installation\" style=\"display:block;width:100%;height:auto;margin:18px 0;border-radius:14px;border:1px solid #d4e0e6;\"\u003e\u003cdiv style=\"background:#fff;border:1px solid #d7e1e6;border-radius:16px;padding:24px;margin:18px 0;\"\u003e\n\u003ch2 style=\"margin:0 0 14px;color:#344f5e;font-size:24px;\"\u003eProduct Details\u003c\/h2\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;font-size:14px;\"\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;font-weight:700;width:42%;\"\u003eSize\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;\"\u003eApprox. 57.87 × 45.66 in\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;font-weight:700;\"\u003eConstruction\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;\"\u003e4-layer fabric\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;font-weight:700;\"\u003eMagnetic points\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;\"\u003e5 edge magnets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;font-weight:700;\"\u003eAdditional securing\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-bottom:1px solid #e6edf0;\"\u003eDoor flaps + elastic mirror straps\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;font-weight:700;\"\u003eSeasonal use\u003c\/td\u003e\n\u003ctd style=\"padding:10px;\"\u003eWinter weather and summer sun coverage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#fff2d8;border:1px solid #dfbd78;border-radius:16px;padding:20px;margin:18px 0;\"\u003e\n\u003ch3 style=\"margin:0 0 7px;color:#6f480f;font-size:19px;\"\u003eCheck the Fit First\u003c\/h3\u003e\n\u003cp style=\"margin:0;font-size:14px;color:#59482f;\"\u003eMeasure your windshield before ordering and confirm that your vehicle has suitable metal surfaces for the magnets. Remove the cover completely before driving and make sure the windshield is clear for safe visibility.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:linear-gradient(135deg,#24475d,#6ab0d1);color:#fff;border-radius:16px;padding:26px;text-align:center;margin-top:18px;\"\u003e\n\u003ch2 style=\"margin:0 0 8px;color:#fff;font-size:26px;\"\u003eCover Tonight. Clear the Road Faster Tomorrow.\u003c\/h2\u003e\n\u003cp style=\"margin:0;color:#edf9fd;\"\u003eOne foldable windshield shield for winter weather and summer sun.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cstyle\u003e.wb26-purchase{width:100%;margin:18px 0}.wb26-heading{text-align:center;letter-spacing:1px}.wb26-tier{border:2px solid #d1bddc;border-radius:12px;margin:12px 0;overflow:hidden}.wb26-tier.is-selected{border-color:#71358c;background:#f1eaf5}.wb26-bar{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer}.wb26-bar strong{font-size:19px}.wb26-bar small{display:block}.wb26-prices{margin-left:auto;text-align:right;white-space:nowrap}.wb26-prices b{display:block;color:#71358c;font-size:21px}.wb26-prices s{font-size:15px}.wb26-options{padding:0 18px 15px}.wb26-options[hidden]{display:none}.wb26-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.wb26-item label{flex:1;min-width:100px;font-size:13px}.wb26-item select{display:block;width:100%;padding:9px;border:1px solid #aaa;border-radius:4px;background:white;color:#222}.wb26-error{color:#b42318}.wb26-atc{background:#71358c;color:#fff;margin:18px 0 10px}.wb26-buy{background:white;color:#71358c;border:2px solid #71358c}.wb26-single-quantity input{width:75px;padding:10px}.wb26-product variant-selects,.wb26-product variant-radios,.wb26-product quantity-breaks,.wb26-product [id^=\"sticky-atc-\"]{display:none!important}.wb23-details{overflow-wrap:anywhere}.wb23-details img,.wb23-details video{max-width:100%;height:auto}.wb23-details .animate-item,.wb23-details .animate--hidden{opacity:1!important;visibility:visible!important;transform:none!important}\u003c\/style\u003e\u003cstyle\u003e.wb23-details details:not([open])\u003e.accordion__content-wrapper{display:none!important}.wb23-details details[open]\u003e.accordion__content-wrapper,.wb23-details details[open] .accordion__content{display:block!important;height:auto!important;max-height:none!important;visibility:visible!important;opacity:1!important}.wb23-details .ct26-root{font-size:16px}.wb23-details .ct26-a0491cfc8d{opacity:1!important;transform:none!important}\u003c\/style\u003e\u003cscript\u003e(() =\u003e {\n  const cfg={\"id\": \"15479161225309\", \"options\": [{\"name\": \"Title\", \"values\": [\"Default Title\"]}], \"variants\": [{\"id\": \"67846594592861\", \"price\": 2999, \"compare\": 5999, \"options\": [\"Default Title\"]}], \"tiers\": [{\"q\": 1, \"percent\": 0, \"title\": \"Buy 1\", \"selected\": false}, {\"q\": 2, \"percent\": 10, \"title\": \"Buy 2 Get 10% OFF\", \"selected\": true}, {\"q\": 3, \"percent\": 15, \"title\": \"Buy 3 Get 15% OFF\", \"selected\": false}, {\"q\": 4, \"percent\": 20, \"title\": \"Buy 4 Get 20% OFF\", \"selected\": false}]};\n  if(cfg.options.length===1\u0026\u0026cfg.options[0].name==='Title'\u0026\u0026cfg.options[0].values.length===1\u0026\u0026cfg.options[0].values[0]==='Default Title')cfg.options=[];\n  const original=document.querySelector('product-form.main-product-form');\n  if(!original||original.querySelector('[name=\"product-id\"]')?.value!==cfg.id)return;\n  const esc=s=\u003eString(s).replace(\/[\u0026\u003c\u003e\"']\/g,c=\u003e({'\u0026':'\u0026amp;','\u003c':'\u0026lt;','\u003e':'\u0026gt;','\"':'\u0026quot;',\"'\":'\u0026#39;'}[c]));\n  const money=n=\u003enew Intl.NumberFormat('en-US',{style:'currency',currency:'USD'}).format(n\/100);\n  const host=document.createElement('div');host.className='wb26-purchase';\n  const form=document.createElement('form');form.action='\/cart\/add';form.method='post';\n  host.appendChild(form);original.replaceWith(host);\n  const section=host.closest('[id^=\"MainProduct-\"]')||document;\n  section.querySelectorAll('variant-selects,variant-radios,quantity-breaks,[id^=\"sticky-atc-\"]').forEach(x=\u003ex.hidden=true);\n  let selected=Math.max(0,cfg.tiers.findIndex(x=\u003ex.selected));\n  if(!cfg.tiers.length)cfg.tiers=[{q:1,title:'Quantity',plain:true}];\n  const optionsMarkup=(tier,i)=\u003eArray.from({length:tier.q},(_,j)=\u003e'\u003cdiv class=\"wb26-item\"\u003e\u003cspan\u003eItem '+(j+1)+'\u003c\/span\u003e'+cfg.options.map((o,k)=\u003e'\u003clabel\u003e'+esc(o.name)+'\u003cselect data-item=\"'+j+'\" data-option=\"'+k+'\" aria-label=\"Item '+(j+1)+' '+esc(o.name)+'\"\u003e'+o.values.map(v=\u003e'\u003coption value=\"'+esc(v)+'\"\u003e'+esc(v)+'\u003c\/option\u003e').join('')+'\u003c\/select\u003e\u003c\/label\u003e').join('')+'\u003c\/div\u003e').join('');\n  form.innerHTML=(cfg.tiers[0].plain?'':'\u003ch3 class=\"wb26-heading\"\u003eBUNDLE \u0026amp; SAVE\u003c\/h3\u003e')+cfg.tiers.map((t,i)=\u003e'\u003cdiv class=\"wb26-tier\"\u003e\u003clabel class=\"wb26-bar\"\u003e\u003cinput type=\"radio\" name=\"wb26-tier\" value=\"'+i+'\" '+(i===selected?'checked':'')+'\u003e\u003cspan\u003e\u003cstrong\u003e'+esc(t.title)+'\u003c\/strong\u003e\u003csmall class=\"wb26-saving\"\u003e\u003c\/small\u003e\u003c\/span\u003e\u003cspan class=\"wb26-prices\"\u003e\u003cb\u003e\u003c\/b\u003e\u003cs\u003e\u003c\/s\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"wb26-options\" '+(i===selected?'':'hidden')+'\u003e'+optionsMarkup(t,i)+'\u003c\/div\u003e\u003c\/div\u003e').join('')+(cfg.tiers[0].plain?'\u003clabel class=\"wb26-single-quantity\"\u003eQuantity \u003cinput type=\"number\" name=\"quantity\" value=\"1\" min=\"1\" max=\"99\"\u003e\u003c\/label\u003e':'')+'\u003cp class=\"wb26-error\" role=\"alert\" hidden\u003e\u003c\/p\u003e\u003cbutton type=\"submit\" class=\"button button--full-width wb26-atc\"\u003eADD TO CART\u003c\/button\u003e\u003cbutton type=\"button\" class=\"button button--full-width wb26-buy\"\u003eBUY IT NOW\u003c\/button\u003e';\n  const tierEls=[...form.querySelectorAll('.wb26-tier')];\n  const initial=cfg.variants.find(v=\u003ev.id===new URLSearchParams(location.search).get('variant'))||cfg.variants[0];\n  form.querySelectorAll('select[data-option]').forEach(s=\u003es.value=initial.options[Number(s.dataset.option)]);\n  function chosen(i){return [...tierEls[i].querySelectorAll('.wb26-item')].map(row=\u003e{const vals=[...row.querySelectorAll('select')].map(x=\u003ex.value);return vals.length?cfg.variants.find(v=\u003ev.options.every((x,k)=\u003ex===vals[k])):cfg.variants[0];});}\n  function update(){tierEls.forEach((el,i)=\u003e{const t=cfg.tiers[i],vs=chosen(i);let base=vs.reduce((n,v)=\u003en+(v?.price||0),0),compare=vs.reduce((n,v)=\u003en+(v?.compare||v?.price||0),0),total=t.total??vs.reduce((n,v)=\u003en+(v?v.price-Math.floor(v.price*(t.percent||0)\/100):0),0);el.querySelector('.wb26-prices b').textContent=money(total);el.querySelector('.wb26-prices s').textContent=compare\u003etotal?money(compare):'';el.querySelector('.wb26-saving').textContent=compare\u003etotal?'You save '+money(compare-total):'';el.classList.toggle('is-selected',i===selected);el.querySelector('.wb26-options').hidden=i!==selected;el.dataset.total=total;});}\n  form.addEventListener('change',e=\u003e{if(e.target.name==='wb26-tier')selected=Number(e.target.value);update();const v=chosen(selected)[Number(e.target.dataset.item)||0];if(v){if(v.imageIndex!==undefined)section.querySelector('[aria-label=\"Load image '+(v.imageIndex+1)+' in gallery view\"]')?.click();const price=section.querySelector('[id^=\"main-price-\"]');price?.querySelectorAll('.main-price').forEach(x=\u003ex.textContent=money(v.price));const compare=price?.querySelector('.main-comapre-price');if(compare)compare.textContent=money(v.compare);price?.classList.toggle('price--on-sale',v.compare\u003ev.price);const badge=price?.querySelector('.badge__percentage-saved');if(badge)badge.textContent=String(Math.round((v.compare-v.price)\/v.compare*100));}});update();\n  let checkout=false;\n  form.querySelector('.wb26-buy').addEventListener('click',()=\u003e{checkout=true;form.requestSubmit();});\n  form.addEventListener('submit',async e=\u003e{e.preventDefault();e.stopImmediatePropagation();const buttons=[...form.querySelectorAll('button')],error=form.querySelector('.wb26-error');if(buttons.some(x=\u003ex.disabled))return;error.hidden=true;const t=cfg.tiers[selected],vs=chosen(selected);if(vs.some(x=\u003e!x)){error.textContent='Please choose an available combination for each item.';error.hidden=false;checkout=false;return;}const q=t.plain?Number(form.elements.quantity.value):1;if(!Number.isInteger(q)||q\u003c1||q\u003e99){error.textContent='Please enter a quantity from 1 to 99.';error.hidden=false;checkout=false;return;}const items=[];vs.forEach(v=\u003e{const row=items.find(x=\u003ex.id===v.id);if(row)row.quantity+=q;else items.push({id:v.id,quantity:q});});buttons.forEach(x=\u003ex.disabled=true);let added=false;try{const cart=document.querySelector('cart-drawer'),sections=cart?.getSectionsToRender?.().map(x=\u003ex.id)||[];const res=await fetch('\/cart\/add.js',{method:'POST',headers:{'Content-Type':'application\/json','Accept':'application\/json'},body:JSON.stringify({items,sections,sections_url:location.pathname})});let result=await res.json();if(!res.ok||result.status)throw new Error(result.description||'Unable to add this selection.');added=true;if(t.code){const r=await fetch('\/cart\/update.js',{method:'POST',headers:{'Content-Type':'application\/json','Accept':'application\/json'},body:JSON.stringify({discount:t.code,sections,sections_url:location.pathname})});const updated=await r.json();if(!r.ok)throw new Error('Items added. Please check the bundle discount in your cart before checkout.');result=updated;}if(checkout){location.assign('\/checkout');return;}if(cart?.renderContents\u0026\u0026result.sections){cart.setActiveElement?.(buttons[0]);cart.classList.remove('is-empty');cart.renderContents(result);}else location.assign('\/cart');}catch(failure){error.textContent=(added?'Items are in your cart. ':'')+(failure.message||'Unable to add this selection.');error.hidden=false;}finally{buttons.forEach(x=\u003ex.disabled=false);checkout=false;}});\n  const details=document.querySelector('.wb23-details'),main=document.querySelector('[id^=\"MainProduct-\"]');\n  if(details\u0026\u0026main){const full=document.createElement('div');full.className='page-width wb26-full-details';main.after(full);full.appendChild(details);}\n  document.body.classList.add('wb26-product');host.dataset.ready='true';\n})();\n\u003c\/script\u003e\u003cscript\u003e(() =\u003e {\nconst root=document.querySelector('.wb23-details');if(!root)return;\nroot.querySelectorAll('.faq-question,.f6q2mr6,.js-faq-trigger,.q8-99a0cd5cb0').forEach(button=\u003e{\n const answer=button.nextElementSibling;if(!answer)return;\n function show(open){button.setAttribute('aria-expanded',String(open));button.parentElement.classList.toggle('is-open',open);answer.hidden=!open;answer.style.setProperty('display',open?'block':'none','important');answer.style.setProperty('max-height',open?'none':'0px','important');answer.style.setProperty('opacity',open?'1':'0','important');}\n show(false);button.addEventListener('click',()=\u003eshow(button.getAttribute('aria-expanded')!=='true'));\n});\nroot.querySelectorAll('[data-hst-root]').forEach(box=\u003e{const tabs=[...box.querySelectorAll('[data-hst-tab]')],panels=[...box.querySelectorAll('[data-hst-panel]')];function go(n){tabs.forEach((b,i)=\u003e{b.classList.toggle('is-active',i===n);b.setAttribute('aria-selected',String(i===n));b.tabIndex=i===n?0:-1;});panels.forEach((p,i)=\u003e{p.classList.toggle('is-active',i===n);p.setAttribute('aria-hidden',String(i!==n));});}tabs.forEach((b,i)=\u003e{b.addEventListener('click',()=\u003ego(i));b.addEventListener('keydown',e=\u003e{if(e.key==='ArrowLeft'||e.key==='ArrowRight'){e.preventDefault();const n=(i+(e.key==='ArrowRight'?1:-1)+tabs.length)%tabs.length;tabs[n].focus();go(n);}});});go(1);});\nroot.querySelectorAll('[data-hd-root]').forEach(box=\u003e{const viewport=box.querySelector('[data-hd-carousel]'),track=box.querySelector('[data-hd-track]'),cards=[...box.querySelectorAll('[data-hd-card]')];function go(n){if(!track||!viewport||!cards.length)return;n=(n+cards.length)%cards.length;cards.forEach((c,i)=\u003e{c.classList.toggle('is-active',i===n);const b=c.querySelector('[data-hd-select]');if(b)b.hidden=i===n;});box.querySelectorAll('[data-hd-dot]').forEach((b,i)=\u003e{b.classList.toggle('is-active',i===n);b.setAttribute('aria-current',String(i===n));});const gap=parseFloat(getComputedStyle(track).columnGap)||0;track.style.transform='translate3d('+(viewport.clientWidth\/2-n*(cards[0].offsetWidth+gap)-cards[0].offsetWidth\/2)+'px,0,0)';}box.querySelectorAll('[data-hd-dot],[data-hd-select]').forEach(b=\u003eb.addEventListener('click',()=\u003ego(Number(b.dataset.hdDot??b.dataset.hdSelect))));go(1);});\nroot.querySelectorAll('.cv-umbrella-05-1021').forEach(box=\u003e{box.querySelectorAll('[data-tab]').forEach(b=\u003eb.addEventListener('click',()=\u003e{box.querySelectorAll('[data-tab]').forEach(x=\u003e{x.classList.toggle('is-on',x.dataset.tab===b.dataset.tab);x.setAttribute('aria-selected',String(x.dataset.tab===b.dataset.tab));});box.querySelectorAll('[data-panel]').forEach(x=\u003ex.classList.toggle('is-on',x.dataset.panel===b.dataset.tab));}));});\nroot.querySelectorAll('.cv-umbrella-07-1021').forEach(box=\u003e{box.querySelectorAll('[data-step]').forEach(b=\u003eb.addEventListener('click',()=\u003e{const track=box.querySelector('.cv-scroll');if(track)track.scrollBy({left:Number(b.dataset.step)*(track.querySelector('.cv-card')?.getBoundingClientRect().width+17||track.clientWidth),behavior:'smooth'});}));});\nroot.querySelectorAll('.cv-ceramic-curves-1022').forEach(box=\u003e{const track=box.querySelector('.cv-cc-track');box.querySelectorAll('.cv-cc-prev,.cv-cc-next').forEach(b=\u003eb.addEventListener('click',()=\u003etrack?.scrollBy({left:(b.classList.contains('cv-cc-prev')?-1:1)*track.clientWidth,behavior:'smooth'})));});\nroot.querySelectorAll('[data-r2t7c-root]').forEach(box=\u003e{const track=box.querySelector('[data-r2t7c-track]');if(!track)return;let n=0;box.querySelectorAll('[data-r2t7c-prev],[data-r2t7c-next]').forEach(b=\u003eb.addEventListener('click',()=\u003e{n=(n+(b.hasAttribute('data-r2t7c-next')?1:-1)+track.children.length)%track.children.length;track.style.transform=matchMedia('(max-width:899px)').matches?'translateX(-'+n*100+'%)':'';}));});\nroot.querySelectorAll('.q8-9f89908c3f').forEach(box=\u003e{const tabs=[...box.querySelectorAll('.q8-54d82341f1')],panels=[...box.querySelectorAll('.q8-9059264627')];function go(n){tabs.forEach((b,i)=\u003e{b.setAttribute('aria-selected',String(i===n));b.style.borderBottomColor=i===n?'var(--q8-accent)':'transparent';});panels.forEach((p,i)=\u003e{p.dataset.q8Hidden=String(i!==n);p.setAttribute('aria-hidden',String(i!==n));});}tabs.forEach((b,i)=\u003eb.addEventListener('click',()=\u003ego(i)));go(0);});\nroot.querySelectorAll('.q8-ce09f4f116').forEach(box=\u003e{const track=box.querySelector('.q8-ce2e192291');if(!track)return;const cards=[...track.children];let n=0;function go(i){n=(i+Math.max(1,cards.length-1))%Math.max(1,cards.length-1);track.style.transform='translate3d(-'+n*(cards[0].getBoundingClientRect().width+(parseFloat(getComputedStyle(track).gap)||0))+'px,0,0)';box.querySelectorAll('.q8-31e3c38d0f').forEach((b,j)=\u003eb.setAttribute('aria-current',String(j===n)));}box.querySelector('.q8-8b6e409867')?.addEventListener('click',()=\u003ego(n-1));box.querySelector('.q8-43cb0b5236')?.addEventListener('click',()=\u003ego(n+1));box.querySelectorAll('.q8-31e3c38d0f').forEach((b,i)=\u003eb.addEventListener('click',()=\u003ego(i)));go(0);});\nroot.querySelectorAll('section').forEach(box=\u003e{const tabs=[...box.querySelectorAll('.js-tabbed-btn')],panels=[...box.querySelectorAll('.js-tabbed-content')];if(!tabs.length||!panels.length)return;function go(n){tabs.forEach((b,i)=\u003e{b.classList.toggle('is-active-tab',i===n);b.style.opacity=i===n?'1':'.5';b.style.borderColor=i===n?'var(--direct-primary)':'transparent';b.setAttribute('aria-selected',String(i===n));});panels.forEach((p,i)=\u003e{p.style.opacity=i===n?'1':'0';p.style.pointerEvents=i===n?'auto':'none';p.style.zIndex=i===n?'10':'0';});const bg=box.querySelector('.js-tabbed-bg'),b=tabs[n];if(bg){const src=innerWidth\u003c768?b.dataset.bgMobile:b.dataset.bgDesktop;if(src)bg.style.backgroundImage='url(\"'+src.replace(\/\"\/g,'%22')+'\")';}}tabs.forEach((b,i)=\u003eb.addEventListener('click',()=\u003ego(i)));go(0);});\nroot.querySelectorAll('.js-carousel-prev,.js-carousel-next').forEach(b=\u003eb.addEventListener('click',()=\u003e{const track=b.parentElement.querySelector('.js-carousel-container');track?.scrollBy({left:(b.classList.contains('js-carousel-prev')?-1:1)*track.clientWidth,behavior:'smooth'});}));\nroot.dataset.interactions='ready';\n})();\n\u003c\/script\u003e","brand":"Lumiieren","offers":[{"title":"Default Title","offer_id":67846594592861,"sku":"ZWP2609293239-磁吸耳罩加厚款【145*110cm】送收纳袋","price":29.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/0748\/4765\/files\/pt1-2bacb6714990-ChatGPTImage2026_9_22_15_07_17_1.png?v=1793082203","url":"https:\/\/www.lumiieren.com\/products\/windshield-snow-cover","provider":"Lumiieren","version":"1.0","type":"link"}