{"product_id":"vyroshop™-uv-toothbrush-holder","title":"VyroSmile™ U-Shaped Electric Toothbrush","description":"\u003c!-- VyroSmile™ neon baby blue product description — paste into Shopify \"Show HTML\" (\u003c\u003e) or a Custom Liquid block --\u003e\n\u003cdiv class=\"vs\" id=\"vs\"\u003e\n\u003cstyle\u003e\n.vs{--ink:#081a30;--ink2:#0f2e52;--pearl:#f2fbff;--mist:#d3effa;--aqua:#6ee7ff;--sand:#bfefff;--txt:#1a3550;\nfont-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;color:var(--txt);line-height:1.6;\nmax-width:1000px;margin:0 auto;overflow:hidden;border-radius:24px;background:var(--pearl);box-sizing:border-box;\nword-break:normal;overflow-wrap:normal;hyphens:none;text-align:left}\n.vs *,.vs *::before,.vs *::after{box-sizing:border-box}\n.vs h2,.vs h3,.vs p{margin:0}\n.vs-in{padding:clamp(28px,6vw,64px) clamp(18px,5vw,56px)}\n.vs h2{font-size:clamp(22px,4.6vw,34px);line-height:1.2;color:var(--ink);font-weight:700;letter-spacing:-.01em;margin-bottom:12px}\n.vs .lead{max-width:60ch;font-size:clamp(15px,2.6vw,17px)}\n\n\/* Hero *\/\n.vs-hero{background:radial-gradient(circle at 70% 40%,#15508a 0,var(--ink) 62%);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}\n.vs-hero h1{font-size:clamp(28px,6.4vw,50px);line-height:1.08;margin:0 0 16px;font-weight:800;letter-spacing:-.02em;color:#fff}\n.vs-hero h1 span{color:var(--aqua)}\n.vs-hero p{color:#d2eaff;max-width:46ch;font-size:clamp(15px,2.7vw,18px)}\n.vs-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none}\n.vs-tags li{border:1px solid rgba(110,231,255,.6);color:var(--aqua);border-radius:99px;padding:6px 14px;font-size:13px;white-space:nowrap}\n.vs-art{position:relative;display:flex;justify-content:center;min-width:0}\n.vs-art svg{width:100%;max-width:300px;height:auto;overflow:visible}\n.vs-ring{fill:none;stroke:var(--aqua);stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0;animation:vsRing 3.6s ease-out infinite}\n.vs-ring:nth-of-type(2){animation-delay:1.2s}.vs-ring:nth-of-type(3){animation-delay:2.4s}\n@keyframes vsRing{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.9);opacity:0}}\n.vs-bristle{stroke:#fff;stroke-width:4;stroke-linecap:round;transform-box:fill-box;animation:vsBuzz .16s ease-in-out infinite alternate}\n.vs-bristle:nth-child(odd){animation-delay:-.08s}\n@keyframes vsBuzz{from{transform:translateX(-1.5px)}to{transform:translateX(1.5px)}}\n.vs-float{animation:vsFloat 5s ease-in-out infinite}\n@keyframes vsFloat{50%{transform:translateY(-10px)}}\n.vs-hero h1,.vs-hero p,.vs-tags{animation:vsUp .9s cubic-bezier(.2,.7,.2,1) both}\n.vs-hero p{animation-delay:.15s}.vs-tags{animation-delay:.3s}\n@keyframes vsUp{from{opacity:0;transform:translateY(22px)}}\n\n\/* Stats *\/\n.vs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}\n.vs-stat{background:#fff;border:1px solid var(--mist);border-radius:18px;padding:18px 12px;text-align:center}\n.vs-stat b{display:block;font-size:clamp(24px,5vw,36px);color:var(--ink);line-height:1.1}\n.vs-stat small{display:block;margin-top:6px;font-size:13px;color:#4a6a88}\n\n\/* Modes *\/\n.vs-modes{background:#fff}\n.vs-pick{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 18px}\n.vs-pick button{font:inherit;cursor:pointer;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--mist);background:var(--pearl);color:var(--ink);font-weight:700;font-size:17px;transition:.25s}\n.vs-pick button:hover{border-color:var(--aqua)}\n.vs-pick button:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}\n.vs-pick button.on{background:var(--ink);color:var(--aqua);border-color:var(--ink);transform:scale(1.08)}\n.vs-wave{display:flex;align-items:center;gap:4px;height:90px;background:var(--ink);border-radius:18px;padding:0 18px;--d:.9s}\n.vs-wave i{flex:1;min-width:2px;max-width:12px;height:70%;border-radius:4px;background:var(--aqua);transform-origin:center;animation:vsBar var(--d) ease-in-out infinite;animation-delay:calc(var(--i)*-.07s)}\n@keyframes vsBar{0%,100%{transform:scaleY(.15)}50%{transform:scaleY(1)}}\n.vs-cap{margin-top:12px;font-size:14px;color:#4a6a88}\n\n\/* Cycle + battery *\/\n.vs-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.vs-card{background:#fff;border:1px solid var(--mist);border-radius:22px;padding:24px;min-width:0}\n.vs-card h3{font-size:19px;color:var(--ink);margin-bottom:8px}\n.vs-card p{font-size:15px}\n.vs-dial{position:relative;width:150px;height:150px;margin:0 auto 14px}\n.vs-dial svg{width:100%;height:100%;transform:rotate(-90deg)}\n.vs-dial circle{fill:none;stroke-width:9;stroke-linecap:round}\n.vs-dial .bg{stroke:var(--mist)}\n.vs-dial .fg{stroke:var(--aqua);stroke-dasharray:408;stroke-dashoffset:408;animation:vsDial 6s linear infinite}\n@keyframes vsDial{to{stroke-dashoffset:0}}\n.vs-dial span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:var(--ink)}\n.vs-dial span em{font-style:normal;font-size:14px;font-weight:600;margin-left:3px;color:#4a6a88}\n.vs-batt{height:46px;border:3px solid var(--ink);border-radius:12px;padding:4px;position:relative;margin:20px 0 14px}\n.vs-batt::after{content:\"\";position:absolute;right:-11px;top:12px;width:7px;height:16px;background:var(--ink);border-radius:0 4px 4px 0}\n.vs-batt div{height:100%;width:100%;border-radius:6px;background:linear-gradient(90deg,var(--aqua),#b9f3ff);transform-origin:left;animation:vsCharge 4s ease-in-out infinite}\n@keyframes vsCharge{0%{transform:scaleX(.1)}70%,100%{transform:scaleX(1)}}\n\n\/* Specs *\/\n.vs-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;padding:0;list-style:none}\n.vs-specs li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--mist);border-radius:16px;padding:16px;transition:transform .3s,border-color .3s;min-width:0}\n.vs-specs li:hover{transform:translateY(-3px);border-color:var(--aqua)}\n.vs-specs .ic{font-size:24px;line-height:1.2;flex:none}\n.vs-specs b{display:block;color:var(--ink);font-size:15px}\n.vs-specs span{font-size:15px;color:#3b5a78}\n\n\/* Included *\/\n.vs-box{background:var(--ink);color:#fff}\n.vs-box h2{color:#fff}\n.vs-items{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}\n.vs-item{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px 14px;text-align:center;background:rgba(255,255,255,.04)}\n.vs-item .ic{font-size:34px;display:block;margin-bottom:8px}\n.vs-item b{font-size:15px;font-weight:600}\n.vs-care{margin-top:22px;padding:16px 18px;border-radius:14px;background:rgba(110,231,255,.12);color:var(--sand);font-size:14px}\n\n\/* Scroll reveal (only when JS is on, so content always shows otherwise) *\/\n.vs.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}\n.vs.js .rv.in{opacity:1;transform:none}\n.vs.js .rv:nth-child(2){transition-delay:.1s}.vs.js .rv:nth-child(3){transition-delay:.2s}.vs.js .rv:nth-child(4){transition-delay:.3s}\n\n\/* Neon glow *\/\n.vs-hero h1 span{text-shadow:0 0 20px rgba(110,231,255,.75),0 0 44px rgba(110,231,255,.35)}\n.vs-tags li{box-shadow:0 0 14px rgba(110,231,255,.28),inset 0 0 10px rgba(110,231,255,.12)}\n.vs-art svg{filter:drop-shadow(0 0 22px rgba(110,231,255,.45))}\n.vs-ring{stroke-width:2}\n.vs-wave{box-shadow:0 0 34px rgba(110,231,255,.28)}\n.vs-wave i{box-shadow:0 0 10px rgba(110,231,255,.8)}\n.vs-dial .fg{filter:drop-shadow(0 0 5px rgba(110,231,255,.9))}\n.vs-batt div{box-shadow:0 0 16px rgba(110,231,255,.9)}\n.vs-pick button.on{box-shadow:0 0 18px rgba(110,231,255,.7)}\n.vs-specs li:hover,.vs-stat:hover{box-shadow:0 0 20px rgba(110,231,255,.35)}\n.vs-box{background:radial-gradient(circle at 20% 0,#15508a 0,var(--ink) 70%)}\n.vs-item{box-shadow:inset 0 0 18px rgba(110,231,255,.08)}\n\n\/* Mode picker (pure CSS, no script needed) *\/\n.vs-mb{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;position:relative}\n.vs-mb input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}\n.vs-mb label{cursor:pointer;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--mist);background:var(--pearl);color:var(--ink);font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;transition:.25s;user-select:none}\n.vs-mb label:hover{border-color:var(--aqua)}\n.vs-mb input:checked+label{background:var(--ink);color:var(--aqua);border-color:var(--ink);transform:scale(1.1);box-shadow:0 0 18px rgba(110,231,255,.7)}\n.vs-mb input:focus-visible+label{outline:3px solid var(--aqua);outline-offset:2px}\n.vs-mb .vs-wave{flex:0 0 100%;margin-top:8px}\n#vsm1:checked~.vs-wave{--d:1.7s}#vsm2:checked~.vs-wave{--d:1.2s}#vsm3:checked~.vs-wave{--d:.8s}#vsm4:checked~.vs-wave{--d:.5s}#vsm5:checked~.vs-wave{--d:.28s}\n.vs-ro{flex:0 0 100%;display:none;margin:4px 0 0;font-weight:600;font-size:15px;color:var(--ink)}\n#vsm1:checked~.r1,#vsm2:checked~.r2,#vsm3:checked~.r3,#vsm4:checked~.r4,#vsm5:checked~.r5{display:block;animation:vsOpen .4s ease both}\n.vs-modes .vs-cap{margin-top:14px}\n\n\/* FAQ *\/\n.vs-faq details{background:#fff;border:1px solid var(--mist);border-radius:16px;margin-top:10px;transition:border-color .3s,box-shadow .3s}\n.vs-faq details[open]{border-color:var(--aqua);box-shadow:0 0 0 1px var(--aqua),0 0 24px rgba(110,231,255,.4)}\n.vs-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px;font-weight:600;font-size:16px;color:var(--ink);line-height:1.4}\n.vs-faq summary::-webkit-details-marker{display:none}\n.vs-faq summary span{min-width:0}\n.vs-faq summary::after{content:\"+\";flex:none;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--aqua);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;transition:transform .35s,box-shadow .35s}\n.vs-faq details[open] summary::after{transform:rotate(135deg);box-shadow:0 0 14px rgba(110,231,255,.8)}\n.vs-faq summary:focus-visible{outline:3px solid var(--aqua);outline-offset:2px;border-radius:16px}\n.vs-faq .a{padding:0 18px 18px;font-size:15px;color:#3b5a78;max-width:64ch;animation:vsOpen .45s ease both}\n@keyframes vsOpen{from{opacity:0;transform:translateY(-8px)}}\n\n@media (max-width:720px){\n .vs{border-radius:16px}\n .vs-hero{grid-template-columns:1fr;text-align:center}\n .vs-hero p{margin:0 auto}.vs-tags{justify-content:center}\n .vs-art{order:-1}.vs-art svg{max-width:210px}\n .vs-stats{grid-template-columns:1fr 1fr}\n .vs-duo,.vs-specs{grid-template-columns:1fr}\n .vs-items{grid-template-columns:1fr}\n}\n@media (prefers-reduced-motion:reduce){\n .vs *,.vs *::before,.vs *::after{animation:none!important;transition:none!important}\n .vs.js .rv{opacity:1;transform:none}\n}\n\u003c\/style\u003e\n\n\u003c!-- HERO --\u003e\n\u003csection class=\"vs-in vs-hero\"\u003e\n \u003cdiv\u003e\n  \u003ch1\u003eVyroSmile™ \u003cspan\u003eU‑Shaped\u003c\/span\u003e Electric Toothbrush\u003c\/h1\u003e\n  \u003cp\u003eMake room for a fresh daily routine. A U‑shaped brush head, sonic vibration and five selectable modes, in a compact, easy‑to‑hold design.\u003c\/p\u003e\n  \u003cul class=\"vs-tags\"\u003e\n\u003cli\u003e🪥 U‑shaped head\u003c\/li\u003e\n\u003cli\u003e〰️ Sonic vibration\u003c\/li\u003e\n\u003cli\u003e💧 IPX7\u003c\/li\u003e\n\u003c\/ul\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"vs-art\" aria-hidden=\"true\"\u003e\n  \u003csvg viewbox=\"0 0 240 330\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n   \u003ccircle class=\"vs-ring\" cx=\"120\" cy=\"120\" r=\"70\"\u003e\u003c\/circle\u003e\u003ccircle class=\"vs-ring\" cx=\"120\" cy=\"120\" r=\"70\"\u003e\u003c\/circle\u003e\u003ccircle class=\"vs-ring\" cx=\"120\" cy=\"120\" r=\"70\"\u003e\u003c\/circle\u003e\n   \u003cg class=\"vs-float\"\u003e\n    \u003cpath d=\"M68 34 V112 a52 52 0 0 0 104 0 V34\" fill=\"none\" stroke=\"#eaf9ff\" stroke-width=\"24\" stroke-linecap=\"round\"\u003e\u003c\/path\u003e\n    \u003cg\u003e\n     \u003cline class=\"vs-bristle\" x1=\"82\" y1=\"46\" x2=\"100\" y2=\"46\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"82\" y1=\"68\" x2=\"100\" y2=\"68\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"82\" y1=\"90\" x2=\"100\" y2=\"90\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"86\" y1=\"112\" x2=\"103\" y2=\"112\"\u003e\u003c\/line\u003e\n     \u003cline class=\"vs-bristle\" x1=\"158\" y1=\"46\" x2=\"140\" y2=\"46\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"158\" y1=\"68\" x2=\"140\" y2=\"68\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"158\" y1=\"90\" x2=\"140\" y2=\"90\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"154\" y1=\"112\" x2=\"137\" y2=\"112\"\u003e\u003c\/line\u003e\n     \u003cline class=\"vs-bristle\" x1=\"120\" y1=\"148\" x2=\"120\" y2=\"132\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"98\" y1=\"140\" x2=\"105\" y2=\"126\"\u003e\u003c\/line\u003e\u003cline class=\"vs-bristle\" x1=\"142\" y1=\"140\" x2=\"135\" y2=\"126\"\u003e\u003c\/line\u003e\n    \u003c\/g\u003e\n    \u003crect x=\"102\" y=\"164\" width=\"36\" height=\"150\" rx=\"18\" fill=\"#eaf9ff\"\u003e\u003c\/rect\u003e\n    \u003crect x=\"102\" y=\"164\" width=\"36\" height=\"150\" rx=\"18\" fill=\"none\" stroke=\"#6ee7ff\" stroke-width=\"2\" stroke-dasharray=\"3 7\"\u003e\u003c\/rect\u003e\n    \u003ccircle cx=\"120\" cy=\"214\" r=\"9\" fill=\"#081a30\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"120\" cy=\"214\" r=\"4\" fill=\"#6ee7ff\"\u003e\u003c\/circle\u003e\n   \u003c\/g\u003e\n  \u003c\/svg\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- STATS --\u003e\n\u003csection class=\"vs-in\" style=\"padding-bottom:clamp(8px,2vw,16px)\"\u003e\n \u003ch2 class=\"rv\"\u003eBuilt for a simple daily routine\u003c\/h2\u003e\n \u003cp class=\"lead rv\"\u003eOne button, a textured handle and a wraparound mouthpiece designed to sit around your teeth.\u003c\/p\u003e\n \u003cdiv class=\"vs-stats\"\u003e\n  \u003cdiv class=\"vs-stat rv\"\u003e\n\u003cb data-n=\"5\"\u003e5\u003c\/b\u003e\u003csmall\u003eselectable modes\u003c\/small\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"vs-stat rv\"\u003e\n\u003cb data-n=\"45\"\u003e45\u003c\/b\u003e\u003csmall\u003esecond cycle\u003c\/small\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"vs-stat rv\"\u003e\n\u003cb data-n=\"36000\" data-c=\"1\"\u003e36,000\u003c\/b\u003e\u003csmall\u003emax vibrations per minute\u003c\/small\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"vs-stat rv\"\u003e\n\u003cb\u003eIPX7\u003c\/b\u003e\u003csmall\u003ewater resistance\u003c\/small\u003e\n\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- MODES --\u003e\n\u003csection class=\"vs-in vs-modes\" style=\"margin-top:clamp(20px,4vw,40px)\"\u003e\n \u003ch2 class=\"rv\"\u003ePick your mode\u003c\/h2\u003e\n \u003cp class=\"lead rv\"\u003eFive modes covering 4,800 to 36,000 vibrations per minute. Tap a number to preview the rhythm.\u003c\/p\u003e\n \u003cdiv class=\"vs-mb rv\" role=\"radiogroup\" aria-label=\"Preview modes\"\u003e\n  \u003cinput type=\"radio\" name=\"vsmode\" id=\"vsm1\" aria-label=\"Mode 1\"\u003e\u003clabel for=\"vsm1\"\u003e1\u003c\/label\u003e\n  \u003cinput type=\"radio\" name=\"vsmode\" id=\"vsm2\" aria-label=\"Mode 2\"\u003e\u003clabel for=\"vsm2\"\u003e2\u003c\/label\u003e\n  \u003cinput type=\"radio\" name=\"vsmode\" id=\"vsm3\" aria-label=\"Mode 3\" checked\u003e\u003clabel for=\"vsm3\"\u003e3\u003c\/label\u003e\n  \u003cinput type=\"radio\" name=\"vsmode\" id=\"vsm4\" aria-label=\"Mode 4\"\u003e\u003clabel for=\"vsm4\"\u003e4\u003c\/label\u003e\n  \u003cinput type=\"radio\" name=\"vsmode\" id=\"vsm5\" aria-label=\"Mode 5\"\u003e\u003clabel for=\"vsm5\"\u003e5\u003c\/label\u003e\n  \u003cdiv class=\"vs-wave\" aria-hidden=\"true\"\u003e\n   \u003ci style=\"--i:1\"\u003e\u003c\/i\u003e\u003ci style=\"--i:2\"\u003e\u003c\/i\u003e\u003ci style=\"--i:3\"\u003e\u003c\/i\u003e\u003ci style=\"--i:4\"\u003e\u003c\/i\u003e\u003ci style=\"--i:5\"\u003e\u003c\/i\u003e\u003ci style=\"--i:6\"\u003e\u003c\/i\u003e\u003ci style=\"--i:7\"\u003e\u003c\/i\u003e\u003ci style=\"--i:8\"\u003e\u003c\/i\u003e\u003ci style=\"--i:9\"\u003e\u003c\/i\u003e\u003ci style=\"--i:10\"\u003e\u003c\/i\u003e\u003ci style=\"--i:11\"\u003e\u003c\/i\u003e\u003ci style=\"--i:12\"\u003e\u003c\/i\u003e\u003ci style=\"--i:13\"\u003e\u003c\/i\u003e\u003ci style=\"--i:14\"\u003e\u003c\/i\u003e\u003ci style=\"--i:15\"\u003e\u003c\/i\u003e\u003ci style=\"--i:16\"\u003e\u003c\/i\u003e\u003ci style=\"--i:17\"\u003e\u003c\/i\u003e\u003ci style=\"--i:18\"\u003e\u003c\/i\u003e\u003ci style=\"--i:19\"\u003e\u003c\/i\u003e\u003ci style=\"--i:20\"\u003e\u003c\/i\u003e\u003ci style=\"--i:21\"\u003e\u003c\/i\u003e\u003ci style=\"--i:22\"\u003e\u003c\/i\u003e\u003ci style=\"--i:23\"\u003e\u003c\/i\u003e\u003ci style=\"--i:24\"\u003e\u003c\/i\u003e\n  \u003c\/div\u003e\n  \u003cp class=\"vs-ro r1\"\u003eMode 1 of 5 · slowest preview rhythm\u003c\/p\u003e\n  \u003cp class=\"vs-ro r2\"\u003eMode 2 of 5 · gentle preview rhythm\u003c\/p\u003e\n  \u003cp class=\"vs-ro r3\"\u003eMode 3 of 5 · medium preview rhythm\u003c\/p\u003e\n  \u003cp class=\"vs-ro r4\"\u003eMode 4 of 5 · fast preview rhythm\u003c\/p\u003e\n  \u003cp class=\"vs-ro r5\"\u003eMode 5 of 5 · fastest preview rhythm\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cp class=\"vs-cap rv\"\u003eAnimation is a visual preview only. Higher numbers show a faster rhythm.\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003c!-- CYCLE + BATTERY --\u003e\n\u003csection class=\"vs-in\"\u003e\n \u003cdiv class=\"vs-duo\"\u003e\n  \u003cdiv class=\"vs-card rv\"\u003e\n   \u003cdiv class=\"vs-dial\"\u003e\n\u003csvg viewbox=\"0 0 150 150\"\u003e\u003ccircle class=\"bg\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\u003ccircle class=\"fg\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb id=\"vsSec\"\u003e45\u003c\/b\u003e\u003cem\u003esec\u003c\/em\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003ch3\u003e45‑second cycle\u003c\/h3\u003e\n   \u003cp\u003eA short, defined brushing cycle that keeps the routine quick and easy to follow.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"vs-card rv\"\u003e\n   \u003cdiv class=\"vs-batt\" aria-hidden=\"true\"\u003e\u003cdiv\u003e\u003c\/div\u003e\u003c\/div\u003e\n   \u003ch3\u003eInduction charging\u003c\/h3\u003e\n   \u003cp\u003eAbout four hours for a full charge. Claimed battery life of up to 15 days, depending on use. The base gives it a dedicated spot on your counter.\u003c\/p\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- SPECS --\u003e\n\u003csection class=\"vs-in\" style=\"padding-top:0\"\u003e\n \u003ch2 class=\"rv\"\u003eFeatures and specifications\u003c\/h2\u003e\n \u003cp class=\"lead rv\"\u003eAccording to the supplier.\u003c\/p\u003e\n \u003cul class=\"vs-specs\"\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e⏱️\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eCycle\u003c\/b\u003e\u003cspan\u003e45 seconds\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e🎛️\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eModes\u003c\/b\u003e\u003cspan\u003eFive selectable modes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e〰️\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eVibrations\u003c\/b\u003e\u003cspan\u003e4,800–36,000 per minute\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e💧\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eWater resistance\u003c\/b\u003e\u003cspan\u003eIPX7 rating\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e🔋\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eBattery\u003c\/b\u003e\u003cspan\u003e3.7V 300mAh rechargeable lithium\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e⚡\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eCharge time\u003c\/b\u003e\u003cspan\u003eApproximately four hours\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e📅\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eBattery life\u003c\/b\u003e\u003cspan\u003eUp to 15 days claimed, depending on use\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n  \u003cli class=\"rv\"\u003e\n\u003cspan class=\"ic\"\u003e📏\u003c\/span\u003e\u003cdiv\u003e\n\u003cb\u003eDimensions\u003c\/b\u003e\u003cspan\u003e6.2 × 2.8 × 11 cm\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n \u003c\/ul\u003e\n\u003c\/section\u003e\n\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"vs-in vs-box\"\u003e\n \u003ch2 class=\"rv\"\u003eWhat's included\u003c\/h2\u003e\n \u003cdiv class=\"vs-items\"\u003e\n  \u003cdiv class=\"vs-item rv\"\u003e\n\u003cspan class=\"ic\"\u003e🪥\u003c\/span\u003e\u003cb\u003e1 U‑shaped toothbrush\u003c\/b\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"vs-item rv\"\u003e\n\u003cspan class=\"ic\"\u003e🔌\u003c\/span\u003e\u003cb\u003e1 charging base\u003c\/b\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"vs-item rv\"\u003e\n\u003cspan class=\"ic\"\u003e📖\u003c\/span\u003e\u003cb\u003e1 user manual\u003c\/b\u003e\n\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cp class=\"vs-care rv\"\u003e📖 Follow the supplied manual for use and cleaning. Keep the toothbrush and charging base dry while charging.\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003c!-- FAQ --\u003e\n\u003csection class=\"vs-in vs-faq\"\u003e\n \u003ch2 class=\"rv\"\u003eFrequently asked questions\u003c\/h2\u003e\n \u003cp class=\"lead rv\"\u003eQuick answers about the VyroSmile™. Details are according to the supplier.\u003c\/p\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eHow long does one brushing cycle last?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003eEach cycle runs for 45 seconds.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eWhat do the five modes do?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003eYou get five selectable modes covering 4,800 to 36,000 vibrations per minute. One button controls everything, so switching is simple.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eIs it water resistant?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003eYes, it has an IPX7 water-resistance rating. Keep the toothbrush and the charging base dry while charging.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eHow do I charge it, and how long does the battery last?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003ePlace it on the induction charging base. A full charge takes approximately four hours. Battery life is claimed at up to 15 days, depending on use. It uses a 3.7V 300mAh rechargeable lithium battery.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eWhat comes in the box?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003e1 U-shaped toothbrush, 1 charging base and 1 user manual.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eHow do I use and clean it?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003eFollow the supplied user manual for use and cleaning.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eHow big is it?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003eIt measures 6.2 × 2.8 × 11 cm, compact enough to sit on a bathroom counter.\u003c\/p\u003e\u003c\/details\u003e\n  \u003cdetails class=\"rv\"\u003e\u003csummary\u003e\u003cspan\u003eIs it right for my specific dental needs?\u003c\/span\u003e\u003c\/summary\u003e\u003cp class=\"a\"\u003eIf you have braces, sensitive teeth or any other dental concern, check with your dentist before switching toothbrushes and read the manual first.\u003c\/p\u003e\u003c\/details\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n var r=document.getElementById('vs');if(!r)return;\n r.classList.add('js');\n var els=r.querySelectorAll('.rv');\n function count(el){\n  var n=+el.getAttribute('data-n'),c=el.getAttribute('data-c'),t=0,s=null;\n  function f(ts){if(!s)s=ts;t=Math.min((ts-s)\/1400,1);var v=Math.round(n*(1-Math.pow(1-t,3)));\n   el.textContent=c?v.toLocaleString('en-US'):v;if(t\u003c1)requestAnimationFrame(f)}\n  requestAnimationFrame(f);\n }\n if('IntersectionObserver' in window){\n  var io=new IntersectionObserver(function(es){es.forEach(function(e){\n   if(e.isIntersecting){e.target.classList.add('in');\n    e.target.querySelectorAll('[data-n]').forEach(count);io.unobserve(e.target)}})},{threshold:.15});\n  els.forEach(function(el){io.observe(el)});\n }else{els.forEach(function(el){el.classList.add('in')})}\n \/* dial seconds *\/\n var sec=document.getElementById('vsSec'),st=Date.now();\n setInterval(function(){var p=((Date.now()-st)%6000)\/6000;sec.textContent=Math.round(p*45)},120);\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Vyro Shop","offers":[{"title":"White","offer_id":67678432100633,"sku":null,"price":599.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/8881\/3593\/files\/u-shaped-toothbrush-on-a-bathroom-vanity.png?v=1791402524","url":"https:\/\/vyroshop.co.za\/products\/vyroshop%e2%84%a2-uv-toothbrush-holder","provider":"Vyro Shop","version":"1.0","type":"link"}