{"product_id":"byronn-360rotation-ceiling-rail-for-light","title":"Byronn 360 Degree Rotation Ceiling Rail For Light","description":"\u003cdiv class=\"ping-product-detail\" id=\"ppd-34841\"\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600\u0026display=swap');\n#ppd-34841{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-34841 *,#ppd-34841 *::before,#ppd-34841 *::after{box-sizing:border-box;}\n#ppd-34841 img{display:block;width:100%;height:auto;border-radius:0;}\n#ppd-34841 .ppd-section{margin:0 0 4px;}\n#ppd-34841 .ppd-divider{border:0;border-top:0.5px solid rgba(122,122,122,.48);margin:0;padding:10px 0;}\n#ppd-34841 h2.ppd-title,#ppd-34841 h3.ppd-heading{text-align:center;font-family:'Poppins',sans-serif;font-weight:600;color:#000;margin:0;line-height:1em;}\n#ppd-34841 h2.ppd-title{font-size:25px;letter-spacing:1px;padding:16px 0 12px;}\n#ppd-34841 h3.ppd-heading{font-size:24px;letter-spacing:1.6px;line-height:1.3;padding:14px 0 10px;}\n#ppd-34841 .ppd-sub{text-align:center;color:#707070;font-size:15px;letter-spacing:1px;line-height:2em;margin:0 0 12px;}\n#ppd-34841 .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-34841 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-34841 ul.ppd-bullets li{margin:0 0 4px;text-align:center;}\n#ppd-34841 ul.ppd-list{margin:0;padding:0 10px 0 26px;color:#000;font-size:14px;letter-spacing:1px;line-height:2em;}\n#ppd-34841 ul.ppd-list li{margin:0;}\n#ppd-34841 .ppd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}\n#ppd-34841 .ppd-grid-2+.ppd-grid-2{margin-top:20px;}\n#ppd-34841 .ppd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}\n#ppd-34841 .ppd-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}\n#ppd-34841 .ppd-grid-2.ppd-middle{align-items:center;}\n#ppd-34841 .ppd-spec{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;max-width:1100px;margin:0 auto;}\n#ppd-34841 .ppd-cols{display:grid;gap:24px;align-items:center;}\n#ppd-34841 .ppd-cols-2{grid-template-columns:1fr 1fr;}\n#ppd-34841 .ppd-cols-3{grid-template-columns:1fr 1fr 1fr;}\n#ppd-34841 .ppd-cols-4{grid-template-columns:repeat(4,1fr);}\n#ppd-34841 .ppd-col\u003e*+*{margin-top:14px;}\n#ppd-34841 .ppd-col h4{margin:0;font-size:16px;font-weight:600;letter-spacing:1px;}\n#ppd-34841 .ppd-spec-media\u003e*+*{margin-top:16px;}\n#ppd-34841 .ppd-spec table{width:100%;border-collapse:collapse;font-size:14px;letter-spacing:1px;}\n#ppd-34841 .ppd-spec table td,#ppd-34841 .ppd-spec table th{border:1px solid #e3e3e3;padding:10px 14px;text-align:left;vertical-align:top;}\n#ppd-34841 .ppd-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}\n#ppd-34841 .ppd-feature-col\u003e*{margin-bottom:16px;}\n#ppd-34841 .ppd-feature-col\u003e*:last-child{margin-bottom:0;}\n#ppd-34841 figure.ppd-figure{margin:0;}\n#ppd-34841 figure.ppd-figure figcaption{text-align:center;color:#707070;font-size:14px;letter-spacing:1px;padding-top:8px;}\n#ppd-34841 .ppd-hero-img{box-shadow:0 2px 14px rgba(0,0,0,.08);}\n#ppd-34841 .ppd-review{border:1px solid #eee;border-radius:8px;padding:16px;text-align:center;background:#fff;transition:box-shadow .25s,transform .25s;}\n#ppd-34841 .ppd-review:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}\n#ppd-34841 .ppd-stars{color:#f6a623;font-size:15px;letter-spacing:2px;margin-bottom:10px;}\n#ppd-34841 .ppd-review img{aspect-ratio:4\/5;object-fit:cover;width:100%;border-radius:4px;}\n#ppd-34841 .ppd-review h4{margin:12px 0 6px;font-size:15px;font-weight:600;color:#000;letter-spacing:1px;}\n#ppd-34841 .ppd-review p{margin:0;color:#707070;font-size:14px;letter-spacing:1px;line-height:1.8;}\n#ppd-34841 .ppd-card{display:block;text-decoration:none;color:inherit;}\n#ppd-34841 .ppd-card img{transition:transform .3s,box-shadow .3s;}\n#ppd-34841 .ppd-card:hover img{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12);}\n#ppd-34841 .ppd-card-label{text-align:center;font-size:14px;color:#707070;letter-spacing:1px;padding-top:8px;}\n#ppd-34841 .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-34841 .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-34841 .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-34841 .ppd-video:hover .ppd-play::before{transform:scale(1.08);}\n#ppd-34841 .ppd-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}\n#ppd-34841 .ppd-carousel{position:relative;--pv:4;}\n#ppd-34841 .ppd-viewport{overflow:hidden;}\n#ppd-34841 .ppd-track{display:flex;margin:0 -8px;transition:transform .45s ease;}\n#ppd-34841 .ppd-slide{flex:0 0 calc(100% \/ var(--pv));padding:0 8px;min-width:0;}\n#ppd-34841 .ppd-slide img+img{margin-top:16px;}\n#ppd-34841 .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-34841 .ppd-arrow:hover{background:#fff;}\n#ppd-34841 .ppd-arrow[disabled]{opacity:.35;cursor:default;}\n#ppd-34841 .ppd-arrow-prev{left:14px;}\n#ppd-34841 .ppd-arrow-next{right:14px;}\n#ppd-34841 .ppd-arrow svg{width:18px;height:18px;}\n#ppd-34841 .ppd-dots{display:flex;justify-content:center;gap:8px;padding:14px 0 0;}\n#ppd-34841 .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-34841 .ppd-dots button::before{content:none;}\n#ppd-34841 .ppd-dots button.is-active{background:#1c1c1c;transform:scale(1.15);}\n#ppd-34841 .ppd-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}\n#ppd-34841 .ppd-reveal.is-visible{opacity:1;transform:none;}\n@media (max-width:1024px){\n  #ppd-34841 h3.ppd-heading{font-size:22px;letter-spacing:2.5px;line-height:4em;}\n  #ppd-34841 .ppd-grid-4{grid-template-columns:repeat(2,1fr);}\n}\n@media (max-width:767px){\n  #ppd-34841{padding:8px 12px 28px;font-size:14px;line-height:1.9em;letter-spacing:1px;}\n  #ppd-34841 h2.ppd-title{font-size:20px;letter-spacing:1px;padding:12px 0 10px;}\n  #ppd-34841 h3.ppd-heading{font-size:20px;letter-spacing:2.1px;line-height:2.3em;}\n  #ppd-34841 ul.ppd-list{line-height:1.9em;font-size:13px;}\n  #ppd-34841 ul.ppd-bullets{text-align:left;padding:0 4px;}\n  #ppd-34841 ul.ppd-bullets li{padding-left:14px;text-indent:-14px;}\n  #ppd-34841 .ppd-grid-2,#ppd-34841 .ppd-grid-3,#ppd-34841 .ppd-grid-4,#ppd-34841 .ppd-spec,#ppd-34841 .ppd-feature,#ppd-34841 .ppd-cols-2,#ppd-34841 .ppd-cols-3,#ppd-34841 .ppd-cols-4{grid-template-columns:1fr;gap:16px;}\n  #ppd-34841 .ppd-divider{padding:8px 0;}\n  #ppd-34841 .ppd-arrow{width:32px;height:32px;}\n  #ppd-34841 .ppd-arrow-prev{left:8px;}\n  #ppd-34841 .ppd-arrow-next{right:8px;}\n}\n@media (min-width:1025px){\n  #ppd-34841 .ppd-hide-desktop{display:none !important;}\n}\n@media (min-width:768px) and (max-width:1024px){\n  #ppd-34841 .ppd-hide-tablet{display:none !important;}\n}\n@media (max-width:767px){\n  #ppd-34841 .ppd-hide-phone{display:none !important;}\n}\n@media (prefers-reduced-motion:reduce){\n  #ppd-34841 .ppd-track{transition:none;}\n  #ppd-34841 .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\"\u003e360 Degree Rotation Ceiling Rail For Light\u003c\/h2\u003e\n\u003cp class=\"ppd-intro\"\u003eExperience 360° lighting flexibility with our Ceiling Rail For Light. This innovative rail system allows your interior chandelier to rotate seamlessly. Easy installation and versatile design make it perfect for minimalist, modern, or retro decor.\u003c\/p\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=\"360° rotatable\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/e3b9a613b3e1584b.jpg\"\u003e\u003cfigcaption\u003e360° rotatable\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"Comparison chart\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/a4b343138ff89d1a.jpg\"\u003e\u003cfigcaption\u003eComparison chart\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\"\u003eDetails\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\/4135705\/bf60b02feebecd28.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/6967080b810f830e.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/4377ff20e16a2c0c.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/b2303be6beee9c67.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/62707c37f41ce281.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/d8facce89355d1e5.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\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=\"Connect ceiling wire\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/dc208d3fe1d11d16.jpg\"\u003e\u003cfigcaption\u003eConnect ceiling wire\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"Snap into wire trough\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/1531ef02c07e2779.jpg\"\u003e\u003cfigcaption\u003eSnap into wire trough\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\"\u003eSizes \u0026amp; Materials\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\/4135705\/f62bd790fe8cbcc4.jpg\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ppd-col\"\u003e\n\u003cdiv\u003e\u003cul class=\"ppd-list\"\u003e\n\u003cli\u003eMaterial: metal\u003c\/li\u003e\n\u003cli\u003eProduct Dimensions: 90 x 3 x 5 cm\u003c\/li\u003e\n\u003cli\u003eSwitch Installation Type: Montage au plafond\u003c\/li\u003e\n\u003cli\u003eThis lamp is 90cm long, please confirm whether the lamp size is suitable for you. This product only has a sliding rod, not a lamp.\u003c\/li\u003e\n\u003c\/ul\u003e\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\"\u003eProduct Feature\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\/4135705\/12a0949a277a0c7c.jpg\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ppd-col\"\u003e\n\u003cdiv\u003e\u003cul class=\"ppd-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFull-Track Sliding for Precise Placement\u003c\/strong\u003e – The lighting fixture glides freely along the entire track, offering up to 99 cm of sliding range for exact positioning where light is needed most.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e360° Flexible Rotation \u0026amp; Direction Control\u003c\/strong\u003e – Easily adjust the light angle in any direction with a 360° swivel capability, ensuring optimal illumination for any setup or decor change.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eModular \u0026amp; Tool-Free Expandability\u003c\/strong\u003e – The system supports adding multiple pendant lights effortlessly, allowing for future layout changes or expansions without the need for drilling or special tools.\u003c\/li\u003e\n\u003c\/ul\u003e\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\"\u003eOur Adjustable Track Advantage\u003c\/h3\u003e\n\u003c\/section\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/a07a13d24af55524.jpg\"\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\/4135705\/6983c510e1ca7e2d.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/b5ef44153279a5df.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/1e92690c343c76d4.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/b2590b33f45325d9.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/7471b5d41e6abf4e.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/9066f521f240b34f.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/afbdaae7cc7d526b.jpg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"ppd-slide\"\u003e\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/7e8e1596986486fc.jpg\"\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=\"Black\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/72bd85ef95331bfd.jpg\"\u003e\u003cfigcaption\u003eBlack\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"White\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135705\/512c11d5c38e407d.jpg\"\u003e\u003cfigcaption\u003eWhite\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-34841');\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":"Black","offer_id":48955356578048,"sku":"39470","price":109.0,"currency_code":"USD","in_stock":true},{"title":"White","offer_id":48955356610816,"sku":"39471","price":109.0,"currency_code":"USD","in_stock":true},{"title":"Accessories-black","offer_id":48955356643584,"sku":"40960","price":20.0,"currency_code":"USD","in_stock":true},{"title":"Accessories-white","offer_id":48955356676352,"sku":"40961","price":20.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0831\/8291\/1744\/files\/93f64fffda0351aa397067f2794b1a09.jpg?v=1783417706","url":"https:\/\/flosslo.com\/products\/byronn-360rotation-ceiling-rail-for-light","provider":"flosslo.com","version":"1.0","type":"link"}