{"storeName":"3ed0wp-fx.myshopify.com","orgId":"35d9779a-5de6-453b-b856-4d21247453a3","storefrontToken":"0de4d4b19c6da7adb9ef09c5701b071e","buildId":1779485727,"version":"2024-05-05","audiences":[{"experienceId":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"0eaea63a-23dc-4f19-a183-1a1852d82b4d","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"141bb4a9-059a-4ecc-81ae-be41e250a2fd","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":"assignVariation","elseVariationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","elseExcludeFromAnalytics":true,"filters":[{"id":"7dcbb428-938d-481e-bcae-ef7755ecfcc7","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"visitor","value":"new","filter":"equals","type":"visitor"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"16c1378d-2d7e-4e99-a89b-5463b5032598","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"1709f970-de7d-4de8-90be-40d5a69fa8b8","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"e7d04713-6b96-453d-9a76-47431f6ed0af","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"","value":"US","filter":"equals","type":"country"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"1f5801e5-c1d1-4500-86db-ef49106f1c43","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":"assignVariation","elseVariationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","elseExcludeFromAnalytics":true,"filters":[{"id":"2c4461bb-6631-46c4-9af8-a1d7f0a1568c","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"visitor","value":"new","filter":"equals","type":"visitor"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"222e776f-eafd-48a9-a7d0-17c7b4711637","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"eeef7498-ccaa-4df5-9fc4-b0027b5dfd93","priority":0,"action":"experienceInclude","filterType":"utm","expression":[{"query":{"key":"device","value":"desktop","filter":"equals","type":"device"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"29e4dc99-50b7-40af-9658-a84d66c47027","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"21c95008-d3b5-4d68-8e20-aca95685c53c","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"sb002dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"3385dd6b-b98d-4a6e-a711-4f04a20ad04b","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"35c8bc7c-4d33-41c9-aead-99bc0f233cd2","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"39c92512-3b1c-41fd-be85-95d604a0a071","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"39d37eec-eead-4987-99ed-625fe71bcc53","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"47adc933-42b2-4b31-ac8f-cd3935eb61d2","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"4a55f17b-65d1-4e7e-bdf2-0295287d8a80","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"66073f41-1ec6-414d-8507-48e79d74f619","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"visitor","value":"new","filter":"equals","type":"visitor"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":"assignVariation","elseVariationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","elseExcludeFromAnalytics":true,"filters":[{"id":"a48a7d27-356a-470f-84a1-a1a0a44b0c6f","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"visitor","value":"new","filter":"equals","type":"visitor"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"54a66c17-7a70-4419-a53a-51563c3570c4","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"5a42a2b0-0f15-42d3-9434-9a024e832ab3","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"65ddf611-4928-45da-9473-2972243fe145","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"733f020e-920c-4c06-8875-9d45dfad0dcd","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"743fda36-2eb0-4bdb-982a-677653ac0b37","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"77d350d1-75d3-4234-96c4-de4599895f2e","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"3f69d766-349e-48c7-86bc-ba59d761bd2a","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"sb004dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"89061160-238f-4d24-ad96-159adcb3061f","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"8e3c365b-4f92-41c5-83db-8ec1a76352f0","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"94067b5a-007e-40e8-bfae-b5367ddc0fda","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"fe8c2c66-37fe-4fa6-ad06-b58aa881abf3","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"ons007dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"98cf86eb-445e-4723-8922-306cb47660e9","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":"assignVariation","elseVariationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","elseExcludeFromAnalytics":true,"filters":[{"id":"a13312f9-18f4-4c8e-8230-e40de4759226","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"visitor","value":"new","filter":"equals","type":"visitor"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"9f2da8c8-3e91-486a-a292-e430bdbee5fa","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"5b5f0661-09a3-4cb6-947f-8f2b51d6fd6c","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"sb003dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"a94e12a4-359b-4be8-b6c0-7f20d2de1f1f","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"acd8fb57-07ea-412e-a2ec-c3516a80b21d","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"common","elseAction":"assignVariation","elseVariationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","elseExcludeFromAnalytics":true,"filters":[{"id":"ada59fd8-72d9-4e03-ba66-42322b19e1a6","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"visitor","value":"new","filter":"equals","type":"visitor"}}],"expressionType":"common","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"b1059607-510a-4189-82dc-ce3085b9313c","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"b1f963a7-1619-4707-a3a9-de2397a4d16a","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"c00a93de-675c-4086-9e48-67f21f7c2c70","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"8f124d89-7a60-4d3b-942a-83e25d54d0a0","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"sb021dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"d228ec25-e1ff-4e68-bbd6-1b0ade53cd17","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"df6662b1-1921-4db0-ad3a-eae9fe60dbd4","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"e1b63889-6194-45c5-9dd9-cacb5f363673","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"e5b9a858-4e82-494b-9b7a-4eaf601b0c41","enabled":true,"excludeCurrency":{"exclude":true,"currency":"USD"},"wholesale":false,"audienceType":"custom","elseAction":"assignVariation","elseVariationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","elseExcludeFromAnalytics":true,"filters":[{"id":"98c2b520-b560-4275-8d2b-e718e72c97ee","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"sb006dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null},{"experienceId":"f37dfb4e-0437-4c61-a261-fad466b7b882","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"f451b3cd-df34-4cdb-befb-a99795b59911","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"common","elseAction":null,"elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[],"evaluationFrequency":null},{"experienceId":"f651d496-118d-449d-a0e0-39563e2941ec","enabled":true,"excludeCurrency":{"exclude":false,"currency":null},"wholesale":false,"audienceType":"custom","elseAction":"experienceUnassigned","elseVariationId":null,"elseExcludeFromAnalytics":false,"filters":[{"id":"0849b48a-e917-4953-b4ed-068cb46131c7","priority":0,"action":"randomVariation","filterType":"utm","expression":[{"query":{"key":"utm_campaign","value":"sb004dm","filter":"equals","type":"utm"}}],"expressionType":"custom","variationId":null,"excludeFromAnalytics":false}],"evaluationFrequency":null}],"experiencePageTargeting":[{"id":"03e03996-5856-46a6-923a-849f56223a36","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/","filter":"equals","type":"urlPath"}}],"experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5"},{"id":"43eec73a-52f8-4776-b370-017987f0f0a2","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"https://mellowsleep.com/pages/lp-adpt-5zone","filter":"equals","type":"urlPath"}}],"experienceId":"39d37eec-eead-4987-99ed-625fe71bcc53"},{"id":"4997cb1a-eab7-4b6a-8d85-4af602cc87ca","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/","filter":"equals","type":"urlPath"}}],"experienceId":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc"},{"id":"5240a4bb-5ddb-4aea-b84c-e63fc35255b8","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/pages/lp-cpil-side-sleeper","filter":"equals","type":"urlPath"}}],"experienceId":"f37dfb4e-0437-4c61-a261-fad466b7b882"},{"id":"645cbb5e-f178-498c-935f-d741d095fc59","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/products/mellow-cloudalign-pillow-refund-offer","filter":"equals","type":"urlPath"}}],"experienceId":"39c92512-3b1c-41fd-be85-95d604a0a071"},{"id":"66311264-1fdd-4af9-9123-9af147afc59b","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/pages/lstcle-marsh-7-reaons","filter":"contains","type":"urlPath"}}],"experienceId":"b1059607-510a-4189-82dc-ce3085b9313c"},{"id":"67a4352b-a1f2-4904-9eae-384f8f8bb319","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/products/cloud-alignment-pillow","filter":"contains","type":"urlPath"}},{"query":{"key":"","value":"/products/mellow-cloudalign-cooling-pillowcase","filter":"contains","type":"urlPath"}},{"operator":"or"},{"query":{"key":"","value":"/products/marshmellow-comforter","filter":"contains","type":"urlPath"}},{"operator":"or"}],"experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f"},{"id":"7825bbfd-60d0-485a-8045-dda2846e4328","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"https://mellowsleep.com/pages/lp-flex-adjustable","filter":"equals","type":"urlPath"}}],"experienceId":"5a42a2b0-0f15-42d3-9434-9a024e832ab3"},{"id":"79fba630-28e3-43f8-b00c-2be79db98d28","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/products/marshmellow-comforter","filter":"contains","type":"urlPath"}}],"experienceId":"f651d496-118d-449d-a0e0-39563e2941ec"},{"id":"8ad65320-b04f-4943-a157-49bf6957bac5","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"products/marshmellow-comforter","filter":"contains","type":"urlPath"}}],"experienceId":"77d350d1-75d3-4234-96c4-de4599895f2e"},{"id":"8c1ae409-c294-4b1e-a528-93be7e6c821b","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/products/","filter":"contains","type":"urlPath"}}],"experienceId":"1709f970-de7d-4de8-90be-40d5a69fa8b8"},{"id":"9077ce63-578f-4572-a520-baa84c8f1f92","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/products/marshmellow-comforter","filter":"contains","type":"urlPath"}}],"experienceId":"4a55f17b-65d1-4e7e-bdf2-0295287d8a80"},{"id":"a1699578-34e8-4f50-a651-7507a5a3dde6","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"https://mellowsleep.com/pages/lp-marsh-cool-cozy-1","filter":"equals","type":"urlPath"}}],"experienceId":"65ddf611-4928-45da-9473-2972243fe145"},{"id":"b0b6f1a7-bf05-4b51-b574-817723164433","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"https://mellowsleep.com/pages/lp-hpil-perf-hotel-1","filter":"equals","type":"urlPath"}}],"experienceId":"54a66c17-7a70-4419-a53a-51563c3570c4"},{"id":"cb821ecf-0a4e-4d25-b7ef-56e82e801a79","filter":null,"filterType":"url","value":"","order":0,"expression":[{"query":{"key":"","value":"/products/mellow-cloudalign-pillow-refund-offer","filter":"equals","type":"urlPath"}}],"experienceId":"16c1378d-2d7e-4e99-a89b-5463b5032598"}],"experienceProductTargeting":[{"id":"71bbe23a-ea38-42c1-9763-47fdb03b534b","experienceId":"f451b3cd-df34-4cdb-befb-a99795b59911","target":"productPage","expression":[{"query":{"key":"productId","value":"8880078979325","filter":"includes","type":"productId"}}]},{"id":"08051825-f26c-48e7-9757-f6850ba3ee3c","experienceId":"c00a93de-675c-4086-9e48-67f21f7c2c70","target":"productPage","expression":[{"query":{"key":"productId","value":"9037250494717","filter":"includes","type":"productId"}}]}],"experiences":[{"id":"f37dfb4e-0437-4c61-a261-fad466b7b882","name":"CPIL LP Side-Sleeper Headline Test","isPreview":false,"description":"Authority vs Pain","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1779202077588,"shippingTestMethodDefinitions":[],"lastUpdateTs":1779205604229,"previewPath":"//pages/lp-cpil-side-sleeper","isExternal":false,"startedAtTs":1779202448811,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"0eaea63a-23dc-4f19-a183-1a1852d82b4d","name":"Copy of Hotel Pillow Price Test","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1770666538057,"shippingTestMethodDefinitions":[],"lastUpdateTs":1770666596883,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"1f5801e5-c1d1-4500-86db-ef49106f1c43","name":"Copy of MarshMellow - Price Testing","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1771809435920,"shippingTestMethodDefinitions":[],"lastUpdateTs":1771809435920,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":"2c612116-92b5-4b72-a222-f2e6e2846e82","sourceAction":"duplicate"},{"id":"47adc933-42b2-4b31-ac8f-cd3935eb61d2","name":"Dawn vs Horizon: 4/14","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/theme","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":true,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1776185202007,"shippingTestMethodDefinitions":[],"lastUpdateTs":1776185220736,"previewPath":"","isExternal":false,"startedAtTs":1776185347312,"pausedAtTs":1776564093161,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"d228ec25-e1ff-4e68-bbd6-1b0ade53cd17","name":"Demo content","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1759344210823,"shippingTestMethodDefinitions":[],"lastUpdateTs":1759344210823,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6","name":"Flex Pillow - Price Test","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1776956972091,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777054374643,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"df6662b1-1921-4db0-ad3a-eae9fe60dbd4","name":"Flip Pillow - Pricing Callouts ","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1769717715913,"shippingTestMethodDefinitions":[],"lastUpdateTs":1769722589530,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"94067b5a-007e-40e8-bfae-b5367ddc0fda","name":"Hide/Show Kaching","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1762547157117,"shippingTestMethodDefinitions":[],"lastUpdateTs":1762547539552,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"35c8bc7c-4d33-41c9-aead-99bc0f233cd2","name":"Hotel Pillow Name Change","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1771397280803,"shippingTestMethodDefinitions":[],"lastUpdateTs":1771397280803,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"29e4dc99-50b7-40af-9658-a84d66c47027","name":"Integration Price test","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1759854888453,"shippingTestMethodDefinitions":[],"lastUpdateTs":1759854888453,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"39d37eec-eead-4987-99ed-625fe71bcc53","name":"LP | ADPT | Headline | Adapt vs Chiro ","isPreview":true,"description":"Hypothesis: Simply stating adapt vs Chiropractor designed + Adapt mechanism ","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777079696040,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777079756049,"previewPath":"/https://mellowsleep.com/pages/lp-adpt-5zone","isExternal":false,"startedAtTs":1777079772444,"pausedAtTs":1779205693450,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"5a42a2b0-0f15-42d3-9434-9a024e832ab3","name":"LP | FLEX | Problem vs Credibility Headline","isPreview":true,"description":"Hypothesis: Problem Headline (A) vs. Credibility & Authority Framing Headline","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777079435496,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777079506940,"previewPath":"/https://mellowsleep.com/pages/lp-flex-adjustable","isExternal":false,"startedAtTs":1777079524219,"pausedAtTs":1779205719812,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"54a66c17-7a70-4419-a53a-51563c3570c4","name":"LP | HPIL | Headline | Hotel vs 5-Star Hotel","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777079613468,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777079652825,"previewPath":"/https://mellowsleep.com/pages/lp-hpil-perf-hotel-1","isExternal":false,"startedAtTs":1777079673249,"pausedAtTs":1779205762918,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"b1059607-510a-4189-82dc-ce3085b9313c","name":"MARSH Listcle Headline ","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1779205476394,"shippingTestMethodDefinitions":[],"lastUpdateTs":1779205777777,"previewPath":"","isExternal":false,"startedAtTs":1779205545839,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"141bb4a9-059a-4ecc-81ae-be41e250a2fd","name":"MarshMellow - Price Sensitivity ","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"paused","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1776901374150,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777045815925,"previewPath":"","isExternal":false,"startedAtTs":1777045037829,"pausedAtTs":1777046374233,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"acd8fb57-07ea-412e-a2ec-c3516a80b21d","name":"MarshMellow - Price Testing 02/22/26","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1771393896329,"shippingTestMethodDefinitions":[],"lastUpdateTs":1771810152522,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"98592c65-8a99-4160-8f46-e99d531bd00f","name":"ONS-007DM - Sales Count Display Variations on PDP","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1778662409668,"shippingTestMethodDefinitions":[],"lastUpdateTs":1778766924980,"previewPath":"","isExternal":false,"startedAtTs":1778671932354,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"89061160-238f-4d24-ad96-159adcb3061f","name":"PDP - CloudAlign - Replo vs Dawn","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/template","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":true,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777569541605,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777920055605,"previewPath":"","isExternal":false,"startedAtTs":1777569714734,"pausedAtTs":1777928612467,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"4a55f17b-65d1-4e7e-bdf2-0295287d8a80","name":"PDP - Marshmellow - Replo vs Dawn","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/template","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":true,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777931629420,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777936170485,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"16c1378d-2d7e-4e99-a89b-5463b5032598","name":"Pillow Refund Tracking","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1759343925163,"shippingTestMethodDefinitions":[],"lastUpdateTs":1759343925163,"previewPath":"//products/mellow-cloudalign-pillow-refund-offer","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":"","endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"39c92512-3b1c-41fd-be85-95d604a0a071","name":"Pillow Refund Tracking","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1759344093180,"shippingTestMethodDefinitions":[],"lastUpdateTs":1759344093180,"previewPath":"//products/mellow-cloudalign-pillow-refund-offer","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"b1f963a7-1619-4707-a3a9-de2397a4d16a","name":"Pink Marshmellow - Shipping Text","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777655650550,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777655650550,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"8e3c365b-4f92-41c5-83db-8ec1a76352f0","name":"Regular Strikeout","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1771773989247,"shippingTestMethodDefinitions":[],"lastUpdateTs":1771810457083,"previewPath":"","isExternal":false,"startedAtTs":1771774409985,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"743fda36-2eb0-4bdb-982a-677653ac0b37","name":"Rollout of Cloud Align Content Test","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1761869076772,"shippingTestMethodDefinitions":[],"lastUpdateTs":1761869076772,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":"3e55baad-e306-434e-88e3-23c1628573e7","sourceAction":"rollout"},{"id":"65ddf611-4928-45da-9473-2972243fe145","name":"Rollout of LP | MARSH | Sensory Headline A/B ","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777411891139,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777411891139,"previewPath":"/https://mellowsleep.com/pages/lp-marsh-cool-cozy-1","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":"0117098f-ee1a-443f-903d-3dd14179f9eb","sourceAction":"rollout"},{"id":"1709f970-de7d-4de8-90be-40d5a69fa8b8","name":"Rollout of SB-001DM - Retail Price Display vs Strikethrough Pricing","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1774982926675,"shippingTestMethodDefinitions":[],"lastUpdateTs":1774986074420,"previewPath":"","isExternal":false,"startedAtTs":1774983015125,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"222e776f-eafd-48a9-a7d0-17c7b4711637","name":"Rollout of SB-005DM - Checkout Value Props Test","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":true,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1776791647926,"shippingTestMethodDefinitions":[],"lastUpdateTs":1776791966687,"previewPath":"","isExternal":false,"startedAtTs":1776791654727,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"a94e12a4-359b-4be8-b6c0-7f20d2de1f1f","name":"Rollout of Site Wide 50% Banner Test - 2/17","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"personalization","category":"personalization","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1771674370659,"shippingTestMethodDefinitions":[],"lastUpdateTs":1771674370659,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":"9be87d03-0849-4d80-8395-ffbc006d61ea","sourceAction":"rollout"},{"id":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc","name":"SB-002DM - Moving Products/Collections Higher on Homepage","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1774012642829,"shippingTestMethodDefinitions":[],"lastUpdateTs":1775749131369,"previewPath":"//","isExternal":false,"startedAtTs":1774027813546,"pausedAtTs":1777045119661,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","name":"SB-002DM - Moving Products/Collections Higher on Homepage - Dwn Theme","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777045134876,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777383351041,"previewPath":"//","isExternal":false,"startedAtTs":1777383373738,"pausedAtTs":1779300333989,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","name":"SB-003DM - Quick Category Nav Bar Addition - Dawn version","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1776958806656,"shippingTestMethodDefinitions":[],"lastUpdateTs":1777581523515,"previewPath":"","isExternal":false,"startedAtTs":1777572347700,"pausedAtTs":1779422416603,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"9f2da8c8-3e91-486a-a292-e430bdbee5fa","name":"SB-003DM - Quick Category Nav Bar Addition - Shopify version","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1775763232771,"shippingTestMethodDefinitions":[],"lastUpdateTs":1776958785721,"previewPath":"","isExternal":false,"startedAtTs":1775824247023,"pausedAtTs":1776958820259,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"77d350d1-75d3-4234-96c4-de4599895f2e","name":"SB-004DM - CloudAlign Pillow Cross-Sell Checkbox on Comforter Page - Dawn + Replo","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/template","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":true,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1778185682991,"shippingTestMethodDefinitions":[],"lastUpdateTs":1778191286285,"previewPath":"","isExternal":false,"startedAtTs":1778190787909,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"f651d496-118d-449d-a0e0-39563e2941ec","name":"SB-004DM - CloudAlign Pillow Cross-Sell Checkbox on Comforter Page - Horizon","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"paused","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1775822886830,"shippingTestMethodDefinitions":[],"lastUpdateTs":1778185160464,"previewPath":"","isExternal":false,"startedAtTs":1775823006439,"pausedAtTs":1778185176383,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"e5b9a858-4e82-494b-9b7a-4eaf601b0c41","name":"SB-006DM - Test Pricing .00 vs .99","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":true,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":true,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1778680963359,"shippingTestMethodDefinitions":[],"lastUpdateTs":1779213220451,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"f451b3cd-df34-4cdb-befb-a99795b59911","name":"SB-016DM - Pillow Info Section Below Buy Box","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1778616030359,"shippingTestMethodDefinitions":[],"lastUpdateTs":1779056441722,"previewPath":"","isExternal":false,"startedAtTs":1779076818614,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"3385dd6b-b98d-4a6e-a711-4f04a20ad04b","name":"SB-017DM - Cart Timer for Urgency in Sidecart","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777563376871,"shippingTestMethodDefinitions":[],"lastUpdateTs":1778254395693,"previewPath":"","isExternal":false,"startedAtTs":1777991898720,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"e1b63889-6194-45c5-9dd9-cacb5f363673","name":"SB-018DM - Tiered Shipping Cost Impact","isPreview":false,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"shipping","category":"experiment","status":"started","testTypes":{"hasTestPricing":false,"hasTestShipping":true,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1777982299552,"shippingTestMethodDefinitions":[{"id":"609097ea-7a9b-4a6b-a75f-60160a6bb93c","deliveryProfileId":"gid://shopify/DeliveryProfile/104235827453","deliveryLocationGroupId":"gid://shopify/DeliveryLocationGroup/106314891517","deliveryZoneId":"gid://shopify/DeliveryZone/426510024957","methodDefinitionId":"gid://shopify/DeliveryMethodDefinition/839903903997","canonicalMethodId":"gid://shopify/DeliveryMethodDefinition/839903903997","deleteTargetKind":"synthetic_rate_definition","deleteTargetRateDefinitionId":"gid://shopify/DeliveryRateDefinition/771186426109"}],"lastUpdateTs":1778604593573,"previewPath":"","isExternal":false,"startedAtTs":1778686296685,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"c00a93de-675c-4086-9e48-67f21f7c2c70","name":"SB-021DM - Dynamic Free Shipping Bar Below Add to Cart Button","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/onsiteEdits","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":true,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1779472598150,"shippingTestMethodDefinitions":[],"lastUpdateTs":1779485727124,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"733f020e-920c-4c06-8875-9d45dfad0dcd","name":"SB-022DM-2 - Shop Template Split","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"content/template","category":"experiment","status":"pending","testTypes":{"hasTestPricing":false,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":true,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":null,"createdAtTs":1778769164991,"shippingTestMethodDefinitions":[],"lastUpdateTs":1778770899818,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null},{"id":"98cf86eb-445e-4723-8922-306cb47660e9","name":"Temp Control Price Test #1","isPreview":true,"description":"","devicePreview":{"device":"desktop","path":"/"},"organizationId":"35d9779a-5de6-453b-b856-4d21247453a3","type":"pricing","category":"experiment","status":"pending","testTypes":{"hasTestPricing":true,"hasTestShipping":false,"hasTestCampaign":false,"hasTestContent":false,"hasTestContentUrl":false,"hasTestContentAdvanced":false,"hasTestContentOnsite":false,"hasTestContentTemplate":false,"hasTestContentTheme":false,"hasTestOnsiteInjections":false,"hasTestCheckoutBlocks":false,"hasTestPostPurchase":false},"experienceIntegrations":[],"currency":{"code":"USD","symbol":"$"},"createdAtTs":1760657349189,"shippingTestMethodDefinitions":[],"lastUpdateTs":1760657349189,"previewPath":"","isExternal":false,"startedAtTs":null,"pausedAtTs":null,"archivedAtTs":null,"requiresLink":false,"linkBaseUrl":null,"endedAtTs":null,"productVariantCount":0,"sourceExperienceId":null,"sourceAction":null}],"offers":[],"offerProducts":[],"variations":[{"id":"73adefdf-3686-44f7-829a-4bf378e37d39","experienceId":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","name":"Variation 3","percentage":0,"isControl":false,"order":3,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"c793055a-5ef6-44d9-a804-8fe555895c0b","experienceId":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","name":"Control Group","percentage":34,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"d1b308bc-5823-45a9-a1d3-595c1f316cd8","experienceId":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","name":"Variation 2","percentage":33,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"efacbdde-4e58-4e5c-8480-43644ddc26d4","variationId":"d1b308bc-5823-45a9-a1d3-595c1f316cd8","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 1,\n        selector: '.list-menu [href=\"/pages/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid',\n        productGridSectionSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX',\n        mobileDrawerNavSelector: '.menu-drawer__navigation-container',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/pages/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 989;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .card-badge{\n                  font-size:14px;\n                }                \n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .description{\n                  display:none;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                    text-align:left;\n                    font-size:24px;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;     \n                    text-decoration:none;\n                    color: var(--color-darkpurple);\n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-info a{\n                  text-decoration:none;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .details-wrapper{\n                  justify-content: flex-start;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .price-wrapper, #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .btn{\n                  display:none;\n                }\n                @media screen and (max-width: 989px) {\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                        position: relative;\n                        top:unset;\n                    }\n                    body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                        display: flex;\n                        opacity: 1 !important;\n                        visibility: visible !important;\n                        width:100vw;\n                        padding-bottom:15px;\n                    }\n                    body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                        transform:unset !important;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper{\n                        display: flex;\n                        flex-direction: column;\n                        pointer-events: auto;\n                        width: 92vw;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                        overflow: scroll;\n                        padding-top:10px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                        display: flex;\n                        width: 598px;\n                        flex-shrink: 0;\n                    }\n                    #SB003DM-shop-all-link{\n                        font-size:14px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                      margin-bottom:10px;\n                    }                    \n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                      font-size:18px;\n                    }                    \n               }\n               @media screen and (max-width: 989px) and (min-width:768px){\n                 #menu-drawer{\n                   width:100%;\n                 }\n                 .menu-drawer__navigation-container{\n                     grid-template-rows: 1fr 1fr;\n                 }\n                 #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                   overflow:visible;\n                 }\n                 body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                 padding-top:10px;\n                 }\n               }               \n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        moveProductGridSectionForMobile: function () {\n            if (!helpers.isMobileScreen()) return;\n\n            const sectionSel = TEST_CONFIG.productGridSectionSelector;\n            const drawerNavSel = TEST_CONFIG.mobileDrawerNavSelector;\n\n            const tryPrependSection = () => {\n                const drawerNav = document.querySelector(drawerNavSel);\n                const section = document.querySelector(sectionSel);\n                if (!drawerNav || !section) return false;\n                if (section.getAttribute('data-sb003dm-mobile-drawer') === '1') return true;\n                drawerNav.prepend(section);\n                section.setAttribute('data-sb003dm-mobile-drawer', '1');\n                return true;\n            };\n\n            if (tryPrependSection()) return;\n\n            helpers.waitForElem(drawerNavSel, () => {\n                if (tryPrependSection()) return;\n                helpers.waitForElem(sectionSel, () => {\n                    tryPrependSection();\n                }, 1, false, 15000);\n            }, 1, false, 15000);\n        },\n\n        ensureProductGridContainer: function () {\n            const productGrid = document.querySelector(`${TEST_CONFIG.targetGridSelector} .product-grid`);\n            if (!productGrid) return false;\n            const parent = productGrid.parentElement;\n            if (parent && parent.classList.contains('product-grid-container')) return true;\n            const container = document.createElement('div');\n            container.className = 'product-grid-container';\n            parent.insertBefore(container, productGrid);\n            container.appendChild(productGrid);\n            return true;\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n            this.moveProductGridSectionForMobile();\n\n            const productGridWaitSel = `${TEST_CONFIG.targetGridSelector} .product-grid`;\n            if (!this.ensureProductGridContainer()) {\n                helpers.waitForElem(productGridWaitSel, () => {\n                    this.ensureProductGridContainer();\n                }, 1, false, 15000);\n            }\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    el.addEventListener(\"mouseenter\", show, true);\n                    //el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    //el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    //el.addEventListener(\"pointerenter\", show, false);\n                    //el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop All<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n  \n\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"eb90f16a-dc12-47dc-8ad2-380c641a3967","experienceId":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","name":"Variation 1","percentage":33,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"7de37424-04bf-4b63-8e6f-86e02d3d6790","variationId":"eb90f16a-dc12-47dc-8ad2-380c641a3967","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 1,\n        selector: '.list-menu [href=\"/pages/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid',\n        productGridSectionSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX',\n        mobileDrawerNavSelector: '.menu-drawer__navigation-container',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/pages/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 989;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .card-badge{\n                  font-size:14px;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                    text-align:left;\n                    font-size:24px;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;     \n                    text-decoration:none;\n                    color: var(--color-darkpurple);\n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-info a{\n                  text-decoration:none;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .details-wrapper{\n                  justify-content: flex-start;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .price-wrapper, #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .btn{\n                  display:none;\n                }\n                @media screen and (max-width: 989px) {\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                        position: relative;\n                        top:unset;\n                    }\n                    body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                        display: flex;\n                        opacity: 1 !important;\n                        visibility: visible !important;\n                        width:100vw;\n                        padding-bottom:15px;\n                    }\n                    body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                        transform:unset !important;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper{\n                        display: flex;\n                        flex-direction: column;\n                        pointer-events: auto;\n                        width: 92vw;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                        overflow: scroll;\n                        padding-top:10px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                        display: flex;\n                        width: 598px;\n                        flex-shrink: 0;\n                    }\n                    #SB003DM-shop-all-link{\n                        font-size:14px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                      margin-bottom:10px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                      font-size:18px;\n                    }\n               }\n               @media screen and (max-width: 989px) and (min-width:768px){\n                 #menu-drawer{\n                   width:100%;\n                 }\n                 .menu-drawer__navigation-container{\n                     grid-template-rows: 1fr 1fr;\n                 }\n                 #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                   overflow:visible;\n                 }\n                 body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                 padding-top:10px;\n                 }\n               }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        moveProductGridSectionForMobile: function () {\n            if (!helpers.isMobileScreen()) return;\n\n            const sectionSel = TEST_CONFIG.productGridSectionSelector;\n            const drawerNavSel = TEST_CONFIG.mobileDrawerNavSelector;\n\n            const tryPrependSection = () => {\n                const drawerNav = document.querySelector(drawerNavSel);\n                const section = document.querySelector(sectionSel);\n                if (!drawerNav || !section) return false;\n                if (section.getAttribute('data-sb003dm-mobile-drawer') === '1') return true;\n                drawerNav.prepend(section);\n                section.setAttribute('data-sb003dm-mobile-drawer', '1');\n                return true;\n            };\n\n            if (tryPrependSection()) return;\n\n            helpers.waitForElem(drawerNavSel, () => {\n                if (tryPrependSection()) return;\n                helpers.waitForElem(sectionSel, () => {\n                    tryPrependSection();\n                }, 1, false, 15000);\n            }, 1, false, 15000);\n        },\n\n        ensureProductGridContainer: function () {\n            const productGrid = document.querySelector(`${TEST_CONFIG.targetGridSelector} .product-grid`);\n            if (!productGrid) return false;\n            const parent = productGrid.parentElement;\n            if (parent && parent.classList.contains('product-grid-container')) return true;\n            const container = document.createElement('div');\n            container.className = 'product-grid-container';\n            parent.insertBefore(container, productGrid);\n            container.appendChild(productGrid);\n            return true;\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n            this.moveProductGridSectionForMobile();\n\n            const productGridWaitSel = `${TEST_CONFIG.targetGridSelector} .product-grid`;\n            if (!this.ensureProductGridContainer()) {\n                helpers.waitForElem(productGridWaitSel, () => {\n                    this.ensureProductGridContainer();\n                }, 1, false, 15000);\n            }\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    //el.addEventListener(\"mouseenter\", blockThemeHover, true);\n                    el.addEventListener(\"mouseenter\", show, true);\n                    //el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    //el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    //el.addEventListener(\"pointerenter\", show, false);\n                    //el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop All<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n  \n\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"immediately","timeout":3000},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"40beae37-a5df-432b-9960-2b9a3374d69e","experienceId":"0eaea63a-23dc-4f19-a183-1a1852d82b4d","name":"24.99","percentage":33,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[{"id":"2c4dbf1c-c54d-4f4a-b3ec-33bfd0f8215d","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"$24.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979389465,"imageSearchUrl":null,"source":null},{"id":"30357deb-fe49-4aaf-8eb5-5e84dc3c0165","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"$59.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--simple > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979740934,"imageSearchUrl":null,"source":null},{"id":"7f3acc0b-ce7e-4c1b-be7d-5cdb5678d8e9","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1hnjim7 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/?ig-preview=0eaea63a-23dc-4f19-a183-1a1852d82b4d&ig-builder-entity=experiment","createdAtTs":1770666619862,"imageSearchUrl":null,"source":null},{"id":"822eb079-8378-4865-b862-484d1a0885df","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"$39.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--fancy > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979404609,"imageSearchUrl":null,"source":null},{"id":"85eabfb7-0142-4261-9e1b-6aa7567e314c","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-pku0q6 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1770666657914,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"453471db-fb75-47c1-a799-2b6b7546ed2b","experienceId":"0eaea63a-23dc-4f19-a183-1a1852d82b4d","name":"29.99","percentage":34,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"117a2a63-c090-4779-9a64-172a3856d0c6","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$29","querySelectors":[".r-1hnjim7 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/?ig-preview=0eaea63a-23dc-4f19-a183-1a1852d82b4d&ig-builder-entity=experiment","createdAtTs":1770666619862,"imageSearchUrl":null,"source":null},{"id":"27fac49e-6328-4c88-941b-ec6ecd62771e","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$44.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--fancy > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979404609,"imageSearchUrl":null,"source":null},{"id":"733c444b-05da-4adf-ad3b-b5dbf6677b84","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$59.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--simple > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979740934,"imageSearchUrl":null,"source":null},{"id":"b445c03c-bf06-4b44-adab-5004f76b180a","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$29.99","querySelectors":[".r-pku0q6 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1770666657914,"imageSearchUrl":null,"source":null},{"id":"e134288d-b174-426c-a0f3-7bfee47241dd","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$29.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979389465,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"d268ef80-34d7-4d02-a050-bc997f7b4e65","experienceId":"0eaea63a-23dc-4f19-a183-1a1852d82b4d","name":"$35","percentage":33,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"03baa290-7a3b-4650-9c64-82af4f2fd336","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Generic Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--fancy > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979404609,"imageSearchUrl":null,"source":null},{"id":"1eedfde7-4fc5-42f8-9504-487d74880b66","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Dynamic JSON Find and Replace Operation","isRegex":false,"replace":"","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979389465,"imageSearchUrl":null,"source":null},{"id":"26e3b600-9fb3-4b44-b852-558d7b1a4a03","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Replace Content in Elements Identified by Query Selectors","isRegex":false,"replace":"","querySelectors":[".r-pku0q6 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1770666657914,"imageSearchUrl":null,"source":null},{"id":"dedc5aa7-f2a0-4cac-80d5-251a5b3bc4f0","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Replace Entire Element Content Using Query Selector","isRegex":false,"replace":"","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--simple > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979740934,"imageSearchUrl":null,"source":null},{"id":"ef94d98c-1c56-4eaa-b1c2-7b17c207c241","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1hnjim7 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/?ig-preview=0eaea63a-23dc-4f19-a183-1a1852d82b4d&ig-builder-entity=experiment","createdAtTs":1770666619862,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","experienceId":"141bb4a9-059a-4ecc-81ae-be41e250a2fd","name":"$149","percentage":20,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"95ad5673-511c-4d33-a46e-b97a0938b541","experienceId":"141bb4a9-059a-4ecc-81ae-be41e250a2fd","name":"White $100","percentage":20,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","experienceId":"141bb4a9-059a-4ecc-81ae-be41e250a2fd","name":"Control Group","percentage":60,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"e8ad1ead-f6e0-4851-9fac-a935cfb444a0","experienceId":"16c1378d-2d7e-4e99-a89b-5463b5032598","name":"Control Group","percentage":100,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"20cc3b64-e642-465d-9a42-53bf6440ab93","experienceId":"1709f970-de7d-4de8-90be-40d5a69fa8b8","name":"Variation 4","percentage":100,"isControl":true,"order":4,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"5f831de2-7d84-4089-a85d-95f3fd6e67a5","variationId":"20cc3b64-e642-465d-9a42-53bf6440ab93","customCss":".termsLink{\n  font-size: 14px;\n}\n\n.termsLink a{\n  color:#4D4184FF;\n}\n\n.sb-001dm-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 9999;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  opacity: 0;\n  visibility: hidden;\n  transition: opacity 0.2s, visibility 0.2s;\n}\n\n.sb-001dm-modal.is-open {\n  opacity: 1;\n  visibility: visible;\n}\n\n.sb-001dm-modal-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  width: 100vw;\n  height: 100vh;\n  background: rgba(0, 0, 0, 0.7);\n  z-index: 0;\n  cursor: pointer;\n  display: block !important;\n}\n\n.sb-001dm-modal-box {\n  position: relative;\n  z-index: 1;\n  background: #fff;\n  border-radius: 8px;\n  max-width: 1080px;\n  width: 100%;\n  max-height: 90vh;\n  overflow: hidden;\n  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);\n}\n\n.sb-001dm-modal-close {\n  position: absolute;\n  top: 0.5rem;\n  right: 0.5rem;\n  background: none;\n  border: none;\n  font-size: 2.5rem;\n  line-height: 1;\n  cursor: pointer;\n  color: #666;\n  padding: 0.25rem;\n}\n\n.sb-001dm-modal-close:hover {\n  color: #000;\n}\n\n.sb-001dm-modal-content {\n  padding: 1.5rem 2rem 1.5rem 1.5rem;\n  scrollbar-color: #4d4184 #d9d9d9;\n}\n\n.sb-001dm-modal-content h2{\n color: #4D4184;\n  font-size:32px;\n}\n\n.sb-001dm-modal-content p{\n  font-size:16px;\n  color:#000;\n  font-style: normal;\n  font-weight: 500;\n  line-height: normal;  \n}\n\n.sb-001dm-modal-box .modalCopy{\n    overflow-y: scroll;\n    height: 100%;\n    max-height: 702px; \n}\n\n@media (max-width:500px){\n  .termsLink{\n    font-size: 12px;\n  }\n  .sb-001dm-modal-box .modalCopy{\n    max-height:70vh\n  }\n}","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB-001DM',\n        name: 'Retail Price Display vs Strikethrough Pricing',\n        variation: 1,\n        selector: '[data-price=\"price\"]',\n        variationClass: '.SB-001DM'\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 768;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB001DM = {\n        init: function (element) {\n            this.mainJS(element);\n        },\n\n        mainJS: function (element) {\n            document.body.classList.add(TEST_CONFIG.id);\n            var elementParent = element.parentNode;\n            if(window.location.pathname !== '/products/marshmellow-comforter/'){\n              console.log('--oi');\n              elementParent.insertAdjacentHTML(\"afterend\", '<div class=\"termsLink\">Savings based on comparable value. <a href=\"/pages/terms\" class=\"modalLink\">Learn more</a></div>');\n            }\n            else {\n              element.insertAdjacentHTML(\"afterend\", '<div class=\"termsLink\">Savings based on comparable value. <a href=\"/pages/terms\" class=\"modalLink\">Learn more \u2197</a></div>');\n            }\n            this.injectModal();\n            this.bindModalEvents();\n        },\n\n        injectModal: function () {\n            if (document.getElementById(\"sb-001dm-modal\")) return;\n            const modalHTML = `\n                <div id=\"sb-001dm-modal\" class=\"sb-001dm-modal\" aria-hidden=\"true\">\n                    <div class=\"sb-001dm-modal-overlay\"></div>\n                    <div class=\"sb-001dm-modal-box\">\n                        <button type=\"button\" class=\"sb-001dm-modal-close\" aria-label=\"Close modal\"><svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.53336 24.4107L7.58936 23.4667L15.056 16L7.58936 8.53336L8.53336 7.58936L16 15.056L23.4667 7.58936L24.4107 8.53336L16.944 16L24.4107 23.4667L23.4667 24.4107L16 16.944L8.53336 24.4107Z\" fill=\"black\"/></svg></button>\n                        <div class=\"sb-001dm-modal-content\">\n                            <h2>Pricing Disclosure</h2>\n                            <div class=\"modalCopy\">\n                            <p>The listed comparable value represents the manufacturer's suggested retail price or the average retail price of similar products with comparable features, materials, and construction available from major retailers at the time of listing. Mellow's sale price reflects our direct-to-consumer pricing model, which eliminates traditional retail markups. Comparable values are reviewed periodically and may not reflect real-time pricing from all retailers.</p>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            `;\n            document.body.insertAdjacentHTML(\"beforeend\", modalHTML);\n        },\n\n        lockBodyScroll: function () {\n            const scrollY = window.scrollY || window.pageYOffset;\n            document.body.style.overflow = \"hidden\";\n            document.body.style.position = \"fixed\";\n            document.body.style.top = `-${scrollY}px`;\n            document.body.style.left = \"0\";\n            document.body.style.right = \"0\";\n            document.body.setAttribute(\"data-sb-001dm-scroll-y\", String(scrollY));\n        },\n\n        unlockBodyScroll: function () {\n            const scrollY = parseInt(document.body.getAttribute(\"data-sb-001dm-scroll-y\") || \"0\", 10);\n            document.body.style.overflow = \"\";\n            document.body.style.position = \"\";\n            document.body.style.top = \"\";\n            document.body.style.left = \"\";\n            document.body.style.right = \"\";\n            document.body.removeAttribute(\"data-sb-001dm-scroll-y\");\n            window.scrollTo(0, scrollY);\n        },\n\n        bindModalEvents: function () {\n            document.addEventListener(\"click\", (e) => {\n                if (!e.target.closest(\".modalLink\")) return;\n                e.preventDefault();\n                const modal = document.getElementById(\"sb-001dm-modal\");\n                if (modal) {\n                    modal.classList.add(\"is-open\");\n                    modal.setAttribute(\"aria-hidden\", \"false\");\n                    this.lockBodyScroll();\n                }\n            });\n            document.addEventListener(\"click\", (e) => {\n                const modal = document.getElementById(\"sb-001dm-modal\");\n                if (!modal || !modal.classList.contains(\"is-open\")) return;\n                if (e.target.classList.contains(\"sb-001dm-modal-overlay\") || e.target.closest(\".sb-001dm-modal-close\")) {\n                    modal.classList.remove(\"is-open\");\n                    modal.setAttribute(\"aria-hidden\", \"true\");\n                    this.unlockBodyScroll();\n                }\n            });\n            document.addEventListener(\"keydown\", (e) => {\n                if (e.key !== \"Escape\") return;\n                const modal = document.getElementById(\"sb-001dm-modal\");\n                if (modal && modal.classList.contains(\"is-open\")) {\n                    modal.classList.remove(\"is-open\");\n                    modal.setAttribute(\"aria-hidden\", \"true\");\n                    this.unlockBodyScroll();\n                }\n            });\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, (elements) => {\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB001DM.init(elements[0]);\n    });\n})();","jsInjectionMode":{"type":"onWindowLoad"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"a3eedf4c-19a0-48bd-8038-b08ae74306be","experienceId":"1f5801e5-c1d1-4500-86db-ef49106f1c43","name":"+10 Colors","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","experienceId":"1f5801e5-c1d1-4500-86db-ef49106f1c43","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"49bc99ad-7aeb-4e17-ba84-5c016f74922f","experienceId":"222e776f-eafd-48a9-a7d0-17c7b4711637","name":"Variation 2","percentage":100,"isControl":true,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[{"id":"1aca490a-5d03-4908-bcbe-0d28fae36d46","variationId":"49bc99ad-7aeb-4e17-ba84-5c016f74922f","locationId":"value-props-2","blockType":"trustBadge","name":"SB-005DM-V2","variables":{"headerText":"","items":[{"order":0,"title":"","subtitle":"30-night sleep trial","type":"image","icon":"creditCard","iconColor":"info","iconSize":"large","imageSize":24,"imageSizeUnit":"pixels","imageAspectRatio":"1:1","image":"https://cdn.shopify.com/s/files/1/0751/4351/2317/files/Frame_13.svg?v=1773802839","mediaSpacing":"extraTight"},{"order":1,"title":"","subtitle":"Machine-washable. Always.","type":"image","icon":"truck","iconColor":"info","iconSize":"large","imageSize":24,"imageSizeUnit":"pixels","imageAspectRatio":"1:1","image":"https://cdn.shopify.com/s/files/1/0751/4351/2317/files/noun-washing-machine-8090624_2.svg?v=1773803166","mediaSpacing":"extraTight"},{"order":2,"title":"","subtitle":"100,000+ happy sleepers","type":"image","icon":"email","iconColor":"info","iconSize":"large","imageSize":24,"imageSizeUnit":"pixels","imageAspectRatio":"1:1","image":"https://cdn.shopify.com/s/files/1/0751/4351/2317/files/noun-dating-app-7923821_3.svg?v=1773802839","mediaSpacing":"extraTight"}]},"styles":{"typography":{"header":{"fontSize":"medium","fontStyle":"bold"},"itemTitle":{"fontSize":"base","fontStyle":"normal"},"itemSubtitle":{"fontSize":"small","fontStyle":"normal"}},"backgroundColors":{"header":"base","item":"base","block":"base"},"colors":{"headerText":"info","itemTitleText":"info","itemSubtitleText":"info"},"layout":{"headerTextAlign":"center","bodyAlign":"center","itemTextAlign":"center","itemPositionAlign":"top","rowCount":1,"columnCount":3},"appearance":{"headerBorderThickness":"base","headerBorderStyle":"none","headerCornerRadius":"base","headerPadding":"base","bodySpacing":"extraTight","headingToBodySpacing":"extraTight","blockBorderThickness":"base","blockBorderStyle":"base","blockPadding":"base","blockCornerRadius":"base","itemBorderThickness":"base","itemBorderStyle":"none","itemCornerRadius":"base","itemTextSpacing":"extraTight"}}}],"cartTargeting":[]},{"id":"e1cc6c3c-ad95-49ee-9231-692065f668da","experienceId":"29e4dc99-50b7-40af-9658-a84d66c47027","name":"New Group 1","percentage":50,"isControl":false,"order":1,"priceChange":"20","priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","experienceId":"29e4dc99-50b7-40af-9658-a84d66c47027","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"054db3b4-05ca-42ba-b77f-0e6bae5cd3b3","experienceId":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc","name":"Variation 2","percentage":25,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"f086200e-0d44-44f1-be14-c86522395c1e","variationId":"054db3b4-05ca-42ba-b77f-0e6bae5cd3b3","customCss":".shopify-section:nth-child(4) .ms-product-grid{\n  display:flex !important\n}\n\n#shopify-section-template--21754931577085__ms_product_grid_mgijtg{\n  display:none !important;\n}\n\nsection.ms-product-grid .content-wrapper .heading h2{\n  text-align:left;\n}\n\nsection.ms-product-grid .content-wrapper .heading {\n    display: flex;\n}\n\n.ms-product-grid .card-badge{\n  display:none;\n}\n\n#SB002DM-shop-all-link{\n  font-size:25px;\n  text-decoration:underline;\n}\n\n@media (max-width:768px){\n  #SB002DM-shop-all-link{\n    font-size:16px;\n  }\n}","customJs":"(function () {\n    // Test configuration\n    const SECTION_ID = 'shopify-section-template--21754931577085__ms_product_grid_JVpAqF';\n    const TEST_CONFIG = {\n        id: 'SB002DM',\n        name: 'Moving Products/Collections Higher on Homepage',\n        variation: 1,\n        selector: `#${SECTION_ID} .heading`,\n        variationClass: '.SB002DM',\n        shopAllHref: '/collections/shop',\n        productGridSelector: `#${SECTION_ID} .ms-product-grid .product-grid`,\n        mobileMaxWidth: 768\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= TEST_CONFIG.mobileMaxWidth;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB002DMTuftV2 = {\n        init: function (heading) {\n            this.mainCSS();\n            this.mainJS(heading);\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 mobile horizontal slider for product grid */\n                @media (max-width: ${TEST_CONFIG.mobileMaxWidth}px) {\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} {\n                        --ab-slider-gap: 12px;\n                        --ab-slider-peek: clamp(18px, 6vw, 36px);\n                        display: flex !important;\n                        flex-direction: row;\n                        flex-wrap: nowrap;\n                        align-items: stretch;\n                        gap: var(--ab-slider-gap);\n                        overflow-x: auto;\n                        overflow-y: visible;\n                        -webkit-overflow-scrolling: touch;\n                        overscroll-behavior-x: contain;\n                        scroll-snap-type: x proximity;\n                        scroll-padding-inline: 16px;\n                        padding-inline: 16px;\n                        margin-inline: -16px;\n                        width: calc(100% + 32px);\n                        max-width: none;\n                        grid-template-columns: none !important;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} > * {\n                        flex: 0 0 calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        max-width: calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        min-width: 0;\n                        scroll-snap-align: start;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector}::after {\n                        content: \"\";\n                        flex: 0 0 16px;\n                        scroll-snap-align: end;\n                    }\n                    body${TEST_CONFIG.variationClass} .ms-product-grid .content-wrapper{\n                      max-width:100%;\n                    }\n                }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function (heading) {\n            document.body.classList.add(`${TEST_CONFIG.id}`);\n            if (!heading || document.getElementById(`${TEST_CONFIG.id}-shop-all-link`)) return;\n\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all</a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, (elements) => {\n        const heading = elements[0];\n        if (!heading) return;\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DMTuftV2.init(heading);\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"736e2e2e-a79e-4b16-a34e-ccf59c06003d","experienceId":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc","name":"Control","percentage":25,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"aac67caf-a112-4d38-a594-b74d266bf01c","experienceId":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc","name":"Variation 3","percentage":25,"isControl":false,"order":3,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"213b1100-1935-4cb6-a58b-fdee5ff9578a","variationId":"aac67caf-a112-4d38-a594-b74d266bf01c","customCss":".shopify-section:nth-child(3) .ms-product-grid{\n  display:flex !important\n}\n\n#shopify-section-template--21754931577085__ms_product_grid_mgijtg{\n  display:none !important;\n}\n\nsection.ms-product-grid .content-wrapper .heading h2{\n  text-align:left;\n}\n\n#SB002DM-v3-shop-all-link{\n  text-decoration:underline;\n  font-size:25px;\n}\n\n.ms-product-grid .content-wrapper{\n  width:100%;\n}\n\nsection.ms-product-grid .content-wrapper .heading{\n  margin-bottom:0;\n}\n\n.ms-product-grid .card-badge{\n  display:none;\n}\n\n@media (max-width:768px){\n  #SB002DM-v3-shop-all-link{\n    font-size:16px;\n  }\n}","customJs":"(function () {\n    const TEST_CONFIG = {\n        id: 'SB002DM-v3',\n        name: 'Product grid carousel',\n        variation: 1,\n        selector: '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN .product-grid',\n        variationClass: '.SB002DM-v3',\n        headingH2Text: 'Shop By Bestsellers',\n        shopAllHref: '/collections/shop',\n        shopAllLabel: 'Shop All',\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            const elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n            (isVariable && typeof window[waitFor] !== 'undefined')\n                ? callback(elements)\n                : setTimeout(\n                      () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency),\n                      frequency\n                  );\n        },\n    };\n\n    const SECTION_ID = '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN';\n\n    const SB002DM = {\n        init: function (gridEl) {\n            this.gridEl = gridEl;\n            this.wrapEl = null;\n            this.prevBtn = null;\n            this.nextBtn = null;\n            this.mainCSS();\n            this.patchMsProductGridHeading();\n            this.mainJS();\n        },\n\n        patchMsProductGridHeading: function () {\n            const section = document.querySelector(SECTION_ID);\n            if (!section) return;\n\n            const h2 = section.querySelector('.ms-product-grid h2');\n            if (h2) h2.textContent = TEST_CONFIG.headingH2Text;\n\n            const textEl = section.querySelector('.heading .text');\n            if (textEl && !textEl.getAttribute('data-ab-sb002dm-shop-all')) {\n                const link = document.createElement('a');\n                link.href = TEST_CONFIG.shopAllHref;\n                link.textContent = TEST_CONFIG.shopAllLabel;\n                link.className = textEl.className;\n                link.id = `${TEST_CONFIG.id}-shop-all-link`;\n                link.setAttribute('data-ab-sb002dm-shop-all', '1');\n                link.setAttribute('data-ab-test', TEST_CONFIG.id);\n                textEl.replaceWith(link);\n            }\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap {\n                    position: relative;\n                    width: 100%;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrows {\n                    position: absolute;\n                    top: -26px;\n                    right: 0;\n                    z-index: 3;\n                    display: flex;\n                    flex-direction: row;\n                    gap: 6px;\n                    align-items: center;\n                    pointer-events: auto;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow {\n                    box-sizing: border-box;\n                    width: 32px;\n                    height: 32px;\n                    padding: 0;\n                    margin: 0;\n                    border-radius: 50%;\n                    background: #4C4184;\n                    color: #ffffff;\n                    font-size: 20px;\n                    line-height: 1;\n                    cursor: pointer;\n                    display: inline-flex;\n                    align-items: center;\n                    justify-content: center;\n                    transition: background 0.15s ease, border-color 0.15s ease;\n                    border:0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:hover:not(:disabled) {\n                    background: #f5f5f5;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:disabled {\n                    opacity: 0.35;\n                    cursor: not-allowed;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 3;\n                    display: flex !important;\n                    flex-direction: row !important;\n                    flex-wrap: nowrap !important;\n                    overflow-x: auto !important;\n                    overflow-y: hidden !important;\n                    scroll-behavior: smooth;\n                    scroll-snap-type: x mandatory;\n                    -webkit-overflow-scrolling: touch;\n                    scrollbar-width: none;\n                    -ms-overflow-style: none;\n                    gap: var(--product-grid-gap, 1rem);\n                    padding-top: 44px;\n                    margin: 0;\n                    list-style: none;\n                    overscroll-behavior-x: contain;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid::-webkit-scrollbar {\n                    display: none;\n                    width: 0;\n                    height: 0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid > * {\n                    box-sizing: border-box;\n                    flex: 0 0 calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width: calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width:446px;\n                    min-width: 0;\n                    scroll-snap-align: start;\n                }\n                @media (max-width:500px){\n                 ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 2;\n                  }\n                }\n            `;\n\n            const style = document.createElement('style');\n            style.id = styleId;\n            style.setAttribute('data-ab-test', TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        updateArrowState: function () {\n            const grid = this.gridEl;\n            const prev = this.prevBtn;\n            const next = this.nextBtn;\n            if (!grid || !prev || !next) return;\n            const epsilon = 2;\n            prev.disabled = grid.scrollLeft <= epsilon;\n            next.disabled = grid.scrollLeft + grid.clientWidth >= grid.scrollWidth - epsilon;\n        },\n\n        mainJS: function () {\n            const grid = this.gridEl;\n            const section = document.querySelector(SECTION_ID);\n            if (section) section.classList.add('SB002DM-v3');\n            else document.body.classList.add('SB002DM-v3');\n\n            const wrap = document.createElement('div');\n            wrap.className = 'SB002DM-v3-carousel-wrap';\n            wrap.setAttribute('data-ab-carousel', TEST_CONFIG.id);\n            this.wrapEl = wrap;\n\n            grid.parentNode.insertBefore(wrap, grid);\n            wrap.appendChild(grid);\n\n            wrap.insertAdjacentHTML(\n                'afterbegin',\n                `<div class=\"SB002DM-v3-arrows\" role=\"group\" aria-label=\"Product carousel\">\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-prev\" aria-label=\"Previous products\">&#8249;</button>\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-next\" aria-label=\"Next products\">&#8250;</button>\n                </div>`\n            );\n\n            const prevBtn = wrap.querySelector('.SB002DM-v3-prev');\n            const nextBtn = wrap.querySelector('.SB002DM-v3-next');\n            this.prevBtn = prevBtn;\n            this.nextBtn = nextBtn;\n\n            const scrollStep = () => {\n                const first = grid.querySelector(':scope > *');\n                if (!first) return Math.max(200, grid.clientWidth * 0.85);\n                const rect = first.getBoundingClientRect();\n                const gap = parseFloat(getComputedStyle(grid).gap) || 0;\n                return rect.width + gap;\n            };\n\n            prevBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: -scrollStep(), behavior: 'smooth' });\n            });\n            nextBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: scrollStep(), behavior: 'smooth' });\n            });\n\n            grid.addEventListener('scroll', () => this.updateArrowState(), { passive: true });\n            window.addEventListener(\n                'resize',\n                () => {\n                    this.updateArrowState();\n                },\n                { passive: true }\n            );\n\n            requestAnimationFrame(() => this.updateArrowState());\n        },\n    };\n\n    helpers.waitForElem(TEST_CONFIG.selector, (nodeList) => {\n        const grid = nodeList[0];\n        if (!grid || document.querySelector(`${SECTION_ID} .SB002DM-v3-carousel-wrap`)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DM.init(grid);\n    });\n\n    helpers.waitForElem(`${SECTION_ID} .heading .text`, () => {\n        SB002DM.patchMsProductGridHeading();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"f02f4ec3-a7c5-471b-b86e-f94ad0bcda53","experienceId":"2ed82b05-81f2-4dd3-a7c0-eec5ae2639bc","name":"Variation 1","percentage":25,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"cafb0f20-0173-4b0f-a536-3d8b06b0d942","variationId":"f02f4ec3-a7c5-471b-b86e-f94ad0bcda53","customCss":".shopify-section:nth-child(3) .ms-product-grid{\n  display:flex !important\n}\n\n#shopify-section-template--21754931577085__ms_product_grid_mgijtg{\n  display:none !important;\n}\n\n.ms-product-grid .card-badge{\n  display:none;\n}\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"15884008-6066-4830-9ccd-9642afb133ac","experienceId":"3385dd6b-b98d-4a6e-a711-4f04a20ad04b","name":"Variation 1","percentage":34,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"fcfd24aa-315d-44bc-98af-5249e395ceeb","variationId":"15884008-6066-4830-9ccd-9642afb133ac","customCss":"#upCart::part(sidecartTopAnnouncements), .sb017dm{\n    display:block !important;\n  }\n  \n  #upCart::part(sb017dmv2), .sb017dmv2{\n    display:none !important;\n  }","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"baeb2d11-f247-42f6-8c5e-32052a531e10","experienceId":"3385dd6b-b98d-4a6e-a711-4f04a20ad04b","name":"Control","percentage":33,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"cc5c4fa3-5de8-4d86-96fd-d8658f759744","experienceId":"3385dd6b-b98d-4a6e-a711-4f04a20ad04b","name":"Variation 2","percentage":33,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"a133617c-ac00-43fd-98c2-dba324fbf12a","variationId":"cc5c4fa3-5de8-4d86-96fd-d8658f759744","customCss":"#upCart::part(sidecartTopAnnouncements), .sb017dm{\n    display:block !important;\n  }\n  \n  #upCart::part(sb017dmv1), .sb017dmv1{\n    display:none !important;\n  }","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"48465ae8-b936-4e6e-b99e-e9990d22f747","experienceId":"35c8bc7c-4d33-41c9-aead-99bc0f233cd2","name":"Down Alternative","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"c58fe22a-21a8-431c-95e9-0f018ee00779","experienceId":"35c8bc7c-4d33-41c9-aead-99bc0f233cd2","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"39c5e863-0b19-4981-9118-3f89d8c5efc9","experienceId":"39c92512-3b1c-41fd-be85-95d604a0a071","name":"New Group 1","percentage":0,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"90cc04ec-a769-4b4f-a4da-9c7f3f31b23d","experienceId":"39c92512-3b1c-41fd-be85-95d604a0a071","name":"Control Group","percentage":100,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"9e66b6c9-28d4-443b-bad6-aafcf2a53477","experienceId":"39d37eec-eead-4987-99ed-625fe71bcc53","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"bcd3d185-1f57-4ce5-ba93-bcb90619f1b4","experienceId":"39d37eec-eead-4987-99ed-625fe71bcc53","name":"Headline A/B","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"6a0dc0d4-4642-40c2-9e29-37452b6dfa83","onsiteEditType":"text","variationId":"bcd3d185-1f57-4ce5-ba93-bcb90619f1b4","find":"","title":null,"isRegex":false,"replace":"The Pillow Chiropractors Designed To Adapt While You Sleep","querySelectors":["h1 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-adpt-5zone?pb=0","createdAtTs":1777078254928,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"0288498e-fea4-4835-bb0c-8c3a79efc323","experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","name":"Variation 1","percentage":25,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"bf165a9b-b308-4a3d-99f7-5e08f9eb4472","variationId":"0288498e-fea4-4835-bb0c-8c3a79efc323","customCss":"div[data-products-list=\"products-list-control\"], div[data-products-list=\"products-list-control-mobile\"]{\n  display:none !important;\n}\n\ndiv[data-products-list=\"products-list-v1\"]{\n  display:flex !important;\n}\n\n@media (max-width:500px){\n  div[data-products-list=\"products-list-v1\"]{\n    display:none !important;\n  }\n   div[data-products-list=\"products-list-v1-mobile\"]{\n    display:flex !important;\n  } \n}","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"04152722-76bd-481f-9a20-9ee530cb62ea","experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","name":"Control","percentage":25,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"9336a0eb-5466-4f2b-a2bd-f913f8599a08","experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","name":"Variation 2","percentage":25,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"1d80fcd1-a71f-4830-8c32-1041f53cecfd","variationId":"9336a0eb-5466-4f2b-a2bd-f913f8599a08","customCss":"div[data-products-list=\"products-list-control\"], div[data-products-list=\"products-list-control-mobile\"]{\n  display:none !important;\n}\n\ndiv[data-products-list=\"products-list-v2\"]{\n  display:flex !important;\n}","customJs":"(function () {\n    // Test configuration\n    const SECTION_ID = 'shopify-section-template--21754931577085__ms_product_grid_JVpAqF';\n    const TEST_CONFIG = {\n        id: 'SB002DM',\n        name: 'Moving Products/Collections Higher on Homepage',\n        variation: 1,\n        selector: `#${SECTION_ID} .heading`,\n        variationClass: '.SB002DM',\n        shopAllHref: '/collections/shop',\n        productGridSelector: `#${SECTION_ID} .ms-product-grid .product-grid`,\n        mobileMaxWidth: 768\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= TEST_CONFIG.mobileMaxWidth;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB002DMTuftV2 = {\n        init: function (heading) {\n            this.mainCSS();\n            this.mainJS(heading);\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 mobile horizontal slider for product grid */\n                @media (max-width: ${TEST_CONFIG.mobileMaxWidth}px) {\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} {\n                        --ab-slider-gap: 12px;\n                        --ab-slider-peek: clamp(18px, 6vw, 36px);\n                        display: flex !important;\n                        flex-direction: row;\n                        flex-wrap: nowrap;\n                        align-items: stretch;\n                        gap: var(--ab-slider-gap);\n                        overflow-x: auto;\n                        overflow-y: visible;\n                        -webkit-overflow-scrolling: touch;\n                        overscroll-behavior-x: contain;\n                        scroll-snap-type: x proximity;\n                        scroll-padding-inline: 16px;\n                        padding-inline: 16px;\n                        margin-inline: -16px;\n                        width: calc(100% + 32px);\n                        max-width: none;\n                        grid-template-columns: none !important;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} > * {\n                        flex: 0 0 calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        max-width: calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        min-width: 0;\n                        scroll-snap-align: start;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector}::after {\n                        content: \"\";\n                        flex: 0 0 16px;\n                        scroll-snap-align: end;\n                    }\n                    body${TEST_CONFIG.variationClass} .ms-product-grid .content-wrapper{\n                      max-width:100%;\n                    }\n                }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function (heading) {\n            document.body.classList.add(`${TEST_CONFIG.id}`);\n            if (!heading || document.getElementById(`${TEST_CONFIG.id}-shop-all-link`)) return;\n\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all</a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, (elements) => {\n        const heading = elements[0];\n        if (!heading) return;\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DMTuftV2.init(heading);\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"c842f000-9412-4c02-8322-f587bd2ab2bd","experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","name":"Variation 3","percentage":25,"isControl":false,"order":3,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"ff68875d-074f-47e6-9d75-17ca8ff20f3a","variationId":"c842f000-9412-4c02-8322-f587bd2ab2bd","customCss":"div[data-products-list=\"products-list-control\"], div[data-products-list=\"products-list-control-mobile\"]{\n  display:none !important;\n}\n\ndiv[data-products-list=\"products-list-v3\"]{\n  display:flex !important;\n}","customJs":"(function () {\n    const TEST_CONFIG = {\n        id: 'SB002DM-v3',\n        name: 'Product grid carousel',\n        variation: 1,\n        selector: '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN .product-grid',\n        variationClass: '.SB002DM-v3',\n        headingH2Text: 'Shop By Bestsellers',\n        shopAllHref: '/collections/shop',\n        shopAllLabel: 'Shop All',\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            const elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n            (isVariable && typeof window[waitFor] !== 'undefined')\n                ? callback(elements)\n                : setTimeout(\n                      () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency),\n                      frequency\n                  );\n        },\n    };\n\n    const SECTION_ID = '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN';\n\n    const SB002DM = {\n        init: function (gridEl) {\n            this.gridEl = gridEl;\n            this.wrapEl = null;\n            this.prevBtn = null;\n            this.nextBtn = null;\n            this.mainCSS();\n            this.patchMsProductGridHeading();\n            this.mainJS();\n        },\n\n        patchMsProductGridHeading: function () {\n            const section = document.querySelector(SECTION_ID);\n            if (!section) return;\n\n            const h2 = section.querySelector('.ms-product-grid h2');\n            if (h2) h2.textContent = TEST_CONFIG.headingH2Text;\n\n            const textEl = section.querySelector('.heading .text');\n            if (textEl && !textEl.getAttribute('data-ab-sb002dm-shop-all')) {\n                const link = document.createElement('a');\n                link.href = TEST_CONFIG.shopAllHref;\n                link.textContent = TEST_CONFIG.shopAllLabel;\n                link.className = textEl.className;\n                link.id = `${TEST_CONFIG.id}-shop-all-link`;\n                link.setAttribute('data-ab-sb002dm-shop-all', '1');\n                link.setAttribute('data-ab-test', TEST_CONFIG.id);\n                textEl.replaceWith(link);\n            }\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap {\n                    position: relative;\n                    width: 100%;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrows {\n                    position: absolute;\n                    top: -26px;\n                    right: 0;\n                    z-index: 3;\n                    display: flex;\n                    flex-direction: row;\n                    gap: 6px;\n                    align-items: center;\n                    pointer-events: auto;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow {\n                    box-sizing: border-box;\n                    width: 32px;\n                    height: 32px;\n                    padding: 0;\n                    margin: 0;\n                    border-radius: 50%;\n                    background: #4C4184;\n                    color: #ffffff;\n                    font-size: 20px;\n                    line-height: 1;\n                    cursor: pointer;\n                    display: inline-flex;\n                    align-items: center;\n                    justify-content: center;\n                    transition: background 0.15s ease, border-color 0.15s ease;\n                    border:0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:hover:not(:disabled) {\n                    background: #f5f5f5;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:disabled {\n                    opacity: 0.35;\n                    cursor: not-allowed;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 3;\n                    display: flex !important;\n                    flex-direction: row !important;\n                    flex-wrap: nowrap !important;\n                    overflow-x: auto !important;\n                    overflow-y: hidden !important;\n                    scroll-behavior: smooth;\n                    scroll-snap-type: x mandatory;\n                    -webkit-overflow-scrolling: touch;\n                    scrollbar-width: none;\n                    -ms-overflow-style: none;\n                    gap: var(--product-grid-gap, 1rem);\n                    padding-top: 44px;\n                    margin: 0;\n                    list-style: none;\n                    overscroll-behavior-x: contain;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid::-webkit-scrollbar {\n                    display: none;\n                    width: 0;\n                    height: 0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid > * {\n                    box-sizing: border-box;\n                    flex: 0 0 calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width: calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width:446px;\n                    min-width: 0;\n                    scroll-snap-align: start;\n                }\n                @media (max-width:500px){\n                 ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 2;\n                  }\n                }\n            `;\n\n            const style = document.createElement('style');\n            style.id = styleId;\n            style.setAttribute('data-ab-test', TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        updateArrowState: function () {\n            const grid = this.gridEl;\n            const prev = this.prevBtn;\n            const next = this.nextBtn;\n            if (!grid || !prev || !next) return;\n            const epsilon = 2;\n            prev.disabled = grid.scrollLeft <= epsilon;\n            next.disabled = grid.scrollLeft + grid.clientWidth >= grid.scrollWidth - epsilon;\n        },\n\n        mainJS: function () {\n            const grid = this.gridEl;\n            const section = document.querySelector(SECTION_ID);\n            if (section) section.classList.add('SB002DM-v3');\n            else document.body.classList.add('SB002DM-v3');\n\n            const wrap = document.createElement('div');\n            wrap.className = 'SB002DM-v3-carousel-wrap';\n            wrap.setAttribute('data-ab-carousel', TEST_CONFIG.id);\n            this.wrapEl = wrap;\n\n            grid.parentNode.insertBefore(wrap, grid);\n            wrap.appendChild(grid);\n\n            wrap.insertAdjacentHTML(\n                'afterbegin',\n                `<div class=\"SB002DM-v3-arrows\" role=\"group\" aria-label=\"Product carousel\">\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-prev\" aria-label=\"Previous products\">&#8249;</button>\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-next\" aria-label=\"Next products\">&#8250;</button>\n                </div>`\n            );\n\n            const prevBtn = wrap.querySelector('.SB002DM-v3-prev');\n            const nextBtn = wrap.querySelector('.SB002DM-v3-next');\n            this.prevBtn = prevBtn;\n            this.nextBtn = nextBtn;\n\n            const scrollStep = () => {\n                const first = grid.querySelector(':scope > *');\n                if (!first) return Math.max(200, grid.clientWidth * 0.85);\n                const rect = first.getBoundingClientRect();\n                const gap = parseFloat(getComputedStyle(grid).gap) || 0;\n                return rect.width + gap;\n            };\n\n            prevBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: -scrollStep(), behavior: 'smooth' });\n            });\n            nextBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: scrollStep(), behavior: 'smooth' });\n            });\n\n            grid.addEventListener('scroll', () => this.updateArrowState(), { passive: true });\n            window.addEventListener(\n                'resize',\n                () => {\n                    this.updateArrowState();\n                },\n                { passive: true }\n            );\n\n            requestAnimationFrame(() => this.updateArrowState());\n        },\n    };\n\n    helpers.waitForElem(TEST_CONFIG.selector, (nodeList) => {\n        const grid = nodeList[0];\n        if (!grid || document.querySelector(`${SECTION_ID} .SB002DM-v3-carousel-wrap`)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DM.init(grid);\n    });\n\n    helpers.waitForElem(`${SECTION_ID} .heading .text`, () => {\n        SB002DM.patchMsProductGridHeading();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"32987531-bf67-431a-bc6f-c04cad0fc6b9","experienceId":"47adc933-42b2-4b31-ac8f-cd3935eb61d2","name":"Dawn","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"83f8ba98-2f4e-42c4-b21a-1a87eabef99f","experienceId":"47adc933-42b2-4b31-ac8f-cd3935eb61d2","name":"Horizon","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"1549c57f-a629-4fef-a21a-3978ce31aae2","experienceId":"4a55f17b-65d1-4e7e-bdf2-0295287d8a80","name":"Dawn","percentage":20,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"8df8ea44-e9ef-4d5f-b36f-56c0c8390b8d","experienceId":"4a55f17b-65d1-4e7e-bdf2-0295287d8a80","name":"Replo","percentage":80,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"343cd60f-d56a-481f-8962-c5fe29256b1d","experienceId":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6","name":"$39","percentage":25,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[{"id":"19e23cc9-50e3-40fe-b578-08fdd387f1ae","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$68.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"2a9a30d6-04ac-4b32-92d0-9e7c6592eedd","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"2fc30278-c1c1-47f3-9c20-1a0cad3bbf4d","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$117.00","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"a8240977-4d98-4225-80f3-8901628181e5","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$117.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"b3e1776d-fdfd-43e0-8770-7a1bf8dfd345","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$39.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"b8c4fd28-76f2-47c6-97a1-6d9b2bc0404b","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"cfc5d73c-ee49-4b66-be33-3a98cfcdf4e5","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"dc5b040e-9439-4a6a-8ea0-f8f4d54a18e5","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$34/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"e104b47d-091e-46c8-93d6-0d741fab62a1","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$29.25/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"f1b33324-2a85-4404-a56d-c59c77d84a12","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$39.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"cd1e32d1-5f2a-4704-9b32-108452adea9d","experienceId":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6","name":"$34","percentage":25,"isControl":false,"order":3,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[{"id":"0ed59dd9-2a71-4181-b135-0f11dd3c591f","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$34.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"324c2dc7-47fb-4077-84e6-93314696aab8","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$29/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"47e5f223-78db-45e6-b06b-dc48fd59526c","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$102.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"59054142-f584-451b-99b0-c04f40202c26","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$25.50/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"9650e5fc-940e-4421-b762-b0e5ba3c08f8","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$34.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"a6def337-c928-4448-abcd-b400ba7bc118","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"b55c2d4b-4d00-49f0-8605-747a38c93f14","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$58.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"c24f6996-5e99-4eec-92ca-b390da2195d4","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"d4e4b7df-798c-419b-926c-ff50bc7d553f","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"d817978c-1780-4403-9923-b362d4a9833c","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$102.00","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","experienceId":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6","name":"$54","percentage":25,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"1211946d-c2e5-43b3-968b-940a34ce6c4c","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$98.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"35eb399d-6906-41f6-9164-b36be83849a2","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$54.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"443a961e-c5b6-42ad-83cb-8b147d698f4b","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"755e9e3e-5662-4eb2-9161-09f37cd08dd8","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$54.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"8470aec9-92dd-40b8-ad86-1ba2d871272d","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"8ca45622-379b-487a-a4fa-893f9ce3d1af","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"8fc1e11f-cf71-4595-a00e-b76a792517af","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$40.50/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"9373bec3-cce6-460d-b4e0-314ffcab6392","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$49/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"9e1fb101-ddda-4c9c-9982-4a918377795e","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$162.0","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"a7665dbb-ba4d-4f6f-a4ab-302d399602bc","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$162.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"f3ba57bd-95bf-4407-8578-e1c95e587460","experienceId":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6","name":"$49","percentage":25,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"31fb012e-9532-40d9-96f6-762afdbf3831","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided for Title Generation","isRegex":false,"replace":"$147.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"360d1d07-5c9e-4e51-bbd8-9173ea96c7da","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Operation Detected: Missing JSON Input for Find-and-Replace","isRegex":false,"replace":"$88.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"75f2cbdb-760c-415d-8eeb-451495846f5d","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"$49.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"7addc4bf-5b50-42b6-9b23-b4e3aefac165","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"Insufficient Data Provided for Title Generation","isRegex":false,"replace":"$36.75/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"8021eb2e-2d6b-4a5f-b234-6de8ecee18dd","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"Insufficient Data: No Information Provided for Find-and-Replace Operation","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"98496112-b702-41f7-8396-c9c66bd36bac","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Input Provided: Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"9ceab14d-c0ac-4736-b6b7-39ea51a36655","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Operation Data Provided for Title Generation","isRegex":false,"replace":"$44/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"b3ba8d7f-a4f9-40bc-894c-66f5938d6c54","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"$147.00","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"b5b66508-4d16-40c3-8c30-29a8a0ae6263","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Operation Identified: Missing JSON Input Data","isRegex":false,"replace":"$49.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"cbd54479-98b2-4b7e-af01-4c6f88647a8b","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided for Find-and-Replace Title Generation","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"83b4cd94-1a7e-4cfc-8d46-8844537760b2","experienceId":"54a66c17-7a70-4419-a53a-51563c3570c4","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"b1614810-989f-4f8f-acc0-38a25327c555","experienceId":"54a66c17-7a70-4419-a53a-51563c3570c4","name":"Headline A/B","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"f63be8df-f644-4633-ade1-b2a4e23cda82","onsiteEditType":"text","variationId":"b1614810-989f-4f8f-acc0-38a25327c555","find":"","title":"No JSON Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"5-Star Hotel Feeling Every Single Time You Lay Down","querySelectors":["h1 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-hpil-perf-hotel-1?pb=0","createdAtTs":1777076638274,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"411c77cb-bf4a-4263-8467-731e6687e493","experienceId":"5a42a2b0-0f15-42d3-9434-9a024e832ab3","name":"Headline A/B","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"ece2235f-3bea-47cb-8818-f4b90a778522","onsiteEditType":"text","variationId":"411c77cb-bf4a-4263-8467-731e6687e493","find":"","title":null,"isRegex":false,"replace":"The Award-Winning Adjustable Pillow Chiropractors Recommend","querySelectors":["h1 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-flex-adjustable?pb=0","createdAtTs":1777072150773,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"53f8fbc7-4c2a-405c-b8f4-22c605ace77e","experienceId":"5a42a2b0-0f15-42d3-9434-9a024e832ab3","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"7df755ba-e1aa-4c9d-ade1-aa3e02ce04c8","experienceId":"65ddf611-4928-45da-9473-2972243fe145","name":"Control Group","percentage":100,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"012fe919-58e5-4cc6-9ecc-7954df7128f2","experienceId":"733f020e-920c-4c06-8875-9d45dfad0dcd","name":"Replo","percentage":80,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"bfffa810-6f86-45da-86f0-44434ddd6387","experienceId":"733f020e-920c-4c06-8875-9d45dfad0dcd","name":"Dawn","percentage":20,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"1c88c708-ad96-4be5-bbd8-10da2b2520a6","experienceId":"743fda36-2eb0-4bdb-982a-677653ac0b37","name":"New Group 1","percentage":100,"isControl":true,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"d75360e2-889f-4db1-8ca2-22db0927e253","onsiteEditType":"hide","variationId":"1c88c708-ad96-4be5-bbd8-10da2b2520a6","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1bj3znh"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1761680526443,"imageSearchUrl":null,"source":null},{"id":"da50e3ed-7854-43ee-9d86-bdd3ba85c98b","onsiteEditType":"hide","variationId":"1c88c708-ad96-4be5-bbd8-10da2b2520a6","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1aswhf3 > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1761680506047,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"3eab1464-5626-4e48-a461-ae20b3080935","experienceId":"77d350d1-75d3-4234-96c4-de4599895f2e","name":"Control","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"6be758bd-310a-4ef8-b693-67c51fa38f83","experienceId":"77d350d1-75d3-4234-96c4-de4599895f2e","name":"Variation 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"166a2257-f4ff-4cc5-9e8d-4a181d44d2ba","experienceId":"89061160-238f-4d24-ad96-159adcb3061f","name":"Replo","percentage":80,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"1cf4e441-4bf7-4c9f-9053-4cf4e5979bb7","experienceId":"89061160-238f-4d24-ad96-159adcb3061f","name":"Dawn","percentage":20,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","experienceId":"8e3c365b-4f92-41c5-83db-8ec1a76352f0","name":"Control Group","percentage":100,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"00a299ea-86ef-46b5-a274-a80c8e108530","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-ditz4e"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white","createdAtTs":1771774339329,"imageSearchUrl":null,"source":null},{"id":"017b9791-489e-4a23-9868-a1028476ce8f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-tnxlrg > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white?variant=46261108867325","createdAtTs":1771809115392,"imageSearchUrl":null,"source":null},{"id":"04be9ba0-07d4-4717-b0af-4d9c505580cb","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Data Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-1hxjbcj"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771774259024,"imageSearchUrl":null,"source":null},{"id":"0cb45d7a-1c92-432c-ac64-0868b9bdc941","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided: Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-1pga9rv"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771774250980,"imageSearchUrl":null,"source":null},{"id":"0cedfe08-26dc-441f-a2cd-e0c6330018b1","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Title Generated: Insufficient Data Provided in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-94p1jh > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-easyfit-sheet","createdAtTs":1771774128518,"imageSearchUrl":null,"source":null},{"id":"138a5875-16f5-45d5-b880-e64fa151627b","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Detected: Missing Find, Replacements, and QuerySelectors","isRegex":false,"replace":"","querySelectors":[".r-bz2xvf > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-easyfit-sheet","createdAtTs":1771774133308,"imageSearchUrl":null,"source":null},{"id":"15b0fc06-4f5f-4e5a-81e7-ab98fd57d7d7","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-9ikhwx > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771774006002,"imageSearchUrl":null,"source":null},{"id":"18b8e708-d34f-4ff3-a21b-f0620fd73dbc","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Missing JSON Content","isRegex":false,"replace":"","querySelectors":[".r-5rq0fo > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771774104983,"imageSearchUrl":null,"source":null},{"id":"2164da77-fcac-43f4-ad26-9524052bc0da","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided to analyze for find-and-replace operation","isRegex":false,"replace":"","querySelectors":[".r-rr7zdr"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-easyfit-sheet","createdAtTs":1771774363704,"imageSearchUrl":null,"source":null},{"id":"278d55d1-9560-4d5b-9bde-e72d5be00e56","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Data Provided","isRegex":false,"replace":"","querySelectors":[".r-h45inz"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809243586,"imageSearchUrl":null,"source":null},{"id":"28e0f318-6dfb-49c1-b6b9-18e5845de7ed","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Data Provided for Find-and-Replace Operation Title Generation","isRegex":false,"replace":"","querySelectors":[".r-1vyu6pw"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-cloudalign-cooling-pillowcase","createdAtTs":1771774382379,"imageSearchUrl":null,"source":null},{"id":"2d2fbac1-430c-4173-8cea-f1cc37d1befe","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Data Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-4c3lwd > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771774145423,"imageSearchUrl":null,"source":null},{"id":"2e2b1bfe-f5ae-473d-9ccf-a0386effe773","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Specified: Insufficient Data to Generate Title","isRegex":false,"replace":"","querySelectors":[".r-asza7s"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771774373275,"imageSearchUrl":null,"source":null},{"id":"36a4d08d-c523-4eac-936b-a3078c93eb2b","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Detected: Missing Find-Replace Details in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-oznh6w > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771774089909,"imageSearchUrl":null,"source":null},{"id":"38c48406-9775-4cd9-92f5-bdc06bd7e168","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Content Provided for Find-and-Replace Title Generation","isRegex":false,"replace":"","querySelectors":[".r-vb27k8"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771774268061,"imageSearchUrl":null,"source":null},{"id":"45588456-c08b-4f9b-a771-035dd0545d98","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-8iobny > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771774110008,"imageSearchUrl":null,"source":null},{"id":"6cf42a19-98df-4e51-b2cf-71173233d1fb","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"Unable to Generate Title: No Data Provided in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-p13gdd > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771774174752,"imageSearchUrl":null,"source":null},{"id":"711479c4-f30e-4966-b486-aecf1a22406b","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Detected in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-1ixii9e > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white?variant=46261108867325","createdAtTs":1771809129838,"imageSearchUrl":null,"source":null},{"id":"73948f81-f87d-4571-88f9-04a739f514e5","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Detected: Find-and-Replace Fields Are Empty","isRegex":false,"replace":"","querySelectors":[".r-199h56z > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771774149188,"imageSearchUrl":null,"source":null},{"id":"767473d4-dce5-4112-bc5c-02d3b6d9d62f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Specified in Input","isRegex":false,"replace":"","querySelectors":[".r-onvbwc > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771774058588,"imageSearchUrl":null,"source":null},{"id":"78022fa5-ed2a-4b0b-82fe-c70536cde216","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Empty Input Provided","isRegex":false,"replace":"","querySelectors":[".r-v88znz > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771774084912,"imageSearchUrl":null,"source":null},{"id":"838d05ac-c601-474d-9687-257f6e66dd10","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"Insufficient Data to Generate Title for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-119qp4g > span > p:nth-of-type(1)"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809262668,"imageSearchUrl":null,"source":null},{"id":"87d801d7-92a7-4f77-bb74-fc7232733a27","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided for analysis","isRegex":false,"replace":"","querySelectors":[".r-qnji5z > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771774170673,"imageSearchUrl":null,"source":null},{"id":"94e2782d-6ae2-4b69-889d-2aba92e63e4d","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-7dtt8m"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771774239774,"imageSearchUrl":null,"source":null},{"id":"a1a9b81c-2cc8-4caa-bdf0-edbc62a08d5f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1brw3zk"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771774349094,"imageSearchUrl":null,"source":null},{"id":"adbb5590-fafc-44f7-baca-a6d526fba95e","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided: Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-aacllx > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771810474786,"imageSearchUrl":null,"source":null},{"id":"b0fde486-d21c-4baf-b6d3-51d837f8bb1e","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Data Provided","isRegex":false,"replace":"","querySelectors":[".r-120ixya > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771774036946,"imageSearchUrl":null,"source":null},{"id":"bbf65123-3264-4205-ad2b-639275d7c10f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided for analysis","isRegex":false,"replace":"","querySelectors":[".r-1im6w2x > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809254460,"imageSearchUrl":null,"source":null},{"id":"c0d93af1-23ba-47fb-9fbe-d7d93feb0c03","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Unable to Generate Title Due to Missing Input Data","isRegex":false,"replace":"","querySelectors":[".r-100e00d > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771774030016,"imageSearchUrl":null,"source":null},{"id":"c6ea6268-39d5-415b-8d02-6e7bb391ad04","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided for analysis","isRegex":false,"replace":"","querySelectors":[".r-pxts4l > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809249627,"imageSearchUrl":null,"source":null},{"id":"d0e37359-0f46-4a12-9c83-627e5a40a114","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-1fw8uf7 > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771774052592,"imageSearchUrl":null,"source":null},{"id":"da0d0035-e680-465d-87cc-7816648ca03a","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Insufficient Data Provided","isRegex":false,"replace":"","querySelectors":[".r-dculmy > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771774012284,"imageSearchUrl":null,"source":null},{"id":"e2e0663c-6638-4d2a-89d1-9115bc060bf6","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Detected for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-31v0sx > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771810470055,"imageSearchUrl":null,"source":null},{"id":"e5518dcb-f53a-4b4f-83c9-6b205cc7b8f1","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-zghvri > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-cloudalign-cooling-pillowcase","createdAtTs":1771809330456,"imageSearchUrl":null,"source":null},{"id":"f5bc58e9-a972-4420-ae87-8fc33cb87408","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Data Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-119qp4g > span > p:nth-of-type(2)"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809258625,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"1fdff655-6a6e-411f-a8bc-2de16c0e6ed6","experienceId":"94067b5a-007e-40e8-bfae-b5367ddc0fda","name":"No Kaching","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"66fdee7f-c654-4700-a018-6b89e7131985","variationId":"1fdff655-6a6e-411f-a8bc-2de16c0e6ed6","customCss":".kaching-bundles__block{\n    display: none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"8612b487-ccb1-44bb-8101-275d330ab25f","experienceId":"94067b5a-007e-40e8-bfae-b5367ddc0fda","name":"Kaching","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"1718475d-d015-47e5-8136-1bc79648d2da","experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f","name":"variant 1-1","percentage":20,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"8f29c193-357b-45b6-b236-8c83cd35375e","variationId":"1718475d-d015-47e5-8136-1bc79648d2da","customCss":"/* src/mellow/sb-007dm/v3/scss/index.scss */\n.sb-007dm_v3 .els-cup-box,\n.sb-007dm_v3 .sb-007dm__box {\n  display: flex;\n  align-items: center;\n  gap: 11px;\n  overflow: clip;\n  border-radius: 8px;\n  background: transparent;\n  padding: 0;\n  margin-bottom: 14px;\n  margin-top: 14px;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_v3 .els-cup-box,\n  .sb-007dm_v3 .sb-007dm__box {\n    margin-bottom: 16px;\n    margin-top: 10px;\n  }\n}\n.sb-007dm_v3 .sb-007dm__icon {\n  flex: 0 0 23px;\n  width: 23px;\n  height: 23px;\n  display: block;\n}\n.sb-007dm_v3 .sb-007dm__text {\n  font-family:\n    \"Inter\",\n    -apple-system,\n    BlinkMacSystemFont,\n    sans-serif;\n  font-weight: 700;\n  font-size: 16px;\n  line-height: 22.4px;\n  color: #0a0428;\n  white-space: nowrap;\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function qq(s, o) {\n    return o ? s.querySelectorAll(o) : document.querySelectorAll(s);\n  }\n\n  // src/mellow/sb-007dm/v3/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"v3\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/sb-007dm/v3/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname);\n  var UNITS_SOLD_ICON = `\n<svg class=\"${ID}__icon\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n  <path d=\"M21.6257 16.2153C22.1499 14.4631 22.2622 12.9206 22.2622 11.9023C22.2622 10.4421 22.0525 8.99697 21.6332 7.59663C21.6706 7.5517 21.7081 7.51426 21.738 7.46934C22.7788 6.09905 22.6815 4.26451 21.5209 3.38114C20.3528 2.49756 18.5631 2.89442 17.5221 4.26471H17.5146C13.8753 3.47099 10.1092 3.47099 6.47767 4.25722C5.42936 2.89442 3.63965 2.49756 2.47892 3.38114C1.31822 4.26471 1.22095 6.09935 2.26177 7.46934C2.28424 7.49929 2.31419 7.53673 2.33665 7.56668C1.81999 9.33383 1.70018 10.8839 1.70018 11.9023C1.70018 13.3699 1.91733 14.8302 2.33665 16.2453C2.31419 16.2827 2.28424 16.3127 2.26177 16.3501C1.22095 17.7204 1.3183 19.5549 2.47892 20.4383C2.89825 20.7603 3.39994 20.91 3.9166 20.91C4.83761 20.91 5.81104 20.4308 6.47767 19.5547C6.47767 19.5547 6.47767 19.5472 6.48515 19.5472C10.1167 20.3335 13.8758 20.3335 17.5074 19.5397L17.5223 19.5547C18.5632 20.925 20.3604 21.3219 21.5211 20.4383C22.6818 19.5547 22.779 17.7201 21.7382 16.3501C21.7008 16.3052 21.6708 16.2602 21.6259 16.2153H21.6257ZM6.30524 14.9648C6.44003 15.3542 6.22288 15.781 5.83351 15.9083C5.75114 15.9383 5.67626 15.9457 5.59389 15.9457C5.2794 15.9457 4.98737 15.7511 4.88254 15.4366C4.50815 14.2909 4.31346 13.1003 4.31346 11.9023C4.31346 11.0861 4.4108 9.82064 4.88254 8.38276C5.01732 7.99339 5.43665 7.77624 5.83351 7.90354C6.22288 8.03832 6.44003 8.45764 6.30524 8.8545C5.9009 10.0975 5.81104 11.1983 5.81104 11.9022C5.81104 12.943 5.97578 13.9688 6.30524 14.9646V14.9648Z\" fill=\"#FFA28B\"/>\n</svg>`;\n  function renderBox(box) {\n    const valEl = box.querySelector(\".els-cup-w-val\");\n    if (!valEl)\n      return;\n    const raw = (valEl.textContent || \"\").trim();\n    const count = raw.replace(/[^0-9]/g, \"\");\n    if (!count)\n      return;\n    box.classList.add(`${ID}__box`);\n    box.setAttribute(\"aria-label\", `${count} units sold in the last 7 days`);\n    box.innerHTML = `\n    ${UNITS_SOLD_ICON}\n    <span class=\"${ID}__text\">${count} units sold in the last 7 days</span>\n  `;\n  }\n  poll(\n    () => q(\"body\") && isAllowedPath() && q(\".els-cup-box .els-cup-w-val\"),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      qq(\".els-cup-box\").forEach((box) => renderBox(box));\n    }\n  );\n})();\n\n//last updated on: 5:29:53 PM\n//# sourceURL=ABtest/sb-007dm_v3.js","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"38adaf69-149f-4dcd-a09e-d338d711d5ef","experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f","name":"variant 2-2","percentage":20,"isControl":false,"order":4,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"1874c70e-0d07-471c-9f05-1067095ab98b","variationId":"38adaf69-149f-4dcd-a09e-d338d711d5ef","customCss":"/* src/mellow/sb-007dm/v2/scss/index.scss */\n.sb-007dm_v2 .r-z8v082,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht {\n  display: flex !important;\n  margin-bottom: 14px;\n  align-items: start !important;\n  gap: 11px;\n}\n.sb-007dm_v2 .r-z8v082 > picture,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol > picture,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht > picture {\n  display: none !important;\n}\n.sb-007dm_v2 .r-z8v082 .replo-pdp-inv span,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol .replo-pdp-inv span,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht .replo-pdp-inv span {\n  font-weight: 700;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_v2 .r-z8v082,\n  .sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol,\n  .sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht {\n    margin-bottom: 16px;\n    margin-top: 10px;\n  }\n}\n.sb-007dm_v2 .replo-pdp-inv__strip,\n.sb-007dm_v2 .sb-007dm__strip {\n  display: flex !important;\n  align-items: center;\n  gap: 11px;\n  overflow: clip;\n  border-radius: 8px;\n  background: transparent !important;\n  padding: 0 !important;\n  border: 0 !important;\n}\n.sb-007dm_v2 .sb-007dm__icon {\n  flex: 0 0 23px;\n  width: 23px;\n  height: 23px;\n  display: block;\n}\n.sb-007dm_v2 .sb-007dm__group {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n@media screen and (max-width: 768px) {\n  .sb-007dm_v2 .sb-007dm__group {\n    gap: 7px;\n  }\n}\n.sb-007dm_v2 .sb-007dm__counter {\n  display: inline-flex;\n  align-items: center;\n  gap: 3px;\n}\n.sb-007dm_v2 .sb-007dm__digit,\n.sb-007dm_v2 .sb-007dm__suffix {\n  font-family:\n    \"Inter\",\n    -apple-system,\n    BlinkMacSystemFont,\n    sans-serif;\n  font-weight: 700;\n  font-size: 16px;\n  line-height: 22.4px;\n  color: #0a0428;\n  letter-spacing: 0;\n}\n.sb-007dm_v2 .sb-007dm__digit {\n  background: #e5e5fe;\n  border-radius: 4px;\n  padding: 2px 6px;\n  min-width: 11px;\n  height: 27px;\n  box-sizing: border-box;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  letter-spacing: 0.5px;\n}\n.sb-007dm_v2 .sb-007dm__suffix {\n  white-space: nowrap;\n}\n@media screen and (max-width: 370px) {\n  .sb-007dm_v2 .sb-007dm__suffix {\n    font-size: 14px;\n  }\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function qq(s, o) {\n    return o ? s.querySelectorAll(o) : document.querySelectorAll(s);\n  }\n\n  // src/mellow/sb-007dm/v2/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"v2\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/sb-007dm/v2/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname) && (q(\".r-z8v082\") || q(\".r-16g8aol\") || q(\".r-velaht\"));\n  var FIRE_ICON = `\n<svg class=\"${ID}__icon\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n  <path d=\"M21.163 16.1953C21.6892 14.4431 21.802 12.9006 21.802 11.8823C21.802 10.4221 21.5915 8.97695 21.1706 7.57661C21.2081 7.53168 21.2457 7.49424 21.2758 7.44932C22.3207 6.07903 22.2229 4.24449 21.0578 3.36112C19.8852 2.47755 18.0885 2.8744 17.0436 4.24469H17.036C13.3826 3.45097 9.60187 3.45097 5.95625 4.2372C4.90387 2.8744 3.10722 2.47755 1.94199 3.36112C0.776785 4.24469 0.679144 6.07933 1.724 7.44932C1.74655 7.47927 1.77662 7.51671 1.79917 7.54666C1.2805 9.31381 1.16023 10.8639 1.16023 11.8823C1.16023 13.3499 1.37822 14.8101 1.79917 16.2252C1.77662 16.2627 1.74655 16.2926 1.724 16.3301C0.679144 17.7004 0.776865 19.5349 1.94199 20.4183C2.36294 20.7403 2.86658 20.89 3.38525 20.89C4.30983 20.89 5.28704 20.4108 5.95625 19.5347C5.95625 19.5347 5.95625 19.5272 5.96376 19.5272C9.60939 20.3134 13.3831 20.3134 17.0287 19.5197L17.0438 19.5347C18.0886 20.905 19.8928 21.3018 21.058 20.4183C22.2232 19.5347 22.3209 17.7001 21.276 16.3301C21.2384 16.2852 21.2083 16.2402 21.1632 16.1953H21.163ZM5.78316 14.9448C5.91846 15.3342 5.70047 15.761 5.30959 15.8883C5.2269 15.9182 5.15173 15.9257 5.06905 15.9257C4.75333 15.9257 4.46017 15.731 4.35493 15.4166C3.97909 14.2709 3.78365 13.0803 3.78365 11.8823C3.78365 11.0661 3.88137 9.80062 4.35493 8.36274C4.49024 7.97337 4.91119 7.75622 5.30959 7.88352C5.70047 8.0183 5.91846 8.43762 5.78316 8.83448C5.37724 10.0775 5.28704 11.1783 5.28704 11.8822C5.28704 12.923 5.45241 13.9488 5.78316 14.9446V14.9448Z\" fill=\"#FFA28B\"/>\n</svg>`;\n  function buildCounter(countStr) {\n    return countStr.split(\"\").map((c) => `<span class=\"${ID}__digit\" aria-hidden=\"true\">${c}</span>`).join(\"\");\n  }\n  function renderCounter(strip) {\n    const label = strip.querySelector(\".replo-pdp-inv__label\");\n    if (!label)\n      return;\n    const raw = (label.textContent || \"\").trim();\n    const count = raw.replace(/[^0-9]/g, \"\");\n    if (!count)\n      return;\n    strip.classList.add(`${ID}__strip`);\n    strip.setAttribute(\"aria-label\", `${count} units left in stock`);\n    strip.innerHTML = `\n    ${FIRE_ICON}\n    <span class=\"${ID}__group\">\n      <span class=\"${ID}__counter\">${buildCounter(count)}</span>\n      <span class=\"${ID}__suffix\">units left in stock</span>\n    </span>\n  `;\n  }\n  poll(\n    () => q(\"body\") && isAllowedPath() && (q(\".r-z8v082\") || q(\".r-16g8aol\") || q(\".r-velaht\")),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      console.log(\"%c Matched Elements: \", \"color: green; font-weight: bold;\", q(\".r-z8v082\") || q(\".r-16g8aol\") || q(\".r-velaht\"));\n      qq(\".replo-pdp-inv__strip\").forEach((strip) => renderCounter(strip));\n    }\n  );\n})();\n\n//last updated on: 5:27:59 PM\n//# sourceURL=ABtest/sb-007dm_v2.js","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"8bb21540-e842-407b-9f1b-c1dae79af753","experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f","name":"variant 1-2","percentage":20,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"5baeac61-1c93-4165-a0e2-807758c99a92","variationId":"8bb21540-e842-407b-9f1b-c1dae79af753","customCss":"/* src/mellow/sb-007dm/v4/scss/index.scss */\n.sb-007dm_v4 .els-cup-box,\n.sb-007dm_v4 .sb-007dm__box {\n  display: flex;\n  align-items: center;\n  gap: 11px;\n  overflow: clip;\n  border-radius: 8px;\n  background: transparent;\n  padding: 0;\n  margin-bottom: 14px;\n  margin-top: 14px;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_v4 .els-cup-box,\n  .sb-007dm_v4 .sb-007dm__box {\n    margin-bottom: 16px;\n    margin-top: 10px;\n  }\n}\n.sb-007dm_v4 .sb-007dm__icon {\n  flex: 0 0 23px;\n  width: 23px;\n  height: 23px;\n  display: block;\n}\n.sb-007dm_v4 .sb-007dm__group {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n@media screen and (max-width: 768px) {\n  .sb-007dm_v4 .sb-007dm__group {\n    gap: 7px;\n  }\n}\n.sb-007dm_v4 .sb-007dm__counter {\n  display: inline-flex;\n  align-items: center;\n  gap: 3px;\n}\n.sb-007dm_v4 .sb-007dm__digit,\n.sb-007dm_v4 .sb-007dm__suffix {\n  font-family:\n    \"Inter\",\n    -apple-system,\n    BlinkMacSystemFont,\n    sans-serif;\n  font-weight: 700;\n  font-size: 16px;\n  color: #0a0428;\n  letter-spacing: 0;\n}\n.sb-007dm_v4 .sb-007dm__suffix {\n  line-height: 22px;\n  white-space: nowrap;\n}\n.sb-007dm_v4 .sb-007dm__digit {\n  position: relative;\n  background: #e5e5fe;\n  border-radius: 4px;\n  min-width: 23px;\n  height: 27px;\n  box-sizing: border-box;\n  display: inline-flex;\n  justify-content: center;\n  line-height: 0;\n  overflow: hidden;\n  padding: 0 6px;\n  letter-spacing: 0.5px;\n}\n.sb-007dm_v4 .sb-007dm__digit-tape {\n  position: absolute;\n  left: 0;\n  right: 0;\n  top: 0;\n  display: flex;\n  flex-direction: column;\n  flex-shrink: 0;\n  align-items: center;\n  transition: top 420ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n.sb-007dm_v4 .sb-007dm__digit-tape span {\n  flex-shrink: 0;\n  box-sizing: border-box;\n  height: 21px;\n  min-height: 21px;\n  line-height: 21px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n@media screen and (max-width: 768px) {\n  .sb-007dm_v4 .els-cup-box,\n  .sb-007dm_v4 .sb-007dm__box {\n    gap: 8px;\n  }\n  .sb-007dm_v4 .sb-007dm__counter {\n    gap: 2px;\n  }\n  .sb-007dm_v4 .sb-007dm__digit {\n    min-width: 21px;\n    padding: 0 5px;\n  }\n  .sb-007dm_v4 .sb-007dm__suffix {\n    font-size: 15px;\n  }\n}\n@media screen and (max-width: 768px) and (max-width: 370px) {\n  .sb-007dm_v4 .sb-007dm__suffix {\n    font-size: 14px;\n  }\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function qq(s, o) {\n    return o ? s.querySelectorAll(o) : document.querySelectorAll(s);\n  }\n\n  // src/mellow/sb-007dm/v4/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"v4\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/sb-007dm/v4/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var COUNT_UP_INTERVAL_MS = 2e3;\n  var DIGIT_TAPE_STEP_PX = 21;\n  var DIGIT_TAPE_OFFSET_PX = 3;\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname);\n  function digitTapeTop(digit) {\n    const n = Number.parseInt(String(digit), 10);\n    if (!Number.isFinite(n) || n < 0 || n > 9) {\n      return `${DIGIT_TAPE_OFFSET_PX}px`;\n    }\n    return `${DIGIT_TAPE_OFFSET_PX - n * DIGIT_TAPE_STEP_PX}px`;\n  }\n  var UNITS_SOLD_ICON = `\n<svg class=\"${ID}__icon\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n  <path d=\"M21.163 16.1953C21.6892 14.4431 21.802 12.9006 21.802 11.8823C21.802 10.4221 21.5915 8.97695 21.1706 7.57661C21.2081 7.53168 21.2457 7.49424 21.2758 7.44932C22.3207 6.07903 22.2229 4.24449 21.0578 3.36112C19.8852 2.47755 18.0885 2.8744 17.0436 4.24469H17.036C13.3826 3.45097 9.60187 3.45097 5.95625 4.2372C4.90387 2.8744 3.10722 2.47755 1.94199 3.36112C0.776785 4.24469 0.679144 6.07933 1.724 7.44932C1.74655 7.47927 1.77662 7.51671 1.79917 7.54666C1.2805 9.31381 1.16023 10.8639 1.16023 11.8823C1.16023 13.3499 1.37822 14.8101 1.79917 16.2252C1.77662 16.2627 1.74655 16.2926 1.724 16.3301C0.679144 17.7004 0.776865 19.5349 1.94199 20.4183C2.36294 20.7403 2.86658 20.89 3.38525 20.89C4.30983 20.89 5.28704 20.4108 5.95625 19.5347C5.95625 19.5347 5.95625 19.5272 5.96376 19.5272C9.60939 20.3134 13.3831 20.3134 17.0287 19.5197L17.0438 19.5347C18.0886 20.905 19.8928 21.3018 21.058 20.4183C22.2232 19.5347 22.3209 17.7001 21.276 16.3301C21.2384 16.2852 21.2083 16.2402 21.1632 16.1953H21.163ZM5.78316 14.9448C5.91846 15.3342 5.70047 15.761 5.30959 15.8883C5.2269 15.9182 5.15173 15.9257 5.06905 15.9257C4.75333 15.9257 4.46017 15.731 4.35493 15.4166C3.97909 14.2709 3.78365 13.0803 3.78365 11.8823C3.78365 11.0661 3.88137 9.80062 4.35493 8.36274C4.49024 7.97337 4.91119 7.75622 5.30959 7.88352C5.70047 8.0183 5.91846 8.43762 5.78316 8.83448C5.37724 10.0775 5.28704 11.1783 5.28704 11.8822C5.28704 12.923 5.45241 13.9488 5.78316 14.9446V14.9448Z\" fill=\"#FFA28B\"/>\n</svg>`;\n  var DIGIT_TAPE = Array.from({ length: 10 }, (_, i) => `<span>${i}</span>`).join(\"\");\n  function buildDigit(digit) {\n    return `\n    <span class=\"${ID}__digit\" aria-hidden=\"true\">\n      <span class=\"${ID}__digit-tape\" style=\"top: ${digitTapeTop(digit)}\">${DIGIT_TAPE}</span>\n    </span>\n  `;\n  }\n  function buildCounter(count) {\n    return String(count).split(\"\").map(buildDigit).join(\"\");\n  }\n  function updateCounter(box, count) {\n    const counter = box.querySelector(`.${ID}__counter`);\n    const countStr = String(count);\n    if (!counter || counter.children.length !== countStr.length) {\n      if (counter)\n        counter.innerHTML = buildCounter(countStr);\n    } else {\n      countStr.split(\"\").forEach((digit, i) => {\n        const tape = counter.children[i].querySelector(`.${ID}__digit-tape`);\n        if (tape)\n          tape.style.top = digitTapeTop(digit);\n      });\n    }\n    box.dataset.currentCount = countStr;\n    box.setAttribute(\"aria-label\", `${countStr} units sold in the last 7 days`);\n  }\n  function renderBox(box) {\n    if (box.hasAttribute(`data-${ID}-mounted`))\n      return;\n    const valEl = box.querySelector(\".els-cup-w-val\");\n    if (!valEl)\n      return;\n    const count = Number((valEl.textContent || \"\").replace(/[^0-9]/g, \"\"));\n    if (!Number.isFinite(count))\n      return;\n    box.setAttribute(`data-${ID}-mounted`, \"true\");\n    box.classList.add(`${ID}__box`);\n    box.innerHTML = `\n    ${UNITS_SOLD_ICON}\n    <span class=\"${ID}__group\">\n      <span class=\"${ID}__counter\">${buildCounter(count)}</span>\n      <span class=\"${ID}__suffix\">units sold in the last 7 days</span>\n    </span>\n  `;\n    updateCounter(box, count);\n    window.setInterval(() => {\n      const nextCount = Number(box.dataset.currentCount || count) + 1;\n      updateCounter(box, nextCount);\n    }, COUNT_UP_INTERVAL_MS);\n  }\n  poll(\n    () => q(\"body\") && isAllowedPath() && q(\".els-cup-box .els-cup-w-val\"),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      qq(\".els-cup-box\").forEach((box) => renderBox(box));\n    }\n  );\n})();\n\n//last updated on: 3:12:51 PM\n//# sourceURL=ABtest/sb-007dm_v4.js","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"cf638d8e-5cc2-4ad5-96bf-3e30bebefc7f","experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f","name":"Control","percentage":20,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"e85fe64d-fe8b-4c04-9926-8209c7cad5b0","experienceId":"98592c65-8a99-4160-8f46-e99d531bd00f","name":"variant 2-1","percentage":20,"isControl":false,"order":3,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"cb837f4f-2ed3-405b-a62e-a306cab20d41","variationId":"e85fe64d-fe8b-4c04-9926-8209c7cad5b0","customCss":"/* src/mellow/sb-007dm/vq/scss/index.scss */\n.sb-007dm_vq #buy-box .r-z8v082,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht {\n  margin-bottom: 14px;\n  display: flex !important;\n  align-items: start !important;\n  gap: 11px;\n}\n.sb-007dm_vq #buy-box .r-z8v082 p,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol p,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht p {\n  margin: 0 !important;\n  padding-top: 3px;\n}\n.sb-007dm_vq #buy-box .r-z8v082 .replo-pdp-inv span,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol .replo-pdp-inv span,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht .replo-pdp-inv span {\n  font-weight: 700;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_vq #buy-box .r-z8v082,\n  .sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol,\n  .sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht {\n    margin-bottom: 16px;\n  }\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n\n  // src/mellow/sb-007dm/vq/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"vq\";\n\n  // src/mellow/sb-007dm/vq/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname);\n  poll(\n    () => q(\"body\") && isAllowedPath(),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      console.log(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      console.log(\"TEST\", q(\"body\"));\n    }\n  );\n})();\n\n//last updated on: 5:25:34 PM\n//# sourceURL=ABtest/sb-007dm_vq.js","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"23fd676f-a364-4465-81cc-f8b8fac3685a","experienceId":"98cf86eb-445e-4723-8922-306cb47660e9","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"455896e7-1654-4266-9997-184af1e1b5a0","experienceId":"98cf86eb-445e-4723-8922-306cb47660e9","name":"New Group 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"09d272d5-0e3d-4f51-b7b5-61c5b5b5fbc9","experienceId":"9f2da8c8-3e91-486a-a292-e430bdbee5fa","name":"Variation 1","percentage":33,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"710894ea-5455-4865-98bb-2a2cff486eb1","variationId":"09d272d5-0e3d-4f51-b7b5-61c5b5b5fbc9","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 1,\n        selector: '.menu-list__list-item [href=\"/collections/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .ms-product-grid',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/collections/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 768;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .purple{\n                    text-align:left;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;                    \n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .bottom{\n                    display:none;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .price-wrapper{\n                  display:none;\n                }\n                    .mobile-drawer-product-carousel .swiper-slide{\n                        visibility:visible !important;\n                    }\n                    .mobile-drawer-product-carousel{\n                        overflow: visible !important;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card{\n                        padding: 0;\n                        background: transparent;\n                        border-radius: 0;                   \n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card .drawer-product-card__price{\n                        display:none;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .swiper-slide{\n                        width:140px !important;\n                    }\n                    .menu-drawer .close-button{\n                        order:0;\n                    }\n                    .mobile-drawer-logo{\n                        order:1;\n                    }\n                    .menu-drawer__navigation{\n                        order:3;\n                    }\n                    .mobile-drawer-product-carousel{\n                        order:2;\n                    }\n                    .mobile-drawer-product-carousel .purple{\n                        display: flex;\n                        flex-direction: row;\n                        justify-content: space-between; \n                        align-items: center;                  \n                    }\n                    #SB003DM-shop-all-link-mob{\n                        border-bottom: 1px solid black;\n                        font-size:14px;\n                        line-height: 16px;\n                    }   \n                    #SB003DM-shop-all-link-mob svg{\n                        display: inline;\n                        margin-left: 2px;\n                        padding-top: 2px;                  \n                    }                 \n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    el.addEventListener(\"mouseenter\", blockThemeHover, true);\n                    el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    el.addEventListener(\"pointerenter\", show, false);\n                    el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n  \n              function waitForMobHeading(attempts = 0) {\n                const maxAttempts = 5000;\n                const delayMs = 100;\n                const mobHeading = document.querySelector('.mobile-drawer-product-carousel .purple');\n                if (mobHeading) {\n                    const linkHtmlMob = `<a id=\"${TEST_CONFIG.id}-shop-all-link-mob\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all<svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_1226)\"><path d=\"M0.000108719 6.86106L11.5557 6.86106M11.5557 6.86106L8.48622 9.74995M11.5557 6.86106L8.48622 3.97217\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_1226\"><rect width=\"13\" height=\"13\" fill=\"white\" transform=\"translate(13) rotate(90)\"/></clipPath></defs></svg></a>`;\n                  mobHeading.insertAdjacentHTML('beforeend', linkHtmlMob);\n                } else if (attempts + 1 < maxAttempts) {\n                  setTimeout(() => waitForMobHeading(attempts + 1), delayMs);\n                }\n              }\n              waitForMobHeading();\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"onWindowLoad","timeout":3000},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"62171133-9657-4d40-8b94-109641a26e3e","experienceId":"9f2da8c8-3e91-486a-a292-e430bdbee5fa","name":"Variation 2","percentage":33,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"cc3db783-a5d5-4087-8653-f8e8bb982cf8","variationId":"62171133-9657-4d40-8b94-109641a26e3e","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 2,\n        selector: '.menu-list__list-item [href=\"/collections/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .ms-product-grid',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/collections/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 768;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .purple{\n                    text-align:left;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .description{\n                  display:none !important;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;                    \n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .bottom{\n                    display:none;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .price-wrapper{\n                  display:none;\n                }\n                    .mobile-drawer-product-carousel .swiper-slide{\n                        visibility:visible !important;\n                    }\n                    .mobile-drawer-product-carousel{\n                        overflow: visible !important;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card{\n                        padding: 0;\n                        background: transparent;\n                        border-radius: 0;                   \n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card .drawer-product-card__price{\n                        display:none;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .swiper-slide{\n                        width:140px !important;\n                    }\n                    .menu-drawer .close-button{\n                        order:0;\n                    }\n                    .mobile-drawer-logo{\n                        order:1;\n                    }\n                    .menu-drawer__navigation{\n                        order:3;\n                    }\n                    .mobile-drawer-product-carousel{\n                        order:2;\n                    }\n                    .mobile-drawer-product-carousel .purple{\n                        display: flex;\n                        flex-direction: row;\n                        justify-content: space-between; \n                        align-items: center;                  \n                    }\n                    #SB003DM-shop-all-link-mob{\n                        border-bottom: 1px solid black;\n                        font-size:14px;\n                        line-height: 16px;\n                    }   \n                    #SB003DM-shop-all-link-mob svg{\n                        display: inline;\n                        margin-left: 2px;\n                        padding-top: 2px;                  \n                    }   \n                    .mobile-drawer-product-carousel .swiper p{\n                      display:none !important;\n                    }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    el.addEventListener(\"mouseenter\", blockThemeHover, true);\n                    el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    el.addEventListener(\"pointerenter\", show, false);\n                    el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"7c6c365c-38e1-49fe-815c-ac6eb43ee42b","experienceId":"9f2da8c8-3e91-486a-a292-e430bdbee5fa","name":"Variation 3","percentage":0,"isControl":false,"order":3,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"ef47882f-0dcb-4a65-a6a7-c825c00553eb","experienceId":"9f2da8c8-3e91-486a-a292-e430bdbee5fa","name":"Control Group","percentage":34,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"bccc3f18-092e-4302-b2c3-82106ab8bed9","experienceId":"a94e12a4-359b-4be8-b6c0-7f20d2de1f1f","name":"No Banner","percentage":100,"isControl":true,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"31939668-d8d7-4b31-ac7c-26e6b821bb93","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1hxjbcj"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771355702509,"imageSearchUrl":null,"source":null},{"id":"59efd508-07e5-4aef-8783-240f70a1a962","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1brw3zk"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771355837194,"imageSearchUrl":null,"source":null},{"id":"712cce59-440d-415c-9017-15666cb547f1","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-7dtt8m"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771355652500,"imageSearchUrl":null,"source":null},{"id":"bd999d8f-b918-4af9-9707-08938d587363","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-f66tf8"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/shop","createdAtTs":1771355983072,"imageSearchUrl":null,"source":null},{"id":"cbfdc352-af93-4c6f-981c-b30323f3c3e2","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-vb27k8"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771355732218,"imageSearchUrl":null,"source":null},{"id":"e101c990-5a7b-47ae-821e-b26f73a6dc41","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1pga9rv"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771355679888,"imageSearchUrl":null,"source":null},{"id":"e56fc55e-0291-4647-891d-2cf4270ccfb6","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-ditz4e"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white","createdAtTs":1771355763914,"imageSearchUrl":null,"source":null},{"id":"fde65617-265f-4865-b5f6-4bee4cab21f6","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-asza7s"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771355782432,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","experienceId":"acd8fb57-07ea-412e-a2ec-c3516a80b21d","name":"+10 Colors","percentage":20,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","experienceId":"acd8fb57-07ea-412e-a2ec-c3516a80b21d","name":"Control Group","percentage":80,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"53479045-6340-4564-9149-9a39fb013a74","experienceId":"b1059607-510a-4189-82dc-ce3085b9313c","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"8460449b-8dae-4cbf-846e-90f98e78f997","experienceId":"b1059607-510a-4189-82dc-ce3085b9313c","name":"Headline Test","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"4435087e-a914-49e1-96de-15b493fd05a2","onsiteEditType":"text","variationId":"8460449b-8dae-4cbf-846e-90f98e78f997","find":"","title":null,"isRegex":false,"replace":"The Fluffiest & Most Viral Comforter On The Market (7 Reasons Why)","querySelectors":[".r-vje3b6 h2"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lstcle-marsh-7-reasons#1ab1b606-b38e-4ebd-abc9-e2e48f69145a","createdAtTs":1779205476446,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"7e4ae78f-4239-4d93-bd96-b13da4d835b2","experienceId":"b1f963a7-1619-4707-a3a9-de2397a4d16a","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"e6dea368-4b7c-4fcf-a8c7-b1eba4118f55","experienceId":"b1f963a7-1619-4707-a3a9-de2397a4d16a","name":"New Group 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"21da8aff-d2ab-4075-8797-135ce5c322ee","experienceId":"c00a93de-675c-4086-9e48-67f21f7c2c70","name":"Variation 1","percentage":33,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"1d2102cc-9ebd-408f-90ff-7871451522e8","variationId":"21da8aff-d2ab-4075-8797-135ce5c322ee","customJs":"(function () {\n\n    /* -------------------------------------------------------------------------\n       CONFIG\n    ------------------------------------------------------------------------- */\n    const CONFIG = {\n        id: 'SB021DM',\n        name: 'Dynamic Free Shipping Bar Below Add to Cart Button',\n        variation: 1,\n        waitForSelector: '.r-1vnmq4y',\n        anchorSelector: '.r-1vnmq4y',\n    };\n\n\n    /* -------------------------------------------------------------------------\n       HELPERS\n    ------------------------------------------------------------------------- */\n    const helpers = {\n        waitForElem(selector, callback, { minElements = 1, timer = 10000, frequency = 25 } = {}) {\n            if (timer <= 0) return;\n            const els = document.querySelectorAll(selector);\n            if (els.length >= minElements) {\n                callback(els);\n            } else {\n                setTimeout(() => helpers.waitForElem(selector, callback, { minElements, timer: timer - frequency, frequency }), frequency);\n            }\n        },\n\n        insertAfter(el, html) {\n            el?.insertAdjacentHTML('afterend', html);\n        },\n\n        insertBefore(el, html) {\n            el?.insertAdjacentHTML('beforebegin', html);\n        },\n\n        isMobile() {\n            return window.innerWidth <= 768;\n        },\n\n        injectCSS(id, css) {\n            if (document.getElementById(id)) return;\n            const style = document.createElement('style');\n            style.id = id;\n            style.setAttribute('data-ab-test', CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       SHIPPING BAR\n    ------------------------------------------------------------------------- */\n    const shippingBar = {\n        id: `${CONFIG.id}-bar`,\n\n        css: `\n            #${CONFIG.id}-bar {\n                padding: 0 0 8px;\n                text-align: center;\n                width:100%;\n            }\n            #${CONFIG.id}-bar .sb-label--unlocked {\n                font-size: 15px;\n                font-weight: 500;\n                color: #1D252D;\n                margin-bottom: 10px;\n                letter-spacing: 0.01em;\n                display: flex;\n                flex-direction: row;\n                align-items: center;\n                justify-content: center;  \n                gap: 10px;\n            }\n            #${CONFIG.id}-bar .sb-track {\n                width: 100%;\n                height: 14px;\n                background: #4D4184FF;\n                border-radius: 99px;\n                display:block;\n                border: 2px solid #b6b8dc;\n            }\n        `,\n\n        render() {\n            return `\n                <div id=\"${this.id}\">\n                    <div class=\"sb-label--unlocked\">\n                      <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.2 6.2L7.5 0L6.8 6.2L4.1 4.1L6.1 6.8L0 7.5L6.2 8.2L4 11L6.8 8.9L7.5 15L8.2 8.9L11 11L8.8 8.2L15 7.5L8.9 6.8L10.9 4.1L8.2 6.2Z\" fill=\"#1D252D\"/></svg>\n                      Free Shipping Unlocked\n                      <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.2 6.2L7.5 0L6.8 6.2L4.1 4.1L6.1 6.8L0 7.5L6.2 8.2L4 11L6.8 8.9L7.5 15L8.2 8.9L11 11L8.8 8.2L15 7.5L8.9 6.8L10.9 4.1L8.2 6.2Z\" fill=\"#1D252D\"/></svg>\n                    </div>\n                    <div class=\"sb-track\"></div>\n                </div>\n            `;\n        },\n\n        inject(anchor) {\n            if (document.getElementById(this.id)) return;\n            helpers.injectCSS(`${CONFIG.id}-styles`, this.css);\n            helpers.insertAfter(anchor, this.render());\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       INIT\n    ------------------------------------------------------------------------- */\n    helpers.waitForElem(CONFIG.waitForSelector, (els) => {\n        try {\n            if (document.getElementById(shippingBar.id)) return;\n            console.log(`${CONFIG.id} \u2014 ${CONFIG.name} \u2014 Variation ${CONFIG.variation}`);\n            shippingBar.inject(els[0]);\n        } catch (e) {\n            console.error(`${CONFIG.id} failed to initialize:`, e);\n        }\n    });\n\n})();","jsInjectionMode":{"type":"onWindowLoad"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"26c848a0-3ce2-46e1-9643-25729b7970e7","experienceId":"c00a93de-675c-4086-9e48-67f21f7c2c70","name":"Control","percentage":34,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"3ca7320f-4627-452a-aaa1-6b99487da2b1","experienceId":"c00a93de-675c-4086-9e48-67f21f7c2c70","name":"Variation 2","percentage":33,"isControl":false,"order":2,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":{"id":"638ede1f-e61d-4749-bfd6-888c83f962ac","variationId":"3ca7320f-4627-452a-aaa1-6b99487da2b1","customJs":"(function () {\n\n    /* -------------------------------------------------------------------------\n       CONFIG\n    ------------------------------------------------------------------------- */\n    const CONFIG = {\n        id: 'SB013DM',\n        name: 'Shipping progress bar',\n        variation: 2,\n        waitForSelector: '.r-1aidpo1',\n        anchorSelector: '.r-1aidpo1',\n        bundleSelector: '.kaching-bundles__bar--selected',\n        bundleContainerSelector: '.kaching-bundles__bars',\n        cartContainerSelector: '[class*=\"upcart-internal-cart-preview__container\"]',\n        freeShippingThreshold: 100,\n    };\n\n\n    /* -------------------------------------------------------------------------\n       HELPERS\n    ------------------------------------------------------------------------- */\n    const helpers = {\n        waitForElem(selector, callback, { minElements = 1, timer = 10000, frequency = 25 } = {}) {\n            if (timer <= 0) return;\n            const els = document.querySelectorAll(selector);\n            if (els.length >= minElements) {\n                callback(els);\n            } else {\n                setTimeout(() => helpers.waitForElem(selector, callback, { minElements, timer: timer - frequency, frequency }), frequency);\n            }\n        },\n\n        insertAfter(el, html) {\n            el?.insertAdjacentHTML('afterend', html);\n        },\n\n        insertBefore(el, html) {\n            el?.insertAdjacentHTML('beforebegin', html);\n        },\n\n        isMobile() {\n            return window.innerWidth <= 768;\n        },\n\n        injectCSS(id, css) {\n            if (document.getElementById(id)) return;\n            const style = document.createElement('style');\n            style.id = id;\n            style.setAttribute('data-ab-test', CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        observeMutations(target, callback, options = { childList: true, subtree: true }) {\n            const observer = new MutationObserver(callback);\n            observer.observe(target, options);\n            return observer;\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       PRICE\n    ------------------------------------------------------------------------- */\n    const price = {\n        fromElement(el) {\n            if (!el) return 0;\n\n            if (el.dataset.price) return parseFloat(el.dataset.price) / 100;\n\n            const priceEl =\n                el.querySelector('[data-price]') ||\n                el.querySelector('[class*=\"price\"]') ||\n                el.querySelector('.money');\n\n            if (priceEl) {\n                if (priceEl.dataset.price) return parseFloat(priceEl.dataset.price) / 100;\n                return parseFloat(priceEl.innerText.replace(/[^0-9.]/g, '')) || 0;\n            }\n\n            return parseFloat(el.innerText.replace(/[^0-9.]/g, '')) || 0;\n        },\n\n        getBundleTotal() {\n            const bundle = document.querySelector(CONFIG.bundleSelector);\n            if (!bundle) return 0;\n\n            const bundlePrice = this.fromElement(bundle);\n\n            const checkbox = bundle.querySelector('.kaching-bundles__upsell__checkbox--selected');\n            const upsellPrice = checkbox\n                ? parseFloat(\n                    checkbox\n                        .closest('.kaching-bundles__upsell')\n                        ?.querySelector('.kaching-bundles__upsell__price')\n                        ?.innerText.replace(/[^0-9.]/g, '')\n                  ) || 0\n                : 0;\n\n            return bundlePrice + upsellPrice;\n        },\n\n        async getCartTotal() {\n            try {\n                const res = await fetch('/cart.js');\n                const cart = await res.json();\n                const cartTotal = (cart.total_price || 0) / 100;\n                return cartTotal + this.getBundleTotal();\n            } catch (e) {\n                console.warn(`${CONFIG.id} \u2014 failed to fetch cart:`, e);\n                return this.getBundleTotal();\n            }\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       SHIPPING BAR\n    ------------------------------------------------------------------------- */\n    const shippingBar = {\n        id: `${CONFIG.id}-bar`,\n        lastTotal: null,\n\n        css: `\n            #${CONFIG.id}-bar {\n                display: block;\n                width: 100%;\n                padding: 12px 0 8px;\n                text-align: center;\n            }\n            #${CONFIG.id}-bar .sb-label {\n                font-size: 13px;\n                color: #333;\n                margin-bottom: 10px;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                gap: 6px;\n            }\n            #${CONFIG.id}-bar .sb-label--unlocked {\n                font-size: 13px;\n                font-weight: 500;\n                color: #333;\n                margin-bottom: 10px;\n                letter-spacing: 0.01em;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                gap: 6px;\n            }\n            #${CONFIG.id}-bar .sb-track-wrap {\n                display: block;\n                position: relative;\n                width: calc(100% - 11px);\n                height: 14px;\n                margin-right: 11px;\n            }\n            #${CONFIG.id}-bar .sb-track {\n                display: block;\n                width: 100%;\n                height: 14px;\n                background: #f5c5b5;\n                border-radius: 99px;\n                overflow: hidden;\n            }\n            #${CONFIG.id}-bar .sb-fill {\n                display: block;\n                height: 100%;\n                background: #e8705a;\n                border-radius: 99px;\n                transition: width 0.4s ease;\n            }\n            #${CONFIG.id}-bar .sb-dot {\n                position: absolute;\n                right: -11px;\n                top: 50%;\n                transform: translateY(-50%);\n                width: 22px;\n                height: 22px;\n                background: #e8705a;\n                border: 3px solid #fff;\n                border-radius: 50%;\n            }\n        `,\n\n        icons: {\n            spark: `<svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.2 6.2L7.5 0L6.8 6.2L4.1 4.1L6.1 6.8L0 7.5L6.2 8.2L4 11L6.8 8.9L7.5 15L8.2 8.9L11 11L8.8 8.2L15 7.5L8.9 6.8L10.9 4.1L8.2 6.2Z\" fill=\"#1D252D\"/></svg>`,\n        },\n\n        render(total) {\n            const { freeShippingThreshold: threshold } = CONFIG;\n            const unlocked = total >= threshold;\n            const remaining = Math.max(threshold - total, 0);\n            const pct = Math.min((total / threshold) * 100, 100);\n\n            const label = unlocked\n                ? `<div class=\"sb-label--unlocked\">${this.icons.spark}&nbsp;&nbsp;Free Shipping Unlocked&nbsp;&nbsp;${this.icons.spark}</div>`\n                : `<div class=\"sb-label\">${this.icons.spark}&nbsp;&nbsp;$${remaining.toFixed(2)} Away From Free Shipping&nbsp;&nbsp;${this.icons.spark}</div>`;\n\n            return `\n                <div id=\"${this.id}\">\n                    ${label}\n                    <div class=\"sb-track-wrap\">\n                        <div class=\"sb-track\">\n                            <div class=\"sb-fill\" style=\"width:${pct}%;\"></div>\n                        </div>\n                        <div class=\"sb-dot\"></div>\n                    </div>\n                </div>\n            `;\n        },\n\n        async update() {\n            const total = await price.getCartTotal();\n            if (total === this.lastTotal) return;\n            this.lastTotal = total;\n\n            const el = document.getElementById(this.id);\n            if (!el) return;\n\n            const { freeShippingThreshold: threshold } = CONFIG;\n            const unlocked = total >= threshold;\n            const remaining = Math.max(threshold - total, 0);\n            const pct = Math.min((total / threshold) * 100, 100);\n\n            const labelEl = el.querySelector('.sb-label, .sb-label--unlocked');\n            if (labelEl) {\n                labelEl.className = unlocked ? 'sb-label--unlocked' : 'sb-label';\n                labelEl.innerHTML = unlocked\n                    ? `${this.icons.spark}&nbsp;&nbsp;Free Shipping Unlocked&nbsp;&nbsp;${this.icons.spark}`\n                    : `${this.icons.spark}&nbsp;&nbsp;$${remaining.toFixed(2)} Away From Free Shipping&nbsp;&nbsp;${this.icons.spark}`;\n            }\n\n            const fillEl = el.querySelector('.sb-fill');\n            if (fillEl) fillEl.style.width = `${pct}%`;\n        },\n\n        async inject(anchor) {\n            if (document.getElementById(this.id)) return;\n            const total = await price.getCartTotal();\n            helpers.injectCSS(`${CONFIG.id}-styles`, this.css);\n            helpers.insertAfter(anchor, this.render(total));\n            this.lastTotal = total;\n            this.watchForChanges();\n        },\n\n        watchForChanges() {\n            const bundleContainer = document.querySelector(CONFIG.bundleContainerSelector);\n            if (bundleContainer) helpers.observeMutations(bundleContainer, () => shippingBar.update());\n\n            const cartContainer = document.querySelector(CONFIG.cartContainerSelector);\n            if (cartContainer) helpers.observeMutations(cartContainer, () => shippingBar.update());\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       INIT\n    ------------------------------------------------------------------------- */\n    helpers.waitForElem(CONFIG.waitForSelector, (els) => {\n        try {\n            if (document.getElementById(shippingBar.id)) return;\n            console.log(`${CONFIG.id} \u2014 ${CONFIG.name} \u2014 Variation ${CONFIG.variation}`);\n            shippingBar.inject(els[0]);\n        } catch (e) {\n            console.error(`${CONFIG.id} failed to initialize:`, e);\n        }\n    });\n\n})();","jsInjectionMode":{"type":"onWindowLoad"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"5c35fddf-e3b1-44f0-8815-357cc018fff2","experienceId":"d228ec25-e1ff-4e68-bbd6-1b0ade53cd17","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"78993f05-406b-4438-8aa6-3f252e942834","experienceId":"d228ec25-e1ff-4e68-bbd6-1b0ade53cd17","name":"New Group 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":"none","priceRoundingAmount":"0.00","onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"5124c4dc-fe91-4e04-a137-8a0d2aff3943","experienceId":"df6662b1-1921-4db0-ad3a-eae9fe60dbd4","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"7ebc8aeb-7797-49ff-9b33-7e849740c0b8","experienceId":"df6662b1-1921-4db0-ad3a-eae9fe60dbd4","name":"New Group 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"8479d2f2-b522-489b-85a9-468b4a99e0d4","experienceId":"e1b63889-6194-45c5-9dd9-cacb5f363673","name":"Control","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"902f8145-bfa3-431d-a176-0dbfe476dff4","variationId":"8479d2f2-b522-489b-85a9-468b4a99e0d4","customCss":"ig-progress-bar{\n  display:none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[{"id":"e4a53a38-aa62-48a8-9b37-0955420dbc7d","groupType":"flatRateWithThreshold","position":0,"rates":[{"id":"ae3eb2fc-4f98-4ca4-9485-1565f6ee2c8f","name":"Standard Shipping","amount":10,"rateCode":null,"rateType":"amount","currency":"USD","condition":null,"description":null},{"id":"7b4c59c4-c11c-47ef-b196-d370d4b7e750","name":"Standard Shipping","amount":99,"rateCode":null,"rateType":"threshold","currency":"USD","condition":null,"description":null}],"variationId":"8479d2f2-b522-489b-85a9-468b4a99e0d4"}],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"97bf71cc-85f1-4868-9596-9288c56fd81e","experienceId":"e1b63889-6194-45c5-9dd9-cacb5f363673","name":"Variation 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"1e9c1744-7e8a-4605-9355-41026f3486fd","variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e","customCss":".upcart-internal-header .ig-progress-bar,\n.upcart-internal-rewards {\n  display:none !important;\n}\n\n.ig-progress-bar.css-yp8u2p,\n.ig-progress-bar.css-1jz0hy8{\n  background:#ffffff !important;\n}\n\n.marquee-3{\n  display:flex !important;\n}\n\n.marquee-4{\n  display:none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[{"id":"0e01d53b-d2fc-4902-b891-797f3e9960ac","groupType":"tieredByPriceOrWeight","position":0,"rates":[{"id":"9038c66a-32f6-47d2-8dfc-23e3fe80f4d5","name":"Standard Shipping","amount":10,"rateCode":null,"rateType":"tier","currency":"USD","condition":{"id":"b8d135a2-d31a-4f9b-b342-ccbb48b2c019","min":0,"max":99.99,"conditionType":"currency","unit":"lb"},"description":null}],"variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e"},{"id":"3a405b9e-a933-485c-911a-d713bad2c88a","groupType":"tieredByPriceOrWeight","position":1,"rates":[{"id":"820c9395-e8b8-413b-8fb2-ea4ce7b0fa1d","name":"Standard Shipping","amount":2,"rateCode":null,"rateType":"tier","currency":"USD","condition":{"id":"f38cbddf-86f0-4559-9dbd-9200ba48a9b8","min":100,"max":119.99,"conditionType":"currency","unit":"lb"},"description":null}],"variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e"},{"id":"8728a1a8-2b29-4a98-aad6-4292af8138a0","groupType":"thresholdOnly","position":2,"rates":[{"id":"c4fe3569-da69-404c-a4f5-69cf76014487","name":"Standard Shipping","amount":120,"rateCode":null,"rateType":"threshold","currency":"USD","condition":null,"description":null}],"variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e"}],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","experienceId":"e5b9a858-4e82-494b-9b7a-4eaf601b0c41","name":"Variation 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"8e65c999-ada5-4c0a-b257-22b9a3db1340","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"39.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 2 pillow bundle","isRegex":false,"replace":"40.98","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778698997112,"imageSearchUrl":null,"source":null},{"id":"d766eee2-947a-478f-b357-a623a0d1b51c","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"60.00","title":"Waterproof & Stain-Resistant Hotel Pillow - buy 3 get 1 free","isRegex":false,"replace":"63.96","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778699095247,"imageSearchUrl":null,"source":null},{"id":"f26ed2df-db84-4516-af80-b72c0f3a4ef6","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"29","title":"Waterproof & Stain-Resistant Hotel Pillow","isRegex":false,"replace":"29.99","querySelectors":["div:nth-of-type(2) > div:nth-of-type(3) .price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/shop","createdAtTs":1779212802934,"imageSearchUrl":null,"source":null},{"id":"f4606f5e-f88f-4d3e-8290-25e8349fc1a7","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"29.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 1 pillow","isRegex":false,"replace":"29.99","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=47481135857917&pb=0","createdAtTs":1778698743243,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","experienceId":"e5b9a858-4e82-494b-9b7a-4eaf601b0c41","name":"Control","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"2fd73912-839d-4b2c-8517-0964c0136edd","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"60.00","title":"Waterproof & Stain-Resistant Hotel Pillow - buy 3 get 1 free","isRegex":false,"replace":"","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778699095247,"imageSearchUrl":null,"source":null},{"id":"4e280814-712a-426a-8716-31e16fe9a741","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"39.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 2 pillow bundle","isRegex":false,"replace":"","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778698997112,"imageSearchUrl":null,"source":null},{"id":"8e3f25f2-376c-427a-b005-36ec70bae7e4","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"29.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 1 pillow","isRegex":false,"replace":"","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=47481135857917&pb=0","createdAtTs":1778698743243,"imageSearchUrl":null,"source":null},{"id":"b4edd423-eb96-442c-b225-0a99b2f2138d","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"29","title":"Waterproof & Stain-Resistant Hotel Pillow","isRegex":false,"replace":"","querySelectors":["div:nth-of-type(2) > div:nth-of-type(3) .price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/shop","createdAtTs":1779212802934,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"6d0eb040-fe0f-46af-b708-0556992a673a","experienceId":"f37dfb4e-0437-4c61-a261-fad466b7b882","name":"Headline/ Subheadline","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[{"id":"079e89a3-fb1a-4f4a-80f5-bb6c9ab8f735","onsiteEditType":"text","variationId":"6d0eb040-fe0f-46af-b708-0556992a673a","find":"","title":null,"isRegex":false,"replace":"SwitchFit\u2122 for adaptability. Chiropractor-designed for ergonomic alignment. Dual-height to match your preference. And a cloud design for unimaginable comfort.","querySelectors":[".r-832nif p"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-cpil-side-sleeper#b73e4c96-ca5b-407c-8675-f4b79b5dfd6e","createdAtTs":1779202275765,"imageSearchUrl":null,"source":null},{"id":"812e4120-3f78-4771-a4d5-9b37cef181d0","onsiteEditType":"text","variationId":"6d0eb040-fe0f-46af-b708-0556992a673a","find":"","title":null,"isRegex":false,"replace":"Side Sleeper Stiffness? CloudAlign Was Made Specifically For You!","querySelectors":["span > h1"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-cpil-side-sleeper#b73e4c96-ca5b-407c-8675-f4b79b5dfd6e","createdAtTs":1779202275765,"imageSearchUrl":null,"source":null}],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"ab932afc-8872-43fd-b6a4-286d93b5e096","experienceId":"f37dfb4e-0437-4c61-a261-fad466b7b882","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"1bb658c8-6586-44fe-ad25-4e28cc425fcc","experienceId":"f451b3cd-df34-4cdb-befb-a99795b59911","name":"Variation 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"e6148667-2eee-41e4-9cf3-b3a24a7fae92","variationId":"1bb658c8-6586-44fe-ad25-4e28cc425fcc","customCss":".r-i25nrd > :not(#\\20):not(#\\20).r-1ulvc8v[data-variation-sb-016-dm=\"variation-sb016dm\"],\n.r-i25nrd > :not(#\\20):not(#\\20):not(#\\20).r-1ulvc8v[data-variation-sb-016-dm=\"variation-sb016dm\"]{\n    display:flex !important;\n}\n\n[data-control-sb-016-dm=\"control-sb016dm\"]{\n  display:none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"62ea8117-d592-41cf-8008-0ff3f3ddb48b","experienceId":"f451b3cd-df34-4cdb-befb-a99795b59911","name":"Control","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"0e161660-1870-4d18-8bdf-2cb05c07378d","experienceId":"f651d496-118d-449d-a0e0-39563e2941ec","name":"Control Group","percentage":50,"isControl":true,"order":0,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":null,"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]},{"id":"c664f224-7065-4bed-9534-2ed9a7f69db3","experienceId":"f651d496-118d-449d-a0e0-39563e2941ec","name":"Variant 1","percentage":50,"isControl":false,"order":1,"priceChange":null,"priceChangeUnit":"percent","priceRoundingType":null,"priceRoundingAmount":null,"onsiteEdits":[],"onsiteInjections":{"id":"eeea8800-4927-41e1-8b5d-e8e5df5b475e","variationId":"c664f224-7065-4bed-9534-2ed9a7f69db3","customCss":"@charset \"UTF-8\";\n\n/* src/mellow/SB-004DM/v1/scss/index.scss */\n.SB-004DM_v1 .additional-product {\n  display: flex;\n  padding-left: 22px;\n  padding-top: 11px;\n  align-items: center;\n  gap: 10px;\n  border-radius: 6px;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  background: #fff;\n  margin-bottom: 16px;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product {\n    padding-left: 12px;\n    padding-top: 6.5px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info {\n  display: flex;\n  align-items: center;\n  gap: 14px;\n  width: calc(72% - 14px);\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info {\n    gap: 12px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .product-title {\n  color: #4d4184;\n  font-size: 18px;\n  font-weight: 400;\n  line-height: 24px;\n  letter-spacing: 0.16px;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info .product-title {\n    font-size: 16px;\n    margin-bottom: 0;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .product-price {\n  color: #4d4184;\n  font-family: Melbourne;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 14px;\n  letter-spacing: 0.16px;\n  display: flex;\n  align-items: center;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info .product-price {\n    font-size: 12px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .product-price .product-price-original {\n  color: #4d4184;\n  font-family: Melbourne;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 14px;\n  letter-spacing: 0.16px;\n  text-decoration-line: line-through;\n  margin-right: 10px;\n  margin-left: 4px;\n}\n.SB-004DM_v1 .additional-product .product-info .product-price .product-price-savings {\n  display: flex;\n  padding: 2px 6px 3px 6px;\n  justify-content: center;\n  align-items: center;\n  gap: 10px;\n  border-radius: 4px;\n  background: #4d4184;\n  color: #fff;\n}\n.SB-004DM_v1 .additional-product .product-info .product-description {\n  color: #1c1c25;\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 18px;\n  letter-spacing: 0.16px;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info .product-description {\n    font-size: 10px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .view-details {\n  color: #4d4184;\n  font-family: Melbourne;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 24px;\n  letter-spacing: 0.16px;\n  text-decoration-line: underline;\n  text-decoration-style: solid;\n  -webkit-text-decoration-skip-ink: none;\n  text-decoration-skip-ink: none;\n  text-decoration-thickness: auto;\n  text-underline-offset: auto;\n  text-underline-position: from-font;\n  cursor: pointer;\n}\n.SB-004DM_v1 .additional-product .product-img {\n  width: 28%;\n}\n.SB-004DM_v1 .additional-product .product-img .product-img-el {\n  display: block;\n  width: 100%;\n  max-width: 148px;\n  height: auto;\n  border-radius: 4px;\n  -o-object-fit: cover;\n  object-fit: cover;\n}\n.SB-004DM_v1 .additional-product input[type=checkbox] {\n  -moz-appearance: none;\n  appearance: none;\n  -webkit-appearance: none;\n  position: relative;\n  border: 2px solid #48508f;\n  width: 19px;\n  height: 19px;\n  border-radius: 0px;\n  background-color: transparent;\n  box-sizing: border-box;\n}\n.SB-004DM_v1 .additional-product input[type=checkbox]:checked {\n  background-color: #fff;\n}\n.SB-004DM_v1 .additional-product input[type=checkbox]:checked::after {\n  content: \"\";\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%) scale(1.06);\n  width: 18px;\n  height: 18px;\n  background: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 10 8' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.77497 0.21984C9.91557 0.360486 9.99456 0.551217 9.99456 0.75009C9.99456 0.948963 9.91557 1.13969 9.77497 1.28034L4.15347 6.90184C4.07918 6.97615 3.99098 7.03509 3.89391 7.0753C3.79683 7.11552 3.69279 7.13622 3.58772 7.13622C3.48264 7.13622 3.3786 7.11552 3.28153 7.0753C3.18445 7.03509 3.09626 6.97615 3.02197 6.90184L0.228966 4.10934C0.157334 4.04015 0.100197 3.9574 0.0608901 3.86589C0.0215834 3.77439 0.00089368 3.67598 2.83175e-05 3.57639C-0.000837045 3.47681 0.0181393 3.37805 0.05585 3.28587C0.0935606 3.1937 0.14925 3.10996 0.21967 3.03954C0.29009 2.96912 0.373828 2.91343 0.466001 2.87572C0.558173 2.83801 0.656933 2.81904 0.756517 2.8199C0.856102 2.82077 0.954517 2.84146 1.04602 2.88076C1.13752 2.92007 1.22028 2.97721 1.28947 3.04884L3.58747 5.34684L8.71397 0.21984C8.78362 0.150145 8.86632 0.0948574 8.95734 0.0571363C9.04837 0.0194152 9.14594 0 9.24447 0C9.343 0 9.44057 0.0194152 9.53159 0.0571363C9.62262 0.0948574 9.70532 0.150145 9.77497 0.21984Z' fill='%232A2F5C'/%3E%3C/svg%3E\") center/contain no-repeat;\n  filter: drop-shadow(0.4px 0 0 #48508f) drop-shadow(-0.4px 0 0 #48508f) drop-shadow(0 0.4px 0 #48508f) drop-shadow(0 -0.4px 0 #48508f);\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 100000;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n  box-sizing: border-box;\n}\n.SB-004DM_v1 .view-details-modal[hidden] {\n  display: none !important;\n}\n.SB-004DM_v1 .view-details-modal__backdrop {\n  position: absolute;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.45);\n}\n.SB-004DM_v1 .view-details-modal__dialog {\n  position: relative;\n  z-index: 1;\n  width: 100%;\n  max-width: 783px;\n  max-height: min(90vh, 880px);\n  overflow: auto;\n  border-radius: 8px;\n  background: #fff;\n  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n.SB-004DM_v1 .view-details-modal__dialog::-webkit-scrollbar {\n  display: none;\n}\n.SB-004DM_v1 .view-details-modal__close {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  z-index: 2;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 44px;\n  height: 44px;\n  margin: 0;\n  padding: 0;\n  border: none;\n  border-radius: 4px;\n  background: transparent;\n  color: #4d4184;\n  cursor: pointer;\n  transition: background 0.15s ease, color 0.15s ease;\n}\n.SB-004DM_v1 .view-details-modal__close:hover {\n  background: rgba(77, 65, 132, 0.08);\n  color: #3d356f;\n}\n.SB-004DM_v1 .view-details-modal__close:focus-visible {\n  outline: 2px solid rgba(77, 65, 132, 0.45);\n  outline-offset: 2px;\n}\n.SB-004DM_v1 .view-details-modal__close-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 0;\n}\n.SB-004DM_v1 .view-details-modal__inner {\n  padding: 28px 24px 24px;\n}\n.SB-004DM_v1 .view-details-modal__error {\n  margin: 0;\n  padding: 32px 16px;\n  text-align: center;\n  font-family: Inter, sans-serif;\n  font-size: 15px;\n  color: #b42318;\n}\n.SB-004DM_v1 .view-details-modal__layout {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__layout {\n    flex-direction: row;\n    align-items: flex-start;\n    gap: 32px;\n  }\n}\n.SB-004DM_v1 .view-details-modal__media {\n  flex: 1 1 auto;\n  min-width: 0;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__media {\n    flex: 0 0 44%;\n    max-width: 44%;\n  }\n}\n.SB-004DM_v1 .view-details-modal__swiper-root {\n  width: 100%;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main {\n  position: relative;\n  border-radius: 6px;\n  overflow: hidden;\n  background: #f7f7f9;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .view-details-modal__slide-img {\n  display: block;\n  width: 100%;\n  height: auto;\n  vertical-align: middle;\n  -o-object-fit: cover;\n  object-fit: cover;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .view-details-modal__slide-placeholder {\n  min-height: 200px;\n  background: #ececf0;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev,\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next {\n  width: 36px;\n  height: 36px;\n  margin-top: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  color: #4d4184;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev::after,\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next::after {\n  font-size: 16px;\n  font-weight: 700;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev.swiper-button-disabled,\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next.swiper-button-disabled {\n  opacity: 0.25;\n  pointer-events: none;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev {\n  left: 6px;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next {\n  right: 6px;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs {\n  margin-top: 10px;\n  padding: 0 2px;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs .swiper-slide {\n  width: 56px;\n  height: 56px;\n  box-sizing: border-box;\n  opacity: 0.55;\n  cursor: pointer;\n  border: 2px solid transparent;\n  border-radius: 4px;\n  overflow: hidden;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs .swiper-slide img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  -o-object-fit: cover;\n  object-fit: cover;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs .swiper-slide.swiper-slide-thumb-active {\n  opacity: 1;\n  border-color: #4d4184;\n}\n.SB-004DM_v1 .view-details-modal__copy {\n  flex: 1 1 auto;\n  min-width: 0;\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal__loox-rating {\n  margin: 0 48px 8px 0;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__loox-rating {\n    margin-right: 44px;\n  }\n}\n.SB-004DM_v1 .view-details-modal__loox-rating .loox-rating-content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 2px 4px;\n}\n.SB-004DM_v1 .view-details-modal__loox-rating .view-details-modal__star {\n  display: block;\n  width: 11px;\n  height: 12px;\n  flex-shrink: 0;\n}\n.SB-004DM_v1 .view-details-modal__loox-rating .loox-rating-label {\n  font-family: Inter, sans-serif;\n  font-size: 13px;\n  line-height: 1.2;\n  color: #1c1c25;\n}\n.SB-004DM_v1 .view-details-modal__title {\n  margin: 0 48px 12px 0;\n  color: #4d4184;\n  font-family: inherit;\n  font-size: 22px;\n  font-weight: 400;\n  line-height: 1.25;\n  letter-spacing: 0.02em;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__title {\n    font-size: 24px;\n    margin-right: 44px;\n  }\n}\n.SB-004DM_v1 .view-details-modal__price-row {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 8px 10px;\n  margin-bottom: 16px;\n}\n.SB-004DM_v1 .view-details-modal__price-sale {\n  color: #4d4184;\n  font-family: Melbourne, serif;\n  font-size: 20px;\n  font-weight: 400;\n  line-height: 1.2;\n}\n.SB-004DM_v1 .view-details-modal__price-compare {\n  color: #4d4184;\n  font-family: Melbourne, serif;\n  font-size: 15px;\n  text-decoration: line-through;\n  opacity: 0.85;\n}\n.SB-004DM_v1 .view-details-modal__price-save {\n  display: inline-flex;\n  padding: 2px 8px 3px;\n  border-radius: 4px;\n  background: #4d4184;\n  color: #fff;\n  font-family: Melbourne, serif;\n  font-size: 12px;\n  line-height: 1.2;\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal__features {\n  margin: 0 0 18px;\n}\n.SB-004DM_v1 .view-details-modal__features-surface {\n  max-height: min(42vh, 340px);\n  overflow-y: auto;\n  padding: 14px 16px;\n  border-radius: 8px;\n  color: #1c1c25;\n  font-family: Inter, sans-serif;\n  font-size: 13px;\n  line-height: 1.45;\n  letter-spacing: 0.01em;\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface::-webkit-scrollbar {\n  display: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface :where(.ms-product-features) {\n  margin: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface {\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  margin: 0;\n  padding: 8px 0;\n  font-size: 13px;\n  line-height: 1.42;\n  color: #1c1c25;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature:first-child {\n  padding-top: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature:last-child {\n  padding-bottom: 0;\n  border-bottom: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature img,\n.SB-004DM_v1 .view-details-modal__features-surface .feature svg {\n  flex-shrink: 0;\n  width: 18px;\n  height: 18px;\n  margin-top: 1px;\n  -o-object-fit: contain;\n  object-fit: contain;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature p {\n  margin: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface p {\n  margin: 0 0 10px;\n}\n.SB-004DM_v1 .view-details-modal__features-surface p:last-child {\n  margin-bottom: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface li {\n  position: relative;\n  margin: 0 0 8px;\n  padding-left: 18px;\n  line-height: 1.42;\n}\n.SB-004DM_v1 .view-details-modal__features-surface li:last-child {\n  margin-bottom: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface li::before {\n  content: \"\";\n  position: absolute;\n  left: 0;\n  top: 0.35em;\n  width: 6px;\n  height: 6px;\n  border-radius: 50%;\n  background: #4d4184;\n}\n.SB-004DM_v1 .view-details-modal__features-surface strong,\n.SB-004DM_v1 .view-details-modal__features-surface b {\n  font-weight: 700;\n  color: #1c1c25;\n}\n.SB-004DM_v1 .view-details-modal__features-surface a {\n  color: #4d4184;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal__purchase {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  width: 100%;\n  margin-top: 4px;\n}\n.SB-004DM_v1 .view-details-modal__option {\n  margin: 0;\n  width: 100%;\n  max-width: 100%;\n}\n.SB-004DM_v1 .view-details-modal__option-label {\n  color: #1c1c25;\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 18px;\n  letter-spacing: 0.16px;\n}\n.SB-004DM_v1 .size-guide span {\n  font-weight: 700;\n}\n.SB-004DM_v1 .size-guide {\n  color: #4d4184;\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 20px;\n  letter-spacing: 0.16px;\n}\n.SB-004DM_v1 .view-details-modal__select {\n  display: block;\n  width: -moz-fit-content;\n  width: fit-content;\n  max-width: 100%;\n  box-sizing: border-box;\n  min-height: 36px;\n  margin: 0;\n  padding: 4px 52px 4px 14px;\n  border: 1px solid rgba(28, 28, 37, 0.18);\n  border-radius: 4px;\n  background-color: #fff;\n  color: #1c1c25;\n  font-family: Inter, sans-serif;\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.2;\n  letter-spacing: 0.01em;\n  cursor: pointer;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  box-shadow: none;\n  background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 6L15 6L10 13L5 6Z' fill='%234D4184'/%3E%3C/svg%3E\");\n  background-repeat: no-repeat;\n  background-position: right 12px center;\n  background-size: 20px 20px;\n  transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n.SB-004DM_v1 .view-details-modal__select:hover {\n  border-color: rgba(77, 65, 132, 0.5);\n}\n.SB-004DM_v1 .view-details-modal__select:focus {\n  outline: none;\n  border-color: #4d4184;\n  box-shadow: 0 0 0 2px rgba(77, 65, 132, 0.2);\n}\n.SB-004DM_v1 .view-details-modal__cta {\n  margin: 0;\n  padding: 0;\n  border: none;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  min-height: 48px;\n  padding: 14px 20px;\n  border: none;\n  border-radius: 4px;\n  background: #4d4184;\n  color: #fff;\n  font-family: Inter, sans-serif;\n  font-size: 14px;\n  font-weight: 600;\n  letter-spacing: 0.02em;\n  line-height: 1.2;\n  cursor: pointer;\n  transition: background 0.15s ease, opacity 0.15s ease;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart:hover:not(:disabled) {\n  background: #3d356f;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart:disabled {\n  opacity: 0.55;\n  cursor: not-allowed;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart.is-loading {\n  pointer-events: none;\n  opacity: 0.75;\n}\n.SB-004DM_v1 .view-details-modal__atc-msg {\n  min-height: 1.25em;\n  margin: 10px 0 0;\n  font-family: Inter, sans-serif;\n  font-size: 13px;\n  color: #1a7f37;\n}\n.SB-004DM_v1 .view-details-modal__atc-msg.is-error {\n  color: #b42318;\n}\n.SB-004DM_v1 .view-details-modal__pdp-link {\n  display: inline-block;\n  margin-bottom: 16px;\n  color: #4d4184;\n  font-family: Melbourne, serif;\n  font-size: 13px;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n.SB-004DM_v1 .view-details-modal__pdp-link:hover {\n  opacity: 0.85;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .view-details-modal {\n    align-items: flex-end;\n    padding: 0;\n  }\n  .SB-004DM_v1 .view-details-modal__dialog {\n    max-height: 92vh;\n    border-radius: 12px 12px 0 0;\n    max-width: 359px;\n    top: -25px;\n  }\n  .SB-004DM_v1 .view-details-modal__inner {\n    padding: 24px 18px 20px;\n  }\n  .SB-004DM_v1 .view-details-modal__loox-rating {\n    margin-right: 48px;\n  }\n  .SB-004DM_v1 .view-details-modal__title {\n    font-size: 20px;\n    margin-right: 48px;\n  }\n}\nbody.SB-004DM_v1.view-details-modal-open {\n  overflow: hidden;\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function insert(target, position, element, exists) {\n    if (!exists) {\n      typeof element === \"string\" ? target.insertAdjacentHTML(position, element) : target.insertAdjacentElement(position, element);\n    }\n  }\n\n  // src/mellow/SB-004DM/v1/info.js\n  var ID = \"SB-004DM\";\n  var VAR = \"v1\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/SB-004DM/v1/productGallery.js\n  var SWIPER_CDN_CSS = \"https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.css\";\n  var SWIPER_CDN_JS = \"https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.js\";\n  var SWIPER_LINK_ID = `${ID}_swiper-bundle-css`;\n  var SWIPER_SCRIPT_ID = `${ID}_swiper-bundle-js`;\n  var PRODUCT_HANDLE = \"cloud-alignment-pillow\";\n  var VIEW_DETAILS_MODAL_STAR_SVG = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"12\" viewBox=\"0 0 11 12\" fill=\"none\" class=\"view-details-modal__star\" aria-hidden=\"true\"><path d=\"M5.42072 8.96718L3.08634 10.3734C2.98322 10.439 2.8754 10.4672 2.7629 10.4578C2.6504 10.4484 2.55197 10.4109 2.46759 10.3453C2.38322 10.2797 2.31759 10.1977 2.27072 10.0995C2.22384 10.0012 2.21447 9.89099 2.24259 9.76874L2.86134 7.11093L0.794155 5.32499C0.700405 5.24061 0.641905 5.14443 0.618655 5.03643C0.595405 4.92843 0.602342 4.82305 0.639467 4.7203C0.676592 4.61755 0.732842 4.53318 0.808217 4.46718C0.883592 4.40118 0.986717 4.35899 1.11759 4.34061L3.84572 4.10155L4.9004 1.59843C4.94728 1.48593 5.02003 1.40155 5.11865 1.3453C5.21728 1.28905 5.31797 1.26093 5.42072 1.26093C5.52347 1.26093 5.62415 1.28905 5.72278 1.3453C5.8214 1.40155 5.89415 1.48593 5.94103 1.59843L6.99572 4.10155L9.72384 4.34061C9.85509 4.35936 9.95822 4.40155 10.0332 4.46718C10.1082 4.5328 10.1645 4.61718 10.202 4.7203C10.2395 4.82343 10.2466 4.92899 10.2233 5.03699C10.2001 5.14499 10.1414 5.24099 10.0473 5.32499L7.98009 7.11093L8.59884 9.76874C8.62697 9.89061 8.61759 10.0009 8.57072 10.0995C8.52384 10.1981 8.45822 10.2801 8.37384 10.3453C8.28947 10.4106 8.19103 10.448 8.07853 10.4578C7.96603 10.4675 7.85822 10.4394 7.75509 10.3734L5.42072 8.96718Z\" fill=\"#FFAD0C\"/></svg>`;\n  var VIEW_DETAILS_MODAL_LOOX_RATING = `\n<div class=\"view-details-modal__loox-rating\">\n  <div class=\"loox-rating-content\" role=\"img\" aria-label=\"5 out of 5 stars, 25,007 reviews\">\n    ${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}\n    <span class=\"loox-rating-label\" aria-hidden=\"true\">&nbsp;(25,007)</span>\n  </div>\n</div>`;\n  var swiperCdnPromise = null;\n  var productJsonCache = null;\n  var modalProductRef = null;\n  var modalMainSwiper = null;\n  var modalThumbsSwiper = null;\n  function getModalProduct() {\n    return modalProductRef;\n  }\n  function setModalProduct(product) {\n    modalProductRef = product;\n  }\n  function loadSwiperFromCdn() {\n    if (typeof window.Swiper === \"function\")\n      return Promise.resolve();\n    if (!swiperCdnPromise) {\n      swiperCdnPromise = new Promise((resolve, reject) => {\n        if (!document.getElementById(SWIPER_LINK_ID)) {\n          const link = document.createElement(\"link\");\n          link.id = SWIPER_LINK_ID;\n          link.rel = \"stylesheet\";\n          link.href = SWIPER_CDN_CSS;\n          document.head.appendChild(link);\n        }\n        if (typeof window.Swiper === \"function\") {\n          resolve();\n          return;\n        }\n        let script = document.getElementById(SWIPER_SCRIPT_ID);\n        if (!script) {\n          script = document.createElement(\"script\");\n          script.id = SWIPER_SCRIPT_ID;\n          script.src = SWIPER_CDN_JS;\n          script.async = true;\n          script.onload = () => resolve();\n          script.onerror = () => reject(new Error(\"Swiper CDN script failed to load\"));\n          document.head.appendChild(script);\n          if (typeof window.Swiper === \"function\")\n            resolve();\n        } else if (typeof window.Swiper === \"function\") {\n          resolve();\n        } else {\n          script.addEventListener(\"load\", () => resolve(), { once: true });\n          script.addEventListener(\"error\", () => reject(new Error(\"Swiper CDN script failed\")), { once: true });\n        }\n      }).then(() => {\n        if (typeof window.Swiper !== \"function\") {\n          throw new Error(\"Swiper global not available after CDN load\");\n        }\n      });\n    }\n    return swiperCdnPromise;\n  }\n  function absoluteUrl(url) {\n    if (!url)\n      return \"\";\n    const u = String(url).trim();\n    if (u.startsWith(\"//\"))\n      return `https:${u}`;\n    return u;\n  }\n  function formatMoney(cents) {\n    return new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: \"USD\" }).format(Number(cents) / 100);\n  }\n  function escapeHtml(s) {\n    return String(s).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n  }\n  async function fetchProductJson() {\n    if (productJsonCache)\n      return productJsonCache;\n    const res = await fetch(`/products/${PRODUCT_HANDLE}.js`, { credentials: \"same-origin\" });\n    if (!res.ok)\n      throw new Error(`Product ${PRODUCT_HANDLE} fetch failed`);\n    productJsonCache = await res.json();\n    return productJsonCache;\n  }\n  function destroyModalSwipers() {\n    if (modalMainSwiper) {\n      modalMainSwiper.destroy(true, true);\n      modalMainSwiper = null;\n    }\n    if (modalThumbsSwiper) {\n      modalThumbsSwiper.destroy(true, true);\n      modalThumbsSwiper = null;\n    }\n  }\n  async function initModalSwipers(modalRoot) {\n    destroyModalSwipers();\n    const mainEl = modalRoot.querySelector(\".view-details-modal__swiper-main\");\n    const thumbsEl = modalRoot.querySelector(\".view-details-modal__swiper-thumbs\");\n    if (!mainEl)\n      return;\n    try {\n      await loadSwiperFromCdn();\n    } catch (err) {\n      expLog(\"SB-004DM Swiper CDN\", err);\n      return;\n    }\n    const SwiperCtor = window.Swiper;\n    const images = (modalProductRef?.images || []).map(absoluteUrl).filter(Boolean);\n    const hasThumbs = thumbsEl && images.length > 1;\n    if (hasThumbs) {\n      modalThumbsSwiper = new SwiperCtor(thumbsEl, {\n        spaceBetween: 8,\n        slidesPerView: \"auto\",\n        freeMode: true,\n        watchSlidesProgress: true\n      });\n    }\n    const mainOpts = {\n      watchOverflow: true,\n      spaceBetween: 0,\n      navigation: {\n        prevEl: mainEl.querySelector(\".view-details-modal__nav-prev\"),\n        nextEl: mainEl.querySelector(\".view-details-modal__nav-next\")\n      }\n    };\n    if (modalThumbsSwiper) {\n      mainOpts.thumbs = { swiper: modalThumbsSwiper };\n    }\n    modalMainSwiper = new SwiperCtor(mainEl, mainOpts);\n  }\n  function injectMsProductFeatures(modalRoot) {\n    const host = modalRoot.querySelector(\".view-details-modal__features\");\n    if (!host)\n      return;\n    host.innerHTML = \"\";\n    const source = document.querySelector(\".ms-product-features\");\n    if (!source)\n      return;\n    const clone = source.cloneNode(true);\n    const surface = document.createElement(\"div\");\n    surface.className = \"view-details-modal__features-surface\";\n    surface.appendChild(clone);\n    host.appendChild(surface);\n  }\n  function buildModalShell() {\n    return `\n<div class=\"view-details-modal\" id=\"view-details-modal-root\" hidden data-open=\"false\" aria-hidden=\"true\">\n  <div class=\"view-details-modal__backdrop\" tabindex=\"-1\"></div>\n  <div class=\"view-details-modal__dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"view-details-modal-title\">\n    <button type=\"button\" class=\"view-details-modal__close\" aria-label=\"Close details\">\n      <span class=\"view-details-modal__close-icon\" aria-hidden=\"true\">\n        <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n          <path d=\"M6 6l12 12M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n        </svg>\n      </span>\n    </button>\n    <div class=\"view-details-modal__inner\"></div>\n  </div>\n</div>`;\n  }\n  function renderModalInner(product, selectedIndex) {\n    const images = (product.images || []).map(absoluteUrl).filter(Boolean);\n    const variants = product.variants || [];\n    const v = variants[selectedIndex] || variants[0];\n    if (!v)\n      return '<p class=\"view-details-modal__error\">Product unavailable.</p>';\n    const option = product.options && product.options[0] || { name: \"Size\", values: [] };\n    const compare = v.compare_at_price && v.compare_at_price > v.price ? formatMoney(v.compare_at_price) : \"\";\n    const sale = formatMoney(v.price);\n    const savingsPct = v.compare_at_price && v.compare_at_price > v.price ? Math.round((1 - v.price / v.compare_at_price) * 100) : null;\n    const slides = images.length ? images.map((src) => `\n    <div class=\"swiper-slide\">\n      <img class=\"view-details-modal__slide-img\" src=\"${escapeHtml(src)}\" alt=\"${escapeHtml(product.title || \"\")}\" width=\"800\" height=\"800\" loading=\"lazy\">\n    </div>`).join(\"\") : '<div class=\"swiper-slide\"><div class=\"view-details-modal__slide-placeholder\"></div></div>';\n    const thumbSlides = images.length > 1 ? images.map((src) => `\n    <div class=\"swiper-slide\">\n      <img src=\"${escapeHtml(src)}\" alt=\"\" width=\"64\" height=\"64\" loading=\"lazy\">\n    </div>`).join(\"\") : \"\";\n    const selectId = \"view-details-modal-size-select\";\n    const optionsHtml = variants.map((variant, i) => {\n      const label = variant.public_title || variant.title || \"\";\n      const selected = i === selectedIndex ? \" selected\" : \"\";\n      const unavailable = variant.available === false ? \" disabled\" : \"\";\n      return `<option value=\"${i}\" data-variant-id=\"${variant.id}\"${selected}${unavailable}>${escapeHtml(label)}</option>`;\n    }).join(\"\");\n    const available = v.available !== false;\n    const atcLabel = available ? \"Add to cart\" : \"Out of stock\";\n    return `\n    <div class=\"view-details-modal__layout\">\n      <div class=\"view-details-modal__media\">\n        <div class=\"view-details-modal__swiper-root\">\n          <div class=\"swiper view-details-modal__swiper-main\">\n            <div class=\"swiper-wrapper\">\n              ${slides}\n            </div>\n            <div class=\"swiper-button-prev view-details-modal__nav-prev\" aria-label=\"Previous image\"></div>\n            <div class=\"swiper-button-next view-details-modal__nav-next\" aria-label=\"Next image\"></div>\n          </div>\n          ${thumbSlides ? `\n          <div class=\"swiper view-details-modal__swiper-thumbs\">\n            <div class=\"swiper-wrapper\">\n              ${thumbSlides}\n            </div>\n          </div>` : \"\"}\n        </div>\n      </div>\n      <div class=\"view-details-modal__copy\">\n        ${VIEW_DETAILS_MODAL_LOOX_RATING}\n        <h2 id=\"view-details-modal-title\" class=\"view-details-modal__title\">${escapeHtml(product.title || \"\")}</h2>\n        <div class=\"view-details-modal__price-row\">\n          <span class=\"view-details-modal__price-sale\">${sale}</span>\n          ${compare ? `<span class=\"view-details-modal__price-compare\">${compare}</span>` : \"\"}\n          ${savingsPct != null ? `<span class=\"view-details-modal__price-save\">Save ${savingsPct}%</span>` : \"\"}\n        </div>\n        <div class=\"view-details-modal_description\">For deep, supported sleep in any position. Whether you're a side, back, or stomach sleeper, the 3-zone contour design delivers targeted neck lift, pressure relief, and full-body alignment.</div>\n        <div class=\"view-details-modal__features\" aria-label=\"Product features\"></div>\n        <div class=\"view-details-modal__purchase\">\n          <div class=\"view-details-modal__option\">\n            <p class=\"size-guide\">\n                <span>Select Size</span>\n            <br/>\n            Under 5\u20197 Tall = Regular\n            <br />\n            Above 5\u20197 Tall = High</p>\n            \n            <label class=\"view-details-modal__option-label\" for=\"${selectId}\">Select Size</label>\n            <select id=\"${selectId}\" class=\"view-details-modal__select\" data-variant-select>\n              ${optionsHtml}\n            </select>\n          </div>\n          <div class=\"view-details-modal__cta\">\n            <button type=\"button\" class=\"view-details-modal__add-to-cart\"\n              data-variant-id=\"${v.id}\"\n              ${available ? \"\" : \"disabled\"}>\n              ${atcLabel}\n            </button>\n            <p class=\"view-details-modal__atc-msg\" aria-live=\"polite\"></p>\n          </div>\n        </div>\n      </div>\n    </div>`;\n  }\n  function setModalOpen(modalRoot, open) {\n    modalRoot.hidden = !open;\n    modalRoot.dataset.open = open ? \"true\" : \"false\";\n    modalRoot.setAttribute(\"aria-hidden\", open ? \"false\" : \"true\");\n    document.body.classList.toggle(\"view-details-modal-open\", open);\n    if (!open)\n      destroyModalSwipers();\n  }\n  async function mountModalContent(modalRoot, inner, product, variantIndex) {\n    destroyModalSwipers();\n    inner.innerHTML = renderModalInner(product, variantIndex);\n    injectMsProductFeatures(modalRoot);\n    await initModalSwipers(modalRoot);\n  }\n  async function refreshGallerySwipersOnOpen(modalRoot) {\n    if (!modalMainSwiper) {\n      await initModalSwipers(modalRoot);\n    } else {\n      modalMainSwiper.update?.();\n      modalThumbsSwiper?.update?.();\n    }\n  }\n\n  // src/mellow/SB-004DM/v1/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  function applyVariantToModal(modalRoot, product, selectedIndex) {\n    const variants = product.variants || [];\n    const v = variants[selectedIndex] || variants[0];\n    if (!v)\n      return;\n    const compare = v.compare_at_price && v.compare_at_price > v.price ? formatMoney(v.compare_at_price) : \"\";\n    const sale = formatMoney(v.price);\n    const savingsPct = v.compare_at_price && v.compare_at_price > v.price ? Math.round((1 - v.price / v.compare_at_price) * 100) : null;\n    const priceRow = modalRoot.querySelector(\".view-details-modal__price-row\");\n    if (priceRow) {\n      priceRow.innerHTML = `\n          <span class=\"view-details-modal__price-sale\">${sale}</span>\n          ${compare ? `<span class=\"view-details-modal__price-compare\">${compare}</span>` : \"\"}\n          ${savingsPct != null ? `<span class=\"view-details-modal__price-save\">Save ${savingsPct}%</span>` : \"\"}\n        `;\n    }\n    const sel = modalRoot.querySelector(\".view-details-modal__select[data-variant-select]\");\n    if (sel)\n      sel.value = String(selectedIndex);\n    const atc = modalRoot.querySelector(\".view-details-modal__add-to-cart\");\n    if (atc) {\n      const available = v.available !== false;\n      atc.setAttribute(\"data-variant-id\", String(v.id));\n      atc.disabled = !available;\n      atc.textContent = available ? \"Add to cart\" : \"Out of stock\";\n    }\n  }\n  async function addCartItemsJson(items) {\n    const res = await fetch(\"/cart/add.js\", {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n      credentials: \"same-origin\",\n      body: JSON.stringify({ items })\n    });\n    const data = await res.json().catch(() => ({}));\n    if (!res.ok) {\n      const msg = data.description || data.message || data.error || `Could not add to cart (${res.status})`;\n      throw new Error(msg);\n    }\n    return data;\n  }\n  async function addVariantToCart(variantId) {\n    return addCartItemsJson([{ id: Number(variantId), quantity: 1 }]);\n  }\n  function mainLineItemFromProductForm(form) {\n    const fd = new FormData(form);\n    const id = fd.get(\"id\");\n    if (id == null || id === \"\")\n      return null;\n    const qtyRaw = fd.get(\"quantity\");\n    const quantity = Math.max(1, parseInt(String(qtyRaw != null && qtyRaw !== \"\" ? qtyRaw : \"1\"), 10) || 1);\n    const item = { id: Number(id), quantity };\n    const properties = {};\n    Array.from(fd.entries()).forEach(([key, value]) => {\n      if (!key.startsWith(\"properties[\"))\n        return;\n      const m = key.match(/^properties\\[(.+)]$/);\n      if (m && value !== \"\")\n        properties[m[1]] = String(value);\n    });\n    if (Object.keys(properties).length)\n      item.properties = properties;\n    const sp = fd.get(\"selling_plan\");\n    if (sp != null && String(sp).trim() !== \"\") {\n      const n = Number(sp);\n      if (!Number.isNaN(n) && n > 0)\n        item.selling_plan = n;\n    }\n    return item;\n  }\n  function firstAvailableVariantId(product) {\n    const variants = product?.variants;\n    if (!variants?.length)\n      return null;\n    const v = variants.find((x) => x.available !== false) || variants[0];\n    return v?.id != null ? Number(v.id) : null;\n  }\n  function isMainPdpAddToCartForm(form) {\n    if (!(form instanceof HTMLFormElement))\n      return false;\n    if (form.closest(\"#view-details-modal-root\"))\n      return false;\n    const action = String(form.getAttribute(\"action\") || \"\");\n    if (!action.includes(\"/cart/add\"))\n      return false;\n    if (!form.classList.contains(\"shopify-product-form\") && form.getAttribute(\"data-type\") !== \"add-to-cart-form\") {\n      return false;\n    }\n    return true;\n  }\n  function publishCartUpdated() {\n    [\"cart:updated\", \"cart:refresh\", \"cart:change\"].forEach((name) => {\n      document.dispatchEvent(new CustomEvent(name, { bubbles: true }));\n    });\n    if (typeof window.dispatchEvent === \"function\") {\n      window.dispatchEvent(new CustomEvent(\"shopify:cart:change\", { bubbles: true }));\n    }\n  }\n  var subProduct = `\n  <div class=\"additional-product\">\n    <div class=\"product-info\">\n      <input type=\"checkbox\" class=\"product-checkbox\">\n      <div class=\"product-info-content\">\n        <p class=\"product-title\">Add CloudAlign\u2122 Pillow</p>\n        <p class=\"product-price\">\n          <span class=\"product-price-sale\">$49.00</span>\n          <span class=\"product-price-original\">$100.00</span>\n          <span class=\"product-price-savings\">Save 50%</span>\n        </p>\n        <p class=\"product-description\">For deep, supported sleep in any position. Whether you're a side, back, or stomach sleeper, the 3-zone contour design delivers targeted neck lift, pressure relief, and full-body alignment.</p>\n        <p class=\"view-details\" role=\"button\" tabindex=\"0\">View Details</p>\n      </div>\n    </div>\n    <div class=\"product-img\">\n      <img class=\"product-img-el\" src=\"https://cdn.shopify.com/s/files/1/0751/4351/2317/files/Rectangle.png?v=1775811986\" alt=\"CloudAlign Pillow\" width=\"148\" height=\"148\">\n    </div>\n  </div>`;\n  poll(\n    () => q(\"body\") && q(\"div.shopify-block:has(.ms-product-features .feature)\"),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      const anchor = q(\"div.shopify-block:has(.ms-product-features .feature)\");\n      insert(anchor, \"afterend\", subProduct, q(\".additional-product\"));\n      if (!q(\"#view-details-modal-root\")) {\n        q(\"body\").insertAdjacentHTML(\"beforeend\", buildModalShell());\n      }\n      const modalRoot = q(\"#view-details-modal-root\");\n      const inner = modalRoot.querySelector(\".view-details-modal__inner\");\n      const modalPrepPromise = fetchProductJson().then(async (product) => {\n        setModalProduct(product);\n        await mountModalContent(modalRoot, inner, product, 0);\n      }).catch((err) => {\n        expLog(\"SB-004DM product fetch\", err);\n        inner.innerHTML = '<p class=\"view-details-modal__error\">Could not load product details. Please try again.</p>';\n      });\n      function closeModal() {\n        setModalOpen(modalRoot, false);\n      }\n      modalRoot.addEventListener(\"click\", (e) => {\n        if (e.target.closest(\".view-details-modal__backdrop\")) {\n          closeModal();\n          return;\n        }\n        if (e.target.closest(\".view-details-modal__close\")) {\n          closeModal();\n          return;\n        }\n        const atc = e.target.closest(\".view-details-modal__add-to-cart\");\n        if (atc && modalRoot.contains(atc) && !atc.disabled) {\n          const vid = atc.getAttribute(\"data-variant-id\");\n          if (!vid)\n            return;\n          const msgEl = modalRoot.querySelector(\".view-details-modal__atc-msg\");\n          atc.disabled = true;\n          atc.classList.add(\"is-loading\");\n          if (msgEl)\n            msgEl.textContent = \"\";\n          addVariantToCart(vid).then(() => {\n            if (msgEl) {\n              msgEl.textContent = \"Added to cart\";\n              msgEl.classList.remove(\"is-error\");\n            }\n            publishCartUpdated();\n            fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n            });\n          }).catch((err) => {\n            expLog(\"SB-004DM add to cart\", err);\n            if (msgEl) {\n              msgEl.textContent = err.message || \"Could not add to cart.\";\n              msgEl.classList.add(\"is-error\");\n            }\n          }).finally(() => {\n            atc.disabled = false;\n            atc.classList.remove(\"is-loading\");\n          });\n        }\n      });\n      modalRoot.addEventListener(\"change\", (e) => {\n        const sel = e.target.closest(\".view-details-modal__select[data-variant-select]\");\n        const product = getModalProduct();\n        if (!sel || !modalRoot.contains(sel) || !product)\n          return;\n        const idx = parseInt(sel.value, 10);\n        if (Number.isNaN(idx))\n          return;\n        applyVariantToModal(modalRoot, product, idx);\n      });\n      document.addEventListener(\"keydown\", (e) => {\n        if (e.key === \"Escape\" && modalRoot.dataset.open === \"true\") {\n          closeModal();\n        }\n      });\n      const row = q(\".additional-product\");\n      const vd = row.querySelector(\".view-details\");\n      async function openModal() {\n        await modalPrepPromise;\n        setModalOpen(modalRoot, true);\n        modalRoot.querySelector(\".view-details-modal__close\")?.focus();\n        await refreshGallerySwipersOnOpen(modalRoot);\n      }\n      vd?.addEventListener(\"click\", (e) => {\n        e.preventDefault();\n        openModal();\n      });\n      vd?.addEventListener(\"keydown\", (e) => {\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          openModal();\n        }\n      });\n      async function runMainPdpCrossSellBundle(form) {\n        const mainItem = mainLineItemFromProductForm(form);\n        if (!mainItem?.id)\n          throw new Error(\"SB-004DM: missing variant id\");\n        await modalPrepPromise.catch(() => {\n        });\n        let pillow = getModalProduct();\n        if (!pillow) {\n          pillow = await fetchProductJson();\n          setModalProduct(pillow);\n        }\n        const extraId = firstAvailableVariantId(pillow);\n        if (!extraId) {\n          await addCartItemsJson([mainItem]);\n        } else {\n          await addCartItemsJson([mainItem, { id: extraId, quantity: 1 }]);\n        }\n        publishCartUpdated();\n        fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n        });\n      }\n      window.addEventListener(\n        \"click\",\n        (e) => {\n          if (!q(\".additional-product .product-checkbox\")?.checked)\n            return;\n          const btn = e.target.closest('button[name=\"add\"], button[data-testid=\"standalone-add-to-cart\"]');\n          if (!btn || btn.closest(\"#view-details-modal-root\"))\n            return;\n          const form = btn.form || btn.closest(\"form\");\n          if (!form || !isMainPdpAddToCartForm(form))\n            return;\n          e.preventDefault();\n          e.stopPropagation();\n          e.stopImmediatePropagation();\n          (async () => {\n            try {\n              await runMainPdpCrossSellBundle(form);\n            } catch (err) {\n              expLog(\"SB-004DM main PDP bundle add (click)\", err);\n              try {\n                const mainItem = mainLineItemFromProductForm(form);\n                if (mainItem?.id) {\n                  await addCartItemsJson([mainItem]);\n                  publishCartUpdated();\n                  fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n                  });\n                }\n              } catch (e2) {\n                expLog(\"SB-004DM bundle fallback\", e2);\n              }\n            }\n          })();\n        },\n        true\n      );\n      window.addEventListener(\n        \"submit\",\n        (e) => {\n          const form = e.target;\n          if (!(form instanceof HTMLFormElement))\n            return;\n          if (!isMainPdpAddToCartForm(form))\n            return;\n          if (!q(\".additional-product .product-checkbox\")?.checked)\n            return;\n          const mainItem = mainLineItemFromProductForm(form);\n          if (!mainItem?.id)\n            return;\n          e.preventDefault();\n          (async () => {\n            try {\n              await runMainPdpCrossSellBundle(form);\n            } catch (err) {\n              expLog(\"SB-004DM main PDP bundle add (submit)\", err);\n              try {\n                if (mainItem?.id) {\n                  await addCartItemsJson([mainItem]);\n                  publishCartUpdated();\n                  fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n                  });\n                }\n              } catch (e2) {\n                expLog(\"SB-004DM bundle submit fallback\", e2);\n              }\n            }\n          })();\n        },\n        true\n      );\n    }\n  );\n})();\n\n//last updated on: 6:24:42 PM\n//# sourceURL=ABtest/SB-004DM_v1.js","jsInjectionMode":{"type":"immediately"},"source":null},"shippingRateGroups":[],"testExperienceId":null,"checkoutBlocks":[],"cartTargeting":[]}],"experienceProducts":[{"id":"8934801604861","title":"Temperature Control Dual-Layer Comforter","variants":[{"id":"46483532644605","title":"Twin/Twin XL / White","variationPrices":[{"id":"46483532644605","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":149,"compareAtPrice":189},{"id":"46483532644605","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":178.8,"compareAtPrice":226.8}]},{"id":"46483532677373","title":"Twin/Twin XL / Lavender","variationPrices":[{"id":"46483532677373","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":100,"compareAtPrice":189},{"id":"46483532677373","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":120,"compareAtPrice":226.8}]},{"id":"46483532710141","title":"Twin/Twin XL / Navy Blue","variationPrices":[{"id":"46483532710141","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":149,"compareAtPrice":189},{"id":"46483532710141","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":178.8,"compareAtPrice":226.8}]},{"id":"46483532742909","title":"Full/Queen / White","variationPrices":[{"id":"46483532742909","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":189,"compareAtPrice":219},{"id":"46483532742909","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":226.8,"compareAtPrice":262.8}]},{"id":"46483532775677","title":"Full/Queen / Lavender","variationPrices":[{"id":"46483532775677","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":139,"compareAtPrice":219},{"id":"46483532775677","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":166.8,"compareAtPrice":262.8}]},{"id":"46483532808445","title":"Full/Queen / Navy Blue","variationPrices":[{"id":"46483532808445","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":189,"compareAtPrice":219},{"id":"46483532808445","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":226.8,"compareAtPrice":262.8}]},{"id":"46483532841213","title":"King/Cali King / White","variationPrices":[{"id":"46483532841213","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":219,"compareAtPrice":279},{"id":"46483532841213","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":262.8,"compareAtPrice":334.8}]},{"id":"46483532873981","title":"King/Cali King / Lavender","variationPrices":[{"id":"46483532873981","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":179,"compareAtPrice":279},{"id":"46483532873981","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":214.8,"compareAtPrice":334.8}]},{"id":"46483532906749","title":"King/Cali King / Navy Blue","variationPrices":[{"id":"46483532906749","name":"Control Group","variationId":"e6c81e5c-47d9-483d-ab87-06c3b8fc09b3","price":219,"compareAtPrice":279},{"id":"46483532906749","name":"New Group 1","variationId":"e1cc6c3c-ad95-49ee-9231-692065f668da","price":262.8,"compareAtPrice":334.8}]}],"handle":"temperature-control-dual-layer-comforter","experienceId":"29e4dc99-50b7-40af-9658-a84d66c47027"},{"id":"8934801604861","title":"Temperature Control Dual-Layer Comforter","variants":[{"id":"46483532644605","title":"Twin/Twin XL / White","variationPrices":[{"id":"46483532644605","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":149,"compareAtPrice":189},{"id":"46483532644605","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":109,"compareAtPrice":149}]},{"id":"46483532677373","title":"Twin/Twin XL / Lavender","variationPrices":[{"id":"46483532677373","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":100,"compareAtPrice":189},{"id":"46483532677373","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":109,"compareAtPrice":149}]},{"id":"46483532710141","title":"Twin/Twin XL / Navy Blue","variationPrices":[{"id":"46483532710141","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":149,"compareAtPrice":189},{"id":"46483532710141","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":109,"compareAtPrice":149}]},{"id":"46483532742909","title":"Full/Queen / White","variationPrices":[{"id":"46483532742909","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":189,"compareAtPrice":219},{"id":"46483532742909","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":129,"compareAtPrice":219}]},{"id":"46483532775677","title":"Full/Queen / Lavender","variationPrices":[{"id":"46483532775677","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":139,"compareAtPrice":219},{"id":"46483532775677","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":129,"compareAtPrice":219}]},{"id":"46483532808445","title":"Full/Queen / Navy Blue","variationPrices":[{"id":"46483532808445","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":189,"compareAtPrice":219},{"id":"46483532808445","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":129,"compareAtPrice":219}]},{"id":"46483532841213","title":"King/Cali King / White","variationPrices":[{"id":"46483532841213","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":219,"compareAtPrice":279},{"id":"46483532841213","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":149,"compareAtPrice":279}]},{"id":"46483532873981","title":"King/Cali King / Lavender","variationPrices":[{"id":"46483532873981","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":179,"compareAtPrice":279},{"id":"46483532873981","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":149,"compareAtPrice":279}]},{"id":"46483532906749","title":"King/Cali King / Navy Blue","variationPrices":[{"id":"46483532906749","name":"Control Group","variationId":"23fd676f-a364-4465-81cc-f8b8fac3685a","price":219,"compareAtPrice":279},{"id":"46483532906749","name":"New Group 1","variationId":"455896e7-1654-4266-9997-184af1e1b5a0","price":149,"compareAtPrice":279}]}],"handle":"temperature-control-dual-layer-comforter","experienceId":"98cf86eb-445e-4723-8922-306cb47660e9"},{"id":"9019920711933","title":"Mellow Hotel Pillow Waterproof & Stain-Resistant","variants":[{"id":"46765141393661","title":"Default Title","variationPrices":[{"id":"46765141393661","name":"$35","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","price":35,"compareAtPrice":59},{"id":"46765141393661","name":"24.99","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","price":24.99,"compareAtPrice":59.99},{"id":"46765141393661","name":"29.99","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","price":29.99,"compareAtPrice":59.99}]}],"handle":"mellow-hotel-pillow","experienceId":"0eaea63a-23dc-4f19-a183-1a1852d82b4d"},{"id":"9037250494717","title":"MarshMellow Comforter","variants":[{"id":"46822089720061","title":"White / Twin/TwinXL","variationPrices":[{"id":"46822089720061","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":119,"compareAtPrice":238},{"id":"46822089720061","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":100,"compareAtPrice":200},{"id":"46822089720061","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":100,"compareAtPrice":200}]},{"id":"46822089752829","title":"White / Full/Queen","variationPrices":[{"id":"46822089752829","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":139,"compareAtPrice":278},{"id":"46822089752829","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":110,"compareAtPrice":200},{"id":"46822089752829","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":100,"compareAtPrice":200}]},{"id":"46822089785597","title":"White / King/Cali King","variationPrices":[{"id":"46822089785597","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":149,"compareAtPrice":298},{"id":"46822089785597","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":120,"compareAtPrice":200},{"id":"46822089785597","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":100,"compareAtPrice":200}]},{"id":"47207722221821","title":"Baby Pink / Twin/TwinXL","variationPrices":[{"id":"47207722221821","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":119,"compareAtPrice":238},{"id":"47207722221821","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":100,"compareAtPrice":200},{"id":"47207722221821","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":100,"compareAtPrice":200}]},{"id":"47207722254589","title":"Gray / Twin/TwinXL","variationPrices":[{"id":"47207722254589","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":119,"compareAtPrice":238},{"id":"47207722254589","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":100,"compareAtPrice":200},{"id":"47207722254589","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":100,"compareAtPrice":200}]},{"id":"47207722287357","title":"Sand / Twin/TwinXL","variationPrices":[{"id":"47207722287357","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":119,"compareAtPrice":238},{"id":"47207722287357","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":100,"compareAtPrice":200},{"id":"47207722287357","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":100,"compareAtPrice":200}]},{"id":"47207722320125","title":"Baby Pink / Full/Queen","variationPrices":[{"id":"47207722320125","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":139,"compareAtPrice":278},{"id":"47207722320125","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":110,"compareAtPrice":200},{"id":"47207722320125","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":110,"compareAtPrice":200}]},{"id":"47207722352893","title":"Gray / Full/Queen","variationPrices":[{"id":"47207722352893","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":139,"compareAtPrice":278},{"id":"47207722352893","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":110,"compareAtPrice":200},{"id":"47207722352893","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":110,"compareAtPrice":200}]},{"id":"47207722385661","title":"Sand / Full/Queen","variationPrices":[{"id":"47207722385661","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":139,"compareAtPrice":278},{"id":"47207722385661","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":110,"compareAtPrice":200},{"id":"47207722385661","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":110,"compareAtPrice":200}]},{"id":"47207722418429","title":"Baby Pink / King/Cali King","variationPrices":[{"id":"47207722418429","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":149,"compareAtPrice":298},{"id":"47207722418429","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":120,"compareAtPrice":200},{"id":"47207722418429","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":120,"compareAtPrice":200}]},{"id":"47207722451197","title":"Gray / King/Cali King","variationPrices":[{"id":"47207722451197","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":149,"compareAtPrice":298},{"id":"47207722451197","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":120,"compareAtPrice":200},{"id":"47207722451197","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":120,"compareAtPrice":200}]},{"id":"47207722483965","title":"Sand / King/Cali King","variationPrices":[{"id":"47207722483965","name":"$149","variationId":"6c9af31d-33bc-48da-85ff-05fad0dd4f74","price":149,"compareAtPrice":298},{"id":"47207722483965","name":"Control Group","variationId":"cca6dc95-67e7-4c94-9d75-e8a04edd7c40","price":120,"compareAtPrice":200},{"id":"47207722483965","name":"White $100","variationId":"95ad5673-511c-4d33-a46e-b97a0938b541","price":120,"compareAtPrice":200}]}],"handle":"marshmellow-comforter","experienceId":"141bb4a9-059a-4ecc-81ae-be41e250a2fd"},{"id":"9037250494717","title":"MarshMellow Comforter","variants":[{"id":"46822089720061","title":"Twin/TwinXL / White","variationPrices":[{"id":"46822089720061","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":100,"compareAtPrice":200},{"id":"46822089720061","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":100,"compareAtPrice":200}]},{"id":"46822089752829","title":"Full/Queen / White","variationPrices":[{"id":"46822089752829","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":110,"compareAtPrice":220},{"id":"46822089752829","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":110,"compareAtPrice":220}]},{"id":"46822089785597","title":"King/Cali King / White","variationPrices":[{"id":"46822089785597","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":120,"compareAtPrice":240},{"id":"46822089785597","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":120,"compareAtPrice":240}]},{"id":"47207722221821","title":"Twin/TwinXL / Baby Pink","variationPrices":[{"id":"47207722221821","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":110,"compareAtPrice":220},{"id":"47207722221821","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":110,"compareAtPrice":200}]},{"id":"47207722254589","title":"Twin/TwinXL / Gray","variationPrices":[{"id":"47207722254589","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":110,"compareAtPrice":220},{"id":"47207722254589","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":100,"compareAtPrice":200}]},{"id":"47207722287357","title":"Twin/TwinXL / Sand","variationPrices":[{"id":"47207722287357","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":110,"compareAtPrice":220},{"id":"47207722287357","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":100,"compareAtPrice":200}]},{"id":"47207722320125","title":"Full/Queen / Baby Pink","variationPrices":[{"id":"47207722320125","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":120,"compareAtPrice":240},{"id":"47207722320125","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":124,"compareAtPrice":200}]},{"id":"47207722352893","title":"Full/Queen / Gray","variationPrices":[{"id":"47207722352893","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":120,"compareAtPrice":240},{"id":"47207722352893","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":114,"compareAtPrice":200}]},{"id":"47207722385661","title":"Full/Queen / Sand","variationPrices":[{"id":"47207722385661","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":120,"compareAtPrice":240},{"id":"47207722385661","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":114,"compareAtPrice":200}]},{"id":"47207722418429","title":"King/Cali King / Baby Pink","variationPrices":[{"id":"47207722418429","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":130,"compareAtPrice":260},{"id":"47207722418429","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":134,"compareAtPrice":200}]},{"id":"47207722451197","title":"King/Cali King / Gray","variationPrices":[{"id":"47207722451197","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":130,"compareAtPrice":260},{"id":"47207722451197","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":124,"compareAtPrice":200}]},{"id":"47207722483965","title":"King/Cali King / Sand","variationPrices":[{"id":"47207722483965","name":"+10 Colors","variationId":"a3eedf4c-19a0-48bd-8038-b08ae74306be","price":130,"compareAtPrice":260},{"id":"47207722483965","name":"Control Group","variationId":"a9f3f4bd-fc18-4155-b927-fb8366bf2ce2","price":124,"compareAtPrice":200}]}],"handle":"marshmellow-comforter","experienceId":"1f5801e5-c1d1-4500-86db-ef49106f1c43"},{"id":"9037250494717","title":"MarshMellow Comforter","variants":[{"id":"46822089720061","title":"Twin/TwinXL / White","variationPrices":[{"id":"46822089720061","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":100,"compareAtPrice":200},{"id":"46822089720061","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":100,"compareAtPrice":200}]},{"id":"46822089752829","title":"Full/Queen / White","variationPrices":[{"id":"46822089752829","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":110,"compareAtPrice":220},{"id":"46822089752829","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":110,"compareAtPrice":220}]},{"id":"46822089785597","title":"King/Cali King / White","variationPrices":[{"id":"46822089785597","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":120,"compareAtPrice":240},{"id":"46822089785597","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":120,"compareAtPrice":240}]},{"id":"47207722221821","title":"Twin/TwinXL / Baby Pink","variationPrices":[{"id":"47207722221821","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":110,"compareAtPrice":220},{"id":"47207722221821","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":110,"compareAtPrice":200}]},{"id":"47207722254589","title":"Twin/TwinXL / Gray","variationPrices":[{"id":"47207722254589","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":110,"compareAtPrice":220},{"id":"47207722254589","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":100,"compareAtPrice":200}]},{"id":"47207722287357","title":"Twin/TwinXL / Sand","variationPrices":[{"id":"47207722287357","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":110,"compareAtPrice":220},{"id":"47207722287357","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":100,"compareAtPrice":200}]},{"id":"47207722320125","title":"Full/Queen / Baby Pink","variationPrices":[{"id":"47207722320125","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":120,"compareAtPrice":240},{"id":"47207722320125","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":124,"compareAtPrice":200}]},{"id":"47207722352893","title":"Full/Queen / Gray","variationPrices":[{"id":"47207722352893","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":120,"compareAtPrice":240},{"id":"47207722352893","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":114,"compareAtPrice":200}]},{"id":"47207722385661","title":"Full/Queen / Sand","variationPrices":[{"id":"47207722385661","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":120,"compareAtPrice":240},{"id":"47207722385661","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":114,"compareAtPrice":200}]},{"id":"47207722418429","title":"King/Cali King / Baby Pink","variationPrices":[{"id":"47207722418429","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":130,"compareAtPrice":260},{"id":"47207722418429","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":134,"compareAtPrice":200}]},{"id":"47207722451197","title":"King/Cali King / Gray","variationPrices":[{"id":"47207722451197","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":130,"compareAtPrice":260},{"id":"47207722451197","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":124,"compareAtPrice":200}]},{"id":"47207722483965","title":"King/Cali King / Sand","variationPrices":[{"id":"47207722483965","name":"+10 Colors","variationId":"6537fdfa-6109-4dc8-82ca-1c4199ccbafb","price":130,"compareAtPrice":260},{"id":"47207722483965","name":"Control Group","variationId":"8ec0f47c-9e78-4f67-a4be-4c486085d5b4","price":124,"compareAtPrice":200}]}],"handle":"marshmellow-comforter","experienceId":"acd8fb57-07ea-412e-a2ec-c3516a80b21d"},{"id":"9019920711933","title":"Waterproof & Stain-Resistant Hotel Pillow","variants":[{"id":"46930725667069","title":"Standard","variationPrices":[{"id":"46930725667069","name":"Control","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","price":29,"compareAtPrice":59.99},{"id":"46930725667069","name":"Variation 1","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","price":29.99,"compareAtPrice":59.99}]},{"id":"46930725699837","title":"King/Cali King","variationPrices":[{"id":"46930725699837","name":"Control","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","price":34,"compareAtPrice":59.99},{"id":"46930725699837","name":"Variation 1","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","price":33.99,"compareAtPrice":59.99}]}],"handle":"mellow-hotel-pillow","experienceId":"e5b9a858-4e82-494b-9b7a-4eaf601b0c41"},{"id":"9128082407677","title":"Flex Pillow","variants":[{"id":"47171310813437","title":"Standard","variationPrices":[{"id":"47171310813437","name":"$34","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","price":34,"compareAtPrice":99},{"id":"47171310813437","name":"$39","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","price":39,"compareAtPrice":99},{"id":"47171310813437","name":"$49","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","price":49,"compareAtPrice":99.99},{"id":"47171310813437","name":"$54","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","price":54,"compareAtPrice":99}]},{"id":"47171310846205","title":"King","variationPrices":[{"id":"47171310846205","name":"$34","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","price":39,"compareAtPrice":99},{"id":"47171310846205","name":"$39","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","price":44,"compareAtPrice":99},{"id":"47171310846205","name":"$49","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","price":54,"compareAtPrice":99.99},{"id":"47171310846205","name":"$54","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","price":59,"compareAtPrice":99}]}],"handle":"mellow-flex-pillow","experienceId":"4f0ccff9-a6bd-4d57-8e79-44155fcaf3f6"}],"shippingRateGroups":[{"id":"e4a53a38-aa62-48a8-9b37-0955420dbc7d","groupType":"flatRateWithThreshold","position":0,"rates":[{"id":"ae3eb2fc-4f98-4ca4-9485-1565f6ee2c8f","name":"Standard Shipping","amount":10,"rateCode":null,"rateType":"amount","currency":"USD","condition":null,"description":null},{"id":"7b4c59c4-c11c-47ef-b196-d370d4b7e750","name":"Standard Shipping","amount":99,"rateCode":null,"rateType":"threshold","currency":"USD","condition":null,"description":null}],"variationId":"8479d2f2-b522-489b-85a9-468b4a99e0d4"},{"id":"0e01d53b-d2fc-4902-b891-797f3e9960ac","groupType":"tieredByPriceOrWeight","position":0,"rates":[{"id":"9038c66a-32f6-47d2-8dfc-23e3fe80f4d5","name":"Standard Shipping","amount":10,"rateCode":null,"rateType":"tier","currency":"USD","condition":{"id":"b8d135a2-d31a-4f9b-b342-ccbb48b2c019","min":0,"max":99.99,"conditionType":"currency","unit":"lb"},"description":null}],"variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e"},{"id":"3a405b9e-a933-485c-911a-d713bad2c88a","groupType":"tieredByPriceOrWeight","position":1,"rates":[{"id":"820c9395-e8b8-413b-8fb2-ea4ce7b0fa1d","name":"Standard Shipping","amount":2,"rateCode":null,"rateType":"tier","currency":"USD","condition":{"id":"f38cbddf-86f0-4559-9dbd-9200ba48a9b8","min":100,"max":119.99,"conditionType":"currency","unit":"lb"},"description":null}],"variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e"},{"id":"8728a1a8-2b29-4a98-aad6-4292af8138a0","groupType":"thresholdOnly","position":2,"rates":[{"id":"c4fe3569-da69-404c-a4f5-69cf76014487","name":"Standard Shipping","amount":120,"rateCode":null,"rateType":"threshold","currency":"USD","condition":null,"description":null}],"variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e"}],"onsiteEdits":[{"id":"00a299ea-86ef-46b5-a274-a80c8e108530","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-ditz4e"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white","createdAtTs":1771774339329,"imageSearchUrl":null,"source":null},{"id":"017b9791-489e-4a23-9868-a1028476ce8f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-tnxlrg > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white?variant=46261108867325","createdAtTs":1771809115392,"imageSearchUrl":null,"source":null},{"id":"03baa290-7a3b-4650-9c64-82af4f2fd336","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Generic Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--fancy > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979404609,"imageSearchUrl":null,"source":null},{"id":"04be9ba0-07d4-4717-b0af-4d9c505580cb","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Data Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-1hxjbcj"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771774259024,"imageSearchUrl":null,"source":null},{"id":"079e89a3-fb1a-4f4a-80f5-bb6c9ab8f735","onsiteEditType":"text","variationId":"6d0eb040-fe0f-46af-b708-0556992a673a","find":"","title":null,"isRegex":false,"replace":"SwitchFit\u2122 for adaptability. Chiropractor-designed for ergonomic alignment. Dual-height to match your preference. And a cloud design for unimaginable comfort.","querySelectors":[".r-832nif p"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-cpil-side-sleeper#b73e4c96-ca5b-407c-8675-f4b79b5dfd6e","createdAtTs":1779202275765,"imageSearchUrl":null,"source":null},{"id":"0cb45d7a-1c92-432c-ac64-0868b9bdc941","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided: Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-1pga9rv"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771774250980,"imageSearchUrl":null,"source":null},{"id":"0cedfe08-26dc-441f-a2cd-e0c6330018b1","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Title Generated: Insufficient Data Provided in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-94p1jh > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-easyfit-sheet","createdAtTs":1771774128518,"imageSearchUrl":null,"source":null},{"id":"0ed59dd9-2a71-4181-b135-0f11dd3c591f","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$34.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"117a2a63-c090-4779-9a64-172a3856d0c6","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$29","querySelectors":[".r-1hnjim7 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/?ig-preview=0eaea63a-23dc-4f19-a183-1a1852d82b4d&ig-builder-entity=experiment","createdAtTs":1770666619862,"imageSearchUrl":null,"source":null},{"id":"1211946d-c2e5-43b3-968b-940a34ce6c4c","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$98.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"138a5875-16f5-45d5-b880-e64fa151627b","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Detected: Missing Find, Replacements, and QuerySelectors","isRegex":false,"replace":"","querySelectors":[".r-bz2xvf > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-easyfit-sheet","createdAtTs":1771774133308,"imageSearchUrl":null,"source":null},{"id":"15b0fc06-4f5f-4e5a-81e7-ab98fd57d7d7","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-9ikhwx > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771774006002,"imageSearchUrl":null,"source":null},{"id":"18b8e708-d34f-4ff3-a21b-f0620fd73dbc","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Missing JSON Content","isRegex":false,"replace":"","querySelectors":[".r-5rq0fo > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771774104983,"imageSearchUrl":null,"source":null},{"id":"19e23cc9-50e3-40fe-b578-08fdd387f1ae","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$68.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"1eedfde7-4fc5-42f8-9504-487d74880b66","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Dynamic JSON Find and Replace Operation","isRegex":false,"replace":"","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979389465,"imageSearchUrl":null,"source":null},{"id":"2164da77-fcac-43f4-ad26-9524052bc0da","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided to analyze for find-and-replace operation","isRegex":false,"replace":"","querySelectors":[".r-rr7zdr"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-easyfit-sheet","createdAtTs":1771774363704,"imageSearchUrl":null,"source":null},{"id":"26e3b600-9fb3-4b44-b852-558d7b1a4a03","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Replace Content in Elements Identified by Query Selectors","isRegex":false,"replace":"","querySelectors":[".r-pku0q6 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1770666657914,"imageSearchUrl":null,"source":null},{"id":"278d55d1-9560-4d5b-9bde-e72d5be00e56","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Data Provided","isRegex":false,"replace":"","querySelectors":[".r-h45inz"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809243586,"imageSearchUrl":null,"source":null},{"id":"27fac49e-6328-4c88-941b-ec6ecd62771e","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$44.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--fancy > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979404609,"imageSearchUrl":null,"source":null},{"id":"28e0f318-6dfb-49c1-b6b9-18e5845de7ed","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Data Provided for Find-and-Replace Operation Title Generation","isRegex":false,"replace":"","querySelectors":[".r-1vyu6pw"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-cloudalign-cooling-pillowcase","createdAtTs":1771774382379,"imageSearchUrl":null,"source":null},{"id":"2a9a30d6-04ac-4b32-92d0-9e7c6592eedd","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"2c4dbf1c-c54d-4f4a-b3ec-33bfd0f8215d","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"$24.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979389465,"imageSearchUrl":null,"source":null},{"id":"2d2fbac1-430c-4173-8cea-f1cc37d1befe","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Data Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-4c3lwd > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771774145423,"imageSearchUrl":null,"source":null},{"id":"2e2b1bfe-f5ae-473d-9ccf-a0386effe773","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Specified: Insufficient Data to Generate Title","isRegex":false,"replace":"","querySelectors":[".r-asza7s"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771774373275,"imageSearchUrl":null,"source":null},{"id":"2fc30278-c1c1-47f3-9c20-1a0cad3bbf4d","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$117.00","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"2fd73912-839d-4b2c-8517-0964c0136edd","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"60.00","title":"Waterproof & Stain-Resistant Hotel Pillow - buy 3 get 1 free","isRegex":false,"replace":"","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778699095247,"imageSearchUrl":null,"source":null},{"id":"30357deb-fe49-4aaf-8eb5-5e84dc3c0165","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"$59.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--simple > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979740934,"imageSearchUrl":null,"source":null},{"id":"31939668-d8d7-4b31-ac7c-26e6b821bb93","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1hxjbcj"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771355702509,"imageSearchUrl":null,"source":null},{"id":"31fb012e-9532-40d9-96f6-762afdbf3831","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided for Title Generation","isRegex":false,"replace":"$147.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"324c2dc7-47fb-4077-84e6-93314696aab8","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$29/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"35eb399d-6906-41f6-9164-b36be83849a2","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$54.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"360d1d07-5c9e-4e51-bbd8-9173ea96c7da","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Operation Detected: Missing JSON Input for Find-and-Replace","isRegex":false,"replace":"$88.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"36a4d08d-c523-4eac-936b-a3078c93eb2b","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Detected: Missing Find-Replace Details in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-oznh6w > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771774089909,"imageSearchUrl":null,"source":null},{"id":"38c48406-9775-4cd9-92f5-bdc06bd7e168","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Content Provided for Find-and-Replace Title Generation","isRegex":false,"replace":"","querySelectors":[".r-vb27k8"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771774268061,"imageSearchUrl":null,"source":null},{"id":"4435087e-a914-49e1-96de-15b493fd05a2","onsiteEditType":"text","variationId":"8460449b-8dae-4cbf-846e-90f98e78f997","find":"","title":null,"isRegex":false,"replace":"The Fluffiest & Most Viral Comforter On The Market (7 Reasons Why)","querySelectors":[".r-vje3b6 h2"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lstcle-marsh-7-reasons#1ab1b606-b38e-4ebd-abc9-e2e48f69145a","createdAtTs":1779205476446,"imageSearchUrl":null,"source":null},{"id":"443a961e-c5b6-42ad-83cb-8b147d698f4b","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"45588456-c08b-4f9b-a771-035dd0545d98","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-8iobny > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771774110008,"imageSearchUrl":null,"source":null},{"id":"47e5f223-78db-45e6-b06b-dc48fd59526c","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$102.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"4e280814-712a-426a-8716-31e16fe9a741","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"39.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 2 pillow bundle","isRegex":false,"replace":"","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778698997112,"imageSearchUrl":null,"source":null},{"id":"59054142-f584-451b-99b0-c04f40202c26","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$25.50/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"59efd508-07e5-4aef-8783-240f70a1a962","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1brw3zk"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771355837194,"imageSearchUrl":null,"source":null},{"id":"6a0dc0d4-4642-40c2-9e29-37452b6dfa83","onsiteEditType":"text","variationId":"bcd3d185-1f57-4ce5-ba93-bcb90619f1b4","find":"","title":null,"isRegex":false,"replace":"The Pillow Chiropractors Designed To Adapt While You Sleep","querySelectors":["h1 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-adpt-5zone?pb=0","createdAtTs":1777078254928,"imageSearchUrl":null,"source":null},{"id":"6cf42a19-98df-4e51-b2cf-71173233d1fb","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"Unable to Generate Title: No Data Provided in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-p13gdd > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771774174752,"imageSearchUrl":null,"source":null},{"id":"711479c4-f30e-4966-b486-aecf1a22406b","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Detected in JSON Input","isRegex":false,"replace":"","querySelectors":[".r-1ixii9e > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white?variant=46261108867325","createdAtTs":1771809129838,"imageSearchUrl":null,"source":null},{"id":"712cce59-440d-415c-9017-15666cb547f1","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-7dtt8m"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771355652500,"imageSearchUrl":null,"source":null},{"id":"733c444b-05da-4adf-ad3b-b5dbf6677b84","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$59.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--simple > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979740934,"imageSearchUrl":null,"source":null},{"id":"73948f81-f87d-4571-88f9-04a739f514e5","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Operation Detected: Find-and-Replace Fields Are Empty","isRegex":false,"replace":"","querySelectors":[".r-199h56z > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771774149188,"imageSearchUrl":null,"source":null},{"id":"755e9e3e-5662-4eb2-9161-09f37cd08dd8","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$54.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"75f2cbdb-760c-415d-8eeb-451495846f5d","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"$49.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"767473d4-dce5-4112-bc5c-02d3b6d9d62f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Specified in Input","isRegex":false,"replace":"","querySelectors":[".r-onvbwc > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771774058588,"imageSearchUrl":null,"source":null},{"id":"78022fa5-ed2a-4b0b-82fe-c70536cde216","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Empty Input Provided","isRegex":false,"replace":"","querySelectors":[".r-v88znz > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771774084912,"imageSearchUrl":null,"source":null},{"id":"7addc4bf-5b50-42b6-9b23-b4e3aefac165","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"Insufficient Data Provided for Title Generation","isRegex":false,"replace":"$36.75/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"7f3acc0b-ce7e-4c1b-be7d-5cdb5678d8e9","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1hnjim7 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/?ig-preview=0eaea63a-23dc-4f19-a183-1a1852d82b4d&ig-builder-entity=experiment","createdAtTs":1770666619862,"imageSearchUrl":null,"source":null},{"id":"8021eb2e-2d6b-4a5f-b234-6de8ecee18dd","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"Insufficient Data: No Information Provided for Find-and-Replace Operation","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"812e4120-3f78-4771-a4d5-9b37cef181d0","onsiteEditType":"text","variationId":"6d0eb040-fe0f-46af-b708-0556992a673a","find":"","title":null,"isRegex":false,"replace":"Side Sleeper Stiffness? CloudAlign Was Made Specifically For You!","querySelectors":["span > h1"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-cpil-side-sleeper#b73e4c96-ca5b-407c-8675-f4b79b5dfd6e","createdAtTs":1779202275765,"imageSearchUrl":null,"source":null},{"id":"822eb079-8378-4865-b862-484d1a0885df","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"$39.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--fancy > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979404609,"imageSearchUrl":null,"source":null},{"id":"838d05ac-c601-474d-9687-257f6e66dd10","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"Insufficient Data to Generate Title for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-119qp4g > span > p:nth-of-type(1)"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809262668,"imageSearchUrl":null,"source":null},{"id":"8470aec9-92dd-40b8-ad86-1ba2d871272d","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"85eabfb7-0142-4261-9e1b-6aa7567e314c","onsiteEditType":"text","variationId":"40beae37-a5df-432b-9960-2b9a3374d69e","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-pku0q6 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1770666657914,"imageSearchUrl":null,"source":null},{"id":"87d801d7-92a7-4f77-bb74-fc7232733a27","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided for analysis","isRegex":false,"replace":"","querySelectors":[".r-qnji5z > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771774170673,"imageSearchUrl":null,"source":null},{"id":"8ca45622-379b-487a-a4fa-893f9ce3d1af","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"8e3f25f2-376c-427a-b005-36ec70bae7e4","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"29.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 1 pillow","isRegex":false,"replace":"","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=47481135857917&pb=0","createdAtTs":1778698743243,"imageSearchUrl":null,"source":null},{"id":"8e65c999-ada5-4c0a-b257-22b9a3db1340","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"39.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 2 pillow bundle","isRegex":false,"replace":"40.98","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778698997112,"imageSearchUrl":null,"source":null},{"id":"8fc1e11f-cf71-4595-a00e-b76a792517af","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$40.50/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"9373bec3-cce6-460d-b4e0-314ffcab6392","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$49/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"94e2782d-6ae2-4b69-889d-2aba92e63e4d","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-7dtt8m"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771774239774,"imageSearchUrl":null,"source":null},{"id":"9650e5fc-940e-4421-b762-b0e5ba3c08f8","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$34.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"98496112-b702-41f7-8396-c9c66bd36bac","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Input Provided: Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"9ceab14d-c0ac-4736-b6b7-39ea51a36655","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Operation Data Provided for Title Generation","isRegex":false,"replace":"$44/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"9e1fb101-ddda-4c9c-9982-4a918377795e","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$162.0","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"a1a9b81c-2cc8-4caa-bdf0-edbc62a08d5f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1brw3zk"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/standard-cooling-pillowcases","createdAtTs":1771774349094,"imageSearchUrl":null,"source":null},{"id":"a6def337-c928-4448-abcd-b400ba7bc118","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"a7665dbb-ba4d-4f6f-a4ab-302d399602bc","onsiteEditType":"text","variationId":"e8b5159d-542c-4588-ad36-bc4ca38ca6ab","find":null,"title":"","isRegex":false,"replace":"$162.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"a8240977-4d98-4225-80f3-8901628181e5","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$117.00","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895645825,"imageSearchUrl":null,"source":null},{"id":"adbb5590-fafc-44f7-baca-a6d526fba95e","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided: Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"","querySelectors":[".r-aacllx > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771810474786,"imageSearchUrl":null,"source":null},{"id":"b0fde486-d21c-4baf-b6d3-51d837f8bb1e","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-and-Replace Operation Data Provided","isRegex":false,"replace":"","querySelectors":[".r-120ixya > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771774036946,"imageSearchUrl":null,"source":null},{"id":"b3ba8d7f-a4f9-40bc-894c-66f5938d6c54","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided \u2013 Unable to Generate Find-and-Replace Operation Title","isRegex":false,"replace":"$147.00","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"b3e1776d-fdfd-43e0-8770-7a1bf8dfd345","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$39.00","querySelectors":[".r-puls1c > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895517465,"imageSearchUrl":null,"source":null},{"id":"b445c03c-bf06-4b44-adab-5004f76b180a","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$29.99","querySelectors":[".r-pku0q6 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1770666657914,"imageSearchUrl":null,"source":null},{"id":"b4edd423-eb96-442c-b225-0a99b2f2138d","onsiteEditType":"text","variationId":"d06185e8-aeb9-4b8a-bffd-fabfb8399a99","find":"29","title":"Waterproof & Stain-Resistant Hotel Pillow","isRegex":false,"replace":"","querySelectors":["div:nth-of-type(2) > div:nth-of-type(3) .price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/shop","createdAtTs":1779212802934,"imageSearchUrl":null,"source":null},{"id":"b55c2d4b-4d00-49f0-8605-747a38c93f14","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$58.00","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896657763,"imageSearchUrl":null,"source":null},{"id":"b5b66508-4d16-40c3-8c30-29a8a0ae6263","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No Operation Identified: Missing JSON Input Data","isRegex":false,"replace":"$49.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"b8c4fd28-76f2-47c6-97a1-6d9b2bc0404b","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"bbf65123-3264-4205-ad2b-639275d7c10f","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided for analysis","isRegex":false,"replace":"","querySelectors":[".r-1im6w2x > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809254460,"imageSearchUrl":null,"source":null},{"id":"bd999d8f-b918-4af9-9707-08938d587363","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-f66tf8"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/shop","createdAtTs":1771355983072,"imageSearchUrl":null,"source":null},{"id":"c0d93af1-23ba-47fb-9fbe-d7d93feb0c03","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Unable to Generate Title Due to Missing Input Data","isRegex":false,"replace":"","querySelectors":[".r-100e00d > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771774030016,"imageSearchUrl":null,"source":null},{"id":"c24f6996-5e99-4eec-92ca-b390da2195d4","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":["div:nth-of-type(2) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776897191624,"imageSearchUrl":null,"source":null},{"id":"c6ea6268-39d5-415b-8d02-6e7bb391ad04","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON input provided for analysis","isRegex":false,"replace":"","querySelectors":[".r-pxts4l > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809249627,"imageSearchUrl":null,"source":null},{"id":"cbd54479-98b2-4b7e-af01-4c6f88647a8b","onsiteEditType":"text","variationId":"f3ba57bd-95bf-4407-8578-e1c95e587460","find":null,"title":"No JSON Input Provided for Find-and-Replace Title Generation","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"cbfdc352-af93-4c6f-981c-b30323f3c3e2","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-vb27k8"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1771355732218,"imageSearchUrl":null,"source":null},{"id":"cfc5d73c-ee49-4b66-be33-3a98cfcdf4e5","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$199.98","querySelectors":[".kaching-bundles__bar--selected > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895693077,"imageSearchUrl":null,"source":null},{"id":"d0e37359-0f46-4a12-9c83-627e5a40a114","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-1fw8uf7 > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/marshmellow-comforter?variant=46822089720061","createdAtTs":1771774052592,"imageSearchUrl":null,"source":null},{"id":"d4e4b7df-798c-419b-926c-ff50bc7d553f","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$399.96","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-full-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896221355,"imageSearchUrl":null,"source":null},{"id":"d75360e2-889f-4db1-8ca2-22db0927e253","onsiteEditType":"hide","variationId":"1c88c708-ad96-4be5-bbd8-10da2b2520a6","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1bj3znh"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1761680526443,"imageSearchUrl":null,"source":null},{"id":"d766eee2-947a-478f-b357-a623a0d1b51c","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"60.00","title":"Waterproof & Stain-Resistant Hotel Pillow - buy 3 get 1 free","isRegex":false,"replace":"63.96","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1778699095247,"imageSearchUrl":null,"source":null},{"id":"d817978c-1780-4403-9923-b362d4a9833c","onsiteEditType":"text","variationId":"cd1e32d1-5f2a-4704-9b32-108452adea9d","find":null,"title":"","isRegex":false,"replace":"$102.00","querySelectors":["div:nth-of-type(3) > .kaching-bundles__bar-container .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896964379,"imageSearchUrl":null,"source":null},{"id":"da0d0035-e680-465d-87cc-7816648ca03a","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Find-Replace Operation Detected: Insufficient Data Provided","isRegex":false,"replace":"","querySelectors":[".r-dculmy > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771774012284,"imageSearchUrl":null,"source":null},{"id":"da50e3ed-7854-43ee-9d86-bdd3ba85c98b","onsiteEditType":"hide","variationId":"1c88c708-ad96-4be5-bbd8-10da2b2520a6","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1aswhf3 > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1761680506047,"imageSearchUrl":null,"source":null},{"id":"dc5b040e-9439-4a6a-8ea0-f8f4d54a18e5","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$34/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895588757,"imageSearchUrl":null,"source":null},{"id":"dedc5aa7-f2a0-4cac-80d5-251a5b3bc4f0","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"Replace Entire Element Content Using Query Selector","isRegex":false,"replace":"","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] .kaching-bundles__bar-container--most-popular--simple > .kaching-bundles__bar-wrapper .kaching-bundles__bar-price"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979740934,"imageSearchUrl":null,"source":null},{"id":"e101c990-5a7b-47ae-821e-b26f73a6dc41","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1pga9rv"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow?variant=46930725667069","createdAtTs":1771355679888,"imageSearchUrl":null,"source":null},{"id":"e104b47d-091e-46c8-93d6-0d741fab62a1","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$29.25/pillow","querySelectors":["html > body:nth-of-type(1) > main:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > div:nth-of-type(1) > kaching-bundle:nth-of-type(1) > kaching-bundles-block:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(3) > label:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > span:nth-of-type(2)"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776896451444,"imageSearchUrl":null,"source":null},{"id":"e134288d-b174-426c-a0f3-7bfee47241dd","onsiteEditType":"text","variationId":"453471db-fb75-47c1-a799-2b6b7546ed2b","find":null,"title":"","isRegex":false,"replace":"$29.99","querySelectors":["kaching-bundle[product-id=\"9019920711933\"] div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-hotel-pillow","createdAtTs":1762979389465,"imageSearchUrl":null,"source":null},{"id":"e2e0663c-6638-4d2a-89d1-9115bc060bf6","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No JSON Input Detected for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-31v0sx > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/temperature-control-dual-layer-comforter","createdAtTs":1771810470055,"imageSearchUrl":null,"source":null},{"id":"e5518dcb-f53a-4b4f-83c9-6b205cc7b8f1","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-zghvri > span > p"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-cloudalign-cooling-pillowcase","createdAtTs":1771809330456,"imageSearchUrl":null,"source":null},{"id":"e56fc55e-0291-4647-891d-2cf4270ccfb6","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-ditz4e"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-cold-comforter-white","createdAtTs":1771355763914,"imageSearchUrl":null,"source":null},{"id":"ece2235f-3bea-47cb-8818-f4b90a778522","onsiteEditType":"text","variationId":"411c77cb-bf4a-4263-8467-731e6687e493","find":"","title":null,"isRegex":false,"replace":"The Award-Winning Adjustable Pillow Chiropractors Recommend","querySelectors":["h1 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-flex-adjustable?pb=0","createdAtTs":1777072150773,"imageSearchUrl":null,"source":null},{"id":"ef94d98c-1c56-4eaa-b1c2-7b17c207c241","onsiteEditType":"text","variationId":"d268ef80-34d7-4d02-a050-bc997f7b4e65","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-1hnjim7 > span"],"skip":true,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/?ig-preview=0eaea63a-23dc-4f19-a183-1a1852d82b4d&ig-builder-entity=experiment","createdAtTs":1770666619862,"imageSearchUrl":null,"source":null},{"id":"f1b33324-2a85-4404-a56d-c59c77d84a12","onsiteEditType":"text","variationId":"343cd60f-d56a-481f-8962-c5fe29256b1d","find":null,"title":"","isRegex":false,"replace":"$39.00","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-flex-pillow?variant=47171310813437","createdAtTs":1776895540957,"imageSearchUrl":null,"source":null},{"id":"f26ed2df-db84-4516-af80-b72c0f3a4ef6","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"29","title":"Waterproof & Stain-Resistant Hotel Pillow","isRegex":false,"replace":"29.99","querySelectors":["div:nth-of-type(2) > div:nth-of-type(3) .price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/shop","createdAtTs":1779212802934,"imageSearchUrl":null,"source":null},{"id":"f4606f5e-f88f-4d3e-8290-25e8349fc1a7","onsiteEditType":"text","variationId":"458e0b20-1e4c-4691-9955-72d5c4b20d9d","find":"29.00","title":"Waterproof & Stain-Resistant Hotel Pillow - 1 pillow","isRegex":false,"replace":"29.99","querySelectors":["div:nth-of-type(1) > .kaching-bundles__bar-main .kaching-bundles__bar-price"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=47481135857917&pb=0","createdAtTs":1778698743243,"imageSearchUrl":null,"source":null},{"id":"f5bc58e9-a972-4420-ae87-8fc33cb87408","onsiteEditType":"hide","variationId":"7ab5945a-7258-44c4-ae00-0bd45a3419ef","find":null,"title":"No Data Provided for Find-and-Replace Operation","isRegex":false,"replace":"","querySelectors":[".r-119qp4g > span > p:nth-of-type(2)"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/cloud-alignment-pillow?variant=46633451225341","createdAtTs":1771809258625,"imageSearchUrl":null,"source":null},{"id":"f63be8df-f644-4633-ade1-b2a4e23cda82","onsiteEditType":"text","variationId":"b1614810-989f-4f8f-acc0-38a25327c555","find":"","title":"No JSON Input Provided for Find-and-Replace Operation","isRegex":false,"replace":"5-Star Hotel Feeling Every Single Time You Lay Down","querySelectors":["h1 > span"],"skip":false,"remove":false,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/pages/lp-hpil-perf-hotel-1?pb=0","createdAtTs":1777076638274,"imageSearchUrl":null,"source":null},{"id":"fde65617-265f-4865-b5f6-4bee4cab21f6","onsiteEditType":"hide","variationId":"bccc3f18-092e-4302-b2c3-82106ab8bed9","find":null,"title":"","isRegex":false,"replace":"","querySelectors":[".r-asza7s"],"skip":false,"remove":true,"isHtml":false,"isImage":false,"insertType":null,"createdAtUrl":"https://mellowsleep.com/products/mellow-adapt-pillow","createdAtTs":1771355782432,"imageSearchUrl":null,"source":null}],"onsiteInjections":[{"id":"efacbdde-4e58-4e5c-8480-43644ddc26d4","variationId":"d1b308bc-5823-45a9-a1d3-595c1f316cd8","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 1,\n        selector: '.list-menu [href=\"/pages/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid',\n        productGridSectionSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX',\n        mobileDrawerNavSelector: '.menu-drawer__navigation-container',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/pages/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 989;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .card-badge{\n                  font-size:14px;\n                }                \n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .description{\n                  display:none;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                    text-align:left;\n                    font-size:24px;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;     \n                    text-decoration:none;\n                    color: var(--color-darkpurple);\n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-info a{\n                  text-decoration:none;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .details-wrapper{\n                  justify-content: flex-start;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .price-wrapper, #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .btn{\n                  display:none;\n                }\n                @media screen and (max-width: 989px) {\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                        position: relative;\n                        top:unset;\n                    }\n                    body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                        display: flex;\n                        opacity: 1 !important;\n                        visibility: visible !important;\n                        width:100vw;\n                        padding-bottom:15px;\n                    }\n                    body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                        transform:unset !important;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper{\n                        display: flex;\n                        flex-direction: column;\n                        pointer-events: auto;\n                        width: 92vw;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                        overflow: scroll;\n                        padding-top:10px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                        display: flex;\n                        width: 598px;\n                        flex-shrink: 0;\n                    }\n                    #SB003DM-shop-all-link{\n                        font-size:14px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                      margin-bottom:10px;\n                    }                    \n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                      font-size:18px;\n                    }                    \n               }\n               @media screen and (max-width: 989px) and (min-width:768px){\n                 #menu-drawer{\n                   width:100%;\n                 }\n                 .menu-drawer__navigation-container{\n                     grid-template-rows: 1fr 1fr;\n                 }\n                 #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                   overflow:visible;\n                 }\n                 body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                 padding-top:10px;\n                 }\n               }               \n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        moveProductGridSectionForMobile: function () {\n            if (!helpers.isMobileScreen()) return;\n\n            const sectionSel = TEST_CONFIG.productGridSectionSelector;\n            const drawerNavSel = TEST_CONFIG.mobileDrawerNavSelector;\n\n            const tryPrependSection = () => {\n                const drawerNav = document.querySelector(drawerNavSel);\n                const section = document.querySelector(sectionSel);\n                if (!drawerNav || !section) return false;\n                if (section.getAttribute('data-sb003dm-mobile-drawer') === '1') return true;\n                drawerNav.prepend(section);\n                section.setAttribute('data-sb003dm-mobile-drawer', '1');\n                return true;\n            };\n\n            if (tryPrependSection()) return;\n\n            helpers.waitForElem(drawerNavSel, () => {\n                if (tryPrependSection()) return;\n                helpers.waitForElem(sectionSel, () => {\n                    tryPrependSection();\n                }, 1, false, 15000);\n            }, 1, false, 15000);\n        },\n\n        ensureProductGridContainer: function () {\n            const productGrid = document.querySelector(`${TEST_CONFIG.targetGridSelector} .product-grid`);\n            if (!productGrid) return false;\n            const parent = productGrid.parentElement;\n            if (parent && parent.classList.contains('product-grid-container')) return true;\n            const container = document.createElement('div');\n            container.className = 'product-grid-container';\n            parent.insertBefore(container, productGrid);\n            container.appendChild(productGrid);\n            return true;\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n            this.moveProductGridSectionForMobile();\n\n            const productGridWaitSel = `${TEST_CONFIG.targetGridSelector} .product-grid`;\n            if (!this.ensureProductGridContainer()) {\n                helpers.waitForElem(productGridWaitSel, () => {\n                    this.ensureProductGridContainer();\n                }, 1, false, 15000);\n            }\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    el.addEventListener(\"mouseenter\", show, true);\n                    //el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    //el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    //el.addEventListener(\"pointerenter\", show, false);\n                    //el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop All<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n  \n\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"7de37424-04bf-4b63-8e6f-86e02d3d6790","variationId":"eb90f16a-dc12-47dc-8ad2-380c641a3967","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 1,\n        selector: '.list-menu [href=\"/pages/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid',\n        productGridSectionSelector: '#shopify-section-sections--21956431708413__ms_product_grid_crL8BX',\n        mobileDrawerNavSelector: '.menu-drawer__navigation-container',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/pages/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 989;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .card-badge{\n                  font-size:14px;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                    text-align:left;\n                    font-size:24px;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;     \n                    text-decoration:none;\n                    color: var(--color-darkpurple);\n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-info a{\n                  text-decoration:none;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .details-wrapper{\n                  justify-content: flex-start;\n                }\n                #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .price-wrapper, #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .btn{\n                  display:none;\n                }\n                @media screen and (max-width: 989px) {\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX{\n                        position: relative;\n                        top:unset;\n                    }\n                    body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                        display: flex;\n                        opacity: 1 !important;\n                        visibility: visible !important;\n                        width:100vw;\n                        padding-bottom:15px;\n                    }\n                    body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                        transform:unset !important;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper{\n                        display: flex;\n                        flex-direction: column;\n                        pointer-events: auto;\n                        width: 92vw;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                        overflow: scroll;\n                        padding-top:10px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .product-grid{\n                        display: flex;\n                        width: 598px;\n                        flex-shrink: 0;\n                    }\n                    #SB003DM-shop-all-link{\n                        font-size:14px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading{\n                      margin-bottom:10px;\n                    }\n                    #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .purple{\n                      font-size:18px;\n                    }\n               }\n               @media screen and (max-width: 989px) and (min-width:768px){\n                 #menu-drawer{\n                   width:100%;\n                 }\n                 .menu-drawer__navigation-container{\n                     grid-template-rows: 1fr 1fr;\n                 }\n                 #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .content-wrapper .product-grid-container{\n                   overflow:visible;\n                 }\n                 body.SB003DM:not(.SB003DM-hover-shop) #shopify-section-sections--21956431708413__ms_product_grid_crL8BX .ms-product-grid{\n                 padding-top:10px;\n                 }\n               }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        moveProductGridSectionForMobile: function () {\n            if (!helpers.isMobileScreen()) return;\n\n            const sectionSel = TEST_CONFIG.productGridSectionSelector;\n            const drawerNavSel = TEST_CONFIG.mobileDrawerNavSelector;\n\n            const tryPrependSection = () => {\n                const drawerNav = document.querySelector(drawerNavSel);\n                const section = document.querySelector(sectionSel);\n                if (!drawerNav || !section) return false;\n                if (section.getAttribute('data-sb003dm-mobile-drawer') === '1') return true;\n                drawerNav.prepend(section);\n                section.setAttribute('data-sb003dm-mobile-drawer', '1');\n                return true;\n            };\n\n            if (tryPrependSection()) return;\n\n            helpers.waitForElem(drawerNavSel, () => {\n                if (tryPrependSection()) return;\n                helpers.waitForElem(sectionSel, () => {\n                    tryPrependSection();\n                }, 1, false, 15000);\n            }, 1, false, 15000);\n        },\n\n        ensureProductGridContainer: function () {\n            const productGrid = document.querySelector(`${TEST_CONFIG.targetGridSelector} .product-grid`);\n            if (!productGrid) return false;\n            const parent = productGrid.parentElement;\n            if (parent && parent.classList.contains('product-grid-container')) return true;\n            const container = document.createElement('div');\n            container.className = 'product-grid-container';\n            parent.insertBefore(container, productGrid);\n            container.appendChild(productGrid);\n            return true;\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n            this.moveProductGridSectionForMobile();\n\n            const productGridWaitSel = `${TEST_CONFIG.targetGridSelector} .product-grid`;\n            if (!this.ensureProductGridContainer()) {\n                helpers.waitForElem(productGridWaitSel, () => {\n                    this.ensureProductGridContainer();\n                }, 1, false, 15000);\n            }\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    //el.addEventListener(\"mouseenter\", blockThemeHover, true);\n                    el.addEventListener(\"mouseenter\", show, true);\n                    //el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    //el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    //el.addEventListener(\"pointerenter\", show, false);\n                    //el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21956431708413__ms_product_grid_crL8BX .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop All<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n  \n\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"immediately","timeout":3000},"source":null},{"id":"5f831de2-7d84-4089-a85d-95f3fd6e67a5","variationId":"20cc3b64-e642-465d-9a42-53bf6440ab93","customCss":".termsLink{\n  font-size: 14px;\n}\n\n.termsLink a{\n  color:#4D4184FF;\n}\n\n.sb-001dm-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 9999;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  opacity: 0;\n  visibility: hidden;\n  transition: opacity 0.2s, visibility 0.2s;\n}\n\n.sb-001dm-modal.is-open {\n  opacity: 1;\n  visibility: visible;\n}\n\n.sb-001dm-modal-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  width: 100vw;\n  height: 100vh;\n  background: rgba(0, 0, 0, 0.7);\n  z-index: 0;\n  cursor: pointer;\n  display: block !important;\n}\n\n.sb-001dm-modal-box {\n  position: relative;\n  z-index: 1;\n  background: #fff;\n  border-radius: 8px;\n  max-width: 1080px;\n  width: 100%;\n  max-height: 90vh;\n  overflow: hidden;\n  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);\n}\n\n.sb-001dm-modal-close {\n  position: absolute;\n  top: 0.5rem;\n  right: 0.5rem;\n  background: none;\n  border: none;\n  font-size: 2.5rem;\n  line-height: 1;\n  cursor: pointer;\n  color: #666;\n  padding: 0.25rem;\n}\n\n.sb-001dm-modal-close:hover {\n  color: #000;\n}\n\n.sb-001dm-modal-content {\n  padding: 1.5rem 2rem 1.5rem 1.5rem;\n  scrollbar-color: #4d4184 #d9d9d9;\n}\n\n.sb-001dm-modal-content h2{\n color: #4D4184;\n  font-size:32px;\n}\n\n.sb-001dm-modal-content p{\n  font-size:16px;\n  color:#000;\n  font-style: normal;\n  font-weight: 500;\n  line-height: normal;  \n}\n\n.sb-001dm-modal-box .modalCopy{\n    overflow-y: scroll;\n    height: 100%;\n    max-height: 702px; \n}\n\n@media (max-width:500px){\n  .termsLink{\n    font-size: 12px;\n  }\n  .sb-001dm-modal-box .modalCopy{\n    max-height:70vh\n  }\n}","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB-001DM',\n        name: 'Retail Price Display vs Strikethrough Pricing',\n        variation: 1,\n        selector: '[data-price=\"price\"]',\n        variationClass: '.SB-001DM'\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 768;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB001DM = {\n        init: function (element) {\n            this.mainJS(element);\n        },\n\n        mainJS: function (element) {\n            document.body.classList.add(TEST_CONFIG.id);\n            var elementParent = element.parentNode;\n            if(window.location.pathname !== '/products/marshmellow-comforter/'){\n              console.log('--oi');\n              elementParent.insertAdjacentHTML(\"afterend\", '<div class=\"termsLink\">Savings based on comparable value. <a href=\"/pages/terms\" class=\"modalLink\">Learn more</a></div>');\n            }\n            else {\n              element.insertAdjacentHTML(\"afterend\", '<div class=\"termsLink\">Savings based on comparable value. <a href=\"/pages/terms\" class=\"modalLink\">Learn more \u2197</a></div>');\n            }\n            this.injectModal();\n            this.bindModalEvents();\n        },\n\n        injectModal: function () {\n            if (document.getElementById(\"sb-001dm-modal\")) return;\n            const modalHTML = `\n                <div id=\"sb-001dm-modal\" class=\"sb-001dm-modal\" aria-hidden=\"true\">\n                    <div class=\"sb-001dm-modal-overlay\"></div>\n                    <div class=\"sb-001dm-modal-box\">\n                        <button type=\"button\" class=\"sb-001dm-modal-close\" aria-label=\"Close modal\"><svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.53336 24.4107L7.58936 23.4667L15.056 16L7.58936 8.53336L8.53336 7.58936L16 15.056L23.4667 7.58936L24.4107 8.53336L16.944 16L24.4107 23.4667L23.4667 24.4107L16 16.944L8.53336 24.4107Z\" fill=\"black\"/></svg></button>\n                        <div class=\"sb-001dm-modal-content\">\n                            <h2>Pricing Disclosure</h2>\n                            <div class=\"modalCopy\">\n                            <p>The listed comparable value represents the manufacturer's suggested retail price or the average retail price of similar products with comparable features, materials, and construction available from major retailers at the time of listing. Mellow's sale price reflects our direct-to-consumer pricing model, which eliminates traditional retail markups. Comparable values are reviewed periodically and may not reflect real-time pricing from all retailers.</p>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            `;\n            document.body.insertAdjacentHTML(\"beforeend\", modalHTML);\n        },\n\n        lockBodyScroll: function () {\n            const scrollY = window.scrollY || window.pageYOffset;\n            document.body.style.overflow = \"hidden\";\n            document.body.style.position = \"fixed\";\n            document.body.style.top = `-${scrollY}px`;\n            document.body.style.left = \"0\";\n            document.body.style.right = \"0\";\n            document.body.setAttribute(\"data-sb-001dm-scroll-y\", String(scrollY));\n        },\n\n        unlockBodyScroll: function () {\n            const scrollY = parseInt(document.body.getAttribute(\"data-sb-001dm-scroll-y\") || \"0\", 10);\n            document.body.style.overflow = \"\";\n            document.body.style.position = \"\";\n            document.body.style.top = \"\";\n            document.body.style.left = \"\";\n            document.body.style.right = \"\";\n            document.body.removeAttribute(\"data-sb-001dm-scroll-y\");\n            window.scrollTo(0, scrollY);\n        },\n\n        bindModalEvents: function () {\n            document.addEventListener(\"click\", (e) => {\n                if (!e.target.closest(\".modalLink\")) return;\n                e.preventDefault();\n                const modal = document.getElementById(\"sb-001dm-modal\");\n                if (modal) {\n                    modal.classList.add(\"is-open\");\n                    modal.setAttribute(\"aria-hidden\", \"false\");\n                    this.lockBodyScroll();\n                }\n            });\n            document.addEventListener(\"click\", (e) => {\n                const modal = document.getElementById(\"sb-001dm-modal\");\n                if (!modal || !modal.classList.contains(\"is-open\")) return;\n                if (e.target.classList.contains(\"sb-001dm-modal-overlay\") || e.target.closest(\".sb-001dm-modal-close\")) {\n                    modal.classList.remove(\"is-open\");\n                    modal.setAttribute(\"aria-hidden\", \"true\");\n                    this.unlockBodyScroll();\n                }\n            });\n            document.addEventListener(\"keydown\", (e) => {\n                if (e.key !== \"Escape\") return;\n                const modal = document.getElementById(\"sb-001dm-modal\");\n                if (modal && modal.classList.contains(\"is-open\")) {\n                    modal.classList.remove(\"is-open\");\n                    modal.setAttribute(\"aria-hidden\", \"true\");\n                    this.unlockBodyScroll();\n                }\n            });\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, (elements) => {\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB001DM.init(elements[0]);\n    });\n})();","jsInjectionMode":{"type":"onWindowLoad"},"source":null},{"id":"f086200e-0d44-44f1-be14-c86522395c1e","variationId":"054db3b4-05ca-42ba-b77f-0e6bae5cd3b3","customCss":".shopify-section:nth-child(4) .ms-product-grid{\n  display:flex !important\n}\n\n#shopify-section-template--21754931577085__ms_product_grid_mgijtg{\n  display:none !important;\n}\n\nsection.ms-product-grid .content-wrapper .heading h2{\n  text-align:left;\n}\n\nsection.ms-product-grid .content-wrapper .heading {\n    display: flex;\n}\n\n.ms-product-grid .card-badge{\n  display:none;\n}\n\n#SB002DM-shop-all-link{\n  font-size:25px;\n  text-decoration:underline;\n}\n\n@media (max-width:768px){\n  #SB002DM-shop-all-link{\n    font-size:16px;\n  }\n}","customJs":"(function () {\n    // Test configuration\n    const SECTION_ID = 'shopify-section-template--21754931577085__ms_product_grid_JVpAqF';\n    const TEST_CONFIG = {\n        id: 'SB002DM',\n        name: 'Moving Products/Collections Higher on Homepage',\n        variation: 1,\n        selector: `#${SECTION_ID} .heading`,\n        variationClass: '.SB002DM',\n        shopAllHref: '/collections/shop',\n        productGridSelector: `#${SECTION_ID} .ms-product-grid .product-grid`,\n        mobileMaxWidth: 768\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= TEST_CONFIG.mobileMaxWidth;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB002DMTuftV2 = {\n        init: function (heading) {\n            this.mainCSS();\n            this.mainJS(heading);\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 mobile horizontal slider for product grid */\n                @media (max-width: ${TEST_CONFIG.mobileMaxWidth}px) {\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} {\n                        --ab-slider-gap: 12px;\n                        --ab-slider-peek: clamp(18px, 6vw, 36px);\n                        display: flex !important;\n                        flex-direction: row;\n                        flex-wrap: nowrap;\n                        align-items: stretch;\n                        gap: var(--ab-slider-gap);\n                        overflow-x: auto;\n                        overflow-y: visible;\n                        -webkit-overflow-scrolling: touch;\n                        overscroll-behavior-x: contain;\n                        scroll-snap-type: x proximity;\n                        scroll-padding-inline: 16px;\n                        padding-inline: 16px;\n                        margin-inline: -16px;\n                        width: calc(100% + 32px);\n                        max-width: none;\n                        grid-template-columns: none !important;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} > * {\n                        flex: 0 0 calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        max-width: calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        min-width: 0;\n                        scroll-snap-align: start;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector}::after {\n                        content: \"\";\n                        flex: 0 0 16px;\n                        scroll-snap-align: end;\n                    }\n                    body${TEST_CONFIG.variationClass} .ms-product-grid .content-wrapper{\n                      max-width:100%;\n                    }\n                }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function (heading) {\n            document.body.classList.add(`${TEST_CONFIG.id}`);\n            if (!heading || document.getElementById(`${TEST_CONFIG.id}-shop-all-link`)) return;\n\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all</a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, (elements) => {\n        const heading = elements[0];\n        if (!heading) return;\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DMTuftV2.init(heading);\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"213b1100-1935-4cb6-a58b-fdee5ff9578a","variationId":"aac67caf-a112-4d38-a594-b74d266bf01c","customCss":".shopify-section:nth-child(3) .ms-product-grid{\n  display:flex !important\n}\n\n#shopify-section-template--21754931577085__ms_product_grid_mgijtg{\n  display:none !important;\n}\n\nsection.ms-product-grid .content-wrapper .heading h2{\n  text-align:left;\n}\n\n#SB002DM-v3-shop-all-link{\n  text-decoration:underline;\n  font-size:25px;\n}\n\n.ms-product-grid .content-wrapper{\n  width:100%;\n}\n\nsection.ms-product-grid .content-wrapper .heading{\n  margin-bottom:0;\n}\n\n.ms-product-grid .card-badge{\n  display:none;\n}\n\n@media (max-width:768px){\n  #SB002DM-v3-shop-all-link{\n    font-size:16px;\n  }\n}","customJs":"(function () {\n    const TEST_CONFIG = {\n        id: 'SB002DM-v3',\n        name: 'Product grid carousel',\n        variation: 1,\n        selector: '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN .product-grid',\n        variationClass: '.SB002DM-v3',\n        headingH2Text: 'Shop By Bestsellers',\n        shopAllHref: '/collections/shop',\n        shopAllLabel: 'Shop All',\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            const elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n            (isVariable && typeof window[waitFor] !== 'undefined')\n                ? callback(elements)\n                : setTimeout(\n                      () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency),\n                      frequency\n                  );\n        },\n    };\n\n    const SECTION_ID = '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN';\n\n    const SB002DM = {\n        init: function (gridEl) {\n            this.gridEl = gridEl;\n            this.wrapEl = null;\n            this.prevBtn = null;\n            this.nextBtn = null;\n            this.mainCSS();\n            this.patchMsProductGridHeading();\n            this.mainJS();\n        },\n\n        patchMsProductGridHeading: function () {\n            const section = document.querySelector(SECTION_ID);\n            if (!section) return;\n\n            const h2 = section.querySelector('.ms-product-grid h2');\n            if (h2) h2.textContent = TEST_CONFIG.headingH2Text;\n\n            const textEl = section.querySelector('.heading .text');\n            if (textEl && !textEl.getAttribute('data-ab-sb002dm-shop-all')) {\n                const link = document.createElement('a');\n                link.href = TEST_CONFIG.shopAllHref;\n                link.textContent = TEST_CONFIG.shopAllLabel;\n                link.className = textEl.className;\n                link.id = `${TEST_CONFIG.id}-shop-all-link`;\n                link.setAttribute('data-ab-sb002dm-shop-all', '1');\n                link.setAttribute('data-ab-test', TEST_CONFIG.id);\n                textEl.replaceWith(link);\n            }\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap {\n                    position: relative;\n                    width: 100%;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrows {\n                    position: absolute;\n                    top: -26px;\n                    right: 0;\n                    z-index: 3;\n                    display: flex;\n                    flex-direction: row;\n                    gap: 6px;\n                    align-items: center;\n                    pointer-events: auto;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow {\n                    box-sizing: border-box;\n                    width: 32px;\n                    height: 32px;\n                    padding: 0;\n                    margin: 0;\n                    border-radius: 50%;\n                    background: #4C4184;\n                    color: #ffffff;\n                    font-size: 20px;\n                    line-height: 1;\n                    cursor: pointer;\n                    display: inline-flex;\n                    align-items: center;\n                    justify-content: center;\n                    transition: background 0.15s ease, border-color 0.15s ease;\n                    border:0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:hover:not(:disabled) {\n                    background: #f5f5f5;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:disabled {\n                    opacity: 0.35;\n                    cursor: not-allowed;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 3;\n                    display: flex !important;\n                    flex-direction: row !important;\n                    flex-wrap: nowrap !important;\n                    overflow-x: auto !important;\n                    overflow-y: hidden !important;\n                    scroll-behavior: smooth;\n                    scroll-snap-type: x mandatory;\n                    -webkit-overflow-scrolling: touch;\n                    scrollbar-width: none;\n                    -ms-overflow-style: none;\n                    gap: var(--product-grid-gap, 1rem);\n                    padding-top: 44px;\n                    margin: 0;\n                    list-style: none;\n                    overscroll-behavior-x: contain;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid::-webkit-scrollbar {\n                    display: none;\n                    width: 0;\n                    height: 0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid > * {\n                    box-sizing: border-box;\n                    flex: 0 0 calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width: calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width:446px;\n                    min-width: 0;\n                    scroll-snap-align: start;\n                }\n                @media (max-width:500px){\n                 ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 2;\n                  }\n                }\n            `;\n\n            const style = document.createElement('style');\n            style.id = styleId;\n            style.setAttribute('data-ab-test', TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        updateArrowState: function () {\n            const grid = this.gridEl;\n            const prev = this.prevBtn;\n            const next = this.nextBtn;\n            if (!grid || !prev || !next) return;\n            const epsilon = 2;\n            prev.disabled = grid.scrollLeft <= epsilon;\n            next.disabled = grid.scrollLeft + grid.clientWidth >= grid.scrollWidth - epsilon;\n        },\n\n        mainJS: function () {\n            const grid = this.gridEl;\n            const section = document.querySelector(SECTION_ID);\n            if (section) section.classList.add('SB002DM-v3');\n            else document.body.classList.add('SB002DM-v3');\n\n            const wrap = document.createElement('div');\n            wrap.className = 'SB002DM-v3-carousel-wrap';\n            wrap.setAttribute('data-ab-carousel', TEST_CONFIG.id);\n            this.wrapEl = wrap;\n\n            grid.parentNode.insertBefore(wrap, grid);\n            wrap.appendChild(grid);\n\n            wrap.insertAdjacentHTML(\n                'afterbegin',\n                `<div class=\"SB002DM-v3-arrows\" role=\"group\" aria-label=\"Product carousel\">\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-prev\" aria-label=\"Previous products\">&#8249;</button>\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-next\" aria-label=\"Next products\">&#8250;</button>\n                </div>`\n            );\n\n            const prevBtn = wrap.querySelector('.SB002DM-v3-prev');\n            const nextBtn = wrap.querySelector('.SB002DM-v3-next');\n            this.prevBtn = prevBtn;\n            this.nextBtn = nextBtn;\n\n            const scrollStep = () => {\n                const first = grid.querySelector(':scope > *');\n                if (!first) return Math.max(200, grid.clientWidth * 0.85);\n                const rect = first.getBoundingClientRect();\n                const gap = parseFloat(getComputedStyle(grid).gap) || 0;\n                return rect.width + gap;\n            };\n\n            prevBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: -scrollStep(), behavior: 'smooth' });\n            });\n            nextBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: scrollStep(), behavior: 'smooth' });\n            });\n\n            grid.addEventListener('scroll', () => this.updateArrowState(), { passive: true });\n            window.addEventListener(\n                'resize',\n                () => {\n                    this.updateArrowState();\n                },\n                { passive: true }\n            );\n\n            requestAnimationFrame(() => this.updateArrowState());\n        },\n    };\n\n    helpers.waitForElem(TEST_CONFIG.selector, (nodeList) => {\n        const grid = nodeList[0];\n        if (!grid || document.querySelector(`${SECTION_ID} .SB002DM-v3-carousel-wrap`)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DM.init(grid);\n    });\n\n    helpers.waitForElem(`${SECTION_ID} .heading .text`, () => {\n        SB002DM.patchMsProductGridHeading();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"cafb0f20-0173-4b0f-a536-3d8b06b0d942","variationId":"f02f4ec3-a7c5-471b-b86e-f94ad0bcda53","customCss":".shopify-section:nth-child(3) .ms-product-grid{\n  display:flex !important\n}\n\n#shopify-section-template--21754931577085__ms_product_grid_mgijtg{\n  display:none !important;\n}\n\n.ms-product-grid .card-badge{\n  display:none;\n}\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"fcfd24aa-315d-44bc-98af-5249e395ceeb","variationId":"15884008-6066-4830-9ccd-9642afb133ac","customCss":"#upCart::part(sidecartTopAnnouncements), .sb017dm{\n    display:block !important;\n  }\n  \n  #upCart::part(sb017dmv2), .sb017dmv2{\n    display:none !important;\n  }","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"a133617c-ac00-43fd-98c2-dba324fbf12a","variationId":"cc5c4fa3-5de8-4d86-96fd-d8658f759744","customCss":"#upCart::part(sidecartTopAnnouncements), .sb017dm{\n    display:block !important;\n  }\n  \n  #upCart::part(sb017dmv1), .sb017dmv1{\n    display:none !important;\n  }","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"bf165a9b-b308-4a3d-99f7-5e08f9eb4472","variationId":"0288498e-fea4-4835-bb0c-8c3a79efc323","customCss":"div[data-products-list=\"products-list-control\"], div[data-products-list=\"products-list-control-mobile\"]{\n  display:none !important;\n}\n\ndiv[data-products-list=\"products-list-v1\"]{\n  display:flex !important;\n}\n\n@media (max-width:500px){\n  div[data-products-list=\"products-list-v1\"]{\n    display:none !important;\n  }\n   div[data-products-list=\"products-list-v1-mobile\"]{\n    display:flex !important;\n  } \n}","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"1d80fcd1-a71f-4830-8c32-1041f53cecfd","variationId":"9336a0eb-5466-4f2b-a2bd-f913f8599a08","customCss":"div[data-products-list=\"products-list-control\"], div[data-products-list=\"products-list-control-mobile\"]{\n  display:none !important;\n}\n\ndiv[data-products-list=\"products-list-v2\"]{\n  display:flex !important;\n}","customJs":"(function () {\n    // Test configuration\n    const SECTION_ID = 'shopify-section-template--21754931577085__ms_product_grid_JVpAqF';\n    const TEST_CONFIG = {\n        id: 'SB002DM',\n        name: 'Moving Products/Collections Higher on Homepage',\n        variation: 1,\n        selector: `#${SECTION_ID} .heading`,\n        variationClass: '.SB002DM',\n        shopAllHref: '/collections/shop',\n        productGridSelector: `#${SECTION_ID} .ms-product-grid .product-grid`,\n        mobileMaxWidth: 768\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= TEST_CONFIG.mobileMaxWidth;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB002DMTuftV2 = {\n        init: function (heading) {\n            this.mainCSS();\n            this.mainJS(heading);\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 mobile horizontal slider for product grid */\n                @media (max-width: ${TEST_CONFIG.mobileMaxWidth}px) {\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} {\n                        --ab-slider-gap: 12px;\n                        --ab-slider-peek: clamp(18px, 6vw, 36px);\n                        display: flex !important;\n                        flex-direction: row;\n                        flex-wrap: nowrap;\n                        align-items: stretch;\n                        gap: var(--ab-slider-gap);\n                        overflow-x: auto;\n                        overflow-y: visible;\n                        -webkit-overflow-scrolling: touch;\n                        overscroll-behavior-x: contain;\n                        scroll-snap-type: x proximity;\n                        scroll-padding-inline: 16px;\n                        padding-inline: 16px;\n                        margin-inline: -16px;\n                        width: calc(100% + 32px);\n                        max-width: none;\n                        grid-template-columns: none !important;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector} > * {\n                        flex: 0 0 calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        max-width: calc((100% - 2 * var(--ab-slider-gap) - var(--ab-slider-peek)) / 2);\n                        min-width: 0;\n                        scroll-snap-align: start;\n                    }\n                    body${TEST_CONFIG.variationClass} ${TEST_CONFIG.productGridSelector}::after {\n                        content: \"\";\n                        flex: 0 0 16px;\n                        scroll-snap-align: end;\n                    }\n                    body${TEST_CONFIG.variationClass} .ms-product-grid .content-wrapper{\n                      max-width:100%;\n                    }\n                }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function (heading) {\n            document.body.classList.add(`${TEST_CONFIG.id}`);\n            if (!heading || document.getElementById(`${TEST_CONFIG.id}-shop-all-link`)) return;\n\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all</a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, (elements) => {\n        const heading = elements[0];\n        if (!heading) return;\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DMTuftV2.init(heading);\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"ff68875d-074f-47e6-9d75-17ca8ff20f3a","variationId":"c842f000-9412-4c02-8322-f587bd2ab2bd","customCss":"div[data-products-list=\"products-list-control\"], div[data-products-list=\"products-list-control-mobile\"]{\n  display:none !important;\n}\n\ndiv[data-products-list=\"products-list-v3\"]{\n  display:flex !important;\n}","customJs":"(function () {\n    const TEST_CONFIG = {\n        id: 'SB002DM-v3',\n        name: 'Product grid carousel',\n        variation: 1,\n        selector: '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN .product-grid',\n        variationClass: '.SB002DM-v3',\n        headingH2Text: 'Shop By Bestsellers',\n        shopAllHref: '/collections/shop',\n        shopAllLabel: 'Shop All',\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            const elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n            (isVariable && typeof window[waitFor] !== 'undefined')\n                ? callback(elements)\n                : setTimeout(\n                      () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency),\n                      frequency\n                  );\n        },\n    };\n\n    const SECTION_ID = '#shopify-section-template--21754931577085__ms_product_grid_LNUkBN';\n\n    const SB002DM = {\n        init: function (gridEl) {\n            this.gridEl = gridEl;\n            this.wrapEl = null;\n            this.prevBtn = null;\n            this.nextBtn = null;\n            this.mainCSS();\n            this.patchMsProductGridHeading();\n            this.mainJS();\n        },\n\n        patchMsProductGridHeading: function () {\n            const section = document.querySelector(SECTION_ID);\n            if (!section) return;\n\n            const h2 = section.querySelector('.ms-product-grid h2');\n            if (h2) h2.textContent = TEST_CONFIG.headingH2Text;\n\n            const textEl = section.querySelector('.heading .text');\n            if (textEl && !textEl.getAttribute('data-ab-sb002dm-shop-all')) {\n                const link = document.createElement('a');\n                link.href = TEST_CONFIG.shopAllHref;\n                link.textContent = TEST_CONFIG.shopAllLabel;\n                link.className = textEl.className;\n                link.id = `${TEST_CONFIG.id}-shop-all-link`;\n                link.setAttribute('data-ab-sb002dm-shop-all', '1');\n                link.setAttribute('data-ab-test', TEST_CONFIG.id);\n                textEl.replaceWith(link);\n            }\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const css = `\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap {\n                    position: relative;\n                    width: 100%;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrows {\n                    position: absolute;\n                    top: -26px;\n                    right: 0;\n                    z-index: 3;\n                    display: flex;\n                    flex-direction: row;\n                    gap: 6px;\n                    align-items: center;\n                    pointer-events: auto;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow {\n                    box-sizing: border-box;\n                    width: 32px;\n                    height: 32px;\n                    padding: 0;\n                    margin: 0;\n                    border-radius: 50%;\n                    background: #4C4184;\n                    color: #ffffff;\n                    font-size: 20px;\n                    line-height: 1;\n                    cursor: pointer;\n                    display: inline-flex;\n                    align-items: center;\n                    justify-content: center;\n                    transition: background 0.15s ease, border-color 0.15s ease;\n                    border:0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:hover:not(:disabled) {\n                    background: #f5f5f5;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-arrow:disabled {\n                    opacity: 0.35;\n                    cursor: not-allowed;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 3;\n                    display: flex !important;\n                    flex-direction: row !important;\n                    flex-wrap: nowrap !important;\n                    overflow-x: auto !important;\n                    overflow-y: hidden !important;\n                    scroll-behavior: smooth;\n                    scroll-snap-type: x mandatory;\n                    -webkit-overflow-scrolling: touch;\n                    scrollbar-width: none;\n                    -ms-overflow-style: none;\n                    gap: var(--product-grid-gap, 1rem);\n                    padding-top: 44px;\n                    margin: 0;\n                    list-style: none;\n                    overscroll-behavior-x: contain;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid::-webkit-scrollbar {\n                    display: none;\n                    width: 0;\n                    height: 0;\n                }\n                ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid > * {\n                    box-sizing: border-box;\n                    flex: 0 0 calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width: calc(\n                        (100% - (var(--sb002dm-visible-slides) - 1) * var(--product-grid-gap, 1rem)) /\n                            var(--sb002dm-visible-slides)\n                    );\n                    max-width:446px;\n                    min-width: 0;\n                    scroll-snap-align: start;\n                }\n                @media (max-width:500px){\n                 ${TEST_CONFIG.variationClass} .SB002DM-v3-carousel-wrap .product-grid {\n                    --sb002dm-visible-slides: 2;\n                  }\n                }\n            `;\n\n            const style = document.createElement('style');\n            style.id = styleId;\n            style.setAttribute('data-ab-test', TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        updateArrowState: function () {\n            const grid = this.gridEl;\n            const prev = this.prevBtn;\n            const next = this.nextBtn;\n            if (!grid || !prev || !next) return;\n            const epsilon = 2;\n            prev.disabled = grid.scrollLeft <= epsilon;\n            next.disabled = grid.scrollLeft + grid.clientWidth >= grid.scrollWidth - epsilon;\n        },\n\n        mainJS: function () {\n            const grid = this.gridEl;\n            const section = document.querySelector(SECTION_ID);\n            if (section) section.classList.add('SB002DM-v3');\n            else document.body.classList.add('SB002DM-v3');\n\n            const wrap = document.createElement('div');\n            wrap.className = 'SB002DM-v3-carousel-wrap';\n            wrap.setAttribute('data-ab-carousel', TEST_CONFIG.id);\n            this.wrapEl = wrap;\n\n            grid.parentNode.insertBefore(wrap, grid);\n            wrap.appendChild(grid);\n\n            wrap.insertAdjacentHTML(\n                'afterbegin',\n                `<div class=\"SB002DM-v3-arrows\" role=\"group\" aria-label=\"Product carousel\">\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-prev\" aria-label=\"Previous products\">&#8249;</button>\n                    <button type=\"button\" class=\"SB002DM-v3-arrow SB002DM-v3-next\" aria-label=\"Next products\">&#8250;</button>\n                </div>`\n            );\n\n            const prevBtn = wrap.querySelector('.SB002DM-v3-prev');\n            const nextBtn = wrap.querySelector('.SB002DM-v3-next');\n            this.prevBtn = prevBtn;\n            this.nextBtn = nextBtn;\n\n            const scrollStep = () => {\n                const first = grid.querySelector(':scope > *');\n                if (!first) return Math.max(200, grid.clientWidth * 0.85);\n                const rect = first.getBoundingClientRect();\n                const gap = parseFloat(getComputedStyle(grid).gap) || 0;\n                return rect.width + gap;\n            };\n\n            prevBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: -scrollStep(), behavior: 'smooth' });\n            });\n            nextBtn.addEventListener('click', () => {\n                grid.scrollBy({ left: scrollStep(), behavior: 'smooth' });\n            });\n\n            grid.addEventListener('scroll', () => this.updateArrowState(), { passive: true });\n            window.addEventListener(\n                'resize',\n                () => {\n                    this.updateArrowState();\n                },\n                { passive: true }\n            );\n\n            requestAnimationFrame(() => this.updateArrowState());\n        },\n    };\n\n    helpers.waitForElem(TEST_CONFIG.selector, (nodeList) => {\n        const grid = nodeList[0];\n        if (!grid || document.querySelector(`${SECTION_ID} .SB002DM-v3-carousel-wrap`)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB002DM.init(grid);\n    });\n\n    helpers.waitForElem(`${SECTION_ID} .heading .text`, () => {\n        SB002DM.patchMsProductGridHeading();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"66fdee7f-c654-4700-a018-6b89e7131985","variationId":"1fdff655-6a6e-411f-a8bc-2de16c0e6ed6","customCss":".kaching-bundles__block{\n    display: none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"8f29c193-357b-45b6-b236-8c83cd35375e","variationId":"1718475d-d015-47e5-8136-1bc79648d2da","customCss":"/* src/mellow/sb-007dm/v3/scss/index.scss */\n.sb-007dm_v3 .els-cup-box,\n.sb-007dm_v3 .sb-007dm__box {\n  display: flex;\n  align-items: center;\n  gap: 11px;\n  overflow: clip;\n  border-radius: 8px;\n  background: transparent;\n  padding: 0;\n  margin-bottom: 14px;\n  margin-top: 14px;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_v3 .els-cup-box,\n  .sb-007dm_v3 .sb-007dm__box {\n    margin-bottom: 16px;\n    margin-top: 10px;\n  }\n}\n.sb-007dm_v3 .sb-007dm__icon {\n  flex: 0 0 23px;\n  width: 23px;\n  height: 23px;\n  display: block;\n}\n.sb-007dm_v3 .sb-007dm__text {\n  font-family:\n    \"Inter\",\n    -apple-system,\n    BlinkMacSystemFont,\n    sans-serif;\n  font-weight: 700;\n  font-size: 16px;\n  line-height: 22.4px;\n  color: #0a0428;\n  white-space: nowrap;\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function qq(s, o) {\n    return o ? s.querySelectorAll(o) : document.querySelectorAll(s);\n  }\n\n  // src/mellow/sb-007dm/v3/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"v3\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/sb-007dm/v3/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname);\n  var UNITS_SOLD_ICON = `\n<svg class=\"${ID}__icon\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n  <path d=\"M21.6257 16.2153C22.1499 14.4631 22.2622 12.9206 22.2622 11.9023C22.2622 10.4421 22.0525 8.99697 21.6332 7.59663C21.6706 7.5517 21.7081 7.51426 21.738 7.46934C22.7788 6.09905 22.6815 4.26451 21.5209 3.38114C20.3528 2.49756 18.5631 2.89442 17.5221 4.26471H17.5146C13.8753 3.47099 10.1092 3.47099 6.47767 4.25722C5.42936 2.89442 3.63965 2.49756 2.47892 3.38114C1.31822 4.26471 1.22095 6.09935 2.26177 7.46934C2.28424 7.49929 2.31419 7.53673 2.33665 7.56668C1.81999 9.33383 1.70018 10.8839 1.70018 11.9023C1.70018 13.3699 1.91733 14.8302 2.33665 16.2453C2.31419 16.2827 2.28424 16.3127 2.26177 16.3501C1.22095 17.7204 1.3183 19.5549 2.47892 20.4383C2.89825 20.7603 3.39994 20.91 3.9166 20.91C4.83761 20.91 5.81104 20.4308 6.47767 19.5547C6.47767 19.5547 6.47767 19.5472 6.48515 19.5472C10.1167 20.3335 13.8758 20.3335 17.5074 19.5397L17.5223 19.5547C18.5632 20.925 20.3604 21.3219 21.5211 20.4383C22.6818 19.5547 22.779 17.7201 21.7382 16.3501C21.7008 16.3052 21.6708 16.2602 21.6259 16.2153H21.6257ZM6.30524 14.9648C6.44003 15.3542 6.22288 15.781 5.83351 15.9083C5.75114 15.9383 5.67626 15.9457 5.59389 15.9457C5.2794 15.9457 4.98737 15.7511 4.88254 15.4366C4.50815 14.2909 4.31346 13.1003 4.31346 11.9023C4.31346 11.0861 4.4108 9.82064 4.88254 8.38276C5.01732 7.99339 5.43665 7.77624 5.83351 7.90354C6.22288 8.03832 6.44003 8.45764 6.30524 8.8545C5.9009 10.0975 5.81104 11.1983 5.81104 11.9022C5.81104 12.943 5.97578 13.9688 6.30524 14.9646V14.9648Z\" fill=\"#FFA28B\"/>\n</svg>`;\n  function renderBox(box) {\n    const valEl = box.querySelector(\".els-cup-w-val\");\n    if (!valEl)\n      return;\n    const raw = (valEl.textContent || \"\").trim();\n    const count = raw.replace(/[^0-9]/g, \"\");\n    if (!count)\n      return;\n    box.classList.add(`${ID}__box`);\n    box.setAttribute(\"aria-label\", `${count} units sold in the last 7 days`);\n    box.innerHTML = `\n    ${UNITS_SOLD_ICON}\n    <span class=\"${ID}__text\">${count} units sold in the last 7 days</span>\n  `;\n  }\n  poll(\n    () => q(\"body\") && isAllowedPath() && q(\".els-cup-box .els-cup-w-val\"),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      qq(\".els-cup-box\").forEach((box) => renderBox(box));\n    }\n  );\n})();\n\n//last updated on: 5:29:53 PM\n//# sourceURL=ABtest/sb-007dm_v3.js","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"1874c70e-0d07-471c-9f05-1067095ab98b","variationId":"38adaf69-149f-4dcd-a09e-d338d711d5ef","customCss":"/* src/mellow/sb-007dm/v2/scss/index.scss */\n.sb-007dm_v2 .r-z8v082,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht {\n  display: flex !important;\n  margin-bottom: 14px;\n  align-items: start !important;\n  gap: 11px;\n}\n.sb-007dm_v2 .r-z8v082 > picture,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol > picture,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht > picture {\n  display: none !important;\n}\n.sb-007dm_v2 .r-z8v082 .replo-pdp-inv span,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol .replo-pdp-inv span,\n.sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht .replo-pdp-inv span {\n  font-weight: 700;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_v2 .r-z8v082,\n  .sb-007dm_v2 :not(#\\ ):not(#\\ ).r-16g8aol,\n  .sb-007dm_v2 :not(#\\ ):not(#\\ ).r-velaht {\n    margin-bottom: 16px;\n    margin-top: 10px;\n  }\n}\n.sb-007dm_v2 .replo-pdp-inv__strip,\n.sb-007dm_v2 .sb-007dm__strip {\n  display: flex !important;\n  align-items: center;\n  gap: 11px;\n  overflow: clip;\n  border-radius: 8px;\n  background: transparent !important;\n  padding: 0 !important;\n  border: 0 !important;\n}\n.sb-007dm_v2 .sb-007dm__icon {\n  flex: 0 0 23px;\n  width: 23px;\n  height: 23px;\n  display: block;\n}\n.sb-007dm_v2 .sb-007dm__group {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n@media screen and (max-width: 768px) {\n  .sb-007dm_v2 .sb-007dm__group {\n    gap: 7px;\n  }\n}\n.sb-007dm_v2 .sb-007dm__counter {\n  display: inline-flex;\n  align-items: center;\n  gap: 3px;\n}\n.sb-007dm_v2 .sb-007dm__digit,\n.sb-007dm_v2 .sb-007dm__suffix {\n  font-family:\n    \"Inter\",\n    -apple-system,\n    BlinkMacSystemFont,\n    sans-serif;\n  font-weight: 700;\n  font-size: 16px;\n  line-height: 22.4px;\n  color: #0a0428;\n  letter-spacing: 0;\n}\n.sb-007dm_v2 .sb-007dm__digit {\n  background: #e5e5fe;\n  border-radius: 4px;\n  padding: 2px 6px;\n  min-width: 11px;\n  height: 27px;\n  box-sizing: border-box;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  letter-spacing: 0.5px;\n}\n.sb-007dm_v2 .sb-007dm__suffix {\n  white-space: nowrap;\n}\n@media screen and (max-width: 370px) {\n  .sb-007dm_v2 .sb-007dm__suffix {\n    font-size: 14px;\n  }\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function qq(s, o) {\n    return o ? s.querySelectorAll(o) : document.querySelectorAll(s);\n  }\n\n  // src/mellow/sb-007dm/v2/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"v2\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/sb-007dm/v2/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname) && (q(\".r-z8v082\") || q(\".r-16g8aol\") || q(\".r-velaht\"));\n  var FIRE_ICON = `\n<svg class=\"${ID}__icon\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n  <path d=\"M21.163 16.1953C21.6892 14.4431 21.802 12.9006 21.802 11.8823C21.802 10.4221 21.5915 8.97695 21.1706 7.57661C21.2081 7.53168 21.2457 7.49424 21.2758 7.44932C22.3207 6.07903 22.2229 4.24449 21.0578 3.36112C19.8852 2.47755 18.0885 2.8744 17.0436 4.24469H17.036C13.3826 3.45097 9.60187 3.45097 5.95625 4.2372C4.90387 2.8744 3.10722 2.47755 1.94199 3.36112C0.776785 4.24469 0.679144 6.07933 1.724 7.44932C1.74655 7.47927 1.77662 7.51671 1.79917 7.54666C1.2805 9.31381 1.16023 10.8639 1.16023 11.8823C1.16023 13.3499 1.37822 14.8101 1.79917 16.2252C1.77662 16.2627 1.74655 16.2926 1.724 16.3301C0.679144 17.7004 0.776865 19.5349 1.94199 20.4183C2.36294 20.7403 2.86658 20.89 3.38525 20.89C4.30983 20.89 5.28704 20.4108 5.95625 19.5347C5.95625 19.5347 5.95625 19.5272 5.96376 19.5272C9.60939 20.3134 13.3831 20.3134 17.0287 19.5197L17.0438 19.5347C18.0886 20.905 19.8928 21.3018 21.058 20.4183C22.2232 19.5347 22.3209 17.7001 21.276 16.3301C21.2384 16.2852 21.2083 16.2402 21.1632 16.1953H21.163ZM5.78316 14.9448C5.91846 15.3342 5.70047 15.761 5.30959 15.8883C5.2269 15.9182 5.15173 15.9257 5.06905 15.9257C4.75333 15.9257 4.46017 15.731 4.35493 15.4166C3.97909 14.2709 3.78365 13.0803 3.78365 11.8823C3.78365 11.0661 3.88137 9.80062 4.35493 8.36274C4.49024 7.97337 4.91119 7.75622 5.30959 7.88352C5.70047 8.0183 5.91846 8.43762 5.78316 8.83448C5.37724 10.0775 5.28704 11.1783 5.28704 11.8822C5.28704 12.923 5.45241 13.9488 5.78316 14.9446V14.9448Z\" fill=\"#FFA28B\"/>\n</svg>`;\n  function buildCounter(countStr) {\n    return countStr.split(\"\").map((c) => `<span class=\"${ID}__digit\" aria-hidden=\"true\">${c}</span>`).join(\"\");\n  }\n  function renderCounter(strip) {\n    const label = strip.querySelector(\".replo-pdp-inv__label\");\n    if (!label)\n      return;\n    const raw = (label.textContent || \"\").trim();\n    const count = raw.replace(/[^0-9]/g, \"\");\n    if (!count)\n      return;\n    strip.classList.add(`${ID}__strip`);\n    strip.setAttribute(\"aria-label\", `${count} units left in stock`);\n    strip.innerHTML = `\n    ${FIRE_ICON}\n    <span class=\"${ID}__group\">\n      <span class=\"${ID}__counter\">${buildCounter(count)}</span>\n      <span class=\"${ID}__suffix\">units left in stock</span>\n    </span>\n  `;\n  }\n  poll(\n    () => q(\"body\") && isAllowedPath() && (q(\".r-z8v082\") || q(\".r-16g8aol\") || q(\".r-velaht\")),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      console.log(\"%c Matched Elements: \", \"color: green; font-weight: bold;\", q(\".r-z8v082\") || q(\".r-16g8aol\") || q(\".r-velaht\"));\n      qq(\".replo-pdp-inv__strip\").forEach((strip) => renderCounter(strip));\n    }\n  );\n})();\n\n//last updated on: 5:27:59 PM\n//# sourceURL=ABtest/sb-007dm_v2.js","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"5baeac61-1c93-4165-a0e2-807758c99a92","variationId":"8bb21540-e842-407b-9f1b-c1dae79af753","customCss":"/* src/mellow/sb-007dm/v4/scss/index.scss */\n.sb-007dm_v4 .els-cup-box,\n.sb-007dm_v4 .sb-007dm__box {\n  display: flex;\n  align-items: center;\n  gap: 11px;\n  overflow: clip;\n  border-radius: 8px;\n  background: transparent;\n  padding: 0;\n  margin-bottom: 14px;\n  margin-top: 14px;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_v4 .els-cup-box,\n  .sb-007dm_v4 .sb-007dm__box {\n    margin-bottom: 16px;\n    margin-top: 10px;\n  }\n}\n.sb-007dm_v4 .sb-007dm__icon {\n  flex: 0 0 23px;\n  width: 23px;\n  height: 23px;\n  display: block;\n}\n.sb-007dm_v4 .sb-007dm__group {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n@media screen and (max-width: 768px) {\n  .sb-007dm_v4 .sb-007dm__group {\n    gap: 7px;\n  }\n}\n.sb-007dm_v4 .sb-007dm__counter {\n  display: inline-flex;\n  align-items: center;\n  gap: 3px;\n}\n.sb-007dm_v4 .sb-007dm__digit,\n.sb-007dm_v4 .sb-007dm__suffix {\n  font-family:\n    \"Inter\",\n    -apple-system,\n    BlinkMacSystemFont,\n    sans-serif;\n  font-weight: 700;\n  font-size: 16px;\n  color: #0a0428;\n  letter-spacing: 0;\n}\n.sb-007dm_v4 .sb-007dm__suffix {\n  line-height: 22px;\n  white-space: nowrap;\n}\n.sb-007dm_v4 .sb-007dm__digit {\n  position: relative;\n  background: #e5e5fe;\n  border-radius: 4px;\n  min-width: 23px;\n  height: 27px;\n  box-sizing: border-box;\n  display: inline-flex;\n  justify-content: center;\n  line-height: 0;\n  overflow: hidden;\n  padding: 0 6px;\n  letter-spacing: 0.5px;\n}\n.sb-007dm_v4 .sb-007dm__digit-tape {\n  position: absolute;\n  left: 0;\n  right: 0;\n  top: 0;\n  display: flex;\n  flex-direction: column;\n  flex-shrink: 0;\n  align-items: center;\n  transition: top 420ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n.sb-007dm_v4 .sb-007dm__digit-tape span {\n  flex-shrink: 0;\n  box-sizing: border-box;\n  height: 21px;\n  min-height: 21px;\n  line-height: 21px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n@media screen and (max-width: 768px) {\n  .sb-007dm_v4 .els-cup-box,\n  .sb-007dm_v4 .sb-007dm__box {\n    gap: 8px;\n  }\n  .sb-007dm_v4 .sb-007dm__counter {\n    gap: 2px;\n  }\n  .sb-007dm_v4 .sb-007dm__digit {\n    min-width: 21px;\n    padding: 0 5px;\n  }\n  .sb-007dm_v4 .sb-007dm__suffix {\n    font-size: 15px;\n  }\n}\n@media screen and (max-width: 768px) and (max-width: 370px) {\n  .sb-007dm_v4 .sb-007dm__suffix {\n    font-size: 14px;\n  }\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function qq(s, o) {\n    return o ? s.querySelectorAll(o) : document.querySelectorAll(s);\n  }\n\n  // src/mellow/sb-007dm/v4/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"v4\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/sb-007dm/v4/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var COUNT_UP_INTERVAL_MS = 2e3;\n  var DIGIT_TAPE_STEP_PX = 21;\n  var DIGIT_TAPE_OFFSET_PX = 3;\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname);\n  function digitTapeTop(digit) {\n    const n = Number.parseInt(String(digit), 10);\n    if (!Number.isFinite(n) || n < 0 || n > 9) {\n      return `${DIGIT_TAPE_OFFSET_PX}px`;\n    }\n    return `${DIGIT_TAPE_OFFSET_PX - n * DIGIT_TAPE_STEP_PX}px`;\n  }\n  var UNITS_SOLD_ICON = `\n<svg class=\"${ID}__icon\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\">\n  <path d=\"M21.163 16.1953C21.6892 14.4431 21.802 12.9006 21.802 11.8823C21.802 10.4221 21.5915 8.97695 21.1706 7.57661C21.2081 7.53168 21.2457 7.49424 21.2758 7.44932C22.3207 6.07903 22.2229 4.24449 21.0578 3.36112C19.8852 2.47755 18.0885 2.8744 17.0436 4.24469H17.036C13.3826 3.45097 9.60187 3.45097 5.95625 4.2372C4.90387 2.8744 3.10722 2.47755 1.94199 3.36112C0.776785 4.24469 0.679144 6.07933 1.724 7.44932C1.74655 7.47927 1.77662 7.51671 1.79917 7.54666C1.2805 9.31381 1.16023 10.8639 1.16023 11.8823C1.16023 13.3499 1.37822 14.8101 1.79917 16.2252C1.77662 16.2627 1.74655 16.2926 1.724 16.3301C0.679144 17.7004 0.776865 19.5349 1.94199 20.4183C2.36294 20.7403 2.86658 20.89 3.38525 20.89C4.30983 20.89 5.28704 20.4108 5.95625 19.5347C5.95625 19.5347 5.95625 19.5272 5.96376 19.5272C9.60939 20.3134 13.3831 20.3134 17.0287 19.5197L17.0438 19.5347C18.0886 20.905 19.8928 21.3018 21.058 20.4183C22.2232 19.5347 22.3209 17.7001 21.276 16.3301C21.2384 16.2852 21.2083 16.2402 21.1632 16.1953H21.163ZM5.78316 14.9448C5.91846 15.3342 5.70047 15.761 5.30959 15.8883C5.2269 15.9182 5.15173 15.9257 5.06905 15.9257C4.75333 15.9257 4.46017 15.731 4.35493 15.4166C3.97909 14.2709 3.78365 13.0803 3.78365 11.8823C3.78365 11.0661 3.88137 9.80062 4.35493 8.36274C4.49024 7.97337 4.91119 7.75622 5.30959 7.88352C5.70047 8.0183 5.91846 8.43762 5.78316 8.83448C5.37724 10.0775 5.28704 11.1783 5.28704 11.8822C5.28704 12.923 5.45241 13.9488 5.78316 14.9446V14.9448Z\" fill=\"#FFA28B\"/>\n</svg>`;\n  var DIGIT_TAPE = Array.from({ length: 10 }, (_, i) => `<span>${i}</span>`).join(\"\");\n  function buildDigit(digit) {\n    return `\n    <span class=\"${ID}__digit\" aria-hidden=\"true\">\n      <span class=\"${ID}__digit-tape\" style=\"top: ${digitTapeTop(digit)}\">${DIGIT_TAPE}</span>\n    </span>\n  `;\n  }\n  function buildCounter(count) {\n    return String(count).split(\"\").map(buildDigit).join(\"\");\n  }\n  function updateCounter(box, count) {\n    const counter = box.querySelector(`.${ID}__counter`);\n    const countStr = String(count);\n    if (!counter || counter.children.length !== countStr.length) {\n      if (counter)\n        counter.innerHTML = buildCounter(countStr);\n    } else {\n      countStr.split(\"\").forEach((digit, i) => {\n        const tape = counter.children[i].querySelector(`.${ID}__digit-tape`);\n        if (tape)\n          tape.style.top = digitTapeTop(digit);\n      });\n    }\n    box.dataset.currentCount = countStr;\n    box.setAttribute(\"aria-label\", `${countStr} units sold in the last 7 days`);\n  }\n  function renderBox(box) {\n    if (box.hasAttribute(`data-${ID}-mounted`))\n      return;\n    const valEl = box.querySelector(\".els-cup-w-val\");\n    if (!valEl)\n      return;\n    const count = Number((valEl.textContent || \"\").replace(/[^0-9]/g, \"\"));\n    if (!Number.isFinite(count))\n      return;\n    box.setAttribute(`data-${ID}-mounted`, \"true\");\n    box.classList.add(`${ID}__box`);\n    box.innerHTML = `\n    ${UNITS_SOLD_ICON}\n    <span class=\"${ID}__group\">\n      <span class=\"${ID}__counter\">${buildCounter(count)}</span>\n      <span class=\"${ID}__suffix\">units sold in the last 7 days</span>\n    </span>\n  `;\n    updateCounter(box, count);\n    window.setInterval(() => {\n      const nextCount = Number(box.dataset.currentCount || count) + 1;\n      updateCounter(box, nextCount);\n    }, COUNT_UP_INTERVAL_MS);\n  }\n  poll(\n    () => q(\"body\") && isAllowedPath() && q(\".els-cup-box .els-cup-w-val\"),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      qq(\".els-cup-box\").forEach((box) => renderBox(box));\n    }\n  );\n})();\n\n//last updated on: 3:12:51 PM\n//# sourceURL=ABtest/sb-007dm_v4.js","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"cb837f4f-2ed3-405b-a62e-a306cab20d41","variationId":"e85fe64d-fe8b-4c04-9926-8209c7cad5b0","customCss":"/* src/mellow/sb-007dm/vq/scss/index.scss */\n.sb-007dm_vq #buy-box .r-z8v082,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht {\n  margin-bottom: 14px;\n  display: flex !important;\n  align-items: start !important;\n  gap: 11px;\n}\n.sb-007dm_vq #buy-box .r-z8v082 p,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol p,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht p {\n  margin: 0 !important;\n  padding-top: 3px;\n}\n.sb-007dm_vq #buy-box .r-z8v082 .replo-pdp-inv span,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol .replo-pdp-inv span,\n.sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht .replo-pdp-inv span {\n  font-weight: 700;\n}\n@media screen and (max-width: 850px) {\n  .sb-007dm_vq #buy-box .r-z8v082,\n  .sb-007dm_vq :not(#\\ ):not(#\\ ).r-16g8aol,\n  .sb-007dm_vq :not(#\\ ):not(#\\ ).r-velaht {\n    margin-bottom: 16px;\n  }\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n\n  // src/mellow/sb-007dm/vq/info.js\n  var ID = \"sb-007dm\";\n  var VAR = \"vq\";\n\n  // src/mellow/sb-007dm/vq/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  var allowedPaths = [\n    \"/products/cloud-alignment-pillow\",\n    \"/products/mellow-cloudalign-cooling-pillowcase\",\n    \"/products/marshmellow-comforter\"\n  ];\n  var isAllowedPath = () => allowedPaths.includes(window.location.pathname);\n  poll(\n    () => q(\"body\") && isAllowedPath(),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      console.log(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      console.log(\"TEST\", q(\"body\"));\n    }\n  );\n})();\n\n//last updated on: 5:25:34 PM\n//# sourceURL=ABtest/sb-007dm_vq.js","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"710894ea-5455-4865-98bb-2a2cff486eb1","variationId":"09d272d5-0e3d-4f51-b7b5-61c5b5b5fbc9","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 1,\n        selector: '.menu-list__list-item [href=\"/collections/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .ms-product-grid',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/collections/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 768;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .purple{\n                    text-align:left;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;                    \n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .bottom{\n                    display:none;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .price-wrapper{\n                  display:none;\n                }\n                    .mobile-drawer-product-carousel .swiper-slide{\n                        visibility:visible !important;\n                    }\n                    .mobile-drawer-product-carousel{\n                        overflow: visible !important;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card{\n                        padding: 0;\n                        background: transparent;\n                        border-radius: 0;                   \n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card .drawer-product-card__price{\n                        display:none;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .swiper-slide{\n                        width:140px !important;\n                    }\n                    .menu-drawer .close-button{\n                        order:0;\n                    }\n                    .mobile-drawer-logo{\n                        order:1;\n                    }\n                    .menu-drawer__navigation{\n                        order:3;\n                    }\n                    .mobile-drawer-product-carousel{\n                        order:2;\n                    }\n                    .mobile-drawer-product-carousel .purple{\n                        display: flex;\n                        flex-direction: row;\n                        justify-content: space-between; \n                        align-items: center;                  \n                    }\n                    #SB003DM-shop-all-link-mob{\n                        border-bottom: 1px solid black;\n                        font-size:14px;\n                        line-height: 16px;\n                    }   \n                    #SB003DM-shop-all-link-mob svg{\n                        display: inline;\n                        margin-left: 2px;\n                        padding-top: 2px;                  \n                    }                 \n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    el.addEventListener(\"mouseenter\", blockThemeHover, true);\n                    el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    el.addEventListener(\"pointerenter\", show, false);\n                    el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n  \n              function waitForMobHeading(attempts = 0) {\n                const maxAttempts = 5000;\n                const delayMs = 100;\n                const mobHeading = document.querySelector('.mobile-drawer-product-carousel .purple');\n                if (mobHeading) {\n                    const linkHtmlMob = `<a id=\"${TEST_CONFIG.id}-shop-all-link-mob\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all<svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_1226)\"><path d=\"M0.000108719 6.86106L11.5557 6.86106M11.5557 6.86106L8.48622 9.74995M11.5557 6.86106L8.48622 3.97217\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_1226\"><rect width=\"13\" height=\"13\" fill=\"white\" transform=\"translate(13) rotate(90)\"/></clipPath></defs></svg></a>`;\n                  mobHeading.insertAdjacentHTML('beforeend', linkHtmlMob);\n                } else if (attempts + 1 < maxAttempts) {\n                  setTimeout(() => waitForMobHeading(attempts + 1), delayMs);\n                }\n              }\n              waitForMobHeading();\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"onWindowLoad","timeout":3000},"source":null},{"id":"cc3db783-a5d5-4087-8653-f8e8bb982cf8","variationId":"62171133-9657-4d40-8b94-109641a26e3e","customJs":"(function () {\n    // Test configuration\n    const TEST_CONFIG = {\n        id: 'SB003DM',\n        name: 'Shop by category on Homepage',\n        variation: 2,\n        selector: '.menu-list__list-item [href=\"/collections/shop\"]',\n        variationClass: '.SB003DM',\n        targetGridSelector: '#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .ms-product-grid',\n        hoverClass: 'SB003DM-hover-shop',\n        shopAllHref: '/collections/shop',\n        slideMs: 360\n    };\n\n    const helpers = {\n        waitForElem: function (waitFor, callback, minElements = 1, isVariable = false, timer = 10000, frequency = 25) {\n            const $this = this;\n            let elements = isVariable ? window[waitFor] : document.querySelectorAll(waitFor);\n            if (timer <= 0) return;\n            (!isVariable && elements.length >= minElements) ||\n                (isVariable && typeof window[waitFor] !== 'undefined') ? callback(elements) : setTimeout(\n                    () => $this.waitForElem(waitFor, callback, minElements, isVariable, timer - frequency), frequency\n                );\n        },\n\n        insertAfter: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"afterend\", html);\n        },\n\n        insertBefore: function (el, html) {\n            if (!el || !html) return;\n            el.insertAdjacentHTML(\"beforebegin\", html);\n        },\n\n        buildItemsList: function (data = [], html) {\n            if (!Array.isArray(data) || typeof html !== \"function\") return \"\";\n            return data.map((item) => html(item)).join(\"\");\n        },\n\n        isMobileScreen: function () {\n            return window.innerWidth <= 768;\n        },\n        debounce: function (func, wait) {\n            let timeout;\n            let called = false;\n\n            return function (...args) {\n                const context = this;\n\n                if (!called) {\n                    func.apply(context, args);\n                    called = true;\n                }\n\n                clearTimeout(timeout);\n                timeout = setTimeout(() => {\n                    called = false;\n                }, wait);\n            };\n        },\n    };\n\n    const SB003DM = {\n        init: function () {\n            this.mainCSS();\n            this.mainJS();\n        },\n\n        mainCSS: function () {\n            const styleId = `${TEST_CONFIG.id}-ab-styles`;\n            if (document.getElementById(styleId)) return;\n\n            const ms = TEST_CONFIG.slideMs;\n            const css = `\n                /* ${TEST_CONFIG.id} \u2014 slide product grid from top on Shop nav hover */\n                body.${TEST_CONFIG.id}:not(.${TEST_CONFIG.hoverClass}) ${TEST_CONFIG.targetGridSelector} {\n                    opacity: 0 !important;\n                    visibility: hidden !important;\n                    transform: translateY(-28px) !important;\n                    pointer-events: none !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s linear ${ms}ms !important;\n                }\n                body.${TEST_CONFIG.hoverClass} ${TEST_CONFIG.targetGridSelector} {\n                    display: block !important;\n                    opacity: 1 !important;\n                    visibility: visible !important;\n                    transform: translateY(0) !important;\n                    pointer-events: auto !important;\n                    transition:\n                        transform ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        opacity ${ms}ms cubic-bezier(0.4, 0, 0.2, 1),\n                        visibility 0s !important;\n                }\n                #submenu-1, #submenu-1 .mega-menu{\n                    display:none !important;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd{\n                    position: absolute;\n                    top: 84px;\n                    z-index: 99; \n                    width: 100%;              \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .product-grid{\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n                } \n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .purple{\n                    text-align:left;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                    display:flex;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .description{\n                  display:none !important;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading{\n                  display: flex;\n                  flex-direction: row;\n                  justify-content: space-between;\n                  align-items: center;                \n                }\n                #SB003DM-shop-all-link{\n                    font-size:20px;\n                    border-bottom: 1px solid black;                    \n                }\n                #SB003DM-shop-all-link svg{\n                  display: inline-block;\n                  margin-left: 6px;                \n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .bottom{\n                    display:none;\n                }\n                #shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .price-wrapper{\n                  display:none;\n                }\n                    .mobile-drawer-product-carousel .swiper-slide{\n                        visibility:visible !important;\n                    }\n                    .mobile-drawer-product-carousel{\n                        overflow: visible !important;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card{\n                        padding: 0;\n                        background: transparent;\n                        border-radius: 0;                   \n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .drawer-product-card .drawer-product-card__price{\n                        display:none;\n                    }\n                    .ms-menu-drawer.menu-drawer .mobile-drawer-product-carousel .swiper .swiper-slide{\n                        width:140px !important;\n                    }\n                    .menu-drawer .close-button{\n                        order:0;\n                    }\n                    .mobile-drawer-logo{\n                        order:1;\n                    }\n                    .menu-drawer__navigation{\n                        order:3;\n                    }\n                    .mobile-drawer-product-carousel{\n                        order:2;\n                    }\n                    .mobile-drawer-product-carousel .purple{\n                        display: flex;\n                        flex-direction: row;\n                        justify-content: space-between; \n                        align-items: center;                  \n                    }\n                    #SB003DM-shop-all-link-mob{\n                        border-bottom: 1px solid black;\n                        font-size:14px;\n                        line-height: 16px;\n                    }   \n                    #SB003DM-shop-all-link-mob svg{\n                        display: inline;\n                        margin-left: 2px;\n                        padding-top: 2px;                  \n                    }   \n                    .mobile-drawer-product-carousel .swiper p{\n                      display:none !important;\n                    }\n            `;\n\n            const style = document.createElement(\"style\");\n            style.id = styleId;\n            style.setAttribute(\"data-ab-test\", TEST_CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        mainJS: function () {\n            document.body.classList.add(TEST_CONFIG.id);\n\n            const getHoverTargets = () => {\n                const links = document.querySelectorAll(TEST_CONFIG.selector);\n                const seen = new Set();\n                const targets = [];\n                links.forEach((link) => {\n                    const el = link.closest(\".menu-list__list-item\") || link;\n                    if (seen.has(el)) return;\n                    seen.add(el);\n                    targets.push(el);\n                });\n                return targets;\n            };\n\n            const attachHover = () => {\n                const triggers = getHoverTargets();\n                const grid = document.querySelector(TEST_CONFIG.targetGridSelector);\n                if (!triggers.length || !grid) return false;\n\n                let leaveTimer = null;\n                const show = () => {\n                    clearTimeout(leaveTimer);\n                    document.body.classList.add(TEST_CONFIG.hoverClass);\n                };\n                const scheduleHide = () => {\n                    clearTimeout(leaveTimer);\n                    leaveTimer = setTimeout(() => {\n                        document.body.classList.remove(TEST_CONFIG.hoverClass);\n                    }, 120);\n                };\n\n                triggers.forEach((el) => {\n                    const blockThemeHover = (e) => {\n                        e.stopPropagation();\n                    };\n                    el.addEventListener(\"mouseenter\", blockThemeHover, true);\n                    el.addEventListener(\"mouseover\", blockThemeHover, true);\n                    el.addEventListener(\"mouseenter\", show, false);\n                    el.addEventListener(\"mouseleave\", scheduleHide, false);\n                    el.addEventListener(\"pointerenter\", show, false);\n                    el.addEventListener(\"pointerleave\", scheduleHide, false);\n                });\n\n                grid.addEventListener(\"mouseenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"mouseleave\", scheduleHide, false);\n                grid.addEventListener(\"pointerenter\", () => clearTimeout(leaveTimer), false);\n                grid.addEventListener(\"pointerleave\", scheduleHide, false);\n\n                return true;\n            };\n\n            if (!attachHover()) {\n                helpers.waitForElem(TEST_CONFIG.targetGridSelector, () => {\n                    attachHover();\n                }, 1, false, 15000);\n            }\n            const heading = document.querySelector('#shopify-section-sections--21754925973757__ms_product_grid_XpdTJd .heading');\n            const linkHtml = `<a id=\"${TEST_CONFIG.id}-shop-all-link\" href=\"${TEST_CONFIG.shopAllHref}\" class=\"${TEST_CONFIG.variationClass.slice(1)}-shop-all\" data-ab-shop-all=\"${TEST_CONFIG.id}\">Shop all<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_35_903)\"><path d=\"M6.11959e-07 9.5L16 9.5M16 9.5L11.75 13.5M16 9.5L11.75 5.5\" stroke=\"#4C4184\" stroke-width=\"1.28571\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_35_903\"><rect width=\"18\" height=\"18\" fill=\"white\" transform=\"translate(18) rotate(90)\"/></clipPath></defs></svg></a>`;\n            heading.insertAdjacentHTML(\"beforeend\", linkHtml);\n\n        },\n    };\n\n    // Initialize when the element is available\n    helpers.waitForElem(TEST_CONFIG.selector, () => {\n        // console.log(\"Elements found:\", elements);\n        if (document.querySelector(TEST_CONFIG.variationClass)) return;\n\n        console.log(`${TEST_CONFIG.id} - ${TEST_CONFIG.name} - Variation ${TEST_CONFIG.variation}`);\n        SB003DM.init();\n    });\n})();\n","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"1d2102cc-9ebd-408f-90ff-7871451522e8","variationId":"21da8aff-d2ab-4075-8797-135ce5c322ee","customJs":"(function () {\n\n    /* -------------------------------------------------------------------------\n       CONFIG\n    ------------------------------------------------------------------------- */\n    const CONFIG = {\n        id: 'SB021DM',\n        name: 'Dynamic Free Shipping Bar Below Add to Cart Button',\n        variation: 1,\n        waitForSelector: '.r-1vnmq4y',\n        anchorSelector: '.r-1vnmq4y',\n    };\n\n\n    /* -------------------------------------------------------------------------\n       HELPERS\n    ------------------------------------------------------------------------- */\n    const helpers = {\n        waitForElem(selector, callback, { minElements = 1, timer = 10000, frequency = 25 } = {}) {\n            if (timer <= 0) return;\n            const els = document.querySelectorAll(selector);\n            if (els.length >= minElements) {\n                callback(els);\n            } else {\n                setTimeout(() => helpers.waitForElem(selector, callback, { minElements, timer: timer - frequency, frequency }), frequency);\n            }\n        },\n\n        insertAfter(el, html) {\n            el?.insertAdjacentHTML('afterend', html);\n        },\n\n        insertBefore(el, html) {\n            el?.insertAdjacentHTML('beforebegin', html);\n        },\n\n        isMobile() {\n            return window.innerWidth <= 768;\n        },\n\n        injectCSS(id, css) {\n            if (document.getElementById(id)) return;\n            const style = document.createElement('style');\n            style.id = id;\n            style.setAttribute('data-ab-test', CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       SHIPPING BAR\n    ------------------------------------------------------------------------- */\n    const shippingBar = {\n        id: `${CONFIG.id}-bar`,\n\n        css: `\n            #${CONFIG.id}-bar {\n                padding: 0 0 8px;\n                text-align: center;\n                width:100%;\n            }\n            #${CONFIG.id}-bar .sb-label--unlocked {\n                font-size: 15px;\n                font-weight: 500;\n                color: #1D252D;\n                margin-bottom: 10px;\n                letter-spacing: 0.01em;\n                display: flex;\n                flex-direction: row;\n                align-items: center;\n                justify-content: center;  \n                gap: 10px;\n            }\n            #${CONFIG.id}-bar .sb-track {\n                width: 100%;\n                height: 14px;\n                background: #4D4184FF;\n                border-radius: 99px;\n                display:block;\n                border: 2px solid #b6b8dc;\n            }\n        `,\n\n        render() {\n            return `\n                <div id=\"${this.id}\">\n                    <div class=\"sb-label--unlocked\">\n                      <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.2 6.2L7.5 0L6.8 6.2L4.1 4.1L6.1 6.8L0 7.5L6.2 8.2L4 11L6.8 8.9L7.5 15L8.2 8.9L11 11L8.8 8.2L15 7.5L8.9 6.8L10.9 4.1L8.2 6.2Z\" fill=\"#1D252D\"/></svg>\n                      Free Shipping Unlocked\n                      <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.2 6.2L7.5 0L6.8 6.2L4.1 4.1L6.1 6.8L0 7.5L6.2 8.2L4 11L6.8 8.9L7.5 15L8.2 8.9L11 11L8.8 8.2L15 7.5L8.9 6.8L10.9 4.1L8.2 6.2Z\" fill=\"#1D252D\"/></svg>\n                    </div>\n                    <div class=\"sb-track\"></div>\n                </div>\n            `;\n        },\n\n        inject(anchor) {\n            if (document.getElementById(this.id)) return;\n            helpers.injectCSS(`${CONFIG.id}-styles`, this.css);\n            helpers.insertAfter(anchor, this.render());\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       INIT\n    ------------------------------------------------------------------------- */\n    helpers.waitForElem(CONFIG.waitForSelector, (els) => {\n        try {\n            if (document.getElementById(shippingBar.id)) return;\n            console.log(`${CONFIG.id} \u2014 ${CONFIG.name} \u2014 Variation ${CONFIG.variation}`);\n            shippingBar.inject(els[0]);\n        } catch (e) {\n            console.error(`${CONFIG.id} failed to initialize:`, e);\n        }\n    });\n\n})();","jsInjectionMode":{"type":"onWindowLoad"},"source":null},{"id":"638ede1f-e61d-4749-bfd6-888c83f962ac","variationId":"3ca7320f-4627-452a-aaa1-6b99487da2b1","customJs":"(function () {\n\n    /* -------------------------------------------------------------------------\n       CONFIG\n    ------------------------------------------------------------------------- */\n    const CONFIG = {\n        id: 'SB013DM',\n        name: 'Shipping progress bar',\n        variation: 2,\n        waitForSelector: '.r-1aidpo1',\n        anchorSelector: '.r-1aidpo1',\n        bundleSelector: '.kaching-bundles__bar--selected',\n        bundleContainerSelector: '.kaching-bundles__bars',\n        cartContainerSelector: '[class*=\"upcart-internal-cart-preview__container\"]',\n        freeShippingThreshold: 100,\n    };\n\n\n    /* -------------------------------------------------------------------------\n       HELPERS\n    ------------------------------------------------------------------------- */\n    const helpers = {\n        waitForElem(selector, callback, { minElements = 1, timer = 10000, frequency = 25 } = {}) {\n            if (timer <= 0) return;\n            const els = document.querySelectorAll(selector);\n            if (els.length >= minElements) {\n                callback(els);\n            } else {\n                setTimeout(() => helpers.waitForElem(selector, callback, { minElements, timer: timer - frequency, frequency }), frequency);\n            }\n        },\n\n        insertAfter(el, html) {\n            el?.insertAdjacentHTML('afterend', html);\n        },\n\n        insertBefore(el, html) {\n            el?.insertAdjacentHTML('beforebegin', html);\n        },\n\n        isMobile() {\n            return window.innerWidth <= 768;\n        },\n\n        injectCSS(id, css) {\n            if (document.getElementById(id)) return;\n            const style = document.createElement('style');\n            style.id = id;\n            style.setAttribute('data-ab-test', CONFIG.id);\n            style.textContent = css;\n            document.head.appendChild(style);\n        },\n\n        observeMutations(target, callback, options = { childList: true, subtree: true }) {\n            const observer = new MutationObserver(callback);\n            observer.observe(target, options);\n            return observer;\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       PRICE\n    ------------------------------------------------------------------------- */\n    const price = {\n        fromElement(el) {\n            if (!el) return 0;\n\n            if (el.dataset.price) return parseFloat(el.dataset.price) / 100;\n\n            const priceEl =\n                el.querySelector('[data-price]') ||\n                el.querySelector('[class*=\"price\"]') ||\n                el.querySelector('.money');\n\n            if (priceEl) {\n                if (priceEl.dataset.price) return parseFloat(priceEl.dataset.price) / 100;\n                return parseFloat(priceEl.innerText.replace(/[^0-9.]/g, '')) || 0;\n            }\n\n            return parseFloat(el.innerText.replace(/[^0-9.]/g, '')) || 0;\n        },\n\n        getBundleTotal() {\n            const bundle = document.querySelector(CONFIG.bundleSelector);\n            if (!bundle) return 0;\n\n            const bundlePrice = this.fromElement(bundle);\n\n            const checkbox = bundle.querySelector('.kaching-bundles__upsell__checkbox--selected');\n            const upsellPrice = checkbox\n                ? parseFloat(\n                    checkbox\n                        .closest('.kaching-bundles__upsell')\n                        ?.querySelector('.kaching-bundles__upsell__price')\n                        ?.innerText.replace(/[^0-9.]/g, '')\n                  ) || 0\n                : 0;\n\n            return bundlePrice + upsellPrice;\n        },\n\n        async getCartTotal() {\n            try {\n                const res = await fetch('/cart.js');\n                const cart = await res.json();\n                const cartTotal = (cart.total_price || 0) / 100;\n                return cartTotal + this.getBundleTotal();\n            } catch (e) {\n                console.warn(`${CONFIG.id} \u2014 failed to fetch cart:`, e);\n                return this.getBundleTotal();\n            }\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       SHIPPING BAR\n    ------------------------------------------------------------------------- */\n    const shippingBar = {\n        id: `${CONFIG.id}-bar`,\n        lastTotal: null,\n\n        css: `\n            #${CONFIG.id}-bar {\n                display: block;\n                width: 100%;\n                padding: 12px 0 8px;\n                text-align: center;\n            }\n            #${CONFIG.id}-bar .sb-label {\n                font-size: 13px;\n                color: #333;\n                margin-bottom: 10px;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                gap: 6px;\n            }\n            #${CONFIG.id}-bar .sb-label--unlocked {\n                font-size: 13px;\n                font-weight: 500;\n                color: #333;\n                margin-bottom: 10px;\n                letter-spacing: 0.01em;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                gap: 6px;\n            }\n            #${CONFIG.id}-bar .sb-track-wrap {\n                display: block;\n                position: relative;\n                width: calc(100% - 11px);\n                height: 14px;\n                margin-right: 11px;\n            }\n            #${CONFIG.id}-bar .sb-track {\n                display: block;\n                width: 100%;\n                height: 14px;\n                background: #f5c5b5;\n                border-radius: 99px;\n                overflow: hidden;\n            }\n            #${CONFIG.id}-bar .sb-fill {\n                display: block;\n                height: 100%;\n                background: #e8705a;\n                border-radius: 99px;\n                transition: width 0.4s ease;\n            }\n            #${CONFIG.id}-bar .sb-dot {\n                position: absolute;\n                right: -11px;\n                top: 50%;\n                transform: translateY(-50%);\n                width: 22px;\n                height: 22px;\n                background: #e8705a;\n                border: 3px solid #fff;\n                border-radius: 50%;\n            }\n        `,\n\n        icons: {\n            spark: `<svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.2 6.2L7.5 0L6.8 6.2L4.1 4.1L6.1 6.8L0 7.5L6.2 8.2L4 11L6.8 8.9L7.5 15L8.2 8.9L11 11L8.8 8.2L15 7.5L8.9 6.8L10.9 4.1L8.2 6.2Z\" fill=\"#1D252D\"/></svg>`,\n        },\n\n        render(total) {\n            const { freeShippingThreshold: threshold } = CONFIG;\n            const unlocked = total >= threshold;\n            const remaining = Math.max(threshold - total, 0);\n            const pct = Math.min((total / threshold) * 100, 100);\n\n            const label = unlocked\n                ? `<div class=\"sb-label--unlocked\">${this.icons.spark}&nbsp;&nbsp;Free Shipping Unlocked&nbsp;&nbsp;${this.icons.spark}</div>`\n                : `<div class=\"sb-label\">${this.icons.spark}&nbsp;&nbsp;$${remaining.toFixed(2)} Away From Free Shipping&nbsp;&nbsp;${this.icons.spark}</div>`;\n\n            return `\n                <div id=\"${this.id}\">\n                    ${label}\n                    <div class=\"sb-track-wrap\">\n                        <div class=\"sb-track\">\n                            <div class=\"sb-fill\" style=\"width:${pct}%;\"></div>\n                        </div>\n                        <div class=\"sb-dot\"></div>\n                    </div>\n                </div>\n            `;\n        },\n\n        async update() {\n            const total = await price.getCartTotal();\n            if (total === this.lastTotal) return;\n            this.lastTotal = total;\n\n            const el = document.getElementById(this.id);\n            if (!el) return;\n\n            const { freeShippingThreshold: threshold } = CONFIG;\n            const unlocked = total >= threshold;\n            const remaining = Math.max(threshold - total, 0);\n            const pct = Math.min((total / threshold) * 100, 100);\n\n            const labelEl = el.querySelector('.sb-label, .sb-label--unlocked');\n            if (labelEl) {\n                labelEl.className = unlocked ? 'sb-label--unlocked' : 'sb-label';\n                labelEl.innerHTML = unlocked\n                    ? `${this.icons.spark}&nbsp;&nbsp;Free Shipping Unlocked&nbsp;&nbsp;${this.icons.spark}`\n                    : `${this.icons.spark}&nbsp;&nbsp;$${remaining.toFixed(2)} Away From Free Shipping&nbsp;&nbsp;${this.icons.spark}`;\n            }\n\n            const fillEl = el.querySelector('.sb-fill');\n            if (fillEl) fillEl.style.width = `${pct}%`;\n        },\n\n        async inject(anchor) {\n            if (document.getElementById(this.id)) return;\n            const total = await price.getCartTotal();\n            helpers.injectCSS(`${CONFIG.id}-styles`, this.css);\n            helpers.insertAfter(anchor, this.render(total));\n            this.lastTotal = total;\n            this.watchForChanges();\n        },\n\n        watchForChanges() {\n            const bundleContainer = document.querySelector(CONFIG.bundleContainerSelector);\n            if (bundleContainer) helpers.observeMutations(bundleContainer, () => shippingBar.update());\n\n            const cartContainer = document.querySelector(CONFIG.cartContainerSelector);\n            if (cartContainer) helpers.observeMutations(cartContainer, () => shippingBar.update());\n        },\n    };\n\n\n    /* -------------------------------------------------------------------------\n       INIT\n    ------------------------------------------------------------------------- */\n    helpers.waitForElem(CONFIG.waitForSelector, (els) => {\n        try {\n            if (document.getElementById(shippingBar.id)) return;\n            console.log(`${CONFIG.id} \u2014 ${CONFIG.name} \u2014 Variation ${CONFIG.variation}`);\n            shippingBar.inject(els[0]);\n        } catch (e) {\n            console.error(`${CONFIG.id} failed to initialize:`, e);\n        }\n    });\n\n})();","jsInjectionMode":{"type":"onWindowLoad"},"source":null},{"id":"902f8145-bfa3-431d-a176-0dbfe476dff4","variationId":"8479d2f2-b522-489b-85a9-468b4a99e0d4","customCss":"ig-progress-bar{\n  display:none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"1e9c1744-7e8a-4605-9355-41026f3486fd","variationId":"97bf71cc-85f1-4868-9596-9288c56fd81e","customCss":".upcart-internal-header .ig-progress-bar,\n.upcart-internal-rewards {\n  display:none !important;\n}\n\n.ig-progress-bar.css-yp8u2p,\n.ig-progress-bar.css-1jz0hy8{\n  background:#ffffff !important;\n}\n\n.marquee-3{\n  display:flex !important;\n}\n\n.marquee-4{\n  display:none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"e6148667-2eee-41e4-9cf3-b3a24a7fae92","variationId":"1bb658c8-6586-44fe-ad25-4e28cc425fcc","customCss":".r-i25nrd > :not(#\\20):not(#\\20).r-1ulvc8v[data-variation-sb-016-dm=\"variation-sb016dm\"],\n.r-i25nrd > :not(#\\20):not(#\\20):not(#\\20).r-1ulvc8v[data-variation-sb-016-dm=\"variation-sb016dm\"]{\n    display:flex !important;\n}\n\n[data-control-sb-016-dm=\"control-sb016dm\"]{\n  display:none !important;\n}","jsInjectionMode":{"type":"immediately"},"source":null},{"id":"eeea8800-4927-41e1-8b5d-e8e5df5b475e","variationId":"c664f224-7065-4bed-9534-2ed9a7f69db3","customCss":"@charset \"UTF-8\";\n\n/* src/mellow/SB-004DM/v1/scss/index.scss */\n.SB-004DM_v1 .additional-product {\n  display: flex;\n  padding-left: 22px;\n  padding-top: 11px;\n  align-items: center;\n  gap: 10px;\n  border-radius: 6px;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  background: #fff;\n  margin-bottom: 16px;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product {\n    padding-left: 12px;\n    padding-top: 6.5px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info {\n  display: flex;\n  align-items: center;\n  gap: 14px;\n  width: calc(72% - 14px);\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info {\n    gap: 12px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .product-title {\n  color: #4d4184;\n  font-size: 18px;\n  font-weight: 400;\n  line-height: 24px;\n  letter-spacing: 0.16px;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info .product-title {\n    font-size: 16px;\n    margin-bottom: 0;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .product-price {\n  color: #4d4184;\n  font-family: Melbourne;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 14px;\n  letter-spacing: 0.16px;\n  display: flex;\n  align-items: center;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info .product-price {\n    font-size: 12px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .product-price .product-price-original {\n  color: #4d4184;\n  font-family: Melbourne;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 14px;\n  letter-spacing: 0.16px;\n  text-decoration-line: line-through;\n  margin-right: 10px;\n  margin-left: 4px;\n}\n.SB-004DM_v1 .additional-product .product-info .product-price .product-price-savings {\n  display: flex;\n  padding: 2px 6px 3px 6px;\n  justify-content: center;\n  align-items: center;\n  gap: 10px;\n  border-radius: 4px;\n  background: #4d4184;\n  color: #fff;\n}\n.SB-004DM_v1 .additional-product .product-info .product-description {\n  color: #1c1c25;\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 18px;\n  letter-spacing: 0.16px;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .additional-product .product-info .product-description {\n    font-size: 10px;\n  }\n}\n.SB-004DM_v1 .additional-product .product-info .view-details {\n  color: #4d4184;\n  font-family: Melbourne;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 24px;\n  letter-spacing: 0.16px;\n  text-decoration-line: underline;\n  text-decoration-style: solid;\n  -webkit-text-decoration-skip-ink: none;\n  text-decoration-skip-ink: none;\n  text-decoration-thickness: auto;\n  text-underline-offset: auto;\n  text-underline-position: from-font;\n  cursor: pointer;\n}\n.SB-004DM_v1 .additional-product .product-img {\n  width: 28%;\n}\n.SB-004DM_v1 .additional-product .product-img .product-img-el {\n  display: block;\n  width: 100%;\n  max-width: 148px;\n  height: auto;\n  border-radius: 4px;\n  -o-object-fit: cover;\n  object-fit: cover;\n}\n.SB-004DM_v1 .additional-product input[type=checkbox] {\n  -moz-appearance: none;\n  appearance: none;\n  -webkit-appearance: none;\n  position: relative;\n  border: 2px solid #48508f;\n  width: 19px;\n  height: 19px;\n  border-radius: 0px;\n  background-color: transparent;\n  box-sizing: border-box;\n}\n.SB-004DM_v1 .additional-product input[type=checkbox]:checked {\n  background-color: #fff;\n}\n.SB-004DM_v1 .additional-product input[type=checkbox]:checked::after {\n  content: \"\";\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%) scale(1.06);\n  width: 18px;\n  height: 18px;\n  background: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 10 8' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.77497 0.21984C9.91557 0.360486 9.99456 0.551217 9.99456 0.75009C9.99456 0.948963 9.91557 1.13969 9.77497 1.28034L4.15347 6.90184C4.07918 6.97615 3.99098 7.03509 3.89391 7.0753C3.79683 7.11552 3.69279 7.13622 3.58772 7.13622C3.48264 7.13622 3.3786 7.11552 3.28153 7.0753C3.18445 7.03509 3.09626 6.97615 3.02197 6.90184L0.228966 4.10934C0.157334 4.04015 0.100197 3.9574 0.0608901 3.86589C0.0215834 3.77439 0.00089368 3.67598 2.83175e-05 3.57639C-0.000837045 3.47681 0.0181393 3.37805 0.05585 3.28587C0.0935606 3.1937 0.14925 3.10996 0.21967 3.03954C0.29009 2.96912 0.373828 2.91343 0.466001 2.87572C0.558173 2.83801 0.656933 2.81904 0.756517 2.8199C0.856102 2.82077 0.954517 2.84146 1.04602 2.88076C1.13752 2.92007 1.22028 2.97721 1.28947 3.04884L3.58747 5.34684L8.71397 0.21984C8.78362 0.150145 8.86632 0.0948574 8.95734 0.0571363C9.04837 0.0194152 9.14594 0 9.24447 0C9.343 0 9.44057 0.0194152 9.53159 0.0571363C9.62262 0.0948574 9.70532 0.150145 9.77497 0.21984Z' fill='%232A2F5C'/%3E%3C/svg%3E\") center/contain no-repeat;\n  filter: drop-shadow(0.4px 0 0 #48508f) drop-shadow(-0.4px 0 0 #48508f) drop-shadow(0 0.4px 0 #48508f) drop-shadow(0 -0.4px 0 #48508f);\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 100000;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n  box-sizing: border-box;\n}\n.SB-004DM_v1 .view-details-modal[hidden] {\n  display: none !important;\n}\n.SB-004DM_v1 .view-details-modal__backdrop {\n  position: absolute;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.45);\n}\n.SB-004DM_v1 .view-details-modal__dialog {\n  position: relative;\n  z-index: 1;\n  width: 100%;\n  max-width: 783px;\n  max-height: min(90vh, 880px);\n  overflow: auto;\n  border-radius: 8px;\n  background: #fff;\n  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n.SB-004DM_v1 .view-details-modal__dialog::-webkit-scrollbar {\n  display: none;\n}\n.SB-004DM_v1 .view-details-modal__close {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  z-index: 2;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 44px;\n  height: 44px;\n  margin: 0;\n  padding: 0;\n  border: none;\n  border-radius: 4px;\n  background: transparent;\n  color: #4d4184;\n  cursor: pointer;\n  transition: background 0.15s ease, color 0.15s ease;\n}\n.SB-004DM_v1 .view-details-modal__close:hover {\n  background: rgba(77, 65, 132, 0.08);\n  color: #3d356f;\n}\n.SB-004DM_v1 .view-details-modal__close:focus-visible {\n  outline: 2px solid rgba(77, 65, 132, 0.45);\n  outline-offset: 2px;\n}\n.SB-004DM_v1 .view-details-modal__close-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 0;\n}\n.SB-004DM_v1 .view-details-modal__inner {\n  padding: 28px 24px 24px;\n}\n.SB-004DM_v1 .view-details-modal__error {\n  margin: 0;\n  padding: 32px 16px;\n  text-align: center;\n  font-family: Inter, sans-serif;\n  font-size: 15px;\n  color: #b42318;\n}\n.SB-004DM_v1 .view-details-modal__layout {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__layout {\n    flex-direction: row;\n    align-items: flex-start;\n    gap: 32px;\n  }\n}\n.SB-004DM_v1 .view-details-modal__media {\n  flex: 1 1 auto;\n  min-width: 0;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__media {\n    flex: 0 0 44%;\n    max-width: 44%;\n  }\n}\n.SB-004DM_v1 .view-details-modal__swiper-root {\n  width: 100%;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main {\n  position: relative;\n  border-radius: 6px;\n  overflow: hidden;\n  background: #f7f7f9;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .view-details-modal__slide-img {\n  display: block;\n  width: 100%;\n  height: auto;\n  vertical-align: middle;\n  -o-object-fit: cover;\n  object-fit: cover;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .view-details-modal__slide-placeholder {\n  min-height: 200px;\n  background: #ececf0;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev,\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next {\n  width: 36px;\n  height: 36px;\n  margin-top: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  color: #4d4184;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev::after,\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next::after {\n  font-size: 16px;\n  font-weight: 700;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev.swiper-button-disabled,\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next.swiper-button-disabled {\n  opacity: 0.25;\n  pointer-events: none;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-prev {\n  left: 6px;\n}\n.SB-004DM_v1 .view-details-modal__swiper-main .swiper-button-next {\n  right: 6px;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs {\n  margin-top: 10px;\n  padding: 0 2px;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs .swiper-slide {\n  width: 56px;\n  height: 56px;\n  box-sizing: border-box;\n  opacity: 0.55;\n  cursor: pointer;\n  border: 2px solid transparent;\n  border-radius: 4px;\n  overflow: hidden;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs .swiper-slide img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  -o-object-fit: cover;\n  object-fit: cover;\n}\n.SB-004DM_v1 .view-details-modal__swiper-thumbs .swiper-slide.swiper-slide-thumb-active {\n  opacity: 1;\n  border-color: #4d4184;\n}\n.SB-004DM_v1 .view-details-modal__copy {\n  flex: 1 1 auto;\n  min-width: 0;\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal__loox-rating {\n  margin: 0 48px 8px 0;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__loox-rating {\n    margin-right: 44px;\n  }\n}\n.SB-004DM_v1 .view-details-modal__loox-rating .loox-rating-content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 2px 4px;\n}\n.SB-004DM_v1 .view-details-modal__loox-rating .view-details-modal__star {\n  display: block;\n  width: 11px;\n  height: 12px;\n  flex-shrink: 0;\n}\n.SB-004DM_v1 .view-details-modal__loox-rating .loox-rating-label {\n  font-family: Inter, sans-serif;\n  font-size: 13px;\n  line-height: 1.2;\n  color: #1c1c25;\n}\n.SB-004DM_v1 .view-details-modal__title {\n  margin: 0 48px 12px 0;\n  color: #4d4184;\n  font-family: inherit;\n  font-size: 22px;\n  font-weight: 400;\n  line-height: 1.25;\n  letter-spacing: 0.02em;\n}\n@media screen and (min-width: 769px) {\n  .SB-004DM_v1 .view-details-modal__title {\n    font-size: 24px;\n    margin-right: 44px;\n  }\n}\n.SB-004DM_v1 .view-details-modal__price-row {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 8px 10px;\n  margin-bottom: 16px;\n}\n.SB-004DM_v1 .view-details-modal__price-sale {\n  color: #4d4184;\n  font-family: Melbourne, serif;\n  font-size: 20px;\n  font-weight: 400;\n  line-height: 1.2;\n}\n.SB-004DM_v1 .view-details-modal__price-compare {\n  color: #4d4184;\n  font-family: Melbourne, serif;\n  font-size: 15px;\n  text-decoration: line-through;\n  opacity: 0.85;\n}\n.SB-004DM_v1 .view-details-modal__price-save {\n  display: inline-flex;\n  padding: 2px 8px 3px;\n  border-radius: 4px;\n  background: #4d4184;\n  color: #fff;\n  font-family: Melbourne, serif;\n  font-size: 12px;\n  line-height: 1.2;\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal__features {\n  margin: 0 0 18px;\n}\n.SB-004DM_v1 .view-details-modal__features-surface {\n  max-height: min(42vh, 340px);\n  overflow-y: auto;\n  padding: 14px 16px;\n  border-radius: 8px;\n  color: #1c1c25;\n  font-family: Inter, sans-serif;\n  font-size: 13px;\n  line-height: 1.45;\n  letter-spacing: 0.01em;\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface::-webkit-scrollbar {\n  display: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface :where(.ms-product-features) {\n  margin: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface {\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  margin: 0;\n  padding: 8px 0;\n  font-size: 13px;\n  line-height: 1.42;\n  color: #1c1c25;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature:first-child {\n  padding-top: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature:last-child {\n  padding-bottom: 0;\n  border-bottom: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature img,\n.SB-004DM_v1 .view-details-modal__features-surface .feature svg {\n  flex-shrink: 0;\n  width: 18px;\n  height: 18px;\n  margin-top: 1px;\n  -o-object-fit: contain;\n  object-fit: contain;\n}\n.SB-004DM_v1 .view-details-modal__features-surface .feature p {\n  margin: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface p {\n  margin: 0 0 10px;\n}\n.SB-004DM_v1 .view-details-modal__features-surface p:last-child {\n  margin-bottom: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.SB-004DM_v1 .view-details-modal__features-surface li {\n  position: relative;\n  margin: 0 0 8px;\n  padding-left: 18px;\n  line-height: 1.42;\n}\n.SB-004DM_v1 .view-details-modal__features-surface li:last-child {\n  margin-bottom: 0;\n}\n.SB-004DM_v1 .view-details-modal__features-surface li::before {\n  content: \"\";\n  position: absolute;\n  left: 0;\n  top: 0.35em;\n  width: 6px;\n  height: 6px;\n  border-radius: 50%;\n  background: #4d4184;\n}\n.SB-004DM_v1 .view-details-modal__features-surface strong,\n.SB-004DM_v1 .view-details-modal__features-surface b {\n  font-weight: 700;\n  color: #1c1c25;\n}\n.SB-004DM_v1 .view-details-modal__features-surface a {\n  color: #4d4184;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n.SB-004DM_v1 {\n}\n.SB-004DM_v1 .view-details-modal__purchase {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  width: 100%;\n  margin-top: 4px;\n}\n.SB-004DM_v1 .view-details-modal__option {\n  margin: 0;\n  width: 100%;\n  max-width: 100%;\n}\n.SB-004DM_v1 .view-details-modal__option-label {\n  color: #1c1c25;\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 18px;\n  letter-spacing: 0.16px;\n}\n.SB-004DM_v1 .size-guide span {\n  font-weight: 700;\n}\n.SB-004DM_v1 .size-guide {\n  color: #4d4184;\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 20px;\n  letter-spacing: 0.16px;\n}\n.SB-004DM_v1 .view-details-modal__select {\n  display: block;\n  width: -moz-fit-content;\n  width: fit-content;\n  max-width: 100%;\n  box-sizing: border-box;\n  min-height: 36px;\n  margin: 0;\n  padding: 4px 52px 4px 14px;\n  border: 1px solid rgba(28, 28, 37, 0.18);\n  border-radius: 4px;\n  background-color: #fff;\n  color: #1c1c25;\n  font-family: Inter, sans-serif;\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.2;\n  letter-spacing: 0.01em;\n  cursor: pointer;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  box-shadow: none;\n  background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 6L15 6L10 13L5 6Z' fill='%234D4184'/%3E%3C/svg%3E\");\n  background-repeat: no-repeat;\n  background-position: right 12px center;\n  background-size: 20px 20px;\n  transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n.SB-004DM_v1 .view-details-modal__select:hover {\n  border-color: rgba(77, 65, 132, 0.5);\n}\n.SB-004DM_v1 .view-details-modal__select:focus {\n  outline: none;\n  border-color: #4d4184;\n  box-shadow: 0 0 0 2px rgba(77, 65, 132, 0.2);\n}\n.SB-004DM_v1 .view-details-modal__cta {\n  margin: 0;\n  padding: 0;\n  border: none;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  min-height: 48px;\n  padding: 14px 20px;\n  border: none;\n  border-radius: 4px;\n  background: #4d4184;\n  color: #fff;\n  font-family: Inter, sans-serif;\n  font-size: 14px;\n  font-weight: 600;\n  letter-spacing: 0.02em;\n  line-height: 1.2;\n  cursor: pointer;\n  transition: background 0.15s ease, opacity 0.15s ease;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart:hover:not(:disabled) {\n  background: #3d356f;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart:disabled {\n  opacity: 0.55;\n  cursor: not-allowed;\n}\n.SB-004DM_v1 .view-details-modal__add-to-cart.is-loading {\n  pointer-events: none;\n  opacity: 0.75;\n}\n.SB-004DM_v1 .view-details-modal__atc-msg {\n  min-height: 1.25em;\n  margin: 10px 0 0;\n  font-family: Inter, sans-serif;\n  font-size: 13px;\n  color: #1a7f37;\n}\n.SB-004DM_v1 .view-details-modal__atc-msg.is-error {\n  color: #b42318;\n}\n.SB-004DM_v1 .view-details-modal__pdp-link {\n  display: inline-block;\n  margin-bottom: 16px;\n  color: #4d4184;\n  font-family: Melbourne, serif;\n  font-size: 13px;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n.SB-004DM_v1 .view-details-modal__pdp-link:hover {\n  opacity: 0.85;\n}\n@media screen and (max-width: 768px) {\n  .SB-004DM_v1 .view-details-modal {\n    align-items: flex-end;\n    padding: 0;\n  }\n  .SB-004DM_v1 .view-details-modal__dialog {\n    max-height: 92vh;\n    border-radius: 12px 12px 0 0;\n    max-width: 359px;\n    top: -25px;\n  }\n  .SB-004DM_v1 .view-details-modal__inner {\n    padding: 24px 18px 20px;\n  }\n  .SB-004DM_v1 .view-details-modal__loox-rating {\n    margin-right: 48px;\n  }\n  .SB-004DM_v1 .view-details-modal__title {\n    font-size: 20px;\n    margin-right: 48px;\n  }\n}\nbody.SB-004DM_v1.view-details-modal-open {\n  overflow: hidden;\n}\n","customJs":"(() => {\n  // utils/common.js\n  function poll(t, i, o = false, e = 1e4, a = 25) {\n    e < 0 || (t() ? i() : setTimeout(() => {\n      poll(t, i, o, o ? e : e - a, a);\n    }, a));\n  }\n  function q(s, o) {\n    return o ? s.querySelector(o) : document.querySelector(s);\n  }\n  function insert(target, position, element, exists) {\n    if (!exists) {\n      typeof element === \"string\" ? target.insertAdjacentHTML(position, element) : target.insertAdjacentElement(position, element);\n    }\n  }\n\n  // src/mellow/SB-004DM/v1/info.js\n  var ID = \"SB-004DM\";\n  var VAR = \"v1\";\n  function expLog() {\n    window.runningExperiments[ID].logs.push([...arguments]);\n    console.debug(...arguments);\n  }\n\n  // src/mellow/SB-004DM/v1/productGallery.js\n  var SWIPER_CDN_CSS = \"https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.css\";\n  var SWIPER_CDN_JS = \"https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.js\";\n  var SWIPER_LINK_ID = `${ID}_swiper-bundle-css`;\n  var SWIPER_SCRIPT_ID = `${ID}_swiper-bundle-js`;\n  var PRODUCT_HANDLE = \"cloud-alignment-pillow\";\n  var VIEW_DETAILS_MODAL_STAR_SVG = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"12\" viewBox=\"0 0 11 12\" fill=\"none\" class=\"view-details-modal__star\" aria-hidden=\"true\"><path d=\"M5.42072 8.96718L3.08634 10.3734C2.98322 10.439 2.8754 10.4672 2.7629 10.4578C2.6504 10.4484 2.55197 10.4109 2.46759 10.3453C2.38322 10.2797 2.31759 10.1977 2.27072 10.0995C2.22384 10.0012 2.21447 9.89099 2.24259 9.76874L2.86134 7.11093L0.794155 5.32499C0.700405 5.24061 0.641905 5.14443 0.618655 5.03643C0.595405 4.92843 0.602342 4.82305 0.639467 4.7203C0.676592 4.61755 0.732842 4.53318 0.808217 4.46718C0.883592 4.40118 0.986717 4.35899 1.11759 4.34061L3.84572 4.10155L4.9004 1.59843C4.94728 1.48593 5.02003 1.40155 5.11865 1.3453C5.21728 1.28905 5.31797 1.26093 5.42072 1.26093C5.52347 1.26093 5.62415 1.28905 5.72278 1.3453C5.8214 1.40155 5.89415 1.48593 5.94103 1.59843L6.99572 4.10155L9.72384 4.34061C9.85509 4.35936 9.95822 4.40155 10.0332 4.46718C10.1082 4.5328 10.1645 4.61718 10.202 4.7203C10.2395 4.82343 10.2466 4.92899 10.2233 5.03699C10.2001 5.14499 10.1414 5.24099 10.0473 5.32499L7.98009 7.11093L8.59884 9.76874C8.62697 9.89061 8.61759 10.0009 8.57072 10.0995C8.52384 10.1981 8.45822 10.2801 8.37384 10.3453C8.28947 10.4106 8.19103 10.448 8.07853 10.4578C7.96603 10.4675 7.85822 10.4394 7.75509 10.3734L5.42072 8.96718Z\" fill=\"#FFAD0C\"/></svg>`;\n  var VIEW_DETAILS_MODAL_LOOX_RATING = `\n<div class=\"view-details-modal__loox-rating\">\n  <div class=\"loox-rating-content\" role=\"img\" aria-label=\"5 out of 5 stars, 25,007 reviews\">\n    ${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}${VIEW_DETAILS_MODAL_STAR_SVG}\n    <span class=\"loox-rating-label\" aria-hidden=\"true\">&nbsp;(25,007)</span>\n  </div>\n</div>`;\n  var swiperCdnPromise = null;\n  var productJsonCache = null;\n  var modalProductRef = null;\n  var modalMainSwiper = null;\n  var modalThumbsSwiper = null;\n  function getModalProduct() {\n    return modalProductRef;\n  }\n  function setModalProduct(product) {\n    modalProductRef = product;\n  }\n  function loadSwiperFromCdn() {\n    if (typeof window.Swiper === \"function\")\n      return Promise.resolve();\n    if (!swiperCdnPromise) {\n      swiperCdnPromise = new Promise((resolve, reject) => {\n        if (!document.getElementById(SWIPER_LINK_ID)) {\n          const link = document.createElement(\"link\");\n          link.id = SWIPER_LINK_ID;\n          link.rel = \"stylesheet\";\n          link.href = SWIPER_CDN_CSS;\n          document.head.appendChild(link);\n        }\n        if (typeof window.Swiper === \"function\") {\n          resolve();\n          return;\n        }\n        let script = document.getElementById(SWIPER_SCRIPT_ID);\n        if (!script) {\n          script = document.createElement(\"script\");\n          script.id = SWIPER_SCRIPT_ID;\n          script.src = SWIPER_CDN_JS;\n          script.async = true;\n          script.onload = () => resolve();\n          script.onerror = () => reject(new Error(\"Swiper CDN script failed to load\"));\n          document.head.appendChild(script);\n          if (typeof window.Swiper === \"function\")\n            resolve();\n        } else if (typeof window.Swiper === \"function\") {\n          resolve();\n        } else {\n          script.addEventListener(\"load\", () => resolve(), { once: true });\n          script.addEventListener(\"error\", () => reject(new Error(\"Swiper CDN script failed\")), { once: true });\n        }\n      }).then(() => {\n        if (typeof window.Swiper !== \"function\") {\n          throw new Error(\"Swiper global not available after CDN load\");\n        }\n      });\n    }\n    return swiperCdnPromise;\n  }\n  function absoluteUrl(url) {\n    if (!url)\n      return \"\";\n    const u = String(url).trim();\n    if (u.startsWith(\"//\"))\n      return `https:${u}`;\n    return u;\n  }\n  function formatMoney(cents) {\n    return new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: \"USD\" }).format(Number(cents) / 100);\n  }\n  function escapeHtml(s) {\n    return String(s).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n  }\n  async function fetchProductJson() {\n    if (productJsonCache)\n      return productJsonCache;\n    const res = await fetch(`/products/${PRODUCT_HANDLE}.js`, { credentials: \"same-origin\" });\n    if (!res.ok)\n      throw new Error(`Product ${PRODUCT_HANDLE} fetch failed`);\n    productJsonCache = await res.json();\n    return productJsonCache;\n  }\n  function destroyModalSwipers() {\n    if (modalMainSwiper) {\n      modalMainSwiper.destroy(true, true);\n      modalMainSwiper = null;\n    }\n    if (modalThumbsSwiper) {\n      modalThumbsSwiper.destroy(true, true);\n      modalThumbsSwiper = null;\n    }\n  }\n  async function initModalSwipers(modalRoot) {\n    destroyModalSwipers();\n    const mainEl = modalRoot.querySelector(\".view-details-modal__swiper-main\");\n    const thumbsEl = modalRoot.querySelector(\".view-details-modal__swiper-thumbs\");\n    if (!mainEl)\n      return;\n    try {\n      await loadSwiperFromCdn();\n    } catch (err) {\n      expLog(\"SB-004DM Swiper CDN\", err);\n      return;\n    }\n    const SwiperCtor = window.Swiper;\n    const images = (modalProductRef?.images || []).map(absoluteUrl).filter(Boolean);\n    const hasThumbs = thumbsEl && images.length > 1;\n    if (hasThumbs) {\n      modalThumbsSwiper = new SwiperCtor(thumbsEl, {\n        spaceBetween: 8,\n        slidesPerView: \"auto\",\n        freeMode: true,\n        watchSlidesProgress: true\n      });\n    }\n    const mainOpts = {\n      watchOverflow: true,\n      spaceBetween: 0,\n      navigation: {\n        prevEl: mainEl.querySelector(\".view-details-modal__nav-prev\"),\n        nextEl: mainEl.querySelector(\".view-details-modal__nav-next\")\n      }\n    };\n    if (modalThumbsSwiper) {\n      mainOpts.thumbs = { swiper: modalThumbsSwiper };\n    }\n    modalMainSwiper = new SwiperCtor(mainEl, mainOpts);\n  }\n  function injectMsProductFeatures(modalRoot) {\n    const host = modalRoot.querySelector(\".view-details-modal__features\");\n    if (!host)\n      return;\n    host.innerHTML = \"\";\n    const source = document.querySelector(\".ms-product-features\");\n    if (!source)\n      return;\n    const clone = source.cloneNode(true);\n    const surface = document.createElement(\"div\");\n    surface.className = \"view-details-modal__features-surface\";\n    surface.appendChild(clone);\n    host.appendChild(surface);\n  }\n  function buildModalShell() {\n    return `\n<div class=\"view-details-modal\" id=\"view-details-modal-root\" hidden data-open=\"false\" aria-hidden=\"true\">\n  <div class=\"view-details-modal__backdrop\" tabindex=\"-1\"></div>\n  <div class=\"view-details-modal__dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"view-details-modal-title\">\n    <button type=\"button\" class=\"view-details-modal__close\" aria-label=\"Close details\">\n      <span class=\"view-details-modal__close-icon\" aria-hidden=\"true\">\n        <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n          <path d=\"M6 6l12 12M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n        </svg>\n      </span>\n    </button>\n    <div class=\"view-details-modal__inner\"></div>\n  </div>\n</div>`;\n  }\n  function renderModalInner(product, selectedIndex) {\n    const images = (product.images || []).map(absoluteUrl).filter(Boolean);\n    const variants = product.variants || [];\n    const v = variants[selectedIndex] || variants[0];\n    if (!v)\n      return '<p class=\"view-details-modal__error\">Product unavailable.</p>';\n    const option = product.options && product.options[0] || { name: \"Size\", values: [] };\n    const compare = v.compare_at_price && v.compare_at_price > v.price ? formatMoney(v.compare_at_price) : \"\";\n    const sale = formatMoney(v.price);\n    const savingsPct = v.compare_at_price && v.compare_at_price > v.price ? Math.round((1 - v.price / v.compare_at_price) * 100) : null;\n    const slides = images.length ? images.map((src) => `\n    <div class=\"swiper-slide\">\n      <img class=\"view-details-modal__slide-img\" src=\"${escapeHtml(src)}\" alt=\"${escapeHtml(product.title || \"\")}\" width=\"800\" height=\"800\" loading=\"lazy\">\n    </div>`).join(\"\") : '<div class=\"swiper-slide\"><div class=\"view-details-modal__slide-placeholder\"></div></div>';\n    const thumbSlides = images.length > 1 ? images.map((src) => `\n    <div class=\"swiper-slide\">\n      <img src=\"${escapeHtml(src)}\" alt=\"\" width=\"64\" height=\"64\" loading=\"lazy\">\n    </div>`).join(\"\") : \"\";\n    const selectId = \"view-details-modal-size-select\";\n    const optionsHtml = variants.map((variant, i) => {\n      const label = variant.public_title || variant.title || \"\";\n      const selected = i === selectedIndex ? \" selected\" : \"\";\n      const unavailable = variant.available === false ? \" disabled\" : \"\";\n      return `<option value=\"${i}\" data-variant-id=\"${variant.id}\"${selected}${unavailable}>${escapeHtml(label)}</option>`;\n    }).join(\"\");\n    const available = v.available !== false;\n    const atcLabel = available ? \"Add to cart\" : \"Out of stock\";\n    return `\n    <div class=\"view-details-modal__layout\">\n      <div class=\"view-details-modal__media\">\n        <div class=\"view-details-modal__swiper-root\">\n          <div class=\"swiper view-details-modal__swiper-main\">\n            <div class=\"swiper-wrapper\">\n              ${slides}\n            </div>\n            <div class=\"swiper-button-prev view-details-modal__nav-prev\" aria-label=\"Previous image\"></div>\n            <div class=\"swiper-button-next view-details-modal__nav-next\" aria-label=\"Next image\"></div>\n          </div>\n          ${thumbSlides ? `\n          <div class=\"swiper view-details-modal__swiper-thumbs\">\n            <div class=\"swiper-wrapper\">\n              ${thumbSlides}\n            </div>\n          </div>` : \"\"}\n        </div>\n      </div>\n      <div class=\"view-details-modal__copy\">\n        ${VIEW_DETAILS_MODAL_LOOX_RATING}\n        <h2 id=\"view-details-modal-title\" class=\"view-details-modal__title\">${escapeHtml(product.title || \"\")}</h2>\n        <div class=\"view-details-modal__price-row\">\n          <span class=\"view-details-modal__price-sale\">${sale}</span>\n          ${compare ? `<span class=\"view-details-modal__price-compare\">${compare}</span>` : \"\"}\n          ${savingsPct != null ? `<span class=\"view-details-modal__price-save\">Save ${savingsPct}%</span>` : \"\"}\n        </div>\n        <div class=\"view-details-modal_description\">For deep, supported sleep in any position. Whether you're a side, back, or stomach sleeper, the 3-zone contour design delivers targeted neck lift, pressure relief, and full-body alignment.</div>\n        <div class=\"view-details-modal__features\" aria-label=\"Product features\"></div>\n        <div class=\"view-details-modal__purchase\">\n          <div class=\"view-details-modal__option\">\n            <p class=\"size-guide\">\n                <span>Select Size</span>\n            <br/>\n            Under 5\u20197 Tall = Regular\n            <br />\n            Above 5\u20197 Tall = High</p>\n            \n            <label class=\"view-details-modal__option-label\" for=\"${selectId}\">Select Size</label>\n            <select id=\"${selectId}\" class=\"view-details-modal__select\" data-variant-select>\n              ${optionsHtml}\n            </select>\n          </div>\n          <div class=\"view-details-modal__cta\">\n            <button type=\"button\" class=\"view-details-modal__add-to-cart\"\n              data-variant-id=\"${v.id}\"\n              ${available ? \"\" : \"disabled\"}>\n              ${atcLabel}\n            </button>\n            <p class=\"view-details-modal__atc-msg\" aria-live=\"polite\"></p>\n          </div>\n        </div>\n      </div>\n    </div>`;\n  }\n  function setModalOpen(modalRoot, open) {\n    modalRoot.hidden = !open;\n    modalRoot.dataset.open = open ? \"true\" : \"false\";\n    modalRoot.setAttribute(\"aria-hidden\", open ? \"false\" : \"true\");\n    document.body.classList.toggle(\"view-details-modal-open\", open);\n    if (!open)\n      destroyModalSwipers();\n  }\n  async function mountModalContent(modalRoot, inner, product, variantIndex) {\n    destroyModalSwipers();\n    inner.innerHTML = renderModalInner(product, variantIndex);\n    injectMsProductFeatures(modalRoot);\n    await initModalSwipers(modalRoot);\n  }\n  async function refreshGallerySwipersOnOpen(modalRoot) {\n    if (!modalMainSwiper) {\n      await initModalSwipers(modalRoot);\n    } else {\n      modalMainSwiper.update?.();\n      modalThumbsSwiper?.update?.();\n    }\n  }\n\n  // src/mellow/SB-004DM/v1/index.js\n  window.runningExperiments = window.runningExperiments || {};\n  window.runningExperiments[ID] = {\n    name: \"\",\n    variation: `${VAR}`,\n    logs: []\n  };\n  function applyVariantToModal(modalRoot, product, selectedIndex) {\n    const variants = product.variants || [];\n    const v = variants[selectedIndex] || variants[0];\n    if (!v)\n      return;\n    const compare = v.compare_at_price && v.compare_at_price > v.price ? formatMoney(v.compare_at_price) : \"\";\n    const sale = formatMoney(v.price);\n    const savingsPct = v.compare_at_price && v.compare_at_price > v.price ? Math.round((1 - v.price / v.compare_at_price) * 100) : null;\n    const priceRow = modalRoot.querySelector(\".view-details-modal__price-row\");\n    if (priceRow) {\n      priceRow.innerHTML = `\n          <span class=\"view-details-modal__price-sale\">${sale}</span>\n          ${compare ? `<span class=\"view-details-modal__price-compare\">${compare}</span>` : \"\"}\n          ${savingsPct != null ? `<span class=\"view-details-modal__price-save\">Save ${savingsPct}%</span>` : \"\"}\n        `;\n    }\n    const sel = modalRoot.querySelector(\".view-details-modal__select[data-variant-select]\");\n    if (sel)\n      sel.value = String(selectedIndex);\n    const atc = modalRoot.querySelector(\".view-details-modal__add-to-cart\");\n    if (atc) {\n      const available = v.available !== false;\n      atc.setAttribute(\"data-variant-id\", String(v.id));\n      atc.disabled = !available;\n      atc.textContent = available ? \"Add to cart\" : \"Out of stock\";\n    }\n  }\n  async function addCartItemsJson(items) {\n    const res = await fetch(\"/cart/add.js\", {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n      credentials: \"same-origin\",\n      body: JSON.stringify({ items })\n    });\n    const data = await res.json().catch(() => ({}));\n    if (!res.ok) {\n      const msg = data.description || data.message || data.error || `Could not add to cart (${res.status})`;\n      throw new Error(msg);\n    }\n    return data;\n  }\n  async function addVariantToCart(variantId) {\n    return addCartItemsJson([{ id: Number(variantId), quantity: 1 }]);\n  }\n  function mainLineItemFromProductForm(form) {\n    const fd = new FormData(form);\n    const id = fd.get(\"id\");\n    if (id == null || id === \"\")\n      return null;\n    const qtyRaw = fd.get(\"quantity\");\n    const quantity = Math.max(1, parseInt(String(qtyRaw != null && qtyRaw !== \"\" ? qtyRaw : \"1\"), 10) || 1);\n    const item = { id: Number(id), quantity };\n    const properties = {};\n    Array.from(fd.entries()).forEach(([key, value]) => {\n      if (!key.startsWith(\"properties[\"))\n        return;\n      const m = key.match(/^properties\\[(.+)]$/);\n      if (m && value !== \"\")\n        properties[m[1]] = String(value);\n    });\n    if (Object.keys(properties).length)\n      item.properties = properties;\n    const sp = fd.get(\"selling_plan\");\n    if (sp != null && String(sp).trim() !== \"\") {\n      const n = Number(sp);\n      if (!Number.isNaN(n) && n > 0)\n        item.selling_plan = n;\n    }\n    return item;\n  }\n  function firstAvailableVariantId(product) {\n    const variants = product?.variants;\n    if (!variants?.length)\n      return null;\n    const v = variants.find((x) => x.available !== false) || variants[0];\n    return v?.id != null ? Number(v.id) : null;\n  }\n  function isMainPdpAddToCartForm(form) {\n    if (!(form instanceof HTMLFormElement))\n      return false;\n    if (form.closest(\"#view-details-modal-root\"))\n      return false;\n    const action = String(form.getAttribute(\"action\") || \"\");\n    if (!action.includes(\"/cart/add\"))\n      return false;\n    if (!form.classList.contains(\"shopify-product-form\") && form.getAttribute(\"data-type\") !== \"add-to-cart-form\") {\n      return false;\n    }\n    return true;\n  }\n  function publishCartUpdated() {\n    [\"cart:updated\", \"cart:refresh\", \"cart:change\"].forEach((name) => {\n      document.dispatchEvent(new CustomEvent(name, { bubbles: true }));\n    });\n    if (typeof window.dispatchEvent === \"function\") {\n      window.dispatchEvent(new CustomEvent(\"shopify:cart:change\", { bubbles: true }));\n    }\n  }\n  var subProduct = `\n  <div class=\"additional-product\">\n    <div class=\"product-info\">\n      <input type=\"checkbox\" class=\"product-checkbox\">\n      <div class=\"product-info-content\">\n        <p class=\"product-title\">Add CloudAlign\u2122 Pillow</p>\n        <p class=\"product-price\">\n          <span class=\"product-price-sale\">$49.00</span>\n          <span class=\"product-price-original\">$100.00</span>\n          <span class=\"product-price-savings\">Save 50%</span>\n        </p>\n        <p class=\"product-description\">For deep, supported sleep in any position. Whether you're a side, back, or stomach sleeper, the 3-zone contour design delivers targeted neck lift, pressure relief, and full-body alignment.</p>\n        <p class=\"view-details\" role=\"button\" tabindex=\"0\">View Details</p>\n      </div>\n    </div>\n    <div class=\"product-img\">\n      <img class=\"product-img-el\" src=\"https://cdn.shopify.com/s/files/1/0751/4351/2317/files/Rectangle.png?v=1775811986\" alt=\"CloudAlign Pillow\" width=\"148\" height=\"148\">\n    </div>\n  </div>`;\n  poll(\n    () => q(\"body\") && q(\"div.shopify-block:has(.ms-product-features .feature)\"),\n    () => {\n      q(\"body\").classList.add(`${ID}_${VAR}`);\n      expLog(\"RUNNING EXPERIMENT: \", ID, \" :: \", VAR);\n      expLog(\"TEST\", q(\"body\"));\n      const anchor = q(\"div.shopify-block:has(.ms-product-features .feature)\");\n      insert(anchor, \"afterend\", subProduct, q(\".additional-product\"));\n      if (!q(\"#view-details-modal-root\")) {\n        q(\"body\").insertAdjacentHTML(\"beforeend\", buildModalShell());\n      }\n      const modalRoot = q(\"#view-details-modal-root\");\n      const inner = modalRoot.querySelector(\".view-details-modal__inner\");\n      const modalPrepPromise = fetchProductJson().then(async (product) => {\n        setModalProduct(product);\n        await mountModalContent(modalRoot, inner, product, 0);\n      }).catch((err) => {\n        expLog(\"SB-004DM product fetch\", err);\n        inner.innerHTML = '<p class=\"view-details-modal__error\">Could not load product details. Please try again.</p>';\n      });\n      function closeModal() {\n        setModalOpen(modalRoot, false);\n      }\n      modalRoot.addEventListener(\"click\", (e) => {\n        if (e.target.closest(\".view-details-modal__backdrop\")) {\n          closeModal();\n          return;\n        }\n        if (e.target.closest(\".view-details-modal__close\")) {\n          closeModal();\n          return;\n        }\n        const atc = e.target.closest(\".view-details-modal__add-to-cart\");\n        if (atc && modalRoot.contains(atc) && !atc.disabled) {\n          const vid = atc.getAttribute(\"data-variant-id\");\n          if (!vid)\n            return;\n          const msgEl = modalRoot.querySelector(\".view-details-modal__atc-msg\");\n          atc.disabled = true;\n          atc.classList.add(\"is-loading\");\n          if (msgEl)\n            msgEl.textContent = \"\";\n          addVariantToCart(vid).then(() => {\n            if (msgEl) {\n              msgEl.textContent = \"Added to cart\";\n              msgEl.classList.remove(\"is-error\");\n            }\n            publishCartUpdated();\n            fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n            });\n          }).catch((err) => {\n            expLog(\"SB-004DM add to cart\", err);\n            if (msgEl) {\n              msgEl.textContent = err.message || \"Could not add to cart.\";\n              msgEl.classList.add(\"is-error\");\n            }\n          }).finally(() => {\n            atc.disabled = false;\n            atc.classList.remove(\"is-loading\");\n          });\n        }\n      });\n      modalRoot.addEventListener(\"change\", (e) => {\n        const sel = e.target.closest(\".view-details-modal__select[data-variant-select]\");\n        const product = getModalProduct();\n        if (!sel || !modalRoot.contains(sel) || !product)\n          return;\n        const idx = parseInt(sel.value, 10);\n        if (Number.isNaN(idx))\n          return;\n        applyVariantToModal(modalRoot, product, idx);\n      });\n      document.addEventListener(\"keydown\", (e) => {\n        if (e.key === \"Escape\" && modalRoot.dataset.open === \"true\") {\n          closeModal();\n        }\n      });\n      const row = q(\".additional-product\");\n      const vd = row.querySelector(\".view-details\");\n      async function openModal() {\n        await modalPrepPromise;\n        setModalOpen(modalRoot, true);\n        modalRoot.querySelector(\".view-details-modal__close\")?.focus();\n        await refreshGallerySwipersOnOpen(modalRoot);\n      }\n      vd?.addEventListener(\"click\", (e) => {\n        e.preventDefault();\n        openModal();\n      });\n      vd?.addEventListener(\"keydown\", (e) => {\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          openModal();\n        }\n      });\n      async function runMainPdpCrossSellBundle(form) {\n        const mainItem = mainLineItemFromProductForm(form);\n        if (!mainItem?.id)\n          throw new Error(\"SB-004DM: missing variant id\");\n        await modalPrepPromise.catch(() => {\n        });\n        let pillow = getModalProduct();\n        if (!pillow) {\n          pillow = await fetchProductJson();\n          setModalProduct(pillow);\n        }\n        const extraId = firstAvailableVariantId(pillow);\n        if (!extraId) {\n          await addCartItemsJson([mainItem]);\n        } else {\n          await addCartItemsJson([mainItem, { id: extraId, quantity: 1 }]);\n        }\n        publishCartUpdated();\n        fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n        });\n      }\n      window.addEventListener(\n        \"click\",\n        (e) => {\n          if (!q(\".additional-product .product-checkbox\")?.checked)\n            return;\n          const btn = e.target.closest('button[name=\"add\"], button[data-testid=\"standalone-add-to-cart\"]');\n          if (!btn || btn.closest(\"#view-details-modal-root\"))\n            return;\n          const form = btn.form || btn.closest(\"form\");\n          if (!form || !isMainPdpAddToCartForm(form))\n            return;\n          e.preventDefault();\n          e.stopPropagation();\n          e.stopImmediatePropagation();\n          (async () => {\n            try {\n              await runMainPdpCrossSellBundle(form);\n            } catch (err) {\n              expLog(\"SB-004DM main PDP bundle add (click)\", err);\n              try {\n                const mainItem = mainLineItemFromProductForm(form);\n                if (mainItem?.id) {\n                  await addCartItemsJson([mainItem]);\n                  publishCartUpdated();\n                  fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n                  });\n                }\n              } catch (e2) {\n                expLog(\"SB-004DM bundle fallback\", e2);\n              }\n            }\n          })();\n        },\n        true\n      );\n      window.addEventListener(\n        \"submit\",\n        (e) => {\n          const form = e.target;\n          if (!(form instanceof HTMLFormElement))\n            return;\n          if (!isMainPdpAddToCartForm(form))\n            return;\n          if (!q(\".additional-product .product-checkbox\")?.checked)\n            return;\n          const mainItem = mainLineItemFromProductForm(form);\n          if (!mainItem?.id)\n            return;\n          e.preventDefault();\n          (async () => {\n            try {\n              await runMainPdpCrossSellBundle(form);\n            } catch (err) {\n              expLog(\"SB-004DM main PDP bundle add (submit)\", err);\n              try {\n                if (mainItem?.id) {\n                  await addCartItemsJson([mainItem]);\n                  publishCartUpdated();\n                  fetch(\"/cart.js\", { credentials: \"same-origin\" }).catch(() => {\n                  });\n                }\n              } catch (e2) {\n                expLog(\"SB-004DM bundle submit fallback\", e2);\n              }\n            }\n          })();\n        },\n        true\n      );\n    }\n  );\n})();\n\n//last updated on: 6:24:42 PM\n//# sourceURL=ABtest/SB-004DM_v1.js","jsInjectionMode":{"type":"immediately"},"source":null}],"userInterfaces":[{"id":"e169a303-a769-414d-b1d3-148c56956ed4","isEnabled":true,"isArchived":false,"widget":{"id":"0af8a0cd-af2d-461e-b0a3-2c81510a4494","name":"Floating milestones","enabledSitewide":false,"parentId":null,"widgetType":"shippingProgressBar","config":{"desktop":{"variant":"progressBar2","styles":{},"variables":{}}}},"widgetId":"0af8a0cd-af2d-461e-b0a3-2c81510a4494","variationId":"8479d2f2-b522-489b-85a9-468b4a99e0d4","desktopVariables":{"textReplacements":{"buyMoreTemplate":"You\u2019re #quantity from FREE SHIPPING","tooltipTemplate":"","currentUnlockedTemplate":"Free shipping unlocked!"}},"mobileVariables":{"textReplacements":{"buyMoreTemplate":"You\u2019re #quantity from FREE SHIPPING","tooltipTemplate":"","currentUnlockedTemplate":"Free shipping unlocked!"}},"styleOverrides":{"bar":{"thickness":9,"activeColor":"#4c4184","inactiveColor":"#4c418480"},"colors":{"primary":"#4c4184"},"layout":{"swapTextPositions":true},"breakpoint":{"size":0,"hideText":true,"iconSize":0,"activeColor":"#ffffff","inactiveColor":"#ffffff","activeIconColor":"#fff","inactiveIconColor":"#ffffff80"},"textColors":{"dynamicProgressText":"#4c4184","breakpointTextActive":"#4c4184","breakpointTextInactive":"#4c4184"},"typography":{"dynamicProgressText":{"fontSize":"16px"}}}}],"redirects":[{"id":"04384f1c-496e-48c2-82c8-8ead44f287f1","group":1,"variationId":"166a2257-f4ff-4cc5-9e8d-4a181d44d2ba","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"product.replo.f2e64f31-74f3-4d24-ac5d-562b5873c18f.liquid"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"product","templateSuffixes":["product.replo.f2e64f31-74f3-4d24-ac5d-562b5873c18f.liquid","product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid","product.mellow-product.json"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"1304d1d9-5f41-4ba7-9e7b-6b128b7e2ced","group":1,"variationId":"3eab1464-5626-4e48-a461-ae20b3080935","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"product","templateSuffixes":["product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid","product.replo.af1c67a4-f788-48de-91f7-c5e6dfbb0e3e.liquid"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"390bbcff-e21e-4e8c-9885-8e9e44e562f4","group":1,"variationId":"012fe919-58e5-4cc6-9ecc-7954df7128f2","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"page.replo.75ec611e-b78e-4671-bc4c-3c3b1396e3ba.liquid"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"page","templateSuffixes":["page.replo.75ec611e-b78e-4671-bc4c-3c3b1396e3ba.liquid","page.shop.json"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"3a5a7d3e-b5cb-4ca8-9b07-8f449bb59f49","group":1,"variationId":"32987531-bf67-431a-bc6f-c04cad0fc6b9","originUrl":"","destinationUrl":"","queryParams":[{"key":"preview_theme_id","value":"158435967229"}],"skip":false,"isThemeTest":true,"isTemplateTest":false,"templateType":null,"templateSuffixes":[],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"7aaf1812-1675-4c55-89a1-5162f46ddf9a","group":1,"variationId":"83f8ba98-2f4e-42c4-b21a-1a87eabef99f","originUrl":"","destinationUrl":"","queryParams":[{"key":"preview_theme_id","value":"159641141501"}],"skip":false,"isThemeTest":true,"isTemplateTest":false,"templateType":null,"templateSuffixes":[],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"92150908-b927-4c0b-96fb-b075c2f74aa8","group":1,"variationId":"bfffa810-6f86-45da-86f0-44434ddd6387","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"page.shop.json"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"page","templateSuffixes":["page.replo.75ec611e-b78e-4671-bc4c-3c3b1396e3ba.liquid","page.shop.json"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"b74c0ef9-73a9-40cb-9536-ec9ba54dca21","group":1,"variationId":"1549c57f-a629-4fef-a21a-3978ce31aae2","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"product.mellow-product.json"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"product","templateSuffixes":["product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid","product.mellow-product.json"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"bda597d2-cf07-4cd1-91dd-a6331315344c","group":1,"variationId":"8df8ea44-e9ef-4d5f-b36f-56c0c8390b8d","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"product","templateSuffixes":["product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid","product.mellow-product.json"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"d8cbb712-8612-437c-a03b-5c983a932475","group":1,"variationId":"6be758bd-310a-4ef8-b693-67c51fa38f83","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"product.replo.af1c67a4-f788-48de-91f7-c5e6dfbb0e3e.liquid"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"product","templateSuffixes":["product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid","product.replo.af1c67a4-f788-48de-91f7-c5e6dfbb0e3e.liquid"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"},{"id":"dc1503b1-98f6-43dd-b83b-9bd90943d986","group":1,"variationId":"1cf4e441-4bf7-4c9f-9053-4cf4e5979bb7","originUrl":"","destinationUrl":"","queryParams":[{"key":"view","value":"product.mellow-product.json"}],"skip":false,"isThemeTest":false,"isTemplateTest":true,"templateType":"product","templateSuffixes":["product.replo.f2e64f31-74f3-4d24-ac5d-562b5873c18f.liquid","product.replo.750e75e1-d508-4956-af6a-125f88a43414.liquid","product.mellow-product.json"],"redirectOnce":false,"filter":"none","find":null,"redirectType":"fullReplacement"}],"exclusionGroups":[{"id":"01036c25-6b92-4159-a556-b24785884794","name":"Product Page","exclusionGroupEntities":[{"id":"326b47a5-f320-465e-8105-4724f517ad04","experienceId":"77d350d1-75d3-4234-96c4-de4599895f2e","percentage":50,"order":0,"hasPriorityOrder":false},{"id":"fd69547d-aaca-4bf9-a8d1-5fc276ad8fcb","experienceId":"e5b9a858-4e82-494b-9b7a-4eaf601b0c41","percentage":50,"order":1,"hasPriorityOrder":false},{"id":"e4b3a59c-c876-407f-9e3e-0d8a770d7335","experienceId":"2cfd15a2-56bf-4784-b072-5e27fb2e387a","percentage":0,"order":2,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false},{"id":"34cf4a99-efb9-430d-b2e6-ff9b5d12b3a1","name":"Site Strikeout","exclusionGroupEntities":[{"id":"7384cd8b-4ee4-4598-a0f7-63b4b3d43332","experienceId":"8734700b-4329-4e67-a1ad-9df0dc3f5fb3","percentage":0,"order":0,"hasPriorityOrder":false},{"id":"04165080-5e65-48fa-97c0-2799aa8a3c4a","experienceId":"2c612116-92b5-4b72-a222-f2e6e2846e82","percentage":0,"order":1,"hasPriorityOrder":false},{"id":"b6409087-d489-4efc-94f1-ddef668b759f","experienceId":"acd8fb57-07ea-412e-a2ec-c3516a80b21d","percentage":100,"order":2,"hasPriorityOrder":false},{"id":"60b6875a-eb6a-46cb-b795-c8e4b5823f82","experienceId":"0e3031c2-2c21-449a-a1f5-4284130ff392","percentage":0,"order":3,"hasPriorityOrder":false},{"id":"ea857e77-ada4-4695-8417-a2a8c3471ccf","experienceId":"bb39c645-daea-4af6-8dd8-bae1bf33a2fa","percentage":0,"order":4,"hasPriorityOrder":false},{"id":"37cba379-42e8-4d4e-a165-5c1556cfdb83","experienceId":"9be87d03-0849-4d80-8395-ffbc006d61ea","percentage":0,"order":5,"hasPriorityOrder":false},{"id":"3f11decb-49c8-40f9-8356-d1b840b7361d","experienceId":"e5f62b37-b073-4a12-89bc-4ad70d273cf1","percentage":0,"order":6,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false},{"id":"46775d28-b43e-4083-9108-c3c37b54db99","name":"Strikouts","exclusionGroupEntities":[{"id":"354cce92-27a6-4c0a-923f-c2e1f94f2efd","experienceId":"e50f64d5-6ca0-4da0-b8df-907ffc22b57e","percentage":0,"order":0,"hasPriorityOrder":false},{"id":"6ca73cf9-29be-4352-9fe6-3d401758ac8a","experienceId":"771afba0-cee3-4eec-a5a0-8451f2de94b8","percentage":0,"order":1,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false},{"id":"4b914165-841d-4075-b9f0-0ddb547655d1","name":"Checkout Tests","exclusionGroupEntities":[{"id":"1cc65278-1a1f-46e1-b36e-a211c65fc923","experienceId":"d6ac4746-4936-40d8-8c55-10833dc710c0","percentage":0,"order":0,"hasPriorityOrder":false},{"id":"b3f5f7fc-cb32-4cba-bc18-565ed180e514","experienceId":"bf21ea84-8ecc-47ee-a00a-23ec485abea9","percentage":0,"order":1,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false},{"id":"78c85e6d-9f22-482e-b4c1-08e043a58467","name":"TCC Cart vs. Aftersell","exclusionGroupEntities":[{"id":"34bbd579-a835-4829-8f77-c3f077ef21e0","experienceId":"09bbc6f7-9345-4321-8a55-7965602c4359","percentage":0,"order":0,"hasPriorityOrder":false},{"id":"2731b73e-9dae-46b5-80bf-c9045102868d","experienceId":"98f4085a-a97c-4cfc-9087-a1cf01bf1310","percentage":0,"order":1,"hasPriorityOrder":false},{"id":"5162f51a-1187-4e5a-ba26-716a90bb4326","experienceId":"0eaea63a-23dc-4f19-a183-1a1852d82b4d","percentage":17,"order":2,"hasPriorityOrder":false},{"id":"842a75ee-d8c7-4c45-a7a3-aad850b5e1ed","experienceId":"0913b326-c714-4dcb-bfbf-732e2078c7d8","percentage":0,"order":3,"hasPriorityOrder":false},{"id":"41076abb-0c2a-4bba-8ea0-d377bc3fd1dd","experienceId":"cc857840-d9a5-47f2-ae9c-88dacaff6672","percentage":0,"order":4,"hasPriorityOrder":false},{"id":"f28b170c-a3a5-4319-8e30-86bb5feec581","experienceId":"94067b5a-007e-40e8-bfae-b5367ddc0fda","percentage":16,"order":5,"hasPriorityOrder":false},{"id":"c815b482-27ee-4c23-8d62-9d9251f5a565","experienceId":"98cf86eb-445e-4723-8922-306cb47660e9","percentage":17,"order":6,"hasPriorityOrder":false},{"id":"ed72823f-309f-41e5-aa49-2e701294e63d","experienceId":"29e4dc99-50b7-40af-9658-a84d66c47027","percentage":17,"order":7,"hasPriorityOrder":false},{"id":"b088ba42-058e-4ca0-af1b-56254715bb18","experienceId":"d228ec25-e1ff-4e68-bbd6-1b0ade53cd17","percentage":16,"order":8,"hasPriorityOrder":false},{"id":"02c3ca3f-6870-4708-8e73-3fb10b5c0514","experienceId":"39c92512-3b1c-41fd-be85-95d604a0a071","percentage":17,"order":9,"hasPriorityOrder":false},{"id":"9ae114ab-88e5-4d16-8bf4-0db975f453f1","experienceId":"26f2e6e3-4c56-424c-b0e0-38fad5c0830f","percentage":0,"order":10,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false},{"id":"a2bec02c-cfaa-465b-b271-021bf6e48c02","name":"Homepage Tests","exclusionGroupEntities":[{"id":"1716d541-44ec-413c-b666-db4641448141","experienceId":"0a2ea375-a02b-46de-96eb-a6a0522ecf49","percentage":50,"order":0,"hasPriorityOrder":false},{"id":"1c049cf7-a16e-41ed-b6e4-fe079a6b267d","experienceId":"3f9a07ed-ff83-45c7-9f18-fd1d30c2ace5","percentage":50,"order":1,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false},{"id":"c84ecd10-c31e-41b6-a278-62f8b6c0ef35","name":"Sidecart","exclusionGroupEntities":[{"id":"07380e4a-0e7e-46a4-abf9-94883322db0c","experienceId":"e1b63889-6194-45c5-9dd9-cacb5f363673","percentage":50,"order":0,"hasPriorityOrder":false},{"id":"7438ca8b-fc7b-4dee-b332-6725bce6e964","experienceId":"3385dd6b-b98d-4a6e-a711-4f04a20ad04b","percentage":50,"order":1,"hasPriorityOrder":false}],"reassignOnEnd":true,"hasWeightedValues":false}],"widgets":[{"id":"0412178d-fefa-40a5-856d-e2ae1ead6d2b","name":"Slide out","enabledSitewide":false,"parentId":null,"widgetType":"messageBoxSlideOut","config":{"desktop":{"variant":"messageBoxSlideOutWidget1","styles":{},"variables":{}}}},{"id":"0af8a0cd-af2d-461e-b0a3-2c81510a4494","name":"Floating milestones","enabledSitewide":false,"parentId":null,"widgetType":"shippingProgressBar","config":{"desktop":{"variant":"progressBar2","styles":{},"variables":{}}}},{"id":"0b360c61-14c6-4572-8027-48277c57ad15","name":"Minimal","enabledSitewide":false,"parentId":null,"widgetType":"shippingProgressBar","config":{"desktop":{"variant":"progressBar3","styles":{},"variables":{}}}},{"id":"301d803e-d706-4150-9f30-9ed517836b7d","name":"Floating milestones","enabledSitewide":false,"parentId":null,"widgetType":"discountProgressBar","config":{"desktop":{"variant":"progressBar2","styles":{},"variables":{}}}},{"id":"35f27d99-aedc-4da9-9af5-effd034b0809","name":"Popup","enabledSitewide":false,"parentId":null,"widgetType":"messageBoxPopup","config":{"desktop":{"variant":"messageBoxPopupWidget1","styles":{},"variables":{}}}},{"id":"4783d481-6c68-42e6-b1ad-e6387f6eac18","name":"Classic list","enabledSitewide":false,"parentId":null,"widgetType":"quantityButtons","config":{"desktop":{"variant":"quantityButtonsWidgetClassic","styles":{},"variables":{"buttons":[{"id":"386a77ce-f3c0-41ce-ba1e-83627a84f198","quantity":1,"unitName":"units"},{"id":"229f5228-1943-4b4c-844d-ae143f226f09","quantity":3,"unitName":"units"},{"id":"5ce9b4f3-a01b-43b9-8d71-8eab428d8769","quantity":5,"unitName":"units","extraMessage":"Most popular"}]}}}},{"id":"66a721af-9daa-4b29-a360-c1a29703e0eb","name":"Compact","enabledSitewide":false,"parentId":null,"widgetType":"quantityButtons","config":{"desktop":{"variant":"quantityButtonsWidgetCompact","styles":{},"variables":{"buttons":[{"id":"d80569ad-9322-4db3-b82c-1e9890613eed","quantity":1,"unitName":"units"},{"id":"ab32d415-c351-44d2-a499-6533553dd050","quantity":3,"unitName":"units"},{"id":"a742f7d0-6740-4f92-a3ea-dd7f22612a19","quantity":5,"unitName":"units","extraMessage":"Most popular"}]}}}},{"id":"77ed5cec-73fb-4075-b073-b16c0dd62358","name":"Checkpoint classic","enabledSitewide":false,"parentId":null,"widgetType":"shippingProgressBar","config":{"desktop":{"variant":"progressBar1","styles":{},"variables":{}}}},{"id":"a27ce9a0-0342-41df-bbe1-480e84bf9697","name":"Minimal","enabledSitewide":false,"parentId":null,"widgetType":"discountProgressBar","config":{"desktop":{"variant":"progressBar3","styles":{},"variables":{}}}},{"id":"d759ee24-d19e-43e9-aa41-964e7ff4915e","name":"Checkpoint classic","enabledSitewide":false,"parentId":null,"widgetType":"discountProgressBar","config":{"desktop":{"variant":"progressBar1","styles":{},"variables":{}}}},{"id":"e0a2689d-b56b-4b6c-b2f6-cb382bddd913","name":"Image cards","enabledSitewide":false,"parentId":null,"widgetType":"quantityButtons","config":{"desktop":{"variant":"quantityButtonsWidgetImage","styles":{},"variables":{"buttons":[{"id":"2792f7ca-6925-48fe-b83b-d26508f1ed27","quantity":1,"unitName":"units"},{"id":"80965310-b70b-45e7-a86b-d77f3dc1c1e3","quantity":3,"unitName":"units"},{"id":"81fecf36-621b-46e8-b52c-6d2ac50fab16","quantity":5,"unitName":"units","extraMessage":"Most popular"}]}}}}],"integrations":[{"id":"7dd4bbd9-edd9-4e40-b442-b61453d307cd","name":"Google","description":"Google","enabled":true,"globalSettings":{"ga":{"streamId":"properties/490573668/dataStreams/12353308897","accountId":"accounts/356248010","propertyId":"properties/490573668","measurementId":"G-GM9BZ2VJDN"}},"createdAtTs":1772724892676,"lastUpdateTs":1772724961237},{"id":"99d2f296-6cd9-4627-a3c8-8f80e0c8b595","name":"IntelligemsAPI","description":"Created through Custom API Integration","enabled":true,"globalSettings":{},"createdAtTs":1771861804729,"lastUpdateTs":1771861804729},{"id":"b8785873-4f61-4d38-95b4-2f80fa92365c","name":"Slack","description":"Org Slack integration (seeded)","enabled":true,"globalSettings":{"channelId":"C09L188ECP9","channelName":"mellow-intelligems-ext","workspaceInfo":{"teamId":"T06RDS0C3U7"},"oauthCompleted":false,"notificationsEnabled":false},"createdAtTs":1774377175005,"lastUpdateTs":1774380252110}],"customEvents":[{"id":"1de26608-4f9c-4d46-bbc4-ef659906f012","identifier":"quicknavlinkIGJWL","name":"quick_nav_link","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":["#shopify-section-sections--21956431708413__ms_product_grid_crL8BX a"]}},{"id":"59b246a8-2b4b-4a5e-a681-d022531af860","identifier":"clickopenhamburgerNOAZG","name":"click_open_hamburger","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":[".menu-drawer-container .header__icon, .menu-drawer-container .header__icon *"]}},{"id":"612564cb-c9ae-44ee-8488-ff059cd25273","identifier":"opensidecartRFLTX","name":"open_sidecart","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":[".header__icon--cart, .header__icon--cart *, [data-replo-add-product-variant-to-cart], [data-replo-add-product-variant-to-cart] *"]}},{"id":"6e5cc744-97b9-47fe-8be5-e9cc4d9886b5","identifier":"hpmostlovedprodclickSBWKF","name":"hp_most_loved_prod_click","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":["[data-products-list*=\"products-list\"] a, [data-products-list*=\"products-list\"] [data-replo-part=\"slide\"], [data-products-list*=\"products-list\"] [data-replo-part=\"slide\"] *, [data-products-list*=\"products-list\"] [data-replo-product-handle], [data-products-list*=\"products-list\"] [data-replo-product-handle] *"]}},{"id":"b3f8ffcd-59a2-48c0-b597-8362f84b1483","identifier":"pdplearnmoreclickKPJRJ","name":"pdp_learn_more_click","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":[".modalLink"]}},{"id":"b509a026-4590-495f-a463-3cdba0beff5b","identifier":"lpFlexClickedOnSleepPerfeVCNOJ","name":"LP |Flex | Clicked on \"Sleep Perfectly Aligned & Wake Up Rested\" ","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":[".r-j77f1w > span strong"]}},{"id":"c552d35f-6ccb-45e1-8689-22efbd75e6e2","identifier":"onePillowThreeZoneAccordiYEFQY","name":"One Pillow Three Zone Accordion click","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":[".r-1ulvc8v [data-replo-collapsible=\"true\"], .r-1xauz5r [data-replo-collapsible=\"true\"]"]}},{"id":"eeb00b43-0137-40b6-a05d-ae75d88d4d93","identifier":"clickedOnGetYourMarshmellBYOWO","name":"Clicked on \"Get Your MarshMellow\"","applyToUrls":[],"experiencesList":[],"type":"clickEvent","settings":{"selectors":[".r-f21w0c"]}}],"options":{"currencyFormat":{"options":{"minimumFractionDigits":2},"symbol":"$","suffix":"","removeTrailingZeros":true},"shopCurrency":{"locale":"en","code":"USD"},"currencyFn":"","additionalPriceQuerySelectors":["[data-replo-price]",".ocu-totals__has"],"additionalComparePriceQuerySelectors":["[data-replo-compare-price]",".ocu-totals__was.ocu-totals__was--line-through"],"additionalVolumeDiscountQuerySelectors":[],"additionalInstallmentPriceQuerySelectors":[],"additionalCartDiscountMessageSelectors":[],"additionalSavingsPriceQuerySelectors":[".ocu-savings--flex p div"],"additionalSavingsPercentageQuerySelectors":[],"additionalCartSavingsSelectors":[],"additionalCartOriginalTotalSelectors":[],"addIgDiscountToHrefQuerySelectors":[],"shadowElementSelectors":[],"interceptAtcXhr":true,"shouldRedirect":false,"lazyCartUpdate":false,"shouldUseProductMeta":false,"shouldHideShippingSubtext":true,"isHeadlessStorefront":false,"updateVariantsInATCForm":false,"useBeacon":true,"shouldDuplicateProducts":false,"enableAi":true,"locale":"en-US","cousinsMaxLevelsUp":4,"metricsSampleRate":100,"downSampling":{"initialLoads":1,"multiplier":1},"domain":"mellowsleep.com","secondaryDomains":[],"eagerUpdateDom":false,"shopifyFunctionsEnabled":true,"shopifyFunctionsForPricingEnabled":true,"priceSplittingEnabled":true,"shouldModifyVdRequests":false,"discountTitle":"DISCOUNT","useBrowserLocale":false,"usePriceProperty":true,"css":"","javascript":"","addIgIdToCartAttrs":true,"addIgTestGroupsToCartAttrs":false,"addIgCampaignsAttrs":true,"addVariationId":false,"maxCookieSize":6000,"onlyTrackWithConsent":false,"enableCartMetafields":false},"builtBy":{"builtBy":"EUfWBaAXlFKWeSoYzNwOmyeSJv9zuOUELQ7DOOeypNIHRTuVuWVEmyLx413q1pYeufT/n0Z1yvn8Fk5KikPMBXwA8XcV6O6t","updateReason":"Saved Experience"},"meta":{"embeddedPreviewVersion":"0.0.7"}}