{"product_id":"lutyens-wabi-sabi-iron-swing-arm-fabric-wall-light","title":"Lutyens Wabi-sabi Iron Swing Arm Fabric Wall Light","description":"\u003cdiv class=\"ping-product-detail\" id=\"ppd-35715\"\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600\u0026display=swap');\n#ppd-35715{max-width:1200px;margin:0 auto;padding:8px 16px 40px;background:#fff;color:#000;font-family:'Poppins',sans-serif;line-height:2em;font-size:15px;letter-spacing:1px;}\n#ppd-35715 *,#ppd-35715 *::before,#ppd-35715 *::after{box-sizing:border-box;}\n#ppd-35715 img{display:block;width:100%;height:auto;border-radius:0;}\n#ppd-35715 .ppd-section{margin:0 0 4px;}\n#ppd-35715 .ppd-divider{border:0;border-top:0.5px solid rgba(122,122,122,.48);margin:0;padding:10px 0;}\n#ppd-35715 h2.ppd-title,#ppd-35715 h3.ppd-heading{text-align:center;font-family:'Poppins',sans-serif;font-weight:600;color:#000;margin:0;line-height:1em;}\n#ppd-35715 h2.ppd-title{font-size:25px;letter-spacing:1px;padding:16px 0 12px;}\n#ppd-35715 h3.ppd-heading{font-size:24px;letter-spacing:1.6px;line-height:1.3;padding:14px 0 10px;}\n#ppd-35715 .ppd-sub{text-align:center;color:#707070;font-size:15px;letter-spacing:1px;line-height:2em;margin:0 0 12px;}\n#ppd-35715 .ppd-intro{text-align:center;color:#707070;font-size:15px;letter-spacing:1px;line-height:2em;max-width:920px;margin:0 auto 16px;}\n#ppd-35715 ul.ppd-bullets{list-style:none;margin:0 0 16px;padding:0 10px;color:#000;font-size:15px;letter-spacing:1px;line-height:2em;}\n#ppd-35715 ul.ppd-bullets li{margin:0 0 4px;text-align:center;}\n#ppd-35715 ul.ppd-list{margin:0;padding:0 10px 0 26px;color:#000;font-size:14px;letter-spacing:1px;line-height:2em;}\n#ppd-35715 ul.ppd-list li{margin:0;}\n#ppd-35715 .ppd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}\n#ppd-35715 .ppd-grid-2+.ppd-grid-2{margin-top:20px;}\n#ppd-35715 .ppd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}\n#ppd-35715 .ppd-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}\n#ppd-35715 .ppd-grid-2.ppd-middle{align-items:center;}\n#ppd-35715 .ppd-spec{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;max-width:1100px;margin:0 auto;}\n#ppd-35715 .ppd-cols{display:grid;gap:24px;align-items:center;}\n#ppd-35715 .ppd-cols-2{grid-template-columns:1fr 1fr;}\n#ppd-35715 .ppd-cols-3{grid-template-columns:1fr 1fr 1fr;}\n#ppd-35715 .ppd-cols-4{grid-template-columns:repeat(4,1fr);}\n#ppd-35715 .ppd-col\u003e*+*{margin-top:14px;}\n#ppd-35715 .ppd-col h4{margin:0;font-size:16px;font-weight:600;letter-spacing:1px;}\n#ppd-35715 .ppd-spec-media\u003e*+*{margin-top:16px;}\n#ppd-35715 .ppd-spec table{width:100%;border-collapse:collapse;font-size:14px;letter-spacing:1px;}\n#ppd-35715 .ppd-spec table td,#ppd-35715 .ppd-spec table th{border:1px solid #e3e3e3;padding:10px 14px;text-align:left;vertical-align:top;}\n#ppd-35715 .ppd-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}\n#ppd-35715 .ppd-feature-col\u003e*{margin-bottom:16px;}\n#ppd-35715 .ppd-feature-col\u003e*:last-child{margin-bottom:0;}\n#ppd-35715 figure.ppd-figure{margin:0;}\n#ppd-35715 figure.ppd-figure figcaption{text-align:center;color:#707070;font-size:14px;letter-spacing:1px;padding-top:8px;}\n#ppd-35715 .ppd-hero-img{box-shadow:0 2px 14px rgba(0,0,0,.08);}\n#ppd-35715 .ppd-review{border:1px solid #eee;border-radius:8px;padding:16px;text-align:center;background:#fff;transition:box-shadow .25s,transform .25s;}\n#ppd-35715 .ppd-review:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}\n#ppd-35715 .ppd-stars{color:#f6a623;font-size:15px;letter-spacing:2px;margin-bottom:10px;}\n#ppd-35715 .ppd-review img{aspect-ratio:4\/5;object-fit:cover;width:100%;border-radius:4px;}\n#ppd-35715 .ppd-review h4{margin:12px 0 6px;font-size:15px;font-weight:600;color:#000;letter-spacing:1px;}\n#ppd-35715 .ppd-review p{margin:0;color:#707070;font-size:14px;letter-spacing:1px;line-height:1.8;}\n#ppd-35715 .ppd-card{display:block;text-decoration:none;color:inherit;}\n#ppd-35715 .ppd-card img{transition:transform .3s,box-shadow .3s;}\n#ppd-35715 .ppd-card:hover img{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12);}\n#ppd-35715 .ppd-card-label{text-align:center;font-size:14px;color:#707070;letter-spacing:1px;padding-top:8px;}\n#ppd-35715 .ppd-video{position:relative;display:block;width:100%;aspect-ratio:16\/10;border:0;border-radius:8px;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#3d3a36,#191817);padding:0;}\n#ppd-35715 .ppd-video .ppd-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:14px;}\n#ppd-35715 .ppd-video .ppd-play::before{content:\"\";width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.85);background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5v14l11-7z'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:55% 50%;background-size:26px;transition:transform .2s;}\n#ppd-35715 .ppd-video:hover .ppd-play::before{transform:scale(1.08);}\n#ppd-35715 .ppd-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}\n#ppd-35715 .ppd-carousel{position:relative;--pv:4;}\n#ppd-35715 .ppd-viewport{overflow:hidden;}\n#ppd-35715 .ppd-track{display:flex;margin:0 -8px;transition:transform .45s ease;}\n#ppd-35715 .ppd-slide{flex:0 0 calc(100% \/ var(--pv));padding:0 8px;min-width:0;}\n#ppd-35715 .ppd-slide img+img{margin-top:16px;}\n#ppd-35715 .ppd-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 1px 6px rgba(0,0,0,.18);color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s,background .2s;}\n#ppd-35715 .ppd-arrow:hover{background:#fff;}\n#ppd-35715 .ppd-arrow[disabled]{opacity:.35;cursor:default;}\n#ppd-35715 .ppd-arrow-prev{left:14px;}\n#ppd-35715 .ppd-arrow-next{right:14px;}\n#ppd-35715 .ppd-arrow svg{width:18px;height:18px;}\n#ppd-35715 .ppd-dots{display:flex;justify-content:center;gap:8px;padding:14px 0 0;}\n#ppd-35715 .ppd-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#cfcfcf;cursor:pointer;transition:background .2s,transform .2s;}\n#ppd-35715 .ppd-dots button::before{content:none;}\n#ppd-35715 .ppd-dots button.is-active{background:#1c1c1c;transform:scale(1.15);}\n#ppd-35715 .ppd-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}\n#ppd-35715 .ppd-reveal.is-visible{opacity:1;transform:none;}\n@media (max-width:1024px){\n  #ppd-35715 h3.ppd-heading{font-size:22px;letter-spacing:2.5px;line-height:4em;}\n  #ppd-35715 .ppd-grid-4{grid-template-columns:repeat(2,1fr);}\n}\n@media (max-width:767px){\n  #ppd-35715{padding:8px 12px 28px;font-size:14px;line-height:1.9em;letter-spacing:1px;}\n  #ppd-35715 h2.ppd-title{font-size:20px;letter-spacing:1px;padding:12px 0 10px;}\n  #ppd-35715 h3.ppd-heading{font-size:20px;letter-spacing:2.1px;line-height:2.3em;}\n  #ppd-35715 ul.ppd-list{line-height:1.9em;font-size:13px;}\n  #ppd-35715 ul.ppd-bullets{text-align:left;padding:0 4px;}\n  #ppd-35715 ul.ppd-bullets li{padding-left:14px;text-indent:-14px;}\n  #ppd-35715 .ppd-grid-2,#ppd-35715 .ppd-grid-3,#ppd-35715 .ppd-grid-4,#ppd-35715 .ppd-spec,#ppd-35715 .ppd-feature,#ppd-35715 .ppd-cols-2,#ppd-35715 .ppd-cols-3,#ppd-35715 .ppd-cols-4{grid-template-columns:1fr;gap:16px;}\n  #ppd-35715 .ppd-divider{padding:8px 0;}\n  #ppd-35715 .ppd-arrow{width:32px;height:32px;}\n  #ppd-35715 .ppd-arrow-prev{left:8px;}\n  #ppd-35715 .ppd-arrow-next{right:8px;}\n}\n@media (min-width:1025px){\n  #ppd-35715 .ppd-hide-desktop{display:none !important;}\n}\n@media (min-width:768px) and (max-width:1024px){\n  #ppd-35715 .ppd-hide-tablet{display:none !important;}\n}\n@media (max-width:767px){\n  #ppd-35715 .ppd-hide-phone{display:none !important;}\n}\n@media (prefers-reduced-motion:reduce){\n  #ppd-35715 .ppd-track{transition:none;}\n  #ppd-35715 .ppd-reveal{opacity:1;transform:none;transition:none;}\n}\n\u003c\/style\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003ch2 class=\"ppd-title\"\u003eLutyens Wabi-sabi Iron Swing Arm Fabric Wall Light\u003c\/h2\u003e\n\u003cp class=\"ppd-intro\" style=\"text-align: center;\"\u003eMade from high-quality iron metal swing arm fixture and white fabric shade, available in a choice of bronze or vintage brass finishes to complement any décor style. The swing arm mechanism allows you to direct light exactly where you need it, making it ideal for reading nooks, bedsides, or as an accent light.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003chr class=\"ppd-divider\"\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003ch3 class=\"ppd-heading\"\u003eSize \u0026amp; Material\u003c\/h3\u003e\n\u003c\/section\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003cdiv class=\"ppd-cols ppd-cols-2\"\u003e\n\u003cdiv class=\"ppd-col\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/86a40e209dd9e758.jpg\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ppd-col\"\u003e\n\u003cdiv\u003e\n\u003ctable border=\"2\" class=\"aligncenter\" style=\"width: 287px; height: 302px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 40px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 40px; text-align: center;\"\u003e\u003cstrong\u003eMaterial\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 40px;\"\u003e\n\u003cp\u003eMetal, Fabric\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27px; text-align: center;\"\u003e\u003cstrong\u003eOverall\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27px;\"\u003e\n\u003cp\u003e10\" w x 28\" d x 14\" h\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27px; text-align: center;\"\u003e\u003cstrong\u003eShade\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27px;\"\u003e\n\u003cp\u003e10\" diam, 9\" h\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27px; text-align: center;\"\u003e\n\u003cp\u003e\u003cstrong\u003eBack Plate\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27px;\"\u003e6\" w x 5\" h \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27.6246px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27.6246px; text-align: center;\"\u003e\u003cstrong\u003eWattage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27.6246px;\"\u003e60 Watt Max \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27px; text-align: center;\"\u003e\u003cstrong\u003eBulb Base\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27px;\"\u003e‎E26(not included.)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27px; text-align: center;\"\u003e\u003cstrong\u003eNumber of Lights\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27px;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 27px;\"\u003e\n\u003ctd style=\"width: 243.254px; height: 27px; text-align: center;\"\u003e\u003cstrong\u003ePower Source\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 300.746px; height: 27px;\"\u003eHardwired\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: center;\"\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003chr class=\"ppd-divider\"\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003ch3 class=\"ppd-heading\"\u003eDetails\u003c\/h3\u003e\n\u003c\/section\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003cdiv class=\"ppd-grid-2\"\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"White fabric shade\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/a82dec85c1c7ab29.jpg\"\u003e\u003cfigcaption\u003eWhite fabric shade\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"Adjustable swing arm\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/8687c22435a3b760.jpg\"\u003e\u003cfigcaption\u003eAdjustable swing arm\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003chr class=\"ppd-divider\"\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003ch3 class=\"ppd-heading\"\u003eScene Matching\u003c\/h3\u003e\n\u003c\/section\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003cdiv class=\"ppd-carousel\" data-lg=\"3\" data-md=\"2\" data-sm=\"1\"\u003e\n\u003cdiv class=\"ppd-viewport\"\u003e\n\u003cdiv class=\"ppd-track\"\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/3fa77c1bf9b300e7.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/583f3f25fcaad5a7.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/8c1932e48e6627ed.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/a36dd115fbc40694.png\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/7ab448b586c1d012.png\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003chr class=\"ppd-divider\"\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003ch3 class=\"ppd-heading\"\u003eAvailable Choice\u003c\/h3\u003e\n\u003c\/section\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003cdiv class=\"ppd-grid-2\"\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"Vintage Brass\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/cb930e8542a7351d.jpg\"\u003e\u003cfigcaption\u003eVintage Brass\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"Bronze\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4136215\/ba26828002778aa8.jpg\"\u003e\u003cfigcaption\u003eBronze\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e\n(function(){\n  var root=document.getElementById('ppd-35715');\n  if(!root||root.dataset.ppdInit)return;\n  root.dataset.ppdInit='1';\n  var reduced=window.matchMedia\u0026\u0026window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  function initCarousel(el){\n    var track=el.querySelector('.ppd-track');\n    var slides=track.children.length;\n    var viewport=el.querySelector('.ppd-viewport');\n    var prev=document.createElement('button');\n    prev.type='button';prev.className='ppd-arrow ppd-arrow-prev';prev.setAttribute('aria-label','Previous slide');\n    prev.innerHTML='\u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M15 18l-6-6 6-6\"\/\u003e\u003c\/svg\u003e';\n    var next=prev.cloneNode(true);\n    next.className='ppd-arrow ppd-arrow-next';next.setAttribute('aria-label','Next slide');\n    next.querySelector('path').setAttribute('d','M9 6l6 6-6 6');\n    var dots=document.createElement('div');dots.className='ppd-dots';\n    el.appendChild(prev);el.appendChild(next);el.appendChild(dots);\n    var index=0,pv=1,pages=1,timer=null;\n    function perView(){\n      var w=window.innerWidth;\n      if(w\u003e=1025)return parseInt(el.dataset.lg,10)||4;\n      if(w\u003e=768)return parseInt(el.dataset.md,10)||2;\n      return parseInt(el.dataset.sm,10)||1;\n    }\n    function layout(){\n      pv=perView();\n      el.style.setProperty('--pv',pv);\n      pages=Math.max(1,Math.ceil(slides\/pv));\n      if(index\u003epages-1)index=pages-1;\n      dots.innerHTML='';\n      for(var i=0;i\u003cpages;i++){\n        var b=document.createElement('button');\n        b.type='button';b.setAttribute('aria-label','Go to slide '+(i+1));\n        (function(n){b.addEventListener('click',function(){go(n);restart();});})(i);\n        dots.appendChild(b);\n      }\n      var showNav=pages\u003e1;\n      prev.style.display=showNav?'':'none';\n      next.style.display=showNav?'':'none';\n      dots.style.display=showNav?'':'none';\n      go(index);\n    }\n    function go(n){\n      index=Math.max(0,Math.min(n,pages-1));\n      var slideW=viewport.clientWidth\/pv;\n      var offset=Math.min(index*pv,slides-pv);\n      track.style.transform='translate3d(-'+(offset*slideW)+'px,0,0)';\n      prev.disabled=index===0;\n      next.disabled=index===pages-1;\n      for(var i=0;i\u003cdots.children.length;i++)\n        dots.children[i].classList.toggle('is-active',i===index);\n    }\n    function restart(){\n      if(timer){clearInterval(timer);timer=null;}\n      if(reduced||pages\u003c2)return;\n      timer=setInterval(function(){go(index+1\u003epages-1?0:index+1);},5000);\n    }\n    prev.addEventListener('click',function(){go(index-1);restart();});\n    next.addEventListener('click',function(){go(index+1);restart();});\n    el.addEventListener('mouseenter',function(){if(timer){clearInterval(timer);timer=null;}});\n    el.addEventListener('mouseleave',restart);\n    el.addEventListener('touchstart',function(){if(timer){clearInterval(timer);timer=null;}},{passive:true});\n    var startX=0;\n    viewport.addEventListener('touchstart',function(e){startX=e.touches[0].clientX;},{passive:true});\n    viewport.addEventListener('touchend',function(e){\n      var dx=e.changedTouches[0].clientX-startX;\n      if(Math.abs(dx)\u003e40)go(index+(dx\u003c0?1:-1));\n      restart();\n    },{passive:true});\n    window.addEventListener('resize',layout);\n    layout();restart();\n  }\n\n  var carousels=root.querySelectorAll('.ppd-carousel');\n  for(var i=0;i\u003ccarousels.length;i++)initCarousel(carousels[i]);\n\n  var videos=root.querySelectorAll('.ppd-video');\n  for(var v=0;v\u003cvideos.length;v++){\n    (function(btn){\n      btn.addEventListener('click',function(){\n        if(btn.dataset.loaded)return;\n        btn.dataset.loaded='1';\n        var f=document.createElement('iframe');\n        f.src=btn.dataset.src;\n        f.allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';\n        f.allowFullscreen=true;\n        btn.innerHTML='';btn.appendChild(f);btn.style.cursor='default';\n      });\n    })(videos[v]);\n  }\n\n  if(!reduced\u0026\u0026'IntersectionObserver' in window){\n    var io=new IntersectionObserver(function(entries){\n      entries.forEach(function(en){\n        if(en.isIntersecting){en.target.classList.add('is-visible');io.unobserve(en.target);}\n      });\n    },{threshold:.08});\n    var reveals=root.querySelectorAll('.ppd-reveal');\n    for(var j=0;j\u003creveals.length;j++)io.observe(reveals[j]);\n  }else{\n    var all=root.querySelectorAll('.ppd-reveal');\n    for(var k=0;k\u003call.length;k++)all[k].classList.add('is-visible');\n  }\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"FLOSSLO","offers":[{"title":"Vintage Brass","offer_id":48959642665216,"sku":"41994","price":239.0,"currency_code":"USD","in_stock":true},{"title":"Bronze","offer_id":48959642697984,"sku":"41995","price":239.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0831\/8291\/1744\/files\/87edb6cbe52ab6248dbdbf53cf12eddc.jpg?v=1783475642","url":"https:\/\/flosslo.com\/products\/lutyens-wabi-sabi-iron-swing-arm-fabric-wall-light","provider":"flosslo.com","version":"1.0","type":"link"}