{"product_id":"bathroom-handrail-with-vacuum-sucker-for-safety-support","title":"Tiny Home Box Vacuum Grip For Safety Support","description":"\u003c!--\n====================================================================\n  HOW TO USE THIS\n====================================================================\n  Ready-to-paste product DESCRIPTION — no Add to Cart button, no\n  price, no variant code, no duplicate hero gallery (your Shopify\n  product photos already cover that, above this).\n\n  IMAGES: 13 of 14 already point at your real Shopify CDN files\n  (cdn.shopify.com\/...\/hero-5.jpg etc.) — no action needed for those.\n  ONE is still missing: search for \"images\/who-kid.jpg\" below and\n  replace it with that file's CDN URL once you've uploaded it\n  (Content \u003e Files \u003e Upload files \u003e click the file \u003e copy its URL).\n\n  FULL WIDTH: most themes render the Description field inside the\n  narrow product-info column next to Add to Cart, not full width.\n  The script at the bottom fixes that automatically — it measures\n  how far this block sits from the left edge of the screen and\n  stretches it to the true full browser width, no matter which\n  theme or column it's dropped into. No setup needed for this part.\n\n  TO INSTALL: Shopify Admin \u003e this product \u003e Description field \u003e\n  click the \"\u003c\u003e\" (Show HTML) icon in the editor toolbar \u003e paste this\n  whole file in \u003e Save.\n\n  Optional: search \"EDIT\" below to reword the closing guarantee line\n  to match your real return policy, or delete that section entirely.\n\n  Every style\/class here is prefixed \"sh-\" and scoped under one\n  wrapper, so it won't bleed into or get overridden by your theme.\n  On phones, the step\/feature cards and \"who it helps\" row scroll\n  sideways (swipe) instead of squeezing into tiny columns — that's\n  intentional, not a bug.\n====================================================================\n--\u003e\n\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700;8..60,800\u0026family=Public+Sans:wght@400;500;600;700;800\u0026display=swap');\n\n  .sh-page{\n    --paper:      #FBF8F2;\n    --ink:        #1E2620;\n    --ink-soft:   #55594F;\n    --pine:       #1F7A4D;\n    --pine-dark:  #123A26;\n    --coral:      #C7402A;\n    --amber:      #C98A2E;\n    --mint-100:   #E3F3E9;\n    --peach-100:  #FBEAE0;\n    --coral-100:  #FBE4DE;\n    --white:      #FFFFFF;\n    --line:       #E7DFC8;\n    --radius-sm:  10px;\n    --radius-md:  18px;\n    --radius-lg:  26px;\n    --shadow:     0 16px 34px -18px rgba(18,58,38,0.32);\n    --font-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;\n    --font-sans:  'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n    display:block;\n    position:relative;\n  }\n  \/* .sh-page is just a positioning anchor + height-spacer once JS runs;\n     .sh-inner carries all the actual visual styling and is the piece\n     that gets pulled full-bleed, so it can never force the narrow\n     column around it to grow (a plain absolutely-positioned box can't\n     influence its ancestor's width the way a wide in-flow box would). *\/\n  .sh-page .sh-inner{\n    background:var(--paper);\n    color:var(--ink);\n    font-family:var(--font-sans);\n    -webkit-font-smoothing:antialiased;\n    line-height:1.55;\n    overflow-x:clip;\n  }\n  .sh-page, .sh-page *{ box-sizing:border-box; }\n  .sh-page img{ max-width:100%; display:block; }\n  .sh-page a{ color:inherit; }\n  .sh-page button{ font-family:inherit; cursor:pointer; }\n  .sh-page :focus-visible{ outline:3px solid var(--amber); outline-offset:2px; }\n  @media (prefers-reduced-motion: reduce){\n    .sh-page *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }\n  }\n\n  .sh-page .sh-wrap{ max-width:1180px; margin:0 auto; padding:0 20px; }\n\n  .sh-page h1,.sh-page h2,.sh-page h3{\n    font-family:var(--font-serif);\n    color:var(--pine-dark);\n    margin:0 0 .45em;\n    font-weight:700;\n    line-height:1.1;\n  }\n  .sh-page h2{ font-size:clamp(1.65rem, 1.05rem + 2.6vw, 2.5rem); }\n  .sh-page h3{ font-size:clamp(1.15rem, 1rem + 0.7vw, 1.4rem); }\n  .sh-page p{ margin:0 0 1em; color:var(--ink-soft); }\n  .sh-page .sh-eyebrow{\n    display:inline-flex; align-items:center; gap:8px;\n    font-family:var(--font-sans); font-weight:800; font-size:.78rem;\n    letter-spacing:.06em; text-transform:uppercase;\n    color:var(--coral); margin-bottom:.7em;\n  }\n  .sh-page .sh-eyebrow::before{\n    content:''; width:18px; height:2px; background:var(--coral); display:inline-block;\n  }\n  .sh-page .sh-section{ padding:52px 0; }\n  .sh-page .sh-section-head{ max-width:640px; margin:0 auto 36px; text-align:center; }\n  .sh-page .sh-section-head p{ font-size:1.05rem; }\n  .sh-page .sh-bg-mint{ background:var(--mint-100); }\n  .sh-page .sh-bg-peach{ background:var(--peach-100); }\n  .sh-page .sh-bg-dark{ background:var(--pine-dark); color:var(--white); }\n  .sh-page .sh-bg-dark h2, .sh-page .sh-bg-dark h3{ color:var(--white); }\n  .sh-page .sh-bg-dark p{ color:#CFE3D6; }\n\n  \/* ---------- HERO (text only — your product photos sit above this) ---------- *\/\n  .sh-page .sh-hero .sh-wrap{ max-width:720px; margin:0 auto; text-align:center; padding:14px 20px 8px; }\n  .sh-page .sh-hero .sh-eyebrow{ justify-content:center; }\n  .sh-page .sh-hero .sh-eyebrow::before{ display:none; }\n  .sh-page .sh-hero h1{ font-size:clamp(2rem, 1.3rem + 3vw, 2.9rem); }\n  .sh-page .sh-hero .sh-sub{ font-size:1.12rem; color:var(--ink-soft); margin:0 auto 22px; max-width:520px; }\n\n  .sh-page .sh-pill-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }\n  .sh-page .sh-pill{\n    display:inline-flex; align-items:center; gap:7px;\n    padding:9px 16px; border-radius:999px;\n    font-size:.85rem; font-weight:700; color:var(--white);\n    box-shadow:var(--shadow);\n  }\n  .sh-page .sh-pill.sh-c1{ background:var(--pine); }\n  .sh-page .sh-pill.sh-c2{ background:var(--coral); }\n  .sh-page .sh-pill.sh-c3{ background:var(--amber); }\n  .sh-page .sh-pill svg{ flex:none; }\n\n  \/* ---------- TRUST STRIP ---------- *\/\n  .sh-page .sh-trust-strip{ padding:38px 0 10px; }\n  .sh-page .sh-trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }\n  .sh-page .sh-trust-card{\n    background:var(--white); border-radius:var(--radius-md); box-shadow:var(--shadow);\n    padding:20px 16px; text-align:center;\n  }\n  .sh-page .sh-trust-card .sh-ic{\n    width:52px; height:52px; border-radius:50%; margin:0 auto 12px;\n    display:flex; align-items:center; justify-content:center; color:var(--white);\n  }\n  .sh-page .sh-trust-card:nth-child(1) .sh-ic{ background:var(--pine); }\n  .sh-page .sh-trust-card:nth-child(2) .sh-ic{ background:var(--coral); }\n  .sh-page .sh-trust-card:nth-child(3) .sh-ic{ background:var(--amber); }\n  .sh-page .sh-trust-card:nth-child(4) .sh-ic{ background:var(--pine); }\n  .sh-page .sh-trust-card strong{ display:block; font-size:.98rem; color:var(--ink); margin-bottom:2px; }\n  .sh-page .sh-trust-card span{ font-size:.82rem; color:var(--ink-soft); }\n\n  \/* ---------- HORIZONTAL SCROLLER (becomes swipeable only below 820px — see media query) ---------- *\/\n  .sh-page .sh-scroll-hint{ display:none; }\n  .sh-page .sh-steps-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }\n  .sh-page .sh-who-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }\n\n  \/* ---------- INTRO ---------- *\/\n  .sh-page .sh-intro{ display:grid; grid-template-columns:.95fr 1.05fr; gap:44px; align-items:center; }\n  .sh-page .sh-intro img{ border-radius:var(--radius-lg); box-shadow:var(--shadow); }\n  .sh-page mark{\n    background:none; color:var(--coral); font-style:normal; font-weight:700;\n  }\n  .sh-page .sh-safety-note{\n    margin-top:18px; padding:16px 18px; border-radius:var(--radius-sm);\n    background:var(--peach-100); border:1px solid #F1D3BE;\n    font-size:.9rem; color:var(--ink-soft);\n  }\n  .sh-page .sh-safety-note strong{ color:var(--ink); }\n\n  \/* ---------- COMPARISON ---------- *\/\n  .sh-page .sh-compare-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--radius-md); box-shadow:var(--shadow); }\n  .sh-page .sh-compare{ width:100%; min-width:560px; border-collapse:collapse; background:var(--white); }\n  .sh-page .sh-compare th, .sh-page .sh-compare td{ padding:14px 16px; font-size:.92rem; text-align:left; border-bottom:1px solid var(--line); }\n  .sh-page .sh-compare th{ font-family:var(--font-serif); font-size:1rem; color:var(--white); background:var(--pine-dark); }\n  .sh-page .sh-compare th:first-child, .sh-page .sh-compare td:first-child{ color:var(--ink-soft); font-weight:600; width:34%; }\n  .sh-page .sh-compare th.sh-hi{ background:var(--pine); }\n  .sh-page .sh-compare td.sh-hi{ background:var(--mint-100); font-weight:700; color:var(--pine-dark); }\n  .sh-page .sh-compare tr:last-child td{ border-bottom:none; }\n  .sh-page .sh-yes{ color:var(--pine); font-weight:700; }\n  .sh-page .sh-no{ color:var(--ink-soft); }\n\n  \/* ---------- FEATURES (alternating) ---------- *\/\n  .sh-page .sh-feature-row{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; padding:36px 0; }\n  .sh-page .sh-feature-row:not(:last-child){ border-bottom:1px solid var(--line); }\n  .sh-page .sh-feature-row.sh-reverse .sh-f-img{ order:2; }\n  .sh-page .sh-feature-row.sh-reverse .sh-f-text{ order:1; }\n  .sh-page .sh-f-img{ position:relative; }\n  .sh-page .sh-f-img img{ border-radius:var(--radius-lg); box-shadow:var(--shadow); width:100%; aspect-ratio:4\/3.3; object-fit:cover; }\n  .sh-page .sh-f-num{\n    position:absolute; top:-14px; left:-14px;\n    width:52px; height:52px; border-radius:50%;\n    display:flex; align-items:center; justify-content:center;\n    font-family:var(--font-serif); font-weight:800; font-size:1.2rem; color:var(--white);\n    box-shadow:var(--shadow);\n  }\n  .sh-page .sh-feature-row:nth-of-type(odd) .sh-f-num{ background:var(--coral); }\n  .sh-page .sh-feature-row:nth-of-type(even) .sh-f-num{ background:var(--amber); }\n\n  \/* ---------- STEPS \u0026 WHO cards (used inside the scroller) ---------- *\/\n  .sh-page .sh-step-card, .sh-page .sh-who-card{\n    background:var(--white); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow);\n  }\n  .sh-page .sh-step-img{ aspect-ratio:1\/1; position:relative; }\n  .sh-page .sh-step-img img{ width:100%; height:100%; object-fit:cover; }\n  .sh-page .sh-step-badge{\n    position:absolute; top:10px; left:10px;\n    width:32px; height:32px; border-radius:50%; color:var(--white);\n    display:flex; align-items:center; justify-content:center;\n    font-weight:800; font-size:.95rem; font-family:var(--font-serif);\n  }\n  .sh-page .sh-step-card:nth-child(1) .sh-step-badge{ background:var(--pine); }\n  .sh-page .sh-step-card:nth-child(2) .sh-step-badge{ background:var(--coral); }\n  .sh-page .sh-step-card:nth-child(3) .sh-step-badge{ background:var(--amber); }\n  .sh-page .sh-step-card:nth-child(4) .sh-step-badge{ background:var(--pine); }\n  .sh-page .sh-step-body{ padding:16px 18px 20px; }\n  .sh-page .sh-step-card h3{ font-size:1.05rem; margin-bottom:.3em; }\n  .sh-page .sh-step-card p{ font-size:.9rem; margin:0; }\n\n  .sh-page .sh-who-card img{ width:100%; aspect-ratio:4\/3.1; object-fit:cover; }\n  .sh-page .sh-who-body{ padding:14px 16px 18px; }\n  .sh-page .sh-who-tag{\n    display:inline-block; padding:4px 11px; border-radius:999px;\n    font-size:.72rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase;\n    color:var(--white); margin-bottom:8px;\n  }\n  .sh-page .sh-who-card:nth-child(1) .sh-who-tag{ background:var(--coral); }\n  .sh-page .sh-who-card:nth-child(2) .sh-who-tag{ background:var(--pine); }\n  .sh-page .sh-who-card:nth-child(3) .sh-who-tag{ background:var(--amber); }\n  .sh-page .sh-who-card:nth-child(4) .sh-who-tag{ background:var(--coral); }\n  .sh-page .sh-who-body p{ margin:0; font-size:.92rem; color:var(--ink); font-weight:600; }\n\n  \/* ---------- SPECS (icon grid, not a plain table) ---------- *\/\n  .sh-page .sh-specs-wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center; }\n  .sh-page .sh-specs-wrap \u003e img{ border-radius:var(--radius-lg); box-shadow:var(--shadow); background:var(--white); }\n  .sh-page .sh-spec-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }\n  .sh-page .sh-spec-item{ background:var(--white); border-radius:var(--radius-sm); padding:14px 16px; box-shadow:var(--shadow); }\n  .sh-page .sh-spec-item span{ display:block; font-size:.76rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:var(--coral); margin-bottom:4px; }\n  .sh-page .sh-spec-item strong{ display:block; font-size:.95rem; color:var(--ink); font-weight:700; overflow-wrap:break-word; }\n\n  \/* ---------- COLORS ---------- *\/\n  .sh-page .sh-colors-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }\n  .sh-page .sh-colors-wrap img{ border-radius:var(--radius-lg); box-shadow:var(--shadow); }\n  .sh-page .sh-swatch-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; }\n  .sh-page .sh-swatch{ display:flex; align-items:center; gap:10px; border-radius:999px; padding:9px 18px 9px 9px; background:var(--white); box-shadow:var(--shadow); }\n  .sh-page .sh-swatch .sh-dot{ width:28px; height:28px; border-radius:50%; border:3px solid var(--white); box-shadow:0 0 0 1.5px var(--line); }\n  .sh-page .sh-swatch .sh-dot.sh-sage{ background:#4E7159; }\n  .sh-page .sh-swatch .sh-dot.sh-charcoal{ background:#34372F; }\n  .sh-page .sh-swatch span{ font-size:.92rem; font-weight:700; }\n\n  \/* ---------- FAQ ---------- *\/\n  .sh-page .sh-faq-list{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }\n  .sh-page .sh-faq-item{ background:var(--white); border-radius:var(--radius-md); box-shadow:var(--shadow); overflow:hidden; }\n  .sh-page .sh-faq-q{\n    width:100%; text-align:left; background:none; border:none;\n    padding:18px 18px; display:flex; justify-content:space-between; align-items:center;\n    gap:16px; font-family:var(--font-serif); font-size:1.03rem; color:var(--pine-dark); font-weight:700;\n  }\n  .sh-page .sh-faq-q .sh-plus{\n    flex:none; width:30px; height:30px; border-radius:50%; background:var(--mint-100); position:relative;\n  }\n  .sh-page .sh-faq-q .sh-plus::before, .sh-page .sh-faq-q .sh-plus::after{\n    content:''; position:absolute; background:var(--pine); top:50%; left:50%; transform:translate(-50%,-50%);\n  }\n  .sh-page .sh-faq-q .sh-plus::before{ width:12px; height:2px; }\n  .sh-page .sh-faq-q .sh-plus::after{ width:2px; height:12px; transition:transform .2s ease; }\n  .sh-page .sh-faq-item.sh-open .sh-plus::after{ transform:translate(-50%,-50%) rotate(90deg) scaleY(0); }\n  .sh-page .sh-faq-a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }\n  .sh-page .sh-faq-a p{ padding:0 18px 18px; margin:0; font-size:.95rem; }\n  .sh-page .sh-faq-item.sh-open .sh-faq-a{ max-height:280px; }\n\n  \/* ---------- CLOSING GUARANTEE ---------- *\/\n  .sh-page .sh-guarantee{ border-radius:var(--radius-lg); padding:44px 32px; text-align:center; }\n  .sh-page .sh-guarantee p{ margin:0 auto; max-width:480px; }\n  .sh-page .sh-guarantee .sh-pill-row{ margin-top:20px; }\n\n  \/* ================= RESPONSIVE ================= *\/\n  @media (max-width:900px){\n    .sh-page .sh-intro{ grid-template-columns:1fr; gap:24px; }\n    .sh-page .sh-intro .sh-f-img{ order:1; } .sh-page .sh-intro .sh-f-text{ order:2; }\n    .sh-page .sh-feature-row{ grid-template-columns:1fr; gap:26px; }\n    .sh-page .sh-feature-row .sh-f-img{ order:1 !important; margin-top:14px; } .sh-page .sh-feature-row .sh-f-text{ order:2 !important; }\n    .sh-page .sh-specs-wrap{ grid-template-columns:1fr; gap:24px; }\n    .sh-page .sh-colors-wrap{ grid-template-columns:1fr; gap:24px; }\n  }\n\n  @media (max-width:820px){\n    \/* swipeable horizontal cards instead of a squeezed grid — each row overridden explicitly *\/\n    .sh-page .sh-scroller{\n      display:flex; overflow-x:auto; scroll-snap-type:x mandatory;\n      -webkit-overflow-scrolling:touch; padding-bottom:8px; margin:0 -20px; padding-left:20px; padding-right:20px;\n    }\n    .sh-page .sh-scroller \u003e *{ scroll-snap-align:start; flex:0 0 auto; }\n    .sh-page .sh-trust-grid \u003e *{ width:60%; max-width:220px; }\n    .sh-page .sh-steps-grid \u003e *{ width:72%; max-width:280px; }\n    .sh-page .sh-who-grid \u003e *{ width:64%; max-width:250px; }\n    .sh-page .sh-scroll-hint{ display:block; text-align:center; font-size:.78rem; color:var(--ink-soft); margin-top:10px; }\n  }\n\n  @media (max-width:640px){\n    .sh-page .sh-section{ padding:40px 0; }\n    .sh-page .sh-wrap{ padding:0 18px; }\n    .sh-page h2{ font-size:1.5rem; }\n    .sh-page .sh-spec-grid{ grid-template-columns:1fr 1fr; gap:10px; }\n    .sh-page .sh-compare th, .sh-page .sh-compare td{ padding:12px; font-size:.86rem; }\n  }\n\n  @media (max-width:420px){\n    .sh-page .sh-hero .sh-wrap{ padding-top:6px; }\n    .sh-page .sh-pill{ font-size:.8rem; padding:8px 13px; }\n    .sh-page .sh-spec-grid{ grid-template-columns:1fr; }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"sh-page\"\u003e\u003cdiv class=\"sh-inner\"\u003e\n\n  \u003c!-- ============ HERO ============ --\u003e\n  \u003csection class=\"sh-hero\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cspan class=\"sh-eyebrow\"\u003eBathroom Safety\u003c\/span\u003e\n      \u003ch1\u003eA secure handhold, exactly where you need one.\u003c\/h1\u003e\n      \u003cp class=\"sh-sub\"\u003eTwo suction cups lock onto any smooth bath, shower, or toilet wall in under a minute — \u003cmark\u003eno drilling, no tools\u003c\/mark\u003e, nothing left behind when you move it.\u003c\/p\u003e\n      \u003cdiv class=\"sh-pill-row\"\u003e\n        \u003cspan class=\"sh-pill sh-c1\"\u003e\u003csvg width=\"15\" height=\"15\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003eNo drilling\u003c\/span\u003e\n        \u003cspan class=\"sh-pill sh-c2\"\u003e\u003csvg width=\"15\" height=\"15\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003eDouble-lock suction\u003c\/span\u003e\n        \u003cspan class=\"sh-pill sh-c3\"\u003e\u003csvg width=\"15\" height=\"15\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003eReusable \u0026amp; portable\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ TRUST STRIP ============ --\u003e\n  \u003csection class=\"sh-trust-strip\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-trust-grid sh-scroller\"\u003e\n        \u003cdiv class=\"sh-trust-card\"\u003e\n          \u003cdiv class=\"sh-ic\"\u003e\u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cpath d=\"M12 2 3 6v6c0 5 3.8 8.7 9 10 5.2-1.3 9-5 9-10V6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cstrong\u003eNo drilling\u003c\/strong\u003e\u003cspan\u003eWon't damage walls\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-trust-card\"\u003e\n          \u003cdiv class=\"sh-ic\"\u003e\u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"3\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cstrong\u003eLocks in seconds\u003c\/strong\u003e\u003cspan\u003eFlip-tab suction seal\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-trust-card\"\u003e\n          \u003cdiv class=\"sh-ic\"\u003e\u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cpath d=\"M17 3a2.85 2.85 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cstrong\u003eFully portable\u003c\/strong\u003e\u003cspan\u003eMove it room to room\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-trust-card\"\u003e\n          \u003cdiv class=\"sh-ic\"\u003e\u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cpath d=\"M3 3v18h18\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.7 8 12 14.7 8.5 11.2 3 16.7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cstrong\u003eFits anywhere wet\u003c\/strong\u003e\u003cspan\u003eBath, shower \u0026amp; toilet\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-scroll-hint\"\u003eSwipe for more →\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ INTRO \/ PROBLEM-SOLUTION ============ --\u003e\n  \u003csection class=\"sh-section\"\u003e\n    \u003cdiv class=\"sh-wrap sh-intro\"\u003e\n      \u003cimg class=\"sh-f-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/hero-2.jpg?v=1790011107\" alt=\"Hand gripping the SteadyHold handle above the tub\"\u003e\n      \u003cdiv class=\"sh-f-text\"\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eWhy It's Different\u003c\/span\u003e\n        \u003ch2\u003eBuilt for the moment you actually need to grab something.\u003c\/h2\u003e\n        \u003cp\u003eStepping in and out of a wet tub is one of the most common places for a fall to happen at home — and permanent grab bars mean drilling into tile, calling a contractor, or living with a gap while you wait. SteadyHold skips all of that: \u003cmark\u003epress it on, flip the tabs, done\u003c\/mark\u003e — a firm handhold in under a minute.\u003c\/p\u003e\n        \u003cp\u003eWhen you don't need it in that spot anymore, it comes off just as easily — no holes, no adhesive residue, no marks on the wall.\u003c\/p\u003e\n        \u003cdiv class=\"sh-safety-note\"\u003e\n          \u003cstrong\u003eA note on using it safely:\u003c\/strong\u003e SteadyHold adds grip and balance support — it isn't a substitute for a permanently mounted, weight-rated grab bar. Always press both cups firmly and tug the handle to confirm the seal before leaning on it.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ COMPARISON ============ --\u003e\n  \u003csection class=\"sh-section sh-bg-mint\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-section-head\"\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eThe Comparison\u003c\/span\u003e\n        \u003ch2\u003eWhy grab a suction handle over the alternatives\u003c\/h2\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-compare-scroll\"\u003e\n        \u003ctable class=\"sh-compare\"\u003e\n          \u003ctr\u003e\n            \u003cth\u003e \u003c\/th\u003e\n            \u003cth class=\"sh-hi\"\u003eSteadyHold\u003c\/th\u003e\n            \u003cth\u003eDrilled Grab Bar\u003c\/th\u003e\n            \u003cth\u003eNo Support\u003c\/th\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eSetup time\u003c\/td\u003e\n            \u003ctd class=\"sh-hi\"\u003eUnder 1 minute\u003c\/td\u003e\n            \u003ctd\u003e30–60+ min, often a contractor\u003c\/td\u003e\n            \u003ctd\u003e—\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eTools required\u003c\/td\u003e\n            \u003ctd class=\"sh-hi\"\u003e\u003cspan class=\"sh-yes\"\u003eNone\u003c\/span\u003e\u003c\/td\u003e\n            \u003ctd\u003eDrill, anchors, sealant\u003c\/td\u003e\n            \u003ctd\u003e—\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eWall damage\u003c\/td\u003e\n            \u003ctd class=\"sh-hi\"\u003e\u003cspan class=\"sh-yes\"\u003eNone\u003c\/span\u003e\u003c\/td\u003e\n            \u003ctd\u003ePermanent holes\u003c\/td\u003e\n            \u003ctd\u003e—\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eReposition later\u003c\/td\u003e\n            \u003ctd class=\"sh-hi\"\u003e\u003cspan class=\"sh-yes\"\u003eAnytime\u003c\/span\u003e\u003c\/td\u003e\n            \u003ctd\u003e\u003cspan class=\"sh-no\"\u003eNot without re-drilling\u003c\/span\u003e\u003c\/td\u003e\n            \u003ctd\u003e—\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eSomething to hold onto\u003c\/td\u003e\n            \u003ctd class=\"sh-hi\"\u003e\u003cspan class=\"sh-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n            \u003ctd\u003e\u003cspan class=\"sh-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n            \u003ctd\u003e\u003cspan class=\"sh-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ FEATURES (alternating) ============ --\u003e\n  \u003csection class=\"sh-section\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-section-head\"\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eHow It Works\u003c\/span\u003e\n        \u003ch2\u003eThree details that make it actually trustworthy\u003c\/h2\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sh-feature-row\"\u003e\n        \u003cdiv class=\"sh-f-img\"\u003e\n\u003cspan class=\"sh-f-num\"\u003e1\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/feature-lock.jpg?v=1790011107\" alt=\"Close-up of the flip-lock tab on the suction cup\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"sh-f-text\"\u003e\n          \u003ch3\u003eLocks with a flip, not a fight\u003c\/h3\u003e\n          \u003cp\u003ePress both suction cups flat against the wall, then push the tab on each one down until it clicks. That motion pulls extra air out from under the cup and locks in a tighter vacuum seal than pressure alone. Flip the tabs back up and both cups release cleanly — no scraping, no prying.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sh-feature-row sh-reverse\"\u003e\n        \u003cdiv class=\"sh-f-img\"\u003e\n\u003cspan class=\"sh-f-num\"\u003e2\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/feature-lock-macro.jpg?v=1790011107\" alt=\"Close-up of the reinforced suction cup base\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"sh-f-text\"\u003e\n          \u003ch3\u003eBuilt to hold its grip\u003c\/h3\u003e\n          \u003cp\u003eEach 3.74\" (9.5 cm) suction pad sits inside a reinforced ABS shell, so the seal stays put even under a firm, sudden pull — exactly the moment you're relying on it. It holds best on the surfaces already in your bathroom: tile, glass, acrylic, and fiberglass.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sh-feature-row\"\u003e\n        \u003cdiv class=\"sh-f-img\"\u003e\n\u003cspan class=\"sh-f-num\"\u003e3\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/feature-washable.jpg?v=1790011107\" alt=\"Rinsing the suction cup under running water\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"sh-f-text\"\u003e\n          \u003ch3\u003eRinse it. Reuse it.\u003c\/h3\u003e\n          \u003cp\u003eSoap scum is the enemy of suction. The cups lift away from the handle for a quick rinse under the tap whenever grip starts to feel weaker — let them air-dry fully and the seal comes right back, no replacement parts needed.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ INSTALL STEPS ============ --\u003e\n  \u003csection class=\"sh-section sh-bg-peach\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-section-head\"\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eSetup\u003c\/span\u003e\n        \u003ch2\u003eFrom wall to secure in under a minute\u003c\/h2\u003e\n        \u003cp\u003eNo tools, no measuring, no waiting for anything to cure.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-steps-grid sh-scroller\"\u003e\n        \u003cdiv class=\"sh-step-card\"\u003e\n          \u003cdiv class=\"sh-step-img\"\u003e\n\u003cspan class=\"sh-step-badge\"\u003e1\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/step-1.jpg?v=1790011106\" alt=\"Wiping the wall clean before mounting\"\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-step-body\"\u003e\n\u003ch3\u003eWipe the wall\u003c\/h3\u003e\n\u003cp\u003eClean and dry the spot — suction needs a smooth, grease-free surface to seal against.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-step-card\"\u003e\n          \u003cdiv class=\"sh-step-img\"\u003e\n\u003cspan class=\"sh-step-badge\"\u003e2\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/step-2.jpg?v=1790011105\" alt=\"Pressing the suction cup against the wall\"\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-step-body\"\u003e\n\u003ch3\u003ePress and align\u003c\/h3\u003e\n\u003cp\u003eCenter the handle and press both cups flat against the wall for a few seconds.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-step-card\"\u003e\n          \u003cdiv class=\"sh-step-img\"\u003e\n\u003cspan class=\"sh-step-badge\"\u003e3\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/step-3.jpg?v=1790011107\" alt=\"Flipping the lock tab down\"\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-step-body\"\u003e\n\u003ch3\u003eFlip to lock\u003c\/h3\u003e\n\u003cp\u003ePush both tabs down until they click into place, sealing the vacuum.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-step-card\"\u003e\n          \u003cdiv class=\"sh-step-img\"\u003e\n\u003cspan class=\"sh-step-badge\"\u003e4\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/step-4.jpg?v=1790011105\" alt=\"Testing the handle before use\"\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-step-body\"\u003e\n\u003ch3\u003eTest before you lean\u003c\/h3\u003e\n\u003cp\u003eGive it a firm tug a few times to confirm the hold before relying on it.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-scroll-hint\"\u003eSwipe for the next step →\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ WHO IT HELPS ============ --\u003e\n  \u003csection class=\"sh-section\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-section-head\"\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eWho Reaches For It\u003c\/span\u003e\n        \u003ch2\u003eA steadier bathroom for everyone in the house\u003c\/h2\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-who-grid sh-scroller\"\u003e\n        \u003cdiv class=\"sh-who-card\"\u003e\n          \u003cimg src=\"images\/who-kid.jpg\" alt=\"Child in the bathtub\"\u003e\n          \u003cdiv class=\"sh-who-body\"\u003e\n\u003cspan class=\"sh-who-tag\"\u003eKids\u003c\/span\u003e\u003cp\u003eBath time, minus the worry\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-who-card\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/who-elder.jpg?v=1790011107\" alt=\"Older adult showering\"\u003e\n          \u003cdiv class=\"sh-who-body\"\u003e\n\u003cspan class=\"sh-who-tag\"\u003eSeniors\u003c\/span\u003e\u003cp\u003eShowering with confidence\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-who-card\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/who-wheelchair.jpg?v=1790011106\" alt=\"Wheelchair user at the bathroom sink\"\u003e\n          \u003cdiv class=\"sh-who-body\"\u003e\n\u003cspan class=\"sh-who-tag\"\u003eMobility\u003c\/span\u003e\u003cp\u003eEasier reach at the sink\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"sh-who-card\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/who-pregnant.jpg?v=1790011108\" alt=\"Pregnant woman in the bathroom\"\u003e\n          \u003cdiv class=\"sh-who-body\"\u003e\n\u003cspan class=\"sh-who-tag\"\u003ePregnancy\u003c\/span\u003e\u003cp\u003eOne less thing to balance\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-scroll-hint\"\u003eSwipe to see more →\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ SPECS ============ --\u003e\n  \u003csection class=\"sh-section sh-bg-mint\"\u003e\n    \u003cdiv class=\"sh-wrap sh-specs-wrap\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/specs-diagram.jpg?v=1790011107\" alt=\"SteadyHold dimensions diagram\"\u003e\n      \u003cdiv\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eSpecifications\u003c\/span\u003e\n        \u003ch2\u003eThe details, if you're the type to check\u003c\/h2\u003e\n        \u003cdiv class=\"sh-spec-grid\"\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eHandle length\u003c\/span\u003e\u003cstrong\u003e11.8 in (30 cm)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eHeight\u003c\/span\u003e\u003cstrong\u003e3.1 in (7.9 cm)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eDepth\u003c\/span\u003e\u003cstrong\u003e4.13 in (10.5 cm)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eNet weight\u003c\/span\u003e\u003cstrong\u003e210 g (0.46 lb)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eSuction cups\u003c\/span\u003e\u003cstrong\u003e3.74 in (9.5 cm), double\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eMounting\u003c\/span\u003e\u003cstrong\u003eNo drilling — suction lock\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eMaterials\u003c\/span\u003e\u003cstrong\u003eABS + TPR grip\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-spec-item\"\u003e\n\u003cspan\u003eBest on\u003c\/span\u003e\u003cstrong\u003eTile, glass, acrylic, fiberglass\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ COLORS ============ --\u003e\n  \u003csection class=\"sh-section\"\u003e\n    \u003cdiv class=\"sh-wrap sh-colors-wrap\"\u003e\n      \u003cdiv\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eChoose Your Grip\u003c\/span\u003e\n        \u003ch2\u003eTwo colors, the same steady hold\u003c\/h2\u003e\n        \u003cp\u003ePick the shade that blends into your bathroom — both use the same reinforced suction system underneath.\u003c\/p\u003e\n        \u003cdiv class=\"sh-swatch-row\"\u003e\n          \u003cdiv class=\"sh-swatch\"\u003e\n\u003cspan class=\"sh-dot sh-sage\"\u003e\u003c\/span\u003e\u003cspan\u003eSage Green\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"sh-swatch\"\u003e\n\u003cspan class=\"sh-dot sh-charcoal\"\u003e\u003c\/span\u003e\u003cspan\u003eCharcoal Grey\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/hero-5.jpg?v=1790011107\" alt=\"Sage green and charcoal grey color options\"\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ FAQ ============ --\u003e\n  \u003csection class=\"sh-section sh-bg-peach\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-section-head\"\u003e\n        \u003cspan class=\"sh-eyebrow\"\u003eQuestions\u003c\/span\u003e\n        \u003ch2\u003eGood to know before it arrives\u003c\/h2\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"sh-faq-list\"\u003e\n\n        \u003cdiv class=\"sh-faq-item sh-open\"\u003e\n          \u003cbutton class=\"sh-faq-q\"\u003e\u003cspan\u003eWill it damage my tiles or bathtub?\u003c\/span\u003e\u003cspan class=\"sh-plus\"\u003e\u003c\/span\u003e\u003c\/button\u003e\n          \u003cdiv class=\"sh-faq-a\"\u003e\u003cp\u003eNo drilling and no adhesive — the suction cups lift off clean, with nothing left behind on the wall.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sh-faq-item\"\u003e\n          \u003cbutton class=\"sh-faq-q\"\u003e\u003cspan\u003eWhat surfaces does it work best on?\u003c\/span\u003e\u003cspan class=\"sh-plus\"\u003e\u003c\/span\u003e\u003c\/button\u003e\n          \u003cdiv class=\"sh-faq-a\"\u003e\u003cp\u003eSmooth, non-porous surfaces: tile, glass, acrylic, fiberglass, and sealed laminate. It won't hold reliably on textured tile, wallpaper, unsealed stone, or unfinished wood.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sh-faq-item\"\u003e\n          \u003cbutton class=\"sh-faq-q\"\u003e\u003cspan\u003eHow much weight can it hold?\u003c\/span\u003e\u003cspan class=\"sh-plus\"\u003e\u003c\/span\u003e\u003c\/button\u003e\n          \u003cdiv class=\"sh-faq-a\"\u003e\u003cp\u003eSteadyHold is built to add grip and balance support, not to serve as a full weight-bearing lift on its own. Always test the suction firmly before each use, and pair it with a permanently mounted grab bar if you need rated, full weight-bearing support.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sh-faq-item\"\u003e\n          \u003cbutton class=\"sh-faq-q\"\u003e\u003cspan\u003eCan I move it to a different spot?\u003c\/span\u003e\u003cspan class=\"sh-plus\"\u003e\u003c\/span\u003e\u003c\/button\u003e\n          \u003cdiv class=\"sh-faq-a\"\u003e\u003cp\u003eYes — flip the tabs up, peel it off, wipe both the wall and the cups, and remount it anywhere else that's smooth and dry.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sh-faq-item\"\u003e\n          \u003cbutton class=\"sh-faq-q\"\u003e\u003cspan\u003eHow do I clean it?\u003c\/span\u003e\u003cspan class=\"sh-plus\"\u003e\u003c\/span\u003e\u003c\/button\u003e\n          \u003cdiv class=\"sh-faq-a\"\u003e\u003cp\u003eThe suction pads detach from the handle for a quick rinse in warm water. Let them air-dry completely before remounting for the best hold.\u003c\/p\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ============ CLOSING GUARANTEE ============ --\u003e\n  \u003csection class=\"sh-section\"\u003e\n    \u003cdiv class=\"sh-wrap\"\u003e\n      \u003cdiv class=\"sh-guarantee sh-bg-dark\"\u003e\n        \u003ch2\u003eTry it around your home.\u003c\/h2\u003e\n        \u003c!-- EDIT: replace with your real return window and terms, or delete this section --\u003e\n        \u003cp\u003eIf SteadyHold doesn't earn a permanent spot on your wall within 30 days, send it back for a full refund.\u003c\/p\u003e\n        \u003cdiv class=\"sh-pill-row\"\u003e\n          \u003cspan class=\"sh-pill sh-c2\"\u003e30-day guarantee\u003c\/span\u003e\n          \u003cspan class=\"sh-pill sh-c3\"\u003eReusable, no residue\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- REVIEW APP EMBED GOES HERE (e.g. Judge.me \/ Loox) --\u003e\n\n\u003c\/div\u003e\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  document.querySelectorAll('.sh-page').forEach(function(root){\n\n    \/\/ Break out of whatever narrow column the theme put this in (most\n    \/\/ themes render the Description inside the product-info sidebar,\n    \/\/ not full width) and span the true viewport width instead.\n    \/\/\n    \/\/ .sh-inner is pulled out of normal flow (position:absolute) so it\n    \/\/ can't force its narrow flex\/grid ancestor to grow to match its\n    \/\/ width. That ancestor can still subtly re-settle its own size once\n    \/\/ sh-inner leaves the flow, so position is measured AFTER that\n    \/\/ settling (a neutral left:0 probe first), not before it.\n    var inner = root.querySelector('.sh-inner');\n    function fullBleed(){\n      if (!inner) return;\n      inner.style.position = '';\n      inner.style.left = '';\n      inner.style.width = '';\n      root.style.height = '';\n      root.style.position = '';\n\n      var vw = document.documentElement.clientWidth;\n\n      root.style.position = 'relative';\n      inner.style.position = 'absolute';\n      inner.style.top = '0';\n      inner.style.left = '0';\n      inner.style.width = vw + 'px';\n\n      \/\/ now that the ancestor column has settled into its final size\n      \/\/ (with inner out of flow), correct inner's offset against it\n      var settledLeft = root.getBoundingClientRect().left;\n      inner.style.left = (-settledLeft) + 'px';\n\n      \/\/ reserve that height on the anchor so nothing below overlaps it\n      root.style.height = inner.getBoundingClientRect().height + 'px';\n    }\n    fullBleed();\n    window.addEventListener('load', fullBleed);\n    var resizeTimer;\n    window.addEventListener('resize', function(){\n      clearTimeout(resizeTimer);\n      resizeTimer = setTimeout(fullBleed, 150);\n    });\n\n    \/\/ FAQ accordion\n    root.querySelectorAll('.sh-faq-item').forEach(function(item){\n      var q = item.querySelector('.sh-faq-q');\n      if (q) q.addEventListener('click', function(){ item.classList.toggle('sh-open'); });\n    });\n  });\n})();\n\u003c\/script\u003e","brand":"TinyHome Box","offers":[{"title":"Off-White","offer_id":48895544459509,"sku":"1775143888166629379","price":36.26,"currency_code":"AUD","in_stock":true},{"title":"Green White","offer_id":48895544492277,"sku":"1775143888166629378","price":36.26,"currency_code":"AUD","in_stock":true},{"title":"2PC","offer_id":48895544525045,"sku":"1775143888166629376","price":57.26,"currency_code":"AUD","in_stock":true},{"title":"Black And White","offer_id":48895544557813,"sku":"1775143888166629377","price":36.26,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0811\/7957\/4517\/files\/3b8105364b82ba3b9d3d58bd6cfb.webp?v=1790005034","url":"https:\/\/tinyhomebox.shop\/products\/bathroom-handrail-with-vacuum-sucker-for-safety-support","provider":"TinyHome Box","version":"1.0","type":"link"}