{"product_id":"ornate-french-style-brass-ring-cabinet-pull","title":"Ornate French-Style Brass Ring Cabinet Pull","description":"\u003csection class=\"brp\" id=\"brp-detail\"\u003e   \u003cstyle\u003e     #brp-detail{--ink:#26231f;--muted:#676158;--paper:#fff;--soft:#f4f1eb;--panel:#faf8f4;--accent:#9a733d;--line:#ded8ce;max-width:1180px;margin:0 auto;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;letter-spacing:0;overflow:hidden}     #brp-detail,#brp-detail *{box-sizing:border-box;min-width:0}     #brp-detail .brp-kicker{margin:0 0 8px;color:var(--accent);font-size:12px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:0}     #brp-detail .brp-module{padding:clamp(28px,5vw,56px) clamp(18px,4vw,48px);border-top:1px solid var(--line)}     #brp-detail h3{margin:0;font-size:24px;line-height:1.2;letter-spacing:0}     #brp-detail .brp-copy{margin:10px 0 0;color:var(--muted);font-size:15px}     #brp-detail figure{display:block;margin:0;padding:0;line-height:0;overflow:hidden;background:var(--soft);border-radius:8px}     #brp-detail figure\u003eimg{display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;object-fit:cover}     #brp-detail .brp-detail-head{max-width:700px;margin-bottom:22px}     #brp-detail .brp-carousel{position:relative}     #brp-detail .brp-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:8px}     #brp-detail .brp-track::-webkit-scrollbar{display:none}     #brp-detail .brp-slide{scroll-snap-align:start;aspect-ratio:16\/10}     #brp-detail .brp-slide img{object-position:center center}     @media(min-width:761px){       #brp-detail .brp-detail-gallery .brp-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:14px;overflow:visible;scroll-snap-type:none;border-radius:0}       #brp-detail .brp-detail-gallery .brp-slide{aspect-ratio:1\/1}       #brp-detail .brp-detail-gallery .brp-slide img{object-fit:cover;object-position:center center}       #brp-detail .brp-detail-gallery .brp-arrow,#brp-detail .brp-detail-gallery .brp-dots{display:none}     }     #brp-detail .brp-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:42px;height:42px;padding:0;transform:translateY(-50%);border:1px solid rgba(38,35,31,.18);border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(38,35,31,.12)}     #brp-detail .brp-arrow:hover{background:#fff}     #brp-detail .brp-prev{left:14px}     #brp-detail .brp-next{right:14px}     #brp-detail .brp-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}     #brp-detail .brp-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c9c2b7;cursor:pointer}     #brp-detail .brp-dot[aria-current=\"true\"]{background:var(--accent)}     #brp-detail .brp-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(24px,5vw,58px);align-items:center;background:var(--panel)}     #brp-detail .brp-story figure{aspect-ratio:4\/3}     #brp-detail .brp-story img{object-position:center center}     #brp-detail .brp-spec-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(24px,5vw,58px);align-items:center}     #brp-detail .brp-spec-layout figure{aspect-ratio:1\/1}     #brp-detail .brp-spec-layout img{object-fit:contain;background:#f2f2f0}     #brp-detail .brp-spec{width:100%;margin-top:20px;border-collapse:collapse;border:1px solid var(--line);background:#fff;font-size:14px}     #brp-detail .brp-spec th,#brp-detail .brp-spec td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}     #brp-detail .brp-spec th{width:38%;background:var(--soft);color:#5f5548;font-weight:700}     #brp-detail .brp-spec tr:last-child th,#brp-detail .brp-spec tr:last-child td{border-bottom:0}     #brp-detail .brp-note{margin:14px 0 0;color:var(--muted);font-size:13px}     @media(max-width:760px){       #brp-detail h3{font-size:21px}       #brp-detail .brp-module{padding:30px 16px}       #brp-detail .brp-slide{aspect-ratio:1\/1}       #brp-detail .brp-arrow{width:38px;height:38px;font-size:21px}       #brp-detail .brp-prev{left:9px}       #brp-detail .brp-next{right:9px}       #brp-detail .brp-story,#brp-detail .brp-spec-layout{grid-template-columns:1fr}       #brp-detail .brp-story figure{aspect-ratio:1\/1}       #brp-detail .brp-spec-layout figure{order:2}       #brp-detail .brp-spec th,#brp-detail .brp-spec td{display:block;width:100%}       #brp-detail .brp-spec th{padding-bottom:3px;border-bottom:0}       #brp-detail .brp-spec td{padding-top:3px}     }     @media(prefers-reduced-motion:reduce){#brp-detail .brp-track{scroll-behavior:auto}}   \u003c\/style\u003e   \u003csection class=\"brp-module\" data-module-id=\"detail\" data-module-type=\"detail-carousel\"\u003e     \u003cdiv class=\"brp-detail-head\"\u003e       \u003cp class=\"brp-kicker\"\u003eVisible Craft\u003c\/p\u003e       \u003ch3\u003eShaped details that catch the light from every angle.\u003c\/h3\u003e       \u003cp class=\"brp-copy\"\u003eA dimensional floral backplate frames the hinged ring, while carved scrollwork adds definition without hiding the functional grip.\u003c\/p\u003e     \u003c\/div\u003e     \u003cdiv class=\"brp-carousel brp-detail-gallery\" data-carousel\u003e       \u003cdiv class=\"brp-track\" data-track\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/41154f53dd960fc693dc6d8314ecf51b.jpg\" alt=\"Shaped details that catch the light from every angle.\"\u003e\u003c\/figure\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/a9db7ee0dd466105aec91d6556461e2b.jpg\" alt=\"Shaped details that catch the light from every angle.\"\u003e\u003c\/figure\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/1f367d73fc65a351e3e582dced309101.jpg\" alt=\"Shaped details that catch the light from every angle.\"\u003e\u003c\/figure\u003e       \u003c\/div\u003e       \u003cbutton class=\"brp-arrow brp-prev\" type=\"button\" aria-label=\"Previous Visible Craft\" data-prev\u003e‹\u003c\/button\u003e       \u003cbutton class=\"brp-arrow brp-next\" type=\"button\" aria-label=\"Next Visible Craft\" data-next\u003e›\u003c\/button\u003e       \u003cdiv class=\"brp-dots\" aria-label=\"Visible Craft\"\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 1\" aria-current=\"true\" data-dot=\"0\"\u003e\u003c\/button\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 2\" aria-current=\"false\" data-dot=\"1\"\u003e\u003c\/button\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 3\" aria-current=\"false\" data-dot=\"2\"\u003e\u003c\/button\u003e       \u003c\/div\u003e     \u003c\/div\u003e   \u003c\/section\u003e   \u003csection class=\"brp-module brp-story\" data-module-id=\"story\" data-module-type=\"story-scene-carousel\"\u003e     \u003cdiv class=\"brp-carousel brp-scene-carousel\" data-carousel\u003e       \u003cdiv class=\"brp-track\" data-track\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/a68b060519e07aacf5c6761669489ac1.jpg\" alt=\"A small hardware change with a strong decorative presence.\"\u003e\u003c\/figure\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/f51df4110c8353b5dd69a055d1e23770.jpg\" alt=\"A small hardware change with a strong decorative presence.\"\u003e\u003c\/figure\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/3b6dd7b9ec3f469d84cbe4d836f1ae97.jpg\" alt=\"A small hardware change with a strong decorative presence.\"\u003e\u003c\/figure\u003e         \u003cfigure class=\"brp-slide\"\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/8d8dc144ba8b225265f8d818b086599e.jpg\" alt=\"A small hardware change with a strong decorative presence.\"\u003e\u003c\/figure\u003e       \u003c\/div\u003e       \u003cbutton class=\"brp-arrow brp-prev\" type=\"button\" aria-label=\"Previous Classic Contrast\" data-prev\u003e‹\u003c\/button\u003e       \u003cbutton class=\"brp-arrow brp-next\" type=\"button\" aria-label=\"Next Classic Contrast\" data-next\u003e›\u003c\/button\u003e       \u003cdiv class=\"brp-dots\" aria-label=\"Classic Contrast\"\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 1\" aria-current=\"true\" data-dot=\"0\"\u003e\u003c\/button\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 2\" aria-current=\"false\" data-dot=\"1\"\u003e\u003c\/button\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 3\" aria-current=\"false\" data-dot=\"2\"\u003e\u003c\/button\u003e         \u003cbutton class=\"brp-dot\" type=\"button\" aria-label=\"Image 4\" aria-current=\"false\" data-dot=\"3\"\u003e\u003c\/button\u003e       \u003c\/div\u003e     \u003c\/div\u003e     \u003cdiv\u003e       \u003cp class=\"brp-kicker\"\u003eClassic Contrast\u003c\/p\u003e       \u003ch3\u003eA small hardware change with a strong decorative presence.\u003c\/h3\u003e       \u003cp class=\"brp-copy\"\u003eAgainst dark timber, painted cabinetry or soft neutral finishes, the sculpted brass form reads like an accent piece while keeping the cabinet easy to open.\u003c\/p\u003e     \u003c\/div\u003e   \u003c\/section\u003e   \u003csection class=\"brp-module brp-spec-layout\" data-module-id=\"specs\" data-module-type=\"specifications\"\u003e     \u003cdiv\u003e       \u003cp class=\"brp-kicker\"\u003eSpecifications\u003c\/p\u003e       \u003ch3\u003eCompact proportions for drawers, cabinets and wardrobe doors.\u003c\/h3\u003e       \u003ctable class=\"brp-spec\"\u003e         \u003ctbody\u003e           \u003ctr\u003e\n\u003cth\u003eMaterial\u003c\/th\u003e\n\u003ctd\u003eBrass\u003c\/td\u003e\n\u003c\/tr\u003e           \u003ctr\u003e\n\u003cth\u003eFinish\u003c\/th\u003e\n\u003ctd\u003e24K gold-plated finish\u003c\/td\u003e\n\u003c\/tr\u003e           \u003ctr\u003e\n\u003cth\u003eBackplate Diameter\u003c\/th\u003e\n\u003ctd\u003e35 mm \/ 1.38 in\u003c\/td\u003e\n\u003c\/tr\u003e           \u003ctr\u003e\n\u003cth\u003eMounting\u003c\/th\u003e\n\u003ctd\u003eSurface mounted; pre-drilled hole required\u003c\/td\u003e\n\u003c\/tr\u003e           \u003ctr\u003e\n\u003cth\u003eQuantity\u003c\/th\u003e\n\u003ctd\u003e1 piece\u003c\/td\u003e\n\u003c\/tr\u003e           \u003ctr\u003e\n\u003cth\u003eCare\u003c\/th\u003e\n\u003ctd\u003eWipe with a soft, dry cloth; avoid abrasive cleaners\u003c\/td\u003e\n\u003c\/tr\u003e         \u003c\/tbody\u003e       \u003c\/table\u003e       \u003cp class=\"brp-note\"\u003eConfirm the required screw length for your cabinet or drawer thickness before installation.\u003c\/p\u003e     \u003c\/div\u003e     \u003cfigure\u003e\u003cimg src=\"https:\/\/7889264f09.yunchenkeji.com\/media\/product\/585\/image\/2026\/07\/17\/d4798dfed322efd2ceff3814a28b08e9.jpg\" alt=\"Ornate French-Style Brass Ring Cabinet Pull\"\u003e\u003c\/figure\u003e   \u003c\/section\u003e   \u003cscript\u003e     (() =\u003e {       const root = document.getElementById('brp-detail');       if (!root) return;       root.querySelectorAll('[data-carousel]').forEach((carousel) =\u003e {         const track = carousel.querySelector('[data-track]');         const slides = Array.from(track.children);         const dots = Array.from(carousel.querySelectorAll('[data-dot]'));         let index = 0;         const show = (nextIndex) =\u003e {           index = (nextIndex + slides.length) % slides.length;           track.scrollTo({ left: slides[index].offsetLeft, behavior: 'smooth' });           dots.forEach((dot, dotIndex) =\u003e dot.setAttribute('aria-current', String(dotIndex === index)));         };         carousel.querySelector('[data-prev]').addEventListener('click', () =\u003e show(index - 1));         carousel.querySelector('[data-next]').addEventListener('click', () =\u003e show(index + 1));         dots.forEach((dot) =\u003e dot.addEventListener('click', () =\u003e show(Number(dot.dataset.dot))));         track.addEventListener('scroll', () =\u003e {           const nextIndex = Math.round(track.scrollLeft \/ Math.max(track.clientWidth, 1));           if (nextIndex !== index \u0026\u0026 slides[nextIndex]) {             index = nextIndex;             dots.forEach((dot, dotIndex) =\u003e dot.setAttribute('aria-current', String(dotIndex === index)));           }         }, { passive: true });       });     })();   \u003c\/script\u003e \u003c\/section\u003e","brand":"monulo","offers":[{"title":"35 mm \/ 1.38 in \/ Brass \/ 24K Gold-Plated","offer_id":48069074878622,"sku":"TBCODEX03-1006911","price":129.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0680\/6349\/4302\/files\/d4798dfed322efd2ceff3814a28b08e9.jpg?v=1785486177","url":"https:\/\/www.monulo.com\/products\/ornate-french-style-brass-ring-cabinet-pull","provider":"Monulo","version":"1.0","type":"link"}