{"product_id":"keir-french-luxury-retro-crystal-cage-chandelier","title":"Keir French Luxury Retro Crystal Cage Chandelier","description":"\u003cdiv class=\"ping-product-detail\" id=\"ppd-35340\"\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600\u0026display=swap');\n#ppd-35340{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-35340 *,#ppd-35340 *::before,#ppd-35340 *::after{box-sizing:border-box;}\n#ppd-35340 img{display:block;width:100%;height:auto;border-radius:0;}\n#ppd-35340 .ppd-section{margin:0 0 4px;}\n#ppd-35340 .ppd-divider{border:0;border-top:0.5px solid rgba(122,122,122,.48);margin:0;padding:10px 0;}\n#ppd-35340 h2.ppd-title,#ppd-35340 h3.ppd-heading{text-align:center;font-family:'Poppins',sans-serif;font-weight:600;color:#000;margin:0;line-height:1em;}\n#ppd-35340 h2.ppd-title{font-size:25px;letter-spacing:1px;padding:16px 0 12px;}\n#ppd-35340 h3.ppd-heading{font-size:24px;letter-spacing:1.6px;line-height:1.3;padding:14px 0 10px;}\n#ppd-35340 .ppd-sub{text-align:center;color:#707070;font-size:15px;letter-spacing:1px;line-height:2em;margin:0 0 12px;}\n#ppd-35340 .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-35340 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-35340 ul.ppd-bullets li{margin:0 0 4px;text-align:center;}\n#ppd-35340 ul.ppd-list{margin:0;padding:0 10px 0 26px;color:#000;font-size:14px;letter-spacing:1px;line-height:2em;}\n#ppd-35340 ul.ppd-list li{margin:0;}\n#ppd-35340 .ppd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}\n#ppd-35340 .ppd-grid-2+.ppd-grid-2{margin-top:20px;}\n#ppd-35340 .ppd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}\n#ppd-35340 .ppd-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}\n#ppd-35340 .ppd-grid-2.ppd-middle{align-items:center;}\n#ppd-35340 .ppd-spec{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;max-width:1100px;margin:0 auto;}\n#ppd-35340 .ppd-cols{display:grid;gap:24px;align-items:center;}\n#ppd-35340 .ppd-cols-2{grid-template-columns:1fr 1fr;}\n#ppd-35340 .ppd-cols-3{grid-template-columns:1fr 1fr 1fr;}\n#ppd-35340 .ppd-cols-4{grid-template-columns:repeat(4,1fr);}\n#ppd-35340 .ppd-col\u003e*+*{margin-top:14px;}\n#ppd-35340 .ppd-col h4{margin:0;font-size:16px;font-weight:600;letter-spacing:1px;}\n#ppd-35340 .ppd-spec-media\u003e*+*{margin-top:16px;}\n#ppd-35340 .ppd-spec table{width:100%;border-collapse:collapse;font-size:14px;letter-spacing:1px;}\n#ppd-35340 .ppd-spec table td,#ppd-35340 .ppd-spec table th{border:1px solid #e3e3e3;padding:10px 14px;text-align:left;vertical-align:top;}\n#ppd-35340 .ppd-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}\n#ppd-35340 .ppd-feature-col\u003e*{margin-bottom:16px;}\n#ppd-35340 .ppd-feature-col\u003e*:last-child{margin-bottom:0;}\n#ppd-35340 figure.ppd-figure{margin:0;}\n#ppd-35340 figure.ppd-figure figcaption{text-align:center;color:#707070;font-size:14px;letter-spacing:1px;padding-top:8px;}\n#ppd-35340 .ppd-hero-img{box-shadow:0 2px 14px rgba(0,0,0,.08);}\n#ppd-35340 .ppd-review{border:1px solid #eee;border-radius:8px;padding:16px;text-align:center;background:#fff;transition:box-shadow .25s,transform .25s;}\n#ppd-35340 .ppd-review:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}\n#ppd-35340 .ppd-stars{color:#f6a623;font-size:15px;letter-spacing:2px;margin-bottom:10px;}\n#ppd-35340 .ppd-review img{aspect-ratio:4\/5;object-fit:cover;width:100%;border-radius:4px;}\n#ppd-35340 .ppd-review h4{margin:12px 0 6px;font-size:15px;font-weight:600;color:#000;letter-spacing:1px;}\n#ppd-35340 .ppd-review p{margin:0;color:#707070;font-size:14px;letter-spacing:1px;line-height:1.8;}\n#ppd-35340 .ppd-card{display:block;text-decoration:none;color:inherit;}\n#ppd-35340 .ppd-card img{transition:transform .3s,box-shadow .3s;}\n#ppd-35340 .ppd-card:hover img{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12);}\n#ppd-35340 .ppd-card-label{text-align:center;font-size:14px;color:#707070;letter-spacing:1px;padding-top:8px;}\n#ppd-35340 .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-35340 .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-35340 .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-35340 .ppd-video:hover .ppd-play::before{transform:scale(1.08);}\n#ppd-35340 .ppd-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}\n#ppd-35340 .ppd-carousel{position:relative;--pv:4;}\n#ppd-35340 .ppd-viewport{overflow:hidden;}\n#ppd-35340 .ppd-track{display:flex;margin:0 -8px;transition:transform .45s ease;}\n#ppd-35340 .ppd-slide{flex:0 0 calc(100% \/ var(--pv));padding:0 8px;min-width:0;}\n#ppd-35340 .ppd-slide img+img{margin-top:16px;}\n#ppd-35340 .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-35340 .ppd-arrow:hover{background:#fff;}\n#ppd-35340 .ppd-arrow[disabled]{opacity:.35;cursor:default;}\n#ppd-35340 .ppd-arrow-prev{left:14px;}\n#ppd-35340 .ppd-arrow-next{right:14px;}\n#ppd-35340 .ppd-arrow svg{width:18px;height:18px;}\n#ppd-35340 .ppd-dots{display:flex;justify-content:center;gap:8px;padding:14px 0 0;}\n#ppd-35340 .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-35340 .ppd-dots button::before{content:none;}\n#ppd-35340 .ppd-dots button.is-active{background:#1c1c1c;transform:scale(1.15);}\n#ppd-35340 .ppd-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}\n#ppd-35340 .ppd-reveal.is-visible{opacity:1;transform:none;}\n@media (max-width:1024px){\n  #ppd-35340 h3.ppd-heading{font-size:22px;letter-spacing:2.5px;line-height:4em;}\n  #ppd-35340 .ppd-grid-4{grid-template-columns:repeat(2,1fr);}\n}\n@media (max-width:767px){\n  #ppd-35340{padding:8px 12px 28px;font-size:14px;line-height:1.9em;letter-spacing:1px;}\n  #ppd-35340 h2.ppd-title{font-size:20px;letter-spacing:1px;padding:12px 0 10px;}\n  #ppd-35340 h3.ppd-heading{font-size:20px;letter-spacing:2.1px;line-height:2.3em;}\n  #ppd-35340 ul.ppd-list{line-height:1.9em;font-size:13px;}\n  #ppd-35340 ul.ppd-bullets{text-align:left;padding:0 4px;}\n  #ppd-35340 ul.ppd-bullets li{padding-left:14px;text-indent:-14px;}\n  #ppd-35340 .ppd-grid-2,#ppd-35340 .ppd-grid-3,#ppd-35340 .ppd-grid-4,#ppd-35340 .ppd-spec,#ppd-35340 .ppd-feature,#ppd-35340 .ppd-cols-2,#ppd-35340 .ppd-cols-3,#ppd-35340 .ppd-cols-4{grid-template-columns:1fr;gap:16px;}\n  #ppd-35340 .ppd-divider{padding:8px 0;}\n  #ppd-35340 .ppd-arrow{width:32px;height:32px;}\n  #ppd-35340 .ppd-arrow-prev{left:8px;}\n  #ppd-35340 .ppd-arrow-next{right:8px;}\n}\n@media (min-width:1025px){\n  #ppd-35340 .ppd-hide-desktop{display:none !important;}\n}\n@media (min-width:768px) and (max-width:1024px){\n  #ppd-35340 .ppd-hide-tablet{display:none !important;}\n}\n@media (max-width:767px){\n  #ppd-35340 .ppd-hide-phone{display:none !important;}\n}\n@media (prefers-reduced-motion:reduce){\n  #ppd-35340 .ppd-track{transition:none;}\n  #ppd-35340 .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\"\u003eFrench Luxury Retro Crystal Cage Chandelier\u003c\/h2\u003e\n\u003cp class=\"ppd-intro\" style=\"text-align: center;\"\u003eAdd a touch of timeless elegance to your home with this vintage-inspired crystal chandelier. Featuring an ornate openwork frame finished in rich antique gold, this chandelier is adorned with sparkling crystal accents that catch and reflect the light beautifully. The graceful, lantern-like silhouette and delicate detailing create a luxurious and inviting ambiance, perfect for dining rooms, foyers, or living spaces seeking a sophisticated focal point.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003chr class=\"ppd-divider\"\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\/4135997\/7ee18bc6350db585.jpg\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ppd-col\"\u003e\n\u003cdiv\u003e\u003cul class=\"ppd-list\"\u003e\n\u003cli\u003eMaterial: Metal, Crystal\u003c\/li\u003e\n\u003cli\u003eSize: Dia36cm*52cm\u003c\/li\u003e\n\u003cli\u003eLight source: E14(Not Included)\u003c\/li\u003e\n\u003cli\u003eNumber of Lights: 3\u003c\/li\u003e\n\u003cli\u003ePower Source: Hardwired\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\"\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=\"Sparkling Crystal\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/42cf6c71041c2cd4.jpg\"\u003e\u003cfigcaption\u003eSparkling Crystal\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003cfigure class=\"ppd-figure\"\u003e\u003cimg alt=\"Antique Gold\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/6166de0814a563f2.jpg\"\u003e\u003cfigcaption\u003eAntique Gold\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-grid-3\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/41f22120096f46ad.jpg\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/379d45451f7b3a9a.jpg\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/bd58f1cf797669c9.jpg\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/1858f77db8b500b9.jpg\"\u003e\n\u003cimg alt=\"\" loading=\"lazy\" src=\"https:\/\/cdn.freepicturecdn.com\/blockandreview\/product-body-html\/4135997\/2f81fa0dd19635e4.jpg\"\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"ppd-section ppd-reveal\"\u003e\n\u003ch3 class=\"ppd-heading\"\u003eShow you the details\u003c\/h3\u003e\n\u003cdiv\u003e\n\u003cbutton aria-label=\"Play product video 1\" class=\"ppd-video\" data-src=\"https:\/\/vidtags.net\/video-link\/Refp5rvvSrvnv2\" type=\"button\"\u003e\n\u003cspan class=\"ppd-play\"\u003eWatch video\u003c\/span\u003e\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003chr class=\"ppd-divider\"\u003e\n\u003cscript\u003e\n(function(){\n  var root=document.getElementById('ppd-35340');\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":"Default Title","offer_id":48956010299648,"sku":null,"price":339.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0831\/8291\/1744\/files\/feeb6abad10432f2532d1f5a4bf3e98d.jpg?v=1783419614","url":"https:\/\/flosslo.com\/products\/keir-french-luxury-retro-crystal-cage-chandelier","provider":"flosslo.com","version":"1.0","type":"link"}