{"product_id":"vera-plug-in-wall-sconce","title":"Walnut and Black Travertine Plug-In Wall Sconce with Pull Chain","description":"\u003cstyle id=\"cjs-style\"\u003e\n.cjs-detail{--cjs-ink:#241c16;--cjs-muted:#6d5f55;--cjs-paper:#f3eee7;--cjs-brass:#b86134;--cjs-amber:#e39a55;--cjs-black:#1c1714;--cjs-line:rgba(36,28,22,.14);box-sizing:border-box;max-width:1220px;margin:-40px auto 0;overflow:hidden;background:var(--cjs-paper);color:var(--cjs-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;font-size:16px;line-height:1.62}\n.cjs-detail *,.cjs-detail *::before,.cjs-detail *::after{box-sizing:border-box}\n.cjs-detail img{display:block;max-width:100%}\n.cjs-detail button{font:inherit}\n.cjs-section{position:relative;padding:40px 52px}\n.cjs-kicker{margin:0 0 9px;color:var(--cjs-brass);font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}\n.cjs-detail h1.cjs-title,.cjs-detail h2.cjs-title,.cjs-title{margin:0 0 13px;color:var(--cjs-ink);font-family:Georgia,\"Times New Roman\",serif!important;font-size:36px;font-weight:400!important;line-height:1.14;letter-spacing:0!important}\n.cjs-lede{margin:0;color:var(--cjs-muted);font-size:16px;line-height:1.65}\n.cjs-hero{padding:0!important;margin:0!important;background:radial-gradient(520px 240px at 88% 0%,rgba(255,255,255,.55),transparent 62%),linear-gradient(128deg,#fbf7f2 0%,#f1e6da 58%,#e6d5c3 100%)}\n.cjs-hero-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:stretch}\n.cjs-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 50px 46px 48px}\n.cjs-hero-copy .cjs-title{max-width:520px;font-size:42px}\n.cjs-hero-copy .cjs-lede{max-width:480px}\n.cjs-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;max-width:480px;margin-top:27px}\n.cjs-note{display:flex;align-items:center;gap:9px;color:var(--cjs-muted);font-size:13px;font-weight:650}\n.cjs-note::before{content:\"\";width:8px;height:8px;border:1px solid rgba(36,28,22,.2);border-radius:50%;background:var(--cjs-amber);box-shadow:0 0 0 4px rgba(227,154,85,.14)}\n.cjs-switcher{position:relative;min-width:0;width:100%;aspect-ratio:4\/3;overflow:hidden;background:#e8e3dc}\n.cjs-state{position:absolute;inset:0;margin:0;opacity:0;z-index:0;pointer-events:none;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}\n.cjs-state.is-leaving{opacity:1;z-index:1;transition:none}\n.cjs-state.is-active{z-index:2;opacity:1;pointer-events:auto}\n.cjs-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}\n.cjs-image-button:focus-visible,.cjs-gallery-card:focus-visible,.cjs-state-control:focus-visible,.cjs-dimension-arrow:focus-visible,.cjs-plug-step:focus-visible,.cjs-plug-shade:focus-visible,.cjs-plug-play:focus-visible,.cjs-plug-finish:focus-visible{outline:2px solid var(--cjs-brass);outline-offset:3px}\n.cjs-state img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:center}\n.cjs-state-controls{position:absolute;z-index:3;left:18px;bottom:18px;display:inline-flex;gap:2px;padding:3px;background:rgba(255,253,249,.88);border:1px solid rgba(36,28,22,.15)}\n.cjs-state-control{min-height:32px;padding:0 11px;border:0;background:transparent;color:var(--cjs-muted);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}\n.cjs-state-control.is-active{background:var(--cjs-black);color:#fff}\n.cjs-heading{max-width:760px;margin:0 0 18px}\n.cjs-details{background:linear-gradient(180deg,#f8f5f0 0%,#ece5dc 100%)}.cjs-parameters{background:linear-gradient(180deg,#efe3d4 0%,#e6d4c1 100%)}\n.cjs-details::before,.cjs-parameters::before{content:\"\";position:absolute;left:52px;right:52px;top:0;height:1px;background:var(--cjs-line)}\n.cjs-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}\n.cjs-figure{min-width:0;margin:0}\n.cjs-detail-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(41,40,36,.12);border-radius:4px;background:#fff;box-shadow:0 10px 24px rgba(41,40,36,.055);padding:0!important;margin:0!important}\n.cjs-detail-card .cjs-image-button{display:block;height:auto!important;flex:none;margin:0!important;padding:0!important}\n.cjs-detail-card img{display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:1\/1;object-fit:contain;background:#f3efe7;margin:0!important;padding:0!important;border:0!important}\n.cjs-caption{flex:1;margin:0;padding:16px 18px 18px;color:var(--cjs-muted);font-size:14px;line-height:1.58;background:#fff}\n.cjs-caption strong{display:block;margin-bottom:5px;color:var(--cjs-ink);font-size:16px;font-weight:700;line-height:1.35}\n.cjs-detail-arrows{display:none}\n.cjs-highlights{background:radial-gradient(560px 220px at 12% 0%,rgba(255,248,238,.72),transparent 64%),radial-gradient(480px 280px at 100% 100%,rgba(154,86,42,.18),transparent 70%),linear-gradient(168deg,#f4e6d6 0%,#e8d0b8 52%,#dcc0a4 100%)}\n.cjs-plug-board{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:28px;align-items:stretch;margin-top:8px}\n.cjs-plug-scene{position:relative;width:100%;height:auto;min-height:480px;align-self:stretch;overflow:hidden;border:1px solid rgba(92,62,36,.12);border-radius:4px;background:radial-gradient(240px 170px at 50% 16%,rgba(255,255,255,.92),transparent 72%),linear-gradient(180deg,#fffdf9 0%,#f6efe6 100%);box-shadow:0 18px 36px rgba(92,62,36,.12),inset 0 1px 0 rgba(255,255,255,.85)}\n.cjs-plug-scene::before{content:none}\n.cjs-plug-fixture{position:absolute;left:8%;right:8%;top:16px;bottom:40px;width:auto;height:auto;margin:0;transform:none;opacity:.28;transition:opacity .35s ease}\n.cjs-plug-scene.is-mounted .cjs-plug-fixture{opacity:1}\n.cjs-plug-outline{display:block;width:100%;height:100%;margin:0;color:#2c2622}\n.cjs-plug-scene.is-black .cjs-plug-outline{color:#241c16}\n.cjs-plug-outline .cjs-jar{fill:#f4efe8;transition:fill .45s ease}\n.cjs-plug-scene.is-lit .cjs-plug-outline .cjs-jar{fill:#f0d3a6}\n.cjs-plug-glow{opacity:0;transition:opacity .45s ease}\n.cjs-plug-scene.is-lit .cjs-plug-glow{opacity:1}\n.cjs-plug-scene{transition:background .45s ease}\n.cjs-plug-scene.is-lit{background:radial-gradient(120px 54px at 50% 28%,rgba(236,186,112,.28),transparent 72%),linear-gradient(180deg,#fffdf9 0%,#f6efe6 100%)}\n.cjs-plug-shade{position:absolute;left:18%;top:7%;width:64%;height:18%;padding:0;border:0;background:transparent;cursor:pointer}\n.cjs-plug-cordline{stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:butt;transition:stroke-dashoffset .34s linear}\n.cjs-plug-scene.is-cord .cjs-plug-cordline{stroke-dashoffset:0}\n.cjs-plug-scene.is-cord .cjs-plug-cordline--lower{transition-delay:.36s}\n.cjs-plug-switch{opacity:0;transition:opacity .2s ease}\n.cjs-plug-scene.is-cord .cjs-plug-switch{opacity:1;transition-delay:.3s}\n.cjs-plug-measure{font-family:inherit;font-size:11px;font-weight:750;letter-spacing:.04em;fill:#6d5f55;opacity:0;transition:opacity .35s ease}\n.cjs-plug-scene.is-cord .cjs-plug-measure{opacity:1}\n.cjs-plug-rule{position:absolute;left:8px;top:58%;color:#6d5f55;font-size:12px;font-weight:750;letter-spacing:.04em;opacity:0;transition:opacity .35s ease}\n.cjs-plug-scene.is-cord .cjs-plug-rule{opacity:1}\n.cjs-plug-pin{opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease}\n.cjs-plug-scene.is-plugged .cjs-plug-pin{opacity:1;transform:none}\n.cjs-plug-scene.is-plugged .cjs-plug-outlet \u003e rect:first-child{stroke:#8a4b2a;stroke-width:.9}\n.cjs-plug-play{position:absolute;right:14px;bottom:12px;min-height:32px;padding:0 12px;border:1px solid rgba(36,28,22,.14);border-radius:99px;background:rgba(255,250,244,.94);color:var(--cjs-ink);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}\n.cjs-plug-finishes{position:absolute;top:12px;left:50%;right:auto;display:flex;gap:6px;transform:translateX(-50%)}\n.cjs-plug-finish{min-height:30px;padding:0 11px;border:1px solid rgba(36,28,22,.14);border-radius:99px;background:rgba(255,250,244,.92);color:#6d5f55;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}\n.cjs-plug-finish[data-plug-finish=\"rust\"].is-active{background:#8a4b2a;border-color:#8a4b2a;color:#fff}\n.cjs-plug-finish[data-plug-finish=\"black\"].is-active{background:#1c1714;border-color:#1c1714;color:#fff}\n.cjs-plug-panel{display:flex;flex-direction:column;height:100%;align-self:stretch}\n.cjs-plug-steps{display:grid;gap:8px;height:100%;grid-template-rows:repeat(4,minmax(0,1fr))}\n.cjs-plug-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:1px 12px;align-items:center;padding:11px 12px;border:1px solid rgba(92,62,36,.12);border-radius:4px;background:rgba(255,250,244,.72);color:var(--cjs-ink);text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}\n.cjs-plug-step b{grid-row:span 2;display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#f3ece3;font-size:12px}\n.cjs-plug-step strong{font-size:15px;line-height:1.3}\n.cjs-plug-step em{color:var(--cjs-muted);font-size:13px;font-style:normal;line-height:1.35}\n.cjs-plug-step.is-done b{background:#f4e4d4;color:#8a4b2a}\n.cjs-plug-step.is-active{background:#fff;border-color:rgba(184,97,52,.45);box-shadow:0 10px 22px rgba(68,54,40,.08)}\n.cjs-plug-step.is-active b{background:#1c1714;color:#fff}\n.cjs-gallery-section{padding:34px 0 40px;background:linear-gradient(180deg,#fbf8f3 0%,#f3ece4 100%)}\n.cjs-gallery-heading{padding:0 52px;margin-bottom:0}\n.cjs-gallery-heading .cjs-title{margin-bottom:0}\n.cjs-gallery-heading .cjs-lede{max-width:700px;margin-top:12px}\n.cjs-gallery-viewport{position:relative;overflow:hidden!important;cursor:grab;touch-action:pan-y;padding:8px 0 18px}\n.cjs-gallery-viewport.is-grabbing{cursor:grabbing}\n.cjs-gallery-track{display:flex;width:max-content;animation:cjs-gallery-marquee 42s linear infinite;will-change:transform}\n.cjs-gallery-viewport:hover .cjs-gallery-track,.cjs-gallery-viewport.is-grabbing .cjs-gallery-track{animation-play-state:paused}\n.cjs-gallery-loop{display:flex;flex:0 0 auto;gap:16px;align-items:stretch;padding:0 16px 0 0;margin:0}\n.cjs-gallery-card{display:flex;flex-direction:column;flex:0 0 clamp(210px,19vw,270px);width:clamp(210px,19vw,270px);margin:0!important;padding:0!important;border:1px solid rgba(36,28,22,.12);border-radius:4px;background:#fff;box-shadow:0 10px 24px rgba(36,28,22,.08);cursor:zoom-in;text-align:left;overflow:hidden;line-height:0}\n.cjs-gallery-photo{position:relative;display:block;aspect-ratio:1\/1;overflow:hidden;margin:0!important;padding:0!important;border-radius:0;background:#efe8de;line-height:0}\n.cjs-gallery-card img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;object-fit:cover!important;object-position:center;background:#efe8de;pointer-events:none}\n.cjs-gallery-label{display:block;margin:0;padding:10px 12px 12px;color:#6d5f55;font-size:12px;font-weight:650;letter-spacing:.06em;line-height:1.3;text-transform:uppercase}\n@keyframes cjs-gallery-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}\n.cjs-parameters{padding-top:34px;padding-bottom:34px}\n.cjs-parameter-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:30px;align-items:stretch}\n.cjs-dimension-figure{position:relative;display:flex!important;width:100%!important;min-width:0;overflow:hidden;margin:0!important;align-self:stretch;align-items:center;justify-content:center;border:1px solid rgba(41,40,36,.13);border-radius:4px;background:#fff;box-shadow:0 12px 28px rgba(41,40,36,.065)}\n.cjs-dimension-frame{position:relative;flex:1 1 100%;width:100%!important;min-width:0;aspect-ratio:1\/1;overflow:hidden;background:#fff}\n.cjs-dimension-slide{position:absolute;z-index:0;inset:0;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease}\n.cjs-dimension-slide.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto}\n.cjs-dimension-slide .cjs-image-button{display:block!important;width:100%!important;height:100%!important}\n.cjs-dimension-slide img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:1\/1;object-fit:contain;background:#fff;margin:0!important;padding:0!important;border:0!important}\n.cjs-dimension-arrow{position:absolute;z-index:3;top:50%;display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid rgba(41,40,36,.18);border-radius:50%;background:rgba(255,253,249,.93);color:var(--cjs-ink);box-shadow:0 5px 16px rgba(41,40,36,.12);cursor:pointer;transform:translateY(-50%)}\n.cjs-dimension-arrow:hover{background:var(--cjs-black);color:#fff}\n.cjs-dimension-arrow span{font-size:27px;line-height:1;transform:translateY(-1px)}\n.cjs-dimension-arrow--prev{left:14px}\n.cjs-dimension-arrow--next{right:14px}\n.cjs-specs{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:24px 28px;border:1px solid rgba(92,62,36,.14);border-radius:4px;background:#fffaf4;box-shadow:0 14px 30px rgba(92,62,36,.08)}\n.cjs-spec-row{display:grid;grid-template-columns:142px minmax(0,1fr);gap:22px;padding:13px 0;border-bottom:1px solid rgba(41,40,36,.13);align-items:start}\n.cjs-spec-row:first-child{padding-top:0}\n.cjs-spec-row:last-child{border-bottom:0;padding-bottom:0}\n.cjs-spec-label{color:var(--cjs-ink);font-size:14px;font-weight:750;line-height:1.52}\n.cjs-spec-value{min-width:0;color:var(--cjs-muted);font-size:15px;line-height:1.52;overflow-wrap:anywhere}\n.cjs-spec-line{display:block}\n.cjs-spec-line+.cjs-spec-line{margin-top:3px}\n.cjs-detail-arrow{width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--cjs-black);color:#fff;box-shadow:0 6px 16px rgba(41,40,36,.18);font-size:28px;line-height:1;cursor:pointer}\n.cjs-detail-arrow:hover{background:var(--cjs-brass)}\n.cjs-close{padding-top:42px;padding-bottom:46px;background:linear-gradient(180deg,#f7f2eb 0%,#f3ebe3 100%);text-align:center}\n.cjs-close .cjs-heading{max-width:680px;margin:0 auto 22px}\n.cjs-close .cjs-kicker{letter-spacing:.16em}\n.cjs-close .cjs-title{margin-bottom:12px}\n.cjs-close .cjs-lede{max-width:520px;margin:0 auto}\n.cjs-close-rule{width:42px;height:1px;margin:18px auto 0;background:var(--cjs-brass)}\n.cjs-close-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid rgba(184,97,52,.28);border-radius:18px;background:#fffaf6;text-align:left}\n.cjs-close-item{padding:22px 26px 24px}\n.cjs-close-item+.cjs-close-item{border-left:1px solid rgba(184,97,52,.22)}\n.cjs-close-item strong{display:block;margin-bottom:8px;color:#8a4b2a;font-size:16px;font-weight:750;line-height:1.35}\n.cjs-close-item p{margin:0;color:var(--cjs-muted);font-size:15px;line-height:1.55}\n.cjs-lightbox{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:30px;background:rgba(28,28,25,.78)}\n.cjs-lightbox[hidden]{display:none}\n.cjs-lightbox img{max-width:min(90vw,920px);max-height:86vh;object-fit:contain;background:#fff}\n.cjs-lightbox-close{position:absolute;right:24px;top:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(28,28,25,.62);color:#fff;font-size:25px;cursor:pointer}\n@media(max-width:980px){\n.cjs-section{padding:36px 28px}\n.cjs-hero-layout{grid-template-columns:minmax(0,1.14fr) minmax(300px,.86fr)}\n.cjs-hero-copy{padding:34px 28px}\n.cjs-hero-copy .cjs-title{font-size:34px}\n.cjs-details::before,.cjs-parameters::before{left:28px;right:28px}\n.cjs-title{font-size:34px}\n.cjs-detail-card .cjs-caption{padding:14px}\n.cjs-parameter-layout{gap:24px}\n.cjs-specs{padding:20px 22px}\n.cjs-spec-row{grid-template-columns:118px minmax(0,1fr);gap:16px}\n.cjs-gallery-heading{padding:0 28px}\n.cjs-spec-row{grid-template-columns:118px minmax(0,1fr);gap:16px}\n}\n@media(max-width:767px){.cjs-detail{margin-top:-24px}}@media(max-width:700px){\n.cjs-section{padding:34px 18px}\n.cjs-title{font-size:31px;line-height:1.17}\n.cjs-hero-layout,.cjs-plug-board,.cjs-parameter-layout{grid-template-columns:1fr;gap:22px}\n.cjs-hero-copy{padding:31px 19px 35px}\n.cjs-notes{grid-template-columns:1fr}\n.cjs-details::before,.cjs-parameters::before{left:18px;right:18px}\n.cjs-details-grid{position:relative;display:block}\n.cjs-details-grid\u003e.cjs-detail-card{display:none!important}\n.cjs-details-grid\u003e.cjs-detail-card.is-mobile-active{display:grid!important}\n.cjs-details-grid\u003e.cjs-detail-card .cjs-image-button{width:100%!important;height:auto!important;aspect-ratio:1\/1}\n.cjs-details-grid\u003e.cjs-detail-card img{width:100%!important;height:auto!important;aspect-ratio:1\/1;object-fit:contain}\n.cjs-detail-arrows{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;height:68%;align-items:center;justify-content:space-between;padding:0 7px;pointer-events:none}\n.cjs-detail-arrow{pointer-events:auto}\n.cjs-caption{display:flex;flex-direction:column;justify-content:center;padding:14px!important;font-size:13px}\n.cjs-caption strong{font-size:15px}\n.cjs-parameter-layout{gap:24px}\n.cjs-spec-row{grid-template-columns:1fr;gap:3px;padding:11px 0}\n.cjs-spec-label{font-size:12px}\n.cjs-spec-value{font-size:15px}\n.cjs-gallery-heading{padding:0 18px;margin-bottom:0}\n.cjs-gallery-viewport{padding:6px 0 12px}\n.cjs-gallery-card{flex-basis:46vw;width:46vw}\n.cjs-gallery-label{font-size:11px;letter-spacing:.04em}\n.cjs-close-card{grid-template-columns:1fr}\n.cjs-close-item{padding:18px 18px 16px}\n.cjs-close-item+.cjs-close-item{border-left:0;border-top:1px solid rgba(184,97,52,.22)}\n.cjs-spec-row{grid-template-columns:1fr;gap:3px}\n.cjs-plug-scene{width:100%;height:auto;min-height:0;aspect-ratio:1\/1}\n.cjs-plug-fixture{top:14px;right:6%;bottom:38px;left:6%;width:auto;height:auto;max-width:none;aspect-ratio:auto;margin:0;transform:none}\n.cjs-plug-outline{width:100%;height:100%}\n.cjs-plug-panel{height:auto;justify-content:flex-start}\n}\n@media(min-width:981px){\n.cjs-hero-layout{height:auto;align-items:start!important}\n.cjs-switcher{align-self:start!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4\/3!important}\n.cjs-gallery-card{flex-basis:clamp(240px,20vw,300px);width:clamp(240px,20vw,300px)}\n}\n@media(prefers-reduced-motion:reduce){\n.cjs-state,.cjs-dimension-slide,.cjs-plug-fixture,.cjs-plug-glow,.cjs-plug-cordline,.cjs-plug-pin,.cjs-plug-rule{transition:none}\n.cjs-gallery-track{animation:none}\n}\n\u003c\/style\u003e\u003cdiv class=\"cjs-detail\" lang=\"en\" data-product=\"vera-plug-in-wall-sconce\"\u003e\n\u003csection class=\"cjs-section cjs-hero\" aria-labelledby=\"cjs-hero-title\"\u003e\u003cdiv class=\"cjs-hero-layout\"\u003e\n\u003cdiv class=\"cjs-switcher\" aria-label=\"Daylight and illuminated comparison\"\u003e\n\u003cfigure class=\"cjs-state is-active\" data-state=\"\" aria-hidden=\"false\"\u003e\u003cbutton class=\"cjs-image-button\" type=\"button\" aria-label=\"Open daylight wall sconce scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/5f7530fba1c17375a20845e6314571d0.jpg\" alt=\"Walnut and black travertine wall sconce in a daylight entry, light off\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e\u003c\/figure\u003e\u003cfigure class=\"cjs-state\" data-state=\"\" aria-hidden=\"true\"\u003e\u003cbutton class=\"cjs-image-button\" type=\"button\" aria-label=\"Open illuminated wall sconce scene\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ee0b60bde70ead65888610e9cc5cbbbb.jpg\" alt=\"Walnut and black travertine wall sconce glowing beside a bed at dusk\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e\u003c\/figure\u003e\u003cdiv class=\"cjs-state-controls\" role=\"group\" aria-label=\"Choose lighting state\"\u003e\n\u003cbutton class=\"cjs-state-control is-active\" type=\"button\" data-state-control=\"0\" aria-pressed=\"true\"\u003eDaylight\u003c\/button\u003e\u003cbutton class=\"cjs-state-control\" type=\"button\" data-state-control=\"1\" aria-pressed=\"false\"\u003eIlluminated\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-hero-copy\"\u003e\n\u003cp class=\"cjs-kicker\"\u003eplug-in wall sconce\u003c\/p\u003e\n\u003ch1 class=\"cjs-title\" id=\"cjs-hero-title\"\u003eDark stone by day, warm light after dusk\u003c\/h1\u003e\n\u003cp class=\"cjs-lede\"\u003eA circular black travertine shade on a walnut base, made as a plug-in. The disc sits close to the wall in daylight. Once the chain is pulled, the integrated LED gives a warm accent light.\u003c\/p\u003e\n\u003cdiv class=\"cjs-notes\" aria-label=\"Lighting characteristics\"\u003e\n\u003cspan class=\"cjs-note\"\u003eBlack travertine\u003c\/span\u003e\u003cspan class=\"cjs-note\"\u003eWalnut base\u003c\/span\u003e\u003cspan class=\"cjs-note\"\u003e180° pivot\u003c\/span\u003e\u003cspan class=\"cjs-note\"\u003ePull chain\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"cjs-section cjs-details\" aria-labelledby=\"cjs-details-title\"\u003e\u003cheader class=\"cjs-heading\"\u003e\u003cp class=\"cjs-kicker\"\u003eMaterial study\u003c\/p\u003e\n\u003ch2 class=\"cjs-title\" id=\"cjs-details-title\"\u003eA stone disc on walnut\u003c\/h2\u003e\n\u003cp class=\"cjs-lede\"\u003eMatte black travertine and smooth walnut. The head turns from the wooden base, and the cord leaves below.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"cjs-details-grid\"\u003e\n\u003cfigure class=\"cjs-figure cjs-detail-card is-mobile-active\" data-detail-slide=\"\"\u003e\u003cbutton class=\"cjs-image-button\" type=\"button\" aria-label=\"Open black travertine shade detail\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/f503982d5cdb8d14b4a90f46b243e6a9.jpg\" alt=\"Close view of the pitted black travertine shade against walnut\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e\u003cfigcaption class=\"cjs-caption\"\u003e\u003cstrong\u003eCircular stone shade\u003c\/strong\u003eGenuine travertine, finished matte black. The black is a surface coating. Pores in the stone still vary from piece to piece.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"cjs-figure cjs-detail-card\" data-detail-slide=\"\"\u003e\u003cbutton class=\"cjs-image-button\" type=\"button\" aria-label=\"Open black travertine texture detail\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/d3e9335f4684d5507e3ec190d22ef6b8.jpg\" alt=\"Close view of the pitted black travertine surface\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e\u003cfigcaption class=\"cjs-caption\"\u003e\u003cstrong\u003eStone texture\u003c\/strong\u003eThe close view is the matte black travertine. Pores stay visible in the stone, and they vary from piece to piece.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"cjs-figure cjs-detail-card\" data-detail-slide=\"\"\u003e\u003cbutton class=\"cjs-image-button\" type=\"button\" aria-label=\"Open cord and switch detail\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/470b5c67b70c1cc2f1a474b7b5439b9e.jpg\" alt=\"Black plug-in cord with an inline switch\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e\u003cfigcaption class=\"cjs-caption\"\u003e\u003cstrong\u003eCord and switch\u003c\/strong\u003eThe black cord leaves the base. An inline switch sits on the cord, so the light can be switched without a wall box.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cdiv class=\"cjs-detail-arrows\" role=\"group\" aria-label=\"Switch detail image\"\u003e\n\u003cbutton class=\"cjs-detail-arrow\" type=\"button\" data-detail-prev=\"\" aria-label=\"Show previous detail image\"\u003e\u003cspan aria-hidden=\"true\"\u003e‹\u003c\/span\u003e\u003c\/button\u003e\u003cbutton class=\"cjs-detail-arrow\" type=\"button\" data-detail-next=\"\" aria-label=\"Show next detail image\"\u003e\u003cspan aria-hidden=\"true\"\u003e›\u003c\/span\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"cjs-section cjs-highlights\" aria-labelledby=\"cjs-highlights-title\"\u003e\u003cheader class=\"cjs-heading\"\u003e\u003cp class=\"cjs-kicker\"\u003ePlug-in install\u003c\/p\u003e\n\u003ch2 class=\"cjs-title\" id=\"cjs-highlights-title\"\u003eA wall sconce that simply plugs in\u003c\/h2\u003e\n\u003cp class=\"cjs-lede\"\u003eThe cord leaves the wooden base and runs about 1.8 m to a nearby outlet.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"cjs-plug-board\" data-plug-board=\"\"\u003e\n\u003cdiv class=\"cjs-plug-scene is-rust\" data-plug-scene=\"\" data-step=\"0\" role=\"group\" aria-label=\"Plug-in installation diagram\"\u003e\n\u003cdiv class=\"cjs-plug-fixture\"\u003e\n\u003csvg class=\"cjs-plug-outline\" viewbox=\"0 0 200 228\" fill=\"none\" aria-hidden=\"true\" preserveaspectratio=\"xMidYMid meet\"\u003e \u003cdefs\u003e \u003cclippath id=\"cjs-vera-board\"\u003e\u003crect x=\"87\" y=\"5\" width=\"26\" height=\"104\"\u003e\u003c\/rect\u003e\u003c\/clippath\u003e \u003cclippath id=\"cjs-vera-stone\"\u003e\u003cpath d=\"M63 24h74v20c0 5-16 9-37 9s-37-4-37-9V24z\"\u003e\u003c\/path\u003e\u003c\/clippath\u003e \u003cradialgradient id=\"cjs-vera-spill\" cx=\"100\" cy=\"52\" r=\"34\" gradientunits=\"userSpaceOnUse\"\u003e \u003cstop offset=\"0%\" stop-color=\"#e7c08a\" stop-opacity=\".42\"\u003e\u003c\/stop\u003e \u003cstop offset=\"100%\" stop-color=\"#e7c08a\" stop-opacity=\"0\"\u003e\u003c\/stop\u003e \u003c\/radialgradient\u003e \u003c\/defs\u003e \u003cg clip-path=\"url(#cjs-vera-board)\"\u003e \u003crect x=\"87\" y=\"5\" width=\"26\" height=\"104\" fill=\"#f7f2eb\"\u003e\u003c\/rect\u003e \u003cg stroke=\"#cbb9a6\" stroke-width=\".28\" opacity=\".55\"\u003e \u003cpath d=\"M89 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M90.6 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M92.2 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M93.8 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M95.4 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M97 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M98.6 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M100.2 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M101.8 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M103.4 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M105 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M106.6 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M108.2 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M109.8 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003cpath d=\"M111.2 6c.25 22-.35 48 .1 102\"\u003e\u003c\/path\u003e \u003c\/g\u003e \u003c\/g\u003e \u003crect x=\"87\" y=\"5\" width=\"26\" height=\"104\" stroke=\"#2c2622\" stroke-width=\".75\"\u003e\u003c\/rect\u003e \u003cpath d=\"M63 28h74v16c0 5.2-16.2 8.6-37 8.6S63 49.2 63 44V28z\" fill=\"#2b2724\"\u003e\u003c\/path\u003e \u003cellipse cx=\"100\" cy=\"28\" rx=\"37\" ry=\"5.4\" fill=\"#34302c\" stroke=\"#2c2622\" stroke-width=\".7\"\u003e\u003c\/ellipse\u003e \u003cg clip-path=\"url(#cjs-vera-stone)\" stroke=\"#d8d0c6\" stroke-width=\".35\" opacity=\".5\"\u003e \u003cpath d=\"M68 30c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M73 33c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M78 31c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M83 35c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M88 30c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M93 34c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M98 31c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M103 36c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M108 30c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M113 34c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M118 32c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M123 36c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M128 31c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M132 34c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M70 39c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M76 41c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M82 38c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M88 42c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M95 39c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M101 42c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M108 39c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M115 42c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M122 38c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003cpath d=\"M129 41c1.1.3 1.8-.5 2.6.2\"\u003e\u003c\/path\u003e \u003c\/g\u003e \u003cellipse class=\"cjs-jar\" cx=\"100\" cy=\"46.2\" rx=\"29\" ry=\"4.1\"\u003e\u003c\/ellipse\u003e \u003cellipse cx=\"100\" cy=\"46.2\" rx=\"37\" ry=\"5.6\" stroke=\"#2c2622\" stroke-width=\".7\"\u003e\u003c\/ellipse\u003e \u003cg class=\"cjs-plug-glow\" aria-hidden=\"true\"\u003e \u003cellipse cx=\"100\" cy=\"56\" rx=\"32\" ry=\"12\" fill=\"url(#cjs-vera-spill)\"\u003e\u003c\/ellipse\u003e \u003cpath d=\"M72 49c-6 12-12 24-14 36 12-8 22-20 26-34z\" fill=\"#e4bc86\" opacity=\".16\"\u003e\u003c\/path\u003e \u003cpath d=\"M128 49c6 12 12 24 14 36-12-8-22-20-26-34z\" fill=\"#e4bc86\" opacity=\".16\"\u003e\u003c\/path\u003e \u003c\/g\u003e \u003cline class=\"cjs-plug-cordline\" pathlength=\"1\" x1=\"100\" y1=\"109\" x2=\"100\" y2=\"136\" stroke=\"#2c2622\" stroke-width=\".8\"\u003e\u003c\/line\u003e \u003cg class=\"cjs-plug-switch\" stroke=\"#2c2622\" stroke-width=\".7\"\u003e \u003crect x=\"94.2\" y=\"136\" width=\"11.6\" height=\"15\" rx=\"1\" fill=\"#fff\"\u003e\u003c\/rect\u003e \u003cline x1=\"96.6\" y1=\"140.2\" x2=\"103.4\" y2=\"140.2\"\u003e\u003c\/line\u003e \u003crect x=\"96.8\" y=\"141.4\" width=\"6.4\" height=\"5.6\" rx=\".4\" fill=\"none\"\u003e\u003c\/rect\u003e \u003c\/g\u003e \u003cline class=\"cjs-plug-cordline cjs-plug-cordline--lower\" pathlength=\"1\" x1=\"100\" y1=\"151\" x2=\"100\" y2=\"186\" stroke=\"#2c2622\" stroke-width=\".8\"\u003e\u003c\/line\u003e \u003cg class=\"cjs-plug-measure\" stroke=\"#8d7d70\" stroke-width=\".45\"\u003e \u003cline x1=\"34\" y1=\"109\" x2=\"34\" y2=\"186\"\u003e\u003c\/line\u003e \u003cline x1=\"31\" y1=\"109\" x2=\"37\" y2=\"109\"\u003e\u003c\/line\u003e \u003cline x1=\"31\" y1=\"186\" x2=\"37\" y2=\"186\"\u003e\u003c\/line\u003e \u003ctext x=\"41\" y=\"151\" stroke=\"none\"\u003e1.8 m\u003c\/text\u003e \u003c\/g\u003e \u003cg class=\"cjs-plug-outlet\" stroke=\"#2c2622\" stroke-width=\".7\"\u003e \u003crect x=\"86\" y=\"186\" width=\"28\" height=\"26\" rx=\"1.2\" fill=\"#fff\"\u003e\u003c\/rect\u003e \u003crect x=\"94\" y=\"194\" width=\"3\" height=\"8\" rx=\".3\" fill=\"none\"\u003e\u003c\/rect\u003e \u003crect x=\"103\" y=\"194\" width=\"3\" height=\"8\" rx=\".3\" fill=\"none\"\u003e\u003c\/rect\u003e \u003c\/g\u003e \u003cg class=\"cjs-plug-pin\" stroke=\"#2c2622\" stroke-width=\".7\"\u003e \u003crect x=\"93\" y=\"176\" width=\"14\" height=\"10\" rx=\".8\" fill=\"#fff\"\u003e\u003c\/rect\u003e \u003cline x1=\"97\" y1=\"186\" x2=\"97\" y2=\"194\"\u003e\u003c\/line\u003e \u003cline x1=\"103\" y1=\"186\" x2=\"103\" y2=\"194\"\u003e\u003c\/line\u003e \u003c\/g\u003e \u003c\/svg\u003e \u003cbutton class=\"cjs-plug-shade\" type=\"button\" data-plug-jar=\"\" aria-label=\"Preview the shade lit\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"cjs-plug-play\" type=\"button\" data-plug-play=\"\"\u003ePlay install\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-plug-panel\"\u003e\u003cdiv class=\"cjs-plug-steps\" role=\"group\" aria-label=\"Installation steps\"\u003e\n\u003cbutton class=\"cjs-plug-step is-active\" type=\"button\" data-plug-step=\"0\" aria-pressed=\"true\"\u003e\u003cb\u003e01\u003c\/b\u003e\u003cstrong\u003eMount the base\u003c\/strong\u003e\u003cem\u003eWalnut base on the wall\u003c\/em\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-plug-step\" type=\"button\" data-plug-step=\"1\" aria-pressed=\"false\"\u003e\u003cb\u003e02\u003c\/b\u003e\u003cstrong\u003eDrop the cord\u003c\/strong\u003e\u003cem\u003eSwitch midway, then the outlet\u003c\/em\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-plug-step\" type=\"button\" data-plug-step=\"2\" aria-pressed=\"false\"\u003e\u003cb\u003e03\u003c\/b\u003e\u003cstrong\u003ePlug in\u003c\/strong\u003e\u003cem\u003eNo hardwired connection\u003c\/em\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-plug-step\" type=\"button\" data-plug-step=\"3\" aria-pressed=\"false\"\u003e\u003cb\u003e04\u003c\/b\u003e\u003cstrong\u003ePull the chain\u003c\/strong\u003e\u003cem\u003eIntegrated LED, about 5 W\u003c\/em\u003e\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"cjs-section cjs-gallery-section\" aria-labelledby=\"cjs-gallery-title\"\u003e\u003cheader class=\"cjs-gallery-heading\"\u003e\u003cp class=\"cjs-kicker\"\u003eIn context\u003c\/p\u003e\n\u003ch2 class=\"cjs-title\" id=\"cjs-gallery-title\"\u003eStone and walnut, set on the wall\u003c\/h2\u003e\n\u003cp class=\"cjs-lede\"\u003eBeside a bed, over a dining table, in an entry or at a desk, the disc stays close to the wall.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"cjs-gallery-viewport\" data-gallery=\"\"\u003e\u003cdiv class=\"cjs-gallery-track\" data-gallery-track=\"\"\u003e\u003cdiv class=\"cjs-gallery-loop cjs-gallery-loop--primary\" data-gallery-loop=\"\"\u003e\n\u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open bedside scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/d1864593e3c92917aacf189e5c64d906.jpg\" alt=\"Walnut and black travertine wall sconce beside a bed\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eBedside\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open living room scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/fa66a5697e000ff0fa2105af79bb2c7d.jpg\" alt=\"Walnut and black travertine wall sconce in a living room\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eLiving room\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open console scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/3fcb53a71891426cbf2356e3bfb3f63c.jpg\" alt=\"Walnut and black travertine wall sconce above a console\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eConsole\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open study scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/88a0ad6d111683b71169436077a7a0e0.jpg\" alt=\"Walnut and black travertine wall sconce above a desk\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eStudy\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open dining scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/fbeb91362aa5643df69a94ef72d4c549.jpg\" alt=\"Walnut and black travertine wall sconce above a dining table\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eDining\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open entry scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/cb2420c468ddcac14aa6b38ead94fc0a.jpg\" alt=\"Walnut and black travertine wall sconce in an entry\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eEntry\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open nightstand scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/a2a395c53b7cb24b41fdae079a7c6b76.jpg\" alt=\"Walnut and black travertine wall sconce beside a bed at dusk\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eNightstand\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open dining scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ba991dbe60e1f2e30242b2bd0b2b83fc.jpg\" alt=\"Walnut and black travertine wall sconce above a dining table\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eDining\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"cjs-gallery-loop cjs-gallery-loop--clone\" data-gallery-clone=\"\" aria-hidden=\"true\"\u003e\n\u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open bedside scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/d1864593e3c92917aacf189e5c64d906.jpg\" alt=\"Walnut and black travertine wall sconce beside a bed\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eBedside\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open living room scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/fa66a5697e000ff0fa2105af79bb2c7d.jpg\" alt=\"Walnut and black travertine wall sconce in a living room\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eLiving room\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open console scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/3fcb53a71891426cbf2356e3bfb3f63c.jpg\" alt=\"Walnut and black travertine wall sconce above a console\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eConsole\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open study scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/88a0ad6d111683b71169436077a7a0e0.jpg\" alt=\"Walnut and black travertine wall sconce above a desk\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eStudy\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open dining scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/fbeb91362aa5643df69a94ef72d4c549.jpg\" alt=\"Walnut and black travertine wall sconce above a dining table\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eDining\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open entry scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/cb2420c468ddcac14aa6b38ead94fc0a.jpg\" alt=\"Walnut and black travertine wall sconce in an entry\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eEntry\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open nightstand scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/a2a395c53b7cb24b41fdae079a7c6b76.jpg\" alt=\"Walnut and black travertine wall sconce beside a bed at dusk\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eNightstand\u003c\/span\u003e\u003c\/button\u003e \u003cbutton class=\"cjs-gallery-card\" type=\"button\" aria-label=\"Open dining scene\"\u003e\u003cspan class=\"cjs-gallery-photo\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ba991dbe60e1f2e30242b2bd0b2b83fc.jpg\" alt=\"Walnut and black travertine wall sconce above a dining table\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/span\u003e\u003cspan class=\"cjs-gallery-label\"\u003eDining\u003c\/span\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"cjs-section cjs-parameters\" aria-labelledby=\"cjs-parameters-title\"\u003e\u003cheader class=\"cjs-heading\"\u003e\u003cp class=\"cjs-kicker\"\u003eSpecifications\u003c\/p\u003e\n\u003ch2 class=\"cjs-title\" id=\"cjs-parameters-title\"\u003eOne size, plug-in installation\u003c\/h2\u003e\n\u003cp class=\"cjs-lede\"\u003eHang it on the wall, then plug it in.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"cjs-parameter-layout\"\u003e\n\u003cdiv class=\"cjs-dimension-figure\" data-dimension-carousel=\"\" role=\"group\" aria-label=\"Product dimension diagrams\"\u003e\u003cdiv class=\"cjs-dimension-frame\"\u003e\u003cdiv class=\"cjs-dimension-slide is-active\" data-dimension-slide=\"\" aria-hidden=\"false\"\u003e\u003cbutton class=\"cjs-image-button\" type=\"button\" aria-label=\"Open size diagram\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/7a4a0114c4dcf118044a829c0b07df7e.jpg\" alt=\"Size diagram, 9.1\" high=\"\" by=\"\" wide=\"\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"cjs-specs\" role=\"list\" aria-label=\"Product specifications\"\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eProduct\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003eWalnut and black travertine wall sconce, plug-in\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eMaterial\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003eBlack travertine, walnut, metal\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eSize\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003e\n\u003cspan class=\"cjs-spec-line\"\u003eW 10.0 × H 23.0 cm\u003c\/span\u003e\u003cspan class=\"cjs-spec-line\"\u003eW 3.9\" × H 9.1\"\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eCanopy\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003e\n\u003cspan class=\"cjs-spec-line\"\u003eW 3.0 × D 4.6 × H 23.1 cm\u003c\/span\u003e\u003cspan class=\"cjs-spec-line\"\u003eW 1.2\" × D 1.8\" × H 9.1\"\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eInstallation\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003e\n\u003cspan class=\"cjs-spec-line\"\u003ePlug-in cord, US \/ UK \/ AU \/ EU\u003c\/span\u003e\u003cspan class=\"cjs-spec-line\"\u003eCord ~6 ft \/ 1.8 m \/ 70.9\"\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eControl\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003eOn-fixture pull chain\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003ePivot\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003e90° left and 90° right\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eLight\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003e\n\u003cspan class=\"cjs-spec-line\"\u003eIntegrated LED, about 5 W\u003c\/span\u003e\u003cspan class=\"cjs-spec-line\"\u003eNo separate bulb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eVoltage\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003e100-240v\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003ePlate\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003eOptional cover, Ø 12 cm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"cjs-spec-label\"\u003eUse\u003c\/div\u003e\n\u003cdiv class=\"cjs-spec-value\"\u003eIndoor only, not waterproof\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"cjs-section cjs-close\" aria-labelledby=\"cjs-close-title\"\u003e\u003cheader class=\"cjs-heading\"\u003e\u003cp class=\"cjs-kicker\"\u003e— Plug-in living —\u003c\/p\u003e\n\u003ch2 class=\"cjs-title\" id=\"cjs-close-title\"\u003eMake It Home. Take It With You.\u003c\/h2\u003e\n\u003cp class=\"cjs-lede\"\u003eLighting that fits your rental today—and your next home tomorrow.\u003c\/p\u003e\n\u003cdiv class=\"cjs-close-rule\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"cjs-close-card\"\u003e\n\u003cdiv class=\"cjs-close-item\"\u003e\n\u003cstrong\u003eNo Rewiring\u003c\/strong\u003e\u003cp\u003ePlug into a compatible outlet without an electrician rewiring the wall.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-close-item\"\u003e\n\u003cstrong\u003eNo Wall Chasing\u003c\/strong\u003e\u003cp\u003eKeep the cord on the surface. No new channels through the wall.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cjs-close-item\"\u003e\n\u003cstrong\u003eMoves With You\u003c\/strong\u003e\u003cp\u003eUnplug, safely unhang, and take the sconce along when it’s time to move.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cdiv class=\"cjs-lightbox\" data-lightbox-modal=\"\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Image preview\" hidden=\"\"\u003e\n\u003cbutton class=\"cjs-lightbox-close\" type=\"button\" data-lightbox-close=\"\" aria-label=\"Close image preview\"\u003e×\u003c\/button\u003e\u003cimg data-lightbox-image=\"\" alt=\"\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cscript id=\"cjs-script\"\u003e(() =\u003e {\n  const script = document.currentScript;\n  const root = script \u0026\u0026 script.previousElementSibling;\n  if (!root || !root.classList.contains(\"cjs-detail\") || root.dataset.ready === \"true\") return;\n  root.dataset.ready = \"true\";\n  const galleryPrimary = root.querySelector(\".cjs-gallery-loop--primary\");\n  const galleryClone = root.querySelector(\"[data-gallery-clone]\");\n  if (galleryPrimary \u0026\u0026 galleryClone) {\n    galleryClone.innerHTML = galleryPrimary.innerHTML;\n    galleryClone.querySelectorAll(\"button\").forEach((button) =\u003e { button.tabIndex = -1; button.removeAttribute(\"aria-label\"); });\n    galleryClone.querySelectorAll(\"img\").forEach((image) =\u003e { image.alt = \"\"; image.loading = \"lazy\"; });\n  }\n  const modal = root.querySelector(\"[data-lightbox-modal]\");\n  const modalImage = root.querySelector(\"[data-lightbox-image]\");\n  let lastFocused = null;\n  const closeModal = () =\u003e { if (!modal || modal.hidden) return; modal.hidden = true; modalImage.removeAttribute(\"src\"); if (lastFocused) lastFocused.focus(); };\n  root.addEventListener(\"click\", (event) =\u003e {\n    const trigger = event.target.closest(\".cjs-image-button,.cjs-gallery-card\");\n    const sourceImage = trigger \u0026\u0026 trigger.querySelector(\"img\");\n    const gallery = root.querySelector(\"[data-gallery]\");\n    if (trigger \u0026\u0026 sourceImage \u0026\u0026 !(gallery \u0026\u0026 gallery.classList.contains(\"is-dragged\"))) {\n      lastFocused = trigger;\n      modalImage.src = sourceImage.currentSrc || sourceImage.src;\n      modalImage.alt = sourceImage.alt || \"Product image preview\";\n      modal.hidden = false;\n      const close = root.querySelector(\"[data-lightbox-close]\");\n      if (close) close.focus();\n    }\n    if (event.target.matches(\"[data-lightbox-close]\") || event.target === modal) closeModal();\n  });\n  document.addEventListener(\"keydown\", (event) =\u003e { if (event.key === \"Escape\") closeModal(); });\n  const states = Array.from(root.querySelectorAll(\"[data-state]\"));\n  const stateControls = Array.from(root.querySelectorAll(\"[data-state-control]\"));\n  let activeState = 0;\n  let stateTimer = null;\n  let leaveTimer = null;\n  const showState = (index) =\u003e {\n    const next = (index + states.length) % states.length;\n    states.forEach((state, stateIndex) =\u003e {\n      const active = stateIndex === next;\n      const leaving = stateIndex === activeState \u0026\u0026 stateIndex !== next;\n      state.classList.toggle(\"is-active\", active);\n      state.classList.toggle(\"is-leaving\", leaving);\n      state.setAttribute(\"aria-hidden\", String(!active));\n      const button = state.querySelector(\"button\");\n      if (button) button.tabIndex = active ? 0 : -1;\n    });\n    activeState = next;\n    window.clearTimeout(leaveTimer);\n    leaveTimer = window.setTimeout(() =\u003e {\n      states.forEach((state) =\u003e { if (!state.classList.contains(\"is-active\")) state.classList.remove(\"is-leaving\"); });\n    }, 1280);\n    stateControls.forEach((control, controlIndex) =\u003e {\n      const active = controlIndex === activeState;\n      control.classList.toggle(\"is-active\", active);\n      control.setAttribute(\"aria-pressed\", String(active));\n    });\n  };\n  const startStateTimer = () =\u003e {\n    window.clearInterval(stateTimer);\n    if (!window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) stateTimer = window.setInterval(() =\u003e showState(activeState + 1), 2000);\n  };\n  stateControls.forEach((control) =\u003e control.addEventListener(\"click\", () =\u003e { showState(Number(control.dataset.stateControl)); startStateTimer(); }));\n  showState(0);\n  startStateTimer();\n  const dimensionSlides = Array.from(root.querySelectorAll(\"[data-dimension-slide]\"));\n  let dimensionIndex = 0;\n  const showDimension = (index) =\u003e {\n    dimensionIndex = (index + dimensionSlides.length) % dimensionSlides.length;\n    dimensionSlides.forEach((slide, slideIndex) =\u003e {\n      const active = slideIndex === dimensionIndex;\n      slide.classList.toggle(\"is-active\", active);\n      slide.setAttribute(\"aria-hidden\", String(!active));\n      const button = slide.querySelector(\"button\");\n      if (button) button.tabIndex = active ? 0 : -1;\n    });\n  };\n  const prev = root.querySelector(\"[data-dimension-prev]\");\n  const next = root.querySelector(\"[data-dimension-next]\");\n  if (prev) prev.addEventListener(\"click\", () =\u003e showDimension(dimensionIndex - 1));\n  if (next) next.addEventListener(\"click\", () =\u003e showDimension(dimensionIndex + 1));\n  showDimension(0);\n  const detailSlides = Array.from(root.querySelectorAll(\"[data-detail-slide]\"));\n  let detailIndex = 0;\n  const showDetail = (index) =\u003e {\n    detailIndex = detailSlides.length ? (index + detailSlides.length) % detailSlides.length : 0;\n    const mobile = window.matchMedia(\"(max-width:700px)\").matches;\n    detailSlides.forEach((slide, slideIndex) =\u003e {\n      const active = slideIndex === detailIndex;\n      slide.classList.toggle(\"is-mobile-active\", active);\n      slide.setAttribute(\"aria-hidden\", String(mobile \u0026\u0026 !active));\n    });\n  };\n  const detailPrev = root.querySelector(\"[data-detail-prev]\");\n  const detailNext = root.querySelector(\"[data-detail-next]\");\n  if (detailPrev) detailPrev.addEventListener(\"click\", () =\u003e showDetail(detailIndex - 1));\n  if (detailNext) detailNext.addEventListener(\"click\", () =\u003e showDetail(detailIndex + 1));\n  showDetail(0);\n  window.addEventListener(\"resize\", () =\u003e showDetail(detailIndex), { passive: true });\n\n  const plugScene = root.querySelector(\"[data-plug-scene]\");\n  if (plugScene) {\n    const plugSteps = Array.from(root.querySelectorAll(\"[data-plug-step]\"));\n    const plugPlay = root.querySelector(\"[data-plug-play]\");\n    const plugReduced = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n    let plugStep = 0;\n    let plugTimer = null;\n    const stopPlugPlay = () =\u003e { window.clearInterval(plugTimer); plugTimer = null; };\n    const renderPlug = () =\u003e {\n      plugScene.dataset.step = String(plugStep);\n      plugScene.classList.toggle(\"is-mounted\", plugStep \u003e= 0);\n      plugScene.classList.toggle(\"is-cord\", plugStep \u003e= 1);\n      plugScene.classList.toggle(\"is-plugged\", plugStep \u003e= 2);\n      plugScene.classList.toggle(\"is-lit\", plugStep \u003e= 3);\n      plugSteps.forEach((button, index) =\u003e {\n        button.classList.toggle(\"is-active\", index === plugStep);\n        button.classList.toggle(\"is-done\", index \u003c plugStep);\n        button.setAttribute(\"aria-pressed\", String(index === plugStep));\n      });\n      if (plugPlay) {\n        plugPlay.textContent = plugTimer ? \"Pause\" : \"Play\";\n        plugPlay.setAttribute(\"aria-pressed\", String(Boolean(plugTimer)));\n      }\n    };\n    const setPlugStep = (index) =\u003e {\n      plugStep = (index + 4) % 4;\n      renderPlug();\n    };\n    const startPlugPlay = () =\u003e {\n      if (plugReduced) { setPlugStep(3); return; }\n      stopPlugPlay();\n      plugTimer = window.setInterval(() =\u003e setPlugStep(plugStep + 1), 1600);\n      renderPlug();\n    };\n    plugSteps.forEach((button) =\u003e button.addEventListener(\"click\", () =\u003e {\n      stopPlugPlay();\n      setPlugStep(Number(button.dataset.plugStep));\n    }));\n    plugPlay.addEventListener(\"click\", () =\u003e {\n      if (plugTimer) { stopPlugPlay(); renderPlug(); return; }\n      startPlugPlay();\n    });\n    plugScene.querySelector(\"[data-plug-jar]\").addEventListener(\"click\", () =\u003e {\n      stopPlugPlay();\n      setPlugStep(plugStep \u003e= 3 ? 2 : 3);\n    });\n    if (!plugReduced) startPlugPlay();\n    renderPlug();\n  }\n\n  const viewport = root.querySelector(\"[data-gallery]\");\n  const track = root.querySelector(\"[data-gallery-track]\");\n  const primary = root.querySelector(\"[data-gallery-loop]\");\n  if (!viewport || !track || !primary) return;\n  let offset = 0, loopWidth = 0, dragging = false, dragMoved = false, startX = 0, startOffset = 0;\n  const measure = () =\u003e { loopWidth = primary.getBoundingClientRect().width; };\n  const render = () =\u003e { track.style.transform = \"translate3d(\" + offset + \"px,0,0)\"; };\n  viewport.addEventListener(\"pointerdown\", (event) =\u003e {\n    if (event.button !== 0) return;\n    measure();\n    const style = window.getComputedStyle(track);\n    const matrix = new DOMMatrix(style.transform);\n    dragging = true;\n    dragMoved = false;\n    startX = event.clientX;\n    startOffset = matrix.m41 || 0;\n    offset = startOffset;\n    track.style.animation = \"none\";\n    render();\n    viewport.classList.add(\"is-grabbing\");\n    viewport.setPointerCapture(event.pointerId);\n  });\n  viewport.addEventListener(\"pointermove\", (event) =\u003e {\n    if (!dragging) return;\n    const delta = event.clientX - startX;\n    if (Math.abs(delta) \u003e 4) dragMoved = true;\n    offset = startOffset + delta;\n    if (loopWidth) { while (offset \u003e 0) offset -= loopWidth; while (offset \u003c= -loopWidth) offset += loopWidth; }\n    render();\n  });\n  const endDrag = () =\u003e {\n    if (!dragging) return;\n    dragging = false;\n    viewport.classList.remove(\"is-grabbing\");\n    viewport.classList.toggle(\"is-dragged\", dragMoved);\n    window.setTimeout(() =\u003e viewport.classList.remove(\"is-dragged\"), 90);\n    track.style.animation = \"\";\n    track.style.transform = \"\";\n  };\n  viewport.addEventListener(\"pointerup\", endDrag);\n  viewport.addEventListener(\"pointercancel\", endDrag);\n})();\u003c\/script\u003e","brand":"monulo","offers":[{"title":"9.1″ \/ 23 cm \/ Walnut + Black \/ US Plug","offer_id":67826158108830,"sku":"Hotplugin-walllamp-1020184","price":129.0,"currency_code":"USD","in_stock":true},{"title":"9.1″ \/ 23 cm \/ Walnut + Black \/ UK Plug","offer_id":67826158141598,"sku":"Hotplugin-walllamp-1020183","price":129.0,"currency_code":"USD","in_stock":true},{"title":"9.1″ \/ 23 cm \/ Walnut + Black \/ AU Plug","offer_id":67826158174366,"sku":"Hotplugin-walllamp-1020182","price":129.0,"currency_code":"USD","in_stock":true},{"title":"9.1″ \/ 23 cm \/ Walnut + Black \/ EU Plug","offer_id":67826158207134,"sku":"Hotplugin-walllamp-1020181","price":129.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0680\/6349\/4302\/files\/1e5090cb85949bb2f1d4e9ee07104af0.jpg?v=1793067956","url":"https:\/\/www.monulo.com\/fr\/products\/vera-plug-in-wall-sconce","provider":"Monulo","version":"1.0","type":"link"}