{"product_id":"flexible-rotatable-cylinder-plug-in-wall-lamp","title":"Flexible Rotatable Cylinder Plug-in Wall Lamp","description":"\u003cstyle id=\"mgl-style\"\u003e.mgl-detail{--mgl-ink:#2c2e2c;--mgl-muted:#5e584f;--mgl-paper:#f6f2ea;--mgl-warm:#e7dcc8;--mgl-glass:#f7f4ee;--mgl-chrome:#8a8d88;--mgl-amber:#d8a264;--mgl-sage:#4e5646;--mgl-line:rgba(44,46,44,.14);box-sizing:border-box;max-width:1220px;margin:0 auto;overflow:hidden;background:var(--mgl-paper);color:var(--mgl-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;font-size:16px;line-height:1.6;letter-spacing:normal}.mgl-detail *,.mgl-detail *::before,.mgl-detail *::after{box-sizing:border-box}.mgl-detail button{font:inherit}.mgl-section{position:relative;padding:48px 58px}.mgl-heading{max-width:760px;margin:0 0 22px}.mgl-kicker{margin:0 0 9px;color:var(--mgl-sage);font-size:12px;font-weight:750;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}.mgl-detail h1.mgl-title,.mgl-detail h2.mgl-title,.mgl-title{margin:0 0 16px;color:var(--mgl-ink);font-family:Georgia,\"Times New Roman\",serif!important;font-size:36px;font-weight:400!important;line-height:1.14;letter-spacing:0;overflow-wrap:anywhere}.mgl-lede{margin:0;color:var(--mgl-muted);font-size:16px;font-weight:400;line-height:1.65;overflow-wrap:anywhere}.mgl-hero{padding:0!important;margin:0!important;background:radial-gradient(ellipse 46% 38% at 86% 12%,rgba(216,162,100,.2),transparent 70%),radial-gradient(circle at 96% 88%,rgba(142,150,132,.16),transparent 42%),linear-gradient(165deg,#f8f5ef 0%,#f3eee4 58%,#e9e0d2 100%)}.mgl-hero::after{content:\"\";position:absolute;right:-72px;bottom:-96px;width:280px;height:280px;pointer-events:none;opacity:.2;background:radial-gradient(circle,transparent 46%,rgba(44,46,44,.55) 47.4%,transparent 49%),radial-gradient(circle,transparent 62%,rgba(142,150,132,.9) 63.3%,transparent 65.2%);mask-image:linear-gradient(140deg,transparent,#000 58%)}.mgl-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch}.mgl-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:56px 56px 58px 54px}.mgl-hero-copy .mgl-title{max-width:520px;font-size:42px}.mgl-hero-copy .mgl-lede{max-width:500px}.mgl-light-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:30px;max-width:500px}.mgl-light-note{display:flex;align-items:center;gap:9px;color:var(--mgl-sage);font-size:13px;font-weight:650;line-height:1.4}.mgl-light-note::before{content:\"\";display:block;width:9px;height:9px;border-radius:50%;background:var(--mgl-amber);box-shadow:0 0 0 4px rgba(216,162,100,.22)}.mgl-light-note:nth-child(2)::before{background:#8e9684;box-shadow:0 0 0 4px rgba(142,150,132,.2)}.mgl-light-note:nth-child(3)::before{background:#2c2e2c;box-shadow:0 0 0 4px rgba(44,46,44,.12)}.mgl-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.mgl-image-button:focus-visible,.mgl-gallery-card:focus-visible{outline:2px solid var(--mgl-amber);outline-offset:4px}.mgl-switcher{position:relative;min-width:0;width:100%;aspect-ratio:1\/1;overflow:hidden;background:#f1ece3;padding:0!important;margin:0!important;align-self:start}.mgl-state{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0;pointer-events:none;line-height:0;will-change:opacity}.mgl-state .mgl-image-button{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;pointer-events:auto}.mgl-switcher .mgl-state .mgl-image-button{pointer-events:none}.mgl-state img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;object-position:center;background:#f1ece3;margin:0!important;padding:0!important;border:0!important}.mgl-state::after{content:\"\";position:absolute;inset:0;pointer-events:none}.mgl-state--day{opacity:1;animation:mgl-day 4.6s ease-in-out infinite}.mgl-state--day img{filter:none}.mgl-state--day::after{background:rgba(233,225,210,.14)}.mgl-state--lit{animation:mgl-lit 4.6s ease-in-out infinite}.mgl-state--lit img{filter:none}.mgl-state--lit::after{background:radial-gradient(circle at 46% 42%,rgba(216,162,100,.18),transparent 36%)}@keyframes mgl-day{0%,32.6%{opacity:1}50%,82.6%{opacity:0}100%{opacity:1}}@keyframes mgl-lit{0%,32.6%{opacity:0}50%,82.6%{opacity:1}100%{opacity:0}}.mgl-state-label{display:none}.mgl-details{background:var(--mgl-paper)}.mgl-details::before,.mgl-parameters::before{content:\"\";position:absolute;left:58px;right:58px;top:0;height:1px;background:var(--mgl-line)}.mgl-detail-carousel{position:relative}.mgl-detail-nav{display:none}.mgl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mgl-figure{min-width:0;margin:0}.mgl-detail-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(44,46,44,.12);border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(44,46,44,.06);padding:0!important;margin:0!important}.mgl-detail-card .mgl-image-button{height:auto!important;flex:none;margin:0!important;padding:0!important}.mgl-figure img{display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:1\/1;object-fit:cover;background:#f1ece3;margin:0!important;padding:0!important;border:0!important}.mgl-caption{flex:1;margin:0;padding:16px 18px 18px;color:var(--mgl-muted);font-size:15px;line-height:1.55;background:#fff}.mgl-caption strong{display:block;margin-bottom:5px;color:var(--mgl-ink);font-size:16px;font-weight:700;line-height:1.35}.mgl-highlights{padding-top:38px;padding-bottom:38px;background:radial-gradient(ellipse 42% 70% at 8% 100%,rgba(216,162,100,.18),transparent 72%),radial-gradient(circle at 100% 0%,rgba(142,150,132,.18),transparent 46%),linear-gradient(145deg,#f4efe6 0%,#e6dfd2 100%)}.mgl-highlights::after{content:\"\";position:absolute;right:7%;bottom:-36px;width:210px;height:210px;pointer-events:none;opacity:.16;background:radial-gradient(circle,transparent 58%,rgba(44,46,44,.72) 59.3%,transparent 61%);mask-image:linear-gradient(0deg,#000,transparent)}.mgl-highlight-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:34px;align-items:center}.mgl-highlight-copy{max-width:470px}.mgl-highlight-list{display:grid;gap:13px;margin:26px 0 0;padding:0!important;list-style:none!important}.mgl-detail .mgl-highlight-list li{position:relative;padding-left:22px;color:var(--mgl-muted);font-size:15px;line-height:1.5;list-style:none!important}.mgl-detail .mgl-highlight-list li::marker{content:\"\"!important;color:transparent!important}.mgl-detail .mgl-highlight-list li::before{content:\"\";position:absolute;left:0;top:.66em;width:8px;height:8px;border:1px solid var(--mgl-amber);border-radius:50%;background:rgba(216,162,100,.34)}.mgl-design-figure{overflow:hidden}.mgl-design-figure img{aspect-ratio:1\/1;object-fit:contain;object-position:center;background:#efe6da}.mgl-gallery-section{padding:46px 0 54px;background:linear-gradient(180deg,#f7f4ee 0%,#ebe3d4 100%)}.mgl-gallery-heading{padding:0 58px;margin-bottom:18px}.mgl-gallery-heading .mgl-lede{max-width:640px}.mgl-gallery-viewport{position:relative;width:100%;overflow:hidden;cursor:grab;touch-action:pan-y;padding:18px 0 26px}.mgl-gallery-viewport.is-grabbing{cursor:grabbing}.mgl-gallery-track{display:flex;width:max-content;transform:translate3d(0,0,0);will-change:transform}.mgl-gallery-loop{display:flex;flex:0 0 auto;gap:14px;padding-right:14px}.mgl-gallery-card{position:relative;display:block;flex:0 0 clamp(220px,25vw,340px);width:clamp(220px,25vw,340px);aspect-ratio:1\/1;padding:7px;border:1px solid rgba(44,46,44,.12);border-radius:0;background:#fff;box-shadow:0 12px 24px rgba(44,46,44,.1);cursor:zoom-in;transition:box-shadow .2s ease}.mgl-gallery-card:nth-child(3n+1){transform:translateY(-20px) rotate(-2deg)}.mgl-gallery-card:nth-child(3n+2){transform:translateY(13px) rotate(1.6deg)}.mgl-gallery-card:nth-child(3n){transform:translateY(-4px) rotate(-.8deg)}.mgl-gallery-card img{display:block;width:100%;height:100%;aspect-ratio:1\/1;object-fit:cover;border:1px solid rgba(255,255,255,.96);background:#f1ece3;pointer-events:none}.mgl-parameters{background:linear-gradient(180deg,#e5e0d6 0%,#d9d5cb 100%)}.mgl-parameter-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.mgl-dimension-figure{position:relative;overflow:hidden;margin:0;padding:14px;border:1px solid rgba(44,46,44,.12);border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(44,46,44,.06)}.mgl-dimension-figure .mgl-image-button{height:auto!important;margin:0!important;padding:0!important}.mgl-dimension-figure img{display:block!important;width:100%!important;aspect-ratio:1\/1;object-fit:contain;background:#fff;transform:none}.mgl-specs{align-self:start;padding:22px 28px;border:1px solid rgba(44,46,44,.12);border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(44,46,44,.06)}.mgl-spec-row{display:grid;grid-template-columns:148px minmax(0,1fr);gap:22px;padding:14px 0;border-bottom:1px solid #e4ddd2;align-items:start}.mgl-spec-row:first-child{padding-top:2px}.mgl-spec-row:last-child{border-bottom:0;padding-bottom:2px}.mgl-spec-label{color:var(--mgl-ink);font-size:15px;font-weight:700;line-height:1.5}.mgl-spec-value{min-width:0;color:var(--mgl-muted);font-size:16px;line-height:1.5;overflow-wrap:anywhere}.mgl-lightbox{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:30px;background:rgba(32,32,30,.72)}.mgl-lightbox[hidden]{display:none}.mgl-lightbox img{display:block;max-width:min(90vw,920px);max-height:84vh;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.28)}.mgl-lightbox-close{position:absolute;right:24px;top:18px;width:40px;height:40px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(32,32,30,.55);color:#fff;font-size:25px;line-height:1;cursor:pointer}@media (max-width:980px){  .mgl-section{padding:42px 32px}  .mgl-hero-copy{padding:42px 34px}  .mgl-details::before,.mgl-parameters::before{left:32px;right:32px}  .mgl-gallery-heading{padding:0 32px}  .mgl-highlight-layout{gap:26px}  .mgl-parameter-layout{gap:26px}}@media (max-width:760px){  .mgl-section{padding:34px 20px}  .mgl-title{font-size:31px;line-height:1.17}  .mgl-lede{font-size:15px}  .mgl-hero-copy{padding:34px 20px 38px}  .mgl-split,.mgl-highlight-layout,.mgl-parameter-layout{grid-template-columns:1fr;gap:20px}  .mgl-hero-copy{order:2}  .mgl-hero .mgl-switcher{order:1}  .mgl-details::before,.mgl-parameters::before{left:20px;right:20px}  .mgl-detail-carousel{padding:0 10px}  .mgl-detail-carousel .mgl-grid{display:block}  .mgl-detail-carousel .mgl-figure{display:none}  .mgl-detail-carousel .mgl-figure.is-active{display:flex}  .mgl-detail-nav{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--mgl-sage);color:#fff;font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1;box-shadow:0 8px 18px rgba(44,46,44,.18);cursor:pointer;transform:translateY(-50%);transition:background .2s ease,transform .2s ease}  .mgl-detail-nav:hover,.mgl-detail-nav:focus-visible{background:var(--mgl-amber);transform:translateY(-50%) scale(1.04)}  .mgl-detail-nav:focus-visible{outline:2px solid var(--mgl-amber);outline-offset:3px}  .mgl-detail-nav--prev{left:-2px}  .mgl-detail-nav--next{right:-2px}  .mgl-highlight-copy{max-width:none}  .mgl-highlight-layout .mgl-design-figure{order:2}  .mgl-design-figure img{aspect-ratio:1\/1;object-position:center}  .mgl-gallery-section{padding:34px 0 42px}  .mgl-gallery-heading{padding:0 20px;margin-bottom:16px}  .mgl-gallery-viewport{padding:12px 0 20px}  .mgl-gallery-loop{gap:10px;padding-right:10px}  .mgl-gallery-card{flex-basis:43vw;width:43vw;max-width:none;padding:5px}  .mgl-gallery-card:nth-child(3n+1){transform:translateY(-9px) rotate(-1.3deg)}  .mgl-gallery-card:nth-child(3n+2){transform:translateY(7px) rotate(1.1deg)}  .mgl-gallery-card:nth-child(3n){transform:translateY(-2px) rotate(-.7deg)}  .mgl-parameter-layout{gap:20px}  .mgl-dimension-figure{padding:16px}  .mgl-dimension-figure img{transform:none}  .mgl-specs{padding:18px 20px}  .mgl-spec-row{grid-template-columns:1fr;gap:3px;padding:12px 0}  .mgl-spec-label{font-size:12px}  .mgl-spec-value{font-size:15px}}@media (max-width:480px){  .mgl-detail-carousel{padding:0 8px}  .mgl-detail-nav{width:42px;height:42px;font-size:32px}  .mgl-detail-nav--prev{left:-1px}  .mgl-detail-nav--next{right:-1px}  .mgl-caption{margin-top:8px;font-size:14px}}@media (min-width:761px){  .mgl-hero .mgl-switcher{height:100%;min-height:540px;aspect-ratio:auto}  .mgl-hero .mgl-state img{object-fit:cover;object-position:center}}@media (min-width:761px) and (max-width:980px){  .mgl-hero .mgl-split{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}  .mgl-hero .mgl-switcher{height:auto;min-height:0;aspect-ratio:16\/10;align-self:center}  .mgl-hero-copy{min-width:0}  .mgl-hero-copy{padding:36px 28px}  .mgl-hero-copy .mgl-title{font-size:34px}  .mgl-hero-copy .mgl-lede{font-size:15px}  .mgl-light-notes{grid-template-columns:1fr;gap:10px;margin-top:22px}  .mgl-gallery-card{flex-basis:31vw;width:31vw}}@media (min-width:981px){  .mgl-gallery-heading,.mgl-parameters .mgl-heading{max-width:none}  .mgl-gallery-heading .mgl-lede{max-width:none;white-space:nowrap}  .mgl-parameters .mgl-lede{max-width:none;white-space:normal;overflow-wrap:anywhere}  .mgl-parameters .mgl-specs{margin-top:24px}}@media (prefers-reduced-motion:reduce){  .mgl-state{animation:none}  .mgl-state--day{opacity:1}  .mgl-state--lit{opacity:0}}\u003c\/style\u003e\u003cdiv class=\"mgl-detail\" lang=\"en\"\u003e\n\u003csection class=\"mgl-section mgl-hero\" aria-labelledby=\"mgl-hero-title\"\u003e\u003cdiv class=\"mgl-split\"\u003e\n\u003cdiv class=\"mgl-switcher\" aria-label=\"Daylight and illuminated comparison\"\u003e\n\u003cfigure class=\"mgl-state mgl-state--day\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/cc5780c7253c25564006d860e8105be3.jpg\" aria-label=\"Open wall lamp in daylight\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/cc5780c7253c25564006d860e8105be3.jpg\" alt=\"Grey cylinder wall lamp beside a bed in daylight, before it is switched on\" loading=\"eager\" decoding=\"async\"\u003e \u003c\/button\u003e\u003cfigcaption class=\"mgl-state-label\"\u003eDaylight\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"mgl-state mgl-state--lit\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/cc05bf5eba762143bc8a903eab053cdc.jpg\" aria-label=\"Open illuminated wall lamp\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/cc05bf5eba762143bc8a903eab053cdc.jpg\" alt=\"The same grey cylinder wall lamp switched on beside the bed at dusk\" loading=\"eager\" decoding=\"async\"\u003e \u003c\/button\u003e\u003cfigcaption class=\"mgl-state-label\"\u003eIlluminated\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-hero-copy\"\u003e\n\u003cp class=\"mgl-kicker\"\u003ePlug-in wall light\u003c\/p\u003e\n\u003ch1 class=\"mgl-title\" id=\"mgl-hero-title\"\u003eFrom clear daylight to an aimed glow\u003c\/h1\u003e\n\u003cp class=\"mgl-lede\"\u003eWatch the same bedside shift from open daylight to a softer evening pool. The cylinder stays on the wall, then sends a warm aim across the bedding once it is switched on.\u003c\/p\u003e\n\u003cdiv class=\"mgl-light-notes\" aria-label=\"Light mood notes\"\u003e\n\u003cspan class=\"mgl-light-note\"\u003eClear in daylight\u003c\/span\u003e \u003cspan class=\"mgl-light-note\"\u003eAimed warmth after dusk\u003c\/span\u003e \u003cspan class=\"mgl-light-note\"\u003eShade turns up to 350°\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"mgl-section mgl-details\" aria-labelledby=\"mgl-details-title\"\u003e\u003cheader class=\"mgl-heading\"\u003e\u003cp class=\"mgl-kicker\"\u003eMaterial study\u003c\/p\u003e\n\u003ch2 class=\"mgl-title\" id=\"mgl-details-title\"\u003eDetails worth looking closer at\u003c\/h2\u003e\n\u003cp class=\"mgl-lede\"\u003eThe open cylinder and brass-ringed button stay tactile. The small wood knob on top is decorative.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"mgl-detail-carousel\" data-detail-carousel=\"\"\u003e\n\u003cbutton class=\"mgl-detail-nav mgl-detail-nav--prev\" type=\"button\" data-detail-prev=\"\" aria-label=\"Previous detail image\"\u003e‹\u003c\/button\u003e\u003cdiv class=\"mgl-grid\"\u003e\n\u003cfigure class=\"mgl-figure mgl-detail-card\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/f233279e7f88c5f9425b9f6727ba4872.jpg\" aria-label=\"Open cylinder shade detail\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/f233279e7f88c5f9425b9f6727ba4872.jpg\" alt=\"Close view of the open metal cylinder and pale interior\" loading=\"lazy\" decoding=\"async\"\u003e \u003c\/button\u003e\u003cfigcaption class=\"mgl-caption\"\u003e\u003cstrong\u003eOpen cylinder\u003c\/strong\u003eThe metal shade is open at the front, with a pale interior so the light leaves through the opening.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"mgl-figure mgl-detail-card\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/08\/506adbdb5c7316fd7e2a5cfb3ad029e4.jpg\" aria-label=\"Open push button detail\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/08\/506adbdb5c7316fd7e2a5cfb3ad029e4.jpg\" alt=\"Close view of the brass-ringed push button on the back plate\" loading=\"lazy\" decoding=\"async\"\u003e \u003c\/button\u003e\u003cfigcaption class=\"mgl-caption\"\u003e\u003cstrong\u003ePush-button plate\u003c\/strong\u003eA brass-ringed push button on the back plate switches the lamp, with a second in-line switch on the cord.\u003c\/figcaption\u003e\u003c\/figure\u003e\u003cfigure class=\"mgl-figure mgl-detail-card\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/08\/0cd5726c402253e2cc823bbc28f67a54.jpg\" aria-label=\"Open decorative knob detail\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/08\/0cd5726c402253e2cc823bbc28f67a54.jpg\" alt=\"Close view of the cylinder shade and decorative wood knob\" loading=\"lazy\" decoding=\"async\"\u003e \u003c\/button\u003e\u003cfigcaption class=\"mgl-caption\"\u003e\u003cstrong\u003eDecorative knob\u003c\/strong\u003eThe small wood knob on top is decorative. Turn the shade itself to aim the light, up to 350°.\u003c\/figcaption\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"mgl-detail-nav mgl-detail-nav--next\" type=\"button\" data-detail-next=\"\" aria-label=\"Next detail image\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"mgl-section mgl-highlights\" aria-labelledby=\"mgl-highlights-title\"\u003e\u003cdiv class=\"mgl-highlight-layout\"\u003e\n\u003cdiv class=\"mgl-highlight-copy\"\u003e\n\u003cp class=\"mgl-kicker\"\u003eDesign highlights\u003c\/p\u003e\n\u003ch2 class=\"mgl-title\" id=\"mgl-highlights-title\"\u003eA compact cylinder with a movable aim\u003c\/h2\u003e\n\u003cp class=\"mgl-lede\"\u003eThe eye moves from the rounded back plate to the tilted shade, then settles on the opening where the light leaves.\u003c\/p\u003e\n\u003cul class=\"mgl-highlight-list\"\u003e\n\u003cli\u003eThe shade turns up to 350°, so the opening can face a page, a desk, or the wall.\u003c\/li\u003e\n\u003cli\u003eA 70.9 in (180 cm) plug-in cord keeps placement simple, with no hardwiring.\u003c\/li\u003e\n\u003cli\u003eWhite, Green, Grey, and Black finishes sit quietly against plaster, oak, and linen.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"mgl-figure mgl-design-figure\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/c7ffd77d3314fe27a59f581d4a4eb1ab.jpg\" aria-label=\"Open wall lamp design study\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/c7ffd77d3314fe27a59f581d4a4eb1ab.jpg\" alt=\"Design study of the rotatable cylinder wall lamp, with 350 degree movement, a plug-in cord, and White, Green, Grey, and Black finishes\" loading=\"lazy\" decoding=\"async\"\u003e \u003c\/button\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"mgl-section mgl-gallery-section\" aria-labelledby=\"mgl-gallery-title\"\u003e\u003cheader class=\"mgl-gallery-heading\"\u003e\u003cp class=\"mgl-kicker\"\u003eIn context\u003c\/p\u003e\n\u003ch2 class=\"mgl-title\" id=\"mgl-gallery-title\"\u003eA quiet presence beside the bed or desk\u003c\/h2\u003e\n\u003cp class=\"mgl-lede\"\u003eBrowse daylight and evening rooms, from a bedside lamp to a wider desk or living scene.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"mgl-gallery-viewport\" data-gallery=\"\"\u003e\u003cdiv class=\"mgl-gallery-track\" data-gallery-track=\"\"\u003e\n\u003cdiv class=\"mgl-gallery-loop\" data-gallery-loop=\"\"\u003e\n\u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/8abf9dac99c7d0c72316f4f20589a509.jpg\" aria-label=\"Open daylight bedroom scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/8abf9dac99c7d0c72316f4f20589a509.jpg\" alt=\"Black cylinder wall lamp beside a bed in daylight, before it is switched on\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/b0e95e37d9ad84a0df2c414f64ccac57.jpg\" aria-label=\"Open green bedroom scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/b0e95e37d9ad84a0df2c414f64ccac57.jpg\" alt=\"Green cylinder wall lamp beside a wood headboard in daylight\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/c802e59f2b3244157f450baddb21da67.jpg\" aria-label=\"Open daylight desk scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/c802e59f2b3244157f450baddb21da67.jpg\" alt=\"Black cylinder wall lamp angled toward a desk by a bright window\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ebcfc9eba88a820a8885c895cab900be.jpg\" aria-label=\"Open daylight living room scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ebcfc9eba88a820a8885c895cab900be.jpg\" alt=\"White cylinder wall lamp above an armchair in a bright living room\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/1b812f02b5f7238441332630985fd687.jpg\" aria-label=\"Open daylight dining scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/1b812f02b5f7238441332630985fd687.jpg\" alt=\"Black cylinder wall lamp above a dining table in daylight\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/2fdb0596d4c696bb8490c42b0fd4524f.jpg\" aria-label=\"Open illuminated bedroom scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/2fdb0596d4c696bb8490c42b0fd4524f.jpg\" alt=\"The same black cylinder wall lamp glowing beside the bed at dusk\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/a0a149315e5233e6e006dd973bcca90d.jpg\" aria-label=\"Open white bedroom scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/a0a149315e5233e6e006dd973bcca90d.jpg\" alt=\"White cylinder wall lamp beside an upholstered bed in daylight\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/33ab0df5947d073bb8969c05aed573f7.jpg\" aria-label=\"Open grey desk scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/33ab0df5947d073bb8969c05aed573f7.jpg\" alt=\"Grey cylinder wall lamp angled toward a desk by a window\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/38ef80f1ffc280ca1e6f571887665c23.jpg\" aria-label=\"Open green window scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/38ef80f1ffc280ca1e6f571887665c23.jpg\" alt=\"Green cylinder wall lamp beside a bed and a bright window\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/e9408e7fa4a301312fcadf9da6636102.jpg\" aria-label=\"Open white armchair scene\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/e9408e7fa4a301312fcadf9da6636102.jpg\" alt=\"White cylinder wall lamp above a boucle armchair and round side table\" loading=\"eager\" decoding=\"async\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-gallery-loop\" data-gallery-loop=\"\" aria-hidden=\"true\"\u003e\n\u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/8abf9dac99c7d0c72316f4f20589a509.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/8abf9dac99c7d0c72316f4f20589a509.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/b0e95e37d9ad84a0df2c414f64ccac57.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/b0e95e37d9ad84a0df2c414f64ccac57.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/c802e59f2b3244157f450baddb21da67.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/c802e59f2b3244157f450baddb21da67.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ebcfc9eba88a820a8885c895cab900be.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/ebcfc9eba88a820a8885c895cab900be.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/1b812f02b5f7238441332630985fd687.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/1b812f02b5f7238441332630985fd687.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/2fdb0596d4c696bb8490c42b0fd4524f.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/2fdb0596d4c696bb8490c42b0fd4524f.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/a0a149315e5233e6e006dd973bcca90d.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/a0a149315e5233e6e006dd973bcca90d.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/33ab0df5947d073bb8969c05aed573f7.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/33ab0df5947d073bb8969c05aed573f7.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/38ef80f1ffc280ca1e6f571887665c23.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/38ef80f1ffc280ca1e6f571887665c23.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e \u003cbutton class=\"mgl-gallery-card\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/e9408e7fa4a301312fcadf9da6636102.jpg\" tabindex=\"-1\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/e9408e7fa4a301312fcadf9da6636102.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"mgl-section mgl-parameters\" aria-labelledby=\"mgl-parameters-title\"\u003e\u003cheader class=\"mgl-heading\"\u003e\u003cp class=\"mgl-kicker\"\u003eSpecifications\u003c\/p\u003e\n\u003ch2 class=\"mgl-title\" id=\"mgl-parameters-title\"\u003eProportions made to sit close to the wall\u003c\/h2\u003e\n\u003cp class=\"mgl-lede\"\u003eA 13 cm shade, 20 cm projection, and plug-in cord make this wall lamp easy to place beside a bed or desk.\u003c\/p\u003e\u003c\/header\u003e\u003cdiv class=\"mgl-parameter-layout\"\u003e\n\u003cfigure class=\"mgl-dimension-figure\"\u003e\u003cbutton class=\"mgl-image-button\" type=\"button\" data-lightbox=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/f37fccce6ff1c2ea307b99cf0ca79fcb.jpg\" aria-label=\"Open wall lamp dimension diagram\"\u003e \u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/10\/12\/f37fccce6ff1c2ea307b99cf0ca79fcb.jpg\" alt=\"Dimension diagram showing 13 cm diameter and 30 cm height\" loading=\"eager\" decoding=\"async\"\u003e \u003c\/button\u003e\u003c\/figure\u003e\u003cdiv class=\"mgl-specs\" role=\"list\" aria-label=\"Product specifications\"\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eMaterial\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003eMetal\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eLight source\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003eE26 \/ E27 (not included)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eShade Size\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003eDia 13 cm × H 30 cm \/ Ø 5.1″ × H 11.8″\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eProjection\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003e20 cm \/ 7.9″ from the wall\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eCord\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003e180 cm \/ 70.9″, plug-in\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eRotation\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003eUp to 350°\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eVoltage\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003eAC 100–240V\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003eSwitching\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003ePush button on the body, plus in-line cord switch\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-row\" role=\"listitem\"\u003e\n\u003cdiv class=\"mgl-spec-label\"\u003ePlug\u003c\/div\u003e\n\u003cdiv class=\"mgl-spec-value\"\u003eUS, UK, EU, or AU\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cdiv class=\"mgl-lightbox\" data-lightbox-modal=\"\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Image preview\" hidden=\"\"\u003e\n\u003cbutton class=\"mgl-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=\"mgl-script\"\u003e\n(() =\u003e {\n  const root = document.currentScript \u0026\u0026 document.currentScript.previousElementSibling;\n  if (!root || !root.classList.contains('mgl-detail')) return;\n  const modal = root.querySelector('[data-lightbox-modal]');\n  const modalImage = root.querySelector('[data-lightbox-image]');\n  const closeModal = () =\u003e { modal.hidden = true; modalImage.removeAttribute('src'); };\n  root.addEventListener('click', (event) =\u003e {\n    const trigger = event.target.closest('[data-lightbox]');\n    if (trigger \u0026\u0026 !root.querySelector('[data-gallery]')?.classList.contains('is-dragged')) {\n      modalImage.src = trigger.dataset.lightbox;\n      modalImage.alt = trigger.querySelector('img')?.alt || 'Product image preview';\n      modal.hidden = false;\n    }\n    if (event.target.matches('[data-lightbox-close]') || event.target === modal) closeModal();\n  });\n  document.addEventListener('keydown', (event) =\u003e { if (event.key === 'Escape' \u0026\u0026 !modal.hidden) closeModal(); });\n\n  const switcher = root.querySelector('.mgl-switcher');\n  const syncSwitcherHitArea = () =\u003e {\n    if (switcher) {\n      switcher.querySelectorAll('.mgl-state').forEach((state) =\u003e {\n        const button = state.querySelector('.mgl-image-button');\n        if (button) button.style.pointerEvents = Number.parseFloat(getComputedStyle(state).opacity) \u003e 0.5 ? 'auto' : 'none';\n      });\n      requestAnimationFrame(syncSwitcherHitArea);\n    }\n  };\n  syncSwitcherHitArea();\n\n  const detailCarousel = root.querySelector('[data-detail-carousel]');\n  if (detailCarousel) {\n    const detailCards = [...detailCarousel.querySelectorAll('.mgl-figure')];\n    const previousDetail = detailCarousel.querySelector('[data-detail-prev]');\n    const nextDetail = detailCarousel.querySelector('[data-detail-next]');\n    let detailIndex = 0;\n    const showDetail = (nextIndex) =\u003e {\n      detailIndex = (nextIndex + detailCards.length) % detailCards.length;\n      detailCards.forEach((card, index) =\u003e card.classList.toggle('is-active', index === detailIndex));\n    };\n    previousDetail?.addEventListener('click', () =\u003e showDetail(detailIndex - 1));\n    nextDetail?.addEventListener('click', () =\u003e showDetail(detailIndex + 1));\n    showDetail(0);\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;\n  let loopWidth = 0;\n  let paused = false;\n  let dragging = false;\n  let dragMoved = false;\n  let startX = 0;\n  let startOffset = 0;\n  let last = performance.now();\n  const loopDuration = 70;\n  const measure = () =\u003e { loopWidth = primary.getBoundingClientRect().width; if (loopWidth \u003e 0 \u0026\u0026 offset \u003c= -loopWidth) offset += loopWidth; };\n  const render = () =\u003e { track.style.transform = `translate3d(${offset}px,0,0)`; };\n  const tick = (now) =\u003e {\n    const delta = Math.min(40, now - last); last = now;\n    if (!paused \u0026\u0026 !dragging \u0026\u0026 loopWidth) { offset -= (loopWidth \/ loopDuration) * delta \/ 1000; if (offset \u003c= -loopWidth) offset += loopWidth; render(); }\n    requestAnimationFrame(tick);\n  };\n  viewport.addEventListener('mouseenter', () =\u003e { paused = true; });\n  viewport.addEventListener('mouseleave', () =\u003e { if (!dragging) paused = false; });\n  viewport.addEventListener('pointerdown', (event) =\u003e {\n    dragging = true; dragMoved = false; paused = true; startX = event.clientX; startOffset = offset; viewport.classList.add('is-grabbing');\n    if (event.pointerType === 'mouse') 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) { if (offset \u003e 0) offset -= loopWidth; if (offset \u003c= -loopWidth) offset += loopWidth; }\n    render();\n  });\n  const endDrag = (event) =\u003e {\n    if (!dragging) return;\n    dragging = false; viewport.classList.remove('is-grabbing');\n    if (event.pointerType === 'mouse' \u0026\u0026 viewport.hasPointerCapture(event.pointerId)) viewport.releasePointerCapture(event.pointerId);\n    window.setTimeout(() =\u003e { dragMoved = false; viewport.classList.remove('is-dragged'); }, 80);\n    viewport.classList.toggle('is-dragged', dragMoved);\n    paused = false;\n  };\n  viewport.addEventListener('pointerup', endDrag);\n  viewport.addEventListener('pointercancel', endDrag);\n  viewport.addEventListener('click', () =\u003e { if (dragMoved) viewport.classList.add('is-dragged'); }, true);\n  window.addEventListener('resize', measure, { passive: true });\n  measure(); render(); requestAnimationFrame(tick);\n})();\n\u003c\/script\u003e","brand":"monulo","offers":[{"title":"White \/ US Plug","offer_id":67826196676766,"sku":"Hotplugin-walllamp-1020611","price":120.0,"currency_code":"USD","in_stock":true},{"title":"White \/ UK Plug","offer_id":67826196709534,"sku":"Hotplugin-walllamp-1020610","price":120.0,"currency_code":"USD","in_stock":true},{"title":"White \/ EU Plug","offer_id":67826196742302,"sku":"Hotplugin-walllamp-1020609","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Green \/ US Plug","offer_id":67826196775070,"sku":"Hotplugin-walllamp-1020608","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Green \/ UK Plug","offer_id":67826196807838,"sku":"Hotplugin-walllamp-1020607","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Green \/ EU Plug","offer_id":67826196840606,"sku":"Hotplugin-walllamp-1020606","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Grey \/ US Plug","offer_id":67826196873374,"sku":"Hotplugin-walllamp-1020605","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Grey \/ UK Plug","offer_id":67826196906142,"sku":"Hotplugin-walllamp-1020604","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Grey \/ EU Plug","offer_id":67826196938910,"sku":"Hotplugin-walllamp-1020603","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Black \/ US Plug","offer_id":67826196971678,"sku":"Hotplugin-walllamp-1020602","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Black \/ UK Plug","offer_id":67826197004446,"sku":"Hotplugin-walllamp-1020601","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Black \/ EU Plug","offer_id":67826197037214,"sku":"Hotplugin-walllamp-1020600","price":120.0,"currency_code":"USD","in_stock":true},{"title":"White \/ AU Plug","offer_id":67826197069982,"sku":"Hotplugin-walllamp-1020599","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Green \/ AU Plug","offer_id":67826197102750,"sku":"Hotplugin-walllamp-1020598","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Grey \/ AU Plug","offer_id":67826197135518,"sku":"Hotplugin-walllamp-1020597","price":120.0,"currency_code":"USD","in_stock":true},{"title":"Black \/ AU Plug","offer_id":67826197168286,"sku":"Hotplugin-walllamp-1020596","price":120.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0680\/6349\/4302\/files\/9ab5181e5a4052d284352c6f46972f4d.jpg?v=1793068044","url":"https:\/\/www.monulo.com\/es\/products\/flexible-rotatable-cylinder-plug-in-wall-lamp","provider":"Monulo","version":"1.0","type":"link"}