{"product_id":"vintage-fabric-wall-sconce","title":"Vintage Fabric Wall Sconce","description":"\u003cstyle\u003e     .yc-detail {       --yc-ink: #20201d;       --yc-muted: #6f6a61;       --yc-line: #ded7cb;       --yc-paper: #fbfaf7;       --yc-warm: #8a5c2c;       color: var(--yc-ink);       font-family: Arial, Helvetica, sans-serif;       line-height: 1.55;       max-width: 1180px;       margin: 0 auto;       padding: 18px 14px 34px;       background: #fff;       box-sizing: border-box;     }     .yc-detail * { box-sizing: border-box; }     .yc-block {       border-top: 1px solid var(--yc-line);       padding: 30px 0;     }     .yc-block:first-of-type { border-top: 0; }     .yc-eyebrow {       color: var(--yc-warm);       font-size: 12px;       font-weight: 700;       letter-spacing: 0;       margin: 0 0 8px;       text-transform: uppercase;     }     .yc-title {       font-size: 28px;       line-height: 1.18;       margin: 0 0 10px;       font-weight: 700;     }     .yc-copy {       color: var(--yc-muted);       font-size: 15px;       margin: 0 0 18px;       max-width: 660px;     }     .yc-slider {       display: grid;       grid-template-columns: 42px minmax(0, 1fr) 42px;       gap: 10px;       align-items: center;     }     .yc-track {       display: grid;       grid-auto-flow: column;       grid-auto-columns: 100%;       overflow-x: auto;       scroll-snap-type: x mandatory;       scrollbar-width: none;       border: 1px solid var(--yc-line);       background: var(--yc-paper);     }     .yc-track::-webkit-scrollbar { display: none; }     .yc-slide {       scroll-snap-align: start;       min-width: 0;       margin: 0;     }     .yc-slide img,     .yc-story img {       display: block;       width: 100%;       aspect-ratio: 1 \/ 1;       object-fit: cover;     }     .yc-detail-intro {       max-width: 760px;     }     .yc-detail-slider {       grid-template-columns: 40px minmax(0, 760px) 40px;       justify-content: center;       margin-top: 18px;     }     .yc-detail-track {       background: #fff;     }     .yc-detail-track .yc-slide {       display: grid;       grid-template-columns: minmax(0, 0.92fr) minmax(220px, 0.58fr);       align-items: stretch;       background: var(--yc-paper);     }     .yc-detail-track .yc-slide img {       aspect-ratio: 4 \/ 3;       min-height: 0;     }     .yc-detail-track .yc-caption {       display: flex;       align-items: center;       min-height: 0;       padding: 18px;       border-left: 1px solid var(--yc-line);       background: #fff;       font-size: 15px;     }     .yc-caption {       padding: 13px 14px 16px;       color: var(--yc-muted);       font-size: 14px;       background: #fff;       min-height: 68px;     }     .yc-arrow {       width: 42px;       height: 42px;       border: 1px solid var(--yc-line);       background: #fff;       color: var(--yc-ink);       font-size: 24px;       line-height: 38px;       text-align: center;       text-decoration: none;       display: inline-flex;       align-items: center;       justify-content: center;     }     .yc-dots {       display: flex;       gap: 8px;       justify-content: center;       margin-top: 12px;     }     .yc-dots a {       width: 8px;       height: 8px;       border-radius: 50%;       background: #b7aa99;       display: inline-block;     }     .yc-dots button {       width: 8px;       height: 8px;       border: 0;       border-radius: 50%;       background: #b7aa99;       display: inline-block;       padding: 0;       cursor: pointer;     }     .yc-dots button[aria-current=\"true\"] {       width: 22px;       border-radius: 999px;       background: var(--yc-warm);     }     .yc-story {       display: grid;       grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);       gap: 28px;       align-items: center;     }     .yc-story-text {       background: var(--yc-paper);       border: 1px solid var(--yc-line);       padding: 24px;     }     .yc-spec-grid {       display: grid;       grid-template-columns: minmax(0, 1fr) minmax(300px, 0.78fr);       gap: 24px;       align-items: start;     }     .yc-table {       width: 100%;       border-collapse: collapse;       border: 1px solid var(--yc-line);       background: #fff;       font-size: 14px;     }     .yc-table th,     .yc-table td {       border-bottom: 1px solid var(--yc-line);       padding: 13px 14px;       text-align: left;       vertical-align: top;     }     .yc-table th {       width: 34%;       color: var(--yc-muted);       font-weight: 700;       background: var(--yc-paper);     }     .yc-note {       margin: 14px 0 0;       color: var(--yc-muted);       font-size: 13px;     }     @media (min-width: 761px) {       .yc-spec-grid .yc-table th,       .yc-spec-grid .yc-table td {         padding-top: 17px;         padding-bottom: 17px;       }     }     [data-yc-slider=\"style\"] .yc-track {       background: #fff;     }     [data-yc-slider=\"style\"] .yc-slide img {       aspect-ratio: 1 \/ 1;       object-fit: contain;       background: #faf9f6;       padding: 0;     }     [data-yc-slider=\"style\"] .yc-caption {       min-height: 46px;       padding: 10px 14px;     }     @media (max-width: 760px) {       .yc-detail { padding: 12px 10px 24px; }       .yc-block { padding: 24px 0; }       .yc-title { font-size: 22px; }       .yc-copy { font-size: 14px; }       .yc-slider {         grid-template-columns: 34px minmax(0, 1fr) 34px;         gap: 6px;       }       .yc-arrow {         width: 34px;         height: 38px;         font-size: 21px;       }       .yc-detail-slider {         grid-template-columns: 32px minmax(0, 1fr) 32px;         gap: 6px;         margin-top: 14px;       }       .yc-detail-track .yc-slide {         grid-template-columns: 1fr;       }       .yc-detail-track .yc-slide img {         aspect-ratio: 5 \/ 4;       }       .yc-detail-track .yc-caption {         border-left: 0;         border-top: 1px solid var(--yc-line);         padding: 12px 13px;         font-size: 13px;         min-height: 58px;       }       .yc-story,       .yc-spec-grid {         grid-template-columns: 1fr;         gap: 16px;       }       [data-yc-slider=\"style\"] .yc-slide img {         aspect-ratio: 1 \/ 1;         padding: 10px;       }       [data-yc-slider=\"style\"] .yc-caption {         min-height: 58px;       }       .yc-story-text { padding: 18px; order: -1; }       .yc-table th,       .yc-table td {         display: block;         width: 100%;         padding: 11px 12px;       }       .yc-table td { border-top: 0; }     }         \/* Compact first detail module only. *\/     @media (min-width: 761px) {       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-block:first-of-type {         padding-top: 26px;         padding-bottom: 34px;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-block:first-of-type .yc-detail-intro {         max-width: 880px;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-block:first-of-type .yc-copy {         max-width: 760px;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-slider {         display: block;         margin-top: 18px;         max-width: none;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-slider .yc-arrow {         display: none;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-track {         display: grid;         grid-template-columns: repeat(3, minmax(0, 1fr));         gap: 14px;         width: 100%;         max-width: none;         overflow: visible;         border: 0;         background: transparent;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-track .yc-slide {         display: grid;         grid-template-columns: 1fr;         grid-template-rows: auto 1fr;         width: 100%;         margin: 0;         border: 1px solid var(--yc-line);         background: #fff;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-track .yc-slide img {         width: 100%;         aspect-ratio: 1 \/ 1;         object-fit: cover;         object-position: center;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-track .yc-caption {         min-height: 74px;         padding: 13px 14px 15px;         border-left: 0;         border-top: 1px solid var(--yc-line);         align-items: flex-start;         font-size: 14px;         line-height: 1.45;       }       .yc-detail[data-product=\"fabric-wall-sconce\"] .yc-detail-slider + .yc-dots {         display: none;       }     } \u003c\/style\u003e\u003csection class=\"yc-detail\" data-product=\"fabric-wall-sconce\"\u003e\u003csection class=\"yc-block\"\u003e\u003cdiv class=\"yc-detail-intro\"\u003e\n\u003cp class=\"yc-eyebrow\"\u003eTextured Detail\u003c\/p\u003e\n\u003ch2 class=\"yc-title\"\u003eA slim wall sconce with fabric pattern and warm metal edges\u003c\/h2\u003e\n\u003cp class=\"yc-copy\"\u003eThe elongated fabric panel sits inside a narrow frame, pairing a soft globe shade with a decorative surface that reads like textile art on the wall.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"yc-slider yc-detail-slider\" data-yc-slider=\"detail\" aria-label=\"Detail image slider\"\u003e\n\u003cbutton class=\"yc-arrow\" type=\"button\" data-yc-prev=\"\" aria-label=\"Previous detail image\"\u003e‹\u003c\/button\u003e\u003cdiv class=\"yc-track yc-detail-track\"\u003e\n\u003cfigure class=\"yc-slide\" id=\"yc-detail-1\"\u003e\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/38ebe12244f99b6cab34b4ee342acaae.jpg\" alt=\"Globe shade and patterned fabric wall sconce detail\" loading=\"eager\"\u003e\u003cfigcaption class=\"yc-caption\"\u003eRounded globe shade set close to the woven-look fabric panel.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"yc-slide\" id=\"yc-detail-2\"\u003e\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/11e5e49db24670405d422a50b45446fc.jpg\" alt=\"Close detail of fabric texture and warm metal edge\" loading=\"eager\"\u003e\u003cfigcaption class=\"yc-caption\"\u003eRaised fabric texture framed by a warm metal-tone edge.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"yc-slide\" id=\"yc-detail-3\"\u003e\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/bd747012b757243bae5b0a513e18377f.jpg\" alt=\"Lower frame and patterned fabric detail\" loading=\"eager\"\u003e\u003cfigcaption class=\"yc-caption\"\u003eSlim lower frame keeps the 40 cm profile light and vertical.\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"yc-arrow\" type=\"button\" data-yc-next=\"\" aria-label=\"Next detail image\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"yc-dots\" aria-label=\"Detail image pagination\"\u003e\n\u003cbutton type=\"button\" data-yc-dot=\"0\" aria-current=\"true\" aria-label=\"Detail image 1\"\u003e\u003c\/button\u003e\u003cbutton type=\"button\" data-yc-dot=\"1\" aria-label=\"Detail image 2\"\u003e\u003c\/button\u003e\u003cbutton type=\"button\" data-yc-dot=\"2\" aria-label=\"Detail image 3\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"yc-block yc-story\"\u003e\u003cdiv class=\"yc-story-text\"\u003e\n\u003cp class=\"yc-eyebrow\"\u003eRoom Mood\u003c\/p\u003e\n\u003ch2 class=\"yc-title\"\u003eMade for quiet corners, hallways, and bedside walls\u003c\/h2\u003e\n\u003cp class=\"yc-copy\"\u003eThe narrow vertical shape adds pattern without taking over the room, making it easy to pair with wood furniture, linen upholstery, plaster walls, and vintage-inspired interiors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/ff8fafbef5b815bee6f5ad75e83aa2d3.jpg\" alt=\"Fabric wall sconce installed above a console in a bright living room\" loading=\"eager\"\u003e\u003c\/section\u003e\u003csection class=\"yc-block\"\u003e\u003cp class=\"yc-eyebrow\"\u003eStyles \u0026amp; Specifications\u003c\/p\u003e\n\u003ch2 class=\"yc-title\"\u003eThree fabric patterns, one compact wall-mounted size\u003c\/h2\u003e\n\u003cp class=\"yc-copy\"\u003eChoose the pattern that best fits the room palette\u003c\/p\u003e\n\u003cdiv class=\"yc-spec-grid\"\u003e\n\u003cdiv\u003e\n\u003ctable class=\"yc-table\"\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eStyle\u003c\/th\u003e\n\u003ctd\u003eStyle A, Style B, Style C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFinish\u003c\/th\u003e\n\u003ctd\u003eFabric panel with warm metal-tone frame\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003ctd\u003eLength 13 cm \/ 5.1\"; height 40 cm \/ 15.7\"; wall distance 14 cm \/ 5.5\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eLight source\u003c\/th\u003e\n\u003ctd\u003eG9. Bulb not included.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMaterial notes\u003c\/th\u003e\n\u003ctd\u003eFabric shade panel, metal hardware, and ABS.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSuggested rooms\u003c\/th\u003e\n\u003ctd\u003eBedroom, hallway, living room, study, bathroom vanity, covered interior-style wall areas.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\n\u003cp class=\"yc-note\"\u003eInstallation should be completed by a qualified electrician according to local electrical rules.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"yc-slider\" data-yc-slider=\"style\" aria-label=\"Style image slider\"\u003e\n\u003cbutton class=\"yc-arrow\" type=\"button\" data-yc-prev=\"\" aria-label=\"Previous style image\"\u003e‹\u003c\/button\u003e\u003cdiv class=\"yc-track\"\u003e\n\u003cfigure class=\"yc-slide\" id=\"yc-style-a\"\u003e\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/18e7d2938c94692da866e5beacffc453.jpg\" alt=\"Style A fabric wall sconce\" loading=\"eager\"\u003e\u003cfigcaption class=\"yc-caption\"\u003eStyle A\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"yc-slide\" id=\"yc-style-b\"\u003e\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/6cfceb08be7e4436132bdb92eacb7eea.jpg\" alt=\"Style B fabric wall sconce\" loading=\"eager\"\u003e\u003cfigcaption class=\"yc-caption\"\u003eStyle B\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"yc-slide\" id=\"yc-style-c\"\u003e\u003cimg src=\"https:\/\/148a214072.yunchenkeji.com\/media\/product\/559\/image\/2026\/07\/16\/83578f2da08a3ca267e93c01c0c26e40.jpg\" alt=\"Style C fabric wall sconce\" loading=\"eager\"\u003e\u003cfigcaption class=\"yc-caption\"\u003eStyle C\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"yc-arrow\" type=\"button\" data-yc-next=\"\" aria-label=\"Next style image\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"yc-dots\" aria-label=\"Style image pagination\"\u003e\n\u003cbutton type=\"button\" data-yc-dot=\"0\" aria-current=\"true\" aria-label=\"Style image 1\"\u003e\u003c\/button\u003e\u003cbutton type=\"button\" data-yc-dot=\"1\" aria-label=\"Style image 2\"\u003e\u003c\/button\u003e\u003cbutton type=\"button\" data-yc-dot=\"2\" aria-label=\"Style image 3\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cscript\u003e     (function () {       var root = document.querySelector('.yc-detail[data-product=\"fabric-wall-sconce\"]');       if (!root) return;       root.querySelectorAll('[data-yc-slider]').forEach(function (slider) {         var track = slider.querySelector('.yc-track');         var dotsWrap = slider.parentElement.querySelector('.yc-dots');         var dots = dotsWrap ? Array.prototype.slice.call(dotsWrap.querySelectorAll('[data-yc-dot]')) : [];         if (!track) return;         function currentIndex() {           return Math.round(track.scrollLeft \/ Math.max(1, track.clientWidth));         }         function updateDots(index) {           dots.forEach(function (dot, dotIndex) {             dot.setAttribute('aria-current', dotIndex === index ? 'true' : 'false');           });         }         function goTo(index) {           var max = Math.max(0, track.children.length - 1);           var next = Math.max(0, Math.min(max, index));           track.scrollTo({ left: track.clientWidth * next, behavior: 'smooth' });           updateDots(next);         }         var prev = slider.querySelector('[data-yc-prev]');         var next = slider.querySelector('[data-yc-next]');         if (prev) prev.addEventListener('click', function () { goTo(currentIndex() - 1); });         if (next) next.addEventListener('click', function () { goTo(currentIndex() + 1); });         dots.forEach(function (dot) {           dot.addEventListener('click', function () {             goTo(Number(dot.getAttribute('data-yc-dot')) || 0);           });         });         track.addEventListener('scroll', function () { updateDots(currentIndex()); }, { passive: true });       });     })();   \u003c\/script\u003e\u003c\/section\u003e","brand":"monulo","offers":[{"title":"Style A \/ Fabric \/ 13 cm \/ 5.1\"","offer_id":47999002837150,"sku":"TBCODEX02-Style A-Fabric-13 cm \/ 5.1\"-1004859","price":264.0,"currency_code":"USD","in_stock":true},{"title":"Style B \/ Fabric \/ 13 cm \/ 5.1\"","offer_id":47999002869918,"sku":"TBCODEX02-Style B-Fabric-13 cm \/ 5.1\"-1004858","price":264.0,"currency_code":"USD","in_stock":true},{"title":"Style C \/ Fabric \/ 13 cm \/ 5.1\"","offer_id":47999002902686,"sku":"TBCODEX02-Style C-Fabric-13 cm \/ 5.1\"-1004857","price":264.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0680\/6349\/4302\/files\/3ece65704deda1cce8cf34f5919179ee.jpg?v=1784525108","url":"https:\/\/www.monulo.com\/products\/vintage-fabric-wall-sconce","provider":"Monulo","version":"1.0","type":"link"}