{"product_id":"woven-geometric-shade-table-lamp","title":"Woven Geometric Shade Table Lamp","description":"\u003cdiv class=\"flv2 flv2--balanced\" data-v2-layout=\"balanced\" data-v2-schema=\"2\" data-v2-locale=\"en\"\u003e     \u003cstyle data-v2-styles\u003e     .flv2{--flv2-ink:#18211d;--flv2-muted:#5f6863;--flv2-line:#d8ddda;--flv2-paper:#fff;--flv2-soft:#f3f5f4;--flv2-accent:#27634b;color:var(--flv2-ink);background:var(--flv2-paper);font-family:inherit;line-height:1.55;letter-spacing:0;width:100%;overflow:hidden}     .flv2--balanced{--flv2-columns:1fr 1fr;--flv2-module-pad:clamp(28px,4.5vw,64px);--flv2-gap:32px;--flv2-media-ratio:4\/3}     .flv2,.flv2 *{box-sizing:border-box;min-width:0}     .flv2-module{width:100%;margin:0;padding:var(--flv2-module-pad) max(20px,calc((100% - 1200px)\/2));background:var(--flv2-paper);border-bottom:1px solid var(--flv2-line)}     .flv2-module:nth-of-type(2){background:var(--flv2-soft)}     .flv2-grid{display:grid;grid-template-columns:var(--flv2-columns);gap:var(--flv2-gap);align-items:center}     .flv2-grid--copy-media{grid-template-areas:\"copy media\"}     .flv2-grid--media-copy{grid-template-areas:\"media copy\"}     .flv2-grid--table-media{grid-template-areas:\"table media\"}     .flv2-grid--media-table{grid-template-areas:\"media table\"}     .flv2-copy{grid-area:copy;display:grid;align-content:center;gap:14px;max-width:520px;margin-inline:auto}     .flv2 h2,.flv2-body,.flv2-eyebrow,.flv2-spec-row dt,.flv2-spec-row dd{overflow-wrap:anywhere;word-break:normal;hyphens:auto}     .flv2-eyebrow{margin:0;color:var(--flv2-accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}     .flv2 h2{margin:0;font-size:38px;line-height:1.16;letter-spacing:0}     .flv2-body{margin:0;color:var(--flv2-muted);font-size:16px;line-height:1.65}     .flv2-media-column{grid-area:media;width:100%;min-width:0}     .flv2-carousel{position:relative;width:100%}     .flv2-track{display:flex;align-items:flex-start;width:100%;overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}     .flv2-track::-webkit-scrollbar{display:none}     .flv2-slide{flex:0 0 100%;scroll-snap-align:start}     .flv2-media{position:relative;width:100%;aspect-ratio:4\/3;aspect-ratio:var(--flv2-media-ratio);margin:0;overflow:hidden;background:var(--flv2-paper)}     .flv2 img{display:block;width:100%;max-width:100%;height:100%;max-height:100%;border:0}     .flv2-media--contain img{object-fit:contain}     .flv2-media--cover img{object-fit:cover}     .flv2-arrow-layer{position:absolute;inset:0 0 auto;z-index:2;width:100%;aspect-ratio:4\/3;aspect-ratio:var(--flv2-media-ratio);pointer-events:none}     .flv2-arrow{position:absolute;top:50%;z-index:2;width:40px;height:40px;margin:0;padding:0;border:1px solid var(--flv2-line);border-radius:50%;background:rgba(255,255,255,.94);color:var(--flv2-ink);font-size:19px;line-height:1;cursor:pointer;pointer-events:auto}     .flv2-arrow--previous{left:12px}.flv2-arrow--next{right:12px}     .flv2-dots{display:flex;align-items:center;justify-content:center;gap:2px;min-height:24px;padding-top:12px}     .flv2-dot{position:relative;display:block;width:24px;height:24px;margin:0;padding:0;border:0;background:transparent;cursor:pointer}     .flv2-dot::before{content:\"\";position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:#aeb6b1;transform:translate(-50%,-50%)}     .flv2-dot.is-active::before{width:10px;height:10px;background:var(--flv2-ink)}     .flv2-dot:focus-visible{outline:2px solid var(--flv2-accent);outline-offset:0}     .flv2-parameter-grid{align-items:stretch}     .flv2-parameter-panel,.flv2-sku-panel{height:100%}     .flv2-parameter-panel{grid-area:table}     .flv2-sku-panel{grid-area:media;display:flex;flex-direction:column;width:100%;min-width:0}     .flv2-spec-copy{grid-area:table;display:grid;gap:14px}     .flv2-spec-list{margin:4px 0 0;border-top:1px solid var(--flv2-line)}     .flv2-spec-row{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--flv2-line)}     .flv2-spec-row dt{font-weight:700}.flv2-spec-row dd{margin:0;color:var(--flv2-muted)}     .flv2-sku-figure{margin:0}     .flv2-sku-caption-list{display:grid;gap:0;margin:0;border-top:1px solid var(--flv2-line)}     .flv2-sku-caption{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid var(--flv2-line)}     .flv2-sku-caption strong,.flv2-sku-caption span{overflow-wrap:anywhere;word-break:normal;hyphens:auto}     .flv2-sku-caption span{color:var(--flv2-muted)}     @media(max-width:1024px){.flv2{--flv2-gap:20px}.flv2-module{padding:32px 20px}.flv2-grid{grid-template-columns:1fr;align-items:start}.flv2-grid--copy-media,.flv2-grid--media-copy{grid-template-areas:\"copy\" \"media\"}.flv2-grid--table-media,.flv2-grid--media-table{grid-template-areas:\"table\" \"media\"}.flv2-parameter-panel,.flv2-sku-panel{height:auto}.flv2-copy{max-width:none;margin:0}.flv2-arrow-layer{aspect-ratio:1\/1}.flv2-arrow{display:none}.flv2-track{overflow-x:auto}.flv2-media{aspect-ratio:1\/1}.flv2 h2{font-size:30px}}     @media(max-width:520px){.flv2-module{padding:24px 16px}.flv2 h2{font-size:26px}.flv2-body{font-size:15px}.flv2-spec-row{grid-template-columns:1fr;gap:4px;padding:11px 0}}   \u003c\/style\u003e     \u003csection class=\"flv2-module flv2-detail\" data-v2-module=\"detail_display\"\u003e       \u003cdiv class=\"flv2-grid flv2-grid--copy-media\"\u003e         \u003cdiv class=\"flv2-copy\"\u003e       \u003cp class=\"flv2-eyebrow\"\u003eVisible craft\u003c\/p\u003e       \u003ch2\u003eTexture in every line\u003c\/h2\u003e       \u003cp class=\"flv2-body\"\u003eA crisp geometric weave, wrapped shade edge, curved iron stem and grounded round base bring tactile character to a compact silhouette.\u003c\/p\u003e     \u003c\/div\u003e         \u003cdiv class=\"flv2-media-column\"\u003e\u003cdiv class=\"flv2-carousel\" data-v2-carousel aria-label=\"Texture in every line\"\u003e       \u003cdiv class=\"flv2-track\"\u003e\n\u003cfigure class=\"flv2-slide flv2-media flv2-media--contain\" data-v2-slide\u003e           \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/ebfc7296d5a678d266931e0369fcd5b4.jpg\" alt=\"Texture in every line\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e         \u003c\/figure\u003e\u003cfigure class=\"flv2-slide flv2-media flv2-media--contain\" data-v2-slide\u003e           \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/75e4c85d42cf2281003a9188d6954a15.jpg\" alt=\"Texture in every line\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e         \u003c\/figure\u003e\u003cfigure class=\"flv2-slide flv2-media flv2-media--contain\" data-v2-slide\u003e           \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/f1f7fbeff132cc1726d2563dcd1dd065.jpg\" alt=\"Texture in every line\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e         \u003c\/figure\u003e\n\u003c\/div\u003e       \u003cdiv class=\"flv2-arrow-layer\"\u003e         \u003cbutton class=\"flv2-arrow flv2-arrow--previous\" type=\"button\" data-v2-arrow=\"previous\" aria-label=\"Previous image\"\u003e←\u003c\/button\u003e         \u003cbutton class=\"flv2-arrow flv2-arrow--next\" type=\"button\" data-v2-arrow=\"next\" aria-label=\"Next image\"\u003e→\u003c\/button\u003e       \u003c\/div\u003e       \u003cdiv class=\"flv2-dots\"\u003e\n\u003cbutton class=\"flv2-dot is-active\" type=\"button\" data-v2-dot aria-label=\"Texture in every line 1 \/ 3\" aria-current=\"true\"\u003e\u003c\/button\u003e\u003cbutton class=\"flv2-dot\" type=\"button\" data-v2-dot aria-label=\"Texture in every line 2 \/ 3\" aria-current=\"false\"\u003e\u003c\/button\u003e\u003cbutton class=\"flv2-dot\" type=\"button\" data-v2-dot aria-label=\"Texture in every line 3 \/ 3\" aria-current=\"false\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e     \u003c\/div\u003e\u003c\/div\u003e       \u003c\/div\u003e     \u003c\/section\u003e     \u003csection class=\"flv2-module flv2-story\" data-v2-module=\"story_inspiration\"\u003e       \u003cdiv class=\"flv2-grid flv2-grid--media-copy\"\u003e         \u003cdiv class=\"flv2-copy\"\u003e       \u003cp class=\"flv2-eyebrow\"\u003eRoom inspiration\u003c\/p\u003e       \u003ch2\u003eA warmer corner\u003c\/h2\u003e       \u003cp class=\"flv2-body\"\u003eSoft pattern and a focused pool of light make this lamp an inviting companion for a nightstand, side table or reading desk.\u003c\/p\u003e     \u003c\/div\u003e         \u003cdiv class=\"flv2-media-column\"\u003e\u003cdiv class=\"flv2-carousel\" data-v2-carousel aria-label=\"A warmer corner\"\u003e       \u003cdiv class=\"flv2-track\"\u003e\n\u003cfigure class=\"flv2-slide flv2-media flv2-media--cover\" data-v2-slide\u003e           \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/c5f8d9aa70ce5ebb0330f4bb4608ac0d.jpg\" alt=\"A warmer corner\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e         \u003c\/figure\u003e\u003cfigure class=\"flv2-slide flv2-media flv2-media--cover\" data-v2-slide\u003e           \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/c80fca27fcc4d7622b1fcc6f619216db.jpg\" alt=\"A warmer corner\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e         \u003c\/figure\u003e\u003cfigure class=\"flv2-slide flv2-media flv2-media--cover\" data-v2-slide\u003e           \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/7eb9f7c55649ae6b846889fd9fe52a15.jpg\" alt=\"A warmer corner\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e         \u003c\/figure\u003e\n\u003c\/div\u003e       \u003cdiv class=\"flv2-arrow-layer\"\u003e         \u003cbutton class=\"flv2-arrow flv2-arrow--previous\" type=\"button\" data-v2-arrow=\"previous\" aria-label=\"Previous image\"\u003e←\u003c\/button\u003e         \u003cbutton class=\"flv2-arrow flv2-arrow--next\" type=\"button\" data-v2-arrow=\"next\" aria-label=\"Next image\"\u003e→\u003c\/button\u003e       \u003c\/div\u003e       \u003cdiv class=\"flv2-dots\"\u003e\n\u003cbutton class=\"flv2-dot is-active\" type=\"button\" data-v2-dot aria-label=\"A warmer corner 1 \/ 3\" aria-current=\"true\"\u003e\u003c\/button\u003e\u003cbutton class=\"flv2-dot\" type=\"button\" data-v2-dot aria-label=\"A warmer corner 2 \/ 3\" aria-current=\"false\"\u003e\u003c\/button\u003e\u003cbutton class=\"flv2-dot\" type=\"button\" data-v2-dot aria-label=\"A warmer corner 3 \/ 3\" aria-current=\"false\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e     \u003c\/div\u003e\u003c\/div\u003e       \u003c\/div\u003e     \u003c\/section\u003e     \u003csection class=\"flv2-module flv2-parameters\" data-v2-module=\"parameter_details\"\u003e       \u003cdiv class=\"flv2-grid flv2-grid--table-media flv2-parameter-grid\"\u003e         \u003cdiv class=\"flv2-parameter-panel\"\u003e           \u003cdiv class=\"flv2-spec-copy\"\u003e             \u003cp class=\"flv2-eyebrow\"\u003eProduct details\u003c\/p\u003e             \u003ch2\u003eProduct details\u003c\/h2\u003e             \u003cdl class=\"flv2-spec-list\"\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003eMaterials\u003c\/dt\u003e\n\u003cdd\u003eIron frame; woven shade\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003eDimensions\u003c\/dt\u003e\n\u003cdd\u003eDiameter (Ø) × Height (H): 23 cm × 31 cm \/ 9.06 in × 12.20 in\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003eSocket\u003c\/dt\u003e\n\u003cdd\u003eE27\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003eVoltage\u003c\/dt\u003e\n\u003cdd\u003e111-240V\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003ePower\u003c\/dt\u003e\n\u003cdd\u003eCorded electric\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003eBulb\u003c\/dt\u003e\n\u003cdd\u003eNot included\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003ePlacement\u003c\/dt\u003e\n\u003cdd\u003eBedroom, living room, study or reading corner\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-common-row\u003e\n\u003cdt\u003eCare\u003c\/dt\u003e\n\u003cdd\u003eSwitch off and dust gently with a soft, dry cloth\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flv2-spec-row\" data-v2-sku-row=\"woven-black\"\u003e\n\u003cdt\u003eWoven Geometric Shade Table Lamp\u003c\/dt\u003e\n\u003cdd\u003eNordic Natural; Black; Handwoven Shade\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003c\/dl\u003e           \u003c\/div\u003e         \u003c\/div\u003e         \u003cdiv class=\"flv2-sku-panel\"\u003e           \u003cdiv class=\"flv2-media-column flv2-sku-media\"\u003e\u003cdiv class=\"flv2-single-media\" aria-label=\"Product details\"\u003e         \u003cfigure class=\"flv2-slide flv2-sku-figure\" data-v2-slide data-v2-sku-image=\"sku-1\"\u003e       \u003cdiv class=\"flv2-media flv2-media--contain\"\u003e         \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/20\/f6bc8ebf79e8c5a5ef4a08fe074c09cf.jpg\" alt=\"Woven Geometric Shade Table Lamp\" width=\"1254\" height=\"1254\" loading=\"lazy\" style=\"object-position:50% 50%\"\u003e       \u003c\/div\u003e            \u003c\/figure\u003e       \u003c\/div\u003e\u003c\/div\u003e         \u003c\/div\u003e       \u003c\/div\u003e     \u003c\/section\u003e     \u003cscript\u003e     (()=\u003e{document.querySelectorAll('.flv2-carousel').forEach((carousel)=\u003e{const track=carousel.querySelector('.flv2-track');const slides=[...track.children];const dots=[...carousel.querySelectorAll('.flv2-dot')];let active=0;let navigating=false;let targetIndex=0;let navigationFromIndex=0;let settleTimer=0;let frame=0;let resizeObserver=null;let observedSlide=null;const normalize=(index)=\u003e(index+slides.length)%slides.length;const syncHeight=()=\u003e{const height=navigating?Math.max(slides[navigationFromIndex].scrollHeight,slides[targetIndex].scrollHeight):slides[active].scrollHeight;track.style.height=height+'px'};const observeActive=()=\u003e{if(!resizeObserver)return;if(observedSlide)resizeObserver.unobserve(observedSlide);observedSlide=slides[active];resizeObserver.observe(observedSlide)};const setActive=(index,sync=true)=\u003e{active=normalize(index);dots.forEach((dot,dotIndex)=\u003e{const selected=dotIndex===active;dot.classList.toggle('is-active',selected);dot.setAttribute('aria-current',selected?'true':'false')});observeActive();if(sync)syncHeight()};const finishNavigation=()=\u003e{if(!navigating)return;navigating=false;clearTimeout(settleTimer);settleTimer=0;syncHeight()};const scheduleSettle=()=\u003e{clearTimeout(settleTimer);settleTimer=setTimeout(finishNavigation,160)};const go=(index)=\u003e{navigationFromIndex=active;targetIndex=normalize(index);navigating=true;setActive(targetIndex,false);syncHeight();track.scrollTo({left:track.clientWidth*targetIndex,behavior:'smooth'});scheduleSettle()};carousel.querySelector('.flv2-arrow--previous').addEventListener('click',()=\u003ego(active-1));carousel.querySelector('.flv2-arrow--next').addEventListener('click',()=\u003ego(active+1));dots.forEach((dot,index)=\u003edot.addEventListener('click',()=\u003ego(index)));track.addEventListener('scroll',()=\u003e{cancelAnimationFrame(frame);frame=requestAnimationFrame(()=\u003e{if(navigating){scheduleSettle();return}setActive(Math.round(track.scrollLeft\/Math.max(track.clientWidth,1)))})},{passive:true});track.addEventListener('scrollend',finishNavigation);const fallbackResize=()=\u003esyncHeight();if(typeof ResizeObserver==='function'){resizeObserver=new ResizeObserver(()=\u003esyncHeight())}else{window.addEventListener('resize',fallbackResize,{passive:true})}setActive(0);document.fonts?.ready.then(syncHeight)})})();   \u003c\/script\u003e   \u003c\/div\u003e","brand":"monulo","offers":[{"title":"Nordic Natural \/ Black \/ Handwoven Shade","offer_id":48069028577438,"sku":"TBCODEX06-1007189","price":249.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0680\/6349\/4302\/files\/a3f5a7d21e4952efd1f64d0167e038cb.jpg?v=1785485694","url":"https:\/\/www.monulo.com\/products\/woven-geometric-shade-table-lamp","provider":"Monulo","version":"1.0","type":"link"}