{"product_id":"stainless-steel-bathtub-hair-catcher","title":"Stainless Steel Bathtub Hair Catcher","description":"\u003cstyle\u003e\n\/* These host rules apply only to products containing this landing component. *\/\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) {background:#faf9f5!important;padding-top:0!important;padding-bottom:0!important;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing)\u003e.page-width {max-width:1280px;padding-left:30px;padding-right:30px;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) .product.grid {display:block!important;margin:0!important;gap:0!important;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) .product__media-wrapper {display:none!important;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) .product__info-wrapper {width:100%!important;max-width:none!important;padding:0!important;position:static!important;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) product-info {display:block!important;max-width:none!important;position:static!important;top:auto!important;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) product-info\u003e:not(.product__description) {display:none!important;}\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing) .product__description {max-width:none!important;width:100%!important;margin:0!important;}\n.mn-five-landing {--mn-ink:#1d3029;--mn-green:#274b37;--mn-muted:#58675e;--mn-line:#dce1d8;--mn-paper:#faf9f5;--mn-tint:#e8ecdf;color:var(--mn-ink);font:16px\/1.65 Arial,Helvetica,sans-serif;letter-spacing:0;max-width:1160px;margin:0 auto;overflow-wrap:break-word;}\n.mn-five-landing * {box-sizing:border-box;}\n.mn-five-landing :is(h1,h2,h3,p,figure,ol,ul,form) {margin:0;padding:0;}\n.mn-five-landing :is(h1,h2,h3) {font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--mn-ink);letter-spacing:-.035em;line-height:1.12;}\n.mn-five-landing h1 {font-size:clamp(38px,4.3vw,61px);}\n.mn-five-landing h2 {font-size:clamp(31px,3.5vw,44px);}\n.mn-five-landing h3 {font-size:25px;}\n.mn-five-landing :is(img,video) {display:block;max-width:100%;height:auto;margin:0!important;border:0!important;box-shadow:none!important;}\n.mn-five-landing a {color:inherit;text-underline-offset:4px;}\n.mn-five-landing a:focus-visible,.mn-five-landing button:focus-visible,.mn-five-landing summary:focus-visible {outline:3px solid #a98548;outline-offset:5px;}\n.mn-five-landing .mn-hero {display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;padding:52px 0 56px;}\n.mn-five-landing .mn-hero:not(:has(.mn-hero-photo)) {grid-template-columns:1fr;max-width:720px;margin:0 auto;}\n.mn-five-landing .mn-hero-photo {background:#fff;border:1px solid var(--mn-line);border-radius:22px;overflow:hidden;min-width:0;}\n.mn-five-landing .mn-hero-photo img {width:100%;aspect-ratio:1;object-fit:contain;}\n.mn-five-landing .mn-eyebrow {font-size:11px;font-weight:700;letter-spacing:.18em;line-height:1.5;color:var(--mn-green);margin-bottom:18px;}\n.mn-five-landing .mn-product-name {font-size:14px;color:var(--mn-muted);margin-bottom:13px;}\n.mn-five-landing .mn-intro {font-size:17px;line-height:1.65;color:var(--mn-muted);margin-top:23px;max-width:43ch;}\n.mn-five-landing .mn-price-line {display:flex;align-items:baseline;gap:10px;margin:25px 0 20px;}\n.mn-five-landing .mn-price {font-size:29px;letter-spacing:-.025em;font-weight:700;line-height:1.2;}\n.mn-five-landing .mn-currency {font-size:12px;letter-spacing:.08em;color:var(--mn-muted);}\n.mn-five-landing .mn-buy {border:0;border-radius:8px;padding:18px 22px;background:var(--mn-green);color:#fff;font:700 16px\/1.25 Arial,Helvetica,sans-serif;width:100%;cursor:pointer;min-height:56px;}\n.mn-five-landing .mn-buy:hover:not(:disabled) {background:#1d3b2a;}\n.mn-five-landing .mn-buy:disabled {cursor:not-allowed;background:#697a6d;opacity:1;}\n.mn-five-landing .mn-availability {margin-top:11px;font-size:13px;line-height:1.5;color:var(--mn-muted);min-height:20px;}\n.mn-five-landing .mn-hero-links {display:flex;gap:24px;font-size:13px;margin-top:24px;}\n.mn-five-landing .mn-section {border-top:1px solid var(--mn-line);padding:55px 0;}\n.mn-five-landing .mn-section-head {max-width:650px;margin-bottom:30px;}\n.mn-five-landing .mn-section-head .mn-eyebrow {margin-bottom:12px;}\n.mn-five-landing .mn-features {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}\n.mn-five-landing .mn-feature {padding:29px 25px;background:var(--mn-tint);border-radius:14px;}\n.mn-five-landing .mn-number {display:block;font-size:11px;letter-spacing:.1em;color:var(--mn-muted);font-weight:700;margin-bottom:22px;}\n.mn-five-landing .mn-feature h3 {margin-bottom:14px;}\n.mn-five-landing .mn-feature p {font-size:15px;line-height:1.7;color:#44564a;}\n.mn-five-landing .mn-gallery {display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:22px;margin-top:30px;}\n.mn-five-landing .mn-gallery figure {background:#fff;border:1px solid var(--mn-line);border-radius:16px;overflow:hidden;}\n.mn-five-landing .mn-gallery img {width:100%;aspect-ratio:1;object-fit:contain;}\n.mn-five-landing .mn-how {background:#243d32;border-radius:20px;padding:40px 34px;color:#f4f5ee;}\n.mn-five-landing .mn-how :is(h2,h3) {color:#f4f5ee;}\n.mn-five-landing .mn-how .mn-eyebrow {color:#d1ddc6;}\n.mn-five-landing .mn-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:29px;list-style:none!important;counter-reset:mn-step;margin-top:34px;}\n.mn-five-landing .mn-steps li {list-style:none!important;margin:0;padding:0;counter-increment:mn-step;font-size:15px;line-height:1.75;color:#e4eade;}\n.mn-five-landing .mn-steps li::before {content:'0' counter(mn-step);display:flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid #91a18d;border-radius:50%;color:#f4f5ee;font-size:12px;margin-bottom:17px;}\n.mn-five-landing .mn-faq-layout {display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;}\n.mn-five-landing .mn-faqs details {border-bottom:1px solid var(--mn-line);margin:0;padding:0;}\n.mn-five-landing .mn-faqs details:first-child {border-top:1px solid var(--mn-line);}\n.mn-five-landing .mn-faqs summary {cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-size:16px;font-weight:700;line-height:1.5;color:var(--mn-ink);list-style:none;}\n.mn-five-landing .mn-faqs summary::-webkit-details-marker {display:none;}\n.mn-five-landing .mn-faqs summary::after {content:'+';font-weight:400;font-size:22px;line-height:1;flex:none;}\n.mn-five-landing .mn-faqs details[open] summary::after {content:'−';}\n.mn-five-landing .mn-faqs details p {padding:0 24px 23px 0;color:var(--mn-muted);font-size:15px;line-height:1.75;}\n.mn-five-landing .mn-closing {padding:30px 0 58px;text-align:center;}\n.mn-five-landing .mn-closing a {display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 28px;border:1px solid var(--mn-green);border-radius:8px;text-decoration:none;font-size:14px;font-weight:700;}\n@media(max-width:749px) {\nbody:has(.mn-five-landing) section[id^=\"MainProduct-\"]:has(.mn-five-landing)\u003e.page-width {padding-left:20px;padding-right:20px;}\n.mn-five-landing .mn-hero {grid-template-columns:1fr;gap:30px;padding:25px 0 38px;}\n.mn-five-landing .mn-hero-photo {border-radius:15px;}\n.mn-five-landing .mn-hero-content {padding:0 1px;}\n.mn-five-landing h1 {font-size:39px;}\n.mn-five-landing .mn-intro {font-size:16px;margin-top:18px;}\n.mn-five-landing .mn-eyebrow {margin-bottom:12px;font-size:10px;}\n.mn-five-landing .mn-price-line {margin:22px 0 18px;}\n.mn-five-landing .mn-section {padding:37px 0;}\n.mn-five-landing .mn-features {grid-template-columns:1fr;gap:12px;}\n.mn-five-landing .mn-feature {padding:24px;}\n.mn-five-landing .mn-number {margin-bottom:12px;}\n.mn-five-landing .mn-gallery {gap:12px;margin-top:22px;}\n.mn-five-landing .mn-how {padding:28px 24px;border-radius:15px;}\n.mn-five-landing .mn-steps {grid-template-columns:1fr;gap:25px;margin-top:27px;}\n.mn-five-landing .mn-steps li {display:grid;grid-template-columns:35px 1fr;column-gap:15px;align-items:start;}\n.mn-five-landing .mn-steps li::before {margin:3px 0 0;}\n.mn-five-landing .mn-faq-layout {grid-template-columns:1fr;gap:0;}\n.mn-five-landing .mn-faq-layout .mn-section-head {margin-bottom:25px;}\n.mn-five-landing .mn-closing {padding:10px 0 40px;}\n}\n@media(prefers-reduced-motion:no-preference){html:has(.mn-five-landing){scroll-behavior:smooth;}}\n\u003c\/style\u003e\n\u003cdiv class=\"mn-five-landing\" id=\"mn-drain-hair-catcher\" data-mn-handle=\"stainless-steel-bathtub-hair-catcher\" data-mn-variant=\"54394290372897\" data-mn-currency=\"USD\"\u003e\n  \u003cdiv class=\"mn-hero\" id=\"mn-drain-hair-catcher-purchase\"\u003e\n    \u003cfigure class=\"mn-hero-photo\"\u003e\u003cimg class=\"mn-main-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1001\/8013\/2129\/files\/pdp1_pdt_img1.webp?v=1793872048\" alt=\"Stainless Steel Bathtub Hair Catcher\" loading=\"eager\" decoding=\"async\" width=\"1200\" height=\"1200\"\u003e\u003c\/figure\u003e\n    \u003cdiv class=\"mn-hero-content\"\u003e\n      \u003cp class=\"mn-eyebrow\"\u003eAN EASIER BATHROOM ROUTINE\u003c\/p\u003e\n      \u003cp class=\"mn-product-name\"\u003eStainless Steel Bathtub Hair Catcher\u003c\/p\u003e\n      \u003ch1\u003eCatch the hair before it heads down the drain.\u003c\/h1\u003e\n      \u003cp class=\"mn-intro\"\u003eA removable bathtub drain insert gathers loose hair in one place for easier cleanup.\u003c\/p\u003e\n      \u003cdiv class=\"mn-price-line\"\u003e\n\u003cspan class=\"mn-price\" data-mn-price\u003e$16.99\u003c\/span\u003e\u003cspan class=\"mn-currency\"\u003eUSD\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cform method=\"post\" action=\"\/cart\/add\" accept-charset=\"UTF-8\" data-mn-form\u003e\n        \u003cinput type=\"hidden\" name=\"form_type\" value=\"product\"\u003e\n        \u003cinput type=\"hidden\" name=\"utf8\" value=\"✓\"\u003e\n        \u003cinput type=\"hidden\" name=\"id\" value=\"54394290372897\" data-mn-variant-input\u003e\n        \u003cinput type=\"hidden\" name=\"quantity\" value=\"1\"\u003e\n        \u003cinput type=\"hidden\" name=\"return_to\" value=\"\/cart\" data-mn-return\u003e\n        \u003cbutton type=\"submit\" class=\"mn-buy\" data-mn-buy disabled aria-describedby=\"mn-drain-hair-catcher-availability\"\u003eComing soon\u003c\/button\u003e\n      \u003c\/form\u003e\n      \u003cp class=\"mn-availability\" id=\"mn-drain-hair-catcher-availability\" data-mn-status role=\"status\" aria-live=\"polite\"\u003eCurrently unavailable. Please check back soon.\u003c\/p\u003e\n      \u003cnav class=\"mn-hero-links\" aria-label=\"Product information\"\u003e\u003ca href=\"#mn-drain-hair-catcher-how\"\u003eHow to use\u003c\/a\u003e\u003ca href=\"#mn-drain-hair-catcher-faq\"\u003eQuestions \u0026amp; answers\u003c\/a\u003e\u003c\/nav\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003csection class=\"mn-section\" aria-labelledby=\"mn-drain-hair-catcher-benefits\"\u003e\n    \u003cdiv class=\"mn-section-head\"\u003e\n\u003cp class=\"mn-eyebrow\"\u003eMADE FOR YOUR EVERYDAY\u003c\/p\u003e\n\u003ch2 id=\"mn-drain-hair-catcher-benefits\"\u003eSmall details. A simpler routine.\u003c\/h2\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"mn-features\"\u003e\n\u003carticle class=\"mn-feature\"\u003e\u003cspan class=\"mn-number\"\u003e01\u003c\/span\u003e\u003ch3\u003eCollect the loose strands\u003c\/h3\u003e\n\u003cp\u003eThe insert gathers hair around its perforated body during everyday bathing.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"mn-feature\"\u003e\u003cspan class=\"mn-number\"\u003e02\u003c\/span\u003e\u003ch3\u003eLift, clear and replace\u003c\/h3\u003e\n\u003cp\u003eRemove the catcher to clear collected hair, rinse it and return it to the drain.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"mn-feature\"\u003e\u003cspan class=\"mn-number\"\u003e03\u003c\/span\u003e\u003ch3\u003eKeep the fit simple\u003c\/h3\u003e\n\u003cp\u003eA compact insert sits inside a compatible bathtub drain. Check your drain measurements and stopper setup first.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"mn-gallery\"\u003e\u003cfigure\u003e\u003cimg class=\"mn-detail-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1001\/8013\/2129\/files\/pdp1_pdt_img3.webp?v=1793872049\" alt=\"Design details\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1200\"\u003e\u003c\/figure\u003e\u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003csection class=\"mn-section\" id=\"mn-drain-hair-catcher-how\" aria-labelledby=\"mn-drain-hair-catcher-how-heading\"\u003e\n    \u003cdiv class=\"mn-how\"\u003e\n\u003cp class=\"mn-eyebrow\"\u003eYOUR EVERYDAY HOW-TO\u003c\/p\u003e\n\u003ch2 id=\"mn-drain-hair-catcher-how-heading\"\u003eAn easy place to start.\u003c\/h2\u003e\n\u003col class=\"mn-steps\"\u003e\n\u003cli\u003eMeasure the bathtub drain opening and check the compatibility details. Check whether an existing stopper must be removed.\u003c\/li\u003e\n\u003cli\u003eFit the insert and the appropriate included adapter, if supplied. Confirm that it sits securely and water drains normally.\u003c\/li\u003e\n\u003cli\u003eCheck regularly, remove collected hair, rinse the insert and reinstall it. Clean more often when hair collects quickly.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003csection class=\"mn-section mn-faq-layout\" id=\"mn-drain-hair-catcher-faq\" aria-labelledby=\"mn-drain-hair-catcher-faq-heading\"\u003e\n    \u003cdiv class=\"mn-section-head\"\u003e\n\u003cp class=\"mn-eyebrow\"\u003eA FEW HELPFUL DETAILS\u003c\/p\u003e\n\u003ch2 id=\"mn-drain-hair-catcher-faq-heading\"\u003eGood to know.\u003c\/h2\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"mn-faqs\"\u003e\n\u003cdetails\u003e\u003csummary\u003eWill it fit every drain?\u003c\/summary\u003e\u003cp\u003eNo. Fit depends on the drain opening, internal clearance and stopper arrangement. Check these measurements before ordering.\u003c\/p\u003e\u003c\/details\u003e\u003cdetails\u003e\u003csummary\u003eDoes it clear an existing blockage?\u003c\/summary\u003e\u003cp\u003eIt collects hair at the drain opening. It does not remove a blockage that is already further inside the pipe.\u003c\/p\u003e\u003c\/details\u003e\u003cdetails\u003e\u003csummary\u003eCan I still fill the bathtub?\u003c\/summary\u003e\u003cp\u003eThe hair catcher allows water to pass through. Holding bathwater requires a compatible stopper; a stopper is only included when it is listed in the selected option.\u003c\/p\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003cdiv class=\"mn-closing\"\u003e\u003ca href=\"#mn-drain-hair-catcher-purchase\"\u003eCheck the Fit \u0026amp; Choose\u003c\/a\u003e\u003c\/div\u003e\n  \u003cscript\u003e\n  (() =\u003e {\n    const root = document.currentScript \u0026\u0026 document.currentScript.closest('.mn-five-landing');\n    if (!root || root.dataset.mnReady) return;\n    root.dataset.mnReady = 'true';\n    const button = root.querySelector('[data-mn-buy]');\n    const status = root.querySelector('[data-mn-status]');\n    const form = root.querySelector('[data-mn-form]');\n    const base = window.Shopify \u0026\u0026 window.Shopify.routes \u0026\u0026 window.Shopify.routes.root || '\/';\n    const route = base.endsWith('\/') ? base : base + '\/';\n    form.action = route + 'cart\/add';\n    root.querySelector('[data-mn-return]').value = route + 'cart';\n    let available = false;\n    form.addEventListener('submit', event =\u003e {\n      if (!available || button.disabled) { event.preventDefault(); return; }\n      button.disabled = true;\n      button.textContent = 'Adding…';\n      status.textContent = 'Taking you to your cart…';\n    });\n    const checkAvailability = () =\u003e {\n      available = false;\n      button.disabled = true;\n      button.textContent = 'Checking availability…';\n      status.textContent = 'Checking availability…';\n      return fetch(route + 'products\/' + encodeURIComponent(root.dataset.mnHandle) + '.js', {credentials:'same-origin',headers:{Accept:'application\/json'}})\n      .then(response =\u003e { if (!response.ok) throw new Error('Unavailable'); return response.json(); })\n      .then(product =\u003e {\n        const variant = product.variants.find(item =\u003e String(item.id) === root.dataset.mnVariant);\n        if (!variant) throw new Error('Unavailable');\n        const currency = window.Shopify \u0026\u0026 window.Shopify.currency \u0026\u0026 window.Shopify.currency.active || root.dataset.mnCurrency;\n        root.querySelector('[data-mn-price]').textContent = new Intl.NumberFormat(document.documentElement.lang || 'en-US', {style:'currency',currency}).format(Number(variant.price)\/100);\n        root.querySelector('.mn-currency').textContent = currency;\n        root.querySelector('[data-mn-variant-input]').value = variant.id;\n        available = Boolean(variant.available);\n        button.disabled = !available;\n        button.textContent = available ? 'Add to cart' : 'Currently unavailable';\n        status.textContent = available ? '' : 'Currently unavailable. Please check back soon.';\n      })\n      .catch(() =\u003e { available = false; button.disabled = true; button.textContent = 'Coming soon'; status.textContent = 'Currently unavailable. Please check back soon.'; });\n    };\n    window.addEventListener('pageshow', event =\u003e { if (event.persisted) checkAvailability(); });\n    checkAvailability();\n  })();\n  \u003c\/script\u003e\n\u003c\/div\u003e","brand":"MirevaNest","offers":[{"title":"Default Title","offer_id":54394290372897,"sku":"MN-HC-001","price":16.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1001\/8013\/2129\/files\/pdp1_pdt_img1.webp?v=1793872048","url":"https:\/\/mirevanest.com\/products\/stainless-steel-bathtub-hair-catcher","provider":"MirevaNest","version":"1.0","type":"link"}