{"product_id":"roborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt","title":"Robot Vacuum and Mop with FlexiArm Design Edge Mopping, Dynamic Hot Water Mop Washing and Auto Mop Drying, Intelligent Dirt Detection, 7,000 Pa Suction, Ideal for Carpets","description":"\u003cdiv class=\"product-description\"\u003e\u003csection class=\"desc-box richtext-box\"\u003e\u003cdiv class=\"product__info-description body3 rte\"\u003e\u003cdiv class=\"product-description\"\u003e\u003csection class=\"desc-box richtext-box\"\u003e\u003cdiv class=\"product-description\"\u003e\u003csection class=\"desc-box richtext-box\"\u003e\u003cdiv class=\"product-description\"\u003e\u003csection class=\"desc-box richtext-box\"\u003e\u003cdiv class=\"product-description\"\u003e\u003csection class=\"desc-box richtext-box\"\u003e\u003cdiv\u003e\u003ctable class=\"a-normal a-spacing-micro\"\u003e\u003ctbody\u003e\n\u003ctr class=\"a-spacing-small po-color\"\u003e\n\u003ctd class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eColor\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eWhite\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a-spacing-small po-item_length_width_height\"\u003e\n\u003ctd class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eProduct Dimensions\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003e19.2\"L x 13.4\"W x 20.5\"H\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e FlexiArm Design Edge Mopping System. Say hello to an immaculate home - every corner flawlessly clean. every edge pristine. With FlexiArm Design. the mop extends right to the edge so that blind spots become a thing of the past. ensuring a thorough clean that leaves no inch untouched. Enjoy 98.8% edge coverage with a precision margin of 1.85mm. FlexiArm Design effortlessly navigates every edge. ensuring your floors gleam with cleanliness. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Hot Water Auto Mop Washing. With Hot Water Auto Mop Washing. Qrevo Pro takes cleaning to a whole new level by using hot water to wash away stubborn stains and grime. The power of 140℉ hot water. not only removes dirt and grime but also sanitizes the mop. leaving it hygienically clean. It's like giving your mops a spa treatment. ensuring a deep clean that you can feel good about. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Auto Mop Drying. Once your floors are clean. this feature kicks in to ensure the mop dries quickly and thoroughly. Picture the convenience of always having a clean mop ready to tackle any mess. without the need for manual intervention. With this feature. you're not just investing in cleanliness; you're investing in efficiency. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e 7.000 Pa HyperForce Suction. Get superb cleaning performance with Qrevo Pro's 7.000 Pa HyperForce Suction. Effortlessly lift dirt. dust. and debris from every surface of your home. leaving nothing but pristine floors and fresh air in its wake. With HyperForce Suction. cleaning becomes more than just a chore; it's a transformative experience that leaves your home feeling refreshed and renewed. every single time. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Intelligent Dirt Detection. Imagine having a vacuum cleaner that's not just powerful but also incredibly smart. Using a sensor to detect dirty water while mop washing. it prompts re-washing of dirty mops and targets specific dirty areas. enhancing overall cleaning effectiveness. and ensuring that your floors are spotless. Whether it's a spilled cereal or a muddy paw print. this feature ensures your floors are spotless without any extra effort on your part. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Auto Tank Refilling. With Auto Tank Refilling. your robot vacuum ensures that you never have to worry about running out of water while mopping. No more interruptions mid-clean to refill the water tank. With Auto Tank Refilling. you're not just investing in cleanliness; you're investing in a hassle-free cleaning experience that saves you time and effort. This feature ensures that your vacuum automatically refills its tank when needed. so you get uninterrupted cleaning sessions that leave your floors gleaming. \u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003e Auto Dust Emptying. Auto Dust Emptying ensures that you never have to deal with the hassle of emptying the dustbin yourself. Say goodbye to the hassle of emptying the dustbin after every cleaning session. Qrevo Pro automatically empties its own dustbin into a sealed bag. trapping allergens and dust particles. so you can breathe easy. Your vacuum takes care of emptying its own dustbin. so you can enjoy clean floors without any extra effort. \u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable class=\"a-keyvalue prodDetTable\" id=\"productDetails_detailBullets_sections1\"\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eSpecial Feature\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eFlexiArm Design Edge Mopping System and 7.000 Pa HyperForce Suction. Auto Mop Drying\/Auto Dust Emptying\/Auto Tank Refilling. Easy-to-Use App and Third-Party Voice Control. Reactive Tech Obstacle Avoidance and PreciSense LiDAR Navigation. Hot Water Auto Mop Washing and Intelligent Dirt Detection\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eColor\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eWhite\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eProduct Dimensions\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003e19.2\"L x 13.4\"W x 20.5\"H\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eIncluded Components\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eMultifunctional Dock (1). Dock Base (1). Power Cable (1). Batteries included. Robot Vacuum (1)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eFilter Type\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eStandard\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eCapacity\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003e330 Milliliters\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003ePower Source\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eBattery Powered\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eAre Batteries Included\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eControl Method\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eApp. Touch. Voice\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eForm Factor\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003eRobotic\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eItem Weight\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003e34.4 pounds\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth class=\"a-color-secondary a-size-base prodDetSectionEntry\"\u003eBatteries\u003c\/th\u003e\n\u003ctd class=\"a-size-base prodDetAttrValue\"\u003e1 Lithium Ion batteries required. (included)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\"\u003e\n\u003cstyle type=\"text\/css\"\u003e.aplus-v2 .premium-aplus-module-2 .premium-background-wrapper {    position: relative;}.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper {    position: absolute;    width: 50%;    height: 100%;    top: 0;}.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right {    left: 50%;}htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right {    left: auto;    right: 50%;}.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color {    color: #fff;}.aplus-v2 .premium-aplus-module-2 .premium-intro-background {    padding: 20px;}.aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic {    padding-bottom: 10px;}.aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading {    padding-bottom: 20px;}.aplus-v2 .premium-aplus-module-2 .aplus-module-2-description {    line-height: 1.5em;}.aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background {    background: rgba(255.255.255.0.5);}.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background {    background: rgba(0.0.0.0.5);}.aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background..aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1..aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5..aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol..aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul..aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item..aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item {  color: #fff;}.aplus-v2 .premium-aplus-module-2 .premium-intro-content-container {    display: table;    height: 100%;}.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container {    padding-left: 40px;}htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container {\tpadding-left: 0px;\tpadding-right: 40px;}.aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container {    padding-right: 40px;}htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container {    padding-right: 0px;    padding-left: 40px;}.aplus-v2 .premium-aplus-module-2 .premium-intro-content-column {    display: table-cell;    vertical-align: middle;}\u003c\/style\u003e\n\u003cstyle type=\"text\/css\"\u003e\/** * Premium modules global styles *\/.aplus-v2.desktop {  max-width: 1464px;  min-width: 800px;  margin-left: auto;  margin-right: auto;  word-wrap: break-word;  overflow-wrap: break-word;  word-break: break-word;}\/* Undo this for tech-specs because it breaks table layout *\/.aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; }.aplus-v2 .premium-aplus..aplus-v2 .premium-aplus .aplus-h1..aplus-v2 .premium-aplus .aplus-h2..aplus-v2 .premium-aplus .aplus-p1..aplus-v2 .premium-aplus .aplus-p2..aplus-v2 .premium-aplus .aplus-p3..aplus-v2 .premium-aplus .aplus-accent1..aplus-v2 .premium-aplus .aplus-accent2{ font-family: Arial. sans-serif; }.aplus-v2 .premium-aplus..aplus-v2 .premium-aplus .aplus-h1..aplus-v2 .premium-aplus .aplus-h2..aplus-v2 .premium-aplus .aplus-p1..aplus-v2 .premium-aplus .aplus-p2..aplus-v2 .premium-aplus .aplus-p3..aplus-v2 .premium-aplus .aplus-accent1..aplus-v2 .premium-aplus .aplus-accent2{ font-family: inherit; }\/* type *\/.aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; }.aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; }.aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; }.aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; }.aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; }.aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; }.aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; }.aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; }\/* spacing *\/.aplus-v2 .aplus-container-1 { padding: 40px; }.aplus-v2 .aplus-container-1-2 { padding: 40px 80px; }.aplus-v2 .aplus-container-2 { padding: 80px; }.aplus-v2 .aplus-container-3 { padding: 40px 0; }\/* Display *\/.aplus-v2 .premium-aplus .aplus-display-table { display: table; }.aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; }.aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; }\/* Aplus display table with min-width 1000px and fill remaining space inside parent *\/.aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% }\/*** Padding and margin for element should be 10. 20. 40. or 80 px. Considering mini 10. small 20. medium 40. large 80.*\/\u003c\/style\u003e\n\u003cstyle type=\"text\/css\"\u003e\/** * Premium-module 12: Nav Carousel *\/.aplus-v2 .premium-aplus-module-12 .aplus-carousel-card {    position: relative;    width: 100%;}.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container {    position: relative;}.aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container {    \/* Match the aspect ratio of the desktop image uploaded via the editor (1464px x 600px) *\/    padding-top: calc(600 \/ 1464 * 100%); \/* ~40.983% *\/    height: 0;}.aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container \u003e div {    position: absolute;    width: 100%;    height: 100%;    top: 0;    left: 0;}\/* Override AUI styles. It poorly attempts to measure the slide heights before waiting until images load. *\/.aplus-v2 .premium-aplus-module-12 .a-carousel-viewport {    height: 100% !important;}.aplus-v2 .premium-aplus-module-12 .aplus-card-image img {    width: 100%;    height: auto;}.aplus-v2 .premium-aplus-module-12 .aplus-card-details-wrapper {    position: absolute;    top: 0;    width: 50%;    height: 100%;}.aplus-v2 .premium-aplus-module-12 .aplus-card-detail {    display: table;    width: 100%;    height: 100%}.aplus-v2 .premium-aplus-module-12 .card-description {    text-align: left;}htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-12 .card-description {    text-align: right;}.aplus-v2 .premium-aplus-module-12 .aplus-table-cell {    display: table-cell;    vertical-align: middle;}.aplus-v2 .premium-aplus-module-12 .aplus-text-background {    padding: 20px;}.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color {    background: rgba(0. 0. 0. 0.5);}.aplus-v2 .premium-aplus-module-12 .aplus-text-background-color..aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h1..aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h5..aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol..aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul..aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol .a-list-item..aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul .a-list-item {    color: #fff;}.aplus-v2 .premium-aplus-module-12 .description {    margin-top: 20px;}\/* nav *\/.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions {    position: absolute;    top: 20px;    width: 100%;    text-align: center;}.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn {    display: inline-block;    margin: 7px 10px;    cursor: pointer;    border-radius: 30px;    border: 2px solid #000;    line-height: 2.5em;    min-width: 200px;    background-color: #fff;    white-space: nowrap;    color: #000;}.aplus-v2 .premium-aplus-module-12 .aplus-carousel-index {    display: none;}.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.aplus-active {    border-color: #fff;    background-color: #000;    color: #fff;}\/** * Regimen template specific css *\/htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen {    text-align: right;}.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen {    text-align: right;    top: 50%;    width: 250px;    right: 75px;    -webkit-transform: translateY(-50%);    -moz-transform: translateY(-50%);    -o-transform: translateY(-50%);    transform: translateY(-50%);}htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen {    text-align: left;    top: 50%;    left: 75px;    right: auto;}.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen {    display: inline-block;    margin: 10px 10px;    cursor: pointer;    border-radius: 30px;    border: 2px solid #000;    width: 220px;    background-color: #fff;    padding: 2px 0 2px;}.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active {    border-color: #fff;    background-color: #000;    color: #fff;}.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-index {    color: inherit;}.aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-label {    color: inherit;}.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index {    display: inline-block;    width: 12px;    color: #000;}.aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-label {    color: #000;}htmldir=\"rtl\" .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index {    margin-left: 0px;    margin-right: 6px;}.aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen {    position: absolute;    top: 0;    left: 0;    width: 100%;    background-color: #000;    opacity: 0.5;    text-align: center;}.aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen .aplus-headline {    color: #fff;    line-height: 2em;}\/** * Navigation template specific css *\/.aplus-v2 .premium-aplus-module-12--top-nav .aplus-carousel-actions {    background-color: rgba(0. 0. 0. 0.8);    top: 0px;}.aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn {    padding: 8px;    color: #fff;    background-color: transparent;    border: none;}.aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn.aplus-active {    text-decoration: underline;    text-underline-offset: 0.8em;    text-decoration-thickness: 3px;    background-color: transparent;    border: none;}\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e(function(f) {var _np=(window.P._namespace(\"PremiumAplusModule\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {P.now('premium-module-12-nav-carousel').execute(function(init) {    if (init) {        return;    }    P.register('premium-module-12-nav-carousel'. function(){        return function() {            P.when('A'. 'jQuery'. 'a-carousel-framework'. 'ready').execute(function (A. $. framework) {                function initiateCarousel(module) {                    var MODULE_ID = $(module).data('module-id');                    \/**                    * Carousel button element classname                    * @const                    *\/                    var GOTO_BTN_CLASS_NAME = \"aplus-goto-btn-\" + MODULE_ID;                    \/**                    * Carousel button element active classname                    * @const                    *\/                    var GOTO_BTN_ACTIVE_CLASS_NAME = \"aplus-active\";                    \/**                    * AUI name for aui carousel                    * @const                    *\/                    var CAROUSEL_NAME = \"premium-aplus-12-carousel-\" + MODULE_ID;                    \/**                    * Module class name                    * @const                    *\/                    var MODULE_CLASS_NAME = \".aplus-v2 .premium-aplus-module-12\";                    \/**                    * Carousel text container class name                    * @const                    *\/                    var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-carousel-text-container-\" + MODULE_ID;                    \/**                    * Carousel text hidden class name                    * @const                    *\/                    var TEXT_CONTAINER_HIDDEN = \"aplus-hidden\";                    \/**                    * Carousel horizontal scroll container class name                    * @const                    *\/                    var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-horizontal-scroll-container-\" + MODULE_ID;                    function showCarouselText(oldIndex. newIndex) {                        var oldClass = TEXT_CONTAINER_CLASS_NAME + \"-\" + oldIndex;                        var newClass= TEXT_CONTAINER_CLASS_NAME + \"-\" + newIndex;                        $(oldClass).addClass(TEXT_CONTAINER_HIDDEN);                        $(newClass).removeClass(TEXT_CONTAINER_HIDDEN);                    }                    function scrollToCarouselButton(scrollLeft) {                        if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) {                            $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}. 200);                        }                    }                    \/**                    * Creates a CarouselButton class for provided carousel instance                    * @param {object} carousel - AUI Carousel instance                    * @returns {Class} - CarouselButton Class                    *\/                    function CarouselButtonTemplate(carousel) {                        \/**                        * Button for controlling the active slide                        * @constructor                        * @param {number} index - slide index                        * @param {DOMElement} elem - optional DOM element to use as this objects DOM representation                        *\/                        function CarouselButton(index. elem) {                            var self = this;                            this.index = index;                            this.carousel = carousel;                            \/* create the button element *\/                            this.elem = this.getElem(elem);                            this.$elem = $(this.elem);  \/* store jquery version *\/                            this.elem.addEventListener('click'. self.handleClick.bind(self));                            this.elem.setAttribute('role'. 'tab');                            \/* add this object to the object manager *\/                            CarouselButton.objects.byIdindex = this;                            CarouselButton.objects.all.push(this);                        }                        \/**                        * Describe behavior for click events on this.elem                        * @memberOf CarouselButton                        *\/                        CarouselButton.prototype.handleClick = function(e) {                            e.preventDefault();                            this.carousel.gotoPage(this.index);                        };                        \/**                        * Enter active state                        * @memberOf CarouselButton                        *\/                        CarouselButton.prototype.activate = function() {                            this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected'. 'true');                        };                        \/**                        * Enter inactive state                        * @memberOf CarouselButton                        *\/                        CarouselButton.prototype.deactivate = function() {                            this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected'. 'false');                        };                        \/**                        * Returns an existing or creates a new bound element for this object                        * @memberOf CarouselButton                        * @param {DOMElement} elem - optionally provide an existing element in the DOM to use                        * @returns {DOMElement} - this objects DOM representation                        *\/                        CarouselButton.prototype.getElem = function(elem) {                            if (this.elem) return this.elem;                            if (elem) return elem;                            var createdElem = document.createElement('span');                            createdElem.className = GOTO_BTN_CLASS_NAME;                            return createdElem;                        };                        \/** @const Object manager *\/                        CarouselButton.objects = {                            byId: {}.                            all: .                        };                        return CarouselButton;                    }                    framework.onInit(CAROUSEL_NAME. function(carousel) {                        \/** @const {Class} *\/                        var CarouselButton = CarouselButtonTemplate(carousel);                        \/* create carousel controls *\/                        var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME));                        var btns = $carouselBtns.map(function(i. btnElem) {                            return new CarouselButton(i + 1. btnElem);                        });                        \/* activate first one *\/                        CarouselButton.objects.byId1.activate();                        \/* Listen to slide changes *\/                        A.on(\"a:carousel:\" + CAROUSELNAME + \":change:pageNumber\". function (data) {                            var newCarouselButton = CarouselButton.objects.byIddata.newValue;                            var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left'));                            var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft;                            newCarouselButton.activate();                            CarouselButton.objects.byIddata.oldValue.deactivate();                            scrollToCarouselButton(positionLeft);                            showCarouselText(data.oldValue. data.newValue);                        });                    });                    \/**                    * @returns {string} - css classname prefixed with module selector                    *\/                    function safeClassSelector(className) {                        return '.' + MODULE_CLASS_NAME + ' .' + className;                    }                }                $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index. module) {                    initiateCarousel(module);                });                framework.createAll();                framework.initializeAll();            });        }    })});}));\u003c\/noscript\u003e\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-text aplus-premium\"\u003e\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e                      \u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cnonoscript\u003e                           \u003cimg alt=\"Qrevo Pro\" class=\"lazyload\" data-sizes=\"auto\" src=\"https:\/\/img-va.myshopline.com\/image\/store\/1755929379923\/6e9a961cec0549da96e299bf6690dee2.png?w=1464\u0026h=600\" src=\"https:\/\/img-va.myshopline.com\/image\/store\/1755929379923\/6e9a961cec0549da96e299bf6690dee2.png?w=1464\u0026h=600\"\u003e\u003c\/nonoscript\u003e\u003cinput autocomplete=\"on\" class=\"a-carousel-firstvisibleitem\" type=\"hidden\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e                    \u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/expand-component\u003e              \u003cdiv class=\"product__info-item m-26\" \u003e                \u003clink href=\"\/cdn\/shop\/prev\/32ce041007058889bd9ccb8b22ade877\/1751957187337\/assets\/snippet-share-card.css\" rel=\"stylesheet\" type=\"text\/css\" media=\"all\"\u003e\u003cscript src=\"\/cdn\/shop\/prev\/32ce041007058889bd9ccb8b22ade877\/1751957187337\/assets\/share-card.js\" defer\u003e\u003c\/script\u003e\u003cshare-card class=\"third-party-share notranslate\" data-id=\"block_12\"\u003e\u003ca class=\"third-party-item\" data-platform=\"Facebook\" href=\"https:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fwww.hbsvats.shop%2Fproducts%2Froborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt\" rel=\"noreferrer\" target=\"_blank\"\u003e\u003cdiv class=\"third-party-icon\"\u003e\u003c\/div\u003e\u003c\/a\u003e\u003ca class=\"third-party-item\" data-platform=\"Twitter\" href=\"https:\/\/twitter.com\/share?text=Robot%20Vacuum%20and%20Mop%20with%20FlexiArm%20Design%20Edge%20Mopping%2C%20Dynamic%20Hot%20Water%20Mop%20Washing%20and%20Auto%20Mop%20Drying%2C%20Intelligent%20Dirt%20Detection%2C%207%2C000%20Pa%20Suction%2C%20Ideal%20for%20Carpets\u0026amp;url=https%3A%2F%2Fwww.hbsvats.shop%2Fproducts%2Froborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt\" rel=\"noreferrer\" target=\"_blank\"\u003e\u003cdiv class=\"third-party-icon\"\u003e\u003c\/div\u003e\u003c\/a\u003e\u003ca class=\"third-party-item\" data-platform=\"Pin\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.hbsvats.shop%2Fproducts%2Froborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt\u0026amp;media=https:\/\/img-va.myshopline.com\/image\/store\/1755929379923\/DD5B335E-980A-AAAA-6F56-E71AAC853365.jpg?w=1182\u0026amp;h=1443\u0026amp;description=Robot%20Vacuum%20and%20Mop%20with%20FlexiArm%20Design%20Edge%20Mopping%2C%20Dynamic%20Hot%20Water%20Mop%20Washing%20and%20Auto%20Mop%20Drying%2C%20Intelligent%20Dirt%20Detection%2C%207%2C000%20Pa%20Suction%2C%20Ideal%20for%20Carpets\" rel=\"noreferrer\" target=\"_blank\"\u003e\u003cdiv class=\"third-party-icon\"\u003e\u003c\/div\u003e\u003c\/a\u003e\u003cdiv class=\"third-party-more\" id=\"share_card_block_12\"\u003e\n\u003cdiv class=\"third-party-arrow third-party-arrow-small\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"third-party-more-list\"\u003e\n\u003ca class=\"third-party-item\" data-platform=\"Line\" href=\"https:\/\/social-plugins.line.me\/lineit\/share?url=https%3A%2F%2Fwww.hbsvats.shop%2Fproducts%2Froborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt\" rel=\"noreferrer\" target=\"_blank\"\u003e\u003cdiv class=\"third-party-icon\"\u003e\u003c\/div\u003e\u003c\/a\u003e\u003ca class=\"third-party-item\" data-platform=\"Whatsapp\" href=\"https:\/\/api.whatsapp.com\/send\/?text=https%3A%2F%2Fwww.hbsvats.shop%2Fproducts%2Froborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt\" rel=\"noreferrer\" target=\"_blank\"\u003e\u003cdiv class=\"third-party-icon\"\u003e\u003c\/div\u003e\u003c\/a\u003e\u003ca class=\"third-party-item\" data-platform=\"Tumblr\" href=\"https:\/\/www.tumblr.com\/widgets\/share\/tool?posttype=link\u0026amp;canonicalUrl=https%3A%2F%2Fwww.hbsvats.shop%2Fproducts%2Froborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt\" rel=\"noreferrer\" target=\"_blank\"\u003e\u003cdiv class=\"third-party-icon\"\u003e\u003c\/div\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/share-card\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e","brand":"mysite","offers":[{"title":"White","offer_id":45786163576866,"sku":"White-852938244","price":76.99,"currency_code":"USD","in_stock":true},{"title":"Black","offer_id":45786163609634,"sku":"Black-852938243","price":76.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0884\/4456\/7586\/files\/c823a5df31814946be7e9e375f1c0ada.jpg?v=1781592386","url":"https:\/\/daicia.com\/products\/roborock-qrevo-pro-robot-vacuum-and-mop-with-flexiarm-design-edge-mopping-dynamic-hot-water-mop-washing-and-auto-mop-drying-intelligent-dirt","provider":"Daicia","version":"1.0","type":"link"}