1<!doctype html> 2<html class="js ap-dd-on" lang="en"> 3 <head> 4 5 6
6<script src="https://analytics.ahrefs.com/analytics.js" data-key="qi1/4jkvCoYXwCuqWZFE0g" async></script>
6 7 <style> 8 /* Flash guard. Three things cause the "white â content" flash we saw 9 via Playwright instrumentation on /collections/*: 10 1. Dawn's .scroll-trigger animation (theme setting animations_reveal_on_scroll) 11 starts elements at opacity:0.01 and fades to 1 once they enter the viewport. 12 If the user scrolls during load, they see ~blank content until the 13 IntersectionObserver fires at window.load â that's the flash. 14 2. Dawn's .animate--slide-in variant adds a transform. 15 3. Any 3rd-party app that toggles html/body opacity during load. 16 We keep the slide/transform animation path but force opacity to stay at 1, 17 so the reveal is instant on first paint. */ 18 html, body { opacity: 1 !important; visibility: visible !important; } 19 .scroll-trigger, 20 .scroll-trigger.animate--slide-in, 21 .scroll-trigger.scroll-trigger--offscreen, 22 [data-cascade], 23 [reveal-on-scroll] { opacity: 1 !important; } 24</style>
25<script> 26(function(){ 27 /* Only guard on collection pages where the flash was reported */ 28 if (document.documentElement.getAttribute('data-apgp-guard')) return; 29 document.documentElement.setAttribute('data-apgp-guard', '1'); 30 31 var lastY = 0; 32 var guardUntil = 0; 33 var userScrolled = false; 34 35 function getY(){ 36 return window.scrollY || window.pageYOffset || document.documentElement.scrollTop || 0; 37 } 38 39 /* Track user-initiated scrolls (wheel, touch, keyboard). */ 40 function markUser(){ userScrolled = true; lastY = getY(); } 41 window.addEventListener('wheel', markUser, { passive: true }); 42 window.addEventListener('touchstart', markUser, { passive: true }); 43 window.addEventListener('touchmove', markUser, { passive: true }); 44 window.addEventListener('keydown', function(e){ 45 if (['ArrowDown','ArrowUp','PageDown','PageUp','Space','End','Home',' '].indexOf(e.key) > -1) markUser(); 46 }, { passive: true }); 47 48 /* Also update on generic scroll events so we keep a fresh "last known" Y. */ 49 window.addEventListener('scroll', function(){ 50 var y = getY(); 51 if (userScrolled && y > 0) lastY = y; 52 }, { passive: true }); 53 54 /* Begin guarding from now until 4s after 'load'. */ 55 guardUntil = Date.now() + 8000; /* initial cap; extend on load */ 56 window.addEventListener('load', function(){ 57 guardUntil = Math.max(guardUntil, Date.now() + 4000); 58 /* Check a few times after load for programmatic scroll resets. */ 59 var tries = 0; 60 function check(){ 61 if (tries++ > 40 || Date.now() > guardUntil) return; 62 var y = getY(); 63 if (userScrolled && lastY > 80 && y < lastY - 50){ 64 /* Suspicious snap-back: restore user's position. */ 65 window.scrollTo(0, lastY); 66 } 67 requestAnimationFrame(check); 68 } 69 requestAnimationFrame(check); 70 }); 71 72 /* Also watch scrolls continuously during guard window â if programmatic 73 scroll takes us from lastY to 0 without a preceding user event, reverse. */ 74 var inProgrammaticBlock = false; 75 window.addEventListener('scroll', function(){ 76 if (Date.now() > guardUntil || inProgrammaticBlock) return; 77 var y = getY(); 78 if (!userScrolled) return; 79 if (lastY > 80 && y < lastY - 100){ 80 inProgrammaticBlock = true; 81 /* Synchronous restore prevents the visible flash. */ 82 window.scrollTo(0, lastY); 83 setTimeout(function(){ inProgrammaticBlock = false; }, 50); 84 } 85 }, { passive: true }); 86})(); 87</script>
87 88 89 90<style> 91 @media (max-width: 749px) { 92 #ShopifyChat[is-open="false"] { 93 transform: scale(0.7); 94 transform-origin: bottom right; 95 } 96 } 97</style> 98 99
99<script> 100 (function () { 101 if (window.__APPostHogSitewide) return; 102 window.__APPostHogSitewide = true; 103 104 var query = new URLSearchParams(window.location.search); 105 var preview = false 106 || query.has('preview_theme_id') 107 || query.has('ap_buybox_variant'); 108 var internal = false; 109 if (preview || internal) { 110 window.__AP_POSTHOG_DISABLED = true; 111 return; 112 } 113 114 function analyticsAllowed() { 115 try { 116 var privacy = window.Shopify && window.Shopify.customerPrivacy; 117 if (!privacy || typeof privacy.analyticsProcessingAllowed !== 'function') return null; 118 return privacy.analyticsProcessingAllowed(); 119 } catch (_error) { 120 return null; 121 } 122 } 123 124 function start() { 125 if (window.__APPostHogStarted || analyticsAllowed() === false) return; 126 window.__APPostHogStarted = true; 127 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 128 posthog.init('phc_kRm8CSqfMKKTKWc4X365rHg8cxeVVKVWzSc4vfEt3Qzq', { 129 api_host: 'https://us.i.posthog.com', 130 defaults: '2026-05-30', 131 autocapture: false, 132 capture_pageview: false, 133 capture_pageleave: false, 134 capture_performance: { web_vitals_allowed_metrics: ['LCP', 'CLS', 'FCP', 'INP'] }, 135 disable_session_recording: true, 136 advanced_disable_feature_flags: true, 137 person_profiles: 'identified_only', 138 loaded: function (client) { 139 if (window.__AP_OWNER_TRAFFIC) { 140 client.opt_out_capturing(); 141 return; 142 } 143 if (window.__ap_visitor) client.identify(String(window.__ap_visitor)); 144 client.register({ 145 store: 'aroma_paradise', 146 page_type: "index", 147 page_path: window.location.pathname, 148 locale: "en", 149 currency: "USD" 150 }); 151 document.dispatchEvent(new CustomEvent('ap:posthog:loaded')); 152 } 153 }); 154 } 155 156 if (document.readyState === 'loading') { 157 document.addEventListener('DOMContentLoaded', start, { once: true }); 158 } else { 159 start(); 160 } 161 document.addEventListener('visitorConsentCollected', start); 162 })(); 163</script>
163 164 165
165<script> 166 // Aroma Paradise floor beacon â fires BEFORE OpenReplay tracker loads so we 167 // capture the landing even if OR fails (ad-blocker, slow network, early bounce). 168 // sendBeacon with text/plain Blob is a CORS-simple request â no preflight. 169 (function _apFloor(){ 170 try { 171 if (!navigator.sendBeacon) return; 172 function uuid(){ 173 if (crypto && crypto.randomUUID) return crypto.randomUUID(); 174 return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, function(c){ 175 return (c^crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c/4).toString(16); 176 }); 177 } 178 var m = document.cookie.match(/(?:^|;\s*)_ap_visitor=([^;]+)/); 179 var vu = m ? m[1] : ""; 180 if (!vu){ 181 vu = uuid(); 182 document.cookie = "_ap_visitor=" + vu + "; max-age=31536000; path=/; SameSite=Lax"; 183 } 184 var vi = uuid(); 185 window.__ap_visitor = vu; 186 window.__ap_visit = vi; 187 var sp; 188 try { sp = new URLSearchParams(location.search); } catch(_){ sp = null; } 189 function g(k){ return sp ? (sp.get(k) || "") : ""; } 190 var conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 191 var data = { 192 vu: vu, vi: vi, 193 path: location.pathname + location.search, 194 ref: (document.referrer || "").slice(0, 300), 195 us: g("utm_source"), um: g("utm_medium"), uc: g("utm_campaign"), 196 ut: g("utm_term"), uo: g("utm_content"), 197 tw: g("tw_source"), gas: g("gad_source"), 198 gc: g("gclid"), fb: g("fbclid"), tt: g("ttclid"), 199 nt: conn && conn.effectiveType || "", 200 lg: (navigator.language || "").slice(0, 16), 201 ct: (function(){ 202 // Shopify stores cart cookie as "{token}?key={signing_key}" URL-encoded. 203 // Decode + strip the ?key= suffix so we get the clean token Shopify 204 // stamps on orders (otherwise our cart_tokenâorder join fails). 205 var raw = (document.cookie.match(/(?:^|;\s*)cart=([^;]+)/) || ["", ""])[1]; 206 try { raw = decodeURIComponent(raw); } catch(_){} 207 return (raw.split("?")[0] || "").slice(0, 80); 208 })(), 209 ow: (window.__AP_OWNER_TRAFFIC ? 1 : 0), // 1 = owner/internal QA traffic 210 ts: Date.now(), 211 tz: (new Date()).getTimezoneOffset(), 212 vw: window.innerWidth || 0, vh: window.innerHeight || 0, 213 dpr: window.devicePixelRatio || 1 214 }; 215 navigator.sendBeacon( 216 "https://analytics.aromaparadise.com/live/p", 217 new Blob([JSON.stringify(data)], { type: "text/plain;charset=UTF-8" }) 218 ); 219 220 // === Lifecycle metrics â page-end beacon fires on pagehide === 221 window.__ap_metrics = { 222 pageStart: Date.now(), 223 maxScrollPct: 0, 224 clicksCount: 0, 225 formFocusCount: 0, 226 ended: false 227 }; 228 // Scroll tracking (throttled) 229 var _lastScrollTs = 0; 230 window.addEventListener("scroll", function(){ 231 var now = Date.now(); 232 if (now - _lastScrollTs < 200) return; 233 _lastScrollTs = now; 234 var doc = document.documentElement; 235 var winH = window.innerHeight || doc.clientHeight; 236 var scH = doc.scrollHeight || document.body.scrollHeight; 237 var st = window.pageYOffset || doc.scrollTop || 0; 238 if (scH <= winH) return; 239 var pct = Math.min(100, Math.floor((st + winH) / scH * 100)); 240 if (pct > window.__ap_metrics.maxScrollPct) window.__ap_metrics.maxScrollPct = pct; 241 }, { passive: true }); 242 // Click counter 243 document.addEventListener("click", function(){ 244 window.__ap_metrics.clicksCount++; 245 }, true); 246 // Form-field focus counter (any input/textarea/select) 247 document.addEventListener("focusin", function(e){ 248 var tag = (e.target && e.target.tagName || "").toUpperCase(); 249 if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") { 250 window.__ap_metrics.formFocusCount++; 251 } 252 }); 253 // End-of-page beacon â fires on pagehide / before unload / visibility-hidden. 254 // sendBeacon is fire-and-forget so it works even mid-navigation. 255 function _apFloorEnd(reason){ 256 var m = window.__ap_metrics; 257 if (!m || m.ended) return; 258 m.ended = true; 259 var endData = { 260 op: "end", 261 vu: window.__ap_visitor || "", 262 vi: window.__ap_visit || "", 263 dw: Date.now() - m.pageStart, 264 sc: m.maxScrollPct, 265 cl: m.clicksCount, 266 ff: m.formFocusCount, 267 em: reason || "unload" 268 }; 269 // Cart snapshot â read window.__or_cart if our cart-state tracker captured it 270 if (window.__or_cart && window.__or_cart.count !== null){ 271 endData.cv = window.__or_cart.total; 272 endData.ci = window.__or_cart.count; 273 } 274 try { 275 navigator.sendBeacon( 276 "https://analytics.aromaparadise.com/live/p", 277 new Blob([JSON.stringify(endData)], { type: "text/plain;charset=UTF-8" }) 278 ); 279 } catch(_){} 280 } 281 window.addEventListener("pagehide", function(){ _apFloorEnd("pagehide"); }); 282 window.addEventListener("beforeunload", function(){ _apFloorEnd("beforeunload"); }); 283 document.addEventListener("visibilitychange", function(){ 284 if (document.hidden) _apFloorEnd("hidden"); 285 }); 286 } catch(_){} 287 })(); 288 </script>
288 289 290 291 292 <meta charset="utf-8"> 293 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 294 <meta name="viewport" content="width=device-width,initial-scale=1"> 295 <meta name="theme-color" content=""><link rel="canonical" href="https://aromaparadise.com/"><link rel="icon" type="image/png" sizes="128x128" href="//aromaparadise.com/cdn/shop/files/Logo_square_initials.png?crop=center&height=128&v=1756523025&width=128"><title>Premium Fragrance Oils, Scent Diffusers and More 296 – Aroma Paradise</title> 297 298 299 <meta name="description" content="Luxury Fragrance Diffusers & Oils Inspired by Five-Star Hotels and Iconic Perfumes. Toxin-Free, Pet & Kid Safe. Transform Your Home Into a Sensory Escape."> 300 301 302 303 304<meta property="og:site_name" content="Aroma Paradise "> 305<meta property="og:url" content="https://aromaparadise.com/"> 306<meta property="og:title" content="Premium Fragrance Oils, Scent Diffusers and More"> 307<meta property="og:type" content="website"> 308<meta property="og:description" content="Luxury Fragrance Diffusers & Oils Inspired by Five-Star Hotels and Iconic Perfumes. Toxin-Free, Pet & Kid Safe. Transform Your Home Into a Sensory Escape."><meta property="og:image" content="http://aromaparadise.com/cdn/shop/files/Logo_square_initials_a906f2c0-fb79-4452-9700-856e55d68588.png?v=1751161380"> 309 <meta property="og:image:secure_url" content="https://aromaparadise.com/cdn/shop/files/Logo_square_initials_a906f2c0-fb79-4452-9700-856e55d68588.png?v=1751161380"> 310 <meta property="og:image:width" content="2000"> 311 <meta property="og:image:height" content="2000"><meta name="twitter:card" content="summary_large_image"> 312<meta name="twitter:title" content="Premium Fragrance Oils, Scent Diffusers and More"> 313<meta name="twitter:description" content="Luxury Fragrance Diffusers & Oils Inspired by Five-Star Hotels and Iconic Perfumes. Toxin-Free, Pet & Kid Safe. Transform Your Home Into a Sensory Escape."> 314 315 316
316<script src="//aromaparadise.com/cdn/shop/t/68/assets/constants.js?v=132983761750457495441789765649" defer="defer"></script>
316 317
317<script src="//aromaparadise.com/cdn/shop/t/68/assets/pubsub.js?v=25310214064522200911789765668" defer="defer"></script>
317 318
318<script src="//aromaparadise.com/cdn/shop/t/68/assets/global.js?v=7301445359237545521789765654" defer="defer"></script>
318 319
319<script src="//aromaparadise.com/cdn/shop/t/68/assets/details-disclosure.js?v=13653116266235556501789765651" defer="defer"></script>
319 320
320<script src="//aromaparadise.com/cdn/shop/t/68/assets/details-modal.js?v=25581673532751508451789765651" defer="defer"></script>
320 321
321<script src="//aromaparadise.com/cdn/shop/t/68/assets/search-form.js?v=133129549252120666541789765668" defer="defer"></script>
321<script src="//aromaparadise.com/cdn/shop/t/68/assets/animations.js?v=88693664871331136111789765540" defer="defer"></script>
321<script> 322 (function(){ 323 var lazyVideoSrc = 'https://cdn.shopify.com/s/files/1/0658/4644/4213/files/homepage_video_compressed.mp4?v=1773697581'; 324 function shouldBlock(video, value){ 325 return video && video.tagName === 'VIDEO' && String(value).indexOf(lazyVideoSrc) !== -1 && video.getAttribute('data-ap-allow-video-load') !== 'true'; 326 } 327 328 var srcDescriptor = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'src'); 329 if (srcDescriptor && srcDescriptor.set){ 330 Object.defineProperty(HTMLMediaElement.prototype, 'src', { 331 get: srcDescriptor.get, 332 set: function(value){ 333 if (shouldBlock(this, value)){ 334 this.setAttribute('data-ap-deferred-video-src', lazyVideoSrc); 335 return; 336 } 337 return srcDescriptor.set.call(this, value); 338 }, 339 configurable: true, 340 enumerable: srcDescriptor.enumerable 341 }); 342 } 343 344 var originalSetAttribute = Element.prototype.setAttribute; 345 Element.prototype.setAttribute = function(name, value){ 346 if (String(name).toLowerCase() === 'src' && shouldBlock(this, value)){ 347 originalSetAttribute.call(this, 'data-ap-deferred-video-src', lazyVideoSrc); 348 return; 349 } 350 return originalSetAttribute.call(this, name, value); 351 }; 352 })(); 353 </script>
353 354 355
355<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
355<meta name="google-site-verification" content="wfYOqL4NSRoCHrgOSA_l4W-mcaFyIc4yNNTBHMeCBpI"> 356<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/65846444213/digital_wallets/dialog"> 357<meta id="in-context-paypal-metadata" data-shop-id="65846444213" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 358<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://aromaparadise.com/"> 359<link rel="alternate" hreflang="en" href="https://aromaparadise.com/"> 360<link rel="alternate" hreflang="es" href="https://aromaparadise.com/es">
361<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
361 362<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
363<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=65846444213" crossorigin="anonymous"></script>
vendor: 1 bytes, line 363
363
364<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":65846444213,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/65846444213","merchantName":"Aroma Paradise ","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","elo","jcb"],"total":{"type":"pending","label":"Aroma Paradise ","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 364
364
365<script id="shopify-features" type="application/json">{"accessToken":"bb5001aebe11905adcccb0d34ccd2d55","betas":["rich-media-storefront-analytics"],"domain":"aromaparadise.com","predictiveSearch":true,"shopId":65846444213,"locale":"en"}</script>
vendor: 1 bytes, line 365
365
366<script>var Shopify = Shopify || {}; 367Shopify.shop = "f9f5e1-14.myshopify.com"; 368Shopify.locale = "en"; 369Shopify.currency = {"active":"USD","rate":"1.0"}; 370Shopify.country = "US"; 371Shopify.theme = {"name":"Dawn 15.4.1 - AEO Wave 1 2026-09-18","id":193744830645,"schema_name":"Dawn","schema_version":"15.4.1","theme_store_id":887,"role":"main"}; 372Shopify.theme.handle = "null"; 373Shopify.theme.style = {"id":null,"handle":null}; 374Shopify.cdnHost = "aromaparadise.com/cdn"; 375Shopify.routes = Shopify.routes || {}; 376Shopify.routes.root = "/"; 377Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 378Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 379Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 380Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 380
380
381<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 381
381
382<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 382
382
383<script> 384 window.ShopifyPay = window.ShopifyPay || {}; 385 window.ShopifyPay.apiHost = "shop.app\/pay"; 386 window.ShopifyPay.redirectState = null; 387</script>
vendor: 1 bytes, line 387
387
388<script> 389 window.Shopify = window.Shopify || {}; 390 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 391 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 392 window.Shopify.SignInWithShop.eligible = true; 393</script>
vendor: 1 bytes, line 393
393
394<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 394
394
395<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 395
395
396<script type="module"> 397 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 398 399 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 400 401</script>
vendor: 1 bytes, line 401
401
402<script> 403 window.Shopify = window.Shopify || {}; 404 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 405 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 406</script>
vendor: 1 bytes, line 406
406
407<script>(function() { 408 var isLoaded = false; 409 function asyncLoad() { 410 if (isLoaded) return; 411 isLoaded = true; 412 var urls = ["https:\/\/shopify-extension.getredo.com\/main.js?widget_id=cz3csgr2kap91dx\u0026shop=f9f5e1-14.myshopify.com","https:\/\/cdn.instant.one\/instant.js?siteId=site_0286199b5c68455ea88d3549532c127c\u0026shop=f9f5e1-14.myshopify.com"]; 413 for (var i = 0; i < urls.length; i++) { 414 var s = document.createElement('script'); 415 s.type = 'text/javascript'; 416 s.async = true; 417 s.src = urls[i]; 418 var x = document.getElementsByTagName('script')[0]; 419 x.parentNode.insertBefore(s, x); 420 } 421 }; 422 if(window.attachEvent) { 423 window.attachEvent('onload', asyncLoad); 424 } else { 425 window.addEventListener('load', asyncLoad, false); 426 } 427})();</script>
vendor: 1 bytes, line 427
427
428<script id="__st">var __st={"a":65846444213,"offset":-14400,"reqid":"84f2155a-5e66-4524-82c9-3453f414e814-1791413056","pageurl":"aromaparadise.com\/","u":"79a6a2b25742","p":"home"};</script>
vendor: 1 bytes, line 428
428
429<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 429
429
430<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 430
430
431<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//aromaparadise.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 431
431
432<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//aromaparadise.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
432<script crossorigin="anonymous" defer="defer" src="//aromaparadise.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 432
432
433<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 433
433
434<script> 435 window.Shopify = window.Shopify || {}; 436 window.Shopify.MCP = window.Shopify.MCP || {}; 437 window.Shopify.MCP.enabled = true; 438 window.Shopify.MCP.shop = "f9f5e1-14.myshopify.com"; 439 window.Shopify.MCP.mcpEndpoint = "https:\/\/aromaparadise.com\/api\/mcp"; 440 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 441</script>
vendor: 1 bytes, line 441
441
442<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/aromaparadise.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 443</script>
vendor: 1 bytes, line 443
443
444<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://aromaparadise.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 445</script>
vendor: 1 bytes, line 445
445
446<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 447 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 448</script>
vendor: 1 bytes, line 448
448
449<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 450</script>
450 451<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://aromaparadise.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 452<style id="shopify-accelerated-checkout-cart"> 453 #shopify-buyer-consent { 454 margin-top: 1em; 455 display: inline-block; 456 width: 100%; 457} 458 459#shopify-buyer-consent.hidden { 460 display: none; 461} 462 463#shopify-subscription-policy-button { 464 background: none; 465 border: none; 466 padding: 0; 467 text-decoration: underline; 468 font-size: inherit; 469 cursor: pointer; 470} 471 472#shopify-subscription-policy-button::before { 473 box-shadow: none; 474} 475 476 </style> 477<link rel="stylesheet" media="screen" href="//aromaparadise.com/cdn/shop/t/68/compiled_assets/styles.css?v=83931827337068934661791351181">
478<script id="sections-script" data-sections="ap-homepage-rebuild,header" defer="defer" src="//aromaparadise.com/cdn/shop/t/68/compiled_assets/scripts.js?v=38355519603245524941789765689"></script>
vendor: 1 bytes, line 478
478
479<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
vendor: 1 bytes, line 479
479
480<script> 481(function () { 482 if (window.apTrack) return; 483 var GA4_ID = 'G-BWV3G4G3PQ'; 484 var queue = []; 485 function suppressed() { 486 return navigator.webdriver === true || /bot|crawl|spider|headless|lighthouse|pagespeed/i.test(navigator.userAgent || '') || window.__AP_OWNER_TRAFFIC === true; 487 } 488 function flush() { 489 if (document.readyState !== 'complete') return; 490 window.dataLayer = window.dataLayer || []; 491 window.gtag = window.gtag || function () { window.dataLayer.push(arguments); }; 492 while (queue.length) { var e = queue.shift(); try { window.gtag('event', e[0], e[1]); } catch (err) { /* never break the page */ } } 493 } 494 window.addEventListener('load', flush); 495 // opts.gaOnly: GA4 only, for standard ecommerce events whose dashboard twin already exists. 496 function apTrack(name, props, feature, opts) { 497 name = String(name || '').toLowerCase().replace(/[^a-z0-9_]/g, '_').slice(0, 40); 498 if (!name) return null; 499 var payload = { 500 ap_feature: feature || (props && props.ap_feature) || document.documentElement.getAttribute('data-ap-feature') || '', 501 page_path: location.pathname.slice(0, 100), 502 device_type: window.innerWidth < 750 ? 'mobile' : 'desktop' 503 }; 504 if (window.__ap_visit) payload.visit_id = String(window.__ap_visit); 505 Object.keys(props || {}).forEach(function (k) { 506 var v = props[k]; 507 if (v == null || v === '' || k === 'ap_feature' || k === 'feature') return; 508 if (typeof v === 'boolean') v = v ? 'yes' : 'no'; 509 payload[k] = typeof v === 'string' ? v.slice(0, 100) : v; 510 }); 511 apTrack.events.push([name, payload]); 512 if (suppressed()) return payload; 513 // beacon transport: events fired right before a navigation (checkout) still arrive. 514 var ga = { send_to: GA4_ID, transport_type: 'beacon' }; 515 Object.keys(payload).forEach(function (k) { ga[k] = payload[k]; }); 516 queue.push([name, ga]); 517 flush(); 518 if (opts && opts.gaOnly) return payload; 519 try { if (typeof window.__APEvent === 'function') window.__APEvent(name, payload); } catch (e) { /* ignore */ } 520 return payload; 521 } 522 apTrack.events = []; 523 window.apTrack = apTrack; 524 /* Declarative clicks: <a data-ap-track="rewards_cta_click" data-ap-track-cta="join">, inside a [data-ap-feature="rewards"] container */ 525 document.addEventListener('click', function (event) { 526 var el = event.target && event.target.closest && event.target.closest('[data-ap-track]'); 527 if (!el) return; 528 var props = {}; 529 Array.prototype.forEach.call(el.attributes, function (a) { 530 if (a.name.indexOf('data-ap-track-') === 0) props[a.name.slice(14).replace(/-/g, '_')] = a.value; 531 }); 532 // Feature: data-ap-track-feature on the element, else the nearest [data-ap-feature] container. 533 var scope = el.closest('[data-ap-feature]'); 534 apTrack(el.getAttribute('data-ap-track'), props, props.feature || (scope && scope.getAttribute('data-ap-feature')) || ''); 535 }, true); 536})(); 537</script>
537 538 539 540
540<script> 541 !function(w, d, s, u) { 542 if (w.oaiq) return; 543 var q = function() { 544 q.q.push(arguments); 545 }; 546 q.q = []; 547 w.oaiq = q; 548 var j = d.createElement(s); 549 j.async = 1; 550 j.src = u; 551 var f = d.getElementsByTagName(s)[0]; 552 f.parentNode.insertBefore(j, f); 553 }(window, document, "script", "https://bzrcdn.openai.com/sdk/oaiq.min.js"); 554 555 (function() { 556 if (window.__apOpenAIEventsInstalled) return; 557 window.__apOpenAIEventsInstalled = true; 558 559 function cents(value) { 560 var amount = Number(value || 0); 561 return amount > 0 ? Math.round(amount) : 0; 562 } 563 564 function measure(name, data) { 565 if (typeof window.oaiq !== "function") return; 566 window.oaiq("measure", name, data); 567 } 568 569 function directMeasure(name, data) { 570 var body = JSON.stringify({ 571 events: [{ 572 type: name, 573 timestamp_ms: Date.now(), 574 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : String(Date.now()) + Math.random(), 575 source_url: window.location.origin, 576 data: data 577 }] 578 }); 579 var url = "https://bzr.openai.com/v1/sdk/events?pid=BesSDwuZYcJ6jvgVZ9RX9K&st=oaiq-web&sv=0.1.6&t=" + Date.now() + "&ec=1"; 580 if (navigator.sendBeacon && navigator.sendBeacon(url, new Blob([body], { type: "text/plain" }))) return; 581 if (window.fetch) { 582 fetch(url, { 583 method: "POST", 584 body: body, 585 keepalive: true, 586 headers: { "Content-Type": "text/plain" } 587 }).catch(function() {}); 588 } 589 } 590 591 function itemContent(item) { 592 return { 593 id: String(item.variant_id || item.id || item.product_id || ""), 594 name: item.product_title || item.title || "", 595 content_type: "product", 596 quantity: Number(item.quantity || 1), 597 amount: cents(item.price), 598 currency: "USD" 599 }; 600 } 601 602 function measureItemsAdded(item) { 603 var content = itemContent(item || {}); 604 measure("items_added", { 605 type: "contents", 606 amount: cents((item && item.line_price) || ((item && item.price) || 0) * (content.quantity || 1)), 607 currency: "USD", 608 contents: [content] 609 }); 610 } 611 612 function measureCheckoutStarted() { 613 if (window.__apOpenAICheckoutStartedSent) return; 614 window.__apOpenAICheckoutStartedSent = true; 615 directMeasure("checkout_started", { type: "contents", amount: 0, currency: "USD", contents: [] }); 616 fetch("/cart.js", { credentials: "same-origin" }) 617 .then(function(response) { return response.ok ? response.json() : null; }) 618 .then(function(cart) { 619 var items = cart && cart.items ? cart.items : []; 620 measure("checkout_started", { 621 type: "contents", 622 amount: cents(cart && cart.total_price), 623 currency: (cart && cart.currency) || "USD", 624 contents: items.map(itemContent) 625 }); 626 }) 627 .catch(function() { 628 measure("checkout_started", { type: "contents", amount: 0, currency: "USD", contents: [] }); 629 }); 630 } 631 632 if (window.fetch) { 633 var nativeFetch = window.fetch; 634 window.fetch = function(input, init) { 635 var url = typeof input === "string" ? input : input && input.url; 636 var result = nativeFetch.apply(this, arguments); 637 if (url && url.indexOf("/cart/add") !== -1) { 638 result.then(function(response) { 639 if (!response.ok) return; 640 response.clone().json().then(measureItemsAdded).catch(function() {}); 641 }).catch(function() {}); 642 } 643 return result; 644 }; 645 } 646 647 document.addEventListener("click", function(event) { 648 var target = event.target && event.target.closest("button, input, a"); 649 if (!target) return; 650 var label = [ 651 target.getAttribute("name"), 652 target.getAttribute("href"), 653 target.getAttribute("aria-label"), 654 target.value, 655 target.textContent 656 ].join(" ").toLowerCase(); 657 if (label.indexOf("checkout") !== -1) measureCheckoutStarted(); 658 }, true); 659 })(); 660 661 oaiq("init", { 662 pixelId: "BesSDwuZYcJ6jvgVZ9RX9K", 663 debug: true 664 }); 665 </script>
665 666 667 <style> 668 main .collection-list__item .collection-card-wrapper { 669 height: 100%; 670 padding: .8rem; 671 border: 1px solid rgba(24, 20, 17, .1); 672 border-radius: 18px; 673 background: #fff; 674 box-shadow: 0 14px 34px rgba(24, 20, 17, .08); 675 transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; 676 } 677 678 main .collection-list__item .collection-card-wrapper:hover { 679 transform: translateY(-3px); 680 border-color: rgba(24, 20, 17, .18); 681 box-shadow: 0 22px 46px rgba(24, 20, 17, .12); 682 } 683 684 main .collection-list__item .card { 685 height: 100%; 686 background: transparent; 687 } 688 689 main .collection-list__item .card__inner { 690 overflow: hidden; 691 border-radius: 14px; 692 background: #f7f2ea; 693 } 694 695 main .collection-list__item .media img { 696 transform: scale(1.01); 697 transition: transform .45s ease; 698 } 699 700 main .collection-list__item .collection-card-wrapper:hover .media img { 701 transform: scale(1.055); 702 } 703 704 main .collection-list__item .card > .card__content { 705 padding: 1.2rem .2rem .1rem; 706 } 707 708 main .collection-list__item .card__heading { 709 margin: 0; 710 } 711 712 main .collection-list__item .card__heading a { 713 display: inline-flex; 714 align-items: center; 715 gap: .7rem; 716 color: #181411; 717 font-size: clamp(1.7rem, 1.9vw, 2.1rem); 718 line-height: 1.16; 719 letter-spacing: 0; 720 } 721 722 main .collection-list__item .card__caption { 723 display: -webkit-box; 724 margin-top: .7rem; 725 overflow: hidden; 726 color: rgba(24, 20, 17, .62); 727 font-size: 1.25rem; 728 line-height: 1.35; 729 letter-spacing: 0; 730 -webkit-box-orient: vertical; 731 -webkit-line-clamp: 2; 732 } 733 734 main .collection-list__item .icon-wrap { 735 display: inline-flex; 736 align-items: center; 737 justify-content: center; 738 width: 2.4rem; 739 height: 2.4rem; 740 flex: 0 0 2.4rem; 741 border-radius: 999px; 742 background: #181411; 743 color: #fff; 744 transition: transform .22s ease; 745 } 746 747 main .collection-list__item .icon-wrap svg { 748 width: 1.1rem; 749 } 750 751 main .collection-list__item .collection-card-wrapper:hover .icon-wrap { 752 transform: translateX(2px); 753 } 754 755 main .collection-list__item .card--text .card__inner { 756 border: 1px solid rgba(24, 20, 17, .08); 757 background: 758 linear-gradient(135deg, rgba(247, 242, 234, .98), rgba(255, 255, 255, .92)), 759 radial-gradient(circle at top right, rgba(186, 140, 74, .18), transparent 36%); 760 } 761 762 main .collection-list__item .card--text .card__inner .card__content { 763 padding: 2rem; 764 } 765 766 @media screen and (max-width: 749px) { 767 main .collection-list__item .collection-card-wrapper { 768 padding: .6rem; 769 border-radius: 14px; 770 box-shadow: 0 10px 24px rgba(24, 20, 17, .08); 771 } 772 773 main .collection-list__item .card__inner { 774 border-radius: 11px; 775 } 776 777 main .collection-list__item .card > .card__content { 778 padding-top: .9rem; 779 } 780 781 main .collection-list__item .card__heading a { 782 font-size: 1.45rem; 783 } 784 785 main .collection-list__item .card__caption { 786 display: none; 787 } 788 789 main .collection-list__item .icon-wrap { 790 width: 2rem; 791 height: 2rem; 792 flex-basis: 2rem; 793 } 794 } 795 </style> 796 797 <style data-shopify> 798 @font-face { 799 font-family: Lato; 800 font-weight: 400; 801 font-style: normal; 802 font-display: swap; 803 src: url("//aromaparadise.com/cdn/fonts/lato/lato_n4.c3b93d431f0091c8be23185e15c9d1fee1e971c5.woff2") format("woff2"), 804 url("//aromaparadise.com/cdn/fonts/lato/lato_n4.d5c00c781efb195594fd2fd4ad04f7882949e327.woff") format("woff"); 805} 806 807 @font-face { 808 font-family: Lato; 809 font-weight: 700; 810 font-style: normal; 811 font-display: swap; 812 src: url("//aromaparadise.com/cdn/fonts/lato/lato_n7.900f219bc7337bc57a7a2
812151983f0a4a4d9d5dcf.woff2") format("woff2"), 813 url("//aromaparadise.com/cdn/fonts/lato/lato_n7.a55c60751adcc35be7c4f8a0313f9698598612ee.woff") format("woff"); 814} 815 816 @font-face { 817 font-family: Lato; 818 font-weight: 400; 819 font-style: italic; 820 font-display: swap; 821 src: url("//aromaparadise.com/cdn/fonts/lato/lato_i4.09c847adc47c2fefc3368f2e241a3712168bc4b6.woff2") format("woff2"), 822 url("//aromaparadise.com/cdn/fonts/lato/lato_i4.3c7d9eb6c1b0a2bf62d892c3ee4582b016d0f30c.woff") format("woff"); 823} 824 825 @font-face { 826 font-family: Lato; 827 font-weight: 700; 828 font-style: italic; 829 font-display: swap; 830 src: url("//aromaparadise.com/cdn/fonts/lato/lato_i7.16ba75868b37083a879b8dd9f2be44e067dfbf92.woff2") format("woff2"), 831 url("//aromaparadise.com/cdn/fonts/lato/lato_i7.4c07c2b3b7e64ab516aa2f2081d2bb0366b9dce8.woff") format("woff"); 832} 833 834 @font-face { 835 font-family: Assistant; 836 font-weight: 400; 837 font-style: normal; 838 font-display: swap; 839 src: url("//aromaparadise.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"), 840 url("//aromaparadise.com/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff"); 841} 842 843 844 845 :root, 846 .color-scheme-1 { 847 --color-background: 255,255,255; 848 849 --gradient-background: #ffffff; 850 851 852 853 854 --color-foreground: 18,18,18; 855 --color-background-contrast: 191,191,191; 856 --color-shadow: 18,18,18; 857 --color-button: 86,0,0; 858 --color-button-text: 255,255,255; 859 --color-secondary-button: 255,255,255; 860 --color-secondary-button-text: 18,18,18; 861 --color-link: 18,18,18; 862 --color-badge-foreground: 18,18,18; 863 --color-badge-background: 255,255,255; 864 --color-badge-border: 18,18,18; 865 --payment-terms-background-color: rgb(255 255 255); 866 } 867 868 869 .color-scheme-2 { 870 --color-background: 243,243,243; 871 872 --gradient-background: #f3f3f3; 873 874 875 876 877 --color-foreground: 18,18,18; 878 --color-background-contrast: 179,179,179; 879 --color-shadow: 18,18,18; 880 --color-button: 18,18,18; 881 --color-button-text: 243,243,243; 882 --color-secondary-button: 243,243,243; 883 --color-secondary-button-text: 18,18,18; 884 --color-link: 18,18,18; 885 --color-badge-foreground: 18,18,18; 886 --color-badge-background: 243,243,243; 887 --color-badge-border: 18,18,18; 888 --payment-terms-background-color: rgb(243 243 243); 889 } 890 891 892 .color-scheme-3 { 893 --color-background: 36,40,51; 894 895 --gradient-background: #242833; 896 897 898 899 900 --color-foreground: 255,255,255; 901 --color-background-contrast: 47,52,66; 902 --color-shadow: 18,18,18; 903 --color-button: 255,255,255; 904 --color-button-text: 0,0,0; 905 --color-secondary-button: 36,40,51; 906 --color-secondary-button-text: 255,255,255; 907 --color-link: 255,255,255; 908 --color-badge-foreground: 255,255,255; 909 --color-badge-background: 36,40,51; 910 --color-badge-border: 255,255,255; 911 --payment-terms-background-color: rgb(36 40 51); 912 } 913 914 915 .color-scheme-4 { 916 --color-background: 18,18,18; 917 918 --gradient-background: #121212; 919 920 921 922 923 --color-foreground: 255,255,255; 924 --color-background-contrast: 146,146,146; 925 --color-shadow: 18,18,18; 926 --color-button: 255,255,255; 927 --color-button-text: 18,18,18; 928 --color-secondary-button: 18,18,18; 929 --color-secondary-button-text: 255,255,255; 930 --color-link: 255,255,255; 931 --color-badge-foreground: 255,255,255; 932 --color-badge-background: 18,18,18; 933 --color-badge-border: 255,255,255; 934 --payment-terms-background-color: rgb(18 18 18); 935 } 936 937 938 .color-scheme-5 { 939 --color-background: 51,79,180; 940 941 --gradient-background: #334fb4; 942 943 944 945 946 --color-foreground: 255,255,255; 947 --color-background-contrast: 23,35,81; 948 --color-shadow: 18,18,18; 949 --color-button: 255,255,255; 950 --color-button-text: 51,79,180; 951 --color-secondary-button: 51,79,180; 952 --color-secondary-button-text: 255,255,255; 953 --color-link: 255,255,255; 954 --color-badge-foreground: 255,255,255; 955 --color-badge-background: 51,79,180; 956 --color-badge-border: 255,255,255; 957 --payment-terms-background-color: rgb(51 79 180); 958 } 959 960 961 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5 { 962 color: rgba(var(--color-foreground), 0.75); 963 background-color: rgb(var(--color-background)); 964 } 965 966 :root { 967 --font-body-family: Lato, sans-serif; 968 --font-body-style: normal; 969 --font-body-weight: 400; 970 --font-body-weight-bold: 700; 971 972 --font-heading-family: Assistant, sans-serif; 973 --font-heading-style: normal; 974 --font-heading-weight: 400; 975 976 --font-body-scale: 1.0; 977 --font-heading-scale: 1.0; 978 979 --media-padding: px; 980 --media-border-opacity: 0.05; 981 --media-border-width: 1px; 982 --media-radius: 0px;
983 --media-shadow-opacity: 0.0; 984 --media-shadow-horizontal-offset: 0px; 985 --media-shadow-vertical-offset: 4px; 986 --media-shadow-blur-radius: 5px; 987 --media-shadow-visible: 0; 988 989 --page-width: 120rem; 990 --page-width-margin: 0rem; 991 992 --product-card-image-padding: 0.0rem; 993 --product-card-corner-radius: 0.0rem; 994 --product-card-text-alignment: left; 995 --product-card-border-width: 0.0rem; 996 --product-card-border-opacity: 0.1; 997 --product-card-shadow-opacity: 0.0; 998 --product-card-shadow-visible: 0; 999 --product-card-shadow-horizontal-offset: 0.0rem; 1000 --product-card-shadow-vertical-offset: 0.4rem; 1001 --product-card-shadow-blur-radius: 0.5rem; 1002 1003 --collection-card-image-padding: 0.0rem; 1004 --collection-card-corner-radius: 0.0rem; 1005 --collection-card-text-alignment: left; 1006 --collection-card-border-width: 0.0rem; 1007 --collection-card-border-opacity: 0.1; 1008 --collection-card-shadow-opacity: 0.0; 1009 --collection-card-shadow-visible: 0; 1010 --collection-card-shadow-horizontal-offset: 0.0rem; 1011 --collection-card-shadow-vertical-offset: 0.4rem; 1012 --collection-card-shadow-blur-radius: 0.5rem; 1013 1014 --blog-card-image-padding: 0.0rem; 1015 --blog-card-corner-radius: 0.0rem; 1016 --blog-card-text-alignment: left; 1017 --blog-card-border-width: 0.0rem; 1018 --blog-card-border-opacity: 0.1; 1019 --blog-card-shadow-opacity: 0.0; 1020 --blog-card-shadow-visible: 0; 1021 --blog-card-shadow-horizontal-offset: 0.0rem; 1022 --blog-card-shadow-vertical-offset: 0.4rem; 1023 --blog-card-shadow-blur-radius: 0.5rem; 1024 1025 --badge-corner-radius: 4.0rem; 1026 1027 --popup-border-width: 1px; 1028 --popup-border-opacity: 0.1; 1029 --popup-corner-radius: 0px; 1030 --popup-shadow-opacity: 0.05; 1031 --popup-shadow-horizontal-offset: 0px; 1032 --popup-shadow-vertical-offset: 4px; 1033 --popup-shadow-blur-radius: 5px; 1034 1035 --drawer-border-width: 1px; 1036 --drawer-border-opacity: 0.1; 1037 --drawer-shadow-opacity: 0.0; 1038 --drawer-shadow-horizontal-offset: 0px; 1039 --drawer-shadow-vertical-offset: 4px; 1040 --drawer-shadow-blur-radius: 5px; 1041 1042 --spacing-sections-desktop: 0px; 1043 --spacing-sections-mobile: 0px; 1044 1045 --grid-desktop-vertical-spacing: 8px; 1046 --grid-desktop-horizontal-spacing: 8px; 1047 --grid-mobile-vertical-spacing: 4px; 1048 --grid-mobile-horizontal-spacing: 4px; 1049 1050 --text-boxes-border-opacity: 0.1; 1051 --text-boxes-border-width: 0px; 1052 --text-boxes-radius: 0px; 1053 --text-boxes-shadow-opacity: 0.0; 1054 --text-boxes-shadow-visible: 0; 1055 --text-boxes-shadow-horizontal-offset: 0px; 1056 --text-boxes-shadow-vertical-offset: 4px; 1057 --text-boxes-shadow-blur-radius: 5px; 1058 1059 --buttons-radius: 4px; 1060 --buttons-radius-outset: 5px; 1061 --buttons-border-width: 1px; 1062 --buttons-border-opacity: 1.0; 1063 --buttons-shadow-opacity: 0.0; 1064 --buttons-shadow-visible: 0; 1065 --buttons-shadow-horizontal-offset: 0px; 1066 --buttons-shadow-vertical-offset: 4px; 1067 --buttons-shadow-blur-radius: 5px; 1068 --buttons-border-offset: 0.3px; 1069 1070 --inputs-radius: 0px; 1071 --inputs-border-width: 1px; 1072 --inputs-border-opacity: 0.55; 1073 --inputs-shadow-opacity: 0.0; 1074 --inputs-shadow-horizontal-offset: 0px; 1075 --inputs-margin-offset: 0px; 1076 --inputs-shadow-vertical-offset: 4px; 1077 --inputs-shadow-blur-radius: 5px; 1078 --inputs-radius-outset: 0px; 1079 1080 --variant-pills-radius: 40px; 1081 --variant-pills-border-width: 1px; 1082 --variant-pills-border-opacity: 0.55; 1083 --variant-pills-shadow-opacity: 0.0; 1084 --variant-pills-shadow-horizontal-offset: 0px; 1085 --variant-pills-shadow-vertical-offset: 4px; 1086 --variant-pills-shadow-blur-radius: 5px; 1087 } 1088 1089 *, 1090 *::before, 1091 *::after { 1092 box-sizing: inherit; 1093 } 1094 1095 html { 1096 box-sizing: border-box; 1097 font-size: calc(var(--font-body-scale) * 62.5%); 1098 height: 100%; 1099 } 1100 1101 body { 1102 display: grid; 1103 grid-template-rows: auto auto 1fr auto; 1104 grid-template-columns: 100%; 1105 min-height: 100%; 1106 margin: 0; 1107 font-size: 1.5rem; 1108 letter-spacing: 0.06rem; 1109 line-height: calc(1 + 0.8 / var(--font-body-scale)); 1110 font-family: var(--font-body-family); 1111 font-style: var(--font-body-style); 1112 font-weight: var(--font-body-weight); 1113 }@media screen and (min-width: 750px) { 1114 body { 1115 font-size: 1.6rem; 1116 } 1117 } 1118 </style> 1119 1120 <link href="//aromaparadise.com/cdn/shop/t/68/assets/base.css?v=520222696124245051789765628" rel="stylesheet" type="text/css" media="all" /> 1121 <link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-essential-oils-mobile-fix-v1.css?v=119570549027723500511789765566" rel="stylesheet" type="text/css" media="all" /> 1122 <link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-cart-drawer-v12.css?v=29785220186780787801791391793" rel="stylesheet" type="text/css" media="all" /> 1123 1124<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-brand-tokens.css?v=82419036892212734421791159518" rel="stylesheet" type="text/css" media="all" /> 1125<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-deal-days.css?v=50008855168106961891791411196" rel="stylesheet" type="text/css" media="all" /> 1126 1127<style id="ap-dd-tokens">:root{--ap-dd-accent:#1b3d8f;--ap-dd-cta:#2350c4;--ap-dd-cta-deep:color-mix(in srgb,#2350c4 78%,#17120f);--ap-dd-band:#0f2557;--ap-dd-accent-deep:color-mix(in srgb,#1b3d8f 80%,#17120f);--ap-dd-accent-soft:color-mix(in srgb,#1b3d8f 9%,#fffdf8);--ap-dd-accent-line:color-mix(in srgb,#1b3d8f 28%,#fffdf8);
1127--ap-dd-on-accent:var(--ap-color-ivory,#fffdf8);--ap-dd-accent-hi:color-mix(in srgb,var(--ap-color-gold-soft,#d8b96a) 60%,var(--ap-color-ivory,#fffdf8));--ap-dd-gold-deep:color-mix(in srgb,var(--ap-color-gold,#a77b22) 82%,var(--ap-color-ink,#17120f));--ap-dd-gold-deeper:color-mix(in srgb,var(--ap-color-gold,#a77b22) 66%,var(--ap-color-ink,#17120f));--ap-dd-foil:linear-gradient(135deg,var(--ap-color-gold-soft,#d8b96a) 0%,#f3e2b3 38%,var(--ap-color-gold-soft,#d8b96a) 62%,var(--ap-color-gold,#a77b22) 100%);--ap-dd-label:"Prime Week"}</style>
1128<script>window.APDD={exp:'none',pageType:"index",end:1791788399,skin:"amalfi",accent:"riviera",gift:true,hub:"\/pages\/aroma-prime-week",i18n:{added:"Added",dealPrice:"Prime Week price",endsIn:"Ends in",toSilver:"Added · __AMOUNT__ to your Silver Mystery Gift",toGold:"Added · __AMOUNT__ to your Gold Mystery Gift",goldUnlocked:"Gold Mystery Gift unlocked",silverUnlocked:"Silver Mystery Gift unlocked",sticky:"Add to cart",cartBand:"Aroma Prime Week",cartSavings:"Prime Week savings",cartWas:"Was",unitD:"d",unitH:"h",unitM:"m",unitS:"s",miniBelow:"__AMOUNT__ from your free gift",miniSilver:"Silver gift added · __AMOUNT__ to Gold",miniGold:"Gold gift added · View cart",miniShipBelow:"__AMOUNT__ from free shipping",miniShipOn:"Free shipping unlocked · View cart"},shipThreshold: 11294999,giftImg:{silver:"\/\/aromaparadise.com\/cdn\/shop\/t\/68\/assets\/ap-dd-gift-silver-240.webp?v=147281223658811770561791105677",gold:"\/\/aromaparadise.com\/cdn\/shop\/t\/68\/assets\/ap-dd-gift-gold-240.webp?v=28436628318556268251791088086"},giftI18n:{below:"Add __AMOUNT__ for a Silver Mystery Gift",silver:"Silver Mystery Gift unlocked. Add __AMOUNT__ to upgrade to Gold (worth up to $60).",gold:"Gold Mystery Gift unlocked. What\u0026#39;s inside? That\u0026#39;s the fun part.",shipOn:"Free shipping unlocked",shipAway:"__AMOUNT__ away from free shipping",lShip:"Free ship",lSilver:"Silver",lGold:"Gold",nameSilver:"Silver Mystery Gift",nameGold:"Gold Mystery Gift",free:"Free · worth up to __AMOUNT__",tease:"What\u0026#39;s inside? That\u0026#39;s the fun part.",lock:"One gift per order · quantity locked",incAdded:"Free gift added to your order",gvK:"Free mystery gift",gvKWon:"Added to your order · Free",gvBelow:"__AMOUNT__ away from your free gift",gvBelowS:"A Silver gift worth up to __WORTH__ unlocks at __AT__.",gvSilver:"Your Silver gift is in the bag",gvSilverS:"Add __AMOUNT__ to trade up to Gold, worth up to __WORTH__.",gvGold:"Your Gold gift is in the bag",gvGoldS:"Worth up to __WORTH__. What\u0026#39;s inside? That\u0026#39;s the fun part.",gvHide:"Hide gift details",gvShow:"Show gift details",incFree:"FREE",incSubSilver:"Worth up to __WORTH__ · __AMOUNT__ more for Gold",incSubGold:"Worth up to __WORTH__ · What\u0026#39;s inside? That\u0026#39;s the fun part.",lbBelow:"You\u0026#39;re __AMOUNT__ away from a free Silver gift",lbSilver:"Silver gift unlocked! __AMOUNT__ more for Gold",lbGold:"Gold gift unlocked! It\u0026#39;s on us."}};(function(e){if(e&&Date.now()/1000>=e){var h=document.documentElement;h.classList.remove('ap-dd-on');h.classList.add('ap-dd-over')}})(1791788399);if(!(window.matchMedia&&matchMedia('(prefers-reduced-motion: reduce)').matches))document.documentElement.classList.add('ap-dd-count-pending')</script>
vendor: 1 bytes, line 1129
1129
1130<script src="//aromaparadise.com/cdn/shop/t/68/assets/ap-deal-days.js?v=109370704340574639831791345121" defer></script>
1130<script src="//aromaparadise.com/cdn/shop/t/68/assets/ap-deal-days-gifts.js?v=88064477293486294831791189380" defer></script>
1130<link rel="stylesheet" href="//aromaparadise.com/cdn/shop/t/68/assets/component-cart-items.css?v=13033300910818915211789765633" media="print" onload="this.media='all'"><link href="//aromaparadise.com/cdn/shop/t/68/assets/component-cart-drawer.css?v=39223250576183958541789765633" rel="stylesheet" type="text/css" media="all" /> 1131 <link href="//aromaparadise.com/cdn/shop/t/68/assets/component-cart.css?v=164708765130180853531789765634" rel="stylesheet" type="text/css" media="all" /> 1132 <link href="//aromaparadise.com/cdn/shop/t/68/assets/component-totals.css?v=15906652033866631521789765649" rel="stylesheet" type="text/css" media="all" /> 1133 <link href="//aromaparadise.com/cdn/shop/t/68/assets/component-price.css?v=47596247576480123001789765643" rel="stylesheet" type="text/css" media="all" /> 1134 <link href="//aromaparadise.com/cdn/shop/t/68/assets/component-discounts.css?v=152760482443307489271789765636" rel="stylesheet" type="text/css" media="all" /> 1135 1136 <link rel="preload" as="font" href="//aromaparadise.com/cdn/fonts/lato/lato_n4.c3b93d431f0091c8be23185e15c9d1fee1e971c5.woff2" type="font/woff2" crossorigin> 1137 1138 1139 <link rel="preload" as="font" href="//aromaparadise.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2" type="font/woff2" crossorigin> 1140 1141<link href="//aromaparadise.com/cdn/shop/t/68/assets/component-localization-form.css?v=170315343355214948141789765639" rel="stylesheet" type="text/css" media="all" /> 1142
1142<script src="//aromaparadise.com/cdn/shop/t/68/assets/localization-form.js?v=156997443595339332281789765668" defer="defer"></script>
1142<script> 1143 if (Shopify.designMode) { 1144 document.documentElement.classList.add('shopify-design-mode'); 1145 } 1146 </script>
1146 1147 1148 1149 1150 1151 1152 1153 <meta name="facebook-domain-verification" content="svsrmaiedhdfbkn9ffv3e2rqhy1m0h"> 1154 <meta name="p:domain_verify" content="761b63fa11dc0091334fb3e98439fc03"> 1155 1156 1157 <!-- Google tag (gtag.js) --> 1158 1159 <!-- Ad click attribution: writes click IDs + UTMs to cookies/cart attributes 1160 so Shopify orders show them in Additional details. --> 1161
1161<script> 1162 (function() { 1163 if (window.__apAttributionBridge) return; 1164 window.__apAttributionBridge = true; 1165 1166 var STORE_KEY = 'ap_attribution_v2'; 1167 var MAX_AGE_MS = 90 * 24 * 60 * 60 * 1000; 1168 1169 function clean(value, max) { 1170 value = (value || '').toString().trim(); 1171 return value ? value.slice(0, max || 300) : ''; 1172 } 1173 1174 function readStored() { 1175 try { 1176 var raw = window.localStorage && window.localStorage.getItem(STORE_KEY); 1177 if (!raw) return {}; 1178 var stored = JSON.parse(raw); 1179 if (!stored || !stored.ts || Date.now() - stored.ts > MAX_AGE_MS) return {}; 1180 return stored; 1181 } catch (e) { 1182 return {}; 1183 } 1184 } 1185 1186 function saveStored(data) { 1187 try { 1188 if (!window.localStorage) return; 1189 window.localStorage.setItem(STORE_KEY, JSON.stringify(data)); 1190 } catch (e) {} 1191 } 1192 1193 function attrPayload(data) { 1194 var map = { 1195 gclid: '_gclid', 1196 fbclid: '_fbclid', 1197 utm_campaign: '_utm_campaign', 1198 utm_source: '_utm_source', 1199 utm_medium: '_utm_medium', 1200 utm_term: '_utm_term', 1201 utm_content: '_utm_content', 1202 referrer: '_referrer' 1203 }; 1204 var attrs = {}; 1205 Object.keys(map).forEach(function(key) { 1206 if (data[key]) attrs[map[key]] = clean(data[key], key === 'referrer' ? 500 : 300); 1207 }); 1208 return attrs; 1209 } 1210 1211 function writeAttrs(attrs) { 1212 if (!attrs || !Object.keys(attrs).length || !window.fetch) return; 1213 try { 1214 fetch('/cart/update.js', { 1215 method: 'POST', 1216 credentials: 'same-origin', 1217 keepalive: true, 1218 headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, 1219 body: JSON.stringify({ attributes: attrs }) 1220 }).catch(function() {}); 1221 } catch (e) {} 1222 } 1223 1224 try { 1225 var p = new URLSearchParams(window.location.search); 1226 var m = p.get('mygclid'); 1227 var g = p.get('gclid'); 1228 var fb = p.get('fbclid'); 1229 var gclid = g || m; 1230 var current = {}; 1231 1232 // Google: mygclid â _gcl_aw cookie 1233 if (m && m.length > 5 && !g) { 1234 var c = '_gcl_aw=GCL.' + Math.floor(Date.now()/1000) + '.' + m + '; path=/; max-age=7776000; SameSite=Lax'; 1235 document.cookie = c; 1236 setTimeout(function() { document.cookie = c; }, 2000); 1237 setTimeout(function() { document.cookie = c; }, 4000); 1238 } 1239 1240 // Meta: fbclid â _fbc cookie 1241 if (fb && fb.length > 5) { 1242 var fbc = 'fb.1.' + Date.now() + '.' + fb; 1243 document.cookie = '_fbc=' + fbc + '; path=/; max-age=7776000; SameSite=Lax'; 1244 current.fbclid = clean(fb); 1245 } 1246 1247 if (gclid && gclid.length > 5) current.gclid = clean(gclid); 1248 1249 ['utm_campaign', 'utm_source', 'utm_medium', 'utm_term', 'utm_content'].forEach(function(key) { 1250 var value = clean(p.get(key)); 1251 if (value) current[key] = value; 1252 }); 1253 1254 if (document.referrer && document.referrer.indexOf(location.origin) !== 0) { 1255 current.referrer = clean(document.referrer, 500); 1256 } 1257 1258 var stored = readStored(); 1259 var merged = Object.assign({}, stored, current); 1260 if (Object.keys(current).length) merged.ts = Date.now(); 1261 if (merged.ts) saveStored(merged); 1262 1263 var attrs = attrPayload(merged); 1264 writeAttrs(attrs); 1265 setTimeout(function() { writeAttrs(attrs); }, 3000); 1266 setTimeout(function() { writeAttrs(attrs); }, 15000); 1267 } catch (e) {} 1268 })(); 1269 </script>
1269<script type="application/ld+json"> 1270 { 1271 "@context": "https://schema.org", 1272 "@type": "Organization", 1273 "@id": "https://aromaparadise.com/#organization", 1274 "name": "Aroma Paradise", 1275 "url": "https://aromaparadise.com/", 1276 "logo": { 1277 "@type": "ImageObject", 1278 "url": "//aromaparadise.com/cdn/shop/files/Logo_rect_trans_small_8a00b824-a46f-4df3-9550-f0271e354b14.png?v=1744744106&width=600", 1279 "width": 600, 1280 "height": 200 1281 }, 1282 "description": "Aroma Paradise offers luxury waterless and regular fragrance diffuser oils inspired by five-star hotels and iconic perfumes â phthalate-free, IFRA-compliant, blended in the USA.", 1283 "foundingLocation": "United States", 1284 "sameAs": [ 1285 "https://www.facebook.com/p/Aroma-Paradise-61570388635845/", 1286 "https://www.instagram.com/aromaparadise_official" 1287 ], 1288 "contactPoint": { 1289 "@type": "ContactPoint", 1290 "contactType": "customer support", 1291 "email": "[email protected]", 1292 "url": "https://aromaparadise.com/pages/contact" 1293 } 1294 } 1295 </script>
1295 1296
1296<script type="application/ld+json"> 1297 { 1298 "@context": "https://schema.org", 1299 "@type": "WebSite", 1300 "@id": "https://aromaparadise.com/#website", 1301 "url": "https://aromaparadise.com/", 1302 "name": "Aroma Paradise", 1303 "publisher": { "@id": "https://aromaparadise.com/#organization" }, 1304 "potentialAction": { 1305 "@type": "SearchAction", 1306 "target": { 1307 "@type": "EntryPoint", 1308 "urlTemplate": "https://aromaparadise.com/search?q={search_term_string}" 1309 }, 1310 "query-input": "required name=search_term_string" 1311 }, 1312 "inLanguage": "en-US" 1313 } 1314 </script>
1314<script> 1315 (function () { 1316 var richProductFields = 'title,product_type,variants.title,vendor,body'; 1317 var originalFetch = window.fetch; 1318 1319 if (originalFetch && !window.__apSearchSuggestFetchPatched) { 1320 window.__apSearchSuggestFetchPatched = true; 1321 window.fetch = function (input, init) { 1322 try { 1323 var rawUrl = typeof input === 'string' ? input : input && input.url; 1324 1325 if (rawUrl && rawUrl.indexOf('/search/suggest') !== -1) { 1326 var url = new URL(rawUrl, window.location.origin); 1327 var resourceTypes = url.searchParams.get('resources[type]') || ''; 1328 1329 if (url.pathname.indexOf('/search/suggest') !== -1 && resourceTypes.indexOf('product') !== -1) { 1330 url.searchParams.set('resources[limit]', '10'); 1331 url.searchParams.set('resources[options][fields]', richProductFields); 1332 url.searchParams.set('resources[options][unavailable_products]', 'last'); 1333 input = typeof input === 'string' ? url.pathname + url.search + url.hash : new Request(url.toString(), input); 1334 } 1335 } 1336 } catch (error) {} 1337 1338 return originalFetch.call(this, input, init); 1339 }; 1340 } 1341 1342 function patchSearchForms() { 1343 document.querySelectorAll('.search-modal__form form[action="/search"], .search-modal__form form[action*="/search"]').forEach(function (form) { 1344 if (!form.querySelector('input[name="options[fields]"]')) { 1345 form.insertAdjacentHTML('beforeend', '<input type="hidden" name="options[fields]" value="' + richProductFields + '">'); 1346 } 1347 }); 1348 } 1349 1350 function enhanceExistingSearchPanel(root) { 1351 if (!root || root.dataset.apConciergeChrome === 'true') return; 1352 root.dataset.apConciergeChrome = 'true'; 1353 1354 var chips = root.querySelector('.ap-search-enhancer__chips'); 1355 if (chips && !root.querySelector('.ap-search-enhancer__intro')) { 1356 chips.insertAdjacentHTML('beforebegin', [ 1357 '<div class="ap-search-enhancer__intro">', 1358 '<div>', 1359 '<p class="ap-search-enhancer__label">Search intelligence</p>', 1360 '<p class="ap-search-enhancer__subtext">Results expand beyond product titles into fragrance notes, product type, and descriptions.</p>', 1361 '</div>', 1362 '<span class="ap-search-enhancer__count" data-ap-search-count>Popular</span>', 1363 '</div>' 1364 ].join('')); 1365 } 1366 1367 var results = root.querySelector('[data-ap-search-results]'); 1368 if (!results || results.dataset.apConciergeObserved === 'true') return; 1369 results.dataset.apConciergeObserved = 'true'; 1370 1371 var renderChrome = function () { 1372 if (results.hidden || !results.querySelector('.ap-search-enhancer__item') || results.querySelector('.ap-search-enhancer__body')) return; 1373 1374 var items = results.querySelectorAll('.ap-search-enhancer__item'); 1375 var count = root.querySelector('[data-ap-search-count]'); 1376 if (count) count.textContent = items.length + (items.length === 1 ? ' product' : ' products'); 1377 1378 items.forEach(function (item, index) { 1379 var meta = item.querySelector('.ap-search-enhancer__meta'); 1380 if (meta && !meta.querySelector('.ap-search-enhancer__tag')) { 1381 var text = meta.textContent.trim() || 'Matched in details'; 1382 meta.innerHTML = '<span class="ap-search-enhancer__tag">' + (index === 0 ? 'Top result' : text) + '</span><span class="ap-search-enhancer__tag">Matched in details</span>'; 1383 } 1384 }); 1385 1386 var first = items[0]; 1387 var firstTitle = first ? first.querySelector('.ap-search-enhancer__title') : null; 1388 var firstImage = first ? first.querySelector('.ap-search-enhancer__image') : null; 1389 var firstUrl = first ? first.getAttribute('href') : '#'; 1390 var original = results.innerHTML; 1391 1392 results.innerHTML = [ 1393 '<div class="ap-search-enhancer__body">', 1394 '<div>' + original.replace('Products', 'Best product matches') + '</div>', 1395 '<aside class="ap-search-enhancer__recommendation">', 1396 '<h3 class="ap-search-enhancer__heading">Recommended</h3>', 1397 firstImage && firstImage.tagName === 'IMG' ? '<img class="ap-search-enhancer__recommendation-image" src="' + firstImage.getAttribute('src') + '" alt="" loading="lazy">' : '', 1398 '<a class="ap-search-enhancer__recommendation-title" href="' + firstUrl + '">' + (firstTitle ? firstTitle.textContent : 'Best match') + '</a>', 1399 '<p class="ap-search-enhancer__recommendation-copy">Best match across product title, type, and description.</p>', 1400 '</aside>', 1401 '</div>' 1402 ].join(''); 1403 }; 1404 1405 new MutationObserver(renderChrome).observe(results, { childList: true, subtree: true }); 1406 renderChrome(); 1407 } 1408 1409 function patchSearchEnhancers() { 1410 document.querySelectorAll('.ap-search-enhancer').forEach(enhanceExistingSearchPanel); 1411 } 1412 1413 if (document.readyState === 'loading') { 1414 document.addEventListener('DOMContentLoaded', function () { 1415 patchSearchForms(); 1416 patchSearchEnhancers(); 1417 }); 1418 } else { 1419 patchSearchForms(); 1420 patchSearchEnhancers(); 1421 } 1422 1423 document.addEventListener('shopify:section:load', patchSearchForms); 1424 document.addEventListener('shopify:section:load', patchSearchEnhancers); 1425 document.addEventListener('click', function () { 1426 window.setTimeout(patchSearchEnhancers, 0); 1427 }); 1428 })(); 1429 </script>
1429 1430 1431 <style> 1432 /* AP search enhancer live override: clear of announcement bar without flattening the concierge UI. */ 1433 details[open] .search-modal__content > .ap-search-enhancer { 1434 position: absolute !important; 1435 top: calc(100% + 0.2rem) !important; 1436 left: 50% !important; 1437 z-index: 8 !important; 1438 width: min(100%, 82rem) !important; 1439 max-width: calc(100vw - 2rem) !important; 1440 margin: 0 !important; 1441 padding: 0 !important; 1442 border: 0.1rem solid rgba(var(--color-foreground), 0.14) !important; 1443 background: rgb(var(--color-background)) !important; 1444 box-shadow: 0 1.4rem 3.4rem rgba(var(--color-foreground), 0.1) !important; 1445 transform: translateX(-50%) !important; 1446 } 1447 1448 details[open] .search-modal__content:has(.ap-search-enhancer) { 1449 overflow: visible; 1450 } 1451 1452 details[open] .header__search .modal-overlay, 1453 details[open] .header__search .modal-overlay::after { 1454 display: none !important; 1455 } 1456 1457 details[open] .ap-search-enhancer__intro { 1458 display: flex; 1459 align-items: start; 1460 justify-content: space-between; 1461 gap: 1.6rem; 1462 padding: 1.4rem 1.6rem 1.2rem; 1463 border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.1); 1464 } 1465 1466 details[open] .ap-search-enhancer__label, 1467 details[open] .ap-search-enhancer__heading { 1468 margin: 0; 1469 font-size: 1.2rem; 1470 line-height: 1.3; 1471 letter-spacing: 0.12em; 1472 text-transform: uppercase; 1473 color: rgba(var(--color-foreground), 0.68); 1474 } 1475 1476 details[open] .ap-search-enhancer__subtext { 1477 margin: 0.5rem 0 0; 1478 color: rgba(var(--color-foreground), 0.7); 1479 font-size: 1.3rem; 1480 line-height: 1.45; 1481 } 1482 1483 details[open] .ap-search-enhancer__count { 1484 flex: 0 0 auto; 1485 min-width: 7.6rem; 1486 padding: 1.1rem 1rem; 1487 border: 0.1rem solid rgba(var(--color-foreground), 0.12); 1488 color: rgba(var(--color-foreground), 0.72); 1489 font-size: 1.2rem; 1490 line-height: 1; 1491 text-align: center; 1492 } 1493 1494 details[open] .ap-search-enhancer__chips { 1495 padding: 1.2rem 1.6rem 1.4rem; 1496 } 1497 1498 details[open] .ap-search-enhancer__results { 1499 margin-top: 0; 1500 border-top: 0.1rem solid rgba(var(--color-foreground), 0.12); 1501 border-right: 0; 1502 border-bottom: 0; 1503 border-left: 0; 1504 background: rgb(var(--color-background)); 1505 box-shadow: none; 1506 max-height: min(62vh, 52rem); 1507 overflow-y: auto; 1508 overscroll-behavior: contain; 1509 } 1510 1511 details[open] .ap-search-enhancer__body { 1512 display: grid; 1513 grid-template-columns: minmax(0, 1fr) 22rem; 1514 gap: 1.4rem; 1515 padding: 1.4rem 1.6rem 1.6rem; 1516 } 1517 1518 details[open] .ap-search-enhancer__chip { 1519 border-radius: 0.4rem; 1520 background: rgb(var(--color-background)); 1521 } 1522 1523 details[open] .ap-search-enhancer__chip:hover, 1524 details[open] .ap-search-enhancer__chip:focus-visible, 1525 details[open] .ap-search-enhancer__item:hover, 1526 details[open] .ap-search-enhancer__item:focus-visible, 1527 details[open] .ap-search-enhancer__view-all:hover, 1528 details[open] .ap-search-enhancer__view-all:focus-visible { 1529 background: rgba(var(--color-foreground), 0.035); 1530 } 1531 1532 details[open] .ap-search-enhancer__meta { 1533 display: flex; 1534 flex-wrap: wrap; 1535 gap: 0.5rem; 1536 white-space: normal; 1537 } 1538 1539 details[open] .ap-search-enhancer__tag { 1540 display: inline-flex; 1541 padding: 0.3rem 0.6rem; 1542 background: rgba(var(--color-foreground), 0.045); 1543 color: rgba(var(--color-foreground), 0.75); 1544 line-height: 1; 1545 } 1546 1547 details[open] .ap-search-enhancer__section { 1548 padding: 0; 1549 } 1550 1551 details[open] .ap-search-enhancer__section + .ap-search-enhancer__section { 1552 margin-top: 1.2rem; 1553 padding-top: 1.2rem; 1554 } 1555 1556 details[open] .ap-search-enhancer__recommendation { 1557 align-self: start; 1558 padding: 1.3rem; 1559 background: rgb(var(--color-foreground)); 1560 color: rgb(var(--color-background)); 1561 } 1562 1563 details[open] .ap-search-enhancer__recommendation .ap-search-enhancer__heading { 1564 color: rgba(var(--color-background), 0.78); 1565 } 1566 1567 details[open] .ap-search-enhancer__recommendation-image { 1568 display: block; 1569 width: 100%; 1570 aspect-ratio: 1; 1571 margin: 1rem 0; 1572 object-fit: cover; 1573 background: rgba(var(--color-background), 0.1); 1574 } 1575 1576 details[open] .ap-search-enhancer__recommendation-title { 1577 display: block; 1578 color: rgb(var(--color-background)); 1579 font-size: 1.5rem; 1580 line-height: 1.25; 1581 text-decoration: none; 1582 } 1583 1584 details[open] .ap-search-enhancer__recommendation-copy { 1585 margin: 0.6rem 0 0; 1586 color: rgba(var(--color-background), 0.78); 1587 font-size: 1.2rem; 1588 line-height: 1.4; 1589 } 1590 1591 details[open] .ap-search-enhancer__view-all { 1592 justify-content: space-between; 1593 } 1594 1595 @media screen and (max-width: 749px) { 1596 details[open] .search-modal__content > .ap-search-enhancer { 1597 width: calc(100vw - 2rem) !important; 1598 max-height: min(76vh, 64rem); 1599 overflow-y: auto; 1600 } 1601 1602 details[open] .ap-search-enhancer__intro { 1603 display: none; 1604 } 1605 1606 details[open] .ap-search-enhancer__chips { 1607 padding: 1.2rem; 1608 } 1609 1610 details[open] .ap-search-enhancer__results { 1611 max-height: none; 1612 overflow: visible; 1613 } 1614 1615 details[open] .ap-search-enhancer__body { 1616 display: block; 1617 padding: 1.2rem; 1618 } 1619 1620 details[open] .ap-search-enhancer__recommendation { 1621 display: none; 1622 } 1623 } 1624 </style> 1625 1626
1626<script> 1627 (function(){ 1628 var seen = Object.create(null); 1629 function inlineSheet(link){ 1630 if (!link || link.__apInlined) return; 1631 link.__apInlined = true; 1632 var href = link.href || ""; 1633 if (!href || /^data:/.test(href)) return; 1634 if (seen[href]) return; 1635 seen[href] = true; 1636 // Skip print-only or alternate stylesheets (they're not in the active set) 1637 var media = (link.media || "").toLowerCase(); 1638 if (media === "print" || link.rel === "alternate stylesheet") return; 1639 fetch(href, { mode: "cors", credentials: "omit" }) 1640 .then(function(r){ return r.ok ? r.text() : ""; }) 1641 .then(function(css){ 1642 if (!css) return; 1643 var s = document.createElement("style"); 1644 s.setAttribute("data-ap-or-inlined", ""); 1645 s.setAttribute("data-ap-source", href); 1646 if (media) s.media = media; 1647 s.appendChild(document.createTextNode(css)); 1648 (link.parentNode || document.head).insertBefore(s, link.nextSibling); 1649 }) 1650 .catch(function(){}); 1651 } 1652 // Existing links at script-execution time 1653 var nodes = document.querySelectorAll('link[rel="stylesheet"]'); 1654 for (var i = 0; i < nodes.length; i++) inlineSheet(nodes[i]); 1655 // Newly-injected links (sections, snippets, app scripts) 1656 try { 1657 var mo = new MutationObserver(function(muts){ 1658 for (var i = 0; i < muts.length; i++){ 1659 var added = muts[i].addedNodes; 1660 for (var j = 0; j < added.length; j++){ 1661 var n = added[j]; 1662 if (n && n.nodeType === 1){ 1663 if (n.tagName === "LINK" && n.rel === "stylesheet") inlineSheet(n); 1664 else if (n.querySelectorAll){ 1665 var inner = n.querySelectorAll('link[rel="stylesheet"]'); 1666 for (var k = 0; k < inner.length; k++) inlineSheet(inner[k]); 1667 } 1668 } 1669 } 1670 } 1671 }); 1672 mo.observe(document.documentElement, { childList: true, subtree: true }); 1673 } catch(_){} 1674 })(); 1675 </script>
1675 1676 1677
1677<script> 1678 (function(){ 1679 var initOpts = { 1680 projectKey: "btEIgBWZALPos734IvLA", 1681 ingestPoint: "https://analytics.aromaparadise.com/ingest", 1682 defaultInputMode: 1, 1683 obscureTextEmails: true, 1684 obscureTextNumbers: true 1685 }; 1686 // Owner-email suppression â don't tag sessions where the logged-in customer 1687 // is on the internal team (avoids polluting analytics with owner QA traffic). 1688 var __AP_OWNER_EMAILS = ["[email protected]"]; 1689 var startOpts = { }; 1690 if (startOpts.userID && __AP_OWNER_EMAILS.indexOf(String(startOpts.userID).toLowerCase()) !== -1){ 1691 delete startOpts.userID; 1692 window.__AP_OWNER_TRAFFIC = true; 1693 } 1694 (function(A,s,a,y,e,r){ 1695 r=window.OpenReplay=[e,r,y,[e-1,e]]; 1696 s=document.createElement("script");s.src=A;s.async=!a; 1697 document.getElementsByTagName("head")[0].appendChild(s); 1698 r.start=function(v){r.push([0])}; 1699 r.stop=function(v){r.push([1])}; 1700 r.setUserID=function(id){r.push([2,id])}; 1701 })("//static.openreplay.com/18.0.6/openreplay-assist.js",1,0,initOpts,startOpts); 1702 window.OpenReplay.start(startOpts); 1703 1704 // Defer all event() and setMetadata() calls until the REAL tracker is loaded. 1705 // While loading, window.OpenReplay is still an Array placeholder and lacks 1706 // a real .event() method, so we queue calls in our own buffer. 1707 var _q = []; 1708 function _ready() { 1709 // Real tracker replaces window.OpenReplay with a non-Array object whose 1710 // event method comes from its prototype (not the loader's r.event stub). 1711 return window.OpenReplay && !Array.isArray(window.OpenReplay) 1712 && typeof window.OpenReplay.event === "function"; 1713 } 1714 function _drain() { 1715 if (!_ready()) return; 1716 while (_q.length) { 1717 var item = _q.shift(); 1718 try { 1719 if (item[0] === "event") window.OpenReplay.event(item[1], item[2] || {}); 1720 else if (item[0] === "metadata") window.OpenReplay.setMetadata(item[1], item[2]); 1721 } catch(_) {} 1722 } 1723 } 1724 // Pagehide flush â if user navs away before OR tracker boots, dump any 1725 // queued E() events to the analytics server via sendBeacon so we don't lose 1726 // them. Fires only when tracker is NOT ready (otherwise OR handles them). 1727 var _pagehideFired = false; 1728 function _flushPending(){ 1729 if (_pagehideFired) return; 1730 if (_ready()) return; // OR will deliver; don't double-send 1731 if (!_q || !_q.length) return; 1732 if (!navigator.sendBeacon) return; 1733 var events = []; 1734 for (var i = 0; i < _q.length; i++){ 1735 var item = _q[i]; 1736 if (item[0] === "event"){ 1737 events.push({ n: item[1], p: item[2] || {}, t: Date.now() }); 1738 } 1739 } 1740 if (!events.length) return; 1741 try { 1742 navigator.sendBeacon( 1743 "https://analytics.aromaparadise.com/live/q", 1744 new Blob([JSON.stringify({ 1745 vu: window.__ap_visitor || "", 1746 vi: window.__ap_visit || "", 1747 ev: events 1748 })], { type: "text/plain;charset=UTF-8" }) 1749 ); 1750 _pagehideFired = true; 1751 } catch(_){} 1752 } 1753 // pagehide is the most reliable signal on mobile (covers tab close, 1754 // app switch, page nav). beforeunload as fallback for older browsers. 1755 window.addEventListener("pagehide", _flushPending); 1756 window.addEventListener("beforeunload", _flushPending); 1757 document.addEventListener("visibilitychange", function(){ 1758 if (document.hidden) _flushPending(); 1759 }); 1760 1761 // Drain on every poll. Once ready, fire the ORâfloor bridge so the dashboard 1762 // can JOIN OR sessions â floor-beacon rows via visit_id. 1763 // 1764 // Production data 2026-05-13 showed OR.event("ap_link") silently dropped for 1765 // ~99% of OR-tracked sessions (14 events across 2001 sessions in 24h). Root 1766 // cause: OR's event() pipeline is best-effort and drops one-shot events under 1767 // various conditions (network blip, queue full, async timing). Fix: fire TWO 1768 // bridge paths in parallel â OR.event() for backward compat, and a direct 1769 // sendBeacon to /live/link which the server handles independently of OR. 1770 // 1771 // The old loop ALSO cleared the interval on first _ready() tick whether or 1772 // not ap_link actually sent. This version: only clear after a successful 1773 // attempt, cap at 30s as a safety, and fire one more time on pagehide. 1774 function _orToken(){
1775 try { 1776 if (!window.sessionStorage) return null; 1777 // OR's default key is "__openreplay_token". Some versions namespace by 1778 // projectKey. Try the default first, then scan sessionStorage for any 1779 // key matching __openreplay*token* as a fallback. 1780 var t = window.sessionStorage.getItem("__openreplay_token"); 1781 if (t) return t; 1782 for (var i = 0; i < window.sessionStorage.length; i++){ 1783 var k = window.sessionStorage.key(i); 1784 if (k && k.indexOf("openreplay") !== -1 && k.indexOf("token") !== -1 && k.indexOf("_version") === -1){ 1785 var v = window.sessionStorage.getItem(k); 1786 if (v) return v; 1787 } 1788 } 1789 } catch(_){} 1790 return null; 1791 } 1792 var _linkSentOR = false; // Path A: OR.event ap_link fired (best-effort) 1793 var _linkSentBeacon = false; // Path B: /live/link beacon fired (reliable) 1794 function _fireLink(){ 1795 if (!window.__ap_visit) return false; 1796 // Path A â OR's own event pipeline. Fire once per page, best-effort. 1797 // Marked done on attempt so we don't spam OR with duplicates. 1798 if (!_linkSentOR){ 1799 try { 1800 window.OpenReplay.event("ap_link", { 1801 visit_id: window.__ap_visit, 1802 visitor_uuid: window.__ap_visitor || "" 1803 }); 1804 _linkSentOR = true; 1805 } catch(_){} 1806 } 1807 // Path B â direct beacon. Only mark done when the token is actually 1808 // available AND the beacon successfully fires. Otherwise keep polling 1809 // (OR may write the token to sessionStorage some moments AFTER event() 1810 // becomes available â that's the race the old code lost to). 1811 if (!_linkSentBeacon){ 1812 var orTok = _orToken(); 1813 if (orTok && navigator.sendBeacon){ 1814 try { 1815 var ok = navigator.sendBeacon( 1816 "https://analytics.aromaparadise.com/live/link", 1817 new Blob([JSON.stringify({ 1818 vu: window.__ap_visitor || "", 1819 vi: window.__ap_visit, 1820 or_token: orTok 1821 })], { type: "text/plain;charset=UTF-8" }) 1822 ); 1823 if (ok) _linkSentBeacon = true; 1824 } catch(_){} 1825 } 1826 } 1827 return _linkSentOR && _linkSentBeacon; 1828 } 1829 var _t = setInterval(function(){ 1830 if (!_ready()) return; 1831 _drain(); 1832 if (_fireLink()) clearInterval(_t); 1833 }, 250); 1834 // Safety cap â don't leak the interval if the OR token never appears. 1835 setTimeout(function(){ try { clearInterval(_t); } catch(_){} }, 30000); 1836 // Pagehide fallback â last-chance fire if OR became ready late but the user 1837 // is navigating away before the poll caught it. We send WHATEVER we have, 1838 // including a scan diagnostic so the server can see what sessionStorage keys 1839 // exist for OR â helps debug the token format if needed. 1840 window.addEventListener("pagehide", function(){ 1841 if (_linkSentBeacon) return; 1842 if (!window.__ap_visit) return; 1843 var orTok = _orToken(); 1844 var keys = [];
1845 try { 1846 if (window.sessionStorage){ 1847 for (var i = 0; i < window.sessionStorage.length; i++){ 1848 var k = window.sessionStorage.key(i); 1849 if (k && k.indexOf("openreplay") !== -1) keys.push(k); 1850 } 1851 } 1852 } catch(_){} 1853 try { 1854 if (navigator.sendBeacon){ 1855 navigator.sendBeacon( 1856 "https://analytics.aromaparadise.com/live/link", 1857 new Blob([JSON.stringify({ 1858 vu: window.__ap_visitor || "", 1859 vi: window.__ap_visit, 1860 or_token: orTok || "", 1861 ph: 1, // pagehide-fired marker 1862 keys: keys 1863 })], { type: "text/plain;charset=UTF-8" }) 1864 ); 1865 _linkSentBeacon = true; 1866 } 1867 } catch(_){} 1868 }); 1869 1870 var __AP_POSTHOG_EVENTS = { 1871 page_viewed:1, product_viewed:1, collection_viewed:1, 1872 search_submitted:1, search_results_viewed:1, 1873 add_to_cart:1, cart_viewed:1, cart_changed:1, cart_cleared:1, cart_item_removed:1, 1874 checkout_clicked:1, variant_selected:1, quantity_changed:1, 1875 collection_filter:1, collection_sort:1, bundle_step:1, 1876 size_selected:1, addon_toggled:1, dropper_addon_toggled:1, 1877 buybox_experiment_exposed:1, buybox_add_to_cart_clicked:1, buybox_add_to_cart_succeeded:1, 1878 '$feature_flag_called':1, js_error_observed:1, 1879 dd_exposure:1, dd_bar_click:1, dd_hero_click:1, dd_hub_tile_click:1, dd_countdown_view:1, dd_pill_click:1, dd_atc:1, 1880 dd_ladder_view:1, dd_ladder_progress:1, dd_gift_unlocked:1, dd_gift_removed:1, dd_checkout_click:1 1881 }; 1882 var __AP_POSTHOG_QUEUE = []; 1883 function _posthogProperties(props){ 1884 var out = { 1885 schema_version: 1, 1886 journey_id: String(window.__ap_visitor || ''), 1887 visit_id: String(window.__ap_visit || ''), 1888 page_type: "index", 1889 page_path: window.location.pathname, 1890 device: window.innerWidth < 750 ? 'mobile' : 'desktop' 1891 }; 1892 Object.keys(props || {}).forEach(function(key){ 1893 if (/email|phone|address|first_name|last_name|customer_id|identity_hash/i.test(key)) return; 1894 var value = props[key]; 1895 if (key === 'query' && (/@/.test(String(value || '')) || /\d{7,}/.test(String(value || '')))) return; 1896 if (typeof value === 'string') out[key] = value.slice(0, 300); 1897 else if (typeof value === 'number' || typeof value === 'boolean' || value == null) out[key] = value; 1898 }); 1899 return out; 1900 } 1901 function _capturePostHog(name, props){ 1902 if (!__AP_POSTHOG_EVENTS[name] || window.__AP_POSTHOG_DISABLED || window.__AP_OWNER_TRAFFIC) return; 1903 if (!window.posthog || typeof window.posthog.capture !== 'function') { 1904 __AP_POSTHOG_QUEUE.push([name, props || {}]); 1905 return; 1906 } 1907 try { window.posthog.capture(name, _posthogProperties(props)); } catch(_){} 1908 } 1909 function _flushPostHogQueue(){ 1910 if (!window.posthog || typeof window.posthog.capture !== 'function') return; 1911 var pending = __AP_POSTHOG_QUEUE.splice(0, __AP_POSTHOG_QUEUE.length); 1912 pending.forEach(function(item){ _capturePostHog(item[0], item[1]); }); 1913 } 1914 function E(name, props){ 1915 if (_ready()) { try { window.OpenReplay.event(name, props || {}); } catch(_){} } 1916 else _q.push(["event", name, props || {}]); 1917 _capturePostHog(name, props || {}); 1918 } 1919 window.__APEvent = E; 1920 var _posthogPageViewed = false; 1921 function _capturePostHogPageView(){ 1922 if (_posthogPageViewed || !window.posthog) return; 1923 _posthogPageViewed = true; 1924 E('page_viewed', { 1925 title: document.title || '', 1926 referrer_host: (function(){ try { return document.referrer ? new URL(document.referrer).hostname : ''; } catch(_){ return ''; } })(), 1927 is_landing: !document.referrer || (function(){ try { return new URL(document.referrer).hostname !== window.location.hostname; } catch(_){ return true; } })() 1928 }); 1929 } 1930 _capturePostHogPageView(); 1931 document.addEventListener('ap:posthog:loaded', function(){ 1932 _flushPostHogQueue(); 1933 _capturePostHogPageView(); 1934 }, { once: true }); 1935 window.__setEmail = function(em, src){ try { _setEmail(em, src); } catch(_){} }; 1936 function M(key, val){ 1937 var v = (val == null) ? "" : String(val); 1938 if (_ready()) { try { window.OpenReplay.setMetadata(String(key), v); } catch(_){} } 1939 else _q.push(["metadata", String(key), v]); 1940 } 1941 1942 // Identity bridge: use hashes only. Do not expose raw contact values to 1943 // replay or event providers. 1944 function _setEmail(email, source){ 1945 if (!email) return; 1946 email = String(email).toLowerCase().trim(); 1947 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) return; 1948 // Owner-email suppression â skip if internal team 1949 if (__AP_OWNER_EMAILS.indexOf(email) !== -1){ 1950 window.__AP_OWNER_TRAFFIC = true; 1951 if (window.posthog && typeof window.posthog.opt_out_capturing === 'function') window.posthog.opt_out_capturing(); 1952 return; 1953 } 1954 if (window.__or_email_set === email) return; 1955 window.__or_email_set = email;
1956 try { 1957 if (navigator.sendBeacon && window.crypto && window.crypto.subtle && window.__ap_visitor) { 1958 var enc = new TextEncoder(); 1959 window.crypto.subtle.digest("SHA-256", enc.encode(email)).then(function(buf){ 1960 var hex = Array.from(new Uint8Array(buf)).map(function(b){ return b.toString(16).padStart(2,"0"); }).join(""); 1961 M("identity_hash", hex); 1962 E("identity_hash_updated", { identity_hash: hex, source: source || "" }); 1963 navigator.sendBeacon( 1964 "https://analytics.aromaparadise.com/live/p", 1965 new Blob([JSON.stringify({ op: "identify", vu: window.__ap_visitor, eh: hex })], { type: "text/plain;charset=UTF-8" }) 1966 ); 1967 }).catch(function(){}); 1968 } 1969 } catch(_){} 1970 } 1971 // Drain queued identity metadata/events after OpenReplay becomes ready. 1972 var _originalDrain = _drain; 1973 _drain = function(){ 1974 _originalDrain(); 1975 }; 1976 1977 // Session metadata 1978 M("page_type", "index"); 1979 M("currency", "USD"); 1980 M("locale", "en"); 1981 M("cart_item_count", 0); 1982 M("cart_total", 0.0); 1983 1984 1985 try { 1986 var p = new URLSearchParams(location.search); 1987 ["utm_source","utm_medium","utm_campaign","utm_term","utm_content","gclid","fbclid","ttclid"].forEach(function(k){ 1988 var v = p.get(k); if (v) M(k, v); 1989 }); 1990 if (document.referrer && document.referrer.indexOf(location.host) === -1) M("referrer", document.referrer); 1991 } catch(_){} 1992 1993 // Page-load events â fire product_viewed / collection_viewed reliably. 1994 // Multi-stage firing (immediate, on DOMContentLoaded, on first idle) with a guard, 1995 // because the queue can lose events if the user navigates before the real tracker loads. 1996 var _firedPageView = false; 1997 function _firePageView(){ 1998 if (_firedPageView) return; 1999 var path = location.pathname; 2000 var fired = false; 2001 if (path.indexOf("/products/") === 0 || path.indexOf("/collections/") !== -1 && path.indexOf("/products/") > 0) { 2002 var pidx = path.indexOf("/products/"); 2003 var handle = path.substring(pidx + "/products/".length).split("?")[0].split("/")[0]; 2004 E("product_viewed", { 2005 handle: handle, 2006 page: path 2007 }); 2008 fired = true; 2009 } 2010 else if (path.indexOf("/collections/") === 0) { 2011 var ch = path.split("/collections/")[1].split("?")[0].split("/")[0]; 2012 E("collection_viewed", { handle: ch, page: path }); 2013 fired = true; 2014 } 2015 if (fired) _firedPageView = true; 2016 } 2017 // Fire immediately (queued if tracker not yet ready) 2018 _firePageView(); 2019 // Fire again on DOM ready (cheap no-op via guard, catches cases where the immediate call lost the event) 2020 if (document.readyState === "loading") { 2021 document.addEventListener("DOMContentLoaded", _firePageView, { once: true }); 2022 } 2023 // Last-chance fire on first user interaction (covers cached pages where tracker boots late) 2024 var _fpInteractFire = function(){ _firePageView(); window.removeEventListener("pointerdown", _fpInteractFire, true); }; 2025 window.addEventListener("pointerdown", _fpInteractFire, true); 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 document.addEventListener("submit", function(e){ 2036 var f = e.target; 2037 if (!f || !f.action) return; 2038 var action = f.action; 2039 if (action.indexOf("/cart/add") !== -1){ 2040 var fd = new FormData(f); 2041 E("add_to_cart", { variant_id: fd.get("id"), quantity: fd.get("quantity") || "1", page: location.pathname, via: "form_submit" }); 2042 return; 2043 } 2044 if (action.indexOf("/search") !== -1){ 2045 var fd = new FormData(f); 2046 E("search_submitted", { query: fd.get("q") || "", page: location.pathname }); 2047 return; 2048 } 2049 if (action.indexOf("/account/login") !== -1){ E("login_submitted", {}); return; } 2050 if (action.indexOf("/account/recover") !== -1){ E("password_recovery_submitted", {}); return; } 2051 if (action.indexOf("/account") !== -1 && f.querySelector("[name=\"customer[password]\"]")){ 2052 E("register_submitted", {}); return; 2053 } 2054 var emailEl = f.querySelector("input[type=email]") || f.querySelector("input[name*=email i]") || f.querySelector("input[id*=email i]"); 2055 var cls = (f.className || "").toLowerCase(); 2056 var fid = (f.id || "").toLowerCase(); 2057 if (emailEl && (cls.indexOf("newsletter") !== -1 || fid.indexOf("newsletter") !== -1 || action.toLowerCase().indexOf("klaviyo") !== -1)){ 2058 E("newsletter_subscribed", {}); 2059 } 2060 // Capture email value from any submitted form that contained one 2061 if (emailEl && emailEl.value) _setEmail(emailEl.value, "form_submit"); 2062 }, true); 2063 2064 // Email blur capture â fires when user finishes typing into any email field on the page 2065 document.addEventListener("blur", function(e){
2066 try { 2067 var t = e.target; 2068 if (!t) return; 2069 var isEmail = (t.type === "email") || 2070 (t.name && /email/i.test(t.name)) || 2071 (t.id && /email/i.test(t.id)); 2072 if (isEmail && t.value) _setEmail(t.value, "blur"); 2073 } catch(_){} 2074 }, true); 2075 2076 // Cross-system identity: capture GA4 client_id, Meta _fbp/_fbc, TikTok ttclid, Google gclid as 2077 // session metadata so OR sessions can be linked back to GA4 reports, Meta Ads, TikTok Ads, etc. 2078 (function _liftAnalyticsIds(){ 2079 function getCookie(name){ 2080 var m = document.cookie.match(new RegExp('(^|; )' + name.replace(/[\.$?*|{}()\[\]\\/+^]/g,'\\$&') + '=([^;]+)')); 2081 return m ? decodeURIComponent(m[2]) : null; 2082 } 2083 function harvestIds(){ 2084 try { 2085 // _ga: Universal/GA4 client_id (format: GA1.1.<random>.<created_ts>) 2086 var ga = getCookie("_ga"); 2087 if (ga) { 2088 var parts = ga.split("."); 2089 if (parts.length >= 4) { 2090 var cid = parts[parts.length-2] + "." + parts[parts.length-1]; 2091 M("ga_client_id", cid); 2092 } 2093 } 2094 // _ga_<MEASUREMENT_ID>: GA4 session_id + session_count + engagement 2095 var cookies = document.cookie.split("; "); 2096 for (var i = 0; i < cookies.length; i++) { 2097 var name = cookies[i].split("=")[0]; 2098 if (/^_ga_[A-Z0-9]+$/.test(name)) { 2099 var v = decodeURIComponent(cookies[i].split("=").slice(1).join("=")); 2100 // Format: GS1.1.<session_id>.<session_count>.<engagement>... 2101 var p = v.split("."); 2102 if (p.length >= 4) { 2103 M("ga_session_id", p[2]); 2104 M("ga_session_count", p[3]); 2105 M("ga_measurement_id", name.substring(4)); // e.g. "G-ABC123" 2106 } 2107 } 2108 } 2109 // Meta/Facebook tracking 2110 var fbp = getCookie("_fbp"); 2111 if (fbp) M("fbp", fbp); 2112 var fbc = getCookie("_fbc"); 2113 if (fbc) M("fbc", fbc); 2114 // TikTok pixel 2115 var ttp = getCookie("_ttp"); 2116 if (ttp) M("ttp", ttp); 2117 var ttclid = getCookie("ttclid"); 2118 if (ttclid) M("ttclid", ttclid); 2119 // Google Ads 2120 var gclid = getCookie("_gcl_aw"); // attribution cookie set by gtag 2121 if (gclid) M("gcl_aw", gclid); 2122 var gclidGB = getCookie("_gcl_gb"); 2123 if (gclidGB) M("gcl_gb", gclidGB); 2124 // Pinterest 2125 var pinp = getCookie("_pin_unauth"); 2126 if (pinp) M("pin_unauth", pinp); 2127 // Shopify anonymous visitor id (useful for joining with Shopify analytics) 2128 var shopY = getCookie("_shopify_y"); 2129 if (shopY) M("shopify_y", shopY); 2130 var shopS = getCookie("_shopify_s"); 2131 if (shopS) M("shopify_s", shopS); 2132 } catch(_){} 2133 } 2134 // GA4 / pixel SDKs may set cookies async on first load (or via consent banner accept) 2135 harvestIds(); 2136 setTimeout(harvestIds, 1500); 2137 setTimeout(harvestIds, 6000); 2138 })(); 2139 2140 // Checkout intent detection â broad coverage since theme uses Upez cart drawer + custom buttons 2141 var _checkoutFired = false; 2142 function _fireCheckout(via) { 2143 if (_checkoutFired) return; 2144 _checkoutFired = true; 2145 E("checkout_clicked", { page: location.pathname, via: via || "click" }); 2146 } 2147 function _looksLikeCheckoutEl(el) { 2148 if (!el) return false; 2149 // Anchor href â /checkouts/* or /checkout 2150 var href = el.getAttribute && el.getAttribute("href") || ""; 2151 if (href && (href.indexOf("/checkout") !== -1 || href.indexOf("/checkouts/") !== -1)) return true; 2152 // Form action attribute â checkout endpoint 2153 var formAct = el.getAttribute && (el.getAttribute("action") || el.getAttribute("formaction") || ""); 2154 if (formAct && (formAct.indexOf("/checkout") !== -1 || formAct.indexOf("/checkouts/") !== -1)) return true; 2155 // Native form button name 2156 if (el.name === "checkout" || el.name === "add" && el.value === "Checkout") return true; 2157 // Walk up to a parent button if user clicked an inner icon/text 2158 var btn = el.tagName === "BUTTON" ? el : (el.closest && el.closest("button, a, [role=button], input[type=submit]")); 2159 var sig = ((btn && (btn.className+" "+btn.id+" "+(btn.getAttribute && btn.getAttribute("data-testid"))||"")) || "").toLowerCase(); 2160 sig += " " + ((el.className||"") + " " + (el.id||"") + " " + (el.getAttribute && el.getAttribute("data-testid") || "")).toLowerCase(); 2161 // Expanded class/id patterns â Shop Pay, Apple Pay, Google Pay, PayPal, cart-drawer footer buttons, GemPages 2162 if (/checkout|proceed-to-pay|buy-now|pay-now|express-pay|shopify-payment-button|a
2162pple-pay|google-pay|paypal|continue-to-checkout|cart__checkout|cart-drawer__checkout|cd-checkout/.test(sig)) return true; 2163 // Text content match â broadened to cover express checkout buttons 2164 var txt = (el.textContent || "").trim().toLowerCase(); 2165 if (/^(checkout|proceed to checkout|continue to checkout|buy it now|secure checkout|shop pay|pay with shop pay|pay with apple pay|apple pay|google pay|pay with paypal|paypal checkout|complete order|complete purchase|pay now|continue)$/.test(txt)) return true; 2166 return false; 2167 } 2168 document.addEventListener("click", function(e){ 2169 var t = e.target && e.target.closest && e.target.closest("a, button, [role=button], input[type=submit], input[type=image]"); 2170 if (!t) return; 2171 var href = t.getAttribute("href") || ""; 2172 // Outbound (unchanged) 2173 if (href && /^https?:/i.test(href) && href.indexOf(location.host) === -1){ E("outbound_click", { href: href.slice(0,300) }); } 2174 // Checkout intent â also detect any link that navigates to /checkouts/ 2175 if (_looksLikeCheckoutEl(t)) _fireCheckout("click"); 2176 }, true); 2177 2178 // Express checkout iframes â Shop Pay / Apple Pay / Google Pay render inside iframes from 2179 // shop.app or pay.google.com. We can't see clicks inside those iframes, but we CAN detect 2180 // when the user transitions away from the cart page to /checkouts/ â pagehide fires. 2181 // Below: if pagehide AND we were on a cart-bearing page AND user recently focused or 2182 // hovered an express-checkout container, fire checkout_clicked. 2183 2184 // Form-submit detection â Shopify default checkout pattern is a POST to /cart with name=checkout submit button 2185 document.addEventListener("submit", function(e){ 2186 var f = e.target; 2187 if (!f || !f.action) return; 2188 var action = String(f.action || "").toLowerCase(); 2189 var sub = f.querySelector && (f.querySelector("button[name=checkout]") || f.querySelector("input[name=checkout]")); 2190 if (sub || action.indexOf("/checkout") !== -1 || (action.indexOf("/cart") !== -1 && action.indexOf("/cart/add") === -1)) { 2191 _fireCheckout("form_submit"); 2192 } 2193 }, true); 2194 2195 // beforeunload / pagehide â if the user is leaving for the checkout domain, mark it. 2196 // Last-resort heuristic: if we're on the cart page or any page with an active cart 2197 // when we're navigating away, fire checkout_clicked. Better to over-detect than miss. 2198 function _checkoutBoundCheck() { 2199 try { 2200 var a = document.activeElement; 2201 // Skip body/documentElement â when nothing is focused, activeElement 2202 // defaults to body and textContent is the entire page (always contains 2203 // "Buy Now"/"Shop Pay" labels on a PDP â false positives). 2204 if (a && a !== document.body && a !== document.documentElement && _looksLikeCheckoutEl(a)) { 2205 _fireCheckout("nav_away"); 2206 } 2207 // On the cart page with items, ANY page-away is likely a checkout (cart pages have one CTA) 2208 if (!_checkoutFired && location.pathname.indexOf("/cart") === 0 && window.__or_cart && window.__or_cart.count > 0){ 2209 _fireCheckout("cart_page_exit"); 2210 } 2211 } catch(_){} 2212 } 2213 window.addEventListener("pagehide", _checkoutBoundCheck); 2214 window.addEventListener("beforeunload", _checkoutBoundCheck); 2215 2216 // Detect URL changes to /checkouts/ via pushState/replaceState (some themes use SPA-ish nav) 2217 (function(){ 2218 function _checkUrl() { 2219 if (location.pathname.indexOf("/checkouts/") === 0 || location.pathname === "/checkout") { 2220 _fireCheckout("url_change"); 2221 } 2222 } 2223 var _ps = history.pushState, _rs = history.replaceState; 2224 history.pushState = function(){ _ps.apply(this, arguments); _checkUrl(); }; 2225 history.replaceState = function(){ _rs.apply(this, arguments); _checkUrl(); }; 2226 window.addEventListener("popstate", _checkUrl); 2227 _checkUrl(); 2228 })(); 2229 2230 document.addEventListener("change", function(e){ 2231 var t = e.target; 2232 if (!t || !t.name) return; 2233 if (t.name === "id" && t.form && t.form.action && t.form.action.indexOf("/cart/add") !== -1){ 2234 E("variant_selected", { variant_id: t.value, page: location.pathname }); 2235 } 2236 if (t.name === "quantity" && t.form && t.form.action && t.form.action.indexOf("/cart") !== -1){ 2237 E("quantity_changed", { quantity: t.value, page: location.pathname }); 2238 } 2239 }, true); 2240 2241 var _fetch = window.fetch; 2242 // Cart state tracking â many themes/apps poll /cart/update or /cart.js on 2243 // page load returning the CURRENT cart state. Those polls aren't real cart 2244 // changes. We track the previous {count,total}
2244 and only emit cart_changed / 2245 // cart_cleared when state actually differs. 2246 window.__or_cart = window.__or_cart || { count: null, total: null }; 2247 function _cartChanged(newCount, newTotal){ 2248 // newCount is integer (or null), newTotal is dollars (or null) 2249 newCount = (typeof newCount === "number") ? newCount : null; 2250 newTotal = (typeof newTotal === "number") ? newTotal : null; 2251 var st = window.__or_cart; 2252 // Suppress only the noise pattern: empty-cart poll with no prior state. 2253 // A first observation showing items (post-ATC sync, or page-load with items) 2254 // SHOULD fire so analytics learns the cart total. State changes also fire. 2255 if (st.count === null){ 2256 st.count = newCount; st.total = newTotal; 2257 // Empty cart with no prior state â no real signal, skip 2258 if (newCount === 0 && (newTotal === 0 || newTotal === null)) return false; 2259 // Otherwise fire â this is either page-load with items or post-ATC sync 2260 return true; 2261 } 2262 var changed = (newCount !== st.count) || (newTotal !== null && st.total !== null && Math.abs((newTotal||0) - (st.total||0)) >= 0.01); 2263 st.count = newCount; st.total = newTotal; 2264 return changed; 2265 } 2266 function _cartCleared(newCount){ 2267 // cart_cleared only meaningful if cart previously had items 2268 var st = window.__or_cart; 2269 var was = (st.count || 0); 2270 st.count = 0; st.total = 0; 2271 return was > 0; 2272 } 2273 2274 // Items-cache for diff-based remove detection. Web Pixel's 2275 // product_removed_from_cart is the primary cart_item_removed source but it 2276 // doesn't fire in Shopify admin-preview context (verified on visitor 2277 // 121fadf0⦠â 25 cart_changed events with counts dropping, 0 pixel removes). 2278 // Diffing the items[] in /cart.js + /cart/change responses gives storefront 2279 // coverage for those flows. 2280 window.__or_cart_items = window.__or_cart_items || null; 2281 function _itemsToMap(items){ 2282 if (!Array.isArray(items)) return null; 2283 var m = {}; 2284 items.forEach(function(it){ 2285 if (!it) return; 2286 var key = it.key || it.id || it.variant_id; if (!key) return; 2287 m[String(key)] = { 2288 key: String(key), 2289 variant_id: String(it.id || it.variant_id || ""), 2290 title: it.product_title || it.title || "", 2291 handle: it.handle || "", 2292 qty: it.quantity || 0, 2293 sku: it.sku || "", 2294 price: typeof it.price === "number" ? (it.price > 100 ? it.price/100 : it.price) : it.price 2295 }; 2296 }); 2297 return m; 2298 } 2299 function _diffEmitRemoved(newItems){ 2300 var next = _itemsToMap(newItems); 2301 if (!next) return; // response had no items[] â can't diff 2302 var prev = window.__or_cart_items; 2303 if (prev){ 2304 Object.keys(prev).forEach(function(k){ 2305 if (!next[k]){ 2306 var it = prev[k]; 2307 E("cart_item_removed", { 2308 page: location.pathname, 2309 variant_id: it.variant_id, 2310 handle: it.handle, 2311 item: { variant_id: it.variant_id, handle: it.handle, title: it.title, qty: it.qty, price: it.price, sku: it.sku }, 2312 via: "storefront" 2313 }); 2314 } 2315 }); 2316 } 2317 window.__or_cart_items = next; 2318 } 2319 2320 function _extractCartItem(d){ 2321 // Tolerant parser for /cart/add responses across Shopify default, Upez, GemPages, 2322 // Bundle apps, and Klaviyo cart wrappers. Returns first identifiable item. 2323 if (!d) return null; 2324 if (Array.isArray(d)) return d[0] || null; // array of items 2325 if (d.items && Array.isArray(d.items)) return d.items[0] || null; // {items: [...]} 2326 if (d.item) return d.item; // {item: {...}} 2327 if (d.added) return d.added; // {added: {...}} 2328 if (d.product) return d.product; // some apps 2329 if (d.id || d.variant_id || d.product_title || d.title) return d; // standard shape 2330 // Last resort â find first nested object with id/title 2331 for (var k in d) { 2332 if (d[k] && typeof d[k] === "object" && (d[k].id || d[k].product_title || d[k].title)) return d[k]; 2333 } 2334 return null; 2335 } 2336 window.fetch = function(){ 2337 var args = arguments; 2338 var url = typeof args[0] === "string" ? args[0] : (args[0] && args[0].url) || ""; 2339 var method = (args[1] && args[1].method) || (args[0] && args[0].method) || "GET"; 2340 method = String(method).toUpperCase(); 2341 var p = _fetch.apply(window, args);
2342 try { 2343 // /cart.js POST is an alias for /cart/add.js used by some apps 2344 var isCartJsPost = /\/cart\.js(\?|$)/.test(url) && method === "POST"; 2345 if (url.indexOf("/cart/add") !== -1 || isCartJsPost){ 2346 p.then(function(r){ 2347 r.clone().json().then(function(d){ 2348 var item = _extractCartItem(d) || d || {}; 2349 var priceN = item.price; 2350 if (typeof priceN === "number" && priceN > 100) priceN = priceN / 100; // Shopify gives cents 2351 E("add_to_cart", { 2352 variant_id: item.variant_id || item.id || "", 2353 title: item.product_title || item.title || item.name || "", 2354 quantity: item.quantity || 1, 2355 price: priceN || "", 2356 vendor: item.vendor || "", 2357 handle: item.handle || (item.url || "").split("/products/")[1]?.split("?")[0]?.split("/")[0] || "", 2358 page: location.pathname, 2359 via: "ajax" 2360 }); 2361 }).catch(function(){ 2362 // Response wasn't JSON â fire with page-derived fallback so we don't lose the signal 2363 var page = location.pathname; 2364 var handle = (page.indexOf("/products/") !== -1) ? page.split("/products/")[1].split("?")[0].split("/")[0] : ""; 2365 E("add_to_cart", { page: page, handle: handle, via: "ajax", _no_json: true }); 2366 }); 2367 }).catch(function(){}); 2368 } else if (url.indexOf("/cart/change") !== -1 || url.indexOf("/cart/update") !== -1){ 2369 p.then(function(r){ 2370 r.clone().json().then(function(d){ 2371 var ic = d && d.item_count; var tp = d && d.total_price/100; 2372 if (_cartChanged(typeof ic === "number" ? ic : null, typeof tp === "number" ? tp : null)){ 2373 E("cart_changed", { page: location.pathname, item_count: ic, total: tp }); 2374 } 2375 _diffEmitRemoved(d && d.items); 2376 }).catch(function(){ if (_cartChanged(null, null)) E("cart_changed", { page: location.pathname }); }); 2377 }).catch(function(){ if (_cartChanged(null, null)) E("cart_changed", { page: location.pathname }); }); 2378 } else if (/\/cart\.js(\?|$)/.test(url) && method === "GET" && !isCartJsPost){ 2379 // /cart.js GET â Dawn + most themes poll this after ATC to sync drawer state. 2380 // The response carries the full cart; pipe it through _cartChanged so values update, 2381 // and seed __or_cart_items so subsequent /cart/change diffs detect removals. 2382 p.then(function(r){ 2383 r.clone().json().then(function(d){ 2384 var ic = d && d.item_count; var tp = d && d.total_price/100; 2385 if (typeof ic === "number" && _cartChanged(ic, typeof tp === "number" ? tp : null)){ 2386 E("cart_changed", { page: location.pathname, item_count: ic, total: tp, via: "cart.js" }); 2387 } 2388 window.__or_cart_items = _itemsToMap(d && d.items) || window.__or_cart_items; 2389 }).catch(function(){}); 2390 }).catch(function(){}); 2391 } else if (url.indexOf("/cart/clear") !== -1){ 2392 if (_cartCleared(0)) E("cart_cleared", { page: location.pathname }); 2393 } 2394 } catch(_){} 2395 return p; 2396 }; 2397 2398 // XHR (XMLHttpRequest) interceptor for legacy apps + theme widgets that don't use fetch. 2399 // Many Shopify apps and older jQuery-based theme code still use $.ajax/$.post â XHR. 2400 (function _instrumentXHR(){
2401 try { 2402 var _open = XMLHttpRequest.prototype.open; 2403 var _send = XMLHttpRequest.prototype.send; 2404 XMLHttpRequest.prototype.open = function(method, url){ 2405 this.__or_url = String(url || ""); 2406 this.__or_method = String(method || "").toUpperCase(); 2407 return _open.apply(this, arguments); 2408 }; 2409 XMLHttpRequest.prototype.send = function(){ 2410 var self = this; 2411 var url = self.__or_url || ""; 2412 var method = self.__or_method || ""; 2413 // Capture /cart.js GET responses too â Dawn polls them for cart-drawer sync 2414 if (method === "GET" && url && /\/cart\.js(\?|$)/.test(url)) { 2415 self.addEventListener("load", function(){ 2416 try { 2417 var body = JSON.parse(self.responseText); 2418 var ic = body && body.item_count; 2419 var tp = body && body.total_price/100; 2420 if (typeof ic === "number" && _cartChanged(ic, typeof tp === "number" ? tp : null)){ 2421 E("cart_changed", { page: location.pathname, item_count: ic, total: tp, via: "cart.js" }); 2422 } 2423 window.__or_cart_items = _itemsToMap(body && body.items) || window.__or_cart_items; 2424 } catch(_){} 2425 }); 2426 } 2427 if ((method === "POST" || method === "PUT") && url) { 2428 self.addEventListener("load", function(){ 2429 try { 2430 // /cart/add, /cart/add.js, /cart.js (POST = add), /cart/update, /cart/change, /cart/clear 2431 var isAdd = /\/cart\/add(\.js)?(\?|$)/.test(url) || /\/cart\.js(\?|$)/.test(url); 2432 var isChange = /\/cart\/(change|update)(\.js)?(\?|$)/.test(url); 2433 var isClear = /\/cart\/clear(\.js)?(\?|$)/.test(url); 2434 if (!isAdd && !isChange && !isClear) return; 2435 var body = null; 2436 try { body = JSON.parse(self.responseText); } catch(_){} 2437 if (isAdd) { 2438 var item = (body && _extractCartItem(body)) || body || {}; 2439 var priceN = item.price; 2440 if (typeof priceN === "number" && priceN > 100) priceN = priceN / 100; 2441 E("add_to_cart", { 2442 variant_id: item.variant_id || item.id || "", 2443 title: item.product_title || item.title || item.name || "", 2444 quantity: item.quantity || 1, 2445 price: priceN || "", 2446 vendor: item.vendor || "", 2447 handle: item.handle || ((item.url || "").split("/products/")[1] || "").split("?")[0].split("/")[0] || "", 2448 page: location.pathname, 2449 via: "xhr" 2450 }); 2451 } else if (isChange) { 2452 var ic = body && body.item_count; var tp = body && body.total_price/100; 2453 if (_cartChanged(typeof ic === "number" ? ic : null, typeof tp === "number" ? tp : null)){ 2454 E("cart_changed", { page: location.pathname, item_count: ic, total: tp, via: "xhr" }); 2455 } 2456 _diffEmitRemoved(body && body.items); 2457 } else if (isClear) { 2458 if (_cartCleared(0)) E("cart_cleared", { page: location.pathname, via: "xhr" }); 2459 } 2460 } catch(_){} 2461 }); 2462 } 2463 return _send.apply(this, arguments); 2464 }; 2465 } catch(_){} 2466 })(); 2467 2468 ["cart:added","cart:open","cart:close","variant:change"].forEach(function(n){ 2469 document.addEventListener(n, function(){ E("dawn_" + n.replace(":","_"), {}); }); 2470 }); 2471 2472 window.addEventListener("error", function(ev){ 2473 try { 2474 E("js_error_observed", { 2475 message: ev.message ? String(ev.message).slice(0,200) : "", 2476 source: ev.filename ? String(ev.filename).slice(0,200) : "", 2477 line: ev.lineno 2478 }); 2479 } catch(_){} 2480 }); 2481 2482 // Quick-add tracking: capture which product was added when user clicks .apgp-add (or similar) 2483 // on collection / bundle / quick-add card UIs. The default tracker only captures the CSS class, 2484 // so without this we can't tell which of 100+ products on a page was added. Walks up to the 2485 // product card and emits handle + title so the analytics narrator can show "Quick-add: X". 2486 document.addEventListener("click", function(e){ 2487 var btn = e.target && e.target.closest && e.target.closest( 2488 ".apgp-add, .apgp-icon-btn, .gp-button-atc, [data-apgp-add], .apf-quick-add, .quick-add__submit" 2489 ); 2490 if (!btn) return; 2491 var card = btn.closest(
2492 ".apgp-card, .apgp-cmp-card, .apgp-bundle, [data-product-handle], [data-handle], [data-product-id], article, .gp-product, .product-card-wrapper, .card-wrapper" 2493 ); 2494 var nameEl = card && (card.querySelector(".apgp-name") || card.querySelector("a[href*='/products/']")); 2495 var href = (nameEl && nameEl.getAttribute && nameEl.getAttribute("href")) || (card && card.dataset && (card.dataset.productHref || "")) || ""; 2496 var m = href && href.match(/\/products\/([a-z0-9-]+)/i); 2497 var handle = ""; 2498 if (card && card.dataset) handle = card.dataset.productHandle || card.dataset.handle || ""; 2499 if (!handle && m) handle = m[1]; 2500 var title = (nameEl && nameEl.textContent || "").trim().slice(0, 120); 2501 var variantId = btn.dataset && (btn.dataset.variantId || btn.dataset.variant) || ""; 2502 if (!handle && !title) return; 2503 E("quick_add_clicked", { 2504 handle: handle, 2505 title: title, 2506 variant_id: String(variantId), 2507 button_class: (btn.className || "").toString().split(/\s+/)[0] || "", 2508 page: location.pathname 2509 }); 2510 }, true); 2511 2512 // === Extended instrumentation: 14 high-signal events for session narrative === 2513 2514 function _throttle(fn, ms){ 2515 var last = 0; 2516 return function(){ 2517 var now = Date.now(); 2518 if (now - last >= ms){ last = now; return fn.apply(this, arguments); } 2519 }; 2520 } 2521 2522 // (1) Collection filter changes + (2) sort changes 2523 document.addEventListener("change", function(e){ 2524 var t = e.target; 2525 if (!t || t.nodeType !== 1) return; 2526 var nm = (t.getAttribute && t.getAttribute("name")) || ""; 2527 var id = (t.id || "").toLowerCase(); 2528 if (nm === "sort_by" || id.indexOf("sortby") !== -1 || id.indexOf("sort-by") !== -1){ 2529 E("collection_sort", { sort_by: t.value, page: location.pathname }); 2530 return; 2531 } 2532 if (t.closest && t.closest(".facets, .facets-wrapper, [data-filters], .collection-filters, .apf-filter, .gp-collection-filter, .filter-group, #FacetFiltersForm")){ 2533 var lbl = t.closest("label"); 2534 var labelText = lbl ? (lbl.textContent || "").trim().slice(0, 80) : ""; 2535 E("collection_filter", { 2536 name: nm, 2537 value: t.value || "", 2538 label: labelText, 2539 checked: t.checked === false ? false : (t.checked === true ? true : null), 2540 page: location.pathname 2541 }); 2542 } 2543 }, true); 2544 2545 // (3) Reviews interaction (Judge.me widget) 2546 document.addEventListener("click", function(e){ 2547 var widget = e.target && e.target.closest && e.target.closest(".jdgm-rev-widg, .jdgm-widget, .jdgm-prev-badge, .jdgm-all-reviews-page"); 2548 if (!widget) return; 2549 var btn = e.target.closest && e.target.closest( 2550 ".jdgm-rev__br-btn, .jdgm-paginate__page, .jdgm-sort-dropdown, .jdgm-rev-widg__sort-wrapper, .jdgm-write-rev-link, .jdgm-rev__title, .jdgm-prev-badge__stars, .jdgm-rev-widg__title, .jdgm-rev-widg__summary-stars" 2551 ); 2552 var action = "view"; 2553 if (btn){ 2554 var c = (btn.className || "") + ""; 2555 if (/__br-btn|read.?more/i.test(c)) action = "read_more"; 2556 else if (/paginate/i.test(c)) action = "paginate"; 2557 else if (/sort/i.test(c)) action = "sort"; 2558 else if (/write-rev|write_review/i.test(c)) action = "write_review"; 2559 else if (/star|badge/i.test(c)) action = "stars_click"; 2560 else if (/title/i.test(c)) action = "review_title"; 2561 } else { 2562 action = "click"; 2563 } 2564 E("reviews_interaction", { action: action, page: location.pathname }); 2565 }, true); 2566 2567 // (4) Image zoom + swipe â PDP only 2568 if (/^\/products\//.test(location.pathname)){ 2569 document.addEventListener("click", function(e){ 2570 var z = e.target && e.target.closest && e.target.closest( 2571 ".product__media-zoom, .gp-product-media-zoom, button[aria-label*='zoom' i], .product-media-modal__toggle, .product__modal-opener, [data-gallery-zoom], .product__media-icon" 2572 ); 2573 if (!z) return; 2574 var slide = z.closest && z.closest("[data-media-position], [data-index], li[data-media-id], .swiper-slide"); 2575 var idx = ""; 2576 if (slide && slide.dataset) idx = slide.dataset.mediaPosition || slide.dataset.index || slide.dataset.mediaId || "";
2577 E("image_zoom", { image_index: idx, page: location.pathname }); 2578 }, true); 2579 2580 var _swipeTrack = null; 2581 document.addEventListener("pointerdown", function(e){ 2582 var g = e.target && e.target.closest && e.target.closest(".product__media-list, .product-media-list, .swiper, .gp-product-media, .product__media-gallery"); 2583 if (g) _swipeTrack = { x: e.clientX, t: Date.now() }; 2584 }, true); 2585 document.addEventListener("pointerup", function(e){ 2586 if (!_swipeTrack) return; 2587 var dx = e.clientX - _swipeTrack.x; 2588 var dt = Date.now() - _swipeTrack.t; 2589 if (Math.abs(dx) > 40 && dt < 1500){ 2590 E("image_swiped", { direction: dx > 0 ? "right" : "left", page: location.pathname }); 2591 } 2592 _swipeTrack = null; 2593 }, true); 2594 } 2595 2596 // (5) FAQ / accordion expand â native <details> toggle (filtered to FAQ-like contexts) 2597 document.addEventListener("toggle", function(e){ 2598 var t = e.target; 2599 if (!t || t.tagName !== "DETAILS") return; 2600 if (!t.open) return; 2601 // Skip nav/menu/cart-drawer toggles 2602 if (t.closest && t.closest("header, .header, .menu-drawer, .mobile-nav, footer, .footer, cart-drawer, .cart-drawer, summary-modal, modal-dialog")) return; 2603 var summary = t.querySelector && t.querySelector("summary"); 2604 var qtext = summary ? (summary.textContent || "").trim().slice(0, 140) : ""; 2605 if (!qtext) return; 2606 E("faq_expand", { question: qtext, page: location.pathname }); 2607 }, true); 2608 2609 // (6) Discount field interaction (cart / checkout) 2610 document.addEventListener("focusin", function(e){ 2611 var t = e.target; 2612 if (!t || !t.tagName) return; 2613 var nm = (t.name || "") + ""; 2614 var id = (t.id || "") + ""; 2615 if (nm === "discount" || /discount.*code|promo|coupon/i.test(nm) || /discount|promo|coupon/i.test(id)){ 2616 E("discount_interaction", { action: "focused", field: nm || id, page: location.pathname }); 2617 } 2618 }); 2619 document.addEventListener("submit", function(e){ 2620 var f = e.target; 2621 if (!f || f.tagName !== "FORM") return; 2622 var act = (f.action || "") + ""; 2623 var hasField = f.querySelector && f.querySelector('input[name="discount"], input[name*="discount" i], input[name*="coupon" i]'); 2624 if (/discount|coupon/i.test(act) || hasField){ 2625 var code = hasField && hasField.value || ""; 2626 E("discount_interaction", { action: "submitted", code: code.slice(0,40), page: location.pathname }); 2627 } 2628 }, true); 2629 2630 // (7) Popup events â provider-agnostic postMessage listener for Redo / 2631 // Klaviyo / Privy / OptinMonster etc. We DO NOT use a MutationObserver 2632 // on document.body â that was the heaviest ongoing CPU cost. If a popup 2633 // tool doesn't postMessage on shown/dismissed/submit, we'll miss those 2634 // events, but the engagement signal is still captured via form_submit 2635 // listeners downstream. 2636 window.addEventListener("message", function(ev){ 2637 try { 2638 var d = ev.data; 2639 if (!d || typeof d !== "object") return; 2640 var type = d.type || d.eventName || d.event || ""; 2641 if (typeof type !== "string" || !type) return; 2642 // Match common popup-tool event names from Redo, Klaviyo, Privy, etc. 2643 if (!/popup|modal|form|opened|shown|closed|dismissed|submit|subscribe/i.test(type)) return; 2644 var act = "shown"; 2645 if (/dismiss|close|hidden/i.test(type)) act = "dismissed"; 2646 else if (/submit|subscribe|complete/i.test(type)) act = "submitted"; 2647 else if (/open|shown|view|display/i.test(type)) act = "shown"; 2648 // Infer source from event origin/data 2649 var origin = (ev.origin || "").toLowerCase(); 2650 var source = "unknown"; 2651 if (/klaviyo/i.test(type) || /klaviyo/.test(origin)) source = "klaviyo"; 2652 else if (/redo/i.test(type) || /\.redo\./.test(origin)) source = "redo"; 2653 else if (/privy/i.test(type) || /privy/.test(origin)) source = "privy"; 2654 else if (/optinmonster/i.test(type)) source = "optinmonster"; 2655 E("popup_" + act, { 2656 form_id: d.formId || d.form_id || d.id || "", 2657 source: source, 2658 type: type.slice(0, 60), 2659 page: location.pathname 2660 }); 2661 } catch(_){} 2662 }); 2663
2664 // (8) Bundle builder steps â listen for snippet-dispatched custom event 2665 document.addEventListener("ap_bundle:step", function(ev){ 2666 var d = (ev && ev.detail) || {}; 2667 if (typeof window.apTrack === "function") window.apTrack("bundle_step", { step: d.step || "", step_num: d.step_num || "", qty: d.qty || "" }, "bundle_builder", { gaOnly: true }); 2668 E("bundle_step", { 2669 step: d.step || "", 2670 type_selected: d.type || "", 2671 scents_selected: Array.isArray(d.scents) ? d.scents.join(",").slice(0, 200) : (d.scents || ""), 2672 qty: d.qty || "", 2673 page: location.pathname 2674 }); 2675 }); 2676 2677 // (9) Sticky / announcement bar click 2678 document.addEventListener("click", function(e){ 2679 var t = e.target && e.target.closest && e.target.closest( 2680 "#shopify-section-announcement-bar a, .announcement-bar a, .ap-sticky-bar a, .sticky-bar a, .sticky-promo-bar a, [data-sticky-bar] a" 2681 ); 2682 if (!t) return; 2683 E("sticky_bar_click", { 2684 href: (t.getAttribute("href") || "").slice(0, 200), 2685 text: (t.textContent || "").trim().slice(0, 80), 2686 page: location.pathname 2687 }); 2688 }, true); 2689 2690 // (10) Exit-intent (desktop pointer only) 2691 (function(){ 2692 var fired = false; 2693 if (window.matchMedia && window.matchMedia("(pointer:fine)").matches){ 2694 document.addEventListener("mouseleave", function(e){ 2695 if (fired) return; 2696 if (e.clientY < 10){ fired = true; E("exit_intent", { page: location.pathname }); } 2697 }); 2698 } 2699 })(); 2700 2701 // (11) Upsell modal events â snippets dispatch ap_addons:* custom events 2702 document.addEventListener("ap_addons:opened", function(){ 2703 E("upsell_modal_opened", { page: location.pathname }); 2704 }); 2705 document.addEventListener("ap_addons:closed", function(ev){ 2706 var d = (ev && ev.detail) || {}; 2707 E("upsell_modal_closed", { action: d.action || "dismissed", page: location.pathname }); 2708 }); 2709 document.addEventListener("ap_addons:clicked", function(ev){ 2710 var d = (ev && ev.detail) || {}; 2711 E("upsell_modal_clicked", { target: d.target || "", href: (d.href || "").slice(0, 200), page: location.pathname }); 2712 }); 2713 2714 // (12) Tab visibility 2715 (function(){ 2716 var hiddenAt = 0; 2717 document.addEventListener("visibilitychange", function(){ 2718 if (document.hidden){ 2719 hiddenAt = Date.now(); 2720 E("tab_hidden", { page: location.pathname }); 2721 } else { 2722 var away = hiddenAt ? (Date.now() - hiddenAt) : 0; 2723 E("tab_visible", { away_ms: away, page: location.pathname }); 2724 } 2725 }); 2726 })(); 2727 2728 // (13) Scroll depth â 25 / 50 / 75 / 100 once per page 2729 (function(){ 2730 var marks = [25, 50, 75, 100]; 2731 var fired = {}; 2732 function pageType(){ 2733 var p = location.pathname; 2734 if (/^\/products\//.test(p)) return "product"; 2735 if (/^\/collections\//.test(p)) return "collection"; 2736 if (/^\/cart/.test(p)) return "cart"; 2737 if (p === "/") return "home"; 2738 if (/^\/pages\//.test(p)) return "page"; 2739 if (/^\/blogs\//.test(p)) return "blog"; 2740 return "other"; 2741 } 2742 var pt = pageType(); 2743 var onScroll = _throttle(function(){ 2744 var doc = document.documentElement; 2745 var winH = window.innerHeight || doc.clientHeight; 2746 var scH = doc.scrollHeight || document.body.scrollHeight; 2747 var st = window.pageYOffset || doc.scrollTop || 0; 2748 if (scH <= winH) return; 2749 var pct = Math.min(100, Math.floor((st + winH) / scH * 100)); 2750 for (var i = 0; i < marks.length; i++){ 2751 var m = marks[i]; 2752 if (pct >= m && !fired[m]){ 2753 fired[m] = true; 2754 E("scroll_depth", { depth_pct: m, page_type: pt, page: location.pathname }); 2755 } 2756 } 2757 }, 250); 2758 window.addEventListener("scroll", onScroll, { passive: true }); 2759 })(); 2760 2761 // (14) Form field focus for high-signal fields (email, phone in cart/checkout context) 2762 document.addEventListener("focusin", function(e){ 2763 var t = e.target; 2764 if (!t || !t.tagName) return; 2765 var nm = (t.name || "") + ""; 2766 var id = (t.id || "") + ""; 2767 var type = (t.type || "") + ""; 2768 // Capture email / phone field focus inside cart/checkout/account contexts 2769 var ctx = t.closest && t.closest("form[action*='/cart'], form[action*='checkout'], form[action*='contact'], #cart, .cart, .checkout, .contact-form"); 2770 if (!ctx) return; 2771 if (type === "email" || /email/i.test(nm) || /email/i.test(id)){ 2772 E("form_field_focused", { field: "email", page: location.pathname }); 2773 } else if (type === "tel" || /phone|tel/i.test(nm) || /phone|tel/i.test(id)){ 2774 E("form_field_focused", { field: "phone", page: location.pathname }); 2775 } 2776 }); 2777 // === End extended instrumentation === 2778 2779 })(); 2780 </script>
2780 2781
2781<script type="text/javascript"> 2782!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1"; 2783geq.load("OO9HRJZN");}(); 2784 </script>
2784 2785<!-- BEGIN app block: shopify://apps/gsc-countdown-timer/blocks/countdown-bar/58dc5b1b-43d2-4209-b1f3-52aff31643ed --><style> 2786 .gta-block__error { 2787 display: flex; 2788 flex-flow: column nowrap; 2789 gap: 12px; 2790 padding: 32px; 2791 border-radius: 12px; 2792 margin: 12px 0; 2793 background-color: #fff1e3; 2794 color: #412d00; 2795 } 2796 2797 .gta-block__error-title { 2798 font-size: 18px; 2799 font-weight: 600; 2800 line-height: 28px; 2801 } 2802 2803 .gta-block__error-body { 2804 font-size: 14px; 2805 line-height: 24px; 2806 } 2807</style> 2808
2809<script> 2810 (function () { 2811 try { 2812 const widgets = [{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-LVakujGYLfLy","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-YOOesTrBWsEB","type":"text","align":"left","color":"#ff4726","value":"holiday gifting bundles","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"900","textTransform":"uppercase","mobileFontSize":"21px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0.9px"},{"id":"text-pcmTtYJrBdvT","type":"text","align":"left","color":"#fdee57","value":"Upto 70% off + Limited Stock","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-vBKrmhSAwvxi","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"0px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"159px"},{"id":"button-nCcMHLJHJvZE","href":"https:\/\/aromaparadise.com\/pages\/holiday-deals","type":"button","label":"Shop Now","width":"content","border":{"size":"2px","color":"#dbef0d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"6px","left":"10px","right":"10px","bottom":"6px"}},"textColor":"#cb4d13","background":{"blur":"0px","color":"#fdee57","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-NsprehUbVcDu","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#ffffff","enabled":true},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#4ea000","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/holiday-deals","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-SyvmUkhEadSI","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"daily","daily":{"tz":"America\/New_York","endHours":23,"endMinutes":59,"repeatDays":[0,1,2,3,4,5,6],"startHours":0,"startMinutes":0},"hours":3,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-GCueACgBUklu","type":"text","align":"left","color":"#ff2e2e","value":"â¥ï¸ Sitewide Valentine's Sale ð","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-XCWMISAsehxA","type":"text","align":"left","color":"#d6d2c9","value":"Spend $50+ Save 5% ⢠$100+ Save 10% ⢠$150+ Save 15%","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"button-bMDelWNTdtAi","href":"https:\/\/aromaparadise.com\/pages\/valentines-day","type":"button","label":"Get GIFTS","width":"content","border":{"size":"3px","color":"#2f8426","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"8px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"6px","right":"6px","bottom":"4px"},"desktop":{"top":"6px","left":"10px","right":"10px","bottom":"6px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#ff2e2e","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"16px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-FESvkmUZvhdC","type":"timer","view":"custom","border":{"size":"3px","color":"#ff3b3c","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#d6d2c9","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{"left":"8px"},"desktop":{"top":"0px"}},"radius":{"value":"12px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{"left":"0px"},"desktop":{"top":"1px","bottom":"1px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#d6d2c9","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"158px"},{"id":"coupon-yfETnNkVyVIg","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(159deg, #861d1f 0%, #472222 51%, #861d1f 98%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/valentines-day","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-roWmjFaZuKTl","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"daily","daily":{"tz":"America\/New_York","endHours":23,"endMinutes":59,"repeatDays":[0,1,2,3,4,5,6],"startHours":0,"startMinutes":0},"hours":3,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-goCFvRhVWzRv","type":"text","align":"left","color":"#ff2e2e","value":"ð¿ New year reset event ð§ ","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-BeIQqnJLMJZV","type":"text","align":"left","color":"#d6d2c9","value":"You gifted everyone else â now its your turn","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"button-ZVEfNDWbnegJ","href":"https:\/\/aromaparadise.com\/pages\/holiday-deals","type":"button","label":"RESET SPACE","width":"content","border":{"size":"3px","color":"#2f8426","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"8px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"6px","right":"6px","bottom":"4px"},"desktop":{"top":"6px","left":"10px","right":"10px","bottom":"6px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#ff2e2e","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"16px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-IHOWzAlPPdQs","type":"timer","view":"custom","border":{"size":"3px","color":"#ff3b3c","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#d6d2c9","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{"left":"8px"},"desktop":{"top":"0px"}},"radius":{"value":"12px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{"left":"0px"},"desktop":{"top":"1px","bottom":"1px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#d6d2c9","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"158px"},{"id":"coupon-FJncXqRQqobN","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(159deg, #861d1f 0%, #472222 51%, #1c0d0f 98%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/holiday-deals","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-hzrSIvBKnKYa","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"daily","daily":{"tz":"America\/New_York","endHours":23,"endMinutes":59,"repeatDays":[0,1,2,3,4,5,6],"startHours":0,"startMinutes":0},"hours":3,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-obWjsbkvkuAq","type":"text","align":"left","color":"#ff2e2e","value":"ð Holiday Blowout sale ð","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-UPuAiSSocAPP","type":"text","align":"left","color":"#d6d2c9","value":"stock up while you still can | Fulfilling orders 24\/7","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"button-koLbDLpdsTaN","href":"https:\/\/aromaparadise.com\/pages\/holiday-deals","type":"button","label":"Get GIFTS","width":"content","border":{"size":"3px","color":"#2f8426","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"8px","bottom":"0px"},"desktop":{"top":"0px","l
2812eft":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"6px","left":"10px","right":"10px","bottom":"6px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#ff2e2e","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"16px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-cirPWxNprmVe","type":"timer","view":"custom","border":{"size":"3px","color":"#ff3b3c","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#d6d2c9","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{"left":"8px"},"desktop":{"top":"0px"}},"radius":{"value":"12px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{"left":"0px"},"desktop":{"top":"1px","bottom":"1px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#d6d2c9","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"158px"},{"id":"coupon-fHHcnpPEEoNi","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(159deg, #861d1f 0%, #472222 51%, #1c0d0f 98%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/holiday-deals","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-BTmIlEQpMupp","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"daily","daily":{"tz":"America\/New_York","endHours":23,"endMinutes":59,"repeatDays":[0,1,2,3,4,5,6],"startHours":0,"startMinutes":0},"hours":3,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-OrjdAiWdWUMk","type":"text","align":"left","color":"#ff2e2e","value":"ð Holiday Blowout sale ð","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-asrqwodUQhkv","type":"text","align":"left","color":"#d6d2c9","value":"stock up while you still can | Fulfilling orders 24\/7","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"button-khHMfhmxBgnw","href":"https:\/\/aromaparadise.com\/pages\/holiday-deals","type":"button","label":"Get GIFTS","width":"content","border":{"size":"3px","color":"#2f8426","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"8px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"6px","left":"10px","right":"10px","bottom":"6px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#ff2e2e","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"16px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-uXbGHHbhaijY","type":"timer","view":"custom","border":{"size":"3px","color":"#ff3b3c","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#d6d2c9","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{"left":"8px"},"desktop":{"top":"0px"}},"radius":{"value":"12px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{"left":"0px"},"desktop":{"top":"1px","bottom":"1px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#d6d2c9","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"158px"},{"id":"coupon-LSGXpsRMTTiE","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(159deg, #861d1f 0%, #472222 51%, #1c0d0f 98%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/holiday-deals","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-IlrgBxGTZgEU","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"daily","daily":{"tz":"America\/New_York","endHours":23,"endMinutes":59,"repeatDays":[0,1,2,3,4,5,6],"startHours":0,"startMinutes":0},"hours":3,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-byWklIhXcIfN","type":"text","align":"left","color":"#ff2e2e","value":"ð Top Holiday Gifts â Almost Sold Out ð","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-oloRhaujorpA","type":"text","align":"left","color":"#d6d2c9","value":"Use Express or Risk Missing the Holiday Window","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"button-oPpFcPVdaNbd","href":"https:\/\/aromaparadise.com\/pages\/holiday-deals","type":"button","label":"Get Mine","width":"content","border":{"size":"3px","color":"#2f8426","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"8px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"6px","left":"10px","right":"10px","bottom":"6px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#ff2e2e","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"16px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-XERVscBcEPEP","type":"timer","view":"custom","border":{"size":"3px","color":"#ff3b3c","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#d6d2c9","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{"left":"8px"},"desktop":{"top":"0px"}},"radius":{"value":"12px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{"left":"0px"},"desktop":{"top":"1px","bottom":"1px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#d6d2c9","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"158px"},{"id":"coupon-UlhSREEXdMXo","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(159deg, #861d1f 0%, #472222 51%, #1c0d0f 98%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/holiday-deals","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-kOaNKPJYkrPt","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"daily","daily":{"tz":"America\/New_York","endHours":23,"endMinutes":59,"repeatDays":[0,1,2,3,4,5,6],"startHours":0,"startMinutes":0},"hours":3,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-ZGCkbLyNXcCI","type":"text","align":"left","color":"#dbee10","value":"ð Top Holiday Gifts â Almost Sold Out ð","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-hlZTGeVQzJnA","type":"text","align":"left","color":"#fdee57","value":"Order Now or Risk Missing the Holiday Window","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"button-hqWKUuPjnxag","href":"https:\/\/aromaparadise.com\/pages\/holiday-deals","type":"button","label":"Get Mine","width":"content","border":{"size":"2px","color":"#dbef0d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"10px","right":"10px","bottom":"8px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#fdee57","enabled":false},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-qtxOMznbQwgx","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"0px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"159px"}
2812,{"id":"coupon-QZhgXVhLbVJO","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#191919","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/blackfriday-sale","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-afxhpJbHEpQT","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-LJQtfikxCMUT","type":"text","align":"left","color":"#dbee10","value":"biggest Cyber Monday Sale","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-TnTiJLWglvir","type":"text","align":"left","color":"#fdee57","value":"Upto 70% off + gifts up for grabs","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-SUoWBxYTiLfu","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"48px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"0px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"114px","desktopWidth":"159px"},{"id":"button-HnHEpZvEWmgC","href":"https:\/\/aromaparadise.com\/pages\/blackfri
2812day-sale","type":"button","label":"Get it now","width":"content","border":{"size":"2px","color":"#dbef0d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"10px","right":"10px","bottom":"8px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#fdee57","enabled":false},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-GjAnEoJuBFQW","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#191919","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/blackfriday-sale","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-VKnWjIzxajDr","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-gjMsauwIRYkH","type":"text","align":"left","color":"#dbee10","value":"Black Friday Deals Extended","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-mYLTRYWJPLpx","type":"text","align":"left","color":"#fdee57","value":"Upto 70% off - it does not get any better!","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-KvuELPbZULLy","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"49px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"6px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"147px","desktopWidth":"212px"},{"id":"button-ZZmsMVfdsrjO","href":"https:\/\/aromaparadise.com\/pages\/blackfri
2812day-sale","type":"button","label":"shop now","width":"content","border":{"size":"2px","color":"#dbef0d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"10px","right":"10px","bottom":"8px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#fdee57","enabled":false},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-hiNSxPDbUCqM","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#191919","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/blackfriday-sale","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-CidZHngWtcPc","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"none","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-ODAKujRBjozM","type":"text","align":"left","color":"#ffffff","value":"Free Shipping over $49.99","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"18px","desktopFontSize":"25px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-wDDGjzNLPhPU","type":"text","align":"left","color":"#c4954d","value":"ships from usa | 30-Day Money BAck","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-vAySXtWHdaEu","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"49px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"6px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"147px","desktopWidth":"212px"},{"id":"button-OjdZfcATVRqS","href":"https:\/\/aromaparadise.com\/pages\/hotel-fragrance","type":"button","label":"Claim offer","width":"content","border":{"size":"2px","color":"#c4954d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"10px","right":"10px","bottom":"8px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#fdee57","enabled":false},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-CplbydWvtSeO","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/tag-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#4b2e01","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/hotel-fragrance","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-lFtLETOgXqTM","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"none","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-imfkOKyDcgGh","type":"text","align":"left","color":"#ffffff","value":"TRY 3 Hotels for $29.99","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"18px","de
2812sktopFontSize":"25px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-PETCqzjxzSMm","type":"text","align":"left","color":"#c4954d","value":"FREE SHIPPING | 30-Day Money BAck","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-pOsprXIabIqJ","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"49px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"6px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"147px","desktopWidth":"212px"},{"id":"button-SfnPmkHGjBCL","href":"https:\/\/aromaparadise.com\/pages\/hotel-fragrance","type":"button","label":"Claim offer","width":"content","border":{"size":"2px","color":"#c4954d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"10px","right":"10px","bottom":"8px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#fdee57","enabled":false},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-SXGXuujuJlgG","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/tag-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#4b2e01","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/hotel-fragrance","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-lZCEccoBfIAc","type":"bar","timer":{"date":"2025-11-28T23:59:00.000-05:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-wQpivsTZVNKN","type":"text","align":"left","color":"#dbee10","value":"Black Friday Deals Extended","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"20px","desktopFontSize":"29px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-uCNLMsUlhubh","type":"text","align":"left","color":"#fdee57","value":"Upto 70% off - it does not get any better!","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-olRYjrKycEaG","type":"timer","view":"custom","border":{"size":"2px","color":"#dbef0d","enabled":true},"digits":{"gap":"8px","color":"#ffffff","fontSize":"49px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"H","enabled":true,"minutes":"M","seconds":"S","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{"top":"6px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"h:m:s","mobileWidth":"147px","desktopWidth":"212px"},{"id":"button-bZLiFjADYbbF","href":"https:\/\/aromaparadise.com\/pages\/blackfri
2812day-sale","type":"button","label":"shop now","width":"content","border":{"size":"2px","color":"#dbef0d","enabled":true},"margin":{"mobile":{"top":"0px","left":"5px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"10px","right":"10px","bottom":"8px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#fdee57","enabled":false},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"14px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-OsCHfpJdKmXQ","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"2px","color":"#dbef0d","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px 8px 8px 8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"12px","right":"12px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#191919","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/blackfriday-sale","target":"_blank","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-ZeblACGhlJaj","type":"bar","timer":{"date":"2025-10-15T00:00:00.000Z","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"none","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-oKcVgESUNaRZ","type":"text","align":"left","color":"#f6e09f","value":"Black Friday Rewards Are Live","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"17px","desktopFontSize":"28px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0.2px","de
2812sktopLetterSpacing":"1px"},{"id":"text-AiLRMLedZXBU","type":"text","align":"left","color":"#faf1d6","value":"Get Free Gifts Worth Up to $300","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"11px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-BjjoaSsyOzPc","type":"timer","view":"custom","border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"8px","color":"#dbee10","fontSize":"58px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"separate","margin":{"mobile":{},"desktop":{"top":"6px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":false,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"d:h:m:s","mobileWidth":"160px","desktopWidth":"320px"},{"id":"button-bmiTwLtZhWiC","href":"https:\/\/aromaparadise.com\/pages\/blackfriday-sale","type":"button","label":"Grab gifts","width":"content","border":{"size":"2px","color":"#faf1d6","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_blank","enabled":true,"padding":{"mobile":{"top":"5px","left":"10px","right":"10px","bottom":"5px"},"desktop":{"top":"2px","left":"15px","right":"15px","bottom":"2px"}},"textColor":"#faf1d6","background":{"blur":"0px","color":"#cb4c12","enabled":true},"fontFamily":"font1","fontWeight":"400","textTransform":"uppercase","mobileFontSize":"15px","desktopFontSize":"21px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-sUtSOgqjmSeq","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"4px","left":"12px","right":"12px","bottom":"4px"}},"mobileGap":"13px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(148deg, #2e160e 0%, #c87f55 49%, #30180e 100%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"https:\/\/aromaparadise.com\/pages\/blackfriday-sale","target":"_self","enabled":true}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#ee4f4f","enabled":false}},"key":"GSC-BAR-sAkBfKPFqXaq","type":"bar","timer":{"date":"2025-10-15T00:00:00.000Z","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":12,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-AAKGYltxHGOG","type":"text","align":"left","color":"#e9ff7c","value":"Time is ticking","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"16px","desktopFontSize":"22px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-PwiZJFQUdHyF","type":"text","align":"left","color":"#e9ff7c","value":" Free shipping at $49.99","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"400","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"15px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-nMPrUtyZPotd","type":"timer","view":"custom","border":{"size":"2px","color":"#fff3b6","enabled":false},"digits":{"gap":"0px","color":"#e9ff7c","fontSize":"71px","fontFamily":"font1","fontWeight":"700"},"labels":{"days":"days","color":"#e9ff7c","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"22px","fontFamily":"font2","fontWeight":"400","milliseconds":"ms","textTransform":"uppercase"},"layout":"stacked","margin":{"mobile":{},"desktop":{}},"radius":{"value":"60px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#e9ff7c","enabled":true},"background":{"blur":"2px","color":"#fff3b6","enabled":false},"unitFormat":"d:h:m:s","mobileWidth":"160px","desktopWidth":"198px"},{"id":"button-tAvjJvPMtriF","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#fff3b6","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"60px","enabled":false},"target":"_self","enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"14px","left":"20px","right":"20px","bottom":"14px"}},"textColor":"#fff3b6","background":{"blur":"0px","color":"#fd532d","enabled":false},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"14px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-xZXDcuiRbKfH","code":"PASTE YOUR CODE","icon":{"type":"discount","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#fff3b6","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"60px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"14px","left":"18px","right":"18px","bottom":"14px"}},"textColor":"#fff3b6","background":{"blur":"0px","color":"#fd532d","enabled":true},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"14px"}],"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"8px","right":"8px","bottom":"8px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"linear-gradient(45deg, #fcb045 0%, #fd1d1d 50%, #fcb045 100%)","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"font1":"Chakra Petch, sans-serif","font2":"Antonio, sans-serif","font3":"Raleway, sans-serif","preset":"bar8","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}},{"key":"GSC-LARGE-cUEFWzDGXDya","type":"banner","timer":{"date":"2025-10-15T00:00:00.000Z","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":72,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-cOHfnEOLppqk","type":"text","align":"left","color":"#000000","value":"Flash sale!","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"600","textTransform":"unset","mobileFontSize":"28px","desktopFontSize":"32px","mobileLineHeight":"1","desktopLineHeight":"1","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-BvnrufTtuaEf","type":"text","align":"left","color":"#000000","value":"Catch this exclusive deal before it ends soon","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"400","textTransform":"unset","mobileFontSize":"16px","desktopFontSize":"16px","mobileLineHeight":"1.5","desktopLineHeight":"1.5","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-sUfqpJgPwnmO","type":"timer","view":"custom","border":{"size":"2px","color":"#9e9e9e","enabled":false},"digits":{"gap":"0px","color":"#000000","fontSize":"45px","fontFamily":"font2","fontWeight":"600"},"labels":{"days":"days","color":"#000000","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"18px","fontFamily":"font3","fontWeight":"500","milliseconds":"ms","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{"top":"0px","bottom":"0px"},"desktop":{"top":"0px","bottom":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#000000","enabled":true},"background":{"blur":"0px","color":"#f8f8f8","enabled":false},"unitFormat":"d:h:m:s","mobileWidth":"100%","desktopWidth":"90%"},{"id":"button-GShHocpmtDUM","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"14px","left":"40px","right":"40px","bottom":"14px"},"desktop":{"top":"16px","left":"40px","right":"40px","bottom":"16px"}},"textColor":"#ffffff","background":{"blur":"0px","color":"#000000","enabled":true},"fontFamily":"font1","fontWeight":"500","textTransform":"unset","mobileFontSize":"14px","desktopFontSize":"14px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-SMgaCerkOfeb","code":"PASTE YOUR CODE","icon":{"type":"discount-star","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#bdbdbd","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"10px","enabled":true},"enabled":true,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"14px","left":"24px","right":"24px","bottom":"14px"}},"textColor":"#000000","background":{"blur":"0px","color":"#f2f2f2","enabled":true},"fontFamily":"font1","fontWeight":"600","textTransform":"unset","mobileFontSize":"12px","desktopFontSize":"14px"}],"border":{"size":"1px","color":"#ffffff","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"16px","enabled":true},"padding":{"mobile":{"top":"20px","left":"20px","right":"20px","bottom":"20px"},"desktop":{"top":"20px","left":"20px","right":"20px","bottom":"20px"}}
2812,"mobileGap":"12px","background":{"src":null,"blur":"0px","source":"color","bgColor":"#ffffff","enabled":false,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"14px","mobileWidth":"100%","desktopWidth":"460px","backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"font1":"inherit","font2":"inherit","font3":"inherit","preset":"large1","breakpoint":"768px"},"section":{"border":{"size":"1px","color":"#000000","enabled":false},"margin":{"mobile":{},"desktop":{}},"radius":{"value":"12px","enabled":true},"padding":{"mobile":{"top":"20px","left":"20px","right":"20px","bottom":"20px"},"desktop":{"top":"20px","left":"20px","right":"20px","bottom":"20px"}},"background":{"src":null,"blur":"0px","source":"color","bgColor":"#ffffff","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"mobileHeight":"150%","desktopHeight":"25%","contentMobilePosition":"center-center","contentDesktopPosition":"center-center"},"userCss":"","targeting":null},{"bar":{"sticky":false,"justify":"center","position":"top","closeButton":{"color":"#e2ff3f","enabled":false}},"key":"GSC-BAR-wykGdssMXCtY","type":"bar","timer":{"date":"2025-10-27T00:00:00.000-04:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":6,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"align":"center","items":[{"id":"text-nVnmZniVasbR","type":"text","align":"left","color":"#dbee10","value":"Pre-Thanksgiving sale","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font1","fontWeight":"700","textTransform":"uppercase","mobileFontSize":"22px","desktopFontSize":"34px","mobileLineHeight":"1.3","desktopLineHeight":"1.2","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"text-EIaCLJLpSXHl","type":"text","align":"left","color":"#fdee57","value":"Buy 3 -\u003e 1 Free | Buy 6 -\u003e 2 Free | just add to cart","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontFamily":"font2","fontWeight":"500","textTransform":"uppercase","mobileFontSize":"9px","desktopFontSize":"14px","mobileLineHeight":"1.3","desktopLineHeight":"1.3","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"timer-uUbnKMiSCKNH","type":"timer","view":"custom","border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"8px","color":"#dbee10","fontSize":"58px","fontFamily":"font1","fontWeight":"600"},"labels":{"days":"days","color":"#fdee57","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"21px","fontFamily":"font2","fontWeight":"500","milliseconds":"ms","textTransform":"uppercase"},"layout":"separate","margin":{"mobile":{},"desktop":{"top":"6px"}},"radius":{"value":"18px","enabled":true},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#dbee10","enabled":true},"background":{"blur":"2px","color":"#fc7329","enabled":false},"unitFormat":"d:h:m:s","mobileWidth":"160px","desktopWidth":"320px"},{"id":"button-pitLpAOcQMjW","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"12px","enabled":false},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"16px","left":"40px","right":"40px","bottom":"16px"}},"textColor":"#fc7429","background":{"blur":"0px","color":"#fdee57","enabled":true},"fontFamily":"font1","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"12px","mobileLetterSpacing":"0","desktopLetterSpacing":"0"},{"id":"coupon-wkfUlPNnJWwr","code":"PASTE YOUR CODE","icon":{"type":"tag","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"2px","color":"#000000","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"0px","enabled":false},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"textColor":"#000000","background":{"blur":"0px","color":"#dcee13","enabled":true},"fontFamily":"font2","fontWeight":"600","textTransform":"uppercase","mobileFontSize":"12px","desktopFontSize":"29px"}],"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"4px","left":"12px","right":"12px","bottom":"4px"}},"mobileGap":"6px","background":{"src":null,"blur":"8px","source":"color","bgColor":"#191919","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"desktopGap":"24px","mobileWidth":"100%","desktopWidth":"400px","backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"font1":"Anton, sans-serif","font2":"Oswald, sans-serif","font3":"inherit","preset":"black-friday-bar-1","breakpoint":"768px"},"section":null,"userCss":"","targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}}}] || []; 2813 2814 if (Array.isArray(window.GSC_COUNTDOWN_WIDGETS)) { 2815 // Embed and inline countdown blocks may load on the same page. Inline 2816 // pushes a single widget keyed by `key`; embed pushes the whole metafield 2817 // array. Dedup by `key` so the same widget isn't duplicated when both 2818 // blocks reference it. Widgets without a key push through (no dedup).
2819 widgets.forEach(function(w) { 2820 if (!w.key || !window.GSC_COUNTDOWN_WIDGETS.find(function(e) { return e.key === w.key; })) { 2821 window.GSC_COUNTDOWN_WIDGETS.push(w); 2822 } 2823 }); 2824 } else { 2825 window.GSC_COUNTDOWN_WIDGETS = widgets; 2826 } 2827 2828 // Stale-metafield guard via theme_store_id (TAE Liquid has `theme.id` 2829 // always null, so the check runs on JS). Mismatch = merchant switched 2830 // theme family after the last backend sync â fall back to runtime 2831 // defaults until re-sync writes a fresh metafield. 2832 2833 2834if (!window.GSC_COUNTDOWN_META) { 2835 window.GSC_COUNTDOWN_META = { 2836 product_tags: null, 2837 storefrontToken:null, 2838 productData:null}; 2839 }} catch (e) { 2840 console.log(e); 2841 } 2842 })(); 2843</script>
2843 2844 2845 2846<!-- END app block --><!-- BEGIN app block: shopify://apps/fontify/blocks/app-embed/334490e2-2153-4a2e-a452-e90bdeffa3cc --><link rel="preconnect" href="https://cdn.nitroapps.co" crossorigin=""><style class="fontify-locally" data-font-name="Prata"> 2847 @font-face { 2848 font-family: 'Prata'; 2849 font-style: normal; 2850 font-weight: 400; 2851 font-display: swap; 2852 src: url(https://cdn.nitroapps.co/fontify/f9f5e1-14.myshopify.com/fonts/prata/6xKhdSpbNNCT-vWI.ttf?v=1763338212) format('truetype'); 2853} 2854 2855 </style><style type="text/css" id="nitro-fontify">h1,h2,h3,h4,h5,h6,header { 2856 font-family: 'Prata' !important; 2857 2858 }</style>
2858<script 2859 type="text/javascript" 2860 id="fontify-scripts" 2861> 2862 2863 (function () { 2864 // Prevent duplicate execution 2865 if (window.fontifyScriptInitialized) { 2866 return; 2867 } 2868 window.fontifyScriptInitialized = true; 2869 2870 if (window.opener) { 2871 // Remove existing listener if any before adding new one 2872 if (window.fontifyMessageListener) { 2873 window.removeEventListener('message', window.fontifyMessageListener, false); 2874 } 2875 2876 function watchClosedWindow() { 2877 let itv = setInterval(function () { 2878 if (!window.opener || window.opener.closed) { 2879 clearInterval(itv); 2880 window.close(); 2881 } 2882 }, 1000); 2883 } 2884 2885 // Helper function to inject scripts and links from vite-tag content 2886 function injectScript(encodedContent) { 2887 2888 2889 // Decode HTML entities 2890 const tempTextarea = document.createElement('textarea'); 2891 tempTextarea.innerHTML = encodedContent; 2892 const viteContent = tempTextarea.value; 2893 2894 // Parse HTML content 2895 const tempDiv = document.createElement('div'); 2896 tempDiv.innerHTML = viteContent; 2897 2898 // Track duplicates within tempDiv only 2899 const scriptIds = new Set(); 2900 const scriptSrcs = new Set(); 2901 const linkKeys = new Set(); 2902 2903 // Helper to clone element attributes 2904 function cloneAttributes(source, target) { 2905 Array.from(source.attributes).forEach(function(attr) { 2906 if (attr.name === 'crossorigin') { 2907 target.crossOrigin = attr.value; 2908 } else { 2909 target.setAttribute(attr.name, attr.value); 2910 } 2911 }); 2912 if (source.textContent) { 2913 target.textContent = source.textContent; 2914 } 2915 } 2916 2917 // Inject scripts (filter duplicates within tempDiv) 2918 tempDiv.querySelectorAll('script').forEach(function(script) { 2919 const scriptId = script.getAttribute('id'); 2920 const scriptSrc = script.getAttribute('src'); 2921 2922 // Skip if duplicate in tempDiv 2923 if ((scriptId && scriptIds.has(scriptId)) || (scriptSrc && scriptSrcs.has(scriptSrc))) { 2924 return; 2925 } 2926 2927 // Track script 2928 if (scriptId) scriptIds.add(scriptId); 2929 if (scriptSrc) scriptSrcs.add(scriptSrc); 2930 2931 // Clone and inject 2932 const newScript = document.createElement('script'); 2933 cloneAttributes(script, newScript); 2934 2935 document.head.appendChild(newScript); 2936 }); 2937 2938 // Inject links (filter duplicates within tempDiv) 2939 tempDiv.querySelectorAll('link').forEach(function(link) { 2940 const linkHref = link.getAttribute('href'); 2941 const linkRel = link.getAttribute('rel') || ''; 2942 const key = linkHref + '|' + linkRel; 2943 2944 // Skip if duplicate in tempDiv 2945 if (linkHref && linkKeys.has(key)) { 2946 return; 2947 } 2948 2949 // Track link 2950 if (linkHref) linkKeys.add(key); 2951 2952 // Clone and inject 2953 const newLink = document.createElement('link'); 2954 cloneAttributes(link, newLink); 2955 document.head.appendChild(newLink); 2956 }); 2957 } 2958 2959 // Function to apply preview font data 2960 2961 2962 function receiveMessage(event) { 2963 watchClosedWindow(); 2964 if (event.data.action == 'fontify_ready') { 2965 console.log('fontify_ready'); 2966 injectScript(`<!-- BEGIN app snippet: vite-tag --> 2967 2968 2969 <script src="https://cdn.shopify.com/extensions/019cd5aa-62bf-7aba-b122-6cfde3a648ad/fontify-polaris-12/assets/main-B3V8Mu2P.js" type="module" crossorigin="anonymous"></script> 2970 2971<!-- END app snippet --> 2972 <!-- BEGIN app snippet: vite-tag --> 2973 2974 2975 <link href="//cdn.shopify.com/extensions/019cd5aa-62bf-7aba-b122-6cfde3a648ad/fontify-polaris-12/assets/main-GVRB1u2d.css" rel="stylesheet" type="text/css" media="all" /> 2976 2977<!-- END app snippet --> 2978`); 2979 2980 } else if (event.data.action == 'font_audit_ready') { 2981 injectScript(`<!-- BEGIN app snippet: vite-tag --> 2982 2983 2984 <script src="https://cdn.shopify.com/extensions/019cd5aa-62bf-7aba-b122-6cfde3a648ad/fontify-polaris-12/assets/audit-DDeWPAiq.js" type="module" crossorigin="anonymous"></script> 2985 2986<!-- END app snippet --> 2987 <!-- BEGIN app snippet: vite-tag --> 2988 2989 2990 <link href="//cdn.shopify.com/extensions/019cd5aa-62bf-7aba-b122-6cfde3a648ad/fontify-polaris-12/assets/audit-CNr6hPle.css" rel="stylesheet" type="text/css" media="all" /> 2991 2992<!-- END app snippet --> 2993`); 2994 2995 } else if (event.data.action == 'preview_font_data') { 2996 const fontData = event?.data || null; 2997 window.fontifyPreviewData = fontData; 2998 injectScript(`<!-- BEGIN app snippet: vite-tag --> 2999 3000 3001 <script src="https://cdn.shopify.com/extensions/019cd5aa-62bf-7aba-b122-6cfde3a648ad/fontify-polaris-12/assets/preview-CH6oXAfY.js" type="module" crossorigin="anonymous"></script> 3002 3003<!-- END app snippet --> 3004`); 3005 } 3006 } 3007 3008 // Store reference to listener for cleanup 3009 window.fontifyMessageListener = receiveMessage; 3010 window.addEventListener('message', receiveMessage, false); 3011 3012 // Send init message when window is opened from opener 3013 if (window.opener) { 3014 window.opener.postMessage({ action: `${window.name}_init`, data: JSON.parse(JSON.stringify({})) }, '*'); 3015 } 3016 } 3017 })(); 3018</script>
3018 3019 3020 3021<!-- END app block --><!-- BEGIN app block: shopify://apps/webrex-ai-seo-schema/blocks/webrexSeoEmbed/283875bf-bf86-4e78-831b-502ad0c4a5c2 --> 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044<!-- END app block --><!-- BEGIN app block: shopify://apps/inbox/blocks/chat/841fc607-4181-4ad1-842d-e24d7f8bad6b --><link rel='modulepreload' href='https://cdn.shopify.com/storefront/web-components/chat.js' crossorigin fetchpriority='low'> 3045
3046<script id='shopify-chat-app-embed-data' type='application/json'> 3047 { 3048 "settings": { 3049 "invertActivatorColors": false, 3050 "greetingMessage": "", 3051 "showFeaturedProducts": true, 3052 "featuredProducts": [], 3053 "horizontalPosition": "bottom_right", 3054 "icon": "chat_bubble", 3055 "buttonLabel": "" 3056 } 3057 } 3058</script>
3058 3059 3060<style data-shopify> 3061 3062 3063 /* Shadow DOM content does not prevent theme-wide :empty rules from matching the host. */ 3064 shopify-chat:defined:empty { 3065 display: grid; 3066 } 3067 3068 :root { 3069 --shopify-chat-bg-color: #ffffff; 3070 --shopify-chat-text-color: #000000; 3071 --shopify-chat-accent-bg-color: #000000; 3072 --shopify-chat-accent-text-color: #ffffff; 3073 --shopify-chat-activator-offset: 80px; 3074 3075 3076 3077 --shopify-chat-activator-font-size: 13px; 3078 --shopify-chat-border-radius: 16px; 3079 } 3080 3081 3082</style> 3083
3084<script src='https://cdn.shopify.com/storefront/web-components/chat.js' type='module' crossorigin fetchpriority='low' async></script>
3084 3085 3086 3087<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 3088 3089 3090 3091 3092 3093 3094 3095<link rel="dns-prefetch" href="https://cdn.judge.me"> 3096<link rel="dns-prefetch" href="https://cdn1.judge.me"> 3097<link rel="dns-prefetch" href="https://api.judge.me"> 3098
3099<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"fixed_amount","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"tiered","coupon_tier_text_enabled":true,"coupon_tier_text_percentage":5,"coupon_tier_text_fixed_amount":5.0,"coupon_tier_photo_enabled":true,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":10.0,"coupon_tier_video_enabled":true,"coupon_tier_video_percentage":15,"coupon_tier_video_fixed_amount":15.0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ average_rating }} ({{ n }} Reviews)","badge_star_color":"#72383D","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
3099ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"last_initial","widget_rating_filter_color":"#72383D","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#560000","verified_badge_text":"Verified","verified_badge_bg_color":"#72383D","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":3,"widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":true,"widget_theme":"leex","review_date_format":"mm/dd/yyyy","default_sort_method":"highest-rating","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"#FFFFFF","floating_tab_button_background_color":"#560000","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"custom","all_reviews_text_color":"#560000","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":true,"widget_pagination_use_custom_color":true,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":true,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"right","medals_widget_use_monochromatic_version":true,"medals_widget_elements_color":"#72383D","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
3099itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#560000","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":true,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"#72383D","widget_write_review_text_color":"","widget_write_review_bg_color":"#72383D","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#72383D","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#72383D","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":true,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#560000","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#560000","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
3099youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-07-23T04:09:10.000+00:00","review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
3099:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Aroma Paradise ","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":true,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
3099shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":false,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Aroma Paradise "};</script>
3099 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #560000;--jdgm-secondary-color: rgba(86,0,0,0.1);--jdgm-star-color: #560000;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #72383D;--jdgm-paginate-color: #72383D;--jdgm-border-radius: 10;--jdgm-reviewer-name-color: #72383D}.jdgm-histogram__bar-content{background-color:#72383D}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#72383D}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#72383D}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-fullname{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-revs-tab-btn,.jdgm-revs-tab-btn:not([disabled]):hover,.jdgm-revs-tab-btn:focus{background-color:#560000}.jdgm-revs-tab-btn,.jdgm-revs-tab-btn:not([disabled]):hover{color:#FFFFFF}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #72383D;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#72383D}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Aroma Paradise '}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )} 3100</style> <style class='jdgm-settings-style'></style> 3101 3102 3103 3104 3105 <style class='jdgm-miracle-styles'> 3106 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
3106/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important} 3107 3108</style> 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121
3121<script id="judgeme_widget_leex_js" data-cfasync="false" type="text/javascript" async src="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/shopify_v2_leex.js"></script>
3121 3122 3123 3124 3125 3126 3127 <link id="judgeme_widget_leex_css" rel="stylesheet" type="text/css" media="nope!" onload="this.media='all'" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/widget_v3_theme_leex.css"> 3128 3129 3130 3131
3132<script data-cfasync='false' class='jdgm-script'> 3133!function(e){window.jdgm=window.jdgm||{}; 3134/* INF-1976 */ 3135var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 3136if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 3137jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 3138jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 3139setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 3140!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 3141(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 3142a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 3143jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 3144t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 3145t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 3146".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 3147parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 3148jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 3149)}))}(document); 3150</script>
3150 3151<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/shopify_v2.css"></noscript> 3152 3153<!-- BEGIN app snippet: theme_fix_tags -->
3153<script> 3154 (function() { 3155 var jdgmThemeFixes = {"142309916853":{"html":"","css":".jdgm-btn.jdgm-btn--solid.jdgm-paginate__load-more{\ncolor: white !important;\n}\n.jdgm-revs-tab-btn {\n height: auto !important;\n padding: .5rem !important;\n}\n.jdgm-revs-tab-btn[position=\"right\"], .jdgm-revs-tab-btn[position=\"left\"] {\n border-radius: 0 0 .5rem .5rem !important;\n}\n.jdgm-revs-tab-btn[position=\"bottom\"] {\n border-radius: .5rem .5rem 0 0 !important;\n}\n","js":""},"185685606581":{"html":"","css":".jdgm-rev-snippet-widget__cards-container {\n\tmax-width: none !important;\n}","js":""},"188887269557":{"html":"","css":".jdgm-rev-snippet-widget__cards-container {\nmax-width: none !important;\n}","js":""}}; 3156 if (!jdgmThemeFixes) return; 3157 3158 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 3159 // before the per-theme fix so the theme-specific CSS wins the cascade. 3160 // HTML is never applied globally (too risky). 3161 var allThemesFix = jdgmThemeFixes['all']; 3162 if (allThemesFix && allThemesFix.css) { 3163 var allStyleTag = document.createElement('style'); 3164 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 3165 allStyleTag.innerHTML = allThemesFix.css; 3166 document.head.append(allStyleTag); 3167 }; 3168 3169 if (allThemesFix && allThemesFix.js) { 3170 var allScriptTag = document.createElement('script'); 3171 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 3172 allScriptTag.innerHTML = allThemesFix.js; 3173 document.head.append(allScriptTag); 3174 }; 3175 3176 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 3177 if (!thisThemeFix) return; 3178 3179 if (thisThemeFix.html) { 3180 document.addEventListener("DOMContentLoaded", function() { 3181 var htmlDiv = document.createElement('div'); 3182 htmlDiv.classList.add('jdgm-theme-fix-html'); 3183 htmlDiv.innerHTML = thisThemeFix.html; 3184 document.body.append(htmlDiv); 3185 }); 3186 }; 3187 3188 if (thisThemeFix.css) { 3189 var styleTag = document.createElement('style'); 3190 styleTag.classList.add('jdgm-theme-fix-style'); 3191 styleTag.innerHTML = thisThemeFix.css; 3192 document.head.append(styleTag); 3193 }; 3194 3195 if (thisThemeFix.js) { 3196 var scriptTag = document.createElement('script'); 3197 scriptTag.classList.add('jdgm-theme-fix-script'); 3198 scriptTag.innerHTML = thisThemeFix.js; 3199 document.head.append(scriptTag); 3200 }; 3201 })(); 3202</script>
3202 3203<!-- END app snippet --> 3204<!-- End of Judge.me Core --> 3205 3206 3207 3208<!-- END app block --><!-- BEGIN app block: shopify://apps/redo/blocks/redo_app_embed/c613644b-6df4-4d11-b336-43a5c06745a1 --><!-- BEGIN app snippet: env --> 3209
3210<script> 3211 if (typeof process === "undefined") { 3212 process = {}; 3213 } 3214 process.env ??= {}; 3215 process.env.AMPLITUDE_API_KEY = "b5eacb35b49c693d959231826b35f7ca"; 3216 process.env.REDO_API_URL = "https://shopify-cdn.getredo.com"; 3217 process.env.REDO_CHAT_WIDGET_URL = "https://chat-widget.getredo.com"; 3218 process.env.REDO_RETURN_APP_URL = "https://returns.getredo.com"; 3219 process.env.REDO_SHOPIFY_SERVER_URL = "https://shopify-server.getredo.com"; 3220 3221 if (typeof window.redoStorefront === "undefined") { 3222 window.redoStorefront = { 3223 type: "shopify" 3224 }; 3225 } 3226 window.redoStorefront.env ??= {}; 3227 window.redoStorefront.env.AMPLITUDE_API_KEY = "b5eacb35b49c693d959231826b35f7ca"; 3228 window.redoStorefront.env.REDO_API_URL = "https://shopify-cdn.getredo.com"; 3229 window.redoStorefront.env.REDO_CHAT_WIDGET_URL = "https://chat-widget.getredo.com"; 3230 window.redoStorefront.env.REDO_RETURN_APP_URL = "https://returns.getredo.com"; 3231 window.redoStorefront.env.REDO_SHOPIFY_SERVER_URL = "https://shopify-server.getredo.com"; 3232 3233 // Shopper's active language/country, from Shopify's Liquid localization 3234 // object. Read via getStorefrontLocale(); blanks mean unavailable. 3235 window.redoStorefront.locale = { 3236 language: "en", 3237 country: "US" 3238 }; 3239 3240 // Folder our bundle was served from. Webpack's "auto" publicPath guesses this by 3241 // grabbing the last
3241<script> on the page, which may pick a stranger's folder. 3242 window.redoStorefront.assetBase = 3243 "https://cdn.shopify.com/extensions/01a0f826-ba91-7674-85e0-557ca0fea2f7/redo-v2.30786/assets/main.js".split(/[?#]/)[0].replace(/\/[^/]+$/, "/"); 3244</script>
vendor: 1 bytes, line 3244
3244
3245<script> 3246try { 3247 if (typeof window.redoStorefrontStaging === "undefined") { 3248 window.redoStorefrontStaging = { 3249 type: "shopify", 3250 storeUrl: "f9f5e1-14.myshopify.com", 3251 shopify: { 3252 customDomain: "aromaparadise.com", 3253 permanentDomain: "f9f5e1-14.myshopify.com" 3254 } 3255 }; 3256 } 3257} catch {} 3258</script>
3258<!-- END app snippet -->
3259<script> 3260 (function() { 3261 const parts = navigator.userAgent.split(" ").map(part => btoa(part)).join("").replace(/=/g, "").toLowerCase(); 3262 if (!parts.includes("2hyb21lluxpz2h0ag91c2") && !parts.includes("w90bwzwcg93zxikdiwmjipk")) { 3263 const script = document.createElement("script"); 3264 script.async = true; 3265 script.src = "https://cdn.shopify.com/extensions/01a0f826-ba91-7674-85e0-557ca0fea2f7/redo-v2.30786/assets/main.js"; 3266 document.head.appendChild(script); 3267 } 3268 })(); 3269</script>
3269 3270 3271<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin /> 3272<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
3273<script> 3274/* >> TriplePixel :: start*/ 3275window.TriplePixelData={TripleName:"f9f5e1-14.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{ }},search:"",collection:"",cart:"drawer",template:"index",curr:"USD" || "USD", market:"29247111349"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage); 3276/* << TriplePixel :: end*/ 3277</script>
3277 3278 3279 3280 3281<!-- END app block -->
3281<script src="https://cdn.shopify.com/extensions/01a0c927-94a4-7e55-aa1f-28cabdfac692/getsitecontrol-countdown-timer-80/assets/gsc-countdown-widget.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 3281
3281
3282<script src="https://cdn.shopify.com/extensions/019feb7b-2b89-71ba-a248-f1c8ef9b3368/stape-remix-56/assets/widget.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 3282
3282
3283<script src="https://cdn.shopify.com/extensions/01a0f700-4a63-7f44-8412-18855df83fdb/joy-subscription-314/assets/avada-subscription.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 3283
3283
3284<script src="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/loader.js" type="text/javascript" defer="defer"></script>
3284 3285<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
3286<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 65846444213,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 3286
3286
3287<script> 3288 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 3289</script>
vendor: 1 bytes, line 3289
3289
3290<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
3290).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 65846444213,storefrontBaseUrl: "https://aromaparadise.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://aromaparadise.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"3805708469","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-BWV3G4G3PQ\\\",\\\"GT-MRM7DWQT\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"AW-16865186488\\\/BXewCIfds50aELil-ek-\\\",\\\"AW-16865186488\\\/YlXBCOLntbIaELil-ek-\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"AW-16865186488\\\/2ao0CIHds50aELil-ek-\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"AW-16865186488\\\/UVFmCP7cs50aELil-ek-\\\",\\\"MC-R3LR7R7X0F\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"AW-16865186488\\\/X0w2CPjcs50aELil-ek-\\\",\\\"MC-R3LR7R7X0F\\\",\\\"AW-16865186488\\\/WJXFCPeWnbQaELil-ek-\\\",\\\"AW-16865186488\\\/ONggCOvntbIaELil-ek-\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"AW-16865186488\\\/e534CPvcs50aELil-ek-\\\",\\\"MC-R3LR7R7X0F\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"AW-16865186488\\\/QP-ICIrds50aELil-ek-\\\",\\\"AW-16865186488\\\/RwFRCOjntbIaELil-ek-\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"AW-16865186488\\\/Q2xpCITds50aELil-ek-\\\",\\\"AW-16865186488\\\/i2wZCN_ntbIaELil-ek-\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"3802300597","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9bce1c0cdfc09538057898e4ff134fa2","type":"APP","apiClientId":30400643073,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
3290,"dataSharingState":"unrestricted"},{"id":"3728572597","configuration":"{\"storeId\":\"6c324e8d-a6fe-404e-9b17-1e0c076d4806\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"2066bff610c5c92c0538059190a8d779","type":"APP","apiClientId":274629623809,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"3602153653","configuration":"{\"pixelCode\":\"CVB0A93C77U0DVAMKNL0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized"},{"id":"3391455413","configuration":"{\"tagID\":\"2612791842636\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"3390406837","configuration":"{\"shopId\":\"65846444213\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"83adcaf06c5deacff41ffdf8f92d9129","type":"APP","apiClientId":246667608065,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"3277947061","configuration":"{\"account_ID\":\"1065107\",\"google_analytics_tracking_tag\":\"1\",\"measurement_id\":\"2\",\"api_secret\":\"3\",\"shop_settings\":\"{\\\"custom_pixel_script\\\":\\\"https:\\\\\\\/\\\\\\\/storage.googleapis.com\\\\\\\/gsf-scripts\\\\\\\/custom-pixels\\\\\\\/f9f5e1-14.js\\\",\\\"allow_tracking\\\":true,\\\"enable_post_purchase\\\":false,\\\"ga4_enabled\\\":\\\"0\\\",\\\"ga4_measurement_id\\\":\\\"\\\",\\\"ga4_tag_id\\\":\\\"\\\",\\\"ga4_submit_subtotal\\\":1,\\\"google_ads_enabled\\\":\\\"0\\\",\\\"ga_conversion_id\\\":\\\"AW-16865186488\\\",\\\"ga_purchase_label\\\":\\\"X0w2CPjcs50aELil-ek-\\\",\\\"ga_add_to_cart_label\\\":\\\"Q2xpCITds50aELil-ek-\\\",\\\"ga_begin_checkout_label\\\":\\\"BXewCIfds50aELil-ek-\\\",\\\"ga_tag_id\\\":\\\"G-BWV3G4G3PQ\\\",\\\"ga_submit_subtotal\\\":\\\"0\\\",\\\"drm_enabled\\\":\\\"0\\\",\\\"prefixD\\\":\\\"US\\\",\\\"google_merchant_id\\\":\\\"5542233543\\\",\\\"target_country\\\":\\\"US\\\",\\\"content_language\\\":\\\"en\\\",\\\"enhace_conversion_browser_side\\\":false,\\\"enhace_conversion_server_side\\\":\\\"1\\\",\\\"consent_mode\\\":\\\"-1\\\",\\\"ads_data_redaction\\\":\\\"-1\\\",\\\"url_passthrough\\\":\\\"1\\\",\\\"sku_as_product_id\\\":\\\"0\\\",\\\"gtm_enabled\\\":0,\\\"gtm_container\\\":\\\"\\\",\\\"server_container_url\\\":\\\"\\\",\\\"shopify_store\\\":\\\"5bab4c5674a4d4333dbb3a043447be4906e5ce38b9fcc41a8e6788a1557731c57e16a5d5d863d09dde738210f76c8fdcc1efb181e939b99f4acbf7cfef5242e0\\\"}\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"dbf16afd37d7bda963909dd4e886232e","type":"APP","apiClientId":1558137,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"3260874933","configuration":"{\"accountID\":\"65846444213\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9cf281f576a3744d05c8685f9f7f3f72","type":"APP","apiClientId":10250649601,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
3290,"dataSharingState":"unrestricted"},{"id":"3008069813","configuration":"{\"widgetId\":\"cz3csgr2kap91dx\",\"baseRequestUrl\":\"https:\\\/\\\/shopify-server.getredo.com\\\/widgets\",\"splitEnabled\":\"false\",\"customerAccountsEnabled\":\"false\",\"conciergeSplitEnabled\":\"false\",\"marketingEnabled\":\"true\",\"expandedWarrantyEnabled\":\"false\",\"storefrontSalesAIEnabled\":\"false\",\"conversionEnabled\":\"false\",\"contextualEnabled\":\"false\",\"failedDiscountRescueEnabled\":\"true\",\"galePaymentInfoEnabled\":\"false\",\"coverageProductIds\":\"[\\\"10504188002485\\\",\\\"10252076155061\\\"]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9b8b9baae668c34654484d7b7cf88765","type":"APP","apiClientId":3426665,"privacyPurposes":["ANALYTICS","MARKETING"],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"856948917","configuration":"{\"shopId\":\"f9f5e1-14.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"795639989","configuration":"{\"url\":\"https:\/\/events.realtimestack.com\",\"shop\":\"f9f5e1-14.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dbfdb96740f735f157780aa894ac9113","type":"APP","apiClientId":4759791,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"743473333","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"120160437","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Instant"},{"id":"147685557","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Data layer-state"},{"id":"148013237","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"20","type":"CUSTOM","privacyPurposes":[],"name":"Click_id Pixel"},{"id":"154599605","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"18","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"name":"Aroma Paradise Analytics "},{"id":"154697909","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Minty Tag"},{"id":"169836725","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Affily Tracking Pixel"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Aroma Paradise ","paymentSettings":{"currencyCode":"USD"}
3290,"myshopifyDomain":"f9f5e1-14.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/aromaparadise.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"10605972717749","handle":"tower-ultra-rechargeable-waterless-scent-diffuser","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53330803392693","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8157783589045","handle":"velvet-mirage-inspired-by-w-hotel-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298017145013","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8157784473781","handle":"golden-opulence-inspired-by-ritz-carlton-hotel-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298017636533","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8157785489589","handle":"my-way-inspired-by-1-hotel-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298018128053","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10570060366005","handle":"ocean-breeze-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53090427338933","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10553092014261","handle":"cinnamon-haven-inspired-by-sweet-cinnamon-pumpkin-fall-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52964257267893","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8157762715829","handle":"baccarat-gold-inspired-by-baccarat-r-540-perfume-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52021661565109","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10219844632757","handle":"golden-sage-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298021241013","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10173486170293","handle":"untamed-spirit-inspired-by-sauvage-by-dior-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298019209397","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10219853086901","handle":"cedar-rain-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298022224053","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8157766156469","handle":"mahogany-coconut-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298013147317","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8157766680757","handle":"japanese-cherry-blossom-waterless-fragrance-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52298013376693","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7981015728309","handle":"satya-nag-champa-incense-sticks","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51724446793909","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
3290,{"id":"10572988448949","handle":"priority-plus-fulfillment","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53104761798837","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://aromaparadise.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"193744830645","themeStoreId":"887","themePublished":"true","eventMetadataId":"45c2e2c6-d749-4e9f-ab6d-c0c0be6fba15","pageType":"home","shopId":"65846444213","storefrontBaseUrl":"https:\/\/aromaparadise.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
3290<script> 3291 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 3292 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 3293 window.ShopifyAnalytics.meta.currency = 'USD'; 3294 var meta = {"page":{"pageType":"home","requestId":"84f2155a-5e66-4524-82c9-3453f414e814-1791413056"}}; 3295 for (var attr in meta) { 3296 window.ShopifyAnalytics.meta[attr] = meta[attr]; 3297 } 3298</script>
vendor: 1 bytes, line 3298
3298
3299<script class="analytics"> 3300 (function () { 3301 var customDocumentWrite = function(content) { 3302 var jquery = null; 3303 3304 if (window.jQuery) { 3305 jquery = window.jQuery; 3306 } else if (window.Checkout && window.Checkout.$) { 3307 jquery = window.Checkout.$; 3308 } 3309 3310 if (jquery) { 3311 jquery('body').append(content); 3312 } 3313 }; 3314 3315 var hasLoggedConversion = function(token) { 3316 if (token) { 3317 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 3318 } 3319 return false; 3320 } 3321 3322 var setCookieIfConversion = function(token) { 3323 if (token) { 3324 var twoMonthsFromNow = new Date(Date.now()); 3325 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 3326 3327 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 3328 } 3329 } 3330 3331 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 3332 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 3333 if (trekkie.integrations) { 3334 return; 3335 } 3336 trekkie.methods = [ 3337 'identify', 3338 'page', 3339 'ready', 3340 'track', 3341 'trackForm', 3342 'trackLink' 3343 ]; 3344 trekkie.factory = function(method) { 3345 return function() { 3346 var args = Array.prototype.slice.call(arguments); 3347 args.unshift(method); 3348 trekkie.push(args); 3349 if (method == 'track' || method == 'page') { 3350 var pageUrl; 3351 try { 3352 pageUrl = window.location.href; 3353 } catch (e) {} 3354 var pageReferrer; 3355 try { 3356 pageReferrer = document.referrer; 3357 } catch (e) {} 3358 try { 3359 if (window.__TREKKIE_SHIM_QUEUE == null) { 3360 window.__TREKKIE_SHIM_QUEUE = []; 3361 } 3362 window.__TREKKIE_SHIM_QUEUE.push({ 3363 from: 'trekkie-stub', 3364 method: method, 3365 args: args.slice(1), 3366 pageContext: { 3367 url: pageUrl, 3368 referrer: pageReferrer 3369 } 3370 }); 3371 } catch (e) { 3372 // no-op 3373 } 3374 } 3375 return trekkie; 3376 }; 3377 }; 3378 for (var i = 0; i < trekkie.methods.length; i++) { 3379 var key = trekkie.methods[i]; 3380 trekkie[key] = trekkie.factory(key); 3381 } 3382 trekkie.load = function(config) { 3383 trekkie.config = config || {}; 3384 trekkie.config.initialDocumentCookie = document.cookie; 3385 var first = document.getElementsByTagName('script')[0]; 3386var script = document.createElement('script'); 3387script.type = 'text/javascript'; 3388script.onerror = function(e) { 3389 var scriptFallback = document.createElement('script'); 3390 scriptFallback.type = 'text/javascript'; 3391 scriptFallback.onerror = function(error) { 3392 var Monorail = { 3393 produce: function produce(monorailDomain, schemaId, payload) { 3394 var currentMs = new Date().getTime(); 3395 var event = { 3396 schema_id: schemaId, 3397 payload: payload, 3398 metadata: { 3399 event_created_at_ms: currentMs, 3400 event_sent_at_ms: currentMs 3401 } 3402 }; 3403 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 3404 }, 3405 sendRequest: function sendRequest(endpointUrl, payload) { 3406 // Try the sendBeacon API 3407 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 3408 var blobData = new window.Blob([payload], { 3409 type: 'text/plain' 3410 }); 3411 3412 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 3413 return true; 3414 } // sendBeacon was not successful 3415 3416 } // XHR beacon 3417 3418 var xhr = new XMLHttpRequest(); 3419 3420 try { 3421 xhr.open('POST', endpointUrl); 3422 xhr.setRequestHeader('Content-Type', 'text/plain'); 3423 xhr.send(payload); 3424 } catch (e) { 3425 console.log(e); 3426 } 3427 3428 return false; 3429 }, 3430 isIos12: function isIos12() { 3431 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 3432 } 3433 }; 3434 Monorail.produce('monorail-edge.shopifysvc.com', 3435 'trekkie_storefront_load_errors/1.1', 3436 {shop_id: 65846444213, 3437 theme_id: 193744830645, 3438 app_name: "storefront", 3439 context_url: window.location.href, 3440 source_url: "//aromaparadise.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 3441 3442 }; 3443 scriptFallback.async = true; 3444 scriptFallback.src = '//aromaparadise.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 3445 first.parentNode.insertBefore(scriptFallback, first); 3446}; 3447script.async = true; 3448script.src = '//aromaparadise.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 3449first.parentNode.insertBefore(script, first); 3450 3451 }; 3452 trekkie.load( 3453 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":65846444213,"isMerchantRequest":null,"themeId":193744830645,"themeCityHash":"11855234503526266332","contentLanguage":"en","currency":"USD","eventMetadataId":"45c2e2c6-d749-4e9f-ab6d-c0c0be6fba15"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 3454 ); 3455 3456 var loaded = false;
3457 trekkie.ready(function() { 3458 if (loaded) return; 3459 loaded = true; 3460 3461 window.ShopifyAnalytics.lib = window.trekkie; 3462 3463 var originalDocumentWrite = document.write; 3464 document.write = customDocumentWrite; 3465 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 3466 document.write = originalDocumentWrite; 3467 3468 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 3469 var token = match? match[1]: undefined; 3470 if (!hasLoggedConversion(token)) { 3471 setCookieIfConversion(token); 3472 3473 } 3474 }); 3475 3476 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"84f2155a-5e66-4524-82c9-3453f414e814-1791413056","shopifyEmitted":true}); 3477 3478 var eventsListenerScript = document.createElement('script'); 3479 eventsListenerScript.async = true; 3480 eventsListenerScript.src = "//aromaparadise.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 3481 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 3482})();</script>
vendor: 1 bytes, line 3482
3482
3483<script 3484 defer 3485 src="https://aromaparadise.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 3486 data-application="storefront-renderer" 3487 data-shop-id="65846444213" 3488 data-render-region="gcp-us-central1" 3489 data-page-type="index" 3490 data-theme-instance-id="193744830645" 3491 data-theme-name="Dawn" 3492 data-theme-version="15.4.1" 3493 data-monorail-region="shop_domain" 3494 data-resource-timing-sampling-rate="10" 3495 data-shs="true" 3496 data-shs-beacon="true" 3497 data-shs-export-with-fetch="true" 3498 data-shs-logs-sample-rate="1" 3499 data-shs-beacon-endpoint="https://aromaparadise.com/api/collect" 3500></script>
vendor: 1 bytes, line 3500
3500
3501<script id="shopify-chat-page-data" type="application/json">{"greetingMessage":"Welcome to Aroma Paradise. How can I help?","customerServiceEmail":"[email protected]","onlineStorePasswordProtected":false,"continueAsChip":true,"exportCommand":false,"shopName":"Aroma Paradise","translations":[{"key":"agent_chat.panel.open_chat","value":"Open chat"},{"key":"agent_chat.panel.ask_anything","value":"Ask anything"},{"key":"agent_chat.panel.title","value":"Storekick"},{"key":"agent_chat.panel.unread_replies","value":"Unread replies"},{"key":"agent_chat.panel.back_to_chat","value":"Back to chat"},{"key":"agent_chat.panel.see_history","value":"See chat history"},{"key":"agent_chat.panel.new_chat","value":"Create a new chat"},{"key":"agent_chat.panel.close","value":"Close chat"},{"key":"agent_chat.panel.undock","value":"Undock chat"},{"key":"agent_chat.panel.dock","value":"Dock chat"},{"key":"agent_chat.panel.expand","value":"Expand chat"},{"key":"agent_chat.panel.contract","value":"Contract chat"},{"key":"agent_chat.panel.jump_to_latest","value":"Jump to latest"},{"key":"agent_chat.panel.loading_chat","value":"Loading chat"},{"key":"agent_chat.input.label","value":"Type your message"},{"key":"agent_chat.input.placeholder","value":"Ask anything..."},{"key":"agent_chat.input.send","value":"Send"},{"key":"agent_chat.input.stop","value":"Stop generating"},{"key":"agent_chat.thinking","value":"Thinking..."},{"key":"agent_chat.first_response_delayed","value":"Agent is taking longer to respondâ¦"},{"key":"agent_chat.searching","value":"Searching..."},{"key":"agent_chat.message.sent_timestamp","value":"Sent · {{time}}"},{"key":"agent_chat.message.automated_label","value":"Automated"},{"key":"agent_chat.message.automated_timestamp","value":"Automated · {{time}}"},{"key":"agent_chat.liveAgentHandoff","value":"Someone from our team will be with you shortly"},{"key":"agent_chat.human_handoff.action","value":"Chat with our team"},{"key":"agent_chat.human_handoff.request","value":"Iâd like to talk to someone from your team"},{"key":"agent_chat.human_handoff.ai_assistant","value":"AI assistant"},{"key":"agent_chat.greeting.default","value":"Hi there!"},{"key":"agent_chat.greeting.with_name","value":"Hi {{name}}!"},{"key":"agent_chat.greeting.welcome","value":"You can ask questions about shopping, sizing\/dimensions, shipping, returns, or order status."},{"key":"agent_chat.greeting.welcome_back","value":"Welcome back to %{shop_name}! How can I help?"},{"key":"agent_chat.greeting.welcome_back_no_shop","value":"Welcome back! How can I help?"},{"key":"agent_chat.greeting.welcome_to_shop","value":"Welcome to %{shop_name}. How can I help?"},{"key":"agent_chat.greeting.generic","value":"How can I help?"},{"key":"agent_chat.disclaimer.text","value":"This chat is powered by AI from Shopify and may make mistakes. Your messages are visible to {{shop_name}}. See"},{"key":"agent_chat.disclaimer.text_human","value":"Your messages are visible to {{shop_name}} and to Shopify for the provision and improvement of the services. See"},{"key":"agent_chat.disclaimer.link_text","value":"privacy policy"},{"key":"agent_chat.error.response_unavailable","value":"Response unavailable"},{"key":"agent_chat.error.generic","value":"Something went wrong."},{"key":"agent_chat.error.response_failed","value":"Couldnât load this message"},{"key":"agent_chat.error.message_send_failed","value":"Your message couldnât be sent"},{"key":"agent_chat.error.attachment_upload_failed","value":"Your attachment didnât upload"},{"key":"agent_chat.error.first_response_stalled","value":"Agent couldnât respond"},{"key":"agent_chat.error.try_again","value":"Try again"},{"key":"agent_chat.error.unavailable","value":"Chat isn't available right now - try again later"},{"key":"agent_chat.error.usage_limit","value":"Message limit reached â try again later or email us at {{email}}"},{"key":"agent_chat.error.usage_limit_no_email","value":"Message limit reached â try again later"},{"key":"agent_chat.error.cost_quota_unhandled","value":"Chat isnât available right nowâemail us at {{email}}"},{"key":"agent_chat.error.cost_quota_unhandled_no_email","value":"Chat isnât available right now"},{"key":"agent_chat.error.cost_quota_handover","value":"AI assistant isnât available right now â our team will reply shortly"},{"key":"agent_chat.unavailable.title","value":"Chat isnât available right now"},{"key":"agent_chat.unavailable.description","value":"Something went wrong while loading the chat."},{"key":"agent_chat.history.heading","value":"Chat history"},{"key":"agent_chat.history.loading","value":"Loading conversation history"},{"key":"agent_chat.history.aria_label","value":"Conversation history"},{"key":"agent_chat.history.no_conversations","value":"No conversations"},{"key":"agent_chat.history.conversation.one","value":"conversation"},{"key":"agent_chat.history.conversation.other","value":"conversations"},{"key":"agent_chat.history.error_message","value":"Something went wrong."},{"key":"agent_chat.history.try_again","value":"Try again"},{"key":"agent_chat.history.no_past","value":"No past conversations"},{"key":"agent_chat.history.start_new","value":"Start a new chat"},{"key":"agent_chat.history.untitled","value":"Untitled conversation"},{"key":"agent_chat.history.resume","value":"Resume: {{title}}"},{"key":"agent_chat.history.resume_with_time","value":"Resume: {{title}}, {{time}}"},{"key":"agent_chat.history.delete","value":"Delete conversation: {{title}}"},{"key":"agent_chat.history.delete_failed","value":"Could not delete conversation"},{"key":"agent_chat.feedback.group_label","value":"Message feedback"},{"key":"agent_chat.feedback.thumbs_up","value":"Thumbs up"},{"key":"agent_chat.feedback.thumbs_down","value":"Thumbs down"},{"key":"agent_chat.feedback.add_comment","value":"Add comment"},{"key":"agent_chat.feedback.thanks","value":"Thanks for your feedback"},{"key":"agent_chat.feedback.placeholder_up","value":"Tell us what went well"},{"key":"agent_chat.feedback.placeholder_down","value":"Tell us what could have been better"},{"key":"agent_chat.feedback.comment_label","value":"Feedback comment"},{"key":"agent_chat.feedback.cancel","value":"Cancel"},{"key":"agent_chat.feedback.submit","value":"Submit"},{"key":"agent_chat.feedback.character_count","value":"{{current}}\/{{max}}"},{"key":"agent_chat.feedback.character_limit_reached","value":"Maximum length reached. Feedback is limited to {{max}} characters."},{"key":"agent_chat.buyer_profile.button.open","value":"Buyer Profile"},{"key":"agent_chat.buyer_profile.title","value":"Buyer Profile"},{"key":"agent_chat.buyer_profile.empty","value":"No buyer profile available."},{"key":"agent_chat.buyer_profile.close","value":"Close"},{"key":"agent_chat.suggestions.empty_state_label","value":"Suggested questions"},{"key":"agent_chat.suggestions.quick_reply_label","value":"Suggested replies"},{"key":"agent_chat.auth.sign_in_to_continue","value":"Sign in to continue"},{"key":"agent_chat.auth.sign_in","value":"Sign in"},{"key":"agent_chat.auth.skip_and_chat","value":"Skip and start chatting"},{"key":"agent_chat.auth.pre_chat_title","value":"Sign in to personalize and save your chats"},{"key":"agent_chat.auth.pre_chat_subtitle","value":"Sign in or create an account"},{"key":"agent_chat.auth.staff_chat_required_title","value":"Don't miss a reply"},{"key":"agent_chat.auth.staff_chat_required_subtitle","value":"Sign in to chat with our team. We'll email you if you leave the chat."},{"key":"agent_chat.auth.share_disclaimer","value":"By continuing, Shop will share your name and email with this store. See their {{terms_link}} and {{privacy_link}}"},{"key":"agent_chat.auth.terms_link","value":"terms"},{"key":"agent_chat.auth.privacy_link","value":"privacy policy"},{"key":"agent_chat.auth.declined_pre_chat","value":"I canât connect you with the store unless you sign in."},{"key":"agent_chat.reply_by_email.continuation_prompt","value":"If you leave the chat, weâll email you when thereâs a reply."},{"key":"agent_chat.reply_by_email.sign_in_prompt","value":"Sign in to get emailed when thereâs a reply."},{"key":"agent_chat.order_lookup.track_order","value":"Track my order"},{"key":"agent_chat.order_lookup.track_another_order","value":"Track another order"},{"key":"agent_chat.order_lookup.new_conversation","value":"New conversation"},{"key":"agent_chat.order_lookup.follow_up_label","value":"Order lookup actions"},{"key":"agent_chat.order_lookup.enter_order_information","value":"Enter order information"},{"key":"agent_chat.order_lookup.prompt","value":"To see your order status, please provide your order details."},{"key":"agent_chat.order_lookup.form_title","value":"Track my order"},{"key":"agent_chat.order_lookup.form_subtitle","value":"Please provide your information."},{"key":"agent_chat.order_lookup.order_number_label","value":"Order number"},{"key":"agent_chat.order_lookup.email_label","value":"Email address"},{"key":"agent_chat.order_lookup.submit","value":"Track my order"},{"key":"agent_chat.order_lookup.cancel","value":"Cancel"},{"key":"agent_chat.order_lookup.invalid_order_number","value":"Please enter a valid order number with only numbers and letters, no spaces (e.g. 1006)."},{"key":"agent_chat.order_lookup.invalid_order_number_whitespace","value":"Please enter a valid order number with only numbers and letters, no spaces (e.g. 1006)."},{"key":"agent_chat.order_lookup.invalid_email","value":"Please enter a valid email address"},{"key":"agent_chat.order_lookup.generic_error","value":"There was a problem looking up your order. Please try again."},{"key":"agent_chat.order_lookup.rate_limited_error","value":"Too many attempts. Try again later."},{"key":"agent_chat.order_lookup.locked_composer_status","value":"Order lookup is in progress. Start a new conversation to ask something else."},{"key":"agent_chat.legacy_contact.form_title","value":"Before we get started"},{"key":"agent_chat.legacy_contact.form_subtitle","value":"Please provide your information so we can reply to you if you leave the chat."},{"key":"agent_chat.legacy_contact.first_name_label","value":"First name"},{"key":"agent_chat.legacy_contact.last_name_label","value":"Last name"},{"key":"agent_chat.legacy_contact.email_label","value":"Email"},{"key":"agent_chat.legacy_contact.marketing_opt_in","value":"Email me with news and offers"},{"key":"agent_chat.legacy_contact.submit","value":"Start chat"},{"key":"agent_chat.legacy_contact.cancel","value":"Cancel"}
3501,{"key":"agent_chat.legacy_contact.invalid_first_name","value":"Enter a valid first name."},{"key":"agent_chat.legacy_contact.invalid_last_name","value":"Enter a valid last name."},{"key":"agent_chat.legacy_contact.invalid_email","value":"Enter a valid email address."},{"key":"agent_chat.legacy_contact.invalid_email_length","value":"Email address is too long."},{"key":"agent_chat.legacy_contact.generic_error","value":"Something went wrong."},{"key":"agent_chat.legacy_contact.rate_limited_error","value":"Too many attempts. Try again later."},{"key":"agent_chat.discountCard.useDiscount","value":"Use discount"},{"key":"agent_chat.discountCard.discountApplicationContext","value":"Applies automatically at checkout"},{"key":"agent_chat.cart.checkout","value":"Checkout"},{"key":"agent_chat.product.add_to_cart","value":"Add to cart"},{"key":"agent_chat.product.view_details","value":"View details"},{"key":"agent_chat.product.out_of_stock","value":"Out of stock"},{"key":"agent_chat.product.compare_suggestions","value":"Compare suggestions"},{"key":"agent_chat.product.hide_suggestions","value":"Hide suggestions"},{"key":"agent_chat.product.sold_out","value":"Sold out"},{"key":"agent_chat.order.item.one","value":"item"},{"key":"agent_chat.order.item.other","value":"items"},{"key":"agent_chat.order.less_items.one","value":"- hide {{count}} item"},{"key":"agent_chat.order.less_items.other","value":"- hide {{count}} items"},{"key":"agent_chat.order.more_items.one","value":"+ {{count}} more item"},{"key":"agent_chat.order.more_items.other","value":"+ {{count}} more items"},{"key":"agent_chat.order.view_order","value":"View order {{orderId}}"},{"key":"agent_chat.order.track_shipment","value":"Track shipment"},{"key":"agent_chat.order.of_total","value":"{{index}} of {{total}}"},{"key":"agent_chat.order.label","value":"Order {{number}}"},{"key":"agent_chat.order.count.one","value":"{{count}} Order"},{"key":"agent_chat.order.count.other","value":"{{count}} Orders"},{"key":"agent_chat.order.ordered_on","value":"Ordered {{date}}"},{"key":"agent_chat.order.select","value":"Select order {{number}}"},{"key":"agent_chat.return.heading","value":"Select items to return"},{"key":"agent_chat.return.toggle_item","value":"Select {{name}}"},{"key":"agent_chat.return.select_item_non_returnable","value":"{{name}}, not returnable"},{"key":"agent_chat.return.quantity_label","value":"Return quantity"},{"key":"agent_chat.return.reason_label","value":"Reason for return"},{"key":"agent_chat.return.reason_placeholder","value":"Select a reason"},{"key":"agent_chat.return.confirm","value":"Request return"},{"key":"agent_chat.return.confirmed","value":"Return requested"},{"key":"agent_chat.return.reason.size_too_small","value":"Size too small"},{"key":"agent_chat.return.reason.size_too_large","value":"Size too large"},{"key":"agent_chat.return.reason.unwanted","value":"Unwanted"},{"key":"agent_chat.return.reason.not_as_described","value":"Not as described"},{"key":"agent_chat.return.reason.wrong_item","value":"Wrong item"},{"key":"agent_chat.return.reason.defective","value":"Defective"},{"key":"agent_chat.return.reason.style","value":"Style"},{"key":"agent_chat.return.reason.color","value":"Color"},{"key":"agent_chat.return.reason.other_reason","value":"Other"},{"key":"agent_chat.scroll.previous","value":"Previous"},{"key":"agent_chat.scroll.next","value":"Next"}]}</script>
vendor: 1 bytes, line 3501
3501
3502<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"65846444213","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.loading","value":"Loading"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
3502 3503<meta name="shopify-y" content="7aedd0ad-e446-4cc5-9051-956896a02c31" data-expiration="1822970656000"><meta name="shopify-s" content="418545a5-e271-4b04-b2b5-56264af8e860" data-expiration="1791414856000"><meta name="new-cookie-storage-activated" content="t"> 3504</head> 3505 3506 <!-- aphs cache bust v=1777155853 --> 3507<body class="gradient "> 3508 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 3509 Skip to content 3510 </a> 3511 3512<link href="//aromaparadise.com/cdn/shop/t/68/assets/quantity-popover.css?v=160630540099520878331789765668" rel="stylesheet" type="text/css" media="all" /> 3513<link href="//aromaparadise.com/cdn/shop/t/68/assets/component-card.css?v=120341546515895839841789765632" rel="stylesheet" type="text/css" media="all" /> 3514
3515<script src="//aromaparadise.com/cdn/shop/t/68/assets/cart.js?v=168995049558366113891789765630" defer="defer"></script>
vendor: 1 bytes, line 3515
3515
3516<script src="//aromaparadise.com/cdn/shop/t/68/assets/quantity-popover.js?v=987015268078116491789765668" defer="defer"></script>
3516 3517 3518<style> 3519 .drawer { 3520 visibility: hidden; 3521 } 3522</style> 3523 3524<cart-drawer class="drawer is-empty"> 3525 <div id="CartDrawer" class="cart-drawer"> 3526 <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div> 3527 <div 3528 class="drawer__inner gradient color-scheme-1" 3529 role="dialog" 3530 aria-modal="true" 3531 aria-label="Your cart" 3532 tabindex="-1" 3533 ><div class="drawer__inner-empty"> 3534 <div class="cart-drawer__warnings center"> 3535 <div class="cart-drawer__empty-content"> 3536 <div class="cart__empty-text">Your cart is empty</div> 3537 <button 3538 class="drawer__close" 3539 type="button" 3540 onclick="this.closest('cart-drawer').close()" 3541 aria-label="Close" 3542 > 3543 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 3544</span> 3545 </button> 3546 <a href="/collections/all" class="button"> 3547 Continue shopping 3548 </a><p class="cart__login-title h3">Have an account?</p> 3549 <p class="cart__login-paragraph"> 3550 <a href="https://aromaparadise.com/customer_authentication/redirect?locale=en®ion_country=US" class="link underlined-link">Log in</a> to check out faster. 3551 </p></div> 3552 </div></div><div class="drawer__header"> 3553 <div class="drawer__heading">Your cart</div> 3554 <button 3555 class="drawer__close" 3556 type="button" 3557 onclick="this.closest('cart-drawer').close()" 3558 aria-label="Close" 3559 > 3560 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 3561</span> 3562 </button> 3563 </div> 3564 <cart-drawer-items 3565 3566 class=" is-empty" 3567 3568 > 3569 <form 3570 action="/cart" 3571 id="CartDrawer-Form" 3572 class="cart__contents cart-drawer__form" 3573 method="post" 3574 > 3575 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p> 3576 <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status"> 3577 Loading... 3578 </p> 3579 </div> 3580 <div id="CartDrawer-CartErrors" role="alert"></div> 3581 </form> 3582 </cart-drawer-items> 3583 <div class="drawer__footer"><!-- Start blocks --> 3584 <!-- Subtotals --> 3585 3586 <div class="cart-drawer__footer" > 3587 <div></div> 3588 3589 <div class="totals" role="status"> 3590 <div class="totals__total">Estimated total</div> 3591 <p class="totals__total-value">$0.00 USD</p> 3592 </div> 3593 3594 <small class="tax-note caption-large rte">Taxes, discounts and <a href="/policies/shipping-policy">shipping</a> calculated at checkout. 3595</small> 3596 </div> 3597 3598 <!-- CTAs --> 3599 3600 <div class="cart__ctas" > 3601 <button 3602 type="submit" 3603 id="CartDrawer-Checkout" 3604 class="cart__checkout-button button" 3605 name="checkout" 3606 form="CartDrawer-Form" 3607 3608 disabled 3609 3610 > 3611 Check out 3612 </button> 3613 </div> 3614 </div> 3615 </div> 3616 </div> 3617</cart-drawer> 3618<aside 3619 class="ap-cart" 3620 data-ap-cart 3621 data-free-shipping-threshold="4999" 3622 data-priority-plus-variant-id="53104761798837" 3623 data-priority-plus-price="499" 3624 data-protection-variant-id="52431186231477" 3625 data-protection-price="198" 3626 data-localization-country="US" 3627 aria-hidden="true" 3628> 3629 <div class="ap-cart__overlay" data-ap-cart-close tabindex="-1"></div> 3630 <div class="ap-cart__panel" role="dialog" aria-modal="true" aria-labelledby="ap-cart-title"> 3631 <header class="ap-cart__header"> 3632 <div class="ap-cart__header-top"> 3633 <div class="ap-cart__title-row">
3634 <span class="ap-cart__bag" aria-hidden="true"> 3635 <svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6 8h12l-1 12H7L6 8Z"/><path d="M9 8a3 3 0 0 1 6 0"/></svg> 3636 </span> 3637 <p id="ap-cart-title" class="ap-cart__title">Your cart</p> 3638 <span class="ap-cart__count" data-ap-cart-count>0</span> 3639 </div> 3640 <div class="ap-cart__ship" data-ap-cart-shipping> 3641 <div class="ap-cart__ship-copy"> 3642 <span class="ap-cart__ship-label">Free shipping</span> 3643 <p data-ap-cart-shipping-text aria-live="polite">Unlocks at $49.99.</p> 3644 </div> 3645 <div class="ap-cart__progress" aria-hidden="true"><span data-ap-cart-shipping-progress></span></div> 3646 </div> 3647 <button class="ap-cart__icon-btn" type="button" data-ap-cart-close aria-label="Close cart"> 3648 <svg viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg> 3649 </button> 3650 </div> 3651 </header> 3652 3653 <div class="ap-cart__body"> 3654 <div class="ap-cart__error" data-ap-cart-error role="status" aria-live="polite" hidden></div> 3655 3656<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-brand-tokens.css?v=82419036892212734421791159518" rel="stylesheet" type="text/css" media="all" /> 3657 3658<a 3659 class="apcm" 3660 data-ap-cart-membership 3661 href="/pages/scent-membership-builder?source=cart&placement=cart-drawer-membership" 3662 aria-label="Scent Membership: 20% off every 2 weeks or 15% off monthly. Pause, switch scents or cancel online. Build my lineup" 3663 hidden 3664> 3665 <span class="apcm__main"> 3666 <span class="apcm__copy"> 3667 <strong class="apcm__title">Scent Membership</strong> 3668 <span class="apcm__offers"> 3669 <span class="apcm__offer apcm__offer--top"><b>20% off</b> every 2 weeks</span> 3670 <span class="apcm__offer"><b>15% off</b> monthly</span> 3671 </span> 3672 </span> 3673 <span class="apcm__go" aria-hidden="true"><svg viewBox="0 0 20 20"><path d="M4 10h11m-4-4 4 4-4 4"/></svg></span> 3674 </span> 3675 <span class="apcm__features" aria-hidden="true"> 3676 <span><svg viewBox="0 0 20 20"><path d="M4 10.5l3.5 3.5L16 6"/></svg>Pause anytime</span> 3677 <span><svg viewBox="0 0 20 20"><path d="M4 10.5l3.5 3.5L16 6"/></svg>Switch scents</span> 3678 <span><svg viewBox="0 0 20 20"><path d="M4 10.5l3.5 3.5L16 6"/></svg>Cancel online</span> 3679 </span> 3680</a> 3681<style> 3682 .ap-cart .apcm{display:grid;gap:9px;margin:0 0 12px;padding:11px 12px 10px 14px;border-radius:14px;background:linear-gradient(105deg,var(--ap-color-wine,#4f0d17) 0%,var(--ap-color-wine-hover,#661622) 100%);color:var(--ap-color-ivory,#fffdf8);text-decoration:none;text-align:left;box-shadow:0 8px 20px color-mix(in srgb,var(--ap-color-wine,#4f0d17) 18%,transparent)} 3683 .ap-cart .apcm[hidden]{display:none} 3684 .ap-cart .apcm:focus-visible{outline:2px solid var(--ap-color-gold-soft,#d8b96a);outline-offset:2px} 3685 .ap-cart .apcm__main{display:flex;align-items:center;gap:10px} 3686 .ap-cart .apcm__copy{display:grid;gap:5px;flex:1 1 auto;min-width:0} 3687 .ap-cart .apcm__title{font:400 16px/1.2 var(--ap-font-display,Prata,Georgia,serif);letter-spacing:0;color:var(--ap-color-ivory,#fffdf8)} 3688 .ap-cart .apcm__offers{display:flex;flex-wrap:wrap;gap:5px} 3689 .ap-cart .apcm__offer{display:inline-flex;align-items:baseline;gap:4px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 45%,transparent);border-radius:999px;color:var(--ap-color-ivory,#fffdf8);font:400 11px/1.25 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:0;white-space:nowrap} 3690 .ap-cart .apcm__offer b{font-weight:800} 3691 .ap-cart .apcm__offer--top{background:var(--ap-color-gold,#a77b22);border-color:var(--ap-color-gold,#a77b22);color:var(--ap-color-ivory,#fffdf8)} 3692 .ap-cart .apcm__go{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--ap-color-gold,#a77b22);color:var(--ap-color-ivory,#fffdf8);transition:background-color 160ms ease} 3693 .ap-cart .apcm:hover .apcm__go{background:color-mix(in srgb,var(--ap-color-gold,#a77b22) 82%,var(--ap-color-ink,#17120f))} 3694 .ap-cart .apcm__go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round} 3695 .ap-cart .apcm__features{display:flex;justify-content:space-between;gap:4px 8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 16%,transparent)}
3696 .ap-cart .apcm__features span{display:inline-flex;align-items:center;gap:4px;color:color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 90%,transparent);font:700 11.5px/1.2 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:0;white-space:nowrap} 3697 .ap-cart .apcm__features svg{width:13px;height:13px;flex:0 0 auto;fill:none;stroke:var(--ap-color-gold-soft,#d8b96a);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round} 3698 @media (max-width:360px){ 3699 .ap-cart .apcm{padding:10px 10px 9px 11px} 3700 .ap-cart .apcm__offers{gap:4px} 3701 .ap-cart .apcm__offer{padding:3px 7px;font-size:10.5px} 3702 .ap-cart .apcm__features span{font-size:10.5px;gap:3px} 3703 .ap-cart .apcm__features svg{width:11px;height:11px} 3704 } 3705</style> 3706 3707 3708 <div class="ap-cart__empty" data-ap-cart-empty hidden> 3709 <p>Your cart is empty.</p><div style="margin-top:14px"> 3710<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-brand-tokens.css?v=82419036892212734421791159518" rel="stylesheet" type="text/css" media="all" /> 3711 <style> 3712 .apqp { --n: var(--ap-color-navy); --g: var(--ap-color-gold); --g2: var(--ap-color-gold-soft); --iv: var(--ap-color-ivory); 3713 --pa: var(--ap-color-paper); --pc: var(--ap-color-parchment); --ln: var(--ap-color-line); --mu: var(--ap-color-muted); 3714 --gd: color-mix(in srgb, var(--g) 82%, var(--ap-color-ink)); --ease: cubic-bezier(.16, 1, .3, 1); 3715 color: var(--n); font-family: var(--ap-font-body); text-decoration: none; -webkit-tap-highlight-color: transparent; } 3716 .apqp *, .apqp *::before, .apqp *::after { box-sizing: border-box; } 3717 .apqp i { font-style: italic; color: var(--gd); } 3718 .apqp__fan { position: relative; display: block; flex: 0 0 auto; } 3719 .apqp__fan img { position: absolute; top: 50%; left: 50%; display: block; width: var(--w); height: var(--w); object-fit: cover; 3720 border-radius: calc(var(--w) * .16); border: 2px solid var(--iv); box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--n) 55%, transparent); 3721 transform: translate(-50%, -50%) translateX(calc(var(--k) * var(--sp))) rotate(calc(var(--k) * var(--rot))); transition: transform .5s var(--ease); } 3722 .apqp__fan img:nth-child(2) { z-index: 2; transform: translate(-50%, -50%) scale(1.08); } 3723 .apqp__arrow { display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--n); color: var(--iv); transition: transform .3s var(--ease); } 3724 .apqp__arrow svg { width: 15px; height: 15px; } 3725 3726 /* tile: inside the product grid */ 3727 .apqp--tile { position: relative; grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; min-height: 168px; padding: 18px 18px 18px 8px; 3728 overflow: hidden; border: 1px solid color-mix(in srgb, var(--g2) 55%, var(--ln)); border-radius: 14px; 3729 background: radial-gradient(120% 140% at 0% 50%, color-mix(in srgb, var(--g2) 30%, var(--pa)) 0%, var(--pa) 55%, var(--iv) 100%); } 3730 .apqp--tile[hidden] { display: none; } 3731 .apqp--tile .apqp__fan { --w: 74px; --sp: 34px; --rot: 9deg; width: 150px; height: 120px; } 3732 .apqp__body { display: grid; gap: 6px; min-width: 0; } 3733 .apqp__kicker { margin: 0; white-space: nowrap; font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--mu); } 3734 .apqp__h { margin: 0; font-family: var(--ap-font-display); font-size: 21px; font-weight: 400; line-height: 1.15; letter-spacing: -.01em; color: var(--n); } 3735 .apqp__p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--mu); } 3736 .apqp__p b { color: var(--n); font-weight: 800; } 3737 .apqp__cta { justify-self: start; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 4px; padding: 0 6px 0 18px; 3738 border-radius: 999px; background: var(--g); color: var(--iv); font-size: 14px; font-weight: 800; letter-spacing: .01em; 3739 box-shadow: 0 10px 20px -12px color-mix(in srgb, var(--g) 80%, transparent); } 3740 .apqp__cta .apqp__arrow { width: 32px; height: 32px; } 3741 .apqp--tile:hover .apqp__fan img:nth-child(1) { transform: translate(-50%, -50%) translateX(calc(var(--k) * var(--sp) * 1.25)) rotate(calc(var(--k) * var(--rot) * 1.4)); } 3742 .apqp--tile:hover .apqp__fan img:nth-child(3) { transform: translate(-50%, -50%) translateX(calc(var(--k) * var(--sp) * 1.25)) rotate(calc(var(--k) * var(--rot) * 1.4)); } 3743 .apqp:hover .apqp__arrow { transform: translateX(3px); } 3744 .apqp:focus-visible { outline: 2px solid var(--g); outline-offset: 3px; } 3745 @media (max-width: 380px) { 3746 .apqp--tile { gap: 12px; padding-right: 14px; } 3747 .apqp--tile .apqp__fan { --w: 60px; --sp: 26px; width: 116px; } 3748 .apqp__h { font-size: 19px; } 3749 .apqp--tile .apqp__p { font-size: 12.5px; } 3750 } 3751 @media (min-width: 721px) { 3752 .apqp--tile { grid-column: span 2; flex-direction: column; justify-content: center; gap: 22px; padding: 28px; text-align: center; } 3753 .apqp--tile .apqp__fan { --w: clamp(96px, 9vw, 128px); --sp: clamp(58px, 5.4vw, 78px); --rot: 8deg; width: 100%; height: calc(var(--w) * 1.25); } 3754 .apqp--tile .apqp__body { justify-items: center; gap: 8px; max-width: 360px; } 3755 .apqp--tile .apqp__cta { justify-self: center; } 3756 .apqp__h { font-size: clamp(24px, 2.2vw, 30px); } 3757 .apqp--tile .apqp__p { font-size: 14px; } 3758 } 3759 3760 /* line: compact prompt (product page, empty cart, empty search, 404) */ 3761 .apqp--line { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 10px 10px 6px; 3762 border: 1px solid color-mix(in srgb, var(--g2) 50%, var(--ln)); border-radius: 14px; 3763 background: linear-gradient(100deg, color-mix(in srgb, var(--g2) 20%, var(--pa)), var(--iv)); text-align: left; } 3764 .apqp--line .apqp__fan { --w: 36px; --sp: 15px; --rot: 8deg; width: 76px; height: 46px; } 3765 .apqp--line .apqp__t { display: grid; gap: 1px; flex: 1 1 auto; min-width: 0; } 3766 .apqp--line .apqp__t small { font-size: 12px; font-weight: 700; color: var(--mu); } 3767 .apqp--line .apqp__t strong { font-family: var(--ap-font-display); font-size: 16px; font-weight: 400; line-height: 1.2; color: var(--n); } 3768 .apqp--line .apqp__arrow { width: 34px; height: 34px; } 3769 @media (prefers-reduced-motion: reduce) { 3770 .apqp__fan img, .apqp__arrow { transition: none; } 3771 .apqp--tile:hover .apqp__fan img:nth-child(1), .apqp--tile:hover .apqp__fan img:nth-child(3) { transform: translate(-50%, -50%) translateX(calc(var(--k) * var(--sp))) rotate(calc(var(--k) * var(--rot))); } 3772 .apqp:hover .apqp__arrow { transform: none; } 3773 } 3774 </style> 3775
3775<script> 3776 if (!window.__apqp) window.__apqp = true, document.addEventListener('click', function (e) { 3777 var a = e.target.closest && e.target.closest('[data-apqp]'); 3778 if (a && window.apTrack) window.apTrack('scent_quiz_entry_click', { source: a.getAttribute('data-apqp') }, 'scent_quiz'); 3779 }); 3780 </script>
3780<a class="apqp apqp--line" href="/pages/scent-quiz?source=cartEmpty" data-apqp="cartEmpty"> 3781 <span class="apqp__fan" aria-hidden="true"> 3782 <img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sq-notes-citrus.webp?v=71607935967122846261791407782" style="--k:-1" alt="" width="160" height="160" loading="lazy"> 3783 <img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sq-notes-floral.webp?v=45813628299521826401791407782" style="--k:0" alt="" width="160" height="160" loading="lazy"> 3784 <img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sq-notes-woods.webp?v=101023312107113140111791407782" style="--k:1" alt="" width="160" height="160" loading="lazy"> 3785 </span> 3786 <span class="apqp__t"><small>Not sure where to start?</small><strong>Find your five in 5 seconds</strong></span> 3787 <span class="apqp__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 3788 </a></div> 3789 </div> 3790 3791 <section class="ap-cart__bundle-progress" data-ap-cart-bundle-progress hidden aria-live="polite"></section> 3792 3793 3794 <div class="ap-cart__items" data-ap-cart-items></div> 3795 3796 <section class="ap-cart__recs" data-ap-cart-recs hidden> 3797 <div class="ap-cart__recs-heading"> 3798 <div> 3799 <span class="ap-cart__recs-kicker">Curated pairings</span> 3800 </div> 3801 <div class="ap-cart__recs-nav" aria-label="Recommendation navigation"> 3802 <button type="button" data-ap-cart-recs-prev aria-label="Previous recommendations"> 3803 <svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg> 3804 </button> 3805 <button type="button" data-ap-cart-recs-next aria-label="Next recommendations"> 3806 <svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg> 3807 </button> 3808 </div> 3809 </div> 3810 <div class="ap-cart__recs-track" data-ap-cart-recs-track></div> 3811 </section> 3812 </div> 3813 3814 <footer class="ap-cart__footer"> 3815 <div class="ap-cart__loyalty" data-ap-cart-loyalty data-ap-loyalty-expanded="false" hidden> 3816 <button class="ap-cart__loyalty-toggle" type="button" data-ap-cart-loyalty-toggle aria-expanded="false"> 3817 <span>Rewards</span> 3818 <svg class="ap-cart__loyalty-chevron" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="m6 9 6 6 6-6"/></svg> 3819 </button> 3820 <div class="ap-cart__loyalty-panel" data-ap-cart-loyalty-panel hidden> 3821 <div data-cp-anchor="essential-loyalty-cart"></div> 3822 </div> 3823 </div> 3824 3825 <div class="ap-cart__compat-warning" data-ap-cart-compat-warning role="alert" hidden></div> 3826 3827 <div class="ap-cart__subtotal"> 3828 <span>Subtotal</span> 3829 <strong data-ap-cart-subtotal>$0</strong> 3830 </div> 3831 3832 <div class="ap-cart__priority-plus" data-ap-cart-priority-plus hidden> 3833 <label class="ap-cart__priority-plus-label" for="ap-cart-priority-plus"> 3834 <input id="ap-cart-priority-plus" type="checkbox" data-ap-cart-priority-plus-toggle> 3835 <span class="ap-cart__priority-plus-check" aria-hidden="true"> 3836 <svg viewBox="0 0 20 20" focusable="false"><path d="m4.5 10.3 3.4 3.4 7.6-8"/></svg> 3837 </span> 3838 <span class="ap-cart__priority-plus-visual" aria-hidden="true"><img src="//aromaparadise.com/cdn/shop/files/priority-plus-fulfillment-icon-manual-tight.webp?v=1787884016&width=96" alt="" width="34" height="34" loading="eager"></span> 3839 <span class="ap-cart__priority-plus-copy"> 3840 <span class="ap-cart__priority-plus-title"> 3841 <strong class="ap-cart__priority-plus-title-off" data-label="Priority+ Fulfillment">Priority+ Fulfillment</strong> 3842 <strong class="ap-cart__priority-plus-title-on">Priority+ Fulfillment</strong> 3843 </span> 3844 <small>Get packed and shipped ahead of standard orders.</small> 3845 </span>
3846 <span class="ap-cart__priority-plus-price" data-ap-cart-priority-plus-price> 3847 <span class="ap-cart__priority-plus-price-off">$4.99</span> 3848 <span class="ap-cart__priority-plus-price-on">+$4.99</span> 3849 </span> 3850 </label> 3851 </div> 3852 3853 <div class="ap-cart__protection" data-ap-cart-protection hidden> 3854 <div class="ap-cart__protection-label"> 3855 <span>Checkout+</span> 3856 <button class="ap-cart__info" type="button" aria-label="Checkout+ includes protected shipping for loss, theft, or damage during delivery"> 3857 <svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 11v5"/><path d="M12 7.5h.01"/></svg> 3858 <span class="ap-cart__tooltip" role="tooltip"> 3859 <strong>Protected Shipping</strong> 3860 <span>Covers your order if it's lost, stolen, or damaged during delivery.</span> 3861 </span> 3862 </button> 3863 </div> 3864 <strong data-ap-cart-protection-price></strong> 3865 </div> 3866 3867 <div class="ap-cart__checkout-row"> 3868 <button class="ap-cart__checkout" type="button" data-ap-cart-checkout-plus> 3869 <span data-ap-cart-checkout-label>Checkout+</span> 3870 <strong data-ap-cart-checkout-total>$0</strong> 3871 <s data-ap-cart-checkout-compare hidden>$0</s> 3872 <span class="ap-cart__checkout-loading" data-ap-cart-checkout-loading hidden> 3873 <span class="ap-cart__checkout-spinner" aria-hidden="true"></span> 3874 <span>Loading checkout…</span> 3875 </span> 3876 </button> 3877 </div> 3878 <div class="ap-cart__protection ap-cart__import-duty" data-ap-cart-import-duty hidden> 3879 <div class="ap-cart__protection-label"> 3880 <span>Import Duty</span> 3881 <button class="ap-cart__info" type="button" aria-label="Canadian orders may be subject to import duties, taxes, or carrier fees" aria-expanded="false"> 3882 <svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 11v5"/><path d="M12 7.5h.01"/></svg> 3883 <span class="ap-cart__tooltip" role="tooltip"> 3884 <strong>Import Duty</strong> 3885 <span>Canadian orders may be subject to import duties, taxes, or carrier fees. These charges are the customer's responsibility and may be collected at delivery.</span> 3886 </span> 3887 </button> 3888 </div> 3889 </div> 3890 <button class="ap-cart__without" type="button" data-ap-cart-checkout-without hidden> 3891 Continue without Checkout+ 3892 </button> 3893 <p class="ap-cart__trust-line" aria-label="Secure checkout, fast US shipping, easy returns"> 3894 <span> 3895 <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M7 11V8a5 5 0 0 1 10 0v3"/><rect x="5" y="11" width="14" height="10" rx="2"/><path d="M12 15v3"/></svg> 3896 Secure checkout 3897 </span> 3898 <span> 3899 <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M3 7h11v10H3z"/><path d="M14 10h3l3 3v4h-6z"/><circle cx="7" cy="18" r="1.8"/><circle cx="17" cy="18" r="1.8"/></svg> 3900 Fast US shipping 3901 </span> 3902 <span> 3903 <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M7 7h9a5 5 0 0 1 0 10H8"/><path d="M7 7l4-4"/><path d="M7 7l4 4"/></svg> 3904 Easy returns 3905 </span> 3906 </p> 3907 </footer> 3908 </div> 3909</aside> 3910<!-- BEGIN sections: header-group --> 3911<div id="shopify-section-sections--28517217370293__176138082448df97ef" class="shopify-section shopify-section-group-header-group"><div id="shopify-block-AMXN1d3J5VG9UeGJlY__ap_deal_days_bar_20261003" class="shopify-block"> 3912 3913<svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false"> 3914 <symbol id="ap-dd-sunburst" viewBox="0 0 120 120"><path d="M60.0 2.0 L65.8 8.3 L72.9 3.5 L77.2 10.9 L85.2 7.7 L87.7 16.0 L96.2 14.7 L96.8 23.2 L105.3 23.8 L104.0 32.3 L112.3 34.8 L109.1 42.8 L116.5 47.1 L111.7 54.2 L118.0 60.0 L111.7 65.8 L116.5 72.9 L109.1 77.2 L112.3 85.2 L104.0 87.7 L105.3 96.2 L96.8 96.8 L96.2 105.3 L87.7 104.0 L85.2 112.3 L77.2 109.1 L72.9 116.5 L65.8 111.7 L60.0 118.0 L54.2 111.7 L47.1 116.5 L42.8 109.1 L34.8 112.3 L32.3 104.0 L23.8 105.3 L23.2 96.8 L14.7 96.2 L16.0 87.7 L7.7 85.2 L10.9 77.2 L3.5 72.9 L8.3 65.8 L2.0 60.0 L8.3 54.2 L3.5 47.1 L10.9 42.8 L7.7 34.8 L16.0 32.3 L14.7 23.8 L23.2 23.2 L23.8 14.7 L32.3 16.0 L34.8 7.7 L42.8 10.9 L47.1 3.5 L54.2 8.3Z"/></symbol>
3915 <symbol id="ap-dd-rays" viewBox="0 0 600 300"><path d="M0 300L0 -460L28 -459ZM0 300L66 -457L94 -454ZM0 300L132 -448L159 -443ZM0 300L197 -434L223 -426ZM0 300L260 -414L286 -404ZM0 300L321 -389L346 -377ZM0 300L380 -358L404 -344ZM0 300L436 -323L458 -306ZM0 300L489 -282L510 -264ZM0 300L537 -237L557 -217ZM0 300L582 -189L600 -167ZM0 300L623 -136L638 -113ZM0 300L658 -80L672 -56ZM0 300L689 -21L700 4ZM0 300L714 40L723 66ZM0 300L734 103L741 130ZM0 300L748 168L753 196ZM0 300L757 234L759 262ZM0 300L760 300L759 328Z"/></symbol> 3916 <symbol id="ap-dd-mark" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 .7a11.3 11.3 0 1 0 0 22.6a11.3 11.3 0 1 0 0-22.6Zm0 1.4a9.9 9.9 0 1 1 0 19.8a9.9 9.9 0 1 1 0-19.8ZM12 3.1a8.9 8.9 0 1 0 0 17.8a8.9 8.9 0 1 0 0-17.8Zm0 .6a8.3 8.3 0 1 1 0 16.6a8.3 8.3 0 1 1 0-16.6Z"/><text x="12" y="15.6" text-anchor="middle" font-family="Prata, Georgia, serif" font-size="9.6" letter-spacing="-.3">AP</text></symbol> 3917 <symbol id="ap-dd-maple" viewBox="0 0 24 24"><path d="M12 1.6l1.5 3.5 2.2-1.1-.5 4 3.3-1.8-.8 2.8 3.3.5-2.5 2.6.8 1.2-4.2.6.5 2.3-3.3-1.3v5.6h-1.6v-5.6l-3.3 1.3.5-2.3-4.2-.6.8-1.2-2.5-2.6 3.3-.5-.8-2.8 3.3 1.8-.5-4 2.2 1.1z"/></symbol> 3918</svg> 3919<aside class="ap-dd-bar ap-dd-bar--board" data-dd aria-label="Aroma Prime Week"> 3920 <div class="ap-dd-bar__in"> 3921 <a class="ap-dd-bar__brand" href="/pages/aroma-prime-week" data-dd-track="bar_click" data-dd-cta="hub"> 3922 <svg class="ap-dd-bar__mark" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><use href="#ap-dd-mark"/></svg> 3923 <span class="ap-dd-bar__stack"> 3924 <span class="ap-dd-bar__kick">Sitewide sale event</span> 3925<span class="ap-dd-lockup ap-dd-lockup--sm"> 3926 <svg class="ap-dd-lockup__mark" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><use href="#ap-dd-mark"/></svg> 3927 <span class="ap-dd-lockup__name">Aroma Prime Week</span></span> 3928</span> 3929 </a> 3930 <div class="ap-dd-bar__time"> 3931 <span class="ap-dd-bar__time-l">Ends in</span> 3932<span class="ap-dd-cd ap-dd-cd--flap" data-ap-dd-countdown data-dd-flap role="timer" aria-label="Countdown to midnight"> 3933 <span class="ap-dd-flap"><b data-dd-part="h">05</b><i>h</i></span> 3934 <span class="ap-dd-flap"><b data-dd-part="m">15</b><i>m</i></span> 3935 <span class="ap-dd-flap"><b data-dd-part="s">44</b><i>s</i></span> 3936 <span class="ap-dd-cd__ended">Event ended</span> 3937 </span></div> 3938 <div class="ap-dd-board" data-ap-dd-board> 3939 <ol class="ap-dd-board__list"><li class="ap-dd-board__it is-on"> 3940 <a class="ap-dd-board__a" href="/pages/aroma-prime-week" data-dd-track="bar_click" data-dd-cta="board_hub"> 3941 <span class="ap-dd-board__gate"><small>Deal</small>01</span> 3942 <span class="ap-dd-board__txt"><b>Up to 66% off sitewide</b><span></span></span> 3943 <svg class="ap-dd-board__go" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3944 </a> 3945 </li><li class="ap-dd-board__it" aria-hidden="true"> 3946 <a class="ap-dd-board__a" href="/pages/build-your-waterless-scent-bundle" tabindex="-1" data-dd-track="bar_click" data-dd-cta="board_builder-waterless"> 3947 <span class="ap-dd-board__gate"><small>Deal</small>02</span> 3948 <span class="ap-dd-board__txt"><b>Waterless Bundle Builder</b><span>up to 20% off the whole bundle</span></span> 3949 <svg class="ap-dd-board__go" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3950 </a> 3951 </li><li class="ap-dd-board__it" aria-hidden="true"> 3952 <a class="ap-dd-board__a" href="/pages/build-your-waterless-oil-bundle" tabindex="-1" data-dd-track="bar_click" data-dd-cta="board_oil-sampler"> 3953 <span class="ap-dd-board__gate"><small>Deal</small>03</span> 3954 <span class="ap-dd-board__txt"><b>Waterless Oil Sampler</b><span>any 3 scents, 10% off</span></span> 3955 <svg class="ap-dd-board__go" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3956 </a> 3957 </li><li class="ap-dd-board__it" aria-hidden="true"> 3958 <a class="ap-dd-board__a" href="/pages/aroma-prime-week#gifts" tabindex="-1" data-dd-track="bar_click" data-dd-cta="board_gifts">
3959 <span class="ap-dd-board__gate"><small>Deal</small>04</span> 3960 <span class="ap-dd-board__txt"><b>Free mystery gift</b><span>Silver at $99 · Gold at $149</span></span> 3961 <svg class="ap-dd-board__go" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3962 </a> 3963 </li><li class="ap-dd-board__it" aria-hidden="true"> 3964 <a class="ap-dd-board__a" href="/pages/aroma-prime-week#restock" tabindex="-1" data-dd-track="bar_click" data-dd-cta="board_stack-waterless"> 3965 <span class="ap-dd-board__gate"><small>Deal</small>05</span> 3966 <span class="ap-dd-board__txt"><b>Stack waterless oils</b><span>buy 3, 5 or 7, save up to 20%</span></span> 3967 <svg class="ap-dd-board__go" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3968 </a> 3969 </li><li class="ap-dd-board__it" aria-hidden="true"> 3970 <a class="ap-dd-board__a" href="/pages/aroma-prime-week" tabindex="-1" data-dd-track="bar_click" data-dd-cta="board_shipping"> 3971 <span class="ap-dd-board__gate"><small>Deal</small>06</span> 3972 <span class="ap-dd-board__txt"><b>Free US shipping</b><span>on 3973$49.99+</span></span> 3974 <svg class="ap-dd-board__go" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3975 </a> 3976 </li></ol> 3977 </div><a class="ap-dd-bar__cta" href="/pages/aroma-prime-week" data-dd-track="bar_click" data-dd-cta="shop_deals"> 3978 <span class="ap-dd-bar__ctatxt">Shop deals</span> 3979 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3980 </a></div> 3981 </aside><a class="ap-dd-mini" href="/pages/aroma-prime-week" data-dd data-ap-dd-mini aria-hidden="true" tabindex="-1" data-dd-track="bar_click" data-dd-cta="mini"> 3982 <svg class="ap-dd-mini__mark" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><use href="#ap-dd-mark"/></svg> 3983 <span class="ap-dd-mini__name">Aroma Prime Week</span> 3984 <span class="ap-dd-mini__offer">Up to 66% off</span> 3985 <span class="ap-dd-mini__cd"> 3986<span class="ap-dd-cd ap-dd-cd--inline" data-ap-dd-countdown role="timer" aria-label="Countdown to midnight"><b data-dd-part="h">05</b><i>h</i><b data-dd-part="m">15</b><i>m</i><b data-dd-part="s">44</b><i>s</i><span class="ap-dd-cd__ended">Event ended</span></span></span> 3987 <span class="ap-dd-mini__cart" data-ap-dd-mini-cart hidden></span> 3988 <svg class="ap-dd-mini__go" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3989 </a> 3990</div> 3991 3992 3993<style> 3994 .ap-sand-bar{width:100%;background:radial-gradient(120% 240% at 8% 50%,#241b14 0%,#17110d 72%);color:#f4ede1; 3995 font-family:Lato,var(--font-body-family),-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased} 3996 .ap-sand-bar *{box-sizing:border-box} 3997 .ap-sand-bar__inner{display:flex;align-items:center;gap:22px;width:min(1400px,100%);margin:0 auto;min-height:62px; 3998 padding:9px 26px;text-decoration:none;color:inherit} 3999 .ap-sand-bar__thumbs{flex:0 0 auto;display:flex;align-items:center} 4000 .ap-sand-bar__thumb{width:44px;height:54px;border-radius:6px;background-size:cover;background-position:center; 4001 box-shadow:0 3px 12px rgba(0,0,0,.55)} 4002 .ap-sand-bar__thumb--a{background-image:url("https://cdn.shopify.com/s/files/1/0658/4644/4213/files/CandleraCandle-5_65513707-06c4-41cb-9c72-dc042d4f8b37.webp?width=380");background-position:center 55%;transform:rotate(-3deg);z-index:1} 4003 .ap-sand-bar__thumb--b{background-image:url("https://cdn.shopify.com/s/files/1/0658/4644/4213/files/CandleraCandle-4_824a0452-5f18-4c28-9124-9752ef33f289.webp?width=380");background-position:center 58%;margin-left:-16px;transform:translateY(-1px) rotate(3deg);z-index:2;outline:3px solid #17110d} 4004 .ap-sand-bar__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px} 4005 /* Eyebrow + tag stay on ONE line; the row is allowed to run wide (over the button's space) rather than wrapping. */ 4006 .ap-sand-bar__eyebrow{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:9px;font-size:10px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:#cba75f;white-space:nowrap} 4007 .ap-sand-bar__eyebrow-txt{flex:0 0 auto} 4008 .ap-sand-bar__h{display:block;font-family:Prata,var(--font-heading-family),Georgia,serif;font-size:clamp(16px,1.7vw,20px); 4009 line-height:1.14;letter-spacing:.002em;color:#f6efe4} 4010 .ap-sand-bar__h em{font-style:normal;color:#dcc088} 4011 .ap-sand-bar__cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;padding:11px 22px;border-radius:2px; 4012 border:1px solid rgba(203,167,95,.55);color:#f2e8d5;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; 4013 white-space:nowrap;transition:background .35s ease,border-color .35s ease,color .35s ease} 4014 .ap-sand-bar__cta svg{width:15px;height:15px;flex:0 0 auto} 4015 .ap-sand-bar__inner:hover .ap-sand-bar__cta{background:#cba75f;border-color:#cba75f;
4015color:#1a120a} 4016 .ap-sand-bar__h-mini,.ap-sand-bar__ctamini{display:none} 4017 .ap-sand-bar--canada{background:linear-gradient(90deg,#28070e 0%,#560e1d 48%,#300810 100%);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(221,190,128,.38)} 4018 .ap-sand-bar--canada .ap-sand-bar__inner{justify-content:center;gap:17px;min-height:54px;max-width:980px;padding-block:6px} 4019 .ap-sand-bar__canada-flag{width:54px;height:27px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 54px;overflow:hidden;border:1px solid rgba(255,255,255,.34);border-radius:2px;box-shadow:0 4px 14px rgba(12,0,3,.35)} 4020 .ap-sand-bar__canada-flag img{display:block;width:100%;height:100%;object-fit:cover} 4021 .ap-sand-bar__canada-rule{width:1px;height:32px;flex:0 0 1px;background:linear-gradient(180deg,transparent,rgba(232,204,148,.68),transparent)} 4022 .ap-sand-bar--canada .ap-sand-bar__copy{flex:0 1 auto} 4023 .ap-sand-bar--canada .ap-sand-bar__eyebrow{color:#e6c982;font-size:9px;letter-spacing:.28em} 4024 .ap-sand-bar--canada .ap-sand-bar__h{font-size:clamp(17px,1.75vw,20px);letter-spacing:.006em} 4025 .ap-sand-bar--canada .ap-sand-bar__h em{color:#efcf8d;font-style:normal} 4026 4027 @media (max-width:749px){ 4028 .ap-sand-bar__inner{gap:12px;padding:9px 13px;min-height:0} 4029 .ap-sand-bar__thumb{width:34px;height:42px} 4030 .ap-sand-bar__thumb--b{margin-left:-13px} 4031 .ap-sand-bar__eyebrow{font-size:9px;letter-spacing:.1em;gap:7px} 4032 .ap-sand-bar__h-full,.ap-sand-bar__ctatxt{display:none} 4033 .ap-sand-bar__h-mini,.ap-sand-bar__ctamini{display:inline} 4034 .ap-sand-bar__h{font-size:14px;line-height:1.2} 4035 .ap-sand-bar__h-mini{white-space:nowrap} 4036 /* Mobile CTA = gold arrow only. Frees the width the label was stealing from the eyebrow + tag row. */ 4037 .ap-sand-bar__ctatxt,.ap-sand-bar__ctamini{display:none} 4038 .ap-sand-bar__cta{width:40px;height:40px;min-width:40px;padding:0;justify-content:center;gap:0; 4039 border-color:rgba(220,192,136,.6);border-radius:50%;color:#dcc088} 4040 .ap-sand-bar__cta svg{width:17px;height:17px;stroke-width:2.2} 4041 .ap-sand-bar__inner:hover .ap-sand-bar__cta{background:#cba75f;border-color:#cba75f;color:#1a120a} 4042 .ap-sand-bar--canada .ap-sand-bar__inner{gap:12px;min-height:58px;padding-inline:16px} 4043 .ap-sand-bar__canada-flag{width:46px;height:23px;flex-basis:46px} 4044 .ap-sand-bar__canada-rule{height:28px} 4045 .ap-sand-bar--canada .ap-sand-bar__eyebrow{font-size:8px;letter-spacing:.18em} 4046 .ap-sand-bar--canada .ap-sand-bar__h{font-size:14px} 4047 } 4048 @media (max-width:389px){ 4049 .ap-sand-bar__inner{gap:10px;padding:9px 11px} 4050 .ap-sand-bar__eyebrow{gap:6px;letter-spacing:.06em;font-size:8.5px} 4051 .ap-sand-bar__h{font-size:13px} 4052 } 4053</style><div class="ap-sand-bar"><a class="ap-sand-bar__inner" href="/collections/sand-candle" aria-label="Pourable wax pearls you melt and re-scent again and again"> 4054 <span class="ap-sand-bar__thumbs" aria-hidden="true"> 4055 <span class="ap-sand-bar__thumb ap-sand-bar__thumb--a"></span><span class="ap-sand-bar__thumb ap-sand-bar__thumb--b"></span> 4056 </span> 4057 <span class="ap-sand-bar__copy"> 4058 <span class="ap-sand-bar__eyebrow"><span class="ap-sand-bar__eyebrow-txt">The candle, reinvented</span></span> 4059 <span class="ap-sand-bar__h"><span class="ap-sand-bar__h-full">Pourable wax pearls you melt and re-scent again and again</span><span class="ap-sand-bar__h-mini">Wax pearls you melt & re-scent</span></span> 4060 </span> 4061 <span class="ap-sand-bar__cta"> 4062 <span class="ap-sand-bar__ctatxt">Explore</span><span class="ap-sand-bar__ctamini">Explore</span> 4063 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg> 4064 </span> 4065 </a></div> 4066 4067 4068 4069 4070</div><div id="shopify-section-sections--28517217370293__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//aromaparadise.com/cdn/shop/t/68/assets/component-list-menu.css?v=151968516119678728991789765638" media="print" onload="this.media='all'"> 4071<link rel="stylesheet" href="//aromaparadise.com/cdn/shop/t/68/assets/component-search.css?v=120619762923976325931789765646" media="print" onload="this.media='all'"> 4072<link rel="stylesheet" href="//aromaparadise.com/cdn/shop/t/68/assets/component-menu-drawer.css?v=147478906057189667651789765640" media="print" onload="this.media='all'"> 4073<link 4074 rel="stylesheet" 4075 href="//aromaparadise.com/cdn/shop/t/68/assets/component-cart-notification.css?v=54116361853792938221789765634" 4076 media="print" 4077 onload="this.media='all'" 4078><style> 4079 header-drawer { 4080 justify-self: start; 4081 margin-left: -1.2rem; 4082 }@media screen and (min-width: 990px) { 4083 header-drawer { 4084 display: none; 4085 } 4086 }.menu-drawer-container { 4087 display: flex; 4088 } 4089 4090 .list-menu { 4091 list-style: none; 4092 padding: 0; 4093 margin: 0; 4094 } 4095 4096 .list-menu--inline { 4097 display: inline-flex; 4098 flex-wrap: wrap; 4099 } 4100 4101 summary.list-menu__item { 4102 padding-right: 2.7rem; 4103 } 4104 4105 .list-menu__item { 4106 display: flex; 4107 align-items: center; 4108 line-height: calc(1 + 0.3 / var(--font-body-scale)); 4109 } 4110 4111 .list-menu__item--link { 4112 text-decoration: none; 4113 padding-bottom: 1rem; 4114 padding-top: 1rem; 4115 line-height: calc(1 + 0.8 / var(--font-body-scale)); 4116 } 4117 4118 @media screen and (min-width: 750px) { 4119 .list-menu__item--link { 4120 padding-bottom: 0.5rem; 4121 padding-top: 0.5rem; 4122 } 4123 } 4124</style><style data-shopify>.header { 4125 padding: 10px 3rem 10px 3rem; 4126 } 4127 4128 .section-header { 4129 position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ 4130 margin-bottom: 0px; 4131 } 4132 4133 @media screen and (min-width: 750px) { 4134 .section-header { 4135 margin-bottom: 0px; 4136 } 4137 } 4138 4139 @media screen and (min-width: 990px) { 4140 .header { 4141 padding-top: 20px; 4142 padding-bottom: 20px; 4143 } 4144 }</style>
4144<script src="//aromaparadise.com/cdn/shop/t/68/assets/cart-notification.js?v=133508293167896966491789765629" defer="defer"></script>
4144 4145 4146<sticky-header 4147 4148 data-sticky-type="on-scroll-up" 4149 4150 class="header-wrapper color-scheme-1 gradient header-wrapper--border-bottom" 4151><header class="header header--top-center header--mobile-center page-width header--has-menu header--has-social header--has-account header--has-localizations"> 4152 4153<header-drawer data-breakpoint="tablet" > 4154 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 4155 <summary 4156 class="header__icon header__icon--menu header__icon--summary link focus-inset" 4157 aria-label="Menu" 4158 > 4159 <span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-hamburger" viewBox="0 0 18 16"><path fill="currentColor" d="M1 .5a.5.5 0 1 0 0 1h15.71a.5.5 0 0 0 0-1zM.5 8a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1A.5.5 0 0 1 .5 8m0 7a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5"/></svg> 4160<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 4161</span> 4162 </summary> 4163 <div id="menu-drawer" class="gradient menu-drawer motion-reduce color-scheme-1"> 4164 <div class="menu-drawer__inner-container"> 4165 <div class="menu-drawer__navigation-container"> 4166 <nav class="menu-drawer__navigation"> 4167 <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><a 4168 id="HeaderDrawer-home" 4169 href="/" 4170 class="menu-drawer__menu-item list-menu__item link link--text focus-inset menu-drawer__menu-item--active" 4171 4172 aria-current="page" 4173 4174 > 4175 Home 4176 </a></li><li><details id="Details-menu-drawer-menu-item-2"> 4177 <summary 4178 id="HeaderDrawer-scent-your-space" 4179 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4180 > 4181 Scent Your Space 4182 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4182ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4183</span> 4184 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4185</span> 4186 </summary> 4187 <div 4188 id="link-scent-your-space" 4189 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4190 tabindex="-1" 4191 > 4192 <div class="menu-drawer__inner-submenu"> 4193 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 4194 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4194ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4195</span> 4196 Scent Your Space 4197 </button> 4198 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 4199 id="HeaderDrawer-scent-your-space-find-your-diffuser" 4200 href="/pages/find-your-diffuser" 4201 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4202 4203 > 4204 Find Your Diffuser 4205 </a></li><li><a 4206 id="HeaderDrawer-scent-your-space-waterless-scent-diffusers" 4207 href="/collections/waterless-scent-diffusers" 4208 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4209 4210 > 4211 Waterless Scent Diffusers 4212 </a></li><li><a 4213 id="HeaderDrawer-scent-your-space-humidifying-scent-diffuser" 4214 href="/collections/humidifying-scent-diffusers" 4215 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4216 4217 > 4218 Humidifying Scent Diffuser 4219 </a></li><li><a 4220 id="HeaderDrawer-scent-your-space-sand-candle" 4221 href="/collections/sand-candle" 4222 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4223 4224 > 4225 Sand Candle 4226 </a></li><li><a 4227 id="HeaderDrawer-scent-your-space-room-mist" 4228 href="/collections/8oz-room-mist" 4229 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4230 4231 > 4232 Room Mist 4233 </a></li><li><a 4234 id="HeaderDrawer-scent-your-space-car-air-freshener" 4235 href="/collections/car-air-freshener-rocket" 4236 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4237 4238 > 4239 Car Air Freshener 4240 </a></li><li><a 4241 id="HeaderDrawer-scent-your-space-incense" 4242 href="/collections/incense-sticks" 4243 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4244 4245 > 4246 Incense 4247 </a></li><li><a 4248 id="HeaderDrawer-scent-your-space-bathroom-spray" 4249 href="/collections/oopsie-poopsie-toilet-sprays" 4250 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4251 4252 > 4253 Bathroom Spray 4254 </a></li></ul> 4255 </div> 4256 </div> 4257 </details></li><li>
4257<details id="Details-menu-drawer-menu-item-3"> 4258 <summary 4259 id="HeaderDrawer-fragrance-oils" 4260 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4261 > 4262 Fragrance Oils 4263 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4264</span> 4265 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4266</span> 4267 </summary> 4268 <div 4269 id="link-fragrance-oils" 4270 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4271 tabindex="-1" 4272 > 4273 <div class="menu-drawer__inner-submenu"> 4274 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 4275 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4275ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4276</span> 4277 Fragrance Oils 4278 </button> 4279 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><details id="Details-menu-drawer-fragrance-oils-for-humidifying-diffuser"> 4280 <summary 4281 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser" 4282 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4283 > 4284 For Humidifying Diffuser 4285 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4286</span> 4287 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4288</span> 4289 </summary> 4290 <div 4291 id="childlink-for-humidifying-diffuser" 4292 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4293 > 4294 <button 4295 class="menu-drawer__close-button link link--text focus-inset" 4296 aria-expanded="true" 4297 > 4298 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4298ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4299</span> 4300 For Humidifying Diffuser 4301 </button> 4302 <ul 4303 class="menu-drawer__menu list-menu" 4304 role="list" 4305 tabindex="-1" 4306 ><li> 4307 <a 4308 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-shop-all" 4309 href="/collections/regular-fragrance-oils" 4310 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4311 4312 > 4313 Shop All 4314 </a> 4315 </li><li> 4316 <a 4317 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-perfume-fragrance-oils" 4318 href="/collections/perfume-fragrance-oils" 4319 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4320 4321 > 4322 Perfume Fragrance Oils 4323 </a> 4324 </li><li> 4325 <a 4326 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-hotel-fragrance-oils" 4327 href="/collections/hotel-collection-fragrance-oils" 4328 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4329 4330 > 4331 Hotel Fragrance Oils 4332 </a> 4333 </li><li> 4334 <a 4335 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-nature-fragrance-oils" 4336 href="/collections/nature-inspired-fragrance-oils" 4337 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4338 4339 > 4340 Nature Fragrance Oils 4341 </a> 4342 </li><li> 4343 <a 4344 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-zodiac-fragrance-oils" 4345 href="/collections/zodiac-fragrance-oils" 4346 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4347 4348 > 4349 Zodiac Fragrance Oils 4350 </a> 4351 </li><li> 4352 <a 4353 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-spiritual-fragrance-oils" 4354 href="/collections/spiritual-healing-fragrance-oils" 4355 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4356 4357 > 4358 Spiritual Fragrance Oils 4359 </a> 4360 </li><li> 4361 <a 4362 id="HeaderDrawer-fragrance-oils-for-humidifying-diffuser-essential-oils" 4363 href="/collections/essential-oils" 4364 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4365 4366 > 4367 Essential Oils 4368 </a> 4369 </li></ul> 4370 </div> 4371 </details></li><li>
4371<details id="Details-menu-drawer-fragrance-oils-for-waterless-diffusers"> 4372 <summary 4373 id="HeaderDrawer-fragrance-oils-for-waterless-diffusers" 4374 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4375 > 4376 For Waterless Diffusers 4377 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4378</span> 4379 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4380</span> 4381 </summary> 4382 <div 4383 id="childlink-for-waterless-diffusers" 4384 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4385 > 4386 <button 4387 class="menu-drawer__close-button link link--text focus-inset" 4388 aria-expanded="true" 4389 > 4390 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4390ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4391</span> 4392 For Waterless Diffusers 4393 </button> 4394 <ul 4395 class="menu-drawer__menu list-menu" 4396 role="list" 4397 tabindex="-1" 4398 ><li> 4399 <a 4400 id="HeaderDrawer-fragrance-oils-for-waterless-diffusers-shop-all" 4401 href="/collections/waterless-fragrance-oils-1" 4402 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4403 4404 > 4405 Shop All 4406 </a> 4407 </li><li> 4408 <a 4409 id="HeaderDrawer-fragrance-oils-for-waterless-diffusers-hotel-waterless-fragrance-oils" 4410 href="/collections/hotel-waterless-fragrance" 4411 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4412 4413 > 4414 Hotel Waterless Fragrance Oils 4415 </a> 4416 </li><li> 4417 <a 4418 id="HeaderDrawer-fragrance-oils-for-waterless-diffusers-perfume-waterless-fragrance-oils" 4419 href="/collections/perfume-waterless-fragrance" 4420 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4421 4422 > 4423 Perfume Waterless Fragrance Oils 4424 </a> 4425 </li><li> 4426 <a 4427 id="HeaderDrawer-fragrance-oils-for-waterless-diffusers-nature-waterless-fragrance-oils" 4428 href="/collections/nature-waterless-fragrance-oils" 4429 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4430 4431 > 4432 Nature Waterless Fragrance Oils 4433 </a> 4434 </li></ul> 4435 </div> 4436 </details></li><li><a 4437 id="HeaderDrawer-fragrance-oils-roll-on-perfume-body-oil" 4438 href="/collections/perfume-body-oils" 4439 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4440 4441 > 4442 Roll-On Perfume Body Oil 4443 </a></li></ul> 4444 </div> 4445 </div> 4446 </details></li><li><a 4447 id="HeaderDrawer-scent-membership-save-20" 4448 href="/pages/scent-membership-builder" 4449 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4450 4451 > 4452 Scent Membership · Save 20% 4453 </a></li><li>
4453<details id="Details-menu-drawer-menu-item-5"> 4454 <summary 4455 id="HeaderDrawer-ritual-wellness" 4456 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4457 > 4458 Ritual & Wellness 4459 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4460</span> 4461 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4462</span> 4463 </summary> 4464 <div 4465 id="link-ritual-wellness" 4466 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4467 tabindex="-1" 4468 > 4469 <div class="menu-drawer__inner-submenu"> 4470 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 4471 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4471ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4472</span> 4473 Ritual & Wellness 4474 </button> 4475 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><details id="Details-menu-drawer-ritual-wellness-incense"> 4476 <summary 4477 id="HeaderDrawer-ritual-wellness-incense" 4478 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4479 > 4480 Incense 4481 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4482</span> 4483 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4484</span> 4485 </summary> 4486 <div 4487 id="childlink-incense" 4488 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4489 > 4490 <button 4491 class="menu-drawer__close-button link link--text focus-inset" 4492 aria-expanded="true" 4493 > 4494 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4494ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4495</span> 4496 Incense 4497 </button> 4498 <ul 4499 class="menu-drawer__menu list-menu" 4500 role="list" 4501 tabindex="-1" 4502 ><li> 4503 <a 4504 id="HeaderDrawer-ritual-wellness-incense-shop-all" 4505 href="/collections/incense-sticks" 4506 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4507 4508 > 4509 Shop All 4510 </a> 4511 </li><li> 4512 <a 4513 id="HeaderDrawer-ritual-wellness-incense-incense-cones" 4514 href="/collections/sage-incense-cones" 4515 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4516 4517 > 4518 Incense Cones 4519 </a> 4520 </li><li> 4521 <a 4522 id="HeaderDrawer-ritual-wellness-incense-incense-holder" 4523 href="/collections/incense-holders" 4524 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4525 4526 > 4527 Incense Holder 4528 </a> 4529 </li><li> 4530 <a 4531 id="HeaderDrawer-ritual-wellness-incense-incense-sticks" 4532 href="/collections/incense-sticks" 4533 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4534 4535 > 4536 Incense Sticks 4537 </a> 4538 </li><li> 4539 <a 4540 id="HeaderDrawer-ritual-wellness-incense-back-flow-burners" 4541 href="/collections/back-flow-burner-and-cones" 4542 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4543 4544 > 4545 Back Flow Burners 4546 </a> 4547 </li></ul> 4548 </div> 4549 </details></li><li><a 4550 id="HeaderDrawer-ritual-wellness-cleansing-smudge" 4551 href="/collections/sage" 4552 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4553 4554 > 4555 Cleansing Smudge 4556 </a></li><li>
4556<details id="Details-menu-drawer-ritual-wellness-bracelets"> 4557 <summary 4558 id="HeaderDrawer-ritual-wellness-bracelets" 4559 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4560 > 4561 Bracelets 4562 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4563</span> 4564 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4565</span> 4566 </summary> 4567 <div 4568 id="childlink-bracelets" 4569 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4570 > 4571 <button 4572 class="menu-drawer__close-button link link--text focus-inset" 4573 aria-expanded="true" 4574 > 4575 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4575ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4576</span> 4577 Bracelets 4578 </button> 4579 <ul 4580 class="menu-drawer__menu list-menu" 4581 role="list" 4582 tabindex="-1" 4583 ><li> 4584 <a 4585 id="HeaderDrawer-ritual-wellness-bracelets-shop-all" 4586 href="/collections/bracelets" 4587 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4588 4589 > 4590 Shop All 4591 </a> 4592 </li><li> 4593 <a 4594 id="HeaderDrawer-ritual-wellness-bracelets-power-bracelets" 4595 href="/collections/power-bracelets" 4596 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4597 4598 > 4599 Power Bracelets 4600 </a> 4601 </li><li> 4602 <a 4603 id="HeaderDrawer-ritual-wellness-bracelets-aromatherapy-bracelet" 4604 href="/collections/aromatherapy-bracelet" 4605 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4606 4607 > 4608 Aromatherapy Bracelet 4609 </a> 4610 </li><li> 4611 <a 4612 id="HeaderDrawer-ritual-wellness-bracelets-zodiac-bracelets" 4613 href="/collections/zodiac-bracelets" 4614 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4615 4616 > 4617 Zodiac Bracelets 4618 </a> 4619 </li><li> 4620 <a 4621 id="HeaderDrawer-ritual-wellness-bracelets-wish-bracelets" 4622 href="/collections/wish-bracelets" 4623 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4624 4625 > 4626 Wish Bracelets 4627 </a> 4628 </li></ul> 4629 </div> 4630 </details></li><li><a 4631 id="HeaderDrawer-ritual-wellness-crystal-pendants" 4632 href="/collections/crystal-pendants" 4633 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4634 4635 > 4636 Crystal Pendants 4637 </a></li><li><a 4638 id="HeaderDrawer-ritual-wellness-intention-kits" 4639 href="/collections/intention-kits" 4640 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4641 4642 > 4643 Intention Kits 4644 </a></li><li><a 4645 id="HeaderDrawer-ritual-wellness-cleansing-water" 4646 href="/collections/cleansing-water" 4647 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4648 4649 > 4650 Cleansing Water 4651 </a></li><li><a 4652 id="HeaderDrawer-ritual-wellness-magic-spell-candles" 4653 href="/collections/magic-spell-candles" 4654 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4655 4656 > 4657 Magic Spell Candles 4658 </a></li><li><a 4659 id="HeaderDrawer-ritual-wellness-crystal-energy-tree" 4660 href="/collections/money-tree" 4661 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4662 4663 > 4664 Crystal Energy Tree 4665 </a></li></ul> 4666 </div> 4667 </div> 4668 </details></li><li><a 4669 id="HeaderDrawer-scent-quiz" 4670 href="https://aromaparadise.com/pages/scent-quiz" 4671 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4672 4673 >
4674 Scent Quiz 4675 </a></li><li><details id="Details-menu-drawer-menu-item-7"> 4676 <summary 4677 id="HeaderDrawer-business-scenting" 4678 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4679 > 4680 Business Scenting 4681 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4682</span> 4683 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4684</span> 4685 </summary> 4686 <div 4687 id="link-business-scenting" 4688 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4689 tabindex="-1" 4690 > 4691 <div class="menu-drawer__inner-submenu"> 4692 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 4693 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4693ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4694</span> 4695 Business Scenting 4696 </button> 4697 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 4698 id="HeaderDrawer-business-scenting-business-scenting-overview" 4699 href="/pages/business-scenting" 4700 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4701 4702 > 4703 Business Scenting Overview 4704 </a></li><li><a 4705 id="HeaderDrawer-business-scenting-plan-your-scent-system" 4706 href="/pages/business-scent-planner" 4707 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4708 4709 > 4710 Plan Your Scent System 4711 </a></li><li><a 4712 id="HeaderDrawer-business-scenting-compare-commercial-diffusers" 4713 href="/blogs/news/best-commercial-scent-diffuser-for-business" 4714 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4715 4716 > 4717 Compare Commercial Diffusers 4718 </a></li><li><a 4719 id="HeaderDrawer-business-scenting-cost-calculator" 4720 href="/blogs/news/commercial-scenting-cost" 4721 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4722 4723 > 4724 Cost Calculator 4725 </a></li><li><a 4726 id="HeaderDrawer-business-scenting-hvac-scenting" 4727 href="/collections/hvac-scent-diffusers" 4728 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4729 4730 > 4731 HVAC Scenting 4732 </a></li><li><a 4733 id="HeaderDrawer-business-scenting-retail-stores" 4734 href="/blogs/news/retail-scent-machines" 4735 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4736 4737 > 4738 Retail Stores 4739 </a></li><li><a 4740 id="HeaderDrawer-business-scenting-hotels-resorts" 4741 href="/blogs/news/hotel-lobby-scenting-guide-for-owners" 4742 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4743 4744 > 4745 Hotels & Resorts 4746 </a></li><li><a 4747 id="HeaderDrawer-business-scenting-offices" 4748 href="/blogs/news/office-scent-diffuser-guide" 4749 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4750 4751 > 4752 Offices 4753 </a></li></ul> 4754 </div> 4755 </div> 4756 </details></li><li><a 4757 id="HeaderDrawer-rewards" 4758 href="/pages/rewards" 4759 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4760 4761 > 4762 Rewards 4763 </a></li><li><a 4764 id="HeaderDrawer-aroma-blog" 4765 href="/blogs/news" 4766 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4767 4768 > 4769 Aroma Blog 4770 </a></li><li>
4770<details id="Details-menu-drawer-menu-item-10"> 4771 <summary 4772 id="HeaderDrawer-help-about" 4773 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 4774 > 4775 Help & About 4776 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4777</span> 4778 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4779</span> 4780 </summary> 4781 <div 4782 id="link-help-about" 4783 class="menu-drawer__submenu has-submenu gradient motion-reduce" 4784 tabindex="-1" 4785 > 4786 <div class="menu-drawer__inner-submenu"> 4787 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 4788 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
4788ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 4789</span> 4790 Help & About 4791 </button> 4792 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 4793 id="HeaderDrawer-help-about-about-us" 4794 href="/pages/about-us" 4795 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4796 4797 > 4798 About Us 4799 </a></li><li><a 4800 id="HeaderDrawer-help-about-contact-us" 4801 href="https://aromaparadise.com/pages/contact?view=contact-v7" 4802 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4803 4804 > 4805 Contact Us 4806 </a></li><li><a 4807 id="HeaderDrawer-help-about-account" 4808 href="https://shopify.com/65846444213/account/profile?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmOWY1ZTEtMTQubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkyMDE3ODU2LCJuYmYiOjE3OTE0MTMwNTZ9.8uXrlC9_aIV1FD4gCc_uFT6LIGBEkvVZ8qTcC87-UYQ" 4809 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4810 4811 > 4812 Account 4813 </a></li><li><a 4814 id="HeaderDrawer-help-about-order-tracking" 4815 href="https://aromaparadise.com/apps/redo/returns-portal/login?next=/returns-portal/orders/{orderId}/track" 4816 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4817 4818 > 4819 Order Tracking 4820 </a></li><li><a 4821 id="HeaderDrawer-help-about-user-manual" 4822 href="/pages/waterless-diffuser-manuals" 4823 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4824 4825 > 4826 User Manual 4827 </a></li><li><a 4828 id="HeaderDrawer-help-about-diffuser-help" 4829 href="/pages/diffuser-diagnostic" 4830 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 4831 4832 > 4833 Diffuser Help 4834 </a></li></ul> 4835 </div> 4836 </div> 4837 </details></li></ul> 4838 </nav> 4839 <div class="menu-drawer__utility-links"><a 4840 href="https://aromaparadise.com/customer_authentication/redirect?locale=en®ion_country=US" 4841 class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide" 4842 ><account-icon><span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-account" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M6 4.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8m5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15M9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
48421-3.67-1.35-6.17-1.35" clip-rule="evenodd"/></svg> 4843</span></account-icon>Log in</a><div class="menu-drawer__localization header-localization"><localization-form><form method="post" action="/localization" id="HeaderCountryMobileForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div> 4844 <div class="visually-hidden" id="HeaderCountryMobileLabel"> 4845 Country/region 4846 </div> 4847 4848<div class="disclosure"> 4849 <button 4850 type="button" 4851 class="disclosure__button localization-form__select localization-selector link link--text caption-large" 4852 aria-expanded="false" 4853 aria-controls="HeaderCountryMobile-country-results" 4854 aria-describedby="HeaderCountryMobileLabel" 4855 > 4856 <span>United States | 4857 USD 4858 $</span> 4859 <svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4860 4861 </button> 4862 <div class="disclosure__list-wrapper country-selector" hidden> 4863 <div class="country-filter country-filter--no-padding"> 4864 4865 <button 4866 class="country-selector__close-button button--small link" 4867 type="button" 4868 aria-label="Close" 4869 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 4870</button> 4871 </div> 4872 <div id="sr-country-search-results" class="visually-hidden" aria-live="polite"></div> 4873 <div 4874 class="disclosure__list country-selector__list country-selector__list--with-multiple-currencies" 4875 id="HeaderCountryMobile-country-results" 4876 > 4877 4878 <ul role="list" class="list-unstyled countries"><li class="disclosure__item" tabindex="-1"> 4879 <a 4880 class="link link--text disclosure__link caption-large focus-inset" 4881 href="#" 4882 4883 data-value="CA" 4884 id="Canada" 4885 > 4886 <span 4887 4888 class="visibility-hidden" 4889 4890 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 4891</span> 4892 <span class="country">Canada</span> 4893 <span class="localization-form__currency motion-reduce"> 4894 CAD 4895 $</span> 4896 </a> 4897 </li><li class="disclosure__item" tabindex="-1"> 4898 <a 4899 class="link link--text disclosure__link caption-large focus-inset" 4900 href="#" 4901 4902 aria-current="true" 4903 4904 data-value="US" 4905 id="United States" 4906 > 4907 <span 4908 4909 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 4910</span> 4911 <span class="country">United States</span> 4912 <span class="localization-form__currency motion-reduce"> 4913 USD 4914 $</span> 4915 </a> 4916 </li></ul> 4917 </div> 4918 </div> 4919 <div class="country-selector__overlay"></div> 4920</div> 4921<input type="hidden" name="country_code" value="US"> 4922</div></form></localization-form> 4923 4924<localization-form><form method="post" action="/localization" id="HeaderLanguageMobileForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div> 4925 <div class="visually-hidden" id="HeaderLanguageMobileLabel"> 4926 Language 4927 </div><div class="disclosure"> 4928 <button 4929 type="button" 4930 class="disclosure__button localization-form__select localization-selector link link--text caption-large" 4931 aria-expanded="false" 4932 aria-controls="HeaderLanguageMobileList" 4933 aria-describedby="HeaderLanguageMobileLabel" 4934 > 4935 <span>English</span> 4936 <svg class="icon icon-caret" viewBox="0 0 10 6">
4936<path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 4937 4938 </button> 4939 <div class="disclosure__list-wrapper language-selector" hidden> 4940 <ul id="HeaderLanguageMobileList" role="list" class="disclosure__list list-unstyled"><li class="disclosure__item" tabindex="-1"> 4941 <a 4942 class="link link--text disclosure__link caption-large focus-inset" 4943 href="#" 4944 hreflang="en" 4945 lang="en" 4946 4947 aria-current="true" 4948 4949 data-value="en" 4950 > 4951 <span 4952 4953 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 4954</span> 4955 <span> 4956 English 4957 </span> 4958 </a> 4959 </li><li class="disclosure__item" tabindex="-1"> 4960 <a 4961 class="link link--text disclosure__link caption-large focus-inset" 4962 href="#" 4963 hreflang="es" 4964 lang="es" 4965 4966 data-value="es" 4967 > 4968 <span 4969 4970 class="visibility-hidden" 4971 4972 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 4973</span> 4974 <span> 4975 Español 4976 </span> 4977 </a> 4978 </li></ul> 4979 </div> 4980</div> 4981<input type="hidden" name="locale_code" value="en"> 4982</div></form></localization-form></div><ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> 4983 <a href="https://www.facebook.com/p/Aroma-Paradise-61570388635845/" class="list-social__link link"> 4984 <span class="svg-wrapper"><svg class="icon icon-facebook" viewBox="0 0 20 20"><path fill="currentColor" d="M18 10.049C18 5.603 14.419 2 10 2s-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951"/></svg> 4985</span> 4986 <span class="visually-hidden">Facebook</span> 4987 </a> 4988 </li><li class="list-social__item"> 4989 <a href="https://www.instagram.com/aromaparadise_official" class="list-social__link link"> 4990 <span class="svg-wrapper"><svg class="icon icon-instagram" viewBox="0 0 20 20"><path fill="currentColor" fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.4 2.4 0 0 0-.912.593 2.5 2.5 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23s.01 2.39.046 3.229c.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046s2.39-.01 3.23-.046c.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23s-.01-2.39-.055-3.229c-.027-.784-.164-1.204-.274-1.495a2.4 2.4 0 0 0-.593-.913 2.6 2.6 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045a63 63 0 0 1 3.302.045c.664.014 1.321.14 1.943.374a4 4 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.9 3.9 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.15 4.15 0 0 1-1.414-.922 4.1 4.1 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.4 4.4 0 0 1 .92-1.414 4.2 4.2 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805m1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93m5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355" clip-rule="evenodd"/></svg> 4991</span>
4992 <span class="visually-hidden">Instagram</span> 4993 </a> 4994 </li></ul> 4995 </div> 4996 </div> 4997 </div> 4998 </div> 4999 </details> 5000</header-drawer> 5001 5002 5003<details-modal class="header__search"> 5004 <details> 5005 <summary 5006 class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle globo-search-activator" 5007 aria-haspopup="dialog" 5008 aria-label="Search" 5009 > 5010 <span> 5011 <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"/></svg> 5012</span> 5013 <span class="svg-wrapper header__icon-close"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 5014</span> 5015 </span> 5016 </summary> 5017 <div 5018 class="search-modal modal__content gradient" 5019 role="dialog" 5020 aria-modal="true" 5021 aria-label="Search" 5022 > 5023 <div class="modal-overlay"></div> 5024 <div 5025 class="search-modal__content search-modal__content-bottom" 5026 tabindex="-1" 5027 ><search-form class="search-modal__form"><form action="/search" method="get" role="search" class="search search-modal__form"> 5028 <div class="field"> 5029 <input 5030 class="search__input field__input" 5031 id="Search-In-Modal-1" 5032 type="search" 5033 name="q" 5034 value="" 5035 placeholder="Search"> 5036 <label class="field__label" for="Search-In-Modal-1">Search</label> 5037 <input type="hidden" name="options[prefix]" value="last"> 5038 <button 5039 type="reset" 5040 class="reset__button field__button hidden" 5041 aria-label="Clear search term" 5042 > 5043 <span class="svg-wrapper"><svg fill="none" stroke="currentColor" class="icon icon-close" viewBox="0 0 18 18"><circle cx="9" cy="9" r="8.5" stroke-opacity=".2"/><path stroke-linecap="round" stroke-linejoin="round" d="M11.83 11.83 6.172 6.17M6.229 11.885l5.544-5.77"/></svg> 5044</span> 5045 </button> 5046 <button class="search__button field__button" aria-label="Search"> 5047 <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"/></svg> 5048</span> 5049 </button> 5050 </div></form></search-form><button 5051 type="button" 5052 class="search-modal__close-button modal__close-button link link--text focus-inset" 5053 aria-label="Close" 5054 > 5055 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 5056</span> 5057 </button> 5058 </div> 5059 </div> 5060 </details> 5061</details-modal> 5062<button class="apf-trigger header__icon header__icon--account link focus-inset apf-trigger--mobile-left" data-apf-open aria-label="Favorites" type="button" style="position:relative !important"> 5063 <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 5064 <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/> 5065 </svg> 5066 <span class="apf-trigger__count" data-apf-count hidden style="position:absolute !important;top:2px !important;right:2px !important;min-width:14px !important;height:14px !important;padding:0 3px !important;border-radius:999px !important;background:#b8912e !important;color:#fff !important;font:700 9px/1 Lato,sans-serif !important;letter-spacing:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;box-shadow:0 1px 2px rgba(20,17,16,0.18) !important;pointer-events:none !important;border:1px solid #fff !important;text-transform:none !important">0</span> 5067</button> 5068<div class="header__heading"><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> 5069 5070 <img src="//aromaparadise.com/cdn/shop/files/Logo_rect_trans_small_8a00b824-a46f-4df3-9550-f0271e354b14.png?v=1744744106&width=600" alt="Aroma Paradise " srcset="//aromaparadise.com/cdn/shop/files/Logo_rect_trans_small_8a00b824-a46f-4df3-9550-f0271e354b14.png?v=1744744106&width=120 120w, //aromaparadise.com/cdn/shop/files/Logo_rect_trans_small_8a00b824-a46f-4df3-9550-f0271e354b14.png?v=1744744106&width=180 180w, //aromaparadise.com/cdn/shop/files/Logo_rect_trans_small_8a00b824-a46f-4df3-9550-f0271e354b14.png?v=1744744106&width=240 240w" width="120" height="40" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 240px) 50vw, 120px"> 5071 </div></a></div> 5072 5073<nav class="header__inline-menu"> 5074 <ul class="list-menu list-menu--inline" role="list"><li><a 5075 id="HeaderMenu-home" 5076 href="/" 5077 class="header__menu-item list-menu__item link link--text focus-inset" 5078 5079 aria-current="page" 5080 5081 >
5082 <span 5083 class="header__active-menu-item" 5084 5085 >Home</span> 5086 </a></li><li><header-menu> 5087 <details id="Details-HeaderMenu-2"> 5088 <summary 5089 id="HeaderMenu-scent-your-space" 5090 class="header__menu-item list-menu__item link focus-inset" 5091 > 5092 <span 5093 >Scent Your Space</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5094</summary> 5095 <ul 5096 id="HeaderMenu-MenuList-2" 5097 class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" 5098 role="list" 5099 tabindex="-1" 5100 ><li><a 5101 id="HeaderMenu-scent-your-space-find-your-diffuser" 5102 href="/pages/find-your-diffuser" 5103 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5104 5105 > 5106 Find Your Diffuser 5107 </a></li><li><a 5108 id="HeaderMenu-scent-your-space-waterless-scent-diffusers" 5109 href="/collections/waterless-scent-diffusers" 5110 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5111 5112 > 5113 Waterless Scent Diffusers 5114 </a></li><li><a 5115 id="HeaderMenu-scent-your-space-humidifying-scent-diffuser" 5116 href="/collections/humidifying-scent-diffusers" 5117 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5118 5119 > 5120 Humidifying Scent Diffuser 5121 </a></li><li><a 5122 id="HeaderMenu-scent-your-space-sand-candle" 5123 href="/collections/sand-candle" 5124 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5125 5126 > 5127 Sand Candle 5128 </a></li><li><a 5129 id="HeaderMenu-scent-your-space-room-mist" 5130 href="/collections/8oz-room-mist" 5131 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5132 5133 > 5134 Room Mist 5135 </a></li><li><a 5136 id="HeaderMenu-scent-your-space-car-air-freshener" 5137 href="/collections/car-air-freshener-rocket" 5138 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5139 5140 > 5141 Car Air Freshener 5142 </a></li><li><a 5143 id="HeaderMenu-scent-your-space-incense" 5144 href="/collections/incense-sticks" 5145 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5146 5147 > 5148 Incense 5149 </a></li><li><a 5150 id="HeaderMenu-scent-your-space-bathroom-spray" 5151 href="/collections/oopsie-poopsie-toilet-sprays" 5152 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5153 5154 > 5155 Bathroom Spray 5156 </a></li></ul> 5157 </details> 5158 </header-menu></li><li><header-menu> 5159 <details id="Details-HeaderMenu-3"> 5160 <summary 5161 id="HeaderMenu-fragrance-oils" 5162 class="header__menu-item list-menu__item link focus-inset" 5163 >
5164 <span 5165 >Fragrance Oils</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5166</summary> 5167 <ul 5168 id="HeaderMenu-MenuList-3" 5169 class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" 5170 role="list" 5171 tabindex="-1" 5172 ><li><details id="Details-HeaderSubMenu-fragrance-oils-for-humidifying-diffuser"> 5173 <summary 5174 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser" 5175 class="header__menu-item link link--text list-menu__item focus-inset caption-large" 5176 > 5177 <span>For Humidifying Diffuser</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5178</summary> 5179 <ul 5180 id="HeaderMenu-SubMenuList-fragrance-oils-for-humidifying-diffuser-" 5181 class="header__submenu list-menu motion-reduce" 5182 ><li> 5183 <a 5184 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-shop-all" 5185 href="/collections/regular-fragrance-oils" 5186 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5187 5188 > 5189 Shop All 5190 </a> 5191 </li><li> 5192 <a 5193 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-perfume-fragrance-oils" 5194 href="/collections/perfume-fragrance-oils" 5195 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5196 5197 > 5198 Perfume Fragrance Oils 5199 </a> 5200 </li><li> 5201 <a 5202 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-hotel-fragrance-oils" 5203 href="/collections/hotel-collection-fragrance-oils" 5204 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5205 5206 > 5207 Hotel Fragrance Oils 5208 </a> 5209 </li><li> 5210 <a 5211 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-nature-fragrance-oils" 5212 href="/collections/nature-inspired-fragrance-oils" 5213 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5214 5215 > 5216 Nature Fragrance Oils 5217 </a> 5218 </li><li> 5219 <a 5220 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-zodiac-fragrance-oils" 5221 href="/collections/zodiac-fragrance-oils" 5222 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5223 5224 > 5225 Zodiac Fragrance Oils 5226 </a> 5227 </li><li> 5228 <a 5229 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-spiritual-fragrance-oils" 5230 href="/collections/spiritual-healing-fragrance-oils" 5231 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5232 5233 > 5234 Spiritual Fragrance Oils 5235 </a> 5236 </li><li> 5237 <a 5238 id="HeaderMenu-fragrance-oils-for-humidifying-diffuser-essential-oils" 5239 href="/collections/essential-oils" 5240 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5241 5242 > 5243 Essential Oils 5244 </a> 5245 </li></ul> 5246 </details></li><li>
5246<details id="Details-HeaderSubMenu-fragrance-oils-for-waterless-diffusers"> 5247 <summary 5248 id="HeaderMenu-fragrance-oils-for-waterless-diffusers" 5249 class="header__menu-item link link--text list-menu__item focus-inset caption-large" 5250 > 5251 <span>For Waterless Diffusers</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5252</summary> 5253 <ul 5254 id="HeaderMenu-SubMenuList-fragrance-oils-for-waterless-diffusers-" 5255 class="header__submenu list-menu motion-reduce" 5256 ><li> 5257 <a 5258 id="HeaderMenu-fragrance-oils-for-waterless-diffusers-shop-all" 5259 href="/collections/waterless-fragrance-oils-1" 5260 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5261 5262 > 5263 Shop All 5264 </a> 5265 </li><li> 5266 <a 5267 id="HeaderMenu-fragrance-oils-for-waterless-diffusers-hotel-waterless-fragrance-oils" 5268 href="/collections/hotel-waterless-fragrance" 5269 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5270 5271 > 5272 Hotel Waterless Fragrance Oils 5273 </a> 5274 </li><li> 5275 <a 5276 id="HeaderMenu-fragrance-oils-for-waterless-diffusers-perfume-waterless-fragrance-oils" 5277 href="/collections/perfume-waterless-fragrance" 5278 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5279 5280 > 5281 Perfume Waterless Fragrance Oils 5282 </a> 5283 </li><li> 5284 <a 5285 id="HeaderMenu-fragrance-oils-for-waterless-diffusers-nature-waterless-fragrance-oils" 5286 href="/collections/nature-waterless-fragrance-oils" 5287 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5288 5289 > 5290 Nature Waterless Fragrance Oils 5291 </a> 5292 </li></ul> 5293 </details></li><li><a 5294 id="HeaderMenu-fragrance-oils-roll-on-perfume-body-oil" 5295 href="/collections/perfume-body-oils" 5296 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5297 5298 > 5299 Roll-On Perfume Body Oil 5300 </a></li></ul> 5301 </details> 5302 </header-menu></li><li><a 5303 id="HeaderMenu-scent-membership-save-20" 5304 href="/pages/scent-membership-builder" 5305 class="header__menu-item list-menu__item link link--text focus-inset" 5306 5307 > 5308 <span 5309 >Scent Membership · Save 20%</span> 5310 </a></li><li><header-menu> 5311 <details id="Details-HeaderMenu-5"> 5312 <summary 5313 id="HeaderMenu-ritual-wellness" 5314 class="header__menu-item list-menu__item link focus-inset" 5315 > 5316 <span 5317 >Ritual & Wellness</span><svg class="icon icon-caret" viewBox="0 0 10 6">
5317<path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5318</summary> 5319 <ul 5320 id="HeaderMenu-MenuList-5" 5321 class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" 5322 role="list" 5323 tabindex="-1" 5324 ><li><details id="Details-HeaderSubMenu-ritual-wellness-incense"> 5325 <summary 5326 id="HeaderMenu-ritual-wellness-incense" 5327 class="header__menu-item link link--text list-menu__item focus-inset caption-large" 5328 > 5329 <span>Incense</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5330</summary> 5331 <ul 5332 id="HeaderMenu-SubMenuList-ritual-wellness-incense-" 5333 class="header__submenu list-menu motion-reduce" 5334 ><li> 5335 <a 5336 id="HeaderMenu-ritual-wellness-incense-shop-all" 5337 href="/collections/incense-sticks" 5338 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5339 5340 > 5341 Shop All 5342 </a> 5343 </li><li> 5344 <a 5345 id="HeaderMenu-ritual-wellness-incense-incense-cones" 5346 href="/collections/sage-incense-cones" 5347 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5348 5349 > 5350 Incense Cones 5351 </a> 5352 </li><li> 5353 <a 5354 id="HeaderMenu-ritual-wellness-incense-incense-holder" 5355 href="/collections/incense-holders" 5356 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5357 5358 > 5359 Incense Holder 5360 </a> 5361 </li><li> 5362 <a 5363 id="HeaderMenu-ritual-wellness-incense-incense-sticks" 5364 href="/collections/incense-sticks" 5365 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5366 5367 > 5368 Incense Sticks 5369 </a> 5370 </li><li> 5371 <a 5372 id="HeaderMenu-ritual-wellness-incense-back-flow-burners" 5373 href="/collections/back-flow-burner-and-cones" 5374 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5375 5376 > 5377 Back Flow Burners 5378 </a> 5379 </li></ul> 5380 </details></li><li><a 5381 id="HeaderMenu-ritual-wellness-cleansing-smudge" 5382 href="/collections/sage" 5383 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5384 5385 > 5386 Cleansing Smudge 5387 </a></li><li>
5387<details id="Details-HeaderSubMenu-ritual-wellness-bracelets"> 5388 <summary 5389 id="HeaderMenu-ritual-wellness-bracelets" 5390 class="header__menu-item link link--text list-menu__item focus-inset caption-large" 5391 > 5392 <span>Bracelets</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5393</summary> 5394 <ul 5395 id="HeaderMenu-SubMenuList-ritual-wellness-bracelets-" 5396 class="header__submenu list-menu motion-reduce" 5397 ><li> 5398 <a 5399 id="HeaderMenu-ritual-wellness-bracelets-shop-all" 5400 href="/collections/bracelets" 5401 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5402 5403 > 5404 Shop All 5405 </a> 5406 </li><li> 5407 <a 5408 id="HeaderMenu-ritual-wellness-bracelets-power-bracelets" 5409 href="/collections/power-bracelets" 5410 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5411 5412 > 5413 Power Bracelets 5414 </a> 5415 </li><li> 5416 <a 5417 id="HeaderMenu-ritual-wellness-bracelets-aromatherapy-bracelet" 5418 href="/collections/aromatherapy-bracelet" 5419 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5420 5421 > 5422 Aromatherapy Bracelet 5423 </a> 5424 </li><li> 5425 <a 5426 id="HeaderMenu-ritual-wellness-bracelets-zodiac-bracelets" 5427 href="/collections/zodiac-bracelets" 5428 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5429 5430 > 5431 Zodiac Bracelets 5432 </a> 5433 </li><li> 5434 <a 5435 id="HeaderMenu-ritual-wellness-bracelets-wish-bracelets" 5436 href="/collections/wish-bracelets" 5437 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5438 5439 > 5440 Wish Bracelets 5441 </a> 5442 </li></ul> 5443 </details></li><li><a 5444 id="HeaderMenu-ritual-wellness-crystal-pendants" 5445 href="/collections/crystal-pendants" 5446 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5447 5448 > 5449 Crystal Pendants 5450 </a></li><li><a 5451 id="HeaderMenu-ritual-wellness-intention-kits" 5452 href="/collections/intention-kits" 5453 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5454 5455 > 5456 Intention Kits 5457 </a></li><li><a 5458 id="HeaderMenu-ritual-wellness-cleansing-water" 5459 href="/collections/cleansing-water" 5460 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5461 5462 > 5463 Cleansing Water 5464 </a></li><li><a 5465 id="HeaderMenu-ritual-wellness-magic-spell-candles" 5466 href="/collections/magic-spell-candles" 5467 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5468 5469 > 5470 Magic Spell Candles 5471 </a></li><li><a 5472 id="HeaderMenu-ritual-wellness-crystal-energy-tree" 5473 href="/collections/money-tree" 5474 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5475 5476 > 5477 Crystal Energy Tree 5478 </a></li></ul> 5479 </details> 5480 </header-menu></li><li><a 5481 id="HeaderMenu-scent-quiz" 5482 href="https://aromaparadise.com/pages/scent-quiz" 5483 class="header__menu-item list-menu__item link link--text focus-inset" 5484 5485 >
5486 <span 5487 >Scent Quiz</span> 5488 </a></li><li><header-menu> 5489 <details id="Details-HeaderMenu-7"> 5490 <summary 5491 id="HeaderMenu-business-scenting" 5492 class="header__menu-item list-menu__item link focus-inset" 5493 > 5494 <span 5495 >Business Scenting</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5496</summary> 5497 <ul 5498 id="HeaderMenu-MenuList-7" 5499 class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" 5500 role="list" 5501 tabindex="-1" 5502 ><li><a 5503 id="HeaderMenu-business-scenting-business-scenting-overview" 5504 href="/pages/business-scenting" 5505 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5506 5507 > 5508 Business Scenting Overview 5509 </a></li><li><a 5510 id="HeaderMenu-business-scenting-plan-your-scent-system" 5511 href="/pages/business-scent-planner" 5512 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5513 5514 > 5515 Plan Your Scent System 5516 </a></li><li><a 5517 id="HeaderMenu-business-scenting-compare-commercial-diffusers" 5518 href="/blogs/news/best-commercial-scent-diffuser-for-business" 5519 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5520 5521 > 5522 Compare Commercial Diffusers 5523 </a></li><li><a 5524 id="HeaderMenu-business-scenting-cost-calculator" 5525 href="/blogs/news/commercial-scenting-cost" 5526 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5527 5528 > 5529 Cost Calculator 5530 </a></li><li><a 5531 id="HeaderMenu-business-scenting-hvac-scenting" 5532 href="/collections/hvac-scent-diffusers" 5533 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5534 5535 > 5536 HVAC Scenting 5537 </a></li><li><a 5538 id="HeaderMenu-business-scenting-retail-stores" 5539 href="/blogs/news/retail-scent-machines" 5540 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5541 5542 > 5543 Retail Stores 5544 </a></li><li><a 5545 id="HeaderMenu-business-scenting-hotels-resorts" 5546 href="/blogs/news/hotel-lobby-scenting-guide-for-owners" 5547 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5548 5549 > 5550 Hotels & Resorts 5551 </a></li><li><a 5552 id="HeaderMenu-business-scenting-offices" 5553 href="/blogs/news/office-scent-diffuser-guide" 5554 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5555 5556 > 5557 Offices 5558 </a></li></ul> 5559 </details> 5560 </header-menu></li><li><a 5561 id="HeaderMenu-rewards" 5562 href="/pages/rewards" 5563 class="header__menu-item list-menu__item link link--text focus-inset" 5564 5565 >
5566 <span 5567 >Rewards</span> 5568 </a></li><li><a 5569 id="HeaderMenu-aroma-blog" 5570 href="/blogs/news" 5571 class="header__menu-item list-menu__item link link--text focus-inset" 5572 5573 > 5574 <span 5575 >Aroma Blog</span> 5576 </a></li><li><header-menu> 5577 <details id="Details-HeaderMenu-10"> 5578 <summary 5579 id="HeaderMenu-help-about" 5580 class="header__menu-item list-menu__item link focus-inset" 5581 > 5582 <span 5583 >Help & About</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5584</summary> 5585 <ul 5586 id="HeaderMenu-MenuList-10" 5587 class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" 5588 role="list" 5589 tabindex="-1" 5590 ><li><a 5591 id="HeaderMenu-help-about-about-us" 5592 href="/pages/about-us" 5593 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5594 5595 > 5596 About Us 5597 </a></li><li><a 5598 id="HeaderMenu-help-about-contact-us" 5599 href="https://aromaparadise.com/pages/contact?view=contact-v7" 5600 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5601 5602 > 5603 Contact Us 5604 </a></li><li><a 5605 id="HeaderMenu-help-about-account" 5606 href="https://shopify.com/65846444213/account/profile?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmOWY1ZTEtMTQubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkyMDE3ODU2LCJuYmYiOjE3OTE0MTMwNTZ9.8uXrlC9_aIV1FD4gCc_uFT6LIGBEkvVZ8qTcC87-UYQ" 5607 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5608 5609 > 5610 Account 5611 </a></li><li><a 5612 id="HeaderMenu-help-about-order-tracking" 5613 href="https://aromaparadise.com/apps/redo/returns-portal/login?next=/returns-portal/orders/{orderId}/track" 5614 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5615 5616 > 5617 Order Tracking 5618 </a></li><li><a 5619 id="HeaderMenu-help-about-user-manual" 5620 href="/pages/waterless-diffuser-manuals" 5621 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5622 5623 > 5624 User Manual 5625 </a></li><li><a 5626 id="HeaderMenu-help-about-diffuser-help" 5627 href="/pages/diffuser-diagnostic" 5628 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 5629 5630 > 5631 Diffuser Help 5632 </a></li></ul> 5633 </details> 5634 </header-menu></li></ul> 5635</nav> 5636 5637<div class="header__icons header__icons--localization header-localization"> 5638 <div class="desktop-localization-wrapper"><localization-form class="small-hide medium-hide" data-prevent-hide><form method="post" action="/localization" id="HeaderCountryForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div> 5639 <div class="visually-hidden" id="HeaderCountryLabel">Country/region</div> 5640 5641<div class="disclosure"> 5642 <button 5643 type="button" 5644 class="disclosure__button localization-form__select localization-selector link link--text caption-large" 5645 aria-expanded="false" 5646 aria-controls="HeaderCountry-country-results" 5647 aria-describedby="HeaderCountryLabel" 5648 > 5649 <span>United States | 5650 USD
5651 $</span> 5652 <svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5653 5654 </button> 5655 <div class="disclosure__list-wrapper country-selector" hidden> 5656 <div class="country-filter country-filter--no-padding"> 5657 5658 <button 5659 class="country-selector__close-button button--small link" 5660 type="button" 5661 aria-label="Close" 5662 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 5663</button> 5664 </div> 5665 <div id="sr-country-search-results" class="visually-hidden" aria-live="polite"></div> 5666 <div 5667 class="disclosure__list country-selector__list country-selector__list--with-multiple-currencies" 5668 id="HeaderCountry-country-results" 5669 > 5670 5671 <ul role="list" class="list-unstyled countries"><li class="disclosure__item" tabindex="-1"> 5672 <a 5673 class="link link--text disclosure__link caption-large focus-inset" 5674 href="#" 5675 5676 data-value="CA" 5677 id="Canada" 5678 > 5679 <span 5680 5681 class="visibility-hidden" 5682 5683 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 5684</span> 5685 <span class="country">Canada</span> 5686 <span class="localization-form__currency motion-reduce"> 5687 CAD 5688 $</span> 5689 </a> 5690 </li><li class="disclosure__item" tabindex="-1"> 5691 <a 5692 class="link link--text disclosure__link caption-large focus-inset" 5693 href="#" 5694 5695 aria-current="true" 5696 5697 data-value="US" 5698 id="United States" 5699 > 5700 <span 5701 5702 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 5703</span> 5704 <span class="country">United States</span> 5705 <span class="localization-form__currency motion-reduce"> 5706 USD 5707 $</span> 5708 </a> 5709 </li></ul> 5710 </div> 5711 </div> 5712 <div class="country-selector__overlay"></div> 5713</div> 5714<input type="hidden" name="country_code" value="US"> 5715</div></form></localization-form> 5716 5717<localization-form class="small-hide medium-hide" data-prevent-hide><form method="post" action="/localization" id="HeaderLanguageForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div> 5718 <div class="visually-hidden" id="HeaderLanguageLabel">Language</div><div class="disclosure"> 5719 <button 5720 type="button" 5721 class="disclosure__button localization-form__select localization-selector link link--text caption-large" 5722 aria-expanded="false" 5723 aria-controls="HeaderLanguageList" 5724 aria-describedby="HeaderLanguageLabel" 5725 > 5726 <span>English</span> 5727 <svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 5728 5729 </button> 5730 <div class="disclosure__list-wrapper language-selector" hidden> 5731 <ul id="HeaderLanguageList" role="list" class="disclosure__list list-unstyled"><li class="disclosure__item" tabindex="-1"> 5732 <a 5733 class="link link--text disclosure__link caption-large focus-inset" 5734 href="#" 5735 hreflang="en" 5736 lang="en" 5737 5738 aria-current="true" 5739 5740 data-value="en" 5741 >
5742 <span 5743 5744 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 5745</span> 5746 <span> 5747 English 5748 </span> 5749 </a> 5750 </li><li class="disclosure__item" tabindex="-1"> 5751 <a 5752 class="link link--text disclosure__link caption-large focus-inset" 5753 href="#" 5754 hreflang="es" 5755 lang="es" 5756 5757 data-value="es" 5758 > 5759 <span 5760 5761 class="visibility-hidden" 5762 5763 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 5764</span> 5765 <span> 5766 Español 5767 </span> 5768 </a> 5769 </li></ul> 5770 </div> 5771</div> 5772<input type="hidden" name="locale_code" value="en"> 5773</div></form></localization-form></div> 5774 5775 5776<details-modal class="header__search"> 5777 <details> 5778 <summary 5779 class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle globo-search-activator" 5780 aria-haspopup="dialog" 5781 aria-label="Search" 5782 > 5783 <span> 5784 <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"/></svg> 5785</span> 5786 <span class="svg-wrapper header__icon-close"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 5787</span> 5788 </span> 5789 </summary> 5790 <div 5791 class="search-modal modal__content gradient" 5792 role="dialog" 5793 aria-modal="true" 5794 aria-label="Search" 5795 > 5796 <div class="modal-overlay"></div> 5797 <div 5798 class="search-modal__content search-modal__content-bottom" 5799 tabindex="-1" 5800 ><search-form class="search-modal__form"><form action="/search" method="get" role="search" class="search search-modal__form"> 5801 <div class="field"> 5802 <input 5803 class="search__input field__input" 5804 id="Search-In-Modal" 5805 type="search" 5806 name="q" 5807 value="" 5808 placeholder="Search"> 5809 <label class="field__label" for="Search-In-Modal">Search</label> 5810 <input type="hidden" name="options[prefix]" value="last"> 5811 <button 5812 type="reset" 5813 class="reset__button field__button hidden" 5814 aria-label="Clear search term" 5815 > 5816 <span class="svg-wrapper"><svg fill="none" stroke="currentColor" class="icon icon-close" viewBox="0 0 18 18"><circle cx="9" cy="9" r="8.5" stroke-opacity=".2"/><path stroke-linecap="round" stroke-linejoin="round" d="M11.83 11.83 6.172 6.17M6.229 11.885l5.544-5.77"/></svg> 5817</span> 5818 </button> 5819 <button class="search__button field__button" aria-label="Search"> 5820 <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"/></svg> 5821</span> 5822 </button> 5823 </div></form></search-form><button 5824 type="button" 5825 class="search-modal__close-button modal__close-button link link--text focus-inset" 5826 aria-label="Close" 5827 >
5828 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 5829</span> 5830 </button> 5831 </div> 5832 </div> 5833 </details> 5834</details-modal> 5835 5836 <button class="apf-trigger header__icon header__icon--account link focus-inset" data-apf-open aria-label="Favorites" type="button" style="position:relative !important"> 5837 <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 5838 <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/> 5839 </svg> 5840 <span class="apf-trigger__count" data-apf-count hidden style="position:absolute !important;top:2px !important;right:2px !important;min-width:14px !important;height:14px !important;padding:0 3px !important;border-radius:999px !important;background:#b8912e !important;color:#fff !important;font:700 9px/1 Lato,sans-serif !important;letter-spacing:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;box-shadow:0 1px 2px rgba(20,17,16,0.18) !important;pointer-events:none !important;border:1px solid #fff !important;text-transform:none !important">0</span> 5841</button><div class="apf" data-apf hidden role="dialog" aria-modal="true" aria-labelledby="apf-title"> 5842 <div class="apf__backdrop" data-apf-close></div> 5843 <aside class="apf__sheet"> 5844 <header class="apf__head"> 5845 <div class="apf__title" id="apf-title">Your Favorites <span class="apf__head-count" data-apf-head-count></span></div> 5846 <button class="apf__close" data-apf-close aria-label="Close"> 5847 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg> 5848 </button> 5849 </header> 5850 <div class="apf__items" data-apf-items> 5851 <div class="apf__empty"> 5852 <svg width="42" height="42" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 5853 <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/> 5854 </svg> 5855 <p>You haven't saved any favorites yet.</p> 5856 <p class="apf__empty-sub">Tap the heart on any product to save it here.</p> 5857 </div> 5858 </div> 5859 <footer class="apf__foot" data-apf-foot hidden> 5860 <button class="apf__clear" data-apf-clear>Clear all</button> 5861 </footer> 5862 </aside> 5863</div> 5864 5865<style> 5866 .apf-trigger{ 5867 appearance:none;background:transparent;border:none;cursor:pointer; 5868 position:relative; 5869 display:inline-flex;align-items:center;justify-content:center; 5870 color:rgb(var(--color-foreground,18,18,18)); 5871 transition:color 180ms ease; 5872 padding:0; 5873 } 5874 .apf-trigger:hover{color:#b8912e} 5875 .apf-trigger svg{display:block} 5876 .apf-trigger__count{ 5877 position:absolute;top:4px;right:4px; 5878 min-width:18px;height:18px;padding:0 5px; 5879 border-radius:999px; 5880 background:#b8912e;color:#fff; 5881 font-family:Lato,sans-serif; 5882 font-size:10.5px;font-weight:700; 5883 display:inline-flex;align-items:center;justify-content:center; 5884 line-height:1; 5885 box-shadow:0 1px 3px rgba(20,17,16,0.12); 5886 pointer-events:none; 5887 } 5888 .apf-trigger__count[hidden]{display:none !important} 5889 5890 /* Drawer */ 5891 .apf{position:fixed;inset:0;z-index:2147483000;opacity:0;pointer-events:none;transition:opacity 240ms cubic-bezier(.4,0,.2,1)} 5892 .apf.show{opacity:1;pointer-events:auto} 5893 .apf[hidden]{display:none !important} 5894 .apf__backdrop{position:absolute;inset:0;background:rgba(20,17,16,0.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer} 5895 .apf__sheet{ 5896 position:absolute;top:0;right:0;bottom:0; 5897 width:100%;max-width:420px; 5898 background:#fff; 5899 display:flex;flex-direction:column; 5900 transform:translateX(100%); 5901 transition:transform 320ms cubic-bezier(.4,0,.2,1); 5902 box-shadow:-12px 0 36px rgba(20,17,16,0.12); 5903 font-family:Lato,sans-serif; 5904 color:#141110; 5905 } 5906 .apf.show .apf__sheet{transform:translateX(0)} 5907 5908 .apf__head{ 5909 display:flex;justify-content:space-between;align-items:center; 5910 padding:20px 22px 16px;
5910border-bottom:1px solid #e6ddd1; 5911 } 5912 .apf__title{ 5913 margin:0;font-family:Prata,Georgia,serif; 5914 font-weight:400;font-size:22px;letter-spacing:-0.005em; 5915 } 5916 .apf__head-count{font-family:Lato,sans-serif;font-size:12px;color:#7b7063;font-weight:500;margin-left:6px} 5917 .apf__head-count:empty{display:none} 5918 .apf__close{ 5919 appearance:none;background:#f4efe5;border:none;cursor:pointer; 5920 width:32px;height:32px;border-radius:999px; 5921 display:inline-flex;align-items:center;justify-content:center; 5922 color:#4a423a; 5923 transition:all 180ms cubic-bezier(.4,0,.2,1); 5924 padding:0; 5925 } 5926 .apf__close:hover{background:#141110;color:#fff;transform:rotate(90deg)} 5927 5928 .apf__items{flex:1;overflow-y:auto;padding:8px 22px} 5929 .apf__empty{padding:60px 20px;text-align:center;color:#7b7063} 5930 .apf__empty svg{color:#d4c4a0;margin-bottom:12px} 5931 .apf__empty p{margin:0;font-size:14px;line-height:1.5} 5932 .apf__empty-sub{font-size:12.5px;color:#a0977f !important;margin-top:6px !important} 5933 5934 .apf-item{ 5935 display:grid;grid-template-columns:64px 1fr auto;gap:12px; 5936 padding:14px 0;border-bottom:1px solid #e6ddd1; 5937 align-items:center; 5938 } 5939 .apf-item:last-child{border-bottom:none} 5940 .apf-item__thumb{ 5941 width:64px;height:64px;border-radius:8px; 5942 background-size:cover;background-position:center;background-color:#f4efe5; 5943 text-decoration:none; 5944 } 5945 .apf-item__body{min-width:0;display:flex;flex-direction:column;gap:3px} 5946 .apf-item__name{ 5947 font-family:Prata,Georgia,serif; 5948 font-weight:400;font-size:14px;line-height:1.25; 5949 color:#141110;text-decoration:none; 5950 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; 5951 margin:0; 5952 } 5953 .apf-item__name:hover{color:#b8912e} 5954 .apf-item__price{font-family:Lato,sans-serif;font-size:13px;font-weight:600;color:#141110;font-feature-settings:"tnum"} 5955 .apf-item__price-was{color:#b5ad9b;text-decoration:line-through;font-weight:500;margin-left:6px;font-size:11.5px} 5956 .apf-item__rm{ 5957 appearance:none;background:transparent;border:none;cursor:pointer; 5958 color:#a0977f;width:30px;height:30px;border-radius:999px; 5959 display:inline-flex;align-items:center;justify-content:center; 5960 transition:all 180ms cubic-bezier(.4,0,.2,1);padding:0; 5961 } 5962 .apf-item__rm:hover{background:#fdeee9;color:#c8452b} 5963 .apf-item--loading{opacity:0.4} 5964 5965 .apf__foot{padding:16px 22px;border-top:1px solid #e6ddd1;display:flex;justify-content:flex-end} 5966 .apf__foot[hidden]{display:none !important} 5967 .apf__clear{ 5968 appearance:none;background:transparent;border:none;cursor:pointer; 5969 font-family:Lato,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase; 5970 color:#a0977f;padding:6px 10px;border-radius:999px; 5971 transition:color 160ms ease; 5972 } 5973 .apf__clear:hover{color:#c8452b} 5974 5975 body.apf-no-scroll{overflow:hidden} 5976 5977 /* Mobile placement: mobile-left trigger shows only on mobile; the default (right-side) trigger hides on mobile */ 5978 .apf-trigger--mobile-left{display:none !important} 5979 @media (max-width:989px){ 5980 .apf-trigger--mobile-left{ 5981 display:inline-flex !important; 5982 align-items:center;justify-content:center; 5983 width:44px;height:44px;padding:0; 5984 /* Pin into the same grid column as the hamburger, placed just to its right */ 5985 grid-column:1 / 2;grid-row:1; 5986 justify-self:start;align-self:center; 5987 margin-left:30px; /* tucked close to the hamburger for symmetry with right-side icons */ 5988 position:relative;z-index:2; 5989 } 5990 /* Hide the right-side favorites trigger on mobile (inside .header__icons) */ 5991 .header__icons .apf-trigger:not(.apf-trigger--mobile-left){display:none !important} 5992 } 5993 5994 @media (max-width:480px){ 5995 .apf__sheet{max-width:none} 5996 .apf__title{font-size:19px} 5997 } 5998</style> 5999
6000<script> 6001(function(){ 6002 if (window.__apfBound) return; 6003 window.__apfBound = true; 6004 6005 const KEY = 'apgp_wishlist'; 6006 const FMT = (cents) => '$' + (Math.abs(cents/100) >= 100 ? Math.round(cents/100).toString() : (cents/100).toFixed(2)); 6007 const ROOT = "\/"; 6008 const I18N = { 6009 emptyTitle: "You haven\u0026#39;t saved any favorites yet.", 6010 emptyCopy: "Tap the heart on any product to save it here.", 6011 loading: "Loadingâ¦", 6012 productUnavailable: "Product unavailable", 6013 remove: "Remove", 6014 removeFromFavorites: "Remove from favorites", 6015 viewProduct: "View __PRODUCT__" 6016 }; 6017 const localizedPath = (path) => (ROOT === '/' ? '' : ROOT) + path; 6018 const escapeHtml = (value) => String(value == null ? '' : value).replace(/[&<>"']/g, character => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[character])); 6019 const translationText = (value) => { 6020 const textarea = document.createElement('textarea'); 6021 textarea.innerHTML = String(value == null ? '' : value); 6022 return escapeHtml(textarea.value); 6023 }; 6024 const withProduct = (template, product) => template.replace('__PRODUCT__', product || ''); 6025 6026 function getList(){ 6027 try { return JSON.parse(localStorage.getItem(KEY) || '[]'); } catch { return []; } 6028 } 6029 function setList(arr){ 6030 localStorage.setItem(KEY, JSON.stringify(arr)); 6031 refreshCount(); 6032 } 6033 function refreshCount(){ 6034 const arr = getList(); 6035 document.querySelectorAll('[data-apf-count]').forEach(el => { 6036 el.textContent = arr.length; 6037 el.hidden = arr.length === 0; 6038 }); 6039 const hc = document.querySelector('[data-apf-head-count]'); 6040 if (hc) hc.textContent = arr.length ? `(${arr.length})` : ''; 6041 } 6042 refreshCount(); 6043 6044 // Listen for changes from other tabs / from grid hearts 6045 window.addEventListener('storage', e => { if (e.key === KEY) refreshCount(); }); 6046 /* The grid hearts call localStorage.setItem directly â patch it so this updates */ 6047 const _setItem = Storage.prototype.setItem; 6048 Storage.prototype.setItem = function(k, v){ 6049 _setItem.apply(this, arguments); 6050 if (k === KEY) refreshCount(); 6051 }; 6052 6053 let cache = {}; 6054 6055 async function fetchProduct(handle){ 6056 if (cache[handle]) return cache[handle]; 6057 try { 6058 const r = await fetch(localizedPath('/products/' + handle + '.js'), { headers: {'Accept':'application/json'} }); 6059 if (!r.ok) return null; 6060 const p = await r.json(); 6061 cache[handle] = p; 6062 return p; 6063 } catch { return null; } 6064 } 6065 6066 async function renderItems(){ 6067 const wrap = document.querySelector('[data-apf-items]'); 6068 const foot = document.querySelector('[data-apf-foot]'); 6069 if (!wrap) return; 6070 const arr = getList(); 6071 if (!arr.length){ 6072 wrap.innerHTML = `<div class="apf__empty"> 6073 <svg width="42" height="42" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg> 6074 <p>${translationText(I18N.emptyTitle)}</p> 6075 <p class="apf__empty-sub">${translationText(I18N.emptyCopy)}</p> 6076 </div>`; 6077 if (foot) foot.hidden = true; 6078 return; 6079 } 6080 if (foot) foot.hidden = false; 6081 6082 /* skeleton rows while we fetch */ 6083 wrap.innerHTML = arr.map(h => ` 6084 <div class="apf-item apf-item--loading" data-apf-handle="${h}"> 6085 <div class="apf-item__thumb"></div> 6086 <div class="apf-item__body"><span class="apf-item__name">${escapeHtml(I18N.loading)}</span></div> 6087 </div>`).join(''); 6088 6089 /* fetch each in parallel */ 6090 const products = await Promise.all(arr.map(h => fetchProduct(h))); 6091 6092 /* Inline-style strings to defeat theme overrides */ 6093 const ITEM_S = 'display:grid !important;grid-template-columns:64px 1fr 32px !important;gap:14px !important;padding:14px 0 !important;border-bottom:1px solid #e6ddd1 !important;align-items:center !important;width:100% !important'; 6094 const THUMB_S = 'width:64px !important;height:64px !important;border-radius:8px !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;background-color:#f4efe5 !important;text-decoration:none !important;display:block !important;flex-shrink:0 !important'; 6095 const BODY_S = 'min-width:0 !important;display:flex !important;flex-direction:column !important;gap:4px !important'; 6096 const NAME_S = 'font-family:Prata,Georgia,serif !important;font-weight:400 !important;font-size:14px !important;line-height:1.3 !important;color:#141110 !important;text-decoration:none !important;display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;margin:0 !important;letter-spacing:0 !important;text-transform:none !important'; 6097 const PRICE_S = 'font-family:Lato,sans-serif !important;font-size:13px !important;font-weight:600 !important;color:#141110 !important;font-feature-settings:"tnum" !important;display:inline-flex !important;
6097align-items:baseline !important;gap:6px !important'; 6098 const WAS_S = 'color:#b5ad9b !important;text-decoration:line-through !important;font-weight:500 !important;font-size:11.5px !important'; 6099 const RM_S = 'background:transparent !important;border:none !important;cursor:pointer !important;color:#a0977f !important;width:30px !important;height:30px !important;border-radius:999px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:0 !important;flex-shrink:0 !important'; 6100 6101 const html = arr.map((h, i) => { 6102 const p = products[i]; 6103 if (!p){ 6104 return `<div class="apf-item" style="${ITEM_S}"> 6105 <div class="apf-item__thumb" style="${THUMB_S}"></div> 6106 <div class="apf-item__body" style="${BODY_S}"> 6107 <span class="apf-item__name" style="${NAME_S};color:#a0977f !important">${escapeHtml(I18N.productUnavailable)}</span> 6108 <span class="apf-item__price" style="${PRICE_S};color:#a0977f !important">${h}</span> 6109 </div> 6110 <button class="apf-item__rm" data-apf-rm="${h}" aria-label="${escapeHtml(I18N.remove)}" style="${RM_S}"> 6111 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg> 6112 </button> 6113 </div>`; 6114 } 6115 const onSale = p.compare_at_price && p.compare_at_price > p.price; 6116 let img = p.featured_image || (p.images && p.images[0]) || ''; 6117 if (img && img.startsWith('//')) img = 'https:' + img; 6118 const sep = img.includes('?') ? '&' : '?'; 6119 const thumbUrl = img ? `${img}${sep}width=200` : ''; 6120 return `<div class="apf-item" data-handle="${p.handle}" style="${ITEM_S}"> 6121 <a href="${localizedPath('/products/' + encodeURIComponent(p.handle))}" class="apf-item__thumb" style="${THUMB_S};background-image:url('${thumbUrl}') !important" aria-label="${escapeHtml(withProduct(I18N.viewProduct, p.title))}"></a> 6122 <div class="apf-item__body" style="${BODY_S}"> 6123 <a class="apf-item__name" href="${localizedPath('/products/' + encodeURIComponent(p.handle))}" style="${NAME_S}">${p.title}</a> 6124 <span class="apf-item__price" style="${PRICE_S}"> 6125 <span>${FMT(p.price)}</span> 6126 ${onSale ? `<span class="apf-item__price-was" style="${WAS_S}">${FMT(p.compare_at_price)}</span>` : ''} 6127 </span> 6128 </div> 6129 <button class="apf-item__rm" data-apf-rm="${p.handle}" aria-label="${escapeHtml(I18N.removeFromFavorites)}" style="${RM_S}"> 6130 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg> 6131 </button> 6132 </div>`; 6133 }).join(''); 6134 wrap.innerHTML = html; 6135 6136 /* Bind remove buttons */ 6137 wrap.querySelectorAll('[data-apf-rm]').forEach(btn => btn.onclick = (e) => { 6138 e.preventDefault(); e.stopPropagation(); 6139 const h = btn.dataset.apfRm; 6140 const next = getList().filter(x => x !== h); 6141 setList(next); 6142 /* notify the grid section so the heart visual updates */ 6143 document.querySelectorAll(`[data-handle="${CSS.escape(h)}"] [data-apgp-wish]`).forEach(b => b.classList.remove('is-on')); 6144 renderItems(); 6145 }); 6146 } 6147 6148 function open(){ 6149 const m = document.querySelector('[data-apf]'); 6150 if (!m) return; 6151 // Portal the drawer to <body> so it escapes any parent stacking context 6152 // (e.g. the sticky header / Mother's Day announcement bar above it). 6153 if (m.parentNode !== document.body) document.body.appendChild(m); 6154 m.hidden = false; 6155 requestAnimationFrame(() => m.classList.add('show')); 6156 document.body.classList.add('apf-no-scroll'); 6157 renderItems(); 6158 } 6159 function close(){ 6160 const m = document.querySelector('[data-apf]'); 6161 if (!m) { 6162 document.body.classList.remove('apf-no-scroll'); 6163 return; 6164 } 6165 m.classList.remove('show'); 6166 setTimeout(() => { m.hidden = true; document.body.classList.remove('apf-no-scroll'); }, 320); 6167 } 6168 6169 document.querySelectorAll('[data-apf-open]').forEach(b =>
6169 b.onclick = open); 6170 document.querySelectorAll('[data-apf-close]').forEach(b => b.onclick = close); 6171 document.addEventListener('keydown', e => { 6172 const m = document.querySelector('[data-apf]'); 6173 if (e.key === 'Escape' && m && !m.hidden) close(); 6174 }); 6175 const clear = document.querySelector('[data-apf-clear]'); 6176 if (clear) clear.onclick = () => { 6177 setList([]); 6178 document.querySelectorAll('[data-apgp-wish].is-on').forEach(b => b.classList.remove('is-on')); 6179 renderItems(); 6180 }; 6181})(); 6182</script>
6182 6183<a 6184 href="https://aromaparadise.com/customer_authentication/redirect?locale=en®ion_country=US" 6185 class="header__icon header__icon--account link focus-inset small-hide" 6186 ><account-icon><span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-account" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M6 4.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8m5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15M9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35" clip-rule="evenodd"/></svg> 6187</span></account-icon><span class="visually-hidden">Log in</span> 6188 </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"> 6189 6190 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-cart-empty" viewBox="0 0 40 40"><path fill="currentColor" fill-rule="evenodd" d="M15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33L28.4 11.8zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1-9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z"/></svg> 6191</span> 6192 6193 <span class="visually-hidden">Cart</span></a> 6194 </div> 6195 </header> 6196</sticky-header><style> 6197 .ap-search-v4 { 6198 position: absolute; 6199 top: calc(100% + 0.8rem); 6200 left: 50%; 6201 z-index: 8; 6202 width: min(76rem, calc(100vw - 3.2rem)); 6203 max-height: min(68vh, 58rem); 6204 overflow: hidden; 6205 border: 0.1rem solid #ded3c6; 6206 border-radius: 1.2rem; 6207 background: #fffdf8; 6208 box-shadow: 0 2rem 5rem rgba(23, 18, 15, 0.16); 6209 color: #17120f; 6210 transform: translateX(-50%); 6211 } 6212 6213 .search-modal__content:has(.ap-search-v4) { 6214 overflow: visible; 6215 } 6216 6217 details[open] .header__search .modal-overlay::after { 6218 background: rgba(23, 18, 15, 0.48); 6219 } 6220 6221 details[open] .search-modal__form .field { 6222 border-radius: 0.9rem; 6223 background: #fffdf8; 6224 } 6225 6226 details[open] .search-modal__form .field::after { 6227 border-radius: 0.9rem; 6228 box-shadow: 0 0 0 0.1rem #71665c; 6229 } 6230 6231 details[open] .search-modal__form .field:focus-within::after { 6232 box-shadow: 0 0 0 0.2rem #a77b22; 6233 } 6234 6235 details[open] .search-modal__form .field__input:focus, 6236 details[open] .search-modal__form .field__input:focus-visible { 6237 border-radius: 0.9rem; 6238 box-shadow: none; 6239 outline: none; 6240 } 6241 6242 .ap-search-v4__quick { 6243 padding: 1.8rem; 6244 } 6245 6246 .ap-search-v4.has-query .ap-search-v4__quick { 6247 display: none; 6248 } 6249 6250 .ap-search-v4__eyebrow, 6251 .ap-search-v4__heading { 6252 margin: 0; 6253 color: #4f0d17; 6254 font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 6255 font-size: 1.1rem; 6256 font-weight: 900; 6257 letter-spacing: 0.12em; 6258 line-height: 1.25; 6259 text-transform: uppercase; 6260 } 6261 6262 .ap-search-v4__prompt { 6263 margin: 0.5rem 0 0; 6264 color: #302822; 6265 font-family: Prata, Georgia, serif; 6266 font-size: 1.9rem; 6267 line-height: 1.3; 6268 } 6269 6270 .ap-search-v4__hint { 6271 margin: 0.5rem 0 0; 6272 color: #71665c; 6273 font-size: 1.3rem; 6274 line-height: 1.45; 6275 } 6276 6277 .ap-search-v4__shortcuts { 6278 display: grid; 6279 grid-template-columns: repeat(3, minmax(0, 1fr)); 6280 gap: 0.8rem; 6281 margin-top: 1.4rem; 6282 } 6283 6284 .ap-search-v4__shortcut { 6285 display: flex; 6286 align-items: center; 6287 justify-content: space-between; 6288 gap: 0.8rem; 6289 min-height: 4.6rem; 6290 padding: 1rem 1.2rem; 6291 border: 0.1rem solid #ded3c6; 6292 border-radius: 0.9rem; 6293 background: #fbf7f2; 6294 color: #302822; 6295 font-size: 1.3rem; 6296 font-weight: 700; 6297 line-height: 1.2; 6298 text-decoration: none; 6299 transition: background 160ms cubic-bezier(0.22, 1, 0.36, 1), border-color 160ms cubic-bezier(0.22, 1, 0.36, 1), transform 160ms cubic-bezier(0.22, 1, 0.36, 1); 6300 } 6301 6302 .ap-search-v4__shortcut::after { 6303 content: "âº"; 6304 color: #a77b22; 6305 font-size: 1.8rem; 6306 font-weight: 400; 6307 line-height: 1; 6308 } 6309 6310 .ap-search-v4__shortcut:hover, 6311 .ap-search-v4__shortcut:focus-visible { 6312 border-color: #a77b22; 6313 background: #f3eadf; 6314 outline: none; 6315 transform: translateY(-0.1rem); 6316 } 6317 6318 .ap-search-v4__results { 6319 max-height: min(68vh, 58rem); 6320 overflow-y: auto; 6321 overscroll-behavior: contain; 6322 scrollbar-color: #d8b96a transparent; 6323 } 6324 6325 .ap-search-v4__results[hidden] { 6326 display: none; 6327 } 6328 6329 .ap-search-v4__status { 6330 display: flex; 6331 align-items: center; 6332 gap: 1rem; 6333 min-height: 8rem; 6334 padding: 1.8rem; 6335 color: #71665c; 6336 font-size: 1.4rem; 6337 } 6338 6339 .ap-search-v4__spinner { 6340 width: 1.8rem; 6341 height: 1.8rem; 6342 flex: 0 0 1.8rem; 6343 border: 0.2rem solid #ded3c6; 6344 border-top-color: #4f0d17; 6345 border-radius: 50%; 6346 animation: ap-search-v4-spin 700ms linear infinite; 6347 } 6348 6349 @keyframes ap-search-v4-spin { 6350 to { transform: rotate(360deg); } 6351 } 6352 6353 .ap-search-v4__result-head { 6354 display: flex; 6355 align-items: baseline; 6356 justify-content: space-between; 6357 gap: 1.2rem; 6358 padding: 1.5rem 1.8rem 1rem; 6359 border-bottom: 0.1rem solid #ded3c6; 6360 } 6361 6362 .ap-search-v4__count { 6363 color: #71665c; 6364 font-size: 1.2rem; 6365 white-space: nowrap; 6366 } 6367 6368 .ap-search-v4__items { 6369 display: grid; 6370 grid-template-columns: repeat(3, minmax(0, 1fr)); 6371 gap: 0.8rem; 6372 margin: 0; 6373 padding: 1rem 1.8rem 1.4rem; 6374 list-style: none; 6375 } 6376 6377 .ap-search-v4__items > li:first-child { 6378 grid-column: 1 / -1; 6379 } 6380 6381 .ap-search-v4__item { 6382 position: relative; 6383 display: grid; 6384 grid-template-columns: 6.4rem minmax(0, 1fr); 6385 gap: 1.1rem; 6386 min-width: 0; 6387 min-height: 8.4rem; 6388 padding: 1rem; 6389 border-radius: 0.9rem; 6390 color: #17120f; 6391 text-decoration: none; 6392 transition: background 160ms cubic-bezier(0.22, 1, 0.36, 1); 6393 } 6394 6395 .ap-search-v4__items > li:first-child .ap-search-v4__item { 6396 grid-template-columns: 10.8rem minmax(0, 1fr) auto; 6397 min-height: 12.8rem; 6398 padding: 1rem; 6399 border: 0.1rem solid #d8b96a; 6400 background: #f3eadf; 6401 } 6402 6403 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__item { 6404 grid-template-columns: 5.2rem minmax(0, 1fr); 6405 min-height: 7.2rem; 6406 padding: 0.8rem; 6407 } 6408 6409 .ap-search-v4__item:hover, 6410 .ap-search-v4__item:focus-visible { 6411 background: #f3eadf; 6412 outline: 0.2rem solid #a77b22; 6413 outline-offset: -0.2rem; 6414 } 6415 6416 .ap-search-v4__image { 6417 width: 6.4rem; 6418 height: 6.4rem; 6419 border-radius: 0.8rem; 6420 background: #f3eadf; 6421 object-fit: cover; 6422 } 6423 6424 .ap-search-v4__items > li:first-child .ap-search-v4__image { 6425 width: 10.8rem; 6426 height: 10.8rem; 6427 border-radius: 1rem; 6428 } 6429 6430 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__image { 6431 width: 5.2rem; 6432 height: 5.2rem; 6433 } 6434 6435 .ap-search-v4__image--empty { 6436 display: block; 6437 } 6438 6439 .ap-search-v4__copy { 6440 display: flex; 6441 min-width: 0; 6442 flex-direction: column; 6443 justify-content: center; 6444 } 6445 6446 .ap-search-v4__top-match { 6447 margin-bottom: 0.3rem; 6448 color: #a77b22; 6449 font-size: 1rem; 6450 font-weight: 900; 6451 letter-spacing: 0.1em; 6452 line-height: 1.2; 6453 text-transform: uppercase; 6454 } 6455 6456 .ap-search-v4__title { 6457 display: -webkit-box; 6458 overflow: hidden; 6459 color: #17120f; 6460 font-family: Prata, Georgia, serif; 6461 font-size: 1.35rem; 6462 line-height: 1.35; 6463 -webkit-box-orient: vertical; 6464 -webkit-line-clamp: 2; 6465 } 6466 6467 .ap-search-v4__items > li:first-child .ap-search-v4__title { 6468 font-size: 2.1rem; 6469 line-height: 1.2; 6470 } 6471 6472 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__title { 6473 font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 6474 font-size: 1.25rem; 6475 font-weight: 700; 6476 -webkit-line-clamp: 2; 6477 } 6478 6479 .ap-search-v4__context { 6480 margin-top: 0.35rem; 6481 color: #71665c; 6482 font-size: 1.2rem; 6483 line-height: 1.35; 6484 } 6485 6486 .ap-search-v4__notes { 6487 margin-top: 0.5rem; 6488 color: #4f0d17; 6489 font-size: 1.2rem; 6490 line-height: 1.35; 6491 } 6492 6493 .ap-search-v4__meta { 6494 display: flex; 6495 align-items: center; 6496 gap: 0.7rem; 6497 margin-top: 0.5rem; 6498 color: #71665c; 6499 font-size: 1.15rem; 6500 line-height: 1.3; 6501 } 6502 6503 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__context, 6504 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__notes, 6505 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__meta-separator { 6506 display: none; 6507 } 6508 6509 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__meta { 6510 margin-top: 0.35rem; 6511 } 6512 6513 .ap-search-v4__price { 6514 color: #302822; 6515 font-weight: 700; 6516 white-space: nowrap; 6517 } 6518 6519 .ap-search-v4__meta-separator { 6520 width: 0.3rem; 6521 height: 0.3rem; 6522 border-radius: 50%; 6523 background: #d8b96a; 6524 } 6525 6526 .ap-search-v4__support { 6527 display: grid; 6528 grid-template-columns: repeat(2, minmax(0, 1fr)); 6529 gap: 1.2rem; 6530 margin: 0 1.8rem; 6531 padding: 1.4rem 0; 6532 border-top: 0.1rem solid #ded3c6; 6533 } 6534 6535 .ap-search-v4__support-section { 6536 min-width: 0; 6537 } 6538 6539 .ap-search-v4__support-links { 6540 display: grid; 6541 gap: 0.7rem; 6542 margin: 0.8rem 0 0; 6543 padding: 0; 6544 list-style: none; 6545 } 6546 6547 .ap-search-v4__support-link { 6548 display: block; 6549 overflow: hidden; 6550 color: #302822; 6551 font-size: 1.25rem; 6552 line-height: 1.35; 6553 text-decoration: underline; 6554 text-decoration-color: #d8b96a; 6555 text-underline-offset: 0.3rem; 6556 text-overflow: ellipsis; 6557 white-space: nowrap; 6558 } 6559 6560 .ap-search-v4__view-all { 6561 position: static; 6562 display: flex; 6563 align-items: center; 6564 justify-content: center; 6565 min-height: 5.2rem; 6566 padding: 1rem 1.8rem; 6567 border-top: 0.1rem solid #ded3c6; 6568 background: #4f0d17; 6569 color: #fffdf8; 6570 font-size: 1.35rem; 6571 font-weight: 900; 6572 text-align: center; 6573 text-decoration: none; 6574 } 6575 6576 .ap-search-v4__view-all:hover, 6577 .ap-search-v4__view-all:focus-visible { 6578 background: #661622; 6579 outline: 0.3rem solid #d8b96a; 6580 outline-offset: -0.3rem; 6581 } 6582 6583 .ap-search-v4__empty { 6584 padding: 2.4rem 1.8rem; 6585 text-align: center; 6586 } 6587 6588 .ap-search-v4__empty-title { 6589 margin: 0; 6590 color: #302822; 6591 font-family: Prata, Georgia, serif; 6592 font-size: 2rem; 6593 line-height: 1.3; 6594 } 6595 6596 .ap-search-v4__empty-copy { 6597 max-width: 44rem; 6598 margin: 0.7rem auto 1.5rem; 6599 color: #71665c; 6600 font-size: 1.3rem; 6601 line-height: 1.5; 6602 } 6603 6604 .ap-search-v4__empty-actions { 6605 display: flex; 6606 flex-wrap: wrap; 6607 justify-content: center; 6608 gap: 0.8rem; 6609 } 6610 6611 .ap-search-v4__empty-link { 6612 display: inline-flex; 6613 align-items: center; 6614 min-height: 4.4rem; 6615 padding: 0.9rem 1.4rem; 6616 border: 0.1rem solid #ded3c6; 6617 border-radius: 0.9rem; 6618 color: #302822; 6619 font-size: 1.25rem; 6620 font-weight: 700; 6621 text-decoration: none; 6622 } 6623 6624 @media screen and (max-width: 749px) { 6625 .ap-search-v4 { 6626 top: calc(100% + 0.4rem); 6627 width: calc(100vw - 2rem); 6628 max-height: calc(100dvh - 9.6rem); 6629 border-radius: 0 0 1.2rem 1.2rem; 6630 } 6631 6632 .ap-search-v4__quick { 6633 padding: 1.4rem; 6634 } 6635 6636 .ap-search-v4__prompt { 6637 font-size: 1.7rem; 6638 } 6639 6640 .ap-search-v4__hint { 6641 font-size: 1.2rem; 6642 } 6643 6644 .ap-search-v4__shortcuts { 6645 grid-template-columns: repeat(2, minmax(0, 1fr)); 6646 gap: 0.7rem; 6647 margin-top: 1.2rem; 6648 } 6649 6650 .ap-search-v4__shortcut { 6651 min-height: 4.4rem; 6652 padding: 0.8rem 1rem; 6653 font-size: 1.2rem; 6654 } 6655 6656 .ap-search-v4__results { 6657 max-height: calc(100dvh - 9.6rem); 6658 } 6659 6660 .ap-search-v4__result-head { 6661 padding: 1.3rem 1.4rem 0.8rem; 6662 } 6663 6664 .ap-search-v4__items { 6665 grid-template-columns: 1fr; 6666 gap: 0.4rem; 6667 padding: 0.8rem; 6668 } 6669 6670 .ap-search-v4__items li:nth-child(n + 6) { 6671 display: none; 6672 } 6673 6674 .ap-search-v4__item { 6675 grid-template-columns: 5.8rem minmax(0, 1fr); 6676 min-height: 7.6rem; 6677 padding: 0.8rem; 6678 } 6679 6680 .ap-search-v4__items > li:first-child { 6681 grid-column: auto; 6682 } 6683 6684 .ap-search-v4__items > li:first-child .ap-search-v4__item { 6685 grid-template-columns: 8.8rem minmax(0, 1fr); 6686 min-height: 10.8rem; 6687 padding: 0.9rem; 6688 } 6689 6690 .ap-search-v4__image { 6691 width: 5.8rem; 6692 height: 5.8rem; 6693 } 6694 6695 .ap-search-v4__items > li:first-child .ap-search-v4__image { 6696 width: 8.8rem; 6697 height: 8.8rem; 6698 } 6699 6700 .ap-search-v4__title { 6701 font-size: 1.3rem; 6702 } 6703 6704 .ap-search-v4__items > li:first-child .ap-search-v4__title { 6705 font-size: 1.75rem; 6706 } 6707 6708 .ap-search-v4__items > li:not(:first-child) .ap-search-v4__item { 6709 grid-template-columns: 5.2rem minmax(0, 1fr); 6710 } 6711 6712 .ap-search-v4__support { 6713 grid-template-columns: 1fr; 6714 margin: 0 1.4rem; 6715 } 6716 6717 .ap-search-v4__support-link { 6718 display: -webkit-box; 6719 white-space: normal; 6720 -webkit-box-orient: vertical; 6721 -webkit-line-clamp: 2; 6722 } 6723 6724 .ap-search-v4__view-all { 6725 position: sticky; 6726 bottom: 0; 6727 min-height: 5.4rem; 6728 } 6729 } 6730 6731 @media (prefers-reduced-motion: reduce) { 6732 .ap-search-v4__spinner { 6733 animation: none; 6734 } 6735 6736 .ap-search-v4__shortcut, 6737 .ap-search-v4__item { 6738 transition: none; 6739 } 6740 } 6741</style> 6742
6743<script> 6744 (function () { 6745 var rootPath = "\/"; 6746 var localizedPath = function (path) { return (rootPath === '/' ? '' : rootPath) + path; }; 6747 var i18n = { 6748 shortcutHotel: "Hotel-inspired scents", 6749 shortcutWaterless: "Waterless oils", 6750 shortcutDiffusers: "Scent diffusers", 6751 shortcutPerfume: "Perfume-inspired", 6752 shortcutIncense: "Incense", 6753 shortcutSand: "Sand candles", 6754 fromPrice: "From __PRICE__", 6755 typeWaterlessOil: "Waterless oil", 6756 typeRoomMist: "Room mist", 6757 typeDiffuser: "Diffuser", 6758 typeFragranceOil: "Fragrance oil", 6759 typeProduct: "Product", 6760 hotelInspiredOil: "Hotel Inspired Oil", 6761 bestMatch: "Best match", 6762 collections: "Collections", 6763 helpfulGuides: "Helpful guides", 6764 noCloseMatch: "No close match yet", 6765 emptyCopy: "Try a hotel name, a note like sandalwood, or a product type like waterless diffuser.", 6766 searchFullStore: "Search the full store", 6767 takeQuiz: "Take the scent quiz", 6768 productMatches: "Product matches", 6769 foundOne: "found", 6770 foundMany: "found", 6771 viewAllResults: "View all results for â__QUERY__â", 6772 finding: "Finding your best matchesâ¦", 6773 suggestionsUnavailable: "Suggestions are unavailable. Press enter to search the full store.", 6774 placeholder: "Search scents, hotels, notes, or products", 6775 scentFinder: "Scent finder", 6776 prompt: "Search by what you remember.", 6777 hint: "Try a hotel, fragrance note, product name, or diffuser type.", 6778 popularCategories: "Popular categories" 6779 }; 6780 var shortcuts = [ 6781 { label: i18n.shortcutHotel, url: localizedPath('/collections/hotel-collection-fragrance-oils') }, 6782 { label: i18n.shortcutWaterless, url: localizedPath('/collections/waterless-fragrance-oils-1') }, 6783 { label: i18n.shortcutDiffusers, url: localizedPath('/collections/diffusers') }, 6784 { label: i18n.shortcutPerfume, url: localizedPath('/collections/perfume-fragrance-oils') }, 6785 { label: i18n.shortcutIncense, url: localizedPath('/collections/incense') }, 6786 { label: i18n.shortcutSand, url: localizedPath('/collections/sand-candle') } 6787 ]; 6788 var cache = {}; 6789 var activeController = null; 6790 var suggestionLimit = 10; 6791 var richProductFields = 'title,product_type,variants.title,vendor,body'; 6792 var moneyFormatter = new Intl.NumberFormat("en", { style: 'currency', currency: 'USD' }); 6793 6794 function escapeHtml(value) { 6795 return String(value || '').replace(/[&<>"']/g, function (character) { 6796 return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[character]; 6797 }); 6798 } 6799 6800 function formatPrice(item) { 6801 var minimum = parseFloat(item.price_min || item.price || 0); 6802 var maximum = parseFloat(item.price_max || item.price || 0); 6803 if (!minimum) return ''; 6804 return maximum && maximum > minimum ? i18n.fromPrice.replace('__PRICE__', moneyFormatter.format(minimum)) : moneyFormatter.format(minimum); 6805 } 6806 6807 function imageUrl(item) { 6808 if (item.featured_image && item.featured_image.url) return item.featured_image.url; 6809 return item.image || ''; 6810 } 6811 6812 function productType(item) { 6813 var type = String(item.type || '').trim(); 6814 if (/(waterless|sin agua)/i.test(item.title || '') && /(oil|aceite)/i.test(item.title || '')) return i18n.typeWaterlessOil; 6815 if (/(room mist|bruma para habitaciones)/i.test(item.title || '')) return i18n.typeRoomMist; 6816 if (/(diffuser|difusor)/i.test(type)) return i18n.typeDiffuser; 6817 if (/(fragrance oil|aceite aromático)/i.test(type)) return i18n.typeFragranceOil; 6818 return type || i18n.typeProduct; 6819 } 6820 6821 function itemKey(item) { 6822 if (!item) return ''; 6823 return (item.url ? item.url.split('?')[0] : '') || item.handle || item.title || ''; 6824 } 6825 6826 function isBundleSnapshot(item) { 6827 return /\/products\/ap-bundle-/i.test(String(item && item.url || '')); 6828 } 6829 6830 function mergeItems(primary, secondary) { 6831 var seen = {}; 6832 var merged = []; 6833 [primary || [], secondary || []].forEach(function (items) {
6834 items.forEach(function (item) { 6835 if (isBundleSnapshot(item)) return; 6836 var key = itemKey(item); 6837 if (!key || seen[key]) return; 6838 seen[key] = true; 6839 merged.push(item); 6840 }); 6841 }); 6842 return merged; 6843 } 6844 6845 function mergeSuggestData(primary, secondary) { 6846 var first = primary && primary.resources && primary.resources.results ? primary.resources.results : {}; 6847 var second = secondary && secondary.resources && secondary.resources.results ? secondary.resources.results : {}; 6848 return { 6849 resources: { 6850 results: { 6851 products: mergeItems(first.products, second.products), 6852 collections: mergeItems(first.collections, second.collections), 6853 articles: mergeItems(first.articles, second.articles), 6854 pages: mergeItems(first.pages, second.pages) 6855 } 6856 } 6857 }; 6858 } 6859 6860 function relatedQuery(query) { 6861 var normalized = query.toLowerCase(); 6862 var replacements = [ 6863 { from: /\bscent(s)?\b/g, to: 'fragrance' }, 6864 { from: /\bsmell(s)?\b/g, to: 'fragrance' }, 6865 { from: /\bcologne\b/g, to: 'perfume' }, 6866 { from: /\bstick(s)?\b/g, to: 'incense' }, 6867 { from: /\bcold air\b/g, to: 'waterless' }, 6868 { from: /\bair freshener\b/g, to: 'diffuser oil' }, 6869 { from: /\bhotel scent\b/g, to: 'hotel fragrance oil' }, 6870 { from: /\bhotel smell\b/g, to: 'hotel fragrance oil' }, 6871 { from: /\baroma(s)?\b/g, to: 'fragrance' }, 6872 { from: /\bolor(es)?\b/g, to: 'fragrance' }, 6873 { from: /\bvarilla(s)?\b/g, to: 'incense' }, 6874 { from: /\baire frÃo\b/g, to: 'waterless' }, 6875 { from: /\bambientador\b/g, to: 'diffuser oil' }, 6876 { from: /\baroma de hotel\b/g, to: 'hotel fragrance oil' } 6877 ]; 6878 for (var index = 0; index < replacements.length; index += 1) { 6879 if (replacements[index].from.test(normalized)) { 6880 return normalized.replace(replacements[index].from, replacements[index].to).trim(); 6881 } 6882 } 6883 return ''; 6884 } 6885 6886 function productPresentation(item) { 6887 var title = String(item.title || '').trim(); 6888 var format = productType(item); 6889 var name = title; 6890 var context = format; 6891 var notes = ''; 6892 var noteMatch = title.match(/â\s*([^â]+)\s*â\s*For/i); 6893 var aliasParts = title.split(' - '); 6894 var alias = aliasParts.length > 1 ? aliasParts[aliasParts.length - 1].trim() : ''; 6895 6896 if (noteMatch && noteMatch[1]) { 6897 notes = noteMatch[1].replace(/\s*(?:,|&)\s*/g, ' · '); 6898 } 6899 6900 if (alias && alias.length <= 42 && !/(oil|diffuser|spray|pack|candle)/i.test(alias)) { 6901 name = alias; 6902 context = title.split(/waterless fragrance oil/i)[0].replace(/[â-]+$/g, '').trim(); 6903 } else if (/(waterless fragrance oil|aceite aromático sin agua)/i.test(title)) { 6904 name = title.split(/waterless fragrance oil|aceite aromático sin agua/i)[0].replace(/[â-]+$/g, '').trim(); 6905 context = i18n.typeWaterlessOil; 6906 } else if (/(room mist|bruma para habitaciones)/i.test(title)) { 6907 name = title.replace(/hotel inspired room mist spray.*/i, i18n.typeRoomMist).replace(/inspired room mist spray.*/i, i18n.typeRoomMist).trim(); 6908 } else if (/fragrance oils? 4-pack/i.test(title)) { 6909 name = title.split('â')[0].trim(); 6910 } else if (/premium long-lasting fragrance/i.test(title)) { 6911 name = title.split(/premium long-lasting fragrance/i)[0].replace(/hotel inspired/i, i18n.hotelInspiredOil).trim(); 6912 } 6913 6914 return { name: name, context: context, notes: notes, format: format }; 6915 } 6916 6917 function productItem(item, index) { 6918 var image = imageUrl(item); 6919 var price = formatPrice(item); 6920 var presentation = productPresentation(item); 6921 return [ 6922 '<li>', 6923 '<a class="ap-search-v4__item" href="' + escapeHtml(item.url || '#') + '">', 6924 image ? '<img class="ap-search-v4__image" src="' + escapeHtml(image) + '&width=128" alt="" loading="lazy">' : '<span class="ap-search-v4__image ap-search-v4__image--empty"></span>', 6925 '<span class="ap-search-v4__copy">', 6926 index === 0 ? '<span class="ap-search-v4__top-match">' + escapeHtml(i18n.bestMatch) + '</span>' : '', 6927 '<span class="ap-search-v4__title">' + escapeHtml(presentation.name) + '</span>', 6928 '<span class="ap-search-v4__context">' + escapeHtml(presentation.context) + '</span>', 6929 index === 0 && presentation.notes ? '<span class="ap-search-v4__notes">' + escapeHtml(presentation.notes) + '</span>' : '', 6930 '<span class="ap-search-v4__meta">', 6931 '<span>' + escapeHtml(presentation.format) + '</span>', 6932 price ? '<span class="ap-search-v4__meta-separator" aria-hidden="true"></span><span class="ap-search-v4__price">' + escapeHtml(price) + '</span>' : '', 6933 '</span>', 6934 '</span>', 6935 '</a>', 6936 '</li>' 6937 ].join(''); 6938 } 6939 6940 function supportSection(title, items) { 6941 if (!items || !items.length) return ''; 6942 return [ 6943 '<section class="ap-search-v4__support-section">', 6944 '<h3 class="ap-search-v4__heading">' + escapeHtml(title) + '</h3>', 6945 '<ul class="ap-search-v4__support-links">', 6946 items.slice(0, 2).map(function (item) { 6947 return '<li><a class="ap-search-v4__support-link" href="' + escapeHtml(item.url || '#') + '">' + escapeHtml(item.title) + '</a></li>'; 6948 }).join(''), 6949 '</ul>', 6950 '</section>' 6951 ].join(''); 6952 } 6953 6954 function fullSearchUrl(query) { 6955 return localizedPath('/search?q=' + encodeURIComponent(query) + '&options%5Bprefix%5D=last&options%5Bfields%5D=' + encodeURIComponent(richProductFields)); 6956 } 6957 6958 function renderResults(root, query, data) { 6959 var results = root.querySelector('[data-ap-search-v4-results]'); 6960 if (!results) return; 6961 var resources = data && data.resources && data.resources.results ? data.resources.results : {}; 6962 var products = resources.products || []; 6963 var support = [ 6964 supportSection(i18n.collections, resources.collections), 6965 supportSection(i18n.helpfulGuides, resources.articles) 6966 ].join(''); 6967 6968 if (!products.length && !support) { 6969 results.innerHTML = [ 6970 '<div class="ap-search-v4__empty">', 6971 '<p class="ap-search-v4__empty-title">' + escapeHtml(i18n.noCloseMatch) + '</p>', 6972 '<p class="ap-search-v4__empty-copy">' + escapeHtml(i18n.emptyCopy) + '</p>', 6973 '<div class="ap-search-v4__empty-actions">', 6974 '<a class="ap-search-v4__empty-link" href="' + fullSearchUrl(query) + '">' + escapeHtml(i18n.searchFullStore) + '</a>', 6975 '<a class="ap-search-v4__empty-link" href="' + localizedPath('/pages/scent-quiz?source=search') + '">' + escapeHtml(i18n.takeQuiz) + '</a>', 6976 '</div>', 6977 '</div>' 6978 ].join(''); 6979 results.hidden = false;
6980 return; 6981 } 6982 6983 results.innerHTML = [ 6984 products.length ? '<div class="ap-search-v4__result-head"><h3 class="ap-search-v4__heading">' + escapeHtml(i18n.productMatches) + '</h3><span class="ap-search-v4__count">' + products.length + (products.length === suggestionLimit ? '+' : '') + ' ' + escapeHtml(products.length === 1 ? i18n.foundOne : i18n.foundMany) + '</span></div>' : '', 6985 products.length ? '<ul class="ap-search-v4__items">' + products.slice(0, 4).map(productItem).join('') + '</ul>' : '', 6986 support ? '<div class="ap-search-v4__support">' + support + '</div>' : '', 6987 '<a class="ap-search-v4__view-all" href="' + fullSearchUrl(query) + '">' + escapeHtml(i18n.viewAllResults.replace('__QUERY__', query)) + '</a>' 6988 ].join(''); 6989 results.hidden = false; 6990 } 6991 6992 function suggestUrl(query, resourceTypes, fields) { 6993 var params = [ 6994 'q=' + encodeURIComponent(query), 6995 'resources[type]=' + encodeURIComponent(resourceTypes), 6996 'resources[limit]=' + suggestionLimit, 6997 'resources[options][unavailable_products]=last' 6998 ]; 6999 if (fields) params.push('resources[options][fields]=' + encodeURIComponent(fields)); 7000 return localizedPath('/search/suggest.json?' + params.join('&')); 7001 } 7002 7003 function fetchJson(url, signal) { 7004 return fetch(url, { signal: signal }).then(function (response) { 7005 if (!response.ok) throw new Error('Search failed'); 7006 return response.json(); 7007 }); 7008 } 7009 7010 function fetchSuggestions(root, query) { 7011 var results = root.querySelector('[data-ap-search-v4-results]'); 7012 if (!results) return; 7013 root.classList.toggle('has-query', query.length >= 2); 7014 7015 if (query.length < 2) { 7016 results.hidden = true; 7017 results.innerHTML = ''; 7018 return; 7019 } 7020 7021 if (cache[query]) { 7022 renderResults(root, query, cache[query]); 7023 return; 7024 } 7025 7026 if (activeController) activeController.abort(); 7027 activeController = new AbortController(); 7028 results.hidden = false; 7029 results.innerHTML = '<div class="ap-search-v4__status" role="status"><span class="ap-search-v4__spinner" aria-hidden="true"></span><span>' + escapeHtml(i18n.finding) + '</span></div>'; 7030 7031 var exactUrl = suggestUrl(query, 'product,collection,article,page', ''); 7032 var richUrl = suggestUrl(query, 'product', richProductFields); 7033 var fallbackQuery = relatedQuery(query); 7034 7035 Promise.all([ 7036 fetchJson(exactUrl, activeController.signal), 7037 fetchJson(richUrl, activeController.signal), 7038 fallbackQuery && fallbackQuery !== query.toLowerCase() 7039 ? fetchJson(suggestUrl(fallbackQuery, 'product', richProductFields), activeController.signal).catch(function () { return null; }) 7040 : Promise.resolve(null) 7041 ]).then(function (responses) { 7042 var merged = mergeSuggestData(responses[0], responses[1]); 7043 if (responses[2]) merged = mergeSuggestData(merged, responses[2]); 7044 cache[query] = merged; 7045 renderResults(root, query, merged); 7046 }).catch(function (error) { 7047 if (error.name === 'AbortError') return; 7048 results.innerHTML = '<div class="ap-search-v4__status" role="status">' + escapeHtml(i18n.suggestionsUnavailable) + '</div>'; 7049 }); 7050 } 7051 7052 function buildEnhancer(form) { 7053 if (form.dataset.apSearchV4 === 'true') return; 7054 form.dataset.apSearchV4 = 'true'; 7055 var input = form.querySelector('input[name="q"]'); 7056 if (!input) return; 7057 7058 if (!form.querySelector('input[name="options[fields]"]')) { 7059 form.insertAdjacentHTML('beforeend', '<input type="hidden" name="options[fields]" value="' + richProductFields + '">'); 7060 } 7061 7062 input.setAttribute('autocomplete', 'off'); 7063 input.setAttribute('placeholder', i18n.placeholder); 7064 7065 var root = document.createElement('div'); 7066 root.className = 'ap-search-v4'; 7067 root.innerHTML = [ 7068 '<div class="ap-search-v4__quick">', 7069 '<p class="ap-search-v4__eyebrow">' + escapeHtml(i18n.scentFinder) + '</p>', 7070 '<p class="ap-search-v4__prompt">' + escapeHtml(i18n.prompt) + '</p>', 7071 '<p class="ap-search-v4__hint">' + escapeHtml(i18n.hint) + '</p>', 7072 '<nav class="ap-search-v4__shortcuts" aria-label="' + escapeHtml(i18n.popularCategories) + '">', 7073 shortcuts.map(function (shortcut) { 7074 return '<a class="ap-search-v4__shortcut" href="' + escapeHtml(shortcut.url) + '">' + escapeHtml(shortcut.label) + '</a>'; 7075 }).join(''), 7076 '</nav>', 7077 '</div>', 7078 '<div class="ap-search-v4__results" data-ap-search-v4-results aria-live="polite" hidden></div>' 7079 ].join(''); 7080 form.insertAdjacentElement('afterend', root); 7081 7082 var timeout = null; 7083 input.addEventListener('input', function () { 7084 window.clearTimeout(timeout); 7085 timeout = window.setTimeout(function () { 7086 fetchSuggestions(root, input.value.trim()); 7087 }, 180); 7088 }); 7089 input.addEventListener('focus', function () { 7090 if (input.value.trim().length >= 2) fetchSuggestions(root, input.value.trim()); 7091 }); 7092 form.addEventListener('reset', function () { 7093 window.setTimeout(function () { 7094 fetchSuggestions(root, ''); 7095 }, 0); 7096 }); 7097 } 7098
7099 function init() { 7100 document.querySelectorAll('.search-modal__form form[action="/search"], .search-modal__form form[action*="/search"]').forEach(buildEnhancer); 7101 } 7102 7103 if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); 7104 else init(); 7105 document.addEventListener('shopify:section:load', init); 7106 })(); 7107</script>
7107 7108 7109 7110<style> 7111 .menu-drawer__menu-item[href="/pages/rewards"]{ 7112 --ap-nav-gift: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='8' width='17' height='4' rx='1'/%3E%3Cpath d='M5 12v8h14v-8M12 8v12M12 8c-1.5-3.5-5.5-3.5-5.5-1S10 8 12 8Zm0 0c1.5-3.5 5.5-3.5 5.5-1S14 8 12 8Z'/%3E%3C/svg%3E"); 7113 } 7114 .header__inline-menu .header__menu-item[href^="/pages/scent-membership-builder"], 7115 .menu-drawer__menu-item[href^="/pages/scent-membership-builder"]{ 7116 --ap-nav-loop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 0 1-14 5.3M4 12a8 8 0 0 1 14-5.3'/%3E%3Cpath d='M18 3v3.7h-3.7M6 21v-3.7h3.7'/%3E%3C/svg%3E"); 7117 } 7118 7119 /* Desktop: gold pill */ 7120 .header__inline-menu .header__menu-item[href^="/pages/scent-membership-builder"]{text-decoration:none} 7121 .header__inline-menu .header__menu-item[href^="/pages/scent-membership-builder"] > span{ 7122 display:inline-flex;align-items:center;gap:7px;margin:-7px 0;padding:7px 14px 7px 12px;border-radius:999px;vertical-align:middle; 7123 background:var(--ap-color-gold,#a77b22);color:var(--ap-color-ivory,#fffdf8); 7124 font-weight:700;text-decoration:none !important;white-space:nowrap; 7125 box-shadow:0 6px 16px color-mix(in srgb,var(--ap-color-gold,#a77b22) 30%,transparent); 7126 transition:background-color 160ms ease,transform 160ms ease; 7127 } 7128 .header__inline-menu .header__menu-item[href^="/pages/scent-membership-builder"] > span::before{ 7129 content:"";width:14px;height:14px;flex:0 0 auto;background:currentColor; 7130 -webkit-mask:var(--ap-nav-loop) center/contain no-repeat;mask:var(--ap-nav-loop) center/contain no-repeat; 7131 } 7132 .header__inline-menu .header__menu-item[href^="/pages/scent-membership-builder"]:hover > span{ 7133 background:color-mix(in srgb,var(--ap-color-gold,#a77b22) 82%,var(--ap-color-ink,#17120f)); 7134 } 7135 .header__inline-menu .header__menu-item[href^="/pages/scent-membership-builder"]:focus-visible > span{ 7136 outline:2px solid var(--ap-color-wine,#4f0d17);outline-offset:2px; 7137 } 7138 7139 /* Mobile drawer: same row box as its siblings (11px 30px padding, full bleed), set apart by 7140 wine text, a soft gold wash and a gold icon sitting in the arrow column. */ 7141 .menu-drawer__menu-item[href^="/pages/scent-membership-builder"]{ 7142 position:relative; 7143 padding-right:52px !important; 7144 background:linear-gradient(90deg,color-mix(in srgb,var(--ap-color-gold,#a77b22) 14%,transparent),color-mix(in srgb,var(--ap-color-gold,#a77b22) 4%,transparent)); 7145 box-shadow:inset 3px 0 0 var(--ap-color-gold,#a77b22); 7146 color:var(--ap-color-wine,#4f0d17) !important; 7147 } 7148 .menu-drawer__menu-item[href^="/pages/scent-membership-builder"]::before, 7149 .menu-drawer__menu-item[href^="/pages/scent-membership-builder"]::after{ 7150 content:"";position:absolute;top:50%;right:25px;width:25px;height:25px;margin-top:-12.5px;border-radius:50%; 7151 } 7152 .menu-drawer__menu-item[href^="/pages/scent-membership-builder"]::before{background:var(--ap-color-gold,#a77b22)} 7153 .menu-drawer__menu-item[href^="/pages/scent-membership-builder"]::after{ 7154 background:var(--ap-color-ivory,#fffdf8); 7155 -webkit-mask:var(--ap-nav-loop) center/13px no-repeat;mask:var(--ap-nav-loop) center/13px no-repeat; 7156 } 7157 7158 /* Rewards: same row box, a lighter gold-outlined gift icon in the arrow column, and its 7159 current-page state in the gold wash family instead of Dawn's grey. */ 7160 .menu-drawer__menu-item[href="/pages/rewards"]{position:relative;padding-right:52px !important} 7161 .menu-drawer__menu-item[href="/pages/rewards"]::before, 7162 .menu-drawer__menu-item[href="/pages/rewards"]::after{ 7163 content:"";position:absolute;top:50%;right:25px;width:25px;height:25px;margin-top:-12.5px;border-radius:50%; 7164 } 7165 .menu-drawer__menu-item[href="/pages/rewards"]::before{box-shadow:inset 0 0 0 1.5px var(--ap-color-gold,#a77b22)} 7166 .menu-drawer__menu-item[href="/pages/rewards"]::after{ 7167 background:var(--ap-color-gold,#a77b22);
7168 -webkit-mask:var(--ap-nav-gift) center/13px no-repeat;mask:var(--ap-nav-gift) center/13px no-repeat; 7169 } 7170 .menu-drawer__menu-item--active[href="/pages/rewards"]{ 7171 background:color-mix(in srgb,var(--ap-color-gold,#a77b22) 8%,transparent); 7172 color:var(--ap-color-wine,#4f0d17) !important; 7173 } 7174</style> 7175 7176 7177 7178 7179</div><div id="shopify-section-sections--28517217370293__blocks_dHQM6j" class="shopify-section shopify-section-group-header-group"> 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190<style data-shopify> 7191 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb { 7192 width: 100%; 7193 padding: 32px 0 13px; 7194 background-color: #ffffff; 7195 position: relative; 7196 } 7197 7198 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb { 7199 background-color: #f0e4c0 !important; 7200 background-image: 7201 linear-gradient(180deg, #f0e4c0 0%, #f3e9cc 50%, #f0e4c0 100%), 7202 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.8' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.30 0 0 0 0 0.22 0 0 0 0.10 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>") !important; 7203 background-blend-mode: multiply !important; 7204 border-top: 1px solid rgba(184,145,46,0.28); 7205 border-bottom: 1px solid rgba(184,145,46,0.28); 7206 } 7207 7208 7209 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__container { 7210 max-width: 1200px; 7211 margin: 0 auto; 7212 padding: 0 20px; 7213 position: relative; 7214 } 7215 7216 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__main { 7217 display: flex; 7218 align-items: center; 7219 justify-content: center; 7220 margin-bottom: 0; 7221 } 7222 7223 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__scroll { 7224 overflow-x: auto; 7225 overflow-y: visible; 7226 scroll-behavior: smooth; 7227 scrollbar-width: none; 7228 -ms-overflow-style: none; 7229 display: flex; 7230 gap: 20px; 7231 /* Top padding leaves room for floating badges (-8px above item) */ 7232 padding: 18px 0 4px; 7233 scroll-snap-type: x mandatory; 7234 7235 -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%); 7236 mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%); 7237 7238 } 7239 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__scroll::-webkit-scrollbar { display: none; } 7240 7241 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item { 7242 flex-shrink: 0; 7243 text-align: center; 7244 text-decoration: none; 7245 display: flex; 7246 flex-direction: column; 7247 align-items: center; 7248 gap: 8px; 7249 width: 120px; 7250 scroll-snap-align: start; 7251 position: relative; 7252 transition: transform 240ms cubic-bezier(.4,0,.2,1); 7253 } 7254 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:hover { transform: translateY(-3px); } 7255 7256 7257 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item { opacity: 0; animation: apNavIn-anfjuserbrm04zhh5napcollectionnavprophyrcb 480ms cubic-bezier(.4,0,.2,1) forwards; } 7258 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:nth-child(1){animation-delay:0ms} 7259 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:nth-child(2){animation-delay:55ms} 7260 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:nth-child(3){animation-delay:110ms} 7261 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:nth-child(4){animation-delay:165ms} 7262 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:nth-child(5){animation-delay:220ms} 7263 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:nth-child(n+6){animation-delay:275ms} 7264 @keyframes apNavIn-anfjuserbrm04zhh5napcollectionnavprophyrcb { 7265 from { opacity: 0; transform: translateY(10px); } 7266 to { opacity: 1; transform: none; } 7267 } 7268 7269 7270 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper { 7271 width: 70px; 7272 height: 70px; 7273 border-radius: 50px; 7274 overflow: hidden; 7275 border: 2px solid #ecd999; 7276 transition: all 240ms cubic-bezier(.4,0,.2,1); 7277 box-shadow: 0 1px 3px rgba(20,17,16,0.05); 7278 background: #fff; 7279 } 7280 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:hover .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper { 7281 border-color: #b8912e; 7282 transform: scale(1.06); 7283 box-shadow: 0 8px 20px rgba(184,145,46,0.24); 7284 } 7285 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item.active .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper { 7286 border-color: #b8912e; 7287 transform: scale(1.06); 7288 box-shadow: 0 8px 20px rgba(184,145,46,0.32); 7289 } 7290 7291 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image { 7292 width: 100%; 7293 height: 100%; 7294 object-fit: cover; 7295 object-position: center top; 7296 } 7297 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__placeholder { 7298 width: 100%; height: 100%; background-color: #f4f4f4; 7299 display: flex; align-items: center; justify-content: center; 7300 } 7301 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__placeholder svg { width: 50%; height: 50%; } 7302 7303 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title { 7304 display: block; 7305 font-size: 12px; 7306 color: #141110; 7307 font-weight: 400; 7308 margin: 0; 7309 line-height: 1.25; 7310 font-family: Prata, var(--font-heading-family), Georgia, serif; 7311 letter-spacing: 0.005em; 7312 transition: color 0.3s ease; 7313 word-wrap: break-word; 7314 overflow-wrap: break-word; 7315 width: 100%; 7316 text-align: center; 7317 } 7318 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item.active .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title { 7319 color: #141110; 7320 font-weight: 700; 7321 } 7322 7323 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item.active::after { 7324 content: ''; 7325 position: absolute; 7326 bottom: -10px; 7327 left: 50%; 7328 transform: translateX(-50%); 7329 width: 36px; 7330 height: 3px; 7331 background: linear-gradient(90deg, transparent, #b8912e 30%, #b8912e 70%, transparent); 7332 border-radius: 2px; 7333 } 7334 7335 7336 /* Product count */ 7337 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__count { 7338 display: block; 7339 font-family: ui-monospace, monospace; 7340 font-size: 10px; 7341 color: #a8a395; 7342 letter-spacing: 0.04em; 7343 margin-top: 2px; 7344 font-weight: 400; 7345 } 7346 7347 /* From-price anchor */ 7348 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__price { 7349 font-family: var(--font-body-family), sans-serif; 7350 font-size: 12px; 7351 font-style: italic; 7352 color: #6a5d4d; 7353 margin-top: 3px; 7354 line-height: 1.2; 7355 text-align: center; 7356 } 7357 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__price-from { 7358 font-family: var(--font-body-family), sans-serif; 7359 font-size: 9.5px; 7360 font-style: normal; 7361 color: #a0977f; 7362 letter-spacing: 0.08em; 7363 text-transform: uppercase; 7364 margin-right: 2px; 7365 } 7366 7367 /* Editorial badge */ 7368 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge { 7369 position: absolute; 7370 top: -8px; 7371 left: 50%; 7372 transform: translateX(-50%); 7373 font-family: var(--font-body-family), sans-serif; 7374 font-size: 9px; 7375 font-weight: 700; 7376 letter-spacing: 0.14em; 7377 padding: 3px 9px; 7378 border-radius: 999px; 7379 white-space: nowrap; 7380 z-index: 4; 7381 box-shadow: 0 2px 6px rgba(20,17,16,0.14); 7382 } 7383 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge--best { background: #141110; color: #fff; } 7384 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge--new { background: #b8912e; color: #fff; } 7385 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge--sale { background: #c8452b; color: #fff; letter-spacing: 0.10em; padding: 3px 10px; } 7386 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge--info { background: #0b5e7a; color: #fff; letter-spacing: 0.10em; } 7387 7388 /* Rating stars */ 7389 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__rating { 7390 display: flex; 7391 justify-content: center;
7392 align-items: center; 7393 gap: 5px; 7394 margin-top: 4px; 7395 line-height: 1; 7396 } 7397 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__stars { position: relative; display: inline-block; font-size: 11px; letter-spacing: 2px; line-height: 1; } 7398 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__stars-bg { color: #e4dac5; } 7399 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__stars-fg { position: absolute; top: 0; left: 0; color: #e8a028; overflow: hidden; white-space: nowrap; } 7400 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__rating-count { font-family: var(--font-body-family), sans-serif; font-size: 10.5px; color: #8a8275; font-weight: 500; } 7401 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__rating-count span { color: #b5ad9b; } 7402 7403 /* Hover peek panel (desktop only) */ 7404 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek { 7405 position: absolute; 7406 top: 100%; 7407 left: 50%; 7408 transform: translate(-50%, 6px); 7409 width: 260px; 7410 background: #fff; 7411 border: 1px solid #ecd999; 7412 border-radius: 14px; 7413 padding: 12px; 7414 box-shadow: 0 16px 36px rgba(20,17,16,0.12); 7415 opacity: 0; 7416 pointer-events: none; 7417 transition: opacity 200ms cubic-bezier(.4,0,.2,1), transform 220ms cubic-bezier(.4,0,.2,1); 7418 z-index: 50; 7419 } 7420 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek::before { 7421 content: ''; 7422 position: absolute; 7423 top: -6px; 7424 left: 50%; 7425 transform: translateX(-50%) rotate(45deg); 7426 width: 10px; height: 10px; 7427 background: #fff; 7428 border-left: 1px solid #ecd999; 7429 border-top: 1px solid #ecd999; 7430 } 7431 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item:hover > .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek { 7432 opacity: 1; 7433 transform: translate(-50%, 10px); 7434 pointer-events: auto; 7435 } 7436 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek-label { 7437 font-family: var(--font-body-family), sans-serif; 7438 font-size: 9.5px; 7439 font-weight: 700; 7440 letter-spacing: 0.18em; 7441 text-transform: uppercase; 7442 color: #b8912e; 7443 margin-bottom: 8px; 7444 text-align: left; 7445 } 7446 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek-tile { 7447 display: flex; 7448 align-items: center; 7449 gap: 10px; 7450 padding: 6px; 7451 border-radius: 10px; 7452 text-decoration: none; 7453 transition: background 160ms ease; 7454 } 7455 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek-tile:hover { background: #faf4e6; } 7456 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek-thumb { 7457 width: 44px; height: 44px; 7458 border-radius: 8px; 7459 background-size: cover; 7460 background-position: center; 7461 background-color: #f0ebe2; 7462 flex-shrink: 0; 7463 } 7464 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek-name { 7465 font-family: var(--font-body-family), sans-serif; 7466 font-size: 13px; 7467 font-weight: 500; 7468 color: #141110; 7469 line-height: 1.3; 7470 text-align: left; 7471 display: -webkit-box; 7472 -webkit-line-clamp: 2; 7473 -webkit-box-orient: vertical; 7474 overflow: hidden; 7475 } 7476 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek-all { 7477 margin-top: 6px; 7478 padding: 8px 0 0; 7479 border-top: 1px solid #f0ebe2; 7480 font-family: var(--font-body-family), sans-serif; 7481 font-size: 11.5px; 7482 font-weight: 700; 7483 letter-spacing: 0.06em; 7484 text-transform: uppercase; 7485 color: #b8912e; 7486 text-align: right; 7487 display: block; 7488 text-decoration: none; 7489 } 7490 @media (max-width: 900px) { 7491 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__peek { display: none; } 7492 } 7493 7494 /* Arrows */ 7495 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow { 7496 position: absolute; 7497 top: 50%; 7498 transform: translateY(-50%); 7499 width: 38px; height: 38px; 7500 border-radius: 999px; 7501 background: #fff; 7502 border: 1px solid #ecd999; 7503 color: #141110; 7504 display: grid; 7505 place-items: center; 7506 cursor: pointer; 7507 z-index: 3; 7508 padding: 0; 7509 box-shadow: 0 2px 8px rgba(20,17,16,0.06); 7510 transition: all 180ms cubic-bezier(.4,0,.2,1); 7511 } 7512 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow:hover:not([disabled]) { background: #b8912e; color: #fff; border-color: #b8912e; } 7513 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow[disabled] { opacity: 0.2;
7513 cursor: not-allowed; } 7514 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow--prev { left: 6px; } 7515 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow--next { right: 6px; } 7516 @media (max-width: 749px) { 7517 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow { display: none; } 7518 } 7519 7520 /* Progress bar */ 7521 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__progress { 7522 height: 2px; 7523 background: rgba(184,145,46,0.18); 7524 margin: 16px 25% 0; 7525 border-radius: 2px; 7526 overflow: hidden; 7527 } 7528 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__progress-bar { 7529 height: 100%; 7530 background: #b8912e; 7531 width: 0; 7532 transition: width 200ms cubic-bezier(.4,0,.2,1); 7533 } 7534 7535 /* Trust bar */ 7536 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__trust { 7537 max-width: 1200px; 7538 margin: 14px auto 0; 7539 padding: 10px 24px; 7540 display: flex; 7541 flex-wrap: wrap; 7542 gap: 20px; 7543 justify-content: center; 7544 align-items: center; 7545 font-family: var(--font-body-family), sans-serif; 7546 font-size: 11.5px; 7547 font-weight: 600; 7548 letter-spacing: 0.1em; 7549 text-transform: uppercase; 7550 color: #8a8275; 7551 border-top: 1px solid rgba(184,145,46,0.18); 7552 } 7553 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__trust-item { display: inline-flex; align-items: center; gap: 6px; } 7554 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__trust-item svg { color: #b8912e; } 7555 7556 /* Sub-collections */ 7557 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub { 7558 display: flex; 7559 align-items: center; 7560 justify-content: center; 7561 margin-top: 20px; 7562 } 7563 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-scroll { 7564 overflow-x: auto; 7565 overflow-y: hidden; 7566 scroll-behavior: smooth; 7567 scrollbar-width: none; 7568 -ms-overflow-style: none; 7569 display: flex; 7570 gap: 12px; 7571 padding: 4px 0; 7572 scroll-snap-type: x mandatory; 7573 } 7574 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-scroll::-webkit-scrollbar { display: none; } 7575 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-item { 7576 flex-shrink: 0; 7577 padding: 8px 16px; 7578 background-color: #faf4e6; 7579 color: #6a5d4d; 7580 border: 1px solid #ecd999; 7581 border-radius: 20px; 7582 text-decoration: none; 7583 font-size: 14px; 7584 font-weight: 500; 7585 transition: all 180ms cubic-bezier(.4,0,.2,1); 7586 white-space: nowrap; 7587 font-family: var(--font-heading-family); 7588 letter-spacing: 0.01em; 7589 } 7590 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-item:hover { 7591 background-color: #ffffff; 7592 border-color: #b8912e; 7593 transform: translateY(-1px); 7594 } 7595 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-item.active { 7596 background-color: #141110; 7597 color: #ffffff; 7598 border-color: #141110; 7599 } 7600 7601 @media (max-width: 749px) { 7602 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__container { padding: 0; } 7603 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__scroll { padding-left: 20px; padding-right: 20px; } 7604 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-scroll { padding-left: 20px; padding-right: 20px; } 7605 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item { width: 96px; } 7606 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper { width: 56px; height: 56px; } 7607 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title { font-size: 11px; } 7608 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__scroll { gap: 4px; } 7609 .ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__sub-scroll { gap: 8px; } 7610 } 7611</style> 7612 7613<collection-navigator-pro-anfjuserbrm04zhh5napcollectionnavprophyrcb 7614 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb" 7615 role="navigation" 7616 aria-label="Collection navigation" 7617 7618> 7619 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__container"> 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__main"> 7630 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__scroll" data-ap-nav-scroll tabindex="0"> 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 <a href="/collections/waterless-scent-diffusers" 7644 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item" 7645 data-collection-handle="waterless-scent-diffusers" 7646 > 7647 7648 7649 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper"> 7650 7651 <img src="//aromaparadise.com/cdn/shop/collections/tower-pro-waterless-scent-diffuser-01-hf_20260518_180845_2faec3d2-285f-4824-9520-1118109d3f62-optimized.jpg?v=1784877142&width=240" alt="Waterless Cold Air Scent Diffusers" class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image" loading="lazy" width="240" height="240"> 7652 7653 </div> 7654
7655 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title">Waterless Diffusers</span> 7656 7657 7658 7659 7660 7661 7662 7663 7664 </a> 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 <a href="/collections/waterless-fragrance-oils-1" 7678 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item" 7679 data-collection-handle="waterless-fragrance-oils-1" 7680 > 7681 7682 7683 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper"> 7684 7685 <img src="//aromaparadise.com/cdn/shop/collections/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783532493&width=240" alt="Waterless Fragrance Oils" class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image" loading="lazy" width="240" height="240"> 7686 7687 </div> 7688 7689 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title">Waterless Scents</span> 7690 7691 7692 7693 7694 7695 7696 7697 7698 </a> 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 <a href="/collections/sand-candle" 7712 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item" 7713 data-collection-handle="sand-candle" 7714 > 7715 7716 7717 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__badge--new">NEW</span> 7718 7719 7720 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper"> 7721 7722 <img src="//aromaparadise.com/cdn/shop/collections/ap-original-sand-20261006-01-hero.png?v=1791356110&width=240" alt="Sand Candle" class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image" loading="lazy" width="240" height="240"> 7723 7724 </div> 7725 7726 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title">Sand Candle</span> 7727 7728 7729 7730 7731 7732 7733 7734 7735 </a> 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 <a href="/collections/regular-fragrance-oils" 7749 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item" 7750 data-collection-handle="regular-fragrance-oils" 7751 > 7752 7753 7754 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper"> 7755 7756 <img src="//aromaparadise.com/cdn/shop/collections/ChanelChanceinspiredfragranceoil-9206434.png?v=1753425947&width=240" alt="Fragrance Oils" class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image" loading="lazy" width="240" height="240"> 7757 7758 </div> 7759 7760 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title">Fragrance Oil</span> 7761 7762 7763 7764 7765 7766 7767 7768 7769 </a> 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 <a href="/collections/humidifying-scent-diffusers" 7783 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item" 7784 data-collection-handle="humidifying-scent-diffusers" 7785 > 7786 7787 7788 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper"> 7789 7790 <img src="//aromaparadise.com/cdn/shop/collections/assets_2Ftask_01js168ysse4nsf8hdez7mw3kw_2Fimg_0.webp?v=1761458344&width=240" alt="Ultrasonic Humidifying Diffusers" class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image" loading="lazy" width="240" height="240"> 7791 7792 </div> 7793
7794 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title">Humidifying Diffusers</span> 7795 7796 7797 7798 7799 7800 7801 7802 7803 </a> 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 <a href="/collections/incense-sticks" 7817 class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item" 7818 data-collection-handle="incense-sticks" 7819 > 7820 7821 7822 <div class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image-wrapper"> 7823 7824 <img src="//aromaparadise.com/cdn/shop/collections/FullSizeRender_5a463be3-7c1a-4fba-a5c1-27a706599c69.jpg?v=1738543566&width=240" alt="Handcrafted Incense Sticks" class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__image" loading="lazy" width="240" height="240"> 7825 7826 </div> 7827 7828 <span class="ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__title">Incense</span> 7829 7830 7831 7832 7833 7834 7835 7836 7837 </a> 7838 7839 </div> 7840 </div> 7841 7842 7843 7844 7845 7846 7847 7848 7849 </div> 7850</collection-navigator-pro-anfjuserbrm04zhh5napcollectionnavprophyrcb> 7851
7852<script> 7853 (function() { 7854 class ApNavProanfjuserbrm04zhh5napcollectionnavprophyrcb extends HTMLElement { 7855 connectedCallback() { 7856 var scroll = this.querySelector('[data-ap-nav-scroll]'); 7857 if (!scroll) return; 7858 7859 var showArrows = false; 7860 var showProgress = false; 7861 var keyboard = true; 7862 7863 var container = this.querySelector('.ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__container'); 7864 var prev, next; 7865 7866 if (showArrows && container) { 7867 prev = document.createElement('button'); 7868 prev.className = 'ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow--prev'; 7869 prev.setAttribute('aria-label', "Scroll left"); 7870 prev.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>'; 7871 next = document.createElement('button'); 7872 next.className = 'ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__arrow--next'; 7873 next.setAttribute('aria-label', "Scroll right"); 7874 next.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>'; 7875 container.appendChild(prev); container.appendChild(next); 7876 7877 prev.addEventListener('click', function () { scroll.scrollBy({ left: -260, behavior: 'smooth' }); }); 7878 next.addEventListener('click', function () { scroll.scrollBy({ left: 260, behavior: 'smooth' }); }); 7879 } 7880 7881 var progressBar = this.querySelector('[data-ap-nav-progress]'); 7882 7883 var upd = function () { 7884 var max = scroll.scrollWidth - scroll.clientWidth; 7885 if (prev) prev.disabled = scroll.scrollLeft < 4; 7886 if (next) next.disabled = scroll.scrollLeft > max - 4 || max <= 0; 7887 if (progressBar) { 7888 progressBar.style.width = max > 0 ? Math.min(100, (scroll.scrollLeft + scroll.clientWidth) / scroll.scrollWidth * 100) + '%' : '100%'; 7889 } 7890 }; 7891 7892 scroll.addEventListener('scroll', upd, { passive: true }); 7893 window.addEventListener('resize', upd); 7894 upd(); 7895 7896 if (keyboard) { 7897 scroll.addEventListener('keydown', function (e) { 7898 if (e.key === 'ArrowLeft') { scroll.scrollBy({ left: -260, behavior: 'smooth' }); e.preventDefault(); } 7899 if (e.key === 'ArrowRight') { scroll.scrollBy({ left: 260, behavior: 'smooth' }); e.preventDefault(); } 7900 }); 7901 } 7902 7903 var active = this.querySelector('.ap-nav-anfjuserbrm04zhh5napcollectionnavprophyrcb__item.active'); 7904 if (active) { 7905 setTimeout(function () { 7906 var offset = active.offsetLeft - (scroll.clientWidth - active.offsetWidth) / 2; 7907 scroll.scrollLeft = Math.max(0, offset); 7908 upd(); 7909 }, 60); 7910 } 7911 } 7912 } 7913 if (!customElements.get('collection-navigator-pro-anfjuserbrm04zhh5napcollectionnavprophyrcb')) { 7914 customElements.define('collection-navigator-pro-anfjuserbrm04zhh5napcollectionnavprophyrcb', ApNavProanfjuserbrm04zhh5napcollectionnavprophyrcb); 7915 } 7916 })(); 7917</script>
7917 7918 7919 7920 7921 7922</div> 7923<!-- END sections: header-group --><main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"><div id="shopify-section-template--28517220614325__main" class="shopify-section"><section class="ap-home-rebuild ap-home-v2" data-ap-home-rebuild data-review-label="Go to review __number__"> 7924<style>.ap-home-rebuild svg{width:1em;height:1em}.ap-home-rebuild .pcard__stars,.ap-home-rebuild .rev__stars{font-size:13px} 7925 /* Tighten the gap between the top collection-nav carousel and the hero. 7926 Desktop only: on mobile the nav labels wrap to two lines and this bleed 7927 would overlap them, so the negative margin is removed below 750px. */ 7928 .ap-home-rebuild{margin-top:-20px} 7929 @media (max-width:749px){.ap-home-rebuild{margin-top:0}}</style> 7930 <h1 class="ap-home-rebuild__h1">Hotel-Inspired Fragrance Oils & Waterless Diffusers for a Home That Smells Like Five Stars</h1> 7931 <div class="ap-home-rebuild__checkpoint" aria-hidden="true"></div> 7932 7933 7934<section class="ap-dd-hero ap-dd-hero--home" data-dd data-dd-hero aria-labelledby="ApDdHeroTitle-home"> 7935 <div class="ap-dd-hero__in"><div class="ap-dd-hero__single"> 7936 <picture> 7937 <source media="(min-width: 990px)" srcset="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-1200.webp?v=27721879464110570941791088086 1200w, //aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-1800.webp?v=124329092259135087761791088086 1800w, //aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-2400.webp?v=158919653183249531491791088086 2400w" sizes="100vw" width="2400" height="1357"> 7938 <img class="ap-dd-art ap-dd-art--single" src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-m720.webp?v=167432033943954598771791088086" srcset="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-m480.webp?v=117757574949415514641791088086 480w, //aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-m720.webp?v=167432033943954598771791088086 720w, //aromaparadise.com/cdn/shop/t/68/assets/ap-dd-amalfi-single-a-m1000.webp?v=28947832863834431031791088086 1000w" sizes="100vw" width="1000" height="1250" alt="Aroma Paradise Tower Ultra waterless diffuser with Golden Opulence, Silken Drift and Velvet Mirage fragrance oils on travertine" loading="eager" fetchpriority="high" decoding="async"> 7939 </picture> 7940 </div><a class="ap-dd-hero__bbstrip" href="/pages/build-your-waterless-scent-bundle" data-dd-track="hub_tile_click" data-dd-tile="builder-waterless" data-dd-section="hero_strip"> 7941 <span class="ap-dd-hero__bbstrip-pct">20%</span> 7942 <span class="ap-dd-hero__bbstrip-t">Bundle Builder: diffuser + scents, up to 20% off it all</span> 7943 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 7944 </a><div class="ap-dd-hero__band"> 7945 <svg class="ap-dd-hero__rays" viewBox="0 0 600 300" aria-hidden="true" focusable="false"><use href="#ap-dd-rays"/></svg> 7946 <div class="ap-dd-hero__copy"> 7947<span class="ap-dd-lockup"> 7948 <svg class="ap-dd-lockup__mark" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><use href="#ap-dd-mark"/></svg> 7949 <span class="ap-dd-lockup__name">Aroma Prime Week</span></span> 7950<h2 class="ap-dd-hero__title" id="ApDdHeroTitle-home"><span class="ap-dd-hero__pre">Up to</span> <em>66% off</em> <span class="ap-dd-hero__post">sitewide</span></h2></div> 7951 <div class="ap-dd-hero__act"> 7952 <div class="ap-dd-hero__timer"> 7953 <span class="ap-dd-hero__timer-l">Ends in</span> 7954<div class="ap-dd-cd ap-dd-cd--boxes" data-ap-dd-countdown role="timer" aria-label="Countdown to midnight"> 7955 <span class="ap-dd-cd__box"><b data-dd-part="h">05</b><span>Hours</span></span> 7956 <span class="ap-dd-cd__box"><b data-dd-part="m">15</b><span>Min</span></span> 7957 <span class="ap-dd-cd__box"><b data-dd-part="s">44</b><span>Sec</span></span> 7958 <span class="ap-dd-cd__ended">Event ended</span> 7959 </div></div> 7960 <div class="ap-dd-hero__cta"><a class="ap-dd-btn ap-dd-btn--lg" href="/pages/aroma-prime-week" data-dd-track="hero_click" data-dd-cta="shop_deals">Shop the deals<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 7961 <a class="ap-dd-btn ap-dd-btn--lg ap-dd-btn--bb" href="/pages/build-your-waterless-scent-bundle" data-dd-track="hero_click" data-dd-cta="build_bundle">
7961Build a bundle<span class="ap-dd-btn__tag">Up to 20% off</span></a></div> 7962 </div> 7963 </div> 7964 </div> 7965<div class="ap-dd-bb" id="builder" data-dd data-dd-bb data-n="5"> 7966 <div class="ap-dd-bb__copy"> 7967 <p class="ap-dd-bb__k"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2l2.2 6.6L21 11l-6.8 2.4L12 20l-2.2-6.6L3 11l6.8-2.4z"/></svg>Waterless Bundle Builder</p> 7968 <h3 class="ap-dd-bb__t">Build your bundle. Save up to 20% on all of it.</h3> 7969 <p class="ap-dd-bb__s">Pick a waterless diffuser and your scents. The discount covers the diffuser and the oils, on top of Prime Week prices.</p> 7970 </div> 7971 <div class="ap-dd-bb__play"> 7972 <div class="ap-dd-bb__stage" aria-hidden="true"> 7973 <span class="ap-dd-bb__diff"> 7974 <span class="ap-dd-bb__diff-l">Diffuser</span> 7975 <span class="ap-dd-bb__diff-img"><img src="//aromaparadise.com/cdn/shop/files/01-tower-ultra-hero-black.webp?v=1789683134&width=360" alt="" srcset="//aromaparadise.com/cdn/shop/files/01-tower-ultra-hero-black.webp?v=1789683134&width=180 180w, //aromaparadise.com/cdn/shop/files/01-tower-ultra-hero-black.webp?v=1789683134&width=360 360w" width="360" height="360" loading="lazy" sizes="(min-width: 990px) 136px, 72px"></span> 7976 </span> 7977 <span class="ap-dd-bb__plus">+</span> 7978 <span class="ap-dd-bb__fan"><span class="ap-dd-bb__oil ap-dd-bb__oil--1"><img src="//aromaparadise.com/cdn/shop/files/velvet-mirage-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450972&width=220" alt="" srcset="//aromaparadise.com/cdn/shop/files/velvet-mirage-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450972&width=110 110w, //aromaparadise.com/cdn/shop/files/velvet-mirage-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450972&width=220 220w" width="220" height="220" loading="lazy" sizes="96px"></span><span class="ap-dd-bb__oil ap-dd-bb__oil--2"><img src="//aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=220" alt="" srcset="//aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=110 110w, //aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=220 220w" width="220" height="220" loading="lazy" sizes="96px"></span><span class="ap-dd-bb__oil ap-dd-bb__oil--3">
7978<img src="//aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=220" alt="" srcset="//aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=110 110w, //aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=220 220w" width="220" height="220" loading="lazy" sizes="96px"></span><span class="ap-dd-bb__oil ap-dd-bb__oil--4"><img src="//aromaparadise.com/cdn/shop/files/ocean-breeze-final-pdp.webp?v=1787773179&width=220" alt="" srcset="//aromaparadise.com/cdn/shop/files/ocean-breeze-final-pdp.webp?v=1787773179&width=110 110w, //aromaparadise.com/cdn/shop/files/ocean-breeze-final-pdp.webp?v=1787773179&width=220 220w" width="220" height="220" loading="lazy" sizes="96px"></span><span class="ap-dd-bb__oil ap-dd-bb__oil--5"><img src="//aromaparadise.com/cdn/shop/files/cinnamon-haven-pdp-lossless-20260812.webp?v=1786588505&width=220" alt="" srcset="//aromaparadise.com/cdn/shop/files/cinnamon-haven-pdp-lossless-20260812.webp?v=1786588505&width=110 110w, //aromaparadise.com/cdn/shop/files/cinnamon-haven-pdp-lossless-20260812.webp?v=1786588505&width=220 220w" width="220" height="220" loading="lazy" sizes="96px"></span></span> 7979 </div> 7980 <div class="ap-dd-bb__ctrl"> 7981 <p class="ap-dd-bb__q" id="ApDdBbQ">How many scents?</p> 7982 <div class="ap-dd-bb__seg" role="radiogroup" aria-labelledby="ApDdBbQ"> 7983 <button type="button" class="ap-dd-bb__opt" role="radio" aria-checked="false" data-bb-n="3">3 scents</button> 7984 <button type="button" class="ap-dd-bb__opt" role="radio" aria-checked="true" data-bb-n="5">5 scents</button> 7985 </div> 7986 <p class="ap-dd-bb__pct" aria-live="polite"><span class="ap-dd-bb__fig"><b data-bb-pct>20</b><small>%</small></span><span class="ap-dd-bb__off">off the whole bundle</span></p> 7987 </div> 7988 </div> 7989 <div class="ap-dd-bb__go"><span class="ap-dd-bb__seal" aria-hidden="true"><svg viewBox="0 0 120 120" focusable="false"><use href="#ap-dd-sunburst"/></svg><span>Max savings</span></span> 7990 <a class="ap-dd-btn ap-dd-btn--lg ap-dd-bb__cta" href="/pages/build-your-waterless-scent-bundle" data-dd-track="hub_tile_click" data-dd-tile="builder-waterless" data-dd-section="bundle_spot">Build my bundle<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 7991 </div> 7992</div> 7993</section> 7994<section class="ap-dd-offers" data-dd aria-label="How Aroma Prime Week saves you more"> 7995 <ol class="ap-dd-offers__list ap-dd-offers__list--3"> 7996 <li class="ap-dd-offers__it"> 7997 <a class="ap-dd-offers__a" href="/pages/build-your-waterless-oil-bundle" data-dd-track="hub_tile_click" data-dd-tile="oil-sampler" data-dd-section="offers" data-dd-position="1"> 7998 <span class="ap-dd-offers__n" aria-hidden="true">01</span> 7999 <span class="ap-dd-fan" aria-hidden="true"><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-myway-160.webp?v=108813553749979686081791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-cinnamon-160.webp?v=40474598755698781161791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-vanilla-160.webp?v=150006718202954255691791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span></span> 8000 <span class="ap-dd-offers__fig">10<small>%</small></span> 8001 <span class="ap-dd-offers__q">Extra off</span> 8002 <span class="ap-dd-offers__t">Waterless Oil Sampler</span> 8003 <span class="ap-dd-offers__d">Any 3 waterless scents in 30ml, 10% off buying them separately at sale prices.</span> 8004 <span class="ap-dd-offers__go">Pick 3 scents<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 8005 </a> 8006 </li> 8007 <li class="ap-dd-offers__it"> 8008 <a class="ap-dd-offers__a" href="/pages/aroma-prime-week#restock" data-dd-track="hub_tile_click" data-dd-tile="stack-waterless" data-dd-section="offers" data-dd-position="2">
8009 <span class="ap-dd-offers__n" aria-hidden="true">02</span> 8010 <span class="ap-dd-fan ap-dd-fan--five" aria-hidden="true"><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-golden-160.webp?v=146557342157464922811791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-silken-160.webp?v=49310267532791417281791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-myway-160.webp?v=108813553749979686081791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-cinnamon-160.webp?v=40474598755698781161791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-thumb-vanilla-160.webp?v=150006718202954255691791098123" width="160" height="160" alt="" loading="lazy" decoding="async"></span></span> 8011 <span class="ap-dd-offers__fig">20<small>%</small></span> 8012 <span class="ap-dd-offers__q">Extra off</span> 8013 <span class="ap-dd-offers__t">Stack waterless oils</span> 8014 <span class="ap-dd-offers__d">On top of sale prices: buy 3, 5 or 7 oils for 10%, 15% or 20% off, automatically.</span> 8015 <span class="ap-dd-offers__go">See the math<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 8016 </a> 8017 </li><li class="ap-dd-offers__it"> 8018 <a class="ap-dd-offers__a" href="/pages/aroma-prime-week#gifts" data-dd-track="hub_tile_click" data-dd-tile="gifts" data-dd-section="offers" data-dd-position="3"> 8019 <span class="ap-dd-offers__n" aria-hidden="true">03</span> 8020 <span class="ap-dd-fan ap-dd-fan--gifts" aria-hidden="true"><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-gift-silver-240.webp?v=147281223658811770561791105677" width="240" height="240" alt="" loading="lazy" decoding="async"></span><span><img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-dd-gift-gold-240.webp?v=28436628318556268251791088086" width="240" height="240" alt="" loading="lazy" decoding="async"></span></span> 8021 <span class="ap-dd-offers__fig ap-dd-offers__fig--word">Gifts</span> 8022 <span class="ap-dd-offers__q">Free</span> 8023 <span class="ap-dd-offers__t">Mystery Gift at $99</span> 8024 <span class="ap-dd-offers__d">Silver at $99, upgraded to Gold at $149.</span> 8025 <span class="ap-dd-offers__go">How gifts work<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 8026 </a> 8027 </li></ol> 8028</section> 8029<div class="ap-j4-truststrip"> 8030 <ul class="ap-j4-trust" aria-label="Why shop Aroma Paradise"> 8031 <li class="ap-j4-trust-featured"> 8032 <span class="ap-j4-trust-medallion" aria-hidden="true"><svg viewBox="0 0 24 24" fill="currentColor"><path d="m12 2.8 2.7 5.5 6.1.9-4.4 4.3 1 6.1-5.4-2.9-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z"/></svg></span> 8033 <span class="ap-j4-trust-copy"><span class="ap-j4-trust-label">Customer rating</span><strong><span class="ap-j4-trust-metric">4.82</span> out of 5</strong><small>65,000+ verified reviews</small></span> 8034 </li> 8035 <li> 8036 <span class="ap-j4-trust-medallion" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6.5h10v9H3z"/><path d="M13 9.5h3.7l3.3 3.2v2.8h-7z"/><circle cx="7" cy="18" r="1.6"/><circle cx="17" cy="18" r="1.6"/></svg></span> 8037 <span class="ap-j4-trust-copy"><span class="ap-j4-trust-label">Delivery</span><strong>Free U.S. shipping</strong><small>Orders over 8038$49.99</small></span> 8039 </li> 8040 <li> 8041 <span class="ap-j4-trust-medallion" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9.5h16V21H4z"/><path d="M3 9.5 5.2 3h13.6L21 9.5"/><path d="M8 21v-6h4v6M3 9.5c0 1.7 1.2 3 2.7 3s2.7-1.3 2.7-3c0 1.7 1.2 3 2.7 3s2.7-1.3 2.7-3c0 1.7 1.2 3 2.7 3s2.7-1.3 2.7-3"/></svg></span>
8042 <span class="ap-j4-trust-copy"><span class="ap-j4-trust-label">Visit us</span><strong>5 U.S. retail stores</strong><small>Shop us in person</small></span> 8043 </li> 8044 <li> 8045 <span class="ap-j4-trust-medallion" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 19 6v5c0 4.4-2.8 7.5-7 9-4.2-1.5-7-4.6-7-9V6z"/><path d="m8.7 11.8 2.1 2.1 4.6-4.6"/></svg></span> 8046 <span class="ap-j4-trust-copy"><span class="ap-j4-trust-label">Our formula</span><strong>Phthalate-free</strong><small>Toxin-free fragrance</small></span> 8047 </li> 8048 </ul> 8049</div> 8050 8051<style> 8052 @import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Prata&display=swap'); 8053 8054 .ap-j4-carousel { 8055 --ap-j4-cream: #f4edda; 8056 --ap-j4-gold: #a9812f; 8057 --ap-j4-red: #8f2520; 8058 --ap-j4-blue: #182f57; 8059 --ap-j4-ink: #201a10; 8060 position: relative; 8061 isolation: isolate; 8062 } 8063 .ap-j4-frame { 8064 max-width: min(1320px, calc(100% - 48px)); 8065 margin: 22px auto 0; 8066 border-radius: 24px 24px 0 0; 8067 overflow: hidden; 8068 position: relative; 8069 box-shadow: 0 22px 60px rgba(24,47,87,.15); 8070 } 8071 .ap-j4-track { 8072 display: flex; 8073 overflow-x: auto; 8074 scroll-snap-type: x mandatory; 8075 scroll-behavior: smooth; 8076 -webkit-overflow-scrolling: touch; 8077 scrollbar-width: none; 8078 } 8079 .ap-j4-track::-webkit-scrollbar { display: none; } 8080 .ap-j4-slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; } 8081 8082 /* Video slide */ 8083 .ap-j4-slide-video { background: #0c1426; } 8084 .ap-j4-slide-video::before { display: none; } 8085 .ap-j4-video { 8086 position: absolute; inset: 0; z-index: -3; 8087 width: 100%; height: 100%; 8088 object-fit: cover; 8089 pointer-events: none; 8090 } 8091 .ap-j4-video-play { 8092 position: absolute; top: 20px; right: 20px; z-index: 4; 8093 display: grid; place-items: center; width: 48px; height: 48px; padding: 0; 8094 border: 1px solid rgba(232,207,148,.78); border-radius: 50%; 8095 background: rgba(9,15,30,.76); color: #f3d98d; 8096 box-shadow: 0 10px 28px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.08); 8097 cursor: pointer; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); 8098 } 8099 .ap-j4-video-play[hidden] { display: none; } 8100 .ap-j4-video-play svg { width: 23px; height: 23px; fill: currentColor; transform: translateX(1px); } 8101 /* Hide iOS Safari's central play-button glyph that flashes on the poster before autoplay starts */ 8102 .ap-j4-video::-webkit-media-controls-start-playback-button, 8103 .ap-j4-video::-webkit-media-controls-play-button, 8104 .ap-j4-video::-webkit-media-controls-panel, 8105 .ap-j4-video::-webkit-media-controls { 8106 display: none !important; 8107 -webkit-appearance: none; 8108 } 8109 .ap-j4-slide-video::after { 8110 content: ""; 8111 position: absolute; inset: 0; z-index: -2; 8112 background: 8113 linear-gradient(90deg, rgba(9,15,30,.9) 0%, rgba(9,15,30,.7) 26%, rgba(9,15,30,.38) 46%, rgba(9,15,30,.1) 64%, rgba(9,15,30,0) 76%), 8114 linear-gradient(180deg, rgba(9,15,30,.42) 0%, rgba(9,15,30,0) 26%); 8115 } 8116 .ap-j4-copy-video .ap-j4-sale { 8117 display: inline-flex !important; 8118 align-items: center; 8119 align-self: flex-start; 8120 color: #ffffff !important; 8121 background: #b8902f; 8122 margin: 0 0 18px !important; 8123 padding: 7px 15px !important; 8124 border-radius: 999px !important; 8125 font-size: 11px !important; 8126 font-weight: 900 !important; 8127 letter-spacing: .15em !important; 8128 box-shadow: 0 6px 18px rgba(9,15,30,.35); 8129 text-shadow: none !important; 8130 } 8131 .ap-j4-copy-video .ap-j4-title { color: #ffffff !important; text-shadow: 0 2px 30px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.5); } 8132 .ap-j4-copy-video .ap-j4-title em { color: #eac97f !important; } 8133 .ap-j4-copy-video .ap-j4-sub { color: #f3ebda !important; text-shadow: 0 1px 16px rgba(0,0,0,.8); } 8134 .ap-j4-copy-video .ap-j4-button--ghost { 8135 background: rgba(255,255,255,.14); 8136 color: #fff !important; 8137 border-color: rgba(255,255,255,.72); 8138 backdrop-filter: blur(3px); 8139 -webkit-backdrop-filter: blur(3px); 8140 } 8141 .ap-j4-copy-video .ap-j4-button--ghost:hover { background: rgba(255,255,255,.92); color: var(--ap-j4-blue) !important; } 8142 8143 .ap-j4-hero { 8144 position: relative; 8145 isolation: isolate; 8146 min-height: 620px; 8147 overflow: hidden; 8148 background: #f4edda; 8149 color: var(--ap-j4-ink); 8150 font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8151 } 8152 .ap-j4-hero, .ap-j4-hero * { box-sizing: border-box; } 8153 8154 .ap-j4-hero::before { 8155 content: ""; 8156 position: absolute; 8157 inset: 0; 8158 z-index: -3; 8159 background-image: var(--ap-j4-desktop-image); 8160 background-position: center center; 8161 background-repeat: no-repeat; 8162 background-size: cover; 8163 } 8164 .ap-j4-hero::after { 8165 content: ""; 8166 position: absolute; 8167 inset: 0; 8168 z-index: -2; 8169 background: 8170 linear-gradient(90deg, rgba(244,237,218,.74) 0%, rgba(244,237,218,.44) 26%, rgba(244,237,218,.12) 44%, rgba(244,237,218,0) 58%), 8171 linear-gradient(180deg, rgba(244,237,218,.28) 0%, rgba(244,237,218,0) 24%); 8172 } 8173 8174 .ap-j4-wrap { 8175 position: relative; 8176 z-index: 1; 8177 width: min(1220px, calc(100% - 40px)); 8178 min-height: 620px; 8179 margin: 0 auto; 8180 display: flex; 8181 align-items: center; 8182 padding: 64px 0; 8183 } 8184 8185 .ap-j4-copy { position: relative; max-width: 560px !important; text-align: left !important; } 8186 8187 .ap-j4-sale { 8188 margin: 0 0 18px !important; 8189 display: block !important; 8190 color: var(--ap-j4-gold) !important; 8191 font-size: 13px !important; 8192 font-weight: 900 !important; 8193 line-height: 1.1 !important; 8194 letter-spacing: .18em !important; 8195 text-align: left !important; 8196 text-transform: uppercase !important; 8197 } 8198 8199 .ap-j4-title { 8200 display: block !important; 8201 max-width: 15ch !important; 8202 margin: 0 !important; 8203 color: var(--ap-j4-blue) !important; 8204 font-family: Prata, Georgia, "Times New Roman", serif !important; 8205 font-size: 60px !important; 8206 font-weight: 400 !important; 8207 line-height: 1.05 !important; 8208 letter-spacing: 0 !important; 8209 text-align: left !important; 8210 text-wrap: balance; 8211 } 8212 .ap-j4-title em { font-style: italic; color: var(--ap-j4-gold) !important; } 8213 8214 .ap-j4-sub { 8215 max-width: 33ch !important; 8216 margin: 22px 0 0 !important; 8217 color: #4a4031 !important; 8218 font-size: 19px !important; 8219 line-height: 1.55 !important; 8220 font-weight: 600 !important; 8221 letter-spacing: 0 !important; 8222 text-align: left !important; 8223 } 8224 .ap-j4-sub-sm { display: none; } 8225 8226 .ap-j4-offers { 8227 display: grid; 8228 grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); 8229 gap: 12px; 8230 max-width: 520px; 8231 margin: 24px 0 0; 8232 } 8233 .ap-j4-offer { 8234 min-width: 0; 8235 padding: 15px 18px; 8236 position: relative; 8237 border: 1px solid rgba(24,47,87,.22); 8238 border-radius: 4px; 8239 background: rgba(255,255,255,.9); 8240 box-shadow: 0 12px 30px rgba(24,47,87,.12); 8241 } 8242 .ap-j4-offer-featured { 8243 border-color: rgba(24,47,87,.9); 8244 background: linear-gradient(135deg, #182f57 0%, #0e1c34 60%, #3f1512 100%); 8245 box-shadow: 0 16px 38px rgba(0,0,0,.28); 8246 } 8247 .ap-j4-offer strong { 8248 display: block; 8249 color: var(--ap-j4-blue) !important; 8250 font-family: Prata, Georgia, "Times New Roman", serif !important; 8251 font-size: 30px !important; 8252 font-weight: 400 !important; 8253 line-height: 1 !important; 8254 } 8255 .ap-j4-offer-featured strong { color: #fff !important; } 8256 .ap-j4-offer span { 8257 display: block; 8258 margin-top: 7px; 8259 color: #4a4031 !important; 8260 font-size: 13.5px !important; 8261 line-height: 1.28 !important; 8262 font-weight: 700 !important; 8263 } 8264 .ap-j4-offer-featured span { color: #eddcb6 !important; } 8265 8266 .ap-j4-cta-row { display: flex; align-items: center; gap: 12px; margin-top: 30px; flex-wrap: wrap; } 8267 8268 /* Brilliant-Scents-style boxed buttons */ 8269 .ap-j4-button { 8270 display: inline-flex; 8271 align-items: center; 8272 justify-content: center; 8273 min-height: 54px;
8274 padding: 0 30px; 8275 border: 1.5px solid var(--ap-j4-blue); 8276 border-radius: 3px; 8277 background: var(--ap-j4-blue); 8278 color: #f7f0e2 !important; 8279 text-decoration: none !important; 8280 font-size: 14px !important; 8281 font-weight: 800 !important; 8282 line-height: 1.1 !important; 8283 letter-spacing: .14em !important; 8284 text-transform: uppercase !important; 8285 transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease; 8286 box-shadow: 0 10px 26px rgba(24,47,87,.22); 8287 } 8288 .ap-j4-button:hover { 8289 transform: translateY(-1px); 8290 background: #10233f; 8291 color: #fff !important; 8292 box-shadow: 0 14px 32px rgba(24,47,87,.3); 8293 } 8294 .ap-j4-button--ghost { 8295 background: rgba(255,255,255,.55); 8296 color: var(--ap-j4-blue) !important; 8297 border: 1.5px solid var(--ap-j4-blue); 8298 box-shadow: none; 8299 } 8300 .ap-j4-button--ghost:hover { 8301 background: var(--ap-j4-blue); 8302 color: #f7f0e2 !important; 8303 transform: translateY(-1px); 8304 } 8305 8306 .ap-j4-cta-help { 8307 margin: 20px 0 0 !important; 8308 display: inline-flex !important; 8309 align-items: center; 8310 gap: 8px; 8311 color: #6a5f4c !important; 8312 font-size: 14px !important; 8313 font-weight: 600 !important; 8314 line-height: 1.3 !important; 8315 text-align: left !important; 8316 } 8317 .ap-j4-cta-help svg { width: 16px; height: 16px; color: var(--ap-j4-gold); flex: 0 0 auto; } 8318 .ap-j4-cta-help b { color: var(--ap-j4-blue) !important; font-weight: 800; } 8319 .ap-j4-cta-help-txt { display: inline-block; } 8320 8321 /* Dots â bottom right */ 8322 .ap-j4-dots { 8323 position: absolute; 8324 right: 28px; 8325 bottom: 22px; 8326 z-index: 3; 8327 display: flex; 8328 justify-content: flex-end; 8329 pointer-events: none; 8330 } 8331 .ap-j4-dots-inner { 8332 display: inline-flex; 8333 align-items: center; 8334 gap: 9px; 8335 padding: 8px 13px; 8336 border-radius: 999px; 8337 background: rgba(255,255,255,.55); 8338 box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 6px 16px rgba(24,47,87,.16); 8339 backdrop-filter: blur(5px); 8340 -webkit-backdrop-filter: blur(5px); 8341 pointer-events: auto; 8342 } 8343 .ap-j4-dot { 8344 width: 9px; height: 9px; 8345 padding: 0; border: 0; 8346 border-radius: 999px; 8347 background: rgba(24,47,87,.32); 8348 cursor: pointer; 8349 transition: width .22s ease, background .22s ease; 8350 } 8351 .ap-j4-dot.is-active { width: 26px; background: var(--ap-j4-gold); } 8352 8353 /* Trust strip */ 8354 .ap-j4-truststrip { 8355 --ap-trust-navy: #0d1b32; 8356 --ap-trust-gold: #d6b66f; 8357 --ap-trust-cream: #f7f0df; 8358 --ap-trust-ink: #f8f4e9; 8359 position: relative; 8360 max-width: min(1320px, calc(100% - 48px)); 8361 margin: 0 auto 20px; 8362 border-radius: 0 0 20px 20px; 8363 overflow: hidden; 8364 background: 8365 radial-gradient(55% 170% at 10% 0%, rgba(214,182,111,.15), transparent 72%), 8366 linear-gradient(110deg, #0a172b 0%, #112443 52%, #0b192e 100%); 8367 border: 1px solid rgba(214,182,111,.24); 8368 border-top: 0; 8369 box-shadow: 0 24px 46px -34px rgba(7,18,36,.9); 8370 } 8371 .ap-j4-truststrip::before { 8372 content: ""; position: absolute; inset: 0 0 auto; height: 1px; pointer-events: none; 8373 background: linear-gradient(90deg, transparent, rgba(214,182,111,.72) 18%, rgba(246,224,174,.95) 50%, rgba(214,182,111,.72) 82%, transparent); 8374 } 8375 .ap-j4-trust { 8376 display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); 8377 max-width: 1240px; margin: 0 auto; padding: 0; list-style: none; 8378 } 8379 .ap-j4-trust li { 8380 position: relative; display: flex; align-items: center; justify-content: center; gap: 14px; 8381 min-width: 0; min-height: 102px; padding: 18px 22px; color: var(--ap-trust-ink); 8382 } 8383 .ap-j4-trust li + li { border-left: 1px solid rgba(214,182,111,.18); } 8384 .ap-j4-trust-medallion { 8385 display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; 8386 border-radius: 50%; color: var(--ap-trust-gold); 8387 background: rgba(214,182,111,.08); border: 1px solid rgba(214,182,111,.34); 8388 box-shadow: 0 0 0 5px rgba(214,182,111,.035); 8389 transition: transform .24s ease, background .24s ease, border-color .24s ease; 8390 } 8391 .ap-j4-trust-medallion svg { width: 20px; height: 20px; } 8392 .ap-j4-trust-copy { display: grid; gap: 2px; min-width: 0; } 8393 .ap-j4-trust-label { color: #d6b66f; font-size: 9px; font-weight: 900; line-height: 1.2; letter-spacing: .15em; text-transform: uppercase; } 8394 .ap-j4-trust-copy strong { color: #fffdf8; font-size: 14px; font-weight: 900; line-height: 1.2; } 8395 .ap-j4-trust-metric { font-family: 'Prata', serif; font-size: 20px; font-weight: 400; letter-spacing: -.02em; } 8396 .ap-j4-trust-copy small { color: rgba(241,238,230,.72); font-size: 11px; font-weight: 700; line-height: 1.25; } 8397 @media (hover: hover) { 8398 .ap-j4-trust li:hover .ap-j4-trust-medallion { transform: translateY(-2px); background: rgba(214,182,111,.14); border-color: rgba(214,182,111,.6); } 8399 } 8400 8401 @media (min-width: 921px) and (max-height: 820px) { 8402 .ap-j4-hero { min-height: 560px; } 8403 .ap-j4-wrap { min-height: 560px; padding: 40px 0; } 8404 .ap-j4-title { font-size: 52px !important; } 8405 .ap-j4-sub { margin-top: 16px !important; font-size: 17px !important; } 8406 .ap-j4-offers { margin-top: 18px; } 8407 .ap-j4-cta-row { margin-top: 24px; } 8408 .ap-j4-cta-help { margin-top: 16px !important; } 8409 } 8410 8411 @media (max-width: 920px) { 8412 .ap-j4-frame { max-width: none; width: calc(100% - 24px); margin: 12px auto 0; border-radius: 18px 18px 0 0; box-shadow: 0 14px 34px rgba(24,47,87,.16); } 8413 .ap-j4-truststrip { max-width: none; width: calc(100% - 24px); margin: 0 auto 14px; border-radius: 0 0 16px 16px; } 8414 .ap-j4-hero { 8415 min-height: 0; 8416 height: clamp(608px, 170vw, 700px); 8417 background: #f4edda; 8418 } 8419 .ap-j4-hero::before { 8420 background-image: var(--ap-j4-mobile-image); 8421 background-position: center bottom; 8422 } 8423 .ap-j4-hero::after { 8424 background: linear-gradient(180deg, rgba(244,237,218,.78) 0%, rgba(244,237,218,.44) 17%, rgba(244,237,218,.08) 32%, rgba(244,237,218,0) 44%); 8425 } 8426 .ap-j4-slide-video::after { 8427 background: linear-gradient(180deg, rgba(9,15,30,.76) 0%, rgba(9,15,30,.42) 15%, rgba(9,15,30,.06) 32%, rgba(9,15,30,0) 56%, rgba(9,15,30,.44) 82%, rgba(9,15,30,.84) 100%); 8428 } 8429 .ap-j4-slide-video .ap-j4-wrap { height: 100%; align-items: stretch; padding: 24px 0 56px; } 8430 .ap-j4-copy-video { display: flex; flex-direction: column; height: 100%; } 8431 .ap-j4-copy-video .ap-j4-sale { align-self: center; margin-bottom: 10px !important; } 8432 .ap-j4-copy-video .ap-j4-cta-row { margin-top: auto; } 8433 .ap-j4-wrap { 8434 width: min(100% - 28px, 560px); 8435 min-height: 0; 8436 height: 100%; 8437 align-items: flex-start; 8438 justify-content: center; 8439 padding: 24px 0 0; 8440 } 8441 .ap-j4-copy { width: 100% !important; max-width: 100% !important; text-align: center !important; } 8442 .ap-j4-sale { margin-bottom: 9px !important; font-size: 10.5px !important; text-align: center !important; } 8443 .ap-j4-title { max-width: 15ch !important; margin-right: auto !important; margin-left: auto !important; font-size: 29px !important; line-height: 1.06 !important; text-align: center !important; } 8444 .ap-j4-sub { max-width: 34ch !important; margin: 9px auto 0 !important; font-size: 13px !important; line-height: 1.35 !important; text-align: center !important; } 8445 .ap-j4-sub-lg { display: none; } 8446 .ap-j4-sub-sm { display: inline; } 8447 .ap-j4-offers { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin: 14px auto 0; } 8448 .ap-j4-offer { min-height: 80px; padding: 11px 10px; text-align: center; } 8449 .ap-j4-offer strong { font-size: 22px !important; } 8450 .ap-j4-offer span { margin-top: 5px; font-size: 10.5px !important; line-height: 1.15 !important; } 8451 .ap-j4-cta-row { display: grid; gap: 8px; margin-top: 13px; justify-items: center; } 8452 .ap-j4-button { width: 100%; min-height: 42px; font-size: 11.5px !important; letter-spacing: .1em !important; } 8453 /* Video slide: side-by-side CTAs so they cover less of the video */ 8454 .ap-j4-copy-video .ap-j4-cta-row { grid-template-columns: 1fr 1fr; gap: 8px; } 8455 .ap-j4-copy-video .ap-j4-button { min-height: 40px; font-size: 10px !important; letter-spacing: .03em !important; padding: 0 6px; white-space: nowrap; } 8456 .ap-j4-cta-help { display: none !important; } 8457 .ap-j4-dots { right: 0; left: 0; bottom: 16px; justify-content: center; } 8458 .ap-j4-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } 8459 .ap-j4-trust li { justify-content: flex-start; gap: 10px; min-height: 86px; padding: 13px 12px; } 8460 .ap-j4-trust li + li { border-left: 0; } 8461 .ap-j4-trust li:nth-child(even) { border-left: 1px solid rgba(214,182,111,.18); } 8462 .ap-j4-trust li:nth-child(n+3) { border-top: 1px solid rgba(214,182,111,.18); } 8463 .ap-j4-trust-medallion { width: 34px; height: 34px; flex-basis: 34px; box-shadow: 0 0 0 3px rgba(214,182,111,.03); } 8464 .ap-j4-trust-medallion svg { width: 16px; height: 16px; } 8465 .ap-j4-trust-copy { gap: 2px; } 8466 .ap-j4-trust-label { font-size: 7.5px; letter-spacing: .12em; } 8467 .ap-j4-trust-copy strong { font-size: 11px; } 8468 .ap-j4-trust-metric { font-size: 15px; } 8469 .ap-j4-trust-copy small { font-size: 9px; } 8470 } 8471 8472 @media (max-width: 340px) { 8473 .ap-j4-trust li { min-height: 76px; gap: 8px; padding: 10px 8px; } 8474 .ap-j4-trust-medallion { width: 30px; height: 30px; flex-basis: 30px; } 8475 .ap-j4-trust-label { display: none; } 8476 .ap-j4-trust-copy strong { font-size: 10.5px; } 8477 .ap-j4-trust-metric { font-size: 14px; } 8478 .ap-j4-trust-copy small { font-size: 8.5px; } 8479 } 8480 8481 @media (prefers-reduced-motion: reduce) { 8482 .ap-j4-track { scroll-behavior: auto; } 8483 .ap-j4-trust-medallion { transition: none; } 8484 } 8485</style> 8486
8487<script> 8488 (function () { 8489 function init(root) { 8490 var track = root.querySelector('[data-ap-j4-track]'); 8491 var slides = Array.prototype.slice.call(root.querySelectorAll('[data-ap-j4-slide]')); 8492 var dots = Array.prototype.slice.call(root.querySelectorAll('[data-ap-j4-dot]')); 8493 if (!track || slides.length < 2) return; 8494 8495 var n = slides.length, cur = 0; 8496 8497 function setActive(i) { 8498 cur = i; 8499 for (var d = 0; d < dots.length; d++) { 8500 var on = d === i; 8501 dots[d].classList.toggle('is-active', on); 8502 dots[d].setAttribute('aria-selected', on ? 'true' : 'false'); 8503 } 8504 // iOS pauses an inline video once it scrolls off-screen and won't auto-resume; 8505 // re-play whenever the carousel returns to the video slide. 8506 if (i === 0 && video) { try { video.muted = true; var vp = video.play(); if (vp && vp.catch) vp.catch(function(){}); } catch (e) {} } 8507 } 8508 function goTo(i, smooth) { 8509 i = (i + n) % n; 8510 track.scrollTo({ left: track.clientWidth * i, behavior: smooth === false ? 'auto' : 'smooth' }); 8511 setActive(i); 8512 scheduleNext(); 8513 } 8514 var st; 8515 track.addEventListener('scroll', function () { 8516 window.clearTimeout(st); 8517 st = window.setTimeout(function () { 8518 var i = Math.round(track.scrollLeft / track.clientWidth); 8519 if (i !== cur) setActive(i); 8520 }, 90); 8521 }, { passive: true }); 8522 for (var k = 0; k < dots.length; k++) { 8523 (function (di) { dots[di].addEventListener('click', function () { goTo(di); }); })(k); 8524 } 8525 window.addEventListener('resize', function () { goTo(cur, false); }); 8526 8527 // Autoplay: slide 1 (video) holds until the video finishes one full loop; 8528 // other slides advance after a fixed delay. 8529 var AUTOPLAY_MS = 6000, timer = null, paused = false; 8530 var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; 8531 var video = root.querySelector('.ap-j4-video'); 8532 var lastT = 0, videoArmed = false; 8533 function stop() { if (timer) { window.clearTimeout(timer); timer = null; } videoArmed = false; } 8534 function scheduleNext() { 8535 stop(); 8536 if (reduce || paused || n < 2 || document.visibilityState === 'hidden') return; 8537 if (cur === 0 && video) { 8538 // Advance when the video loops; fallback timer covers a blocked/paused video. 8539 videoArmed = true; 8540 var dur = (video.duration && isFinite(video.duration) && video.duration > 0) ? video.duration : 12; 8541 timer = window.setTimeout(function () { videoArmed = false; goTo(cur + 1); }, (dur * 1000) + 600); 8542 } else { 8543 timer = window.setTimeout(function () { goTo(cur + 1); }, AUTOPLAY_MS); 8544 } 8545 } 8546 if (video) { 8547 video.addEventListener('timeupdate', function () { 8548 // A muted looping video restarts silently â detect the wrap (currentTime jumps back). 8549 if (videoArmed && lastT > 0.3 && video.currentTime + 0.35 < lastT) { videoArmed = false; goTo(cur + 1); } 8550 lastT = video.currentTime; 8551 }); 8552 } 8553 root.addEventListener('pointerenter', function () { paused = true; stop(); }); 8554 root.addEventListener('pointerleave', function () { paused = false; scheduleNext(); }); 8555 root.addEventListener('focusin', function () { paused = true; stop(); }); 8556 root.addEventListener('focusout', function () { paused = false; scheduleNext(); }); 8557 root.addEventListener('touchstart', function () { paused = true; stop(); }, { passive: true }); 8558 root.addEventListener('touchend', function () { paused = false; scheduleNext(); }, { passive: true }); 8559 document.addEventListener('visibilitychange', function () { 8560 if (document.visibilityState === 'visible') { paused = false; scheduleNext(); } else { paused = true; stop(); } 8561 }); 8562 setActive(0); 8563 scheduleNext(); 8564 } 8565 var roots = document.querySelectorAll('[data-ap-j4-carousel]'); 8566 for (var i = 0; i < roots.length; i++) init(roots[i]); 8567 8568 // Force muted autoplay on mobile (iOS shows a play button otherwise) 8569 (function () { 8570 var vids = document.querySelectorAll('.ap-j4-video'); 8571 function button(v) { return v.parentElement.querySelector('[data-ap-j4-video-play]'); } 8572 function showFallback(v) { var b = button(v); if (b) b.hidden = false; } 8573 function hideFallback(v) { var b = button(v); if (b) b.hidden = true; } 8574 function play(v) { 8575 try { 8576 v.muted = true; v.setAttribute('muted', ''); v.defaultMuted = true; 8577 var p = v.play(); 8578 if (p && p.catch) p.catch(function () { showFallback(v); }); 8579 } catch (e) { showFallback(v); } 8580 } 8581 function resumeAll() { for (var i = 0; i < vids.length; i++) play(vids[i]); } 8582 for (var i = 0; i < vids.length; i++) { 8583 var v = vids[i]; v.muted = true; v.defaultMuted = true; 8584 var playButton = button(v); 8585 if (playButton) playButton.addEventListener('click', (function (el) { return function () { play(el); }; })(v)); 8586 v.addEventListener('play', (function (el) { return function () { hideFallback(el); }; })(v)); 8587 play(v); 8588 v.addEventListener('loadeddata', (function (el) { return function () { play(el); }; })(v)); 8589 v.addEventListener('canplay', (function (el) { return function () { play(el); }; })(v)); 8590 } 8591 document.addEventListener('touchstart', resumeAll, { passive: true, once: true }); 8592 document.addEventListener('visibilitychange', function () { if (document.visibilityState === 'visible') resumeAll(); }); 8593 // iOS pauses inline videos when they leave the viewport; re-play whenever one returns to view. 8594 if ('IntersectionObserver' in window) { 8595 var io = new IntersectionObserver(function (entries) { 8596 for (var k = 0; k < entries.length; k++) { if (entries[k].isIntersecting) play(entries[k].target); } 8597 }, { threshold: 0.25 }); 8598 for (var j = 0; j < vids.length; j++) io.observe(vids[j]); 8599 } 8600 })(); 8601 })(); 8602</script>
8602 8603 8604 8605 <section class="ap-guide-banner" aria-label="Scent setup finder"> 8606 <a class="ap-guide-banner__card" href="/pages/find-your-scent-setup?source=homepage"> 8607 <picture class="ap-guide-banner__media"> 8608 <source media="(max-width: 989px)" srcset="//aromaparadise.com/cdn/shop/t/68/assets/ap-home-guide-banner-mobile.webp?v=144845097216744814811789765596"> 8609 <img src="//aromaparadise.com/cdn/shop/t/68/assets/ap-home-guide-banner.webp?v=27741791356231302621789765597" alt="" width="3000" height="1273" loading="lazy"> 8610 </picture> 8611 <span class="ap-guide-banner__content"> 8612 <span class="ap-guide-banner__eyebrow">Free 1-minute guide</span> 8613 <strong class="ap-guide-banner__title">Not sure which scent setup is right for you?</strong> 8614 <span class="ap-guide-banner__copy">Compare waterless, humidifying, and candle scenting. Weâll match the right setup and scents.</span> 8615 <span class="ap-guide-banner__proof" aria-hidden="true"> 8616 <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg>1 minute</span> 8617 <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12s3-6 9-6 9 6 9 6-3 6-9 6-9-6-9-6Z"/><circle cx="12" cy="12" r="2.5"/></svg>Visual questions</span> 8618 </span> 8619 <span class="ap-guide-banner__cta">Find my setup<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 8620 </span> 8621 </a> 8622 </section> 8623 <style> 8624 .ap-home-v2 .ap-guide-banner{padding:16px 16px 12px;background:var(--cream);} 8625 .ap-home-v2 .ap-guide-banner__card{display:grid;width:min(1180px,100%);margin:0 auto;overflow:hidden;border:1px solid rgba(157,112,23,.48);border-radius:20px;background:#fffaf0;color:var(--ink);text-decoration:none;box-shadow:0 18px 44px -28px rgba(64,40,8,.62);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;} 8626 .ap-home-v2 .ap-guide-banner__media{display:block;height:164px;overflow:hidden;background:#d8c5a8;} 8627 .ap-home-v2 .ap-guide-banner__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1);} 8628 .ap-home-v2 .ap-guide-banner__content{display:flex;flex-direction:column;align-items:flex-start;padding:18px 18px 19px;} 8629 .ap-home-v2 .ap-guide-banner__eyebrow{margin-bottom:8px;color:var(--gold-deep);font-family:var(--ui);font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;} 8630 .ap-home-v2 .ap-guide-banner__title{max-width:16ch;font-family:var(--serif);font-size:clamp(25px,7vw,34px);font-weight:400;line-height:1.02;letter-spacing:-.02em;} 8631 .ap-home-v2 .ap-guide-banner__copy{margin-top:9px;color:var(--ink-2);font-family:var(--ui);font-size:12.5px;line-height:1.42;} 8632 .ap-home-v2 .ap-guide-banner__proof{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;color:var(--ink-2);font-family:var(--ui);font-size:10.5px;font-weight:700;} 8633 .ap-home-v2 .ap-guide-banner__proof span{display:inline-flex;align-items:center;gap:5px;} 8634 .ap-home-v2 .ap-guide-banner__proof svg{width:15px;height:15px;color:var(--gold-deep);} 8635 .ap-home-v2 .ap-guide-banner__cta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:16px;padding:12px 17px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--ui);font-size:12.5px;font-weight:800;letter-spacing:.025em;} 8636 .ap-home-v2 .ap-guide-banner__cta svg{width:16px;height:16px;transition:transform .2s ease;} 8637 @media(hover:hover){ 8638 .ap-home-v2 .ap-guide-banner__card:hover{transform:translateY(-2px);border-color:rgba(157,112,23,.76);box-shadow:0 25px 54px -29px rgba(64,40,8,.7);} 8639 .ap-home-v2 .ap-guide-banner__card:hover .ap-guide-banner__media img{transform:scale(1.025);} 8640 .ap-home-v2 .ap-guide-banner__card:hover .ap-guide-banner__cta svg{transform:translateX(3px);} 8641 } 8642 @media(min-width:750px){ 8643 .ap-home-v2 .ap-guide-banner{padding:24px 24px 16px;} 8644 .ap-home-v2 .ap-guide-banner__card{grid-template-columns:minmax(0,1.32fr) minmax(310px,.88fr);min-height:330px;} 8645 .ap-home-v2 .ap-guide-banner__media{height:100%;min-height:330px;} 8646 .ap-home-v2 .ap-guide-banner__content{justify-content:center;
8646padding:28px 30px;} 8647 .ap-home-v2 .ap-guide-banner__title{font-size:32px;} 8648 .ap-home-v2 .ap-guide-banner__copy{font-size:13.5px;max-width:54ch;} 8649 .ap-home-v2 .ap-guide-banner__cta{width:auto;min-width:210px;} 8650 } 8651 @media(min-width:990px){ 8652 .ap-home-v2 .ap-guide-banner{padding:30px 32px 18px;} 8653 .ap-home-v2 .ap-guide-banner__card{grid-template-columns:minmax(0,1.58fr) minmax(330px,.72fr);min-height:330px;} 8654 .ap-home-v2 .ap-guide-banner__media{height:100%;min-height:330px;} 8655 .ap-home-v2 .ap-guide-banner__content{justify-content:center;padding:34px 38px;} 8656 .ap-home-v2 .ap-guide-banner__title{font-size:38px;} 8657 .ap-home-v2 .ap-guide-banner__copy{font-size:13.5px;} 8658 .ap-home-v2 .ap-guide-banner__cta{margin-top:20px;} 8659 } 8660 @media(prefers-reduced-motion:reduce){.ap-home-v2 .ap-guide-banner__card,.ap-home-v2 .ap-guide-banner__media img,.ap-home-v2 .ap-guide-banner__cta svg{transition:none;}} 8661 </style><section class="apv2-start" id="apv2-start" aria-labelledby="apv2-start-title"> 8662 <div class="apv2-start__inner"> 8663 <p class="apv2-start__eyebrow">Find your starting point</p> 8664 <h2 class="apv2-start__h" id="apv2-start-title">New here? Start in <em>one tap.</em></h2> 8665 <div class="apv2-start__cards"> 8666 <a class="apv2-start__card apv2-start__card--half" href="/collections/waterless-fragrance-oils-1?source=startV2"> 8667 <span class="apv2-start__ico apv2-start__ico--img"><img src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/golden-sage-pdp-nb2-1k-hq.webp?width=140" alt="Fragrance oil" loading="lazy" width="140" height="140" style="object-position:center 42%"></span> 8668 <span class="apv2-start__t">Just scents</span> 8669 <span class="apv2-start__d">Already have a diffuser?</span> 8670 <span class="apv2-start__go">
8670Shop oils <svg class="apv2-start__goarrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 8671 </a> 8672 <a class="apv2-start__card apv2-start__card--half" href="/collections/waterless-scent-diffusers?source=startV2"> 8673 <span class="apv2-start__ico apv2-start__ico--img apv2-start__ico--tower" role="img" aria-label="Tower Pro waterless diffuser"></span> 8674 <span class="apv2-start__t">Choose a diffuser</span> 8675 <span class="apv2-start__d">Match one to your room size</span> 8676 <span class="apv2-start__go">Shop diffusers <svg class="apv2-start__goarrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span> 8677 </a> 8678 <a class="apv2-start__card apv2-start__card--wide" href="/pages/build-your-waterless-scent-bundle?source=startV2"> 8679 <span class="apv2-start__ico apv2-start__ico--img"><img src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/task_01kc2h1mqmet19hf56n45neyqy-1765316639_img_0.webp?width=150" alt="Diffuser and fragrance oils bundle" loading="lazy" width="150" height="150" style="object-position:center 50%"></span> 8680 <span class="apv2-start__body"> 8681 <span class="apv2-start__t">The whole setup <span class="apv2-start__badge apv2-start__badge--save">Up to 20% off</span></span> 8682 <span class="apv2-start__d">Brand new? Build a diffuser + scents set.</span> 8683 </span> 8684 <svg class="apv2-start__arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"/></svg> 8685 </a> 8686 </div> 8687 </div> 8688 </section> 8689 <style> 8690 .ap-home-v2 .apv2-start{padding:40px 16px;} 8691 .ap-home-v2 .apv2-start__inner{width:min(1100px,100%);margin:0 auto;text-align:center;} 8692 .ap-home-v2 .apv2-start__eyebrow{margin:0 0 8px;color:var(--gold);font-family:var(--ui);font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;} 8693 .ap-home-v2 .apv2-start__h{margin:0 0 18px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,6vw,40px);line-height:1.1;color:var(--ink);} 8694 .ap-home-v2 .apv2-start__h em{font-style:italic;color:var(--gold-deep);} 8695 .ap-home-v2 .apv2-start__cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;max-width:580px;margin:0 auto;} 8696 .ap-home-v2 .apv2-start__card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-decoration:none;box-shadow:0 10px 24px -20px rgba(60,45,20,.5);transition:transform .16s ease,border-color .16s ease;} 8697 .ap-home-v2 .apv2-start__card:active{transform:translateY(1px);} 8698 .ap-home-v2 .apv2-start__card--feature{border-color:var(--gold);background:linear-gradient(180deg,#fffdf7,#fbf3e2);} 8699 .ap-home-v2 .apv2-start__card--wide{grid-column:1 / -1;} 8700 .ap-home-v2 .apv2-start__card--half{grid-template-columns:1fr;justify-items:start;align-content:space-between;gap:9px;padding:16px 15px;min-height:138px;background:linear-gradient(180deg,#fffefb,#faf4ea);} 8701 .ap-home-v2 .apv2-start__card--half .apv2-start__t{font-size:16px;} 8702 .ap-home-v2 .apv2-start__card--half .apv2-start__d{font-size:11.5px;line-height:1.35;color:var(--muted);} 8703 .ap-home-v2 .apv2-start__go{display:inline-flex;align-items:center;gap:5px;font-family:var(--ui);font-size:12px;font-weight:800;color:var(--gold-deep);} 8704 .ap-home-v2 .apv2-start__goarrow{width:14px;height:14px;} 8705 @media(hover:hover){ 8706 .ap-home-v2 .apv2-start__card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;} 8707 .ap-home-v2 .apv2-start__card:hover{transform:translateY(-2px);border-color:rgba(184,138,47,.55);box-shadow:0 18px 36px -22px rgba(60,45,20,.5);} 8708 } 8709 .ap-home-v2 .apv2-start__ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fdf5e2,#f0e0bf);color:var(--gold-deep);box-shadow:inset 0 0 0 1px rgba(184,138,47,.3),0 5px 12px -7px rgba(169,127,51,.6);flex:0 0 auto;} 8710 .ap-home-v2 .apv2-start__ico svg{width:23px;height:23px;} 8711 .ap-home-v2 .apv2-start__card--feature .apv2-start__ico{background:radial-gradient(circle at 32% 26%,#fff,#f6e9cd);} 8712 .ap-home-v2 .apv2-start__ico--img{display:block;width:52px;height:52px;background:#efe7da;overflow:hidden;} 8713 .ap-home-v2 .apv2-start__ico--img img{width:100%;height:100%;object-fit:cover;display:block;} 8714 .ap-home-v2 .apv2-start__ico--tower{background-image:url(https://cdn.shopify.com/s/files/1/0658/4644/4213/files/tower
8714-pro-waterless-scent-diffuser-01-hf_20260518_180845_2faec3d2-285f-4824-9520-1118109d3f62-optimized.jpg?width=220);background-size:135%;background-position:center 40%;background-repeat:no-repeat;background-color:#efe7da;} 8715 .ap-home-v2 .apv2-start__body{display:grid;gap:2px;min-width:0;} 8716 .ap-home-v2 .apv2-start__t{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-family:var(--serif);font-size:18px;line-height:1.15;color:var(--ink);} 8717 .ap-home-v2 .apv2-start__badge{font-family:var(--ui);font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(90deg,#caa14f,#a97f33);padding:3px 7px;border-radius:999px;flex:0 0 auto;} 8718 .ap-home-v2 .apv2-start__badge--save{background:#c0392b;font-size:10px;padding:5px 11px;letter-spacing:.08em;} 8719 .ap-home-v2 .apv2-start__d{font-family:var(--ui);font-size:12.5px;line-height:1.4;color:var(--ink-2);} 8720 .ap-home-v2 .apv2-start__arrow{width:20px;height:20px;color:var(--gold-deep);flex:0 0 auto;} 8721 @media(min-width:750px){ 8722 .ap-home-v2 .apv2-start{padding:56px 24px;} 8723 .ap-home-v2 .apv2-start__cards{grid-template-columns:1fr 1fr;max-width:1040px;gap:14px;} 8724 .ap-home-v2 .apv2-start__card{padding:18px 22px;} 8725 .ap-home-v2 .apv2-start__t{font-size:18px;} 8726 .ap-home-v2 .apv2-start__card--half{grid-template-columns:auto 1fr;align-content:center;justify-items:start;column-gap:16px;row-gap:2px;min-height:0;padding:20px 22px;} 8727 .ap-home-v2 .apv2-start__card--half .apv2-start__ico{grid-column:1;grid-row:1 / span 3;align-self:center;} 8728 .ap-home-v2 .apv2-start__card--half .apv2-start__t{grid-column:2;} 8729 .ap-home-v2 .apv2-start__card--half .apv2-start__d{grid-column:2;} 8730 .ap-home-v2 .apv2-start__card--half .apv2-start__go{grid-column:2;margin-top:2px;} 8731 } 8732 </style> 8733 <div class="ap-tu-banner-shell"> 8734 <div class="ap-tu-carousel" data-ap-diffuser-carousel role="region" aria-roledescription="carousel" aria-label="Featured diffusers"> 8735 <section class="ap-tu-banner ap-tu-banner--slide is-active" aria-labelledby="ap-tu-banner-title-template--28517220614325__main-tower" role="group" aria-roledescription="slide" aria-label="1 of 2"> 8736 <a class="ap-tu-banner__link" href="/products/tower-ultra-rechargeable-waterless-scent-diffuser" aria-labelledby="ap-tu-banner-title-template--28517220614325__main-tower"> 8737 <picture class="ap-tu-banner__media"> 8738 <source media="(max-width: 749px)" srcset="//aromaparadise.com/cdn/shop/t/68/assets/ap-tower-ultra-collection-banner-mobile.webp?v=180716113839190394651789765623"> 8739 <img 8740 class="ap-tu-banner__image" 8741 src="//aromaparadise.com/cdn/shop/t/68/assets/ap-tower-ultra-collection-banner.webp?v=52462740882247271211789765623" 8742 width="2560" 8743 height="1087" 8744 loading="eager" 8745 fetchpriority="high" 8746 alt="Black Tower Ultra rechargeable waterless scent diffuser releasing a soft scent plume in a warm modern living room" 8747 > 8748 </picture> 8749 <div class="ap-tu-banner__shade" aria-hidden="true"></div> 8750 <div class="ap-tu-banner__content"> 8751 <p class="ap-tu-banner__eyebrow">New · Top of the line</p> 8752 <h2 id="ap-tu-banner-title-template--28517220614325__main-tower">Tower Ultra</h2> 8753 <ul class="ap-tu-banner__features" aria-label="Tower Ultra features"> 8754 <li> 8755 <svg viewBox="0 0 24 24" aria-hidden="true"> 8756 <path d="M7.5 6.5h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2Z"/> 8757 <path d="M9.5 4.5h4M18.5 10v4M12.5 8.5l-2 3h2l-1 4 3-4h-2l1-3Z"/> 8758 </svg> 8759 <span>Rechargeable</span> 8760 </li> 8761 <li> 8762 <svg viewBox="0 0 24 24" aria-hidden="true"> 8763 <rect x="6.5" y="3.5" width="11" height="17" rx="2"/> 8764 <path d="M10 6.5h4M10.5 17.5h3M19.5 8.5a4 4 0 0 1 0 7M21.5 6.5a7 7 0 0 1 0 11"/> 8765 </svg> 8766 <span>App controlled</span> 8767 </li> 8768 <li> 8769 <svg viewBox="0 0 24 24" aria-hidden="true"> 8770 <rect x="7" y="2.5" width="10" height="19" rx="3"/> 8771 <circle cx="12" cy="7.5" r="1.5"/> 8772 <path d="M10 12h4M10 15h4M12 12v3"/> 8773 </svg>
8774 <span>Remote included</span> 8775 </li> 8776 </ul> 8777 <span class="ap-tu-banner__button">Shop now</span> 8778 </div> 8779 </a> 8780 </section><section class="ap-tu-banner ap-tu-banner--slide ap-tu-banner--contour" aria-labelledby="ap-tu-banner-title-template--28517220614325__main-contour" role="group" aria-roledescription="slide" aria-label="2 of 2" aria-hidden="true" inert> 8781 <a class="ap-tu-banner__link" href="/products/contour-smart-plug-in-waterless-scent-diffuser" aria-labelledby="ap-tu-banner-title-template--28517220614325__main-contour"> 8782 <picture class="ap-tu-banner__media"> 8783 <source media="(max-width: 749px)" srcset="//aromaparadise.com/cdn/shop/t/68/assets/ap-contour-carousel-banner-mobile.webp?v=131553490998285049091789932453"> 8784 <img 8785 class="ap-tu-banner__image" 8786 src="//aromaparadise.com/cdn/shop/t/68/assets/ap-contour-carousel-banner.webp?v=72918800157681540001789932453" 8787 width="3168" 8788 height="1344" 8789 loading="lazy" 8790 alt="Black Contour Smart Plug-In waterless diffuser releasing a light scent mist in a warm modern living room" 8791 > 8792 </picture> 8793 <div class="ap-tu-banner__shade" aria-hidden="true"></div> 8794 <div class="ap-tu-banner__content"> 8795 <p class="ap-tu-banner__eyebrow">New · Smart plug-in scenting</p> 8796 <h2 id="ap-tu-banner-title-template--28517220614325__main-contour"><span>Contour</span><span>Smart Plug-In</span></h2> 8797 <ul class="ap-tu-banner__features" aria-label="Contour Smart Plug-In features"> 8798 <li> 8799 <svg viewBox="0 0 24 24" aria-hidden="true"> 8800 <rect x="6.5" y="3.5" width="11" height="17" rx="2"/> 8801 <path d="M10 6.5h4M10.5 17.5h3M19.5 8.5a4 4 0 0 1 0 7M21.5 6.5a7 7 0 0 1 0 11"/> 8802 </svg> 8803 <span>App scheduling</span> 8804 </li> 8805 <li> 8806 <svg viewBox="0 0 24 24" aria-hidden="true"> 8807 <path d="M9 3.5h6v3l1.5 2v10a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-10l1.5-2v-3Z"/> 8808 <path d="M9 7h6M10 13h4"/> 8809 </svg> 8810 <span>60 ml reservoir</span> 8811 </li> 8812 <li> 8813 <svg viewBox="0 0 24 24" aria-hidden="true"> 8814 <path d="M5 7h14M5 12h14M5 17h14"/> 8815 <circle cx="9" cy="7" r="1.5"/><circle cx="15" cy="12" r="1.5"/><circle cx="11" cy="17" r="1.5"/> 8816 </svg> 8817 <span>3 intensity levels</span> 8818 </li> 8819 </ul> 8820 <span class="ap-tu-banner__button">Shop now</span> 8821 </div> 8822 </a> 8823 </section> 8824 8825 <div class="ap-tu-carousel__controls" aria-label="Carousel controls"> 8826 <button type="button" class="ap-tu-carousel__arrow" data-ap-carousel-prev aria-label="Previous diffuser"> 8827 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="m14.5 6-6 6 6 6"/></svg> 8828 </button> 8829 <button type="button" class="ap-tu-carousel__dot is-active" data-ap-carousel-dot="0" aria-label="Show Tower Ultra" aria-current="true"></button> 8830 <button type="button" class="ap-tu-carousel__dot" data-ap-carousel-dot="1" aria-label="Show Contour Smart Plug-In"></button> 8831 <button type="button" class="ap-tu-carousel__pause" data-ap-carousel-pause aria-label="Pause auto-rotation" aria-pressed="false"> 8832 <svg class="ap-tu-carousel__pause-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 7v10M15 7v10"/></svg> 8833 <svg class="ap-tu-carousel__play-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m9 7 8 5-8 5Z"/></svg> 8834 </button> 8835 <button type="button" class="ap-tu-carousel__arrow" data-ap-carousel-next aria-label="Next diffuser"> 8836 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9.5 6 6 6-6 6"/></svg> 8837 </button> 8838 </div></div> 8839 8840 <style> 8841 .ap-tu-banner-shell { 8842 background: #faf6ee; 8843 padding: 12px 24px 20px; 8844 } 8845 8846 .ap-tu-carousel { 8847 position: relative; 8848 width: min(1280px, 100%); 8849 margin: 0 auto; 8850 } 8851 8852 .ap-tu-banner { 8853 position: relative; 8854 width: 100%; 8855 min-height: clamp(360px, 31vw, 430px); 8856 margin: 0; 8857 overflow: hidden; 8858 border-radius: 26px; 8859 isolation: isolate; 8860 background: #2a1510; 8861 color: #fff; 8862 } 8863 8864 .ap-tu-banner--slide { 8865 opacity: 0; 8866 pointer-events: none; 8867 transition: opacity 650ms ease; 8868 } 8869 8870 .ap-tu-banner--slide:not(:first-child) { 8871 position: absolute; 8872 inset: 0; 8873 } 8874 8875 .ap-tu-banner--slide.is-active { 8876 z-index: 1; 8877 opacity: 1; 8878 pointer-events: auto; 8879 } 8880 8881 .ap-tu-banner__link { 8882 position: relative; 8883 display: block; 8884 min-height: inherit; 8885 color: inherit; 8886 text-decoration: none; 8887 cursor: pointer; 8888 } 8889 8890 .ap-tu-banner__link:focus-visible { 8891 outline: 3px solid #f0cf82;
8892 outline-offset: -5px; 8893 } 8894 8895 .ap-tu-banner__media, 8896 .ap-tu-banner__image, 8897 .ap-tu-banner__shade { 8898 position: absolute; 8899 inset: 0; 8900 width: 100%; 8901 height: 100%; 8902 } 8903 8904 .ap-tu-banner__image { 8905 display: block; 8906 object-fit: cover; 8907 object-position: center; 8908 animation: ap-tu-image-in 900ms cubic-bezier(.2,.7,.2,1) both; 8909 } 8910 8911 .ap-tu-banner__shade { 8912 z-index: 1; 8913 background: linear-gradient(90deg, rgba(24, 10, 7, .82) 0%, rgba(32, 15, 10, .58) 37%, rgba(32, 15, 10, .08) 67%); 8914 } 8915 8916 .ap-tu-banner--contour .ap-tu-banner__shade { 8917 background: linear-gradient(90deg, rgba(10, 10, 10, .26) 0%, rgba(10, 10, 10, .08) 43%, transparent 61%); 8918 } 8919 8920 .ap-tu-banner__content { 8921 position: relative; 8922 z-index: 2; 8923 display: flex; 8924 width: min(690px, 58%); 8925 min-height: inherit; 8926 padding: clamp(36px, 5vw, 68px); 8927 flex-direction: column; 8928 align-items: flex-start; 8929 justify-content: center; 8930 animation: ap-tu-copy-in 700ms 120ms cubic-bezier(.2,.7,.2,1) both; 8931 } 8932 8933 .ap-tu-banner__eyebrow, 8934 .ap-tu-banner__features { 8935 margin: 0; 8936 font-family: var(--font-body-family); 8937 } 8938 8939 .ap-tu-banner__eyebrow { 8940 margin-bottom: 12px; 8941 color: #f0cf82;
8942 font-size: 1.2rem; 8943 font-weight: 700; 8944 letter-spacing: .14em; 8945 text-transform: uppercase; 8946 } 8947 8948 .ap-tu-banner h2 { 8949 max-width: 10ch; 8950 margin: 0; 8951 color: #fff; 8952 font-family: var(--font-heading-family); 8953 font-size: clamp(4rem, 5vw, 6.4rem); 8954 font-weight: 500; 8955 letter-spacing: -.035em; 8956 line-height: .95; 8957 } 8958 8959 .ap-tu-banner--contour h2 { 8960 max-width: 12ch; 8961 font-size: clamp(3.5rem, 4.4vw, 5.8rem); 8962 } 8963 8964 .ap-tu-banner--contour h2 span { 8965 display: block; 8966 white-space: nowrap; 8967 } 8968 8969 .ap-tu-banner__features { 8970 display: flex; 8971 padding: 0; 8972 margin-top: 20px; 8973 flex-wrap: wrap; 8974 gap: 10px 0; 8975 list-style: none; 8976 } 8977 8978 .ap-tu-banner__features li { 8979 display: inline-flex; 8980 min-height: 30px; 8981 padding-right: 16px; 8982 align-items: center; 8983 gap: 8px; 8984 color: rgba(255, 255, 255, .96); 8985 font-size: clamp(1.2rem, 1.1vw, 1.35rem); 8986 font-weight: 600; 8987 line-height: 1; 8988 animation: ap-tu-feature-in 520ms cubic-bezier(.2,.7,.2,1) both; 8989 } 8990 8991 .ap-tu-banner__features li + li { 8992 padding-left: 16px; 8993 border-left: 1px solid rgba(240, 207, 130, .42); 8994 } 8995 8996 .ap-tu-banner__features li:nth-child(1) { animation-delay: 420ms; } 8997 .ap-tu-banner__features li:nth-child(2) { animation-delay: 540ms; } 8998 .ap-tu-banner__features li:nth-child(3) { animation-delay: 660ms; } 8999 9000 .ap-tu-banner__features svg { 9001 box-sizing: border-box; 9002 width: 28px; 9003 height: 28px; 9004 padding: 5px; 9005 flex: 0 0 28px; 9006 border: 1px solid rgba(240, 207, 130, .72); 9007 border-radius: 50%; 9008 background: rgba(42, 23, 17, .38); 9009 fill: none; 9010 stroke: #f0cf82; 9011 stroke-width: 1.7; 9012 stroke-linecap: round; 9013 stroke-linejoin: round; 9014 } 9015 9016 .ap-tu-banner__button { 9017 display: inline-flex; 9018 min-height: 48px; 9019 margin-top: 28px; 9020 padding: 0 25px; 9021 align-items: center; 9022 justify-content: center; 9023 border: 1px solid #fff; 9024 border-radius: 999px; 9025 background: #fff; 9026 color: #24120d; 9027 font-size: 1.45rem; 9028 font-weight: 700; 9029 text-decoration: none; 9030 transition: transform 180ms ease, background-color 180ms ease, color 180ms ease; 9031 } 9032 9033 .ap-tu-banner__link:hover .ap-tu-banner__button, 9034 .ap-tu-banner__link:focus-visible .ap-tu-banner__button { 9035 transform: translateY(-2px); 9036 background: transparent; 9037 color: #fff; 9038 } 9039 9040 .ap-tu-carousel__controls { 9041 position: absolute; 9042 z-index: 4; 9043 right: 18px; 9044 bottom: 16px; 9045 display: flex; 9046 min-height: 42px; 9047 padding: 4px 6px; 9048 align-items: center; 9049 gap: 5px; 9050 border: 1px solid rgba(255, 255, 255, .32); 9051 border-radius: 999px; 9052 background: rgba(20, 12, 9, .68); 9053 box-shadow: 0 8px 24px rgba(0, 0, 0, .18); 9054 backdrop-filter: blur(10px); 9055 } 9056 9057 .ap-tu-carousel__controls button { 9058 display: grid; 9059 width: 32px; 9060 height: 32px; 9061 padding: 0; 9062 place-items: center; 9063 border: 0; 9064 border-radius: 50%; 9065 background: transparent; 9066 color: #fff; 9067 cursor: pointer; 9068 } 9069 9070 .ap-tu-carousel__controls button:focus-visible { 9071 outline: 2px solid #f0cf82; 9072 outline-offset: 1px; 9073 } 9074 9075 .ap-tu-carousel__arrow svg, 9076 .ap-tu-carousel__pause svg { 9077 width: 18px; 9078 height: 18px; 9079 fill: none; 9080 stroke: currentColor; 9081 stroke-width: 1.8; 9082 stroke-linecap: round; 9083 stroke-linejoin: round; 9084 } 9085 9086 .ap-tu-carousel__dot { 9087 width: 10px !important; 9088 height: 10px !important; 9089 margin: 0 2px; 9090 border: 1px solid rgba(255, 255, 255, .8) !important; 9091 background: transparent !important; 9092 transition: width 180ms ease, border-radius 180ms ease, background-color 180ms ease; 9093 } 9094 9095 .ap-tu-carousel__dot.is-active { 9096 width: 24px !important; 9097 border-color: #f0cf82 !important; 9098 border-radius: 999px !important; 9099 background: #f0cf82 !important; 9100 } 9101 9102 .ap-tu-carousel__play-icon, 9103 .ap-tu-carousel__pause[aria-pressed="true"] .ap-tu-carousel__pause
9103-icon { 9104 display: none; 9105 } 9106 9107 .ap-tu-carousel__pause[aria-pressed="true"] .ap-tu-carousel__play-icon { 9108 display: block; 9109 } 9110 9111 @keyframes ap-tu-image-in { 9112 from { opacity: .72; transform: scale(1.025); } 9113 to { opacity: 1; transform: scale(1); } 9114 } 9115 9116 @keyframes ap-tu-copy-in { 9117 from { opacity: 0; transform: translateY(14px); } 9118 to { opacity: 1; transform: translateY(0); } 9119 } 9120 9121 @keyframes ap-tu-feature-in { 9122 from { opacity: 0; transform: translateY(8px) scale(.96); } 9123 to { opacity: 1; transform: translateY(0) scale(1); } 9124 } 9125 9126 @media screen and (max-width: 749px) { 9127 .ap-tu-banner-shell { 9128 padding: 6px 12px 16px; 9129 } 9130 9131 .ap-tu-carousel { 9132 touch-action: pan-y; 9133 } 9134 9135 .ap-tu-banner { 9136 min-height: 510px; 9137 border-radius: 20px; 9138 } 9139 9140 .ap-tu-banner__image { 9141 object-position: center; 9142 } 9143 9144 .ap-tu-banner__shade { 9145 background: 9146 linear-gradient(90deg, rgba(20, 8, 5, .38) 0%, rgba(20, 8, 5, .14) 56%, transparent 82%), 9147 linear-gradient(180deg, rgba(20, 8, 5, .2) 0%, transparent 46%); 9148 } 9149 9150 .ap-tu-banner--contour .ap-tu-banner__shade { 9151 background: 9152 linear-gradient(90deg, rgba(20, 13, 9, .82) 0%, rgba(20, 13, 9, .56) 52%, rgba(20, 13, 9, .12) 83%), 9153 linear-gradient(180deg, rgba(20, 13, 9, .42) 0%, transparent 58%); 9154 } 9155 9156 .ap-tu-banner__content { 9157 width: 100%; 9158 min-height: 510px; 9159 padding: 34px 26px 230px; 9160 justify-content: flex-start; 9161 background: none; 9162 } 9163 9164 .ap-tu-banner__eyebrow, 9165 .ap-tu-banner h2 { 9166 text-shadow: 0 2px 14px rgba(0, 0, 0, .78); 9167 } 9168 9169 .ap-tu-banner--contour h2 { 9170 max-width: none; 9171 font-size: clamp(3.4rem, 10vw, 4.2rem); 9172 } 9173 9174 .ap-tu-banner--contour .ap-tu-banner__content { 9175 padding-bottom: 210px; 9176 } 9177 9178 .ap-tu-banner__eyebrow { 9179 color: #ffdc87; 9180 } 9181 9182 .ap-tu-banner h2 { 9183 max-width: 5ch; 9184 font-size: clamp(4.2rem, 12vw, 4.8rem); 9185 } 9186 9187 .ap-tu-banner__features { 9188 max-width: 180px; 9189 margin-top: 14px; 9190 flex-direction: column; 9191 flex-wrap: nowrap; 9192 gap: 9px; 9193 } 9194 9195 .ap-tu-banner--contour .ap-tu-banner__features { 9196 max-width: 205px; 9197 padding: 10px 12px; 9198 border: 1px solid rgba(240, 207, 130, .28); 9199 border-radius: 14px; 9200 background: rgba(18, 15, 13, .62); 9201 box-shadow: 0 8px 24px rgba(0, 0, 0, .14); 9202 backdrop-filter: blur(8px); 9203 } 9204 9205 .ap-tu-banner__features li { 9206 min-height: 28px; 9207 padding: 0; 9208 gap: 8px; 9209 font-size: 1.25rem; 9210 } 9211 9212 .ap-tu-banner__features li + li { 9213 padding-left: 0; 9214 border-left: 0; 9215 } 9216 9217 .ap-tu-banner__features svg { 9218 width: 26px; 9219 height: 26px; 9220 padding: 5px; 9221 flex-basis: 26px; 9222 } 9223 9224 .ap-tu-banner__button { 9225 min-height: 46px; 9226 margin-top: 18px; 9227 } 9228 9229 .ap-tu-carousel__controls { 9230 right: 50%; 9231 bottom: 12px; 9232 transform: translateX(50%); 9233 } 9234 } 9235 9236 @media (prefers-reduced-motion: reduce) { 9237 .ap-tu-banner__image, 9238 .ap-tu-banner__content, 9239 .ap-tu-banner__features li { 9240 animation: none; 9241 } 9242 9243 .ap-tu-banner__button { 9244 transition: none; 9245 } 9246 9247 .ap-tu-banner--slide, 9248 .ap-tu-carousel__dot { 9249 transition: none; 9250 } 9251 } 9252 </style>
9252<script> 9253 (() => { 9254 const root = document.currentScript.closest('.ap-tu-banner-shell').querySelector('[data-ap-diffuser-carousel]'); 9255 if (!root || root.dataset.apCarouselReady) return; 9256 root.dataset.apCarouselReady = 'true'; 9257 9258 const slides = [...root.querySelectorAll('.ap-tu-banner--slide')]; 9259 const dots = [...root.querySelectorAll('[data-ap-carousel-dot]')]; 9260 const pauseButton = root.querySelector('[data-ap-carousel-pause]'); 9261 const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 9262 let activeIndex = 0; 9263 let timer; 9264 let manuallyPaused = false; 9265 let touchStartX = 0; 9266 let touchStartY = 0; 9267 let suppressClick = false; 9268 9269 const showSlide = (nextIndex, restart = false) => { 9270 activeIndex = (nextIndex + slides.length) % slides.length; 9271 slides.forEach((slide, index) => { 9272 const active = index === activeIndex; 9273 slide.classList.toggle('is-active', active); 9274 slide.setAttribute('aria-hidden', active ? 'false' : 'true'); 9275 slide.inert = !active; 9276 }); 9277 dots.forEach((dot, index) => { 9278 const active = index === activeIndex; 9279 dot.classList.toggle('is-active', active); 9280 if (active) dot.setAttribute('aria-current', 'true'); 9281 else dot.removeAttribute('aria-current'); 9282 }); 9283 if (restart) startRotation(); 9284 }; 9285 9286 const stopRotation = () => window.clearInterval(timer); 9287 const startRotation = () => { 9288 stopRotation(); 9289 if (!reducedMotion && !manuallyPaused && !document.hidden) { 9290 timer = window.setInterval(() => showSlide(activeIndex + 1), 7000); 9291 } 9292 }; 9293 9294 root.querySelector('[data-ap-carousel-prev]').addEventListener('click', () => showSlide(activeIndex - 1, true)); 9295 root.querySelector('[data-ap-carousel-next]').addEventListener('click', () => showSlide(activeIndex + 1, true)); 9296 dots.forEach((dot) => dot.addEventListener('click', () => showSlide(Number(dot.dataset.apCarouselDot), true))); 9297 root.addEventListener('touchstart', (event) => { 9298 if (window.innerWidth > 749 || event.touches.length !== 1) return; 9299 touchStartX = event.touches[0].clientX; 9300 touchStartY = event.touches[0].clientY; 9301 stopRotation(); 9302 }, { passive: true }); 9303 root.addEventListener('touchend', (event) => { 9304 if (window.innerWidth > 749 || event.changedTouches.length !== 1) return; 9305 const deltaX = event.changedTouches[0].clientX - touchStartX; 9306 const deltaY = event.changedTouches[0].clientY - touchStartY; 9307 if (Math.abs(deltaX) >= 50 && Math.abs(deltaX) > Math.abs(deltaY) * 1.2) { 9308 suppressClick = true; 9309 window.setTimeout(() => { suppressClick = false; }, 500); 9310 showSlide(activeIndex + (deltaX < 0 ? 1 : -1), true); 9311 } else { 9312 startRotation(); 9313 } 9314 }, { passive: true }); 9315 root.addEventListener('touchcancel', startRotation, { passive: true }); 9316 root.addEventListener('click', (event) => { 9317 if (!suppressClick) return; 9318 event.preventDefault(); 9319 suppressClick = false; 9320 }, true); 9321 pauseButton.addEventListener('click', () => { 9322 manuallyPaused = !manuallyPaused; 9323 pauseButton.setAttribute('aria-pressed', String(manuallyPaused)); 9324 pauseButton.setAttribute('aria-label', manuallyPaused ? 'Resume auto-rotation' : 'Pause auto-rotation'); 9325 startRotation(); 9326 }); 9327 root.addEventListener('mouseenter', stopRotation); 9328 root.addEventListener('mouseleave', startRotation); 9329 root.addEventListener('focusin', stopRotation); 9330 root.addEventListener('focusout', () => window.setTimeout(() => { 9331 if (!root.contains(document.activeElement)) startRotation(); 9332 }, 0)); 9333 document.addEventListener('visibilitychange', startRotation); 9334 9335 if (reducedMotion) pauseButton.hidden = true; 9336 showSlide(0); 9337 startRotation(); 9338 })(); 9339 </script>
9339</div> 9340 9341 9342<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-brand-tokens.css?v=82419036892212734421791159518" rel="stylesheet" type="text/css" media="all" /> 9343<section class="apmb" aria-labelledby="apmb-title"> 9344 <div class="apmb__card"> 9345 <div class="apmb__media" aria-hidden="true"> 9346 <img src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=360" alt="" width="180" height="180" loading="lazy"> 9347 <img src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/baccarat-gold-perfume-editorial-lossless-20260707.webp?v=1783461755&width=360" alt="" width="180" height="180" loading="lazy"> 9348 <img src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/hawaiian-mist-pdp-nb2-1k-hq.webp?v=1783015144&width=360" alt="" width="180" height="180" loading="lazy"> 9349 <span class="apmb__badge"><span>Save</span><b>20%</b></span> 9350 </div> 9351 <div class="apmb__copy"> 9352 <p class="apmb__eyebrow">Waterless Scent Membership</p> 9353 <h2 class="apmb__title" id="apmb-title">Your favorite waterless oils, <em>on repeat for less.</em></h2> 9354 <p class="apmb__sub"><span class="apmb__sub-m">Get your waterless oils every 2 weeks for 20% off, or monthly for 15% off. Never run dry between bottles.</span><span class="apmb__sub-d">Delivered on your schedule, so you never run dry between bottles.</span></p> 9355 <p class="apmb__perks-inline">Pause, switch scents or cancel online anytime</p> 9356 <div class="apmb__plans" role="list" aria-label="Delivery schedules"> 9357 <div class="apmb__plan apmb__plan--top" role="listitem"><span class="apmb__plan-tag">Most popular</span><b>20% off</b><span>Every 2 weeks</span></div> 9358 <div class="apmb__plan" role="listitem"><b>15% off</b><span>Monthly</span></div> 9359 </div> 9360 <div class="apmb__actions"> 9361 <a class="apmb__cta" href="/pages/scent-membership-builder?source=homepage&placement=home-membership-band">Build my lineup<svg viewBox="0 0 20 20" aria-hidden="true"><path d="M4 10h11m-4-4 4 4-4 4"/></svg></a> 9362 <span class="apmb__note">Free shipping on orders $49.99+</span> 9363 </div> 9364 </div> 9365 <ol class="apmb__steps" aria-label="How Scent Membership works"> 9366 <li><span class="apmb__step-n">1</span><div><b>Pick your scents</b><span>Choose the waterless oils for your first delivery.</span></div></li> 9367 <li><span class="apmb__step-n">2</span><div><b>Choose your schedule</b><span>Every 2 weeks for 20% off, or monthly for 15% off. Pay per shipment.</span></div></li> 9368 <li><span class="apmb__step-n">3</span><div><b>Pause, switch or cancel</b><span>Manage everything online, anytime. No prepaid term.</span></div></li> 9369 </ol> 9370 </div> 9371</section> 9372 9373<style> 9374 .apmb{width:min(1180px,100% - 2 * var(--ap-page-pad,18px));margin:40px auto;padding:0} 9375 .apmb .apmb__card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:40px;padding:40px 48px;border-radius:var(--ap-radius-surface,12px);background:var(--ap-color-ink,#17120f);color:var(--ap-color-ivory,#fffdf8);overflow:hidden} 9376 .apmb .apmb__media{position:relative;display:flex;justify-content:center;padding:10px 0 18px} 9377 .apmb .apmb__media img{width:36%;max-width:180px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px;border:3px solid var(--ap-color-ink,#17120f);box-shadow:0 14px 30px rgba(0,0,0,.35)} 9378 .apmb .apmb__media img:nth-child(1){transform:rotate(-6deg) translateY(8px)} 9379 .apmb .apmb__media img:nth-child(2){position:relative;z-index:1;margin:0 -7%;transform:translateY(-6px)} 9380 .apmb .apmb__media img:nth-child(3){transform:rotate(6deg) translateY(8px)} 9381 .apmb .apmb__badge{position:absolute;right:4%;bottom:0;z-index:2;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:var(--ap-color-gold,#a77b22);color:var(--ap-color-ivory,#fffdf8);font:900 11px/1.1 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);text-align:center;text-transform:uppercase;letter-spacing:.1em;align-content:center;gap:2px;box-shadow:0 8px 20px rgba(0,0,0,.3)} 9382 .apmb .apmb__badge b{display:block;font:400 28px/1 var(--ap-font-display,Prata,Georgia,serif);letter-spacing:0;text-transform:none} 9383 .apmb .apmb__eyebrow{margin:0 0 10px;line-height:1.3!important;color:var(--ap-color-gold-soft,#d8b96a);font:900 11px/1.2 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:.16em;text-transform:uppercase} 9384 .apmb .apmb__title{margin:0;color:inherit;font:400 34px/1.15 var(--ap-font-display,Prata,Georgia,serif);letter-spacing:0} 9385 .apmb .apmb__title em{font-style:normal;color:var(--ap-color-gold-soft,#d8b96a)} 9386 .apmb .apmb__sub{letter-spacing:0;margin:12px 0 0;max-width:520px;color:color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 82%,transparent);font:400 15px/1.55 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)} 9387 .apmb .apmb__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:24px} 9388 .apmb .apmb__cta{letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;background:var(--ap-color-gold,#a77b22);color:var(--ap-color-ivory,#fffdf8);font:700 15px/1 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);text-decoration:none;transition:background-color 180ms var(--ap-ease-out,ease),transform 180ms var(--ap-ease-out,ease)} 9389 .apmb .apmb__cta:hover{background:color-mix(in srgb,var(--ap-color-gold,#a77b22) 82%,var(--ap-color-ink,#17120f));transform:translateY(-1px)} 9390 .apmb .apmb__cta:focus-visible{outline:2px solid var(--ap-color-ivory,#fffdf8);outline-offset:3px} 9391 .apmb .apmb__cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round} 9392 .apmb .apmb__perks-inline,.apmb .apmb__sub-m{display:none} 9393 .apmb .apmb__plans{display:flex;gap:12px;margin:24px 0 0} 9394 .apmb .apmb__plan{position:relative;display:grid;gap:2px;min-width:150px;padding:20px 18px 12px;border:1px solid color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 18%,transparent);border-radius:12px;background:color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 4%,transparent)} 9395 .apmb .apmb__plan--top{border-color:var(--ap-color-gold-soft,#d8b96a);background:color-mix(in srgb,var(--ap-color-gold-soft,#d8b96a) 10%,transparent)} 9396 .apmb .apmb__plan b{color:var(--ap-color-ivory,#fffdf8);font:400 24px/1.1 var(--ap-font-display,Prata,Georgia,serif);letter-spacing:0} 9397 .apmb .apmb__plan--top b{color:var(--ap-color-gold-soft,#d8b96a)} 9398 .apmb .apmb__plan span{color:color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 75%,transparent);font:400 13px/1.3 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:0} 9399 .apmb .apmb__plan .apmb__plan-tag{position:absolute;top:0;left:14px;transform:translateY(-50%);white-space:nowrap;padding:2px 8px;border-radius:999px;background:var(--ap-color-gold,#a77b22);color:var(--ap-color-ivory,#fffdf8);font:900 9.5px/1.4 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:.1em;text-transform:uppercase} 9400 .ap-home-rebuild.ap-home-v2 .apmb .apmb__plan .apmb__plan-tag,.apmb .apmb__plan .apmb__plan-tag{color:var(--ap-color-ivory,#fffdf8)} 9401 .apmb .apmb__steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:4px 0 0;padding:24px 0 0;border-top:1px solid color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 12%,transparent);list-style:none} 9402 .apmb .apmb__steps li{display:flex;align-items:flex-start;gap:12px} 9403 .apmb .apmb__step-n{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border:1px solid var(--ap-color-gold-soft,#d8b96a);border-radius:50%;color:var(--ap-color-gold-soft,#d8b96a);font:400 15px/1 var(--ap-font-display,Prata,Georgia,serif)} 9404 .apmb .apmb__steps b{display:block;color:var(--ap-color-ivory,#fffdf8);font:700 14px/1.3 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:0}
9405 .apmb .apmb__steps li div span{display:block;margin-top:3px;color:color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 72%,transparent);font:400 13px/1.45 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:0} 9406 .apmb .apmb__note{letter-spacing:0;color:color-mix(in srgb,var(--ap-color-ivory,#fffdf8) 70%,transparent);font:400 13px/1.4 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)} 9407 @media (max-width:989px){ 9408 .apmb .apmb__card{grid-template-columns:1fr;gap:20px;padding:28px 24px 30px} 9409 .apmb .apmb__media{max-width:440px;width:100%;margin:0 auto} 9410 } 9411 /* Phones: compact (~300px) so it can sit right after the hero. */ 9412 @media (max-width:749px){ 9413 .apmb{width:calc(100% - 30px);margin:20px auto} 9414 .apmb .apmb__card{gap:14px;padding:18px 16px 18px} 9415 .apmb .apmb__media{justify-content:flex-start;align-items:center;max-width:none;padding:0} 9416 .apmb .apmb__media img{width:52px;max-width:none;border-width:2px;border-radius:9px;box-shadow:0 6px 14px rgba(0,0,0,.35)} 9417 .apmb .apmb__media img:nth-child(1),.apmb .apmb__media img:nth-child(3){transform:none} 9418 .apmb .apmb__media img:nth-child(2){margin:0 -8px;transform:none} 9419 .apmb .apmb__badge{position:static;display:inline-flex;align-items:baseline;gap:6px;width:auto;height:auto;margin-left:auto;padding:7px 12px;border-radius:999px;font-size:10px} 9420 .apmb .apmb__badge b{font-size:18px} 9421 .apmb .apmb__eyebrow{margin-bottom:6px;font-size:10.5px;letter-spacing:.14em} 9422 .apmb .apmb__title{font-size:22px} 9423 .apmb .apmb__sub{margin-top:8px;font-size:13.5px;line-height:1.5} 9424 .apmb .apmb__plans,.apmb .apmb__steps,.apmb .apmb__sub-d{display:none} 9425 .apmb .apmb__sub-m{display:inline} 9426 .apmb .apmb__perks-inline{display:block;margin:8px 0 0;color:var(--ap-color-gold-soft,#d8b96a);font:700 12px/1.4 var(--ap-font-body,Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:0} 9427 .apmb .apmb__actions{margin-top:14px;gap:8px} 9428 .apmb .apmb__cta{flex:1 1 100%;min-height:48px} 9429 .apmb .apmb__note{flex:1 1 100%;text-align:center;font-size:12px} 9430 } 9431 @media (prefers-reduced-motion:reduce){.apmb .apmb__cta{transition:none}.apmb .apmb__cta:hover{transform:none}} 9432</style> 9433 9434 <section class="apv2-why" aria-labelledby="apv2-why-title"> 9435 <div class="apv2-why__inner"> 9436 <p class="apv2-why__eyebrow">Why home fragrance?</p> 9437 <h2 class="apv2-why__h" id="apv2-why-title">That feeling in the best rooms isnât the décor. Itâs the <em>scent</em>.</h2> 9438 <ul class="apv2-why__row"> 9439 <li class="apv2-why__item"> 9440 <span class="apv2-why__img"><img src="//aromaparadise.com/cdn/shop/t/68/assets/apv2-why-hotel.webp?v=59946874387222744731789765627" alt="Warm five-star hotel lobby glowing at dusk" loading="lazy" width="760" height="570"></span> 9441 <div class="apv2-why__cap"><b>The hotel lobby</b><span>you felt calmer the moment you walked in</span></div> 9442 </li> 9443 <li class="apv2-why__item"> 9444 <span class="apv2-why__img"><img src="//aromaparadise.com/cdn/shop/t/68/assets/apv2-why-spa.webp?v=93864417406406726831789765628" alt="Candlelit luxury spa with rolled towels" loading="lazy" width="760" height="570"></span> 9445 <div class="apv2-why__cap"><b>The spa</b><span>you left lighter than you arrived</span></div> 9446 </li> 9447 <li class="apv2-why__item"> 9448 <span class="apv2-why__img"><img src="//aromaparadise.com/cdn/shop/t/68/assets/apv2-why-home.webp?v=31491301420492677921789765627" alt="Cozy living room at dusk with warm lamplight and candles" loading="lazy" width="760" height="570"></span> 9449 <div class="apv2-why__cap"><b>A friendâs place</b><span>that somehow just feels good</span></div> 9450 </li> 9451 </ul> 9452 <p class="apv2-why__reveal">You felt it before you noticed why. <em>That was scent</em> â and now you can bring it home.</p> 9453 <a class="apv2-why__cta" href="#apv2-start" onclick="event.preventDefault();var t=document.getElementById('apv2-start');if(t){t.scrollIntoView({behavior:'smooth',block:'start'});}">
9453Where do I start?<svg class="apv2-why__cta-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 5v14M6 13l6 6 6-6"/></svg></a> 9454 </div> 9455 </section> 9456 <style> 9457 .ap-home-v2 .apv2-why{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% -12%,#20355c 0%,#15294c 36%,#0c1a30 100%);color:#fff;padding:38px 16px 42px;} 9458 .ap-home-v2 .apv2-why::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:min(560px,90%);height:280px;background:radial-gradient(closest-side,rgba(231,198,126,.28),rgba(231,198,126,0) 72%);filter:blur(6px);pointer-events:none;} 9459 .ap-home-v2 .apv2-why::after{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(231,198,126,.5),transparent);pointer-events:none;} 9460 .ap-home-v2 .apv2-why__inner{position:relative;z-index:1;width:min(1000px,100%);margin:0 auto;text-align:center;} 9461 .ap-home-v2 .apv2-why__eyebrow{margin:0 0 9px;color:#e7c67e;font-family:var(--ui);font-size:10.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;} 9462 .ap-home-v2 .apv2-why__h{color:#fff;margin:0 auto 26px;font-family:var(--serif);font-weight:400;font-size:clamp(23px,5.6vw,36px);line-height:1.12;max-width:19ch;text-shadow:0 1px 24px rgba(0,0,0,.35);} 9463 .ap-home-v2 .apv2-why__h em{font-style:italic;color:#e7c67e;} 9464 .ap-home-v2 .apv2-why__row{list-style:none;margin:0 -16px;padding:0 16px 6px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;} 9465 .ap-home-v2 .apv2-why__row::-webkit-scrollbar{display:none;} 9466 .ap-home-v2 .apv2-why__item{flex:0 0 76%;scroll-snap-align:center;display:flex;flex-direction:column;text-align:center;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));border:1px solid rgba(231,198,126,.2);box-shadow:0 16px 36px -22px rgba(0,0,0,.85);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;} 9467 .ap-home-v2 .apv2-why__img{display:block;aspect-ratio:4/3;overflow:hidden;position:relative;} 9468 .ap-home-v2 .apv2-why__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,26,48,0) 55%,rgba(12,26,48,.45));pointer-events:none;} 9469 .ap-home-v2 .apv2-why__img img{width:100%;height:100%;object-fit:cover;display:block;} 9470 .ap-home-v2 .apv2-why__cap{padding:13px 11px 15px;} 9471 .ap-home-v2 .apv2-why__cap b{display:block;font-family:var(--serif);font-weight:400;font-size:16px;color:#fff;line-height:1.18;margin-bottom:3px;letter-spacing:.01em;} 9472 .ap-home-v2 .apv2-why__cap span{display:block;font-family:var(--ui);font-size:11.5px;line-height:1.34;color:#c3cede;} 9473 .ap-home-v2 .apv2-why__reveal{margin:22px auto 0;max-width:42ch;font-family:var(--serif);font-weight:400;font-size:clamp(15px,3.8vw,18px);line-height:1.5;color:#dbe3ef;} 9474 .ap-home-v2 .apv2-why__reveal em{font-style:normal;color:#e7c67e;} 9475 .ap-home-v2 .apv2-why__cta{display:inline-flex;align-items:center;gap:7px;margin-top:15px;font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.03em;color:#e7c67e;text-decoration:none;padding:8px 2px;border-bottom:1px solid rgba(231,198,126,.35);transition:gap .2s ease,color .2s ease,border-color .2s ease;} 9476 .ap-home-v2 .apv2-why__cta:hover{color:#f2d79a;gap:10px;border-color:rgba(242,215,154,.7);} 9477 .ap-home-v2 .apv2-why__cta-ic{width:15px;height:15px;animation:apv2-bob 1.8s ease-in-out infinite;} 9478 @keyframes apv2-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}} 9479 @media(prefers-reduced-motion:reduce){.ap-home-v2 .apv2-why__cta-ic{animation:none;}} 9480 .ap-home-v2 #apv2-start{scroll-margin-top:80px;} 9481 @media(min-width:750px){ 9482 .ap-home-v2 .apv2-why{padding:56px 24px 62px;} 9483 .ap-home-v2 .apv2-why__row{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:20px;max-width:920px;margin:0 auto;padding:0;} 9484 .ap-home-v2 .apv2-why__item{flex:none;} 9485 .ap-home-v2 .apv2-why__item:hover{transform:translateY(-4px);border-color:rgba(231,198,126,.42);box-shadow:0 24px 44px -22px rgba(0,0,0,.9);} 9486 .ap-home-v2 .apv2-why__cap{padding:17px 15px 19px;} 9487 .ap-home-v2 .apv2-why__cap b{font-size:18.5px;} 9488 .ap-home-v2 .apv2-why__cap span{font-size:13px;} 9489 .ap-home-v2 .apv2-why__reveal{font-size:20px;margin-top:30px;max-width:46ch;} 9490 } 9491 </style> 9492 9493 <style> 9494 .ap-home-v2 .apv2-switch{padding:42px 16px 40px;} 9495 .ap-home-v2 .apv2-switch__section-head{width:min(1040px,100%);margin:0 auto 18px;display:grid;gap:6px;} 9496 .ap-home-v2 .apv2-switch__section-eyebrow{margin:0;color:var(--gold);font-family:var(--ui);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;} 9497 .ap-home-v2 .apv2-switch__section-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(25px,5.6vw,38px);line-height:1.1;color:var(--ink);} 9498 .ap-home-v2 .apv2-switch__section-title em{font-style:italic;color:var(--gold-deep);} 9499 .ap-home-v2 .apv2-switch__inner{width:min(1040px,100%);margin:0 auto;padding:24px 18px;border:1px solid rgba(184,138,47,.28);border-radius:18px;background:linear-gradient(135deg,#211b15,#34271b);box-shadow:0 24px 48px -36px rgba(30,20,10,.9);} 9500 .ap-home-v2 .apv2-switch__copy{text-align:left;} 9501 .ap-home-v2 .apv2-switch__eyebrow{margin:0 0 8px;color:#d6ad58;font-family:var(--ui);font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;} 9502 .ap-home-v2 .apv2-switch__h{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(24px,5.8vw,36px);line-height:1.12;color:#fffaf0;} 9503 .ap-home-v2 .apv2-switch__h em{font-style:italic;color:#e6bf70;} 9504 .ap-home-v2 .apv2-switch__sub{margin:11px 0 0;max-width:64ch;color:rgba(255,250,240,.72);font-family:var(--ui);font-size:13px;line-height:1.5;} 9505 .ap-home-v2 .apv2-switch__brands{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;} 9506 .ap-home-v2 .apv2-switch__brands a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:11px 13px;border:1px solid rgba(230,191,112,.26);border-radius:11px;background:rgba(255,255,255,.055);color:#fffaf0;text-decoration:none;font-family:var(--ui);font-size:12.5px;font-weight:750;transition:background .18s ease,border-color .18s ease,transform .18s ease;} 9507 .ap-home-v2 .apv2-switch__brands a span{color:#e6bf70;font-size:16px;} 9508 .ap-home-v2 .apv2-switch__brands a:active{transform:translateY(1px);} 9509 @media(hover:hover){ 9510 .ap-home-v2 .apv2-switch__brands a:hover{background:rgba(255,255,255,.1);border-color:rgba(230,191,112,.58);transform:translateY(-1px);} 9511 } 9512 @media(min-width:750px){ 9513 .ap-home-v2 .apv2-switch{padding:52px 24px 56px;} 9514 .ap-home-v2 .apv2-switch__section-head{margin-bottom:22px;} 9515 .ap-home-v2 .apv2-switch__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:36px;align-items:center;padding:34px 38px;} 9516 .ap-home-v2 .apv2-switch__brands{grid-template-columns:repeat(3,1fr);margin-top:0;} 9517 } 9518 </style><section class="apv2-goals" aria-labelledby="apv2-goals-title"> 9519 <div class="apv2-goals__inner"> 9520 <header class="apv2-goals__head"> 9521 <p class="apv2-goals__eyebrow">Or browse by what you want</p> 9522 <h2 class="apv2-goals__h" id="apv2-goals-title">Pick the result, <em>weâll take you there.</em></h2> 9523 <p class="apv2-goals__help">New to diffusers? <b>Waterless</b> gives the strongest scent with no water to refill. <b>Mist</b> is a little softer and also adds humidity to the air.</p> 9524 <a class="apv2-goals__quiz" href="/pages/scent-quiz?source=goalV2"><small>Not sure?</small> Take the quiz <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 9525 </header> 9526 <div class="apv2-goals__grid"> 9527 <a class="apv2-goal apv2-goal--pop" href="/collections/waterless-scent-diffusers?source=goalV2"> 9528 <img class="apv2-goal__img" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Tower.webp?width=600" alt="Waterless tower diffuser" loading="lazy" width="600" height="800">
9529 <span class="apv2-goal__scrim"></span> 9530 <span class="apv2-goal__flag"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2l2.9 6.3L22 9l-5 4.6L18.2 22 12 18.3 5.8 22 7 13.6 2 9l7.1-.7z"/></svg>Most popular</span> 9531 <span class="apv2-goal__txt"> 9532 <span class="apv2-goal__format">Waterless diffuser</span> 9533 <span class="apv2-goal__title">Strong room scent</span> 9534 <span class="apv2-goal__meta">No water to refill · big rooms · $49.99</span> 9535 </span> 9536 </a> 9537 <a class="apv2-goal" href="/collections/humidifying-scent-diffusers?source=goalV2"> 9538 <img class="apv2-goal__img" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Diffuser.webp?width=600" alt="Ultrasonic mist diffuser" loading="lazy" width="600" height="800"> 9539 <span class="apv2-goal__scrim"></span> 9540 <span class="apv2-goal__txt"> 9541 <span class="apv2-goal__format">Mist diffuser</span> 9542 <span class="apv2-goal__title">Soft mist + humidity</span> 9543 <span class="apv2-goal__meta">Uses water, adds moisture · small rooms · $34.99</span> 9544 </span> 9545 </a> 9546 <a class="apv2-goal" href="/collections/sand-candle?source=goalV2"> 9547 <img class="apv2-goal__img" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Sand_Candle.webp?width=600" alt="Refillable sand candle" loading="lazy" width="600" height="800"> 9548 <span class="apv2-goal__scrim"></span> 9549 <span class="apv2-goal__txt"> 9550 <span class="apv2-goal__format">Sand candle</span> 9551 <span class="apv2-goal__title">Refillable candle</span> 9552 <span class="apv2-goal__meta">Gifting & ambiance · from $19.99</span> 9553 </span> 9554 </a> 9555 <a class="apv2-goal" href="/collections/incense?source=goalV2"> 9556 <img class="apv2-goal__img" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Incense_2.webp?width=600" alt="Incense sticks" loading="lazy" width="600" height="800"> 9557 <span class="apv2-goal__scrim"></span> 9558 <span class="apv2-goal__txt"> 9559 <span class="apv2-goal__format">Incense</span> 9560 <span class="apv2-goal__title">Quick & simple</span> 9561 <span class="apv2-goal__meta">No machine · from $4.99</span> 9562 </span> 9563 </a> 9564 </div> 9565 </div> 9566 </section> 9567 <style> 9568 .ap-home-v2 .apv2-goals{padding:34px 16px 48px;border-top:1px solid var(--line-2);} 9569 .ap-home-v2 .apv2-goals__inner{width:min(1180px,100%);margin:0 auto;} 9570 .ap-home-v2 .apv2-goals__head{display:grid;gap:6px;margin-bottom:18px;} 9571 .ap-home-v2 .apv2-goals__eyebrow{margin:0;color:var(--gold);font-family:var(--ui);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;} 9572 .ap-home-v2 .apv2-goals__h{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(25px,5.6vw,38px);line-height:1.1;color:var(--ink);} 9573 .ap-home-v2 .apv2-goals__h em{font-style:italic;color:var(--gold-deep);} 9574 .ap-home-v2 .apv2-goals__help{margin:4px 0 0;max-width:56ch;color:var(--ink-2);font-family:var(--ui);font-size:13.5px;line-height:1.5;} 9575 .ap-home-v2 .apv2-goals__help b{color:var(--ink);font-weight:800;} 9576 .ap-home-v2 .apv2-goals__quiz{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:var(--gold-deep);font-family:var(--ui);font-size:13px;font-weight:800;text-decoration:none;} 9577 .ap-home-v2 .apv2-goals__quiz small{color:var(--muted);font-weight:600;} 9578 .ap-home-v2 .apv2-goals__quiz svg{width:15px;height:15px;} 9579 .ap-home-v2 .apv2-goals__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;} 9580 .ap-home-v2 .apv2-goal{position:relative;display:block;aspect-ratio:3/4.5;border-radius:15px;overflow:hidden;text-decoration:none;border:1px solid var(--line);box-shadow:0 16px 34px -26px rgba(60,45,20,.55);transition:transform .18s ease;} 9581 .ap-home-v2 .apv2-goal:active{transform:translateY(1px);} 9582 .ap-home-v2 .apv2-goal__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;} 9583 .ap-home-v2 .apv2-goal__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,26,0) 34%,rgba(10,14,26,.5) 66%,rgba(10,14,26,.9) 100%);} 9584 .ap-home-v2 .apv2-goal__flag{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:linear-gradient(90deg,#caa14f,#a97f33);color:#fff;font-family:var(--ui);font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;} 9585 .ap-home-v2 .apv2-goal__flag svg{width:11px;height:11px;} 9586 .ap-home-v2 .apv2-goal__txt{position:absolute;
9586left:0;right:0;bottom:0;display:grid;gap:2px;padding:14px 13px;} 9587 .ap-home-v2 .apv2-goal__format{font-family:var(--ui);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#e7c67e;} 9588 .ap-home-v2 .apv2-goal__title{font-family:var(--serif);font-size:19px;line-height:1.1;color:#fff;} 9589 .ap-home-v2 .apv2-goal__meta{font-family:var(--ui);font-size:12px;color:#e6e0d6;} 9590 @media(min-width:750px){ 9591 .ap-home-v2 .apv2-goals{padding:52px 24px 64px;} 9592 .ap-home-v2 .apv2-goals__grid{grid-template-columns:repeat(4,1fr);gap:16px;} 9593 .ap-home-v2 .apv2-goal__title{font-size:21px;} 9594 } 9595 </style><section class="apv2-cmpwrap" aria-label="Which diffuser is right for you"> 9596 <details class="apv2-cmp"> 9597 <summary class="apv2-cmp__sum"> 9598 <span class="apv2-cmp__thumbs" aria-hidden="true"> 9599 <img class="apv2-cmp__thumb" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Tower.webp?width=160" alt="" loading="lazy" width="160" height="160"> 9600 <img class="apv2-cmp__thumb" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Diffuser.webp?width=160" alt="" loading="lazy" width="160" height="160"> 9601 <span class="apv2-cmp__vs">vs</span> 9602 </span> 9603 <span class="apv2-cmp__sumtxt"> 9604 <span class="apv2-cmp__eyebrow">Not sure which diffuser to get?</span> 9605 <span class="apv2-cmp__sumtitle">Waterless vs. Mist</span> 9606 </span> 9607 <span class="apv2-cmp__pill">Compare <svg class="apv2-cmp__chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9l6 6 6-6"/></svg></span> 9608 </summary> 9609 <div class="apv2-cmp__body"> 9610 <div class="apv2-cmp__grid"> 9611 <span class="apv2-cmp__ch apv2-cmp__ch--spacer"></span> 9612 <span class="apv2-cmp__ch apv2-cmp__ch--w"> 9613 <span class="apv2-cmp__tag">Most popular</span> 9614 <img class="apv2-cmp__ph" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Tower.webp?width=140" alt="Waterless diffuser" loading="lazy" width="140" height="140"> 9615 <span class="apv2-cmp__pname">Waterless</span> 9616 <span class="apv2-cmp__pprice">from $49.99</span> 9617 </span> 9618 <span class="apv2-cmp__ch"> 9619 <img class="apv2-cmp__ph" src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/Diffuser.webp?width=140" alt="Mist diffuser" loading="lazy" width="140" height="140"> 9620 <span class="apv2-cmp__pname">Mist</span> 9621 <span class="apv2-cmp__pprice">from $34.99</span> 9622 </span> 9623 9624 <span class="apv2-cmp__rl"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4.5 12a7.5 7.5 0 0 1 15 0"/><path d="M7.5 12a4.5 4.5 0 0 1 9 0"/><circle cx="12" cy="12" r="1.3" fill="currentColor" stroke="none"/></svg>Scent</span> 9625 <span class="apv2-cmp__v apv2-cmp__v--w"><span class="apv2-cmp__meter"><i class="on"></i><i class="on"></i><i class="on"></i></span><b>Strongest</b></span> 9626 <span class="apv2-cmp__v"><span class="apv2-cmp__meter"><i class="on"></i><i class="on"></i><i></i></span>Softer</span> 9627 9628 <span class="apv2-cmp__rl"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3c3.5 4 5.5 6.7 5.5 9.7a5.5 5.5 0 0 1-11 0C6.5 9.7 8.5 7 12 3z"/></svg>Water</span> 9629 <span class="apv2-cmp__v apv2-cmp__v--w"><svg class="apv2-cmp__i-good" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>None to add</span> 9630 <span class="apv2-cmp__v"><svg class="apv2-cmp__i-water" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3c3.5 4 5.5 6.7 5.5 9.7a5.5 5.5 0 0 1-11 0C6.5 9.7 8.5 7 12 3z"/></svg>Refill each use</span> 9631 9632 <span class="apv2-cmp__rl"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8c2-1.8 4-1.8 6 0s4 1.8 6 0 4-1.8 6 0"/><path d="M3 14c2-1.8 4-1.8 6 0s4 1.8 6 0 4-1.8 6 0"/></svg>Humidity</span>
9633 <span class="apv2-cmp__v apv2-cmp__v--w apv2-cmp__no"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"><path d="M5 12h14"/></svg>No</span> 9634 <span class="apv2-cmp__v apv2-cmp__yes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>Yes</span> 9635 9636 <span class="apv2-cmp__rl"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11l8-6 8 6"/><path d="M6 10v9h12v-9"/></svg>Best for</span> 9637 <span class="apv2-cmp__v apv2-cmp__v--w">Big rooms & offices</span> 9638 <span class="apv2-cmp__v">Small / dry rooms</span> 9639 9640 <span class="apv2-cmp__rl"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="2.4"/></svg>The look</span> 9641 <span class="apv2-cmp__v apv2-cmp__v--w apv2-cmp__v--wlast">Clean, invisible mist</span> 9642 <span class="apv2-cmp__v">Visible mist + glow</span> 9643 </div> 9644 <div class="apv2-cmp__cta"> 9645 <a class="apv2-cmp__btn apv2-cmp__btn--w" href="/collections/waterless-scent-diffusers?source=cmpV2">Shop waterless â</a> 9646 <a class="apv2-cmp__btn apv2-cmp__btn--m" href="/collections/humidifying-scent-diffusers?source=cmpV2">Shop mist â</a> 9647 </div> 9648 </div> 9649 </details> 9650 </section> 9651 <style> 9652 .ap-home-v2 .apv2-cmpwrap{width:min(1180px,100%);margin:0 auto;padding:0 16px 30px;} 9653 .ap-home-v2 .apv2-cmp{border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 20px 46px -24px rgba(60,45,20,.55);border:1px solid rgba(184,138,47,.18);} 9654 .ap-home-v2 .apv2-cmp__sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;padding:10px 13px;background:linear-gradient(120deg,#c9a04e 0%,#b0842f 50%,#8f6a23 100%);color:#fff;transition:filter .2s ease;} 9655 .ap-home-v2 .apv2-cmp__sum::-webkit-details-marker{display:none;} 9656 .ap-home-v2 .apv2-cmp__sum:hover{filter:brightness(1.05);} 9657 .ap-home-v2 .apv2-cmp__thumbs{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;} 9658 .ap-home-v2 .apv2-cmp__thumb{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 44%;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3);background:#efe7da;} 9659 .ap-home-v2 .apv2-cmp__thumb:nth-child(2){margin-left:-13px;} 9660 .ap-home-v2 .apv2-cmp__vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#1d1710;color:#fff;font-family:var(--ui);font-size:8px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:2px 5px;border-radius:999px;border:1.5px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.32);} 9661 .ap-home-v2 .apv2-cmp__sumtxt{flex:1 1 auto;display:grid;gap:1px;min-width:0;} 9662 .ap-home-v2 .apv2-cmp__eyebrow{font-family:var(--ui);font-size:8.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} 9663 .ap-home-v2 .apv2-cmp__sumtitle{font-family:var(--serif);font-size:16.5px;line-height:1.05;color:#fff;white-space:nowrap;} 9664 .ap-home-v2 .apv2-cmp__pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.55);color:#fff;font-family:var(--ui);font-size:11.5px;font-weight:800;padding:7px 11px;border-radius:999px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);} 9665 .ap-home-v2 .apv2-cmp__chev{width:15px;height:15px;transition:transform .25s ease;} 9666 .ap-home-v2 .apv2-cmp[open] .apv2-cmp__chev{transform:rotate(180deg);} 9667 .ap-home-v2 .apv2-cmp[open] .apv2-cmp__pill{background:rgba(255,255,255,.28);} 9668 .ap-home-v2 .apv2-cmp__body{padding:20px 14px 16px;} 9669 .ap-home-v2 .apv2-cmp__grid{display:grid;grid-template-columns:0.86fr 1fr 1fr;} 9670 .ap-home-v2 .apv2-cmp__ch{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:12px 8px 12px;} 9671 .ap-home-v2 .apv2-cmp__ch--spacer{padding:0;} 9672 .ap-home-v2 .apv2-cmp__ch--w{background:linear-gradient(180deg,rgba(184,138,47,.15),rgba(184,138,47,.07)
9672);border:1px solid rgba(184,138,47,.3);border-bottom:none;border-radius:14px 14px 0 0;} 9673 .ap-home-v2 .apv2-cmp__tag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(90deg,#caa14f,#a97f33);color:#fff;font-family:var(--ui);font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;box-shadow:0 3px 8px rgba(169,127,51,.42);} 9674 .ap-home-v2 .apv2-cmp__ph{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 44%;border:2px solid #fff;box-shadow:0 4px 11px rgba(60,45,20,.18);background:#efe7da;margin-top:5px;} 9675 .ap-home-v2 .apv2-cmp__thumb:first-child{object-position:center 30%;} 9676 .ap-home-v2 .apv2-cmp__ch--w .apv2-cmp__ph{object-position:center 30%;} 9677 .ap-home-v2 .apv2-cmp__pname{font-family:var(--serif);font-size:16px;color:var(--ink);line-height:1;} 9678 .ap-home-v2 .apv2-cmp__pprice{font-family:var(--ui);font-size:11px;font-weight:800;color:var(--gold-deep);} 9679 .ap-home-v2 .apv2-cmp__rl{display:flex;align-items:center;gap:7px;padding:12px 6px 12px 2px;font-family:var(--ui);font-size:11.5px;font-weight:800;color:var(--ink-2);border-bottom:1px solid var(--line-2);} 9680 .ap-home-v2 .apv2-cmp__rl svg{width:15px;height:15px;color:var(--gold-deep);flex:0 0 auto;} 9681 .ap-home-v2 .apv2-cmp__v{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;padding:12px 8px;font-family:var(--ui);font-size:12px;line-height:1.25;color:var(--ink-2);border-bottom:1px solid var(--line-2);} 9682 .ap-home-v2 .apv2-cmp__v--w{background:rgba(184,138,47,.07);border-left:1px solid rgba(184,138,47,.3);border-right:1px solid rgba(184,138,47,.3);color:var(--ink);} 9683 .ap-home-v2 .apv2-cmp__v--wlast{border-bottom:1px solid rgba(184,138,47,.3);border-radius:0 0 14px 14px;} 9684 .ap-home-v2 .apv2-cmp__v b{color:var(--ink);font-weight:800;} 9685 .ap-home-v2 .apv2-cmp__meter{display:inline-flex;gap:3px;} 9686 .ap-home-v2 .apv2-cmp__meter i{width:6px;height:6px;border-radius:50%;background:rgba(29,23,16,.16);} 9687 .ap-home-v2 .apv2-cmp__meter i.on{background:var(--gold-deep);} 9688 .ap-home-v2 .apv2-cmp__i-good{width:15px;height:15px;color:#2f7a43;} 9689 .ap-home-v2 .apv2-cmp__i-water{width:14px;height:14px;color:#5b7fa6;} 9690 .ap-home-v2 .apv2-cmp__yes{color:#2f7a43;font-weight:800;} 9691 .ap-home-v2 .apv2-cmp__yes svg{width:15px;height:15px;} 9692 .ap-home-v2 .apv2-cmp__no{color:var(--muted);} 9693 .ap-home-v2 .apv2-cmp__no svg{width:13px;height:13px;} 9694 .ap-home-v2 .apv2-cmp__cta{display:grid;grid-template-columns:0.86fr 1fr 1fr;column-gap:8px;margin-top:16px;} 9695 .ap-home-v2 .apv2-cmp__btn--w{grid-column:2;} 9696 .ap-home-v2 .apv2-cmp__btn--m{grid-column:3;} 9697 .ap-home-v2 .apv2-cmp__btn{text-align:center;text-decoration:none;padding:13px;border-radius:12px;font-family:var(--ui);font-size:13px;font-weight:800;border:1.5px solid var(--line);color:var(--ink);background:var(--paper);transition:transform .15s ease;} 9698 .ap-home-v2 .apv2-cmp__btn:active{transform:translateY(1px);} 9699 .ap-home-v2 .apv2-cmp__btn--w{background:linear-gradient(180deg,#caa14f,#a97f33);color:#fff;border-color:transparent;box-shadow:0 9px 22px -10px rgba(169,127,51,.6);} 9700 @media(min-width:750px){ 9701 .ap-home-v2 .apv2-cmpwrap{width:min(1180px,calc(100% - 48px));padding:0 0 44px;} 9702 .ap-home-v2 .apv2-cmp__sum{padding:16px 20px;gap:14px;} 9703 .ap-home-v2 .apv2-cmp__thumb{width:50px;height:50px;} 9704 .ap-home-v2 .apv2-cmp__thumb:nth-child(2){margin-left:-16px;} 9705 .ap-home-v2 .apv2-cmp__eyebrow{font-size:10.5px;letter-spacing:.1em;} 9706 .ap-home-v2 .apv2-cmp__sumtitle{font-size:23px;} 9707 .ap-home-v2 .apv2-cmp__pill{font-size:12.5px;padding:9px 14px;} 9708 .ap-home-v2 .apv2-cmp__grid{grid-template-columns:1fr 1.1fr 1.1fr;} 9709 .ap-home-v2 .apv2-cmp__cta{grid-template-columns:1fr 1.1fr 1.1fr;column-gap:14px;} 9710 .ap-home-v2 .apv2-cmp__rl{font-size:13px;padding:15px 8px;} 9711 .ap-home-v2 .apv2-cmp__v{font-size:14px;padding:15px 12px;} 9712 .ap-home-v2 .apv2-cmp__ph{width:62px;height:62px;} 9713 .ap-home-v2 .apv2-cmp__pname{font-size:19px;} 9714 .ap-home-v2 .apv2-cmp__pprice{font-size:12px;} 9715 } 9716 </style> 9717 9718 <section class="oils" aria-labelledby="ap-oils-title"> 9719 <div class="oils__inner"> 9720 <header class="oils__head"> 9721 <div class="oils__intro"> 9722 <p class="oils__eyebrow">Best-selling scents</p> 9723 <h2 class="oils__title" id="ap-oils-title">
9723The oils people <em>reach for first.</em></h2> 9724 <p class="oils__sub">Pure, undiluted fragrance â hotel-strong, with no water and no dilution. These are the scents our customers reorder most.</p> 9725 </div> 9726 <a class="oils__all" href="/collections/waterless-fragrance-oils-1">Shop all fragrance oils <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 9727 </header> 9728 <div class="oils__carousel" data-oils-carousel> 9729 <div class="oils__track" data-oils-track><article class="pcard"> 9730 <a class="pcard__link" href="/products/golden-opulence-inspired-by-ritz-carlton-hotel-waterless-fragrance-oil" aria-label="Ritz Carlton Hotel Inspired Waterless Fragrance Oil â Bergamot, Vanilla & Sandalwood â For Cold-Air Diffusers - Golden Opulence"> 9731 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=560" alt="Aroma Paradise Golden Opulence waterless fragrance oil in an immersive Ritz Carlton inspired destination setting" srcset="//aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=280 280w, //aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=360 360w, //aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=480 480w, //aromaparadise.com/cdn/shop/files/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450559&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9732<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9733 <div class="pcard__info"> 9734 <h3 class="pcard__title">Ritz-Carlton Inspired</h3><p class="pcard__notes">Bergamot · Vanilla · Sandalwood</p><div class="pcard__rating" aria-label="Rated 4.95 out of 5 based on 695 reviews"> 9735 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:99.0%;">â â â â â </span></span> 9736 <span class="pcard__rating-count">695</span> 9737 </div></div> 9738 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52298017636533" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298017669301" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298017702069" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52298017734837" data-price="$89.99" data-compare="$239.99" data-discount="63">240ml</button></div><div class="pcard__pricerow"> 9739 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9740 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9741 <input type="hidden" name="id" value="52298017636533" data-ap-vid> 9742 <input type="hidden" name="quantity" value="1"> 9743 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Ritz Carlton Hotel Inspired Waterless Fragrance Oil â Bergamot, Vanilla &amp; Sandalwood â For Cold-Air Diffusers - Golden Opulence to cart" title="Add to cart"> 9744 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span>
9745 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9746 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9747 </button> 9748 </form></div> 9749</article> 9750<article class="pcard"> 9751 <a class="pcard__link" href="/products/baccarat-gold-inspired-by-baccarat-r-540-perfume-waterless-fragrance-oil" aria-label="Baccarat R 540 Perfume Inspired Waterless Fragrance Oil â Saffron, Cedarwood & Amberwood â For Cold-Air Diffusers - Baccarat Gold"> 9752 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/baccarat-gold-perfume-editorial-lossless-20260707.webp?v=1783461755&width=560" alt="Aroma Paradise Baccarat Gold perfume-inspired waterless fragrance oil in a luxury perfume editorial set" srcset="//aromaparadise.com/cdn/shop/files/baccarat-gold-perfume-editorial-lossless-20260707.webp?v=1783461755&width=280 280w, //aromaparadise.com/cdn/shop/files/baccarat-gold-perfume-editorial-lossless-20260707.webp?v=1783461755&width=360 360w, //aromaparadise.com/cdn/shop/files/baccarat-gold-perfume-editorial-lossless-20260707.webp?v=1783461755&width=480 480w, //aromaparadise.com/cdn/shop/files/baccarat-gold-perfume-editorial-lossless-20260707.webp?v=1783461755&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9753<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9754 <div class="pcard__info"> 9755 <h3 class="pcard__title">Baccarat 540 Inspired</h3><p class="pcard__notes">Saffron · Cedarwood · Amberwood</p><div class="pcard__rating" aria-label="Rated 4.74 out of 5 based on 393 reviews"> 9756 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:94.8%;">â â â â â </span></span> 9757 <span class="pcard__rating-count">393</span> 9758 </div></div> 9759 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52021661565109" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52021661597877" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52021661630645" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52297978708149" data-price="$89.99" data-compare="$239.99" data-discount="63">240ml</button></div><div class="pcard__pricerow"> 9760 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9761 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9762 <input type="hidden" name="id" value="52021661565109" data-ap-vid> 9763 <input type="hidden" name="quantity" value="1"> 9764 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Baccarat R 540 Perfume Inspired Waterless Fragrance Oil â Saffron, Cedarwood &amp; Amberwood â For Cold-Air Diffusers - Baccarat Gold to cart" title="Add to cart"> 9765 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span>
9766 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9767 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9768 </button> 9769 </form></div> 9770</article> 9771<article class="pcard"> 9772 <a class="pcard__link" href="/products/golden-sage-waterless-fragrance-oil" aria-label="Golden Sage Waterless Fragrance Oil â Sage, Soft Rosemary & Vetiver â For Cold-Air Diffusers"> 9773 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/golden-sage-pdp-nb2-1k-hq.webp?v=1783013602&width=560" alt="Aroma Paradise Golden Sage waterless fragrance oil in an immersive golden sage botanical setting" srcset="//aromaparadise.com/cdn/shop/files/golden-sage-pdp-nb2-1k-hq.webp?v=1783013602&width=280 280w, //aromaparadise.com/cdn/shop/files/golden-sage-pdp-nb2-1k-hq.webp?v=1783013602&width=360 360w, //aromaparadise.com/cdn/shop/files/golden-sage-pdp-nb2-1k-hq.webp?v=1783013602&width=480 480w, //aromaparadise.com/cdn/shop/files/golden-sage-pdp-nb2-1k-hq.webp?v=1783013602&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9774<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9775 <div class="pcard__info"> 9776 <h3 class="pcard__title">Golden Sage</h3><p class="pcard__notes">Sage · Soft Rosemary · Vetiver</p><div class="pcard__rating" aria-label="Rated 4.99 out of 5 based on 513 reviews"> 9777 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:99.8%;">â â â â â </span></span> 9778 <span class="pcard__rating-count">513</span> 9779 </div></div> 9780 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52298021241013" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298021273781" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298021306549" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52298021339317" data-price="$89.99" data-compare="$239.99" data-discount="63">240ml</button></div><div class="pcard__pricerow"> 9781 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9782 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9783 <input type="hidden" name="id" value="52298021241013" data-ap-vid> 9784 <input type="hidden" name="quantity" value="1"> 9785 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Golden Sage Waterless Fragrance Oil â Sage, Soft Rosemary &amp; Vetiver â For Cold-Air Diffusers to cart" title="Add to cart"> 9786 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span> 9787 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span>
9788 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9789 </button> 9790 </form></div> 9791</article> 9792<article class="pcard"> 9793 <a class="pcard__link" href="/products/my-way-inspired-by-1-hotel-waterless-fragrance-oil" aria-label="1 Hotel Inspired Waterless Fragrance Oil â Eucalyptus, Soft Jasmine & Light Amber â For Cold-Air Diffusers - My Way"> 9794 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=560" alt="Aroma Paradise My Way waterless fragrance oil in an immersive 1 Hotel inspired destination setting" srcset="//aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=280 280w, //aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&
9794width=360 360w, //aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=480 480w, //aromaparadise.com/cdn/shop/files/my-way-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783450678&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9795<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9796 <div class="pcard__info"> 9797 <h3 class="pcard__title">1 Hotel Inspired</h3><p class="pcard__notes">Eucalyptus · Soft Jasmine · Light Amber</p><div class="pcard__rating" aria-label="Rated 4.95 out of 5 based on 293 reviews"> 9798 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:99.0%;">â â â â â </span></span> 9799 <span class="pcard__rating-count">293</span> 9800 </div></div> 9801 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52298018128053" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298018160821" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298018193589" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52298018226357" data-price="$89.99" data-compare="$239.99" data-discount="63">240ml</button></div><div class="pcard__pricerow"> 9802 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9803 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9804 <input type="hidden" name="id" value="52298018128053" data-ap-vid> 9805 <input type="hidden" name="quantity" value="1"> 9806 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add 1 Hotel Inspired Waterless Fragrance Oil â Eucalyptus, Soft Jasmine &amp; Light Amber â For Cold-Air Diffusers - My Way to cart" title="Add to cart"> 9807 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span> 9808 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9809 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9810 </button> 9811 </form></div> 9812</article> 9813<article class="pcard"> 9814 <a class="pcard__link" href="/products/untamed-spirit-inspired-by-sauvage-by-dior-waterless-fragrance-oil" aria-label="Sauvage by Dior Perfume Inspired Waterless Fragrance Oil â Calabrian Bergamot, Lavender & Ambroxan â For Cold-Air Diffusers - Untamed Spirit"> 9815 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/untamed-spirit-perfume-editorial-lossless-20260707.webp?v=1783461867&width=560" alt="Aroma Paradise Untamed Spirit perfume-inspired waterless fragrance oil in a luxury perfume editorial set" srcset="//aromaparadise.com/cdn/shop/files/untamed-spirit-perfume-editorial-lossless-20260707.webp?v=1783461867&width=280 280w, //aromaparadise.com/cdn/shop/files/untamed-spirit-perfume-editorial-lossless-20260707.webp?v=1783461867&width=360 360w, //aromaparadise.com/cdn/shop/files/untamed-spirit-perfume-editorial-lossless-20260707.webp?v=1783461867&width=480 480w, //aromaparadise.com/cdn/shop/files/untamed-spirit-perfume-editorial-lossless-20260707.webp?v=1783461867&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9816<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9817 <div class="pcard__info"> 9818 <h3 class="pcard__title">Sauvage Inspired</h3><p class="pcard__notes">Calabrian Bergamot · Lavender · Ambroxan</p><div class="pcard__rating" aria-label="Rated 4.98 out of 5 based on 259 reviews">
9819 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:99.6%;">â â â â â </span></span> 9820 <span class="pcard__rating-count">259</span> 9821 </div></div> 9822 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52298019209397" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298019242165" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298019274933" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52298019307701" data-price="$89.99" data-compare="$239.99" data-discount="63">240ml</button></div><div class="pcard__pricerow"> 9823 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9824 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9825 <input type="hidden" name="id" value="52298019209397" data-ap-vid> 9826 <input type="hidden" name="quantity" value="1"> 9827 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Sauvage by Dior Perfume Inspired Waterless Fragrance Oil â Calabrian Bergamot, Lavender &amp; Ambroxan â For Cold-Air Diffusers - Untamed Spirit to cart" title="Add to cart"> 9828 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span> 9829 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9830 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9831 </button> 9832 </form></div> 9833</article> 9834<article class="pcard"> 9835 <a class="pcard__link" href="/products/cedar-rain-waterless-fragrance-oil" aria-label="Cedar Rain Waterless Fragrance Oil â Light Citrus, Cedarwood & Damp Earth â For Cold-Air Diffusers"> 9836 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/cedar-rain-pdp-nb2-1k-hq.webp?v=1783013617&width=560" alt="Aroma Paradise Cedar Rain waterless fragrance oil in an immersive cedar rain forest setting" srcset="//aromaparadise.com/cdn/shop/files/cedar-rain-pdp-nb2-1k-hq.webp?v=1783013617&width=280 280w, //aromaparadise.com/cdn/shop/files/cedar-rain-pdp-nb2-1k-hq.webp?v=1783013617&width=360 360w, //aromaparadise.com/cdn/shop/files/cedar-rain-pdp-nb2-1k-hq.webp?v=1783013617&width=480 480w, //aromaparadise.com/cdn/shop/files/cedar-rain-pdp-nb2-1k-hq.webp?v=1783013617&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9837<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9838 <div class="pcard__info"> 9839 <h3 class="pcard__title">Cedar Rain</h3><p class="pcard__notes">Light Citrus · Cedarwood · Damp Earth</p><div class="pcard__rating" aria-label="Rated 4.91 out of 5 based on 159 reviews"> 9840 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:98.2%;">â â â â â </span></span> 9841 <span class="pcard__rating-count">159</span> 9842 </div></div> 9843 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Cho
9843ose size"><button type="button" class="pcard__variant is-active" data-vid="52298022224053" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298022256821" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298022289589" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52298022322357" data-price="$89.99" data-compare="$239.99" data-discount="63">240ml</button></div><div class="pcard__pricerow"> 9844 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9845 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9846 <input type="hidden" name="id" value="52298022224053" data-ap-vid> 9847 <input type="hidden" name="quantity" value="1"> 9848 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Cedar Rain Waterless Fragrance Oil â Light Citrus, Cedarwood &amp; Damp Earth â For Cold-Air Diffusers to cart" title="Add to cart"> 9849 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span> 9850 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9851 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9852 </button> 9853 </form></div> 9854</article> 9855<article class="pcard"> 9856 <a class="pcard__link" href="/products/mahogany-coconut-waterless-fragrance-oil" aria-label="Mahogany Coconut Waterless Fragrance Oil â Creamy Coconut, Mahogany Wood & Cedar â For Cold-Air Diffusers"> 9857 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/mahogany-coconut-pdp-lossless-20260718.webp?v=1784406984&width=560" alt="Aroma Paradise Mahogany Coconut waterless fragrance oil in an immersive coastal forest scent setting" srcset="//aromaparadise.com/cdn/shop/files/mahogany-coconut-pdp-lossless-20260718.webp?v=1784406984&width=280 280w, //aromaparadise.com/cdn/shop/files/mahogany-coconut-pdp-lossless-20260718.webp?v=1784406984&width=360 360w, //aromaparadise.com/cdn/shop/files/mahogany-coconut-pdp-lossless-20260718.webp?v=1784406984&width=480 480w, //aromaparadise.com/cdn/shop/files/mahogany-coconut-pdp-lossless-20260718.webp?v=1784406984&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9858<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9859 <div class="pcard__info"> 9860 <h3 class="pcard__title">Mahogany Coconut</h3><p class="pcard__notes">Creamy Coconut · Mahogany Wood · Cedar</p><div class="pcard__rating" aria-label="Rated 4.9 out of 5 based on 363 reviews"> 9861 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:98.0%;">â â â â â </span></span> 9862 <span class="pcard__rating-count">363</span> 9863 </div></div> 9864 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52298013147317" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298013180085" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298013212853" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant" data-vid="52298013245621" data-price="$89.99" data-compare="$239.99" data-discount="63">
9864240ml</button></div><div class="pcard__pricerow"> 9865 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9866 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9867 <input type="hidden" name="id" value="52298013147317" data-ap-vid> 9868 <input type="hidden" name="quantity" value="1"> 9869 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Mahogany Coconut Waterless Fragrance Oil â Creamy Coconut, Mahogany Wood &amp; Cedar â For Cold-Air Diffusers to cart" title="Add to cart"> 9870 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span> 9871 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9872 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9873 </button> 9874 </form></div> 9875</article> 9876<article class="pcard"> 9877 <a class="pcard__link" href="/products/japanese-cherry-blossom-waterless-fragrance-oil" aria-label="Japanese Cherry Blossom Waterless Fragrance Oil â Cherry Blossom Petals, Mimosa & Sandalwood â For Cold-Air Diffusers"> 9878 <div class="pcard__thumb"><img src="//aromaparadise.com/cdn/shop/files/japanese-cherry-blossom-pdp-nb2-1k-hq.webp?v=1783020851&width=560" alt="Aroma Paradise Japanese Cherry Blossom waterless fragrance oil in an immersive cherry blossom garden setting" srcset="//aromaparadise.com/cdn/shop/files/japanese-cherry-blossom-pdp-nb2-1k-hq.webp?v=1783020851&width=280 280w, //aromaparadise.com/cdn/shop/files/japanese-cherry-blossom-pdp-nb2-1k-hq.webp?v=1783020851&width=360 360w, //aromaparadise.com/cdn/shop/files/japanese-cherry-blossom-pdp-nb2-1k-hq.webp?v=1783020851&width=480 480w, //aromaparadise.com/cdn/shop/files/japanese-cherry-blossom-pdp-nb2-1k-hq.webp?v=1783020851&width=560 560w" width="560" height="560" loading="lazy" sizes="(max-width: 679px) 46vw, 300px" class="pcard__img"> 9879<span class="pcard__badge pcard__badge--sale" data-ap-card-badge data-default-label="Bestseller">−33%</span></div> 9880 <div class="pcard__info"> 9881 <h3 class="pcard__title">Japanese Cherry Blossom</h3><p class="pcard__notes">Cherry Blossom Petals · Mimosa · Sandalwood</p><div class="pcard__rating" aria-label="Rated 4.9 out of 5 based on 322 reviews"> 9882 <span class="pcard__stars" aria-hidden="true"><span class="pcard__stars-bg">â â â â â </span><span class="pcard__stars-fg" style="width:98.0%;">â â â â â </span></span> 9883 <span class="pcard__rating-count">322</span> 9884 </div></div> 9885 </a><div class="pcard__variants" data-ap-variants role="group" aria-label="Choose size"><button type="button" class="pcard__variant is-active" data-vid="52298013376693" data-price="$19.99" data-compare="$29.99" data-discount="33">30ml</button><button type="button" class="pcard__variant" data-vid="52298013409461" data-price="$29.99" data-compare="$59.99" data-discount="50">60ml</button><button type="button" class="pcard__variant" data-vid="52298013442229" data-price="$49.99" data-compare="$119.99" data-discount="58">120ml</button><button type="button" class="pcard__variant is-oos" data-vid="52298013474997" data-price="$89.99" data-compare="$239.99" data-discount="63" aria-disabled="true">
9885240ml</button></div><div class="pcard__pricerow"> 9886 <div class="pcard__price"><span class="pcard__price-val" data-ap-price>$19.99</span> 9887 <span class="pcard__price-compare" data-ap-compare>$29.99</span></div><form class="pcard__form" method="post" action="/cart/add" data-ap-setup-form> 9888 <input type="hidden" name="id" value="52298013376693" data-ap-vid> 9889 <input type="hidden" name="quantity" value="1"> 9890 <button class="pcard__cta" type="submit" data-ap-setup-atc data-atc aria-label="Add Japanese Cherry Blossom Waterless Fragrance Oil â Cherry Blossom Petals, Mimosa &amp; Sandalwood â For Cold-Air Diffusers to cart" title="Add to cart"> 9891 <span class="pcard__cta-ico pcard__cta-ico--cart" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.2"/><circle cx="18" cy="20" r="1.2"/><path d="M2.5 3h2.3l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h9.3a1.8 1.8 0 0 0 1.8-1.4L21.5 6.5H6.6"/></svg></span> 9892 <span class="pcard__cta-ico pcard__cta-ico--spin" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="9" stroke-opacity="0.25"/><path d="M12 3 a 9 9 0 0 1 9 9"/></svg></span> 9893 <span class="pcard__cta-ico pcard__cta-ico--check" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 12 10 17 19 7"/></svg></span> 9894 </button> 9895 </form></div> 9896</article> 9897</div> 9898 <button class="oils__nav oils__nav--prev" type="button" aria-label="Scroll to previous oils" data-oils-prev disabled><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M15 6l-6 6 6 6"/></svg></button> 9899 <button class="oils__nav oils__nav--next" type="button" aria-label="Scroll to more oils" data-oils-next><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6l6 6-6 6"/></svg></button> 9900 </div> 9901 <div class="oils__assurance" aria-label="Shopping assurances"> 9902 <span><b><span aria-hidden="true">★</span> 4.82</b> from 65,000+ verified reviews</span> 9903 <span>Free U.S. shipping over 9904$49.99</span> 9905 <span>Phthalate and toxin-free</span> 9906 </div> 9907 </div> 9908 </section> 9909 9910 <section class="apv2-switch" aria-labelledby="apv2-switch-section-title"> 9911 <header class="apv2-switch__section-head"> 9912 <p class="apv2-switch__section-eyebrow">Shop compatible refills</p> 9913 <h2 class="apv2-switch__section-title" id="apv2-switch-section-title">Choose the scent system <em>you use now.</em></h2> 9914 </header> 9915 <div class="apv2-switch__inner"> 9916 <div class="apv2-switch__copy"> 9917 <p class="apv2-switch__eyebrow">Already use another scent system?</p> 9918 <h3 class="apv2-switch__h">Keep your machine, find a refill, or <em>switch without guessing.</em></h3> 9919 <p class="apv2-switch__sub">Choose the brand you use now for compatible-oil guidance, scent matches, honest price comparisons, and open-bottle diffuser options.
9919</p> 9920 </div> 9921 <nav class="apv2-switch__brands" aria-label="Waterless scent-system alternatives"> 9922 <a href="/pages/aroma360-alternative?source=homepageSwitch" data-ap-switch-brand="Aroma360">Aroma360 <span>→</span></a> 9923 <a href="/pages/aromatech-alternative?source=homepageSwitch" data-ap-switch-brand="AromaTech">AromaTech <span>→</span></a> 9924 <a href="/pages/hotel-collection-alternative?source=homepageSwitch" data-ap-switch-brand="Hotel Collection">Hotel Collection <span>→</span></a> 9925 <a href="/pages/pura-alternative?source=homepageSwitch" data-ap-switch-brand="Pura">Pura <span>→</span></a> 9926 <a href="/pages/aera-alternative?source=homepageSwitch" data-ap-switch-brand="Aera">Aera <span>→</span></a> 9927 <a href="/pages/scentiment-alternative?source=homepageSwitch" data-ap-switch-brand="Scentiment">Scentiment <span>→</span></a> 9928 </nav> 9929 </div> 9930 </section> 9931 9932 <section class="scent" aria-labelledby="ap-scent-title" data-scent> 9933 <div class="scent__inner"> 9934 <header class="scent__head"> 9935 <p class="scent__eyebrow">Shop by scent</p> 9936 <h2 class="scent__title" id="ap-scent-title">Find your scent, <em>by family.</em></h2> 9937 <p class="scent__sub">Six scent families, one for every room and mood â browse by the notes you already love, from bright and clean to deep and woody.</p> 9938 </header> 9939 <div class="scent__grid"><a class="scent__card" href="/collections/scent-fresh-clean"> 9940 <img class="scent__img" src="//aromaparadise.com/cdn/shop/t/68/assets/scent-fresh-cover.webp?v=105599591000538423291789765668" alt="" loading="lazy" width="760" height="950"> 9941 <span class="scent__scrim"></span> 9942 <span class="scent__body"> 9943 <span class="scent__name">Fresh & Clean</span> 9944 <span class="scent__notes">Citrus · sea breeze · cotton</span> 9945 <span class="scent__go"><span class="scent__count">33 oils</span><span class="scent__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 9946 </span> 9947 </a><a class="scent__card" href="/collections/scent-floral-oils"> 9948 <img class="scent__img" src="//aromaparadise.com/cdn/shop/t/68/assets/scent-floral-cover.webp?v=127721860030375311971789765668" alt="" loading="lazy" width="760" height="950"> 9949 <span class="scent__scrim"></span> 9950 <span class="scent__body"> 9951 <span class="scent__name">Floral</span> 9952 <span class="scent__notes">Rose · jasmine · blossom</span> 9953 <span class="scent__go"><span class="scent__count">35 oils</span><span class="scent__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 9954 </span> 9955 </a><a class="scent__card" href="/collections/scent-fruity-bright"> 9956 <img class="scent__img" src="//aromaparadise.com/cdn/shop/t/68/assets/scent-fruity-cover.webp?v=147963596030159516951789765668" alt="" loading="lazy" width="760" height="950"> 9957 <span class="scent__scrim"></span> 9958 <span class="scent__body"> 9959 <span class="scent__name">Fruity & Bright</span> 9960 <span class="scent__notes">Berry · apple · pineapple</span> 9961 <span class="scent__go"><span class="scent__count">16 oils</span><span class="scent__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 9962 </span> 9963 </a><a class="scent__card" href="/collections/scent-warm-sweet"> 9964 <img class="scent__img" src="//aromaparadise.com/cdn/shop/t/68/assets/scent-warm-cover.webp?v=184253180161630397791789765668" alt="" loading="lazy" width="760" height="950"> 9965 <span class="scent__scrim"></span> 9966 <span class="scent__body">
9967 <span class="scent__name">Warm & Sweet</span> 9968 <span class="scent__notes">Vanilla · amber · saffron</span> 9969 <span class="scent__go"><span class="scent__count">22 oils</span><span class="scent__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 9970 </span> 9971 </a><a class="scent__card" href="/collections/scent-woods-oud"> 9972 <img class="scent__img" src="//aromaparadise.com/cdn/shop/t/68/assets/scent-woods-cover.webp?v=160526733316253471791789765668" alt="" loading="lazy" width="760" height="950"> 9973 <span class="scent__scrim"></span> 9974 <span class="scent__body"> 9975 <span class="scent__name">Woods & Oud</span> 9976 <span class="scent__notes">Cedar · sandalwood · oud</span> 9977 <span class="scent__go"><span class="scent__count">32 oils</span><span class="scent__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 9978 </span> 9979 </a><a class="scent__card" href="/collections/scent-herbal-calm"> 9980 <img class="scent__img" src="//aromaparadise.com/cdn/shop/t/68/assets/scent-herbal-cover.webp?v=148354393603003366781789765668" alt="" loading="lazy" width="760" height="950"> 9981 <span class="scent__scrim"></span> 9982 <span class="scent__body"> 9983 <span class="scent__name">Herbal & Calm</span> 9984 <span class="scent__notes">Lavender · sage · spa</span> 9985 <span class="scent__go"><span class="scent__count">13 oils</span><span class="scent__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 9986 </span> 9987 </a> 9988 </div> 9989 <div class="scent__foot"> 9990 <a class="scent__quiz" href="/pages/scent-quiz?source=homepageScent"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9.5 9.5a2.5 2.5 0 1 1 3.6 2.2c-.8.4-1.1 1-1.1 1.8"/><path d="M12 16.5h.01"/></svg><span>Not sure where to start? <b>Take the 5-second scent quiz</b></span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 9991 </div> 9992 </div> 9993 </section> 9994 9995 <section class="ww" aria-labelledby="ap-ww-title" data-ww> 9996 <div class="ww__inner"> 9997 <header class="ww__head"> 9998 <p class="ww__eyebrow">The waterless difference</p> 9999 <h2 class="ww__title" id="ap-ww-title">Made to scent a room â <em>not fill a tank.</em></h2> 10000 <p class="ww__sub">Cold-air diffusion atomizes pure, undiluted oil into a fine dry mist â hotel-strength fragrance, none of the upkeep.</p> 10001 </header> 10002 <ol class="ww__flow" aria-label="How cold-air diffusion works"> 10003 <li class="ww__step"> 10004 <span class="ww__step-viz"><span class="ww__step-badge">1</span><span class="ww__step-ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3c3.4 4 5.4 6.7 5.4 9.6a5.4 5.4 0 0 1-10.8 0C6.6 9.7 8.6 7 12 3z"/></svg></span></span> 10005 <span class="ww__step-txt"><h3 class="ww__step-title">Pure oil goes in</h3><p class="ww__step-desc">Undiluted fragrance oil â no water, nothing to water it down.</p></span> 10006 </li> 10007 <li class="ww__step"> 10008 <span class="ww__step-viz"><span class="ww__step-badge">2</span><span class="ww__step-ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="2.2" fill="currentColor" stroke="none"/><path d="M12 4V2M12 22v-2M4 12H2M22 12h-2M6.3 6.3 4.9 4.9M19.1 19.1l-1.4-1.4M17.7 6.3 19.1 4.9M4.9 19.1 6.3 17.7"/></svg></span></span>
10009 <span class="ww__step-txt"><h3 class="ww__step-title">Cold air atomizes it</h3><p class="ww__step-desc">A cold-air nebulizer breaks the oil into a fine, dry micro-mist.</p></span> 10010 </li> 10011 <li class="ww__step"> 10012 <span class="ww__step-viz"><span class="ww__step-badge">3</span><span class="ww__step-ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 17.6h.01"/><path d="M8.5 14.3a5 5 0 0 1 7 0"/><path d="M5.8 11.5a9 9 0 0 1 12.4 0"/></svg></span></span> 10013 <span class="ww__step-txt"><h3 class="ww__step-title">Dry mist fills the room</h3><p class="ww__step-desc">Hotel-strength scent carries wall to wall â and never leaves things damp.</p></span> 10014 </li> 10015 </ol> 10016 <ul class="ww__chips" aria-label="Why waterless"> 10017 <li class="ww__chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>No water, no upkeep</li> 10018 <li class="ww__chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>Hotel-strength throw</li> 10019 <li class="ww__chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>Truer, longer scent</li> 10020 <li class="ww__chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>Fits any cold-air diffuser</li> 10021 </ul> 10022 <div class="ww__next" aria-hidden="true"><span class="ww__next-line"></span><span class="ww__next-ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg></span></div> 10023 </div> 10024 </section><link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-brand-tokens.css?v=82419036892212734421791159518" rel="stylesheet" type="text/css" media="all" /> 10025<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-space-teaser.css?v=141540293892833209531791186761" rel="stylesheet" type="text/css" media="all" />
10026<script src="//aromaparadise.com/cdn/shop/t/68/assets/ap-space-teaser.js?v=42118865471109837411791188188" defer></script>
10026<section class="apst apst--hero" data-apst data-apst-url="/pages/find-your-diffuser" data-apst-src="home" aria-labelledby="apst-title-home"> 10027 <div class="apst__in"> 10028 <div class="apst__copy"> 10029 <p class="apst__eyebrow"><span class="apst__new">New</span>Room-by-room diffuser finder</p> 10030 <h2 class="apst__title" id="apst-title-home">Tap your rooms. <em>We'll match a diffuser to each one.</em></h2> 10031 <ul class="apst__ticks"> 10032 <li><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12.5l4.2 4.2L19 7"/></svg>A match for every room</li> 10033 <li><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12.5l4.2 4.2L19 7"/></svg>Your whole setup in one tap</li> 10034 <li><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12.5l4.2 4.2L19 7"/></svg>No square-footage guesswork</li> 10035 </ul> 10036 <div class="apst__actions"> 10037 <a class="apst__cta" href="/pages/find-your-diffuser?src=home" data-apst-cta> 10038 <span class="apst__cta-txt"><b data-apst-label>Start with your rooms</b><small data-apst-names>Takes under a minute</small></span> 10039 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6"/></svg> 10040 </a> 10041 </div> 10042 </div> 10043 <div class="apst__stage"> 10044 <div class="apst__tabs" role="tablist" aria-label="Type of space"> 10045 <button type="button" role="tab" aria-selected="true" data-apst-plan="house"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 11l8-6.5 8 6.5V20H4z M10 20v-5h4v5"/></svg>House</button> 10046 <button type="button" role="tab" aria-selected="false" data-apst-plan="apartment"><svg viewBox="0 0 24 24" aria-hidden="true"><rect x="5" y="3" width="14" height="18" rx="1"/><path d="M9 7h.01M15 7h.01M9 11h.01M15 11h.01M9 15h.01M15 15h.01M11 21v-3h2v3"/></svg>Apartment</button> 10047 <button type="button" role="tab" aria-selected="false" data-apst-plan="business"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 21V5l8-2v18M12 8h8v13M8 8h.01M8 12h.01M8 16h.01M16 12h.01M16 16h.01"/></svg>Business</button> 10048 </div> 10049
10049<script type="application/json" data-apst-imgs>{"house":["//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-house-1100.webp?v=23642105379276608811791159521","//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-house-1920.webp?v=17776439461275352081791159521"],"apartment":["//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-apartment-1100.webp?v=153391782334781566931791159521","//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-apartment-1920.webp?v=139130965160055334141791159521"],"business":["//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-commercial-1100.webp?v=4878481745012956481791159521","//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-commercial-1920.webp?v=24490775530052712971791159521"]}</script>
10049 10050 <div class="apst__plan" role="group" aria-label="Tap the rooms you want to scent"> 10051 <img class="apst__img" src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-house-1920.webp?v=17776439461275352081791159521" srcset="//aromaparadise.com/cdn/shop/t/68/assets/ap-sx-house-1100.webp?v=23642105379276608811791159521 1100w, //aromaparadise.com/cdn/shop/t/68/assets/ap-sx-house-1920.webp?v=17776439461275352081791159521 1920w" sizes="(max-width: 749px) 100vw, 56vw" alt="A two-story home in warm daylight with every room visible" width="1920" height="1072" loading="lazy"> 10052 <span class="apst__lit" aria-hidden="true"></span> 10053 <div data-apst-pins></div> 10054 <span class="apst__try" data-apst-try aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M9 11V5.5a1.5 1.5 0 013 0V11m0-1.5a1.5 1.5 0 013 0V11m0-.5a1.5 1.5 0 013 0V15a6 6 0 01-6 6h-1a6 6 0 01-4.6-2.2L4 15.6a1.5 1.5 0 012.3-1.9L9 16"/></svg>Try it: tap a room</span> 10055 </div> 10056 </div> 10057 </div> 10058 </section> 10059 10060 <section class="assure" aria-labelledby="ap-assure-title"> 10061 <div class="assure__inner"> 10062 <div class="assure__intro"> 10063 <p class="assure__eyebrow">Buy with confidence</p> 10064 <h2 class="assure__title" id="ap-assure-title">Clear answers before you <em>choose.</em></h2> 10065 <p class="assure__sub">The right oil and diffuser pairing matters. Here is the short version, with no guesswork.</p> 10066 <div class="assure__proof"> 10067 <span><b>4.82 / 5</b>65,000+ verified reviews</span> 10068 <span><b>Free U.S. shipping</b>On orders over 10069$49.99</span> 10070 </div> 10071 <a class="assure__cta" href="/pages/scent-quiz?source=homepageConfidence">Take the 5-second scent quiz <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 10072 </div> 10073 <div class="assure__faq"> 10074 <details open> 10075 <summary>Do waterless diffusers need water?<span aria-hidden="true">+</span></summary> 10076 <p>No. Add a compatible waterless fragrance oil directly to the bottle or reservoir. There is no water tank to refill.</p> 10077 </details> 10078 <details> 10079 <summary>Which oil goes with which diffuser?<span aria-hidden="true">+</span></summary> 10080 <p>Waterless diffusers use oils labeled Waterless. Humidifying diffusers use regular fragrance or essential oils with water.</p> 10081 </details> 10082 <details> 10083 <summary>Which diffuser size should I choose?<span aria-hidden="true">+</span></summary> 10084 <p>Start with the space: car, bedroom, living area, or whole home. Each diffuser card shows its intended room size and coverage.</p> 10085 </details> 10086 <details> 10087 <summary>
10087What if I do not know which scent I will like?<span aria-hidden="true">+</span></summary> 10088 <p>Use the scent quiz for a guided match, or shop by scent family if you already know the notes you enjoy.</p> 10089 </details> 10090 </div> 10091 </div> 10092 </section> 10093 10094 <link rel="preconnect" href="https://fonts.googleapis.com"> 10095<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 10096<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap" rel="stylesheet"> 10097 10098<section class="ap-home-about-e" aria-label="About Aroma Paradise"> 10099 <style> 10100 .ap-home-about-e{--ink:#1a1a1a;--warm:#8a5a34;--gold:#c9a876;--muted:#6b6b6b;--line:#d8cdb8;--soft:#f3ead8; 10101 background:#faf6ee;padding:clamp(20px,3vw,40px) clamp(20px,4vw,56px);font-family:'Inter',sans-serif;color:var(--ink)} 10102 .ap-home-about-e *{box-sizing:border-box} 10103 .ap-home-about-e__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(36px,6vw,80px);align-items:center} 10104 .ap-home-about-e__photo{position:relative;width:clamp(220px,28vw,340px);aspect-ratio:4/5;background:#2a1810;border-radius:4px;overflow:hidden;flex-shrink:0} 10105 .ap-home-about-e__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block} 10106 .ap-home-about-e__photo .chip{position:absolute;left:14px;bottom:14px;background:rgba(26,26,26,.85);color:#e7c79c;padding:6px 12px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;border-radius:2px} 10107 .ap-home-about-e__copy{min-width:0} 10108 .ap-home-about-e .eyebrow{font-size:11px;letter-spacing:.24em;color:var(--warm);text-transform:uppercase;margin:0 0 18px} 10109 .ap-home-about-e .quote{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.8vw,36px);line-height:1.25;font-weight:500;margin:0 0 24px;color:var(--ink);position:relative;padding-left:0;letter-spacing:-.005em} 10110 .ap-home-about-e .quote::before{content:"\201C";font-family:'Cormorant Garamond',serif;font-size:3em;color:var(--gold);line-height:0;position:absolute;left:-.05em;top:.45em;opacity:.55} 10111 .ap-home-about-e .quote i{font-style:italic;color:var(--warm)} 10112 .ap-home-about-e .attrib{display:flex;align-items:center;gap:14px;margin:0 0 28px;padding-top:16px;border-top:1px solid var(--line)} 10113 .ap-home-about-e .attrib .who b{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;display:block;line-height:1.1} 10114 .ap-home-about-e .attrib .who span{font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase} 10115 .ap-home-about-e .attrib .stars{color:var(--gold);font-size:13px;letter-spacing:2px;line-height:1;margin-left:auto} 10116 .ap-home-about-e .attrib .stars span{color:var(--muted);font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-left:8px;vertical-align:middle} 10117 .ap-home-about-e a.cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#faf6ee;padding:14px 28px;text-decoration:none;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border-radius:2px;transition:transform .2s,box-shadow .2s} 10118 .ap-home-about-e a.cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(26,26,26,.5)} 10119 .ap-home-about-e a.cta::after{content:"\2192";font-size:16px;letter-spacing:0} 10120 @media (max-width:780px){ 10121 .ap-home-about-e__inner{grid-template-columns:1fr;gap:28px;justify-items:start} 10122 .ap-home-about-e__photo{width:min(280px,60vw);margin:0} 10123 .ap-home-about-e .attrib .stars{margin-left:0} 10124 } 10125 </style> 10126 <div class="ap-home-about-e__inner"> 10127 <div class="ap-home-about-e__photo"> 10128 <img src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/ap-founder-peter.webp?v=1777089319" 10129 alt="Peter, founder of Aroma Paradise" 10130 loading="lazy" decoding="async" 10131 width="680" height="850"> 10132 <div class="chip">Peter · Founder</div> 10133 </div> 10134 <div class="ap-home-about-e__copy"> 10135 <p class="eyebrow">From the founder · Woodbridge, NJ</p> 10136 <p class="quote">We started with one mall kiosk and one promise â <i>fragrance youâd actually let your kids breathe.</i> Six years later, five stores, 100+ oils, and a family of customers we know by first name.</p> 10137 <div class="attrib"> 10138 <div class="who"> 10139 <b>Peter</b>
10140 <span>Founder · Aroma Paradise</span> 10141 </div> 10142 <div class="stars" aria-label="4.82 average from 65082 reviews">★★★★★ <span>4.82 from 65,000+</span></div> 10143 </div> 10144 <a href="/pages/about-us" class="cta">Read our full story</a> 10145 </div> 10146 </div> 10147</section> 10148 10149 10150 <section class="proof" aria-labelledby="ap-proof-title" data-proof> 10151 <div class="proof__inner"> 10152 <header class="proof__head"> 10153 <p class="proof__eyebrow">Loved by thousands</p> 10154 <h2 class="proof__title" id="ap-proof-title">The reviews speak <em>for themselves.</em></h2> 10155 <p class="proof__sub">Real homes, real scent obsessions â straight from verified buyers.</p> 10156 </header> 10157 <div class="proof__stats"> 10158 <div class="stat"><span class="stat__num">4.82<i>★</i></span><span class="stat__lbl">Average rating</span></div> 10159 <div class="stat"><span class="stat__num">65,000+</span><span class="stat__lbl">verified reviews</span></div> 10160 <div class="stat"><span class="stat__num">50,000+</span><span class="stat__lbl">Happy homes</span></div> 10161 <div class="stat"><span class="stat__num">5</span><span class="stat__lbl">5 U.S. retail stores</span></div> 10162 </div> 10163 <div class="proof__rail"> 10164 <button class="proof__nav proof__nav--prev" type="button" aria-label="Previous reviews" disabled><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M15 6l-6 6 6 6"/></svg></button> 10165 <div class="proof__grid" data-rail> 10166 <figure class="rev rev--feature"> 10167 <span class="rev__mark" aria-hidden="true">“</span> 10168 <span class="rev__stars" aria-hidden="true">★★★★★</span> 10169 <blockquote class="rev__q">Iâm in love with this brand â every bit as good, if not better, than the AromaTech I started with. Iâve found my top 3 favorites for rotation, and even one I love in my car. Shipping is super fast, the price is right, and the fragrances are awesome.</blockquote> 10170 <figcaption class="rev__by"><b>Lynn W.</b><span class="rev__badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>Verified buyer</span></figcaption> 10171 </figure> 10172 <figure class="rev"> 10173 <span class="rev__stars" aria-hidden="true">★★★★★</span> 10174 <blockquote class="rev__q">So much easier to get them online than always finding them sold out in stores. I love this brand â Iâve been using them for a while now.</blockquote> 10175 <figcaption class="rev__by"><b>Tim M.</b><span class="rev__badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>Verified buyer</span></figcaption> 10176 </figure> 10177 <figure class="rev"> 10178 <span class="rev__stars" aria-hidden="true">★★★★★</span> 10179 <blockquote class="rev__q">This is my new go-to scent for my home in Dallas, Texas. Itâs light and refreshing, perfect for the hot weather.</blockquote> 10180 <figcaption class="rev__by"><b>Mia L.</b><span class="rev__badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>Verified buyer</span></figcaption> 10181 </figure> 10182 <figure class="rev"> 10183 <span class="rev__stars" aria-hidden="true">★★★★★</span> 10184 <blockquote class="rev__q">I absolutely love this fragrance. It makes my entire apartment smell so good.</blockquote> 10185 <figcaption class="rev__by"><b>Benjamin H.</b><span class="rev__badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>Verified buyer</span></figcaption> 10186 </figure> 10187 <figure class="rev">
10188 <span class="rev__stars" aria-hidden="true">★★★★★</span> 10189 <blockquote class="rev__q">Love the fragrance of these products. Will be ordering again. Thank you!</blockquote> 10190 <figcaption class="rev__by"><b>Beth D.</b><span class="rev__badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>Verified buyer</span></figcaption> 10191 </figure> 10192 </div> 10193 <button class="proof__nav proof__nav--next" type="button" aria-label="Next reviews"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6l6 6-6 6"/></svg></button> 10194 </div> 10195 <div class="proof__dots" data-dots aria-hidden="true"></div> 10196 </div> 10197 </section> 10198 10199 10200 10201 <section class="ap-bbpromo" aria-label="Create a customizable sand candle"> 10202 <div class="ap-bbpromo__visual"> 10203 <video 10204 class="ap-bbpromo__video" 10205 data-ap-bbpromo-lazy-video 10206 data-ap-bbpromo-src="https://cdn.shopify.com/s/files/1/0658/4644/4213/files/homepage_video_compressed.mp4?v=1773697581" 10207 poster="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-main-poster.webp?v=62704390743617396921789765608" 10208 muted 10209 loop 10210 playsinline 10211 preload="none" 10212 aria-hidden="true"></video> 10213 <button class="ap-bbvideo-play" type="button" aria-label="Play sand candle video" hidden data-ap-bbvideo-play><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6.5v11l8-5.5-8-5.5Z"/></svg></button><span class="ap-bbpromo__chip">⸠Watch · 90 sec</span></div> 10214 <div class="ap-bbpromo__copy"> 10215 <span class="ap-bbpromo__eye">Create your candle</span> 10216 <h3 class="ap-bbpromo__h">One candle. <em>Any vessel. Your scent.</em></h3> 10217 <p class="ap-bbpromo__sub">Pour reusable wax pearls, place a wick, then leave them unscented or add only the candle fragrances you choose.</p> 10218 <div class="ap-bbpromo__kits" aria-label="Create a customizable sand candle"> 10219 <div class="ap-bbpromo__kit"><b>Candle sand · from $29.99</b><span>12 / 24 / 36 / 48 oz + 8 cotton wicks · jar and fragrance optional</span></div> 10220 </div> 10221 <p class="ap-bbpromo__price"><b>Start with the unscented base</b> · customize only what you want</p> 10222 <a class="ap-bbpromo__cta" href="/products/unscented-sand-candle?source=homepageSandSpotlight"> 10223 <span>Choose size & scents</span> 10224 <span class="ap-bbpromo__cta-arrow" aria-hidden="true">→</span> 10225 </a> 10226 </div> 10227</section> 10228 10229<section class="ap-bbvideos" aria-label="Sand candle videos"> 10230 <div class="ap-bbvideos__grid"> 10231 <div class="ap-bbvideos__item"> 10232 <video 10233 class="ap-bbvideos__clip" 10234 data-ap-bbpromo-lazy-video 10235 data-ap-bbpromo-src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-1.mp4?v=167871512714107450741789765609" 10236 poster="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-1-poster.webp?v=173726822737346995201789765609" 10237 muted 10238 loop 10239 playsinline 10240 preload="none" 10241 aria-label="Lighting a sand candle"></video> 10242 <button class="ap-bbvideo-play" type="button" aria-label="Play lighting a sand candle video" hidden data-ap-bbvideo-play><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6.5v11l8-5.5-8-5.5Z"/></svg></button> 10243 </div> 10244 <div class="ap-bbvideos__item"> 10245 <video 10246 class="ap-bbvideos__clip" 10247 data-ap-bbpromo-lazy-video 10248 data-ap-bbpromo-src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-2.mp4?v=3816177995275657211789765610" 10249 poster="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-2-poster.webp?v=134353899583719314221789765610" 10250 muted 10251 loop 10252 playsinline 10253 preload="none" 10254 aria-label="Pouring sand candle wax"></video> 10255 <button class="ap-bbvideo-play" type="button" aria-label="Play pouring sand candle wax video" hidden data-ap-bbvideo-play><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6.5v11l8-5.5-8-5.5Z"/></svg></button> 10256 </div> 10257 <div class="ap-bbvideos__item"> 10258 <video 10259 class="ap-bbvideos__clip" 10260 data-ap-bbpromo-lazy-video 10261 data-ap-bbpromo-src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-3.mp4?v=183664688129159826191789765612" 10262 poster="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-3-poster.webp?v=115686449326602296111789765611" 10263 muted 10264 loop 10265 playsinline 10266 preload="none" 10267 aria-label="Sand candle burning"></video> 10268 <button class="ap-bbvideo-play" type="button" aria-label="Play sand candle burning video" hidden data-ap-bbvideo-play><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6.5v11l8-5.5-8-5.5Z"/></svg></button> 10269 </div> 10270 <div class="ap-bbvideos__item"> 10271 <video 10272 class="ap-bbvideos__clip" 10273 data-ap-bbpromo-lazy-video 10274 data-ap-bbpromo-src="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-4.mp4?v=81299828919201910841789765613" 10275 poster="//aromaparadise.com/cdn/shop/t/68/assets/ap-sand-candle-video-4-poster.webp?v=179743513669438638521789765613" 10276 muted 10277 loop 10278 playsinline 10279 preload="none" 10280 aria-label="Pouring white sand candle wax"></video> 10281 <button class="ap-bbvideo-play" type="button" aria-label="Play pouring white sand candle wax video" hidden data-ap-bbvideo-play><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6.5v11l8-5.5-8-5.5Z"/></svg></button> 10282 </div> 10283 </div> 10284</section> 10285 10286<style> 10287 .ap-bbpromo{ 10288 --bbp-ink:#141110; 10289 --bbp-gold:#b8912e; 10290 --bbp-gold-deep:#7a5a16; 10291 --bbp-gold-darker:#5b4310; 10292 --bbp-gold-soft:#d4a93d; 10293 --bbp-gold-pale:#f3d97f; 10294 --bbp-gold-faint:#e8d6a8; 10295 --bbp-line:#e2cf9d; 10296 --bbp-cream:#faf6ec; 10297 --bbp-muted:#6a5d4d; 10298 background:#fff;border:1px solid var(--bbp-line);border-radius:14px;overflow:hidden; 10299 display:grid;grid-template-columns:1fr 1.1fr; 10300 box-shadow:0 2px 12px rgba(91,67,16,.06); 10301 font-family:'Lato',sans-serif;color:var(--bbp-ink);line-height:1.5; 10302 width:min(1200px, calc(100% - 32px)); 10303 max-width:1200px !important; 10304 margin:24px auto !important; 10305 } 10306 .ap-bbpromo *{box-sizing:border-box} 10307 .ap-bbvideos, 10308 .ap-bbvideos *{box-sizing:border-box} 10309 10310 /* ââ Video column (left) ââ */ 10311 .ap-bbpromo .ap-bbpromo__visual{position:relative;background:#0e0c0b;min-height:340px;overflow:hidden} 10312 .ap-bbpromo .ap-bbpromo__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block} 10313 .ap-bbvideo-play{ 10314 position:absolute;z-index:4;
10314left:50%;top:50%;transform:translate(-50%,-50%); 10315 display:grid;place-items:center;width:48px;height:48px;padding:0; 10316 border:1px solid rgba(232,207,148,.8);border-radius:50%; 10317 background:rgba(20,17,16,.76);color:#f3d98d; 10318 box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.08);cursor:pointer; 10319 backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px); 10320 } 10321 .ap-bbvideo-play[hidden]{display:none} 10322 .ap-bbvideo-play svg{width:23px;height:23px;fill:currentColor;transform:translateX(1px)} 10323 /* subtle right-edge gradient so the white copy panel meets the video softly */ 10324 .ap-bbpromo .ap-bbpromo__visual::after{ 10325 content:"";position:absolute;inset:0;pointer-events:none; 10326 background:linear-gradient(90deg, rgba(0,0,0,0) 60%, rgba(20,17,16,.55) 100%); 10327 } 10328 .ap-bbpromo .ap-bbpromo__chip{ 10329 position:absolute;top:18px;left:18px;z-index:3; 10330 background:rgba(20,17,16,.78);color:var(--bbp-gold-pale); 10331 font-family:'Lato',sans-serif;font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:900; 10332 padding:7px 12px;border-radius:99px;border:1px solid var(--bbp-gold); 10333 backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px); 10334 } 10335 10336 /* ââ Copy column (right) ââ */ 10337 .ap-bbpromo .ap-bbpromo__copy{padding:40px 36px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--bbp-line)} 10338 .ap-bbpromo .ap-bbpromo__eye{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:900;color:var(--bbp-gold-deep);margin:0 0 12px;display:block} 10339 .ap-bbpromo .ap-bbpromo__h{font-family:'Prata',Georgia,serif;font-style:italic;font-weight:400;font-size:34px;line-height:1.08;color:var(--bbp-ink);margin:0 0 12px;letter-spacing:-.012em} 10340 .ap-bbpromo .ap-bbpromo__h em{color:var(--bbp-gold-deep);font-style:italic} 10341 .ap-bbpromo .ap-bbpromo__sub{font-family:'Cormorant Garamond','Prata',Georgia,serif;font-style:italic;font-size:16px;color:var(--bbp-muted);margin:0 0 16px;line-height:1.5} 10342 .ap-bbpromo .ap-bbpromo__sub b{color:var(--bbp-ink);font-weight:500} 10343 .ap-bbpromo .ap-bbpromo__kits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 13px} 10344 .ap-bbpromo .ap-bbpromo__kit{display:grid;gap:3px;padding:10px 11px;border:1px solid var(--bbp-line);border-radius:10px;background:linear-gradient(180deg,#fffdf8,#f8f0df)} 10345 .ap-bbpromo .ap-bbpromo__kit b{font-size:11px;line-height:1.25;color:var(--bbp-ink);letter-spacing:.01em} 10346 .ap-bbpromo .ap-bbpromo__kit span{font-size:10px;line-height:1.35;color:var(--bbp-muted)} 10347 .ap-bbpromo .ap-bbpromo__price{font-family:'Prata',Georgia,serif;font-style:italic;font-size:13px;color:var(--bbp-ink);margin:0 0 20px} 10348 .ap-bbpromo .ap-bbpromo__price b{font-weight:400;color:var(--bbp-gold-deep)} 10349 10350 /* ââ Gold CTA (V3 Deep Gold + sheen). Chained selector defeats GemPages '.gps a {color:inherit}' specificity ââ */ 10351 .ap-bbpromo a.ap-bbpromo__cta{ 10352 position:relative;display:inline-flex;align-self:center; 10353 align-items:center;justify-content:center;text-align:center;gap:10px; 10354 background:linear-gradient(180deg, var(--bbp-gold) 0%, var(--bbp-gold-deep) 50%, var(--bbp-gold-darker) 100%); 10355 color:#fff8e0; 10356 border-radius:11px;padding:16px 30px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:12px; 10357 border:1px solid var(--bbp-gold-darker);overflow:hidden; 10358 text-decoration:none;font-family:inherit; 10359 box-shadow:0 1px 0 rgba(255,235,180,.4) inset, 0 -1px 0 rgba(40,28,4,.55) inset, 0 6px 18px rgba(91,67,16,.32); 10360 text-shadow:0 1px 1px rgba(40,28,4,.55); 10361 transition:transform .22s ease, box-shadow .25s ease; 10362 } 10363 .ap-bbpromo a.ap-bbpromo__cta::before{ 10364 content:"";position:absolute;top:0;bottom:0;left:-30%;width:35%; 10365 background:linear-gradient(105deg, transparent 0%, rgba(255,255,255,0) 25%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 75%, transparent 100%); 10366 transform:skewX(-18deg);pointer-events:none;z-index:1; 10367 animation:ap-bbpromo-sheen 5.5s ease-in-out infinite; 10368 } 10369 @keyframes ap-bbpromo-sheen{0%,78%,100%{left:-30%}88%{left:120%}} 10370 .ap-bbpromo a.ap-bbpromo__cta:hover::before{animation:ap-bbpromo-sheen-hover 1.1s ease-out} 10371 @keyframes ap-bbpromo-sheen-hover{from{left:-30%}to{left:120%}} 10372 .ap-bbpromo a.ap-bbpromo__cta:hover{transform:translateY(-1px);color:#fff8e0;box-shadow:0 1px 0 rgba(255,235,180,.5) inset, 0 -1px 0 rgba(40,28,4,.6) inset, 0 9px 24px rgba(91,67,16,.45)} 10373 .ap-bbpromo a.ap-bbpromo__cta>span{position:relative;z-index:2} 10374 .ap-bbpromo a.ap-bbpromo__cta .ap-bbpromo__cta-arrow{font-size:14px;color:var(--bbp-gold-pale);font-weight:500} 10375 10376 .ap-bbvideos{ 10377 width:min(1200px, calc(100% - 32px)); 10378 max-width:1200px !important; 10379 margin:14px auto 28px !important; 10380 font-family:'Lato',sans-serif; 10381 } 10382 .ap-bbvideos__grid{ 10383 display:grid; 10384 grid-template-columns:repeat(4,minmax(0,1fr)); 10385 gap:12px; 10386 } 10387 .ap-bbvideos__item{ 10388 position:relative; 10389 min-width:0; 10390 } 10391 .ap-bbvideos__clip{ 10392 display:block; 10393 width:100%; 10394 aspect-ratio:4/5; 10395 max-height:360px; 10396 object-fit:cover; 10397 border:1px solid var(--bbp-line); 10398 border-radius:12px; 10399 background:#141110; 10400 box-shadow:0 2px 12px rgba(91,67,16,.08); 10401 } 10402 /* ââ Mobile: stack ââ */ 10403 @media (max-width: 720px){ 10404 .ap-bbpromo{grid-template-columns:1fr} 10405 .ap-bbpromo .ap-bbpromo__visual{min-height:220px;border-bottom:1px solid var(--bbp-line)} 10406 .ap-bbpromo .ap-bbpromo__visual::after{background:linear-gradient(180deg, rgba(0,0,0,0) 65%, rgba(20,17,16,.55) 100%)} 10407 .ap-bbpromo .ap-bbpromo__copy{border-left:0;padding:26px 22px 24px} 10408 .ap-bbpromo .ap-bbpromo__h{font-size:26px} 10409 .ap-bbpromo .ap-bbpromo__kits{grid-template-columns:1fr;gap:7px} 10410 .ap-bbpromo .ap-bbpromo__kit{grid-template-columns:auto 1fr;align-items:baseline;gap:8px;padding:9px 10px} 10411 .ap-bbpromo .ap-bbpromo__kit span{text-align:right} 10412 .ap-bbvideos{ 10413 width:100%; 10414 margin:12px 0 24px !important; 10415 overflow:hidden; 10416 } 10417 .ap-bbvideos__grid{ 10418 display:flex; 10419 gap:10px; 10420 overflow-x:auto; 10421 padding:0 14px 2px; 10422 scroll-snap-type:x mandatory; 10423 -webkit-overflow-scrolling:touch; 10424 scrollbar-width:none; 10425 } 10426 .ap-bbvideos__grid::-webkit-scrollbar{display:none} 10427 .ap-bbvideos__item{ 10428 flex:0 0 54vw; 10429 max-width:220px; 10430 scroll-snap-align:start; 10431 } 10432 .ap-bbvideos__clip{max-height:275px} 10433 } 10434</style> 10435
10436<script> 10437 (function(){ 10438 var lazyVideos = []; 10439 function playButton(video){ return video.parentElement.querySelector('[data-ap-bbvideo-play]'); } 10440 function showFallback(video){ var button = playButton(video); if (button) button.hidden = false; } 10441 function hideFallback(video){ var button = playButton(video); if (button) button.hidden = true; } 10442 function attemptPlay(video){ 10443 try { 10444 video.muted = true; 10445 var p = video.play(); 10446 if (p && typeof p.catch === 'function') p.catch(function(){ showFallback(video); }); 10447 } catch (e) { showFallback(video); } 10448 } 10449 function loadVideo(video){ 10450 if (!video || video.dataset.apBbpromoLoaded === 'true') return; 10451 var src = video.getAttribute('data-ap-bbpromo-src'); 10452 if (!src) return; 10453 10454 video.dataset.apBbpromoLoaded = 'true'; 10455 video.setAttribute('data-ap-allow-video-load', 'true'); 10456 // iOS needs muted set as a property (not just the attribute) for programmatic autoplay 10457 video.muted = true; video.defaultMuted = true; video.setAttribute('muted', ''); 10458 video.src = src; 10459 video.load(); 10460 10461 attemptPlay(video); 10462 // Retry once the video is actually ready â play() right after load() fails on mobile 10463 video.addEventListener('loadeddata', function(){ attemptPlay(video); }); 10464 video.addEventListener('canplay', function(){ attemptPlay(video); }); 10465 } 10466 10467 function initLazyVideos(){ 10468 var videos = document.querySelectorAll('[data-ap-bbpromo-lazy-video]:not([data-ap-bbpromo-bound])'); 10469 if (!videos.length) return; 10470 10471 videos.forEach(function(video){ 10472 video.dataset.apBbpromoBound = 'true'; 10473 lazyVideos.push(video); 10474 var button = playButton(video); 10475 if (button) button.addEventListener('click', function(){ loadVideo(video); attemptPlay(video); }); 10476 video.addEventListener('play', function(){ hideFallback(video); }); 10477 }); 10478 10479 if ('IntersectionObserver' in window){ 10480 var observer = new IntersectionObserver(function(entries){ 10481 entries.forEach(function(entry){ 10482 var video = entry.target; 10483 if (entry.isIntersecting){ 10484 loadVideo(video); 10485 attemptPlay(video); 10486 } else if (video.dataset.apBbpromoLoaded === 'true'){ 10487 video.pause(); 10488 } 10489 }); 10490 }, { rootMargin: '240px 0px', threshold: 0.05 }); 10491 videos.forEach(function(video){ observer.observe(video); }); 10492 } else { 10493 videos.forEach(loadVideo); 10494 } 10495 10496 // iOS Low Power Mode / blocked autoplay: kick already-loaded clips on first interaction 10497 var resume = function(){ lazyVideos.forEach(function(v){ if (v.dataset.apBbpromoLoaded === 'true') attemptPlay(v); }); }; 10498 document.addEventListener('touchstart', resume, { passive: true, once: true }); 10499 } 10500 10501 if (document.readyState === 'loading'){ 10502 document.addEventListener('DOMContentLoaded', initLazyVideos); 10503 } else { 10504 initLazyVideos(); 10505 } 10506 })(); 10507</script>
10507 10508 10509 10510 <section class="cat" aria-labelledby="ap-cat-title" data-cat> 10511 <div class="cat__inner"> 10512 <header class="cat__head"> 10513 <p class="cat__eyebrow">Explore the collection</p> 10514 <h2 class="cat__title" id="ap-cat-title">Shop by <em>category.</em></h2> 10515 <p class="cat__sub">Prefer to browse on your own? Jump straight into any part of the range.</p> 10516 </header> 10517 <div class="cat__rail"> 10518 <button class="cat__nav cat__nav--prev" type="button" aria-label="Scroll left" disabled><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M15 6l-6 6 6 6"/></svg></button> 10519 <div class="cat__track" data-rail><a class="cat__card" href="/collections/waterless-scent-diffusers"> 10520 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/tower-pro-waterless-scent-diffuser-01-hf_20260518_180845_2faec3d2-285f-4824-9520-1118109d3f62-optimized.jpg?v=1784877142&width=460" alt="Waterless Diffusers" loading="lazy" width="460" height="460"></span> 10521 <span class="cat__body"> 10522 <span class="cat__name">Waterless Diffusers</span> 10523 <span class="cat__go"><span class="cat__count">14 diffusers</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10524 </span> 10525 </a><a class="cat__card" href="/collections/humidifying-scent-diffusers"> 10526 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/assets_2Ftask_01js168ysse4nsf8hdez7mw3kw_2Fimg_0.webp?v=1761458344&width=460" alt="Ultrasonic Diffusers" loading="lazy" width="460" height="460"></span> 10527 <span class="cat__body"> 10528 <span class="cat__name">Ultrasonic Diffusers</span> 10529 <span class="cat__go"><span class="cat__count">56 diffusers</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10530 </span> 10531 </a><a class="cat__card" href="/collections/waterless-fragrance-oils-1"> 10532 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/golden-opulence-hotel-waterless-pdp-near-lossless-20260707.webp?v=1783532493&width=460" alt="Waterless Scents" loading="lazy" width="460" height="460"></span> 10533 <span class="cat__body"> 10534 <span class="cat__name">Waterless Scents</span> 10535 <span class="cat__go"><span class="cat__count">69 scents</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10536 </span> 10537 </a><a class="cat__card" href="/collections/regular-fragrance-oils"> 10538 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/ChanelChanceinspiredfragranceoil-9206434.png?v=1753425947&width=460" alt="Fragrance Oils" loading="lazy" width="460" height="460"></span> 10539 <span class="cat__body"> 10540 <span class="cat__name">Fragrance Oils</span> 10541 <span class="cat__go"><span class="cat__count">122 oils</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10542 </span> 10543 </a><a class="cat__card" href="/collections/perfume-body-oils"> 10544 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/gempages_555152733192061762-2cd2f379-4cec-4cae-9f6d-fb2942f08ebb-2701060.jpg?v=1753425941&width=460" alt="Body Oils" loading="lazy" width="460" height="460"></span>
10545 <span class="cat__body"> 10546 <span class="cat__name">Body Oils</span> 10547 <span class="cat__go"><span class="cat__count">40 oils</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10548 </span> 10549 </a><a class="cat__card" href="/collections/essential-oils"> 10550 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/Essential-Oils_f7d658f5-b44d-4d35-9dec-a41b26ee4648.jpg?v=1739854827&width=460" alt="Essential Oils" loading="lazy" width="460" height="460"></span> 10551 <span class="cat__body"> 10552 <span class="cat__name">Essential Oils</span> 10553 <span class="cat__go"><span class="cat__count">17 oils</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10554 </span> 10555 </a><a class="cat__card" href="/collections/sand-candle"> 10556 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/ap-original-sand-20261006-01-hero.png?v=1791356110&width=460" alt="Sand Candles" loading="lazy" width="460" height="460"></span> 10557 <span class="cat__body"> 10558 <span class="cat__name">Sand Candles</span> 10559 <span class="cat__go"><span class="cat__count">1 candles</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10560 </span> 10561 </a><a class="cat__card" href="/collections/incense"> 10562 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/files/IMG-0232.png?v=1753427720&width=460" alt="Incense" loading="lazy" width="460" height="460"></span> 10563 <span class="cat__body"> 10564 <span class="cat__name">Incense</span> 10565 <span class="cat__go"><span class="cat__count">108 options</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10566 </span> 10567 </a><a class="cat__card" href="/collections/8oz-room-mist"> 10568 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/task_01k9bg3yt0e37rmctjd6q49002_2F1762396417_img_0.webp?v=1762857245&width=460" alt="Room Mist" loading="lazy" width="460" height="460"></span> 10569 <span class="cat__body"> 10570 <span class="cat__name">Room Mist</span> 10571 <span class="cat__go"><span class="cat__count">21 mists</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10572 </span> 10573 </a><a class="cat__card" href="/collections/car-air-freshener-rocket"> 10574 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/FullSizeRender_02665df9-3647-4f70-86cc-ecdaad72227a.jpg?v=1738543593&width=460" alt="Car Air Freshener" loading="lazy" width="460" height="460"></span> 10575 <span class="cat__body"> 10576 <span class="cat__name">Car Air Freshener</span> 10577 <span class="cat__go"><span class="cat__count">12 options</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10578 </span> 10579 </a><a class="cat__card" href="/collections/bracelets"> 10580 <span class="cat__thumb"><img class="cat__img" src="//aromaparadise.com/cdn/shop/collections/Bracelet.webp?v=1761293768&width=460" alt="Bracelets" loading="lazy" width="460" height="460"></span>
10581 <span class="cat__body"> 10582 <span class="cat__name">Bracelets</span> 10583 <span class="cat__go"><span class="cat__count">64 styles</span><span class="cat__arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></span> 10584 </span> 10585 </a></div> 10586 <button class="cat__nav cat__nav--next" type="button" aria-label="Scroll right"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6l6 6-6 6"/></svg></button> 10587 </div> 10588 </div> 10589 </section> 10590</section> 10591 10592 10593 10594 10595
10596<script> 10597 /* Variant (size) picker on product cards â inline so it isn't affected by section-JS bundle caching */ 10598 (function(){ 10599 if(window.__apVariantPickerBound) return; window.__apVariantPickerBound=true; 10600 document.addEventListener('click',function(e){ 10601 var pill=e.target.closest('.pcard__variant'); if(!pill) return; 10602 if(pill.getAttribute('aria-disabled')==='true') return; 10603 var card=pill.closest('.pcard'); if(!card) return; 10604 var pills=card.querySelectorAll('.pcard__variant'); 10605 for(var i=0;i<pills.length;i++){pills[i].classList.remove('is-active');} 10606 pill.classList.add('is-active'); 10607 var idIn=card.querySelector('[data-ap-vid]'); if(idIn){idIn.value=pill.getAttribute('data-vid');} 10608 var pv=card.querySelector('[data-ap-price]'); if(pv){pv.textContent=pill.getAttribute('data-price')||'';} 10609 var cmp=card.querySelector('[data-ap-compare]'); 10610 if(cmp){var c=pill.getAttribute('data-compare')||'';cmp.textContent=c;cmp.hidden=!c;} 10611 var badge=card.querySelector('[data-ap-card-badge]'); 10612 if(badge){ 10613 var discount=pill.getAttribute('data-discount')||''; 10614 var fallback=badge.getAttribute('data-default-label')||''; 10615 badge.textContent=discount ? '\u2212'+discount+'%' : fallback; 10616 badge.classList.toggle('pcard__badge--sale',!!discount); 10617 badge.classList.toggle('pcard__badge--bestseller',!discount&&!!fallback); 10618 badge.hidden=!discount&&!fallback; 10619 } 10620 }); 10621 })(); 10622 10623 /* Oils bestseller carousel â delegated so it survives card re-renders by cart apps */ 10624 (function(){ 10625 if(window.__apOilsCarouselBound) return; window.__apOilsCarouselBound=true; 10626 function upd(track){ 10627 var root=track.closest('[data-oils-carousel]'); if(!root) return; 10628 var max=track.scrollWidth-track.clientWidth-4; 10629 var prev=root.querySelector('[data-oils-prev]'), next=root.querySelector('[data-oils-next]'); 10630 if(prev)prev.disabled=track.scrollLeft<=4; 10631 if(next)next.disabled=(track.scrollLeft>=max)||(max<=4); 10632 } 10633 function by(track,dir){ 10634 track.style.scrollSnapType='none'; 10635 track.scrollBy({left:dir*Math.round(track.clientWidth*0.85),behavior:'smooth'}); 10636 clearTimeout(track.__snapT); track.__snapT=setTimeout(function(){track.style.scrollSnapType=''; upd(track);},600); 10637 } 10638 document.addEventListener('click',function(e){ 10639 var btn=e.target.closest('[data-oils-prev],[data-oils-next]'); if(!btn) return; 10640 var root=btn.closest('[data-oils-carousel]'); if(!root) return; 10641 var track=root.querySelector('[data-oils-track]'); if(!track) return; 10642 by(track, btn.hasAttribute('data-oils-next') ? 1 : -1); 10643 }); 10644 function initAll(){ 10645 var tracks=document.querySelectorAll('[data-oils-track]'); 10646 for(var i=0;i<tracks.length;i++){(function(track){ 10647 if(track.__apCarBound) return; track.__apCarBound=true; 10648 track.addEventListener('scroll',function(){upd(track);},{passive:true}); 10649 upd(track); 10650 })(tracks[i]);} 10651 } 10652 initAll(); 10653 window.addEventListener('resize',function(){var t=document.querySelectorAll('[data-oils-track]');for(var i=0;i<t.length;i++)upd(t[i]);}); 10654 window.setTimeout(initAll, 1500); 10655 })(); 10656</script>
10656 10657 10658<link href="//aromaparadise.com/cdn/shop/t/68/assets/ap-home-colors.css?v=119475617142486859541790978004" rel="stylesheet" type="text/css" media="all" /> 10659 10660 10661</div> 10662 </main> 10663 10664
10664<script> 10665 (function(){ 10666 function loadDeferredVideo(video){ 10667 if (!video || video.dataset.apDeferredVideoLoaded === 'true') return; 10668 var src = video.getAttribute('data-ap-deferred-video-src'); 10669 if (!src) return; 10670 10671 video.dataset.apDeferredVideoLoaded = 'true'; 10672 video.setAttribute('data-ap-allow-video-load', 'true'); 10673 video.src = src; 10674 video.load(); 10675 10676 var play = video.play(); 10677 if (play && typeof play.catch === 'function') play.catch(function(){}); 10678 } 10679 10680 function initDeferredVideos(){ 10681 var videos = document.querySelectorAll('video[data-ap-deferred-video-src]:not([data-ap-deferred-video-bound])'); 10682 if (!videos.length) return; 10683 10684 videos.forEach(function(video){ 10685 video.dataset.apDeferredVideoBound = 'true'; 10686 10687 if (!('IntersectionObserver' in window)){ 10688 loadDeferredVideo(video); 10689 return; 10690 } 10691 10692 var observer = new IntersectionObserver(function(entries){ 10693 entries.forEach(function(entry){ 10694 if (entry.isIntersecting && entry.intersectionRatio >= 0.35){ 10695 loadDeferredVideo(entry.target); 10696 observer.unobserve(entry.target); 10697 } 10698 }); 10699 }, { threshold: [0, 0.35] }); 10700 10701 observer.observe(video); 10702 }); 10703 } 10704 10705 if (document.readyState === 'loading'){ 10706 document.addEventListener('DOMContentLoaded', initDeferredVideos); 10707 } else { 10708 initDeferredVideos(); 10709 } 10710 })(); 10711 </script>
10711<!-- BEGIN sections: footer-group --> 10712<div id="shopify-section-sections--28517217337525__blocks_h373zK" class="shopify-section shopify-section-group-footer-group"><div id="shopify-block-AV2JZajcyOXJyck44d__ai_gen_block_48152d6_QVHRd4" class="shopify-block"> 10713 10714 10715<style data-shopify> 10716 .ai-vertical-space-av2jzajcyoxjyck44daigenblock48152d6qvhrd4 { 10717 width: 100%; 10718 display: flex; 10719 align-items: center; 10720 justify-content: center; 10721 padding: 50px 0 50px 0; 10722 } 10723 10724 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4 { 10725 width: 100%; 10726 max-width: 100%; 10727 margin: 0 auto; 10728 } 10729 10730 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--none { 10731 display: none; 10732 } 10733 10734 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--solid { 10735 height: 1px; 10736 background-color: #121212; 10737 } 10738 10739 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--dashed { 10740 height: 1px; 10741 background-image: repeating-linear-gradient( 10742 to right, 10743 #121212 0px, 10744 #121212 10px, 10745 transparent 10px, 10746 transparent 20px 10747 ); 10748 } 10749 10750 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--dotted { 10751 height: 1px; 10752 background-image: repeating-linear-gradient( 10753 to right, 10754 #121212 0px, 10755 #121212 4px, 10756 transparent 4px, 10757 transparent 12px 10758 ); 10759 } 10760 10761 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--gradient { 10762 height: 1px; 10763 background: linear-gradient( 10764 to right, 10765 transparent 0%, 10766 #121212 50%, 10767 transparent 100% 10768 ); 10769 } 10770 10771 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--wavy { 10772 height: 3px; 10773 position: relative; 10774 overflow: hidden; 10775 } 10776 10777 .ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--wavy svg { 10778 width: 100%; 10779 height: 100%; 10780 display: block; 10781 } 10782 10783 @media screen and (max-width: 749px) { 10784 .ai-vertical-space-av2jzajcyoxjyck44daigenblock48152d6qvhrd4 { 10785 padding: 35.0px 0 35.0px 0; 10786 } 10787 } 10788</style> 10789 10790<div class="ai-vertical-space-av2jzajcyoxjyck44daigenblock48152d6qvhrd4" > 10791 10792 <div class="ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4 ai-vertical-space-divider-av2jzajcyoxjyck44daigenblock48152d6qvhrd4--none"></div> 10793 10794</div> 10795 10796 10797</div> 10798 10799 10800</div><div id="shopify-section-sections--28517217337525__footer" class="shopify-section shopify-section-group-footer-group"> 10801<link href="//aromaparadise.com/cdn/shop/t/68/assets/section-footer.css?v=60318643098753476351789765668" rel="stylesheet" type="text/css" media="all" /> 10802<link href="//aromaparadise.com/cdn/shop/t/68/assets/component-newsletter.css?v=4727253280200485261789765641" rel="stylesheet" type="text/css" media="all" /> 10803<link href="//aromaparadise.com/cdn/shop/t/68/assets/component-list-menu.css?v=151968516119678728991789765638" rel="stylesheet" type="text/css" media="all" /> 10804<link href="//aromaparadise.com/cdn/shop/t/68/assets/component-list-payment.css?v=69253961410771838501789765638" rel="stylesheet" type="text/css" media="all" /> 10805<link href="//aromaparadise.com/cdn/shop/t/68/assets/component-list-social.css?v=35792976012981934991789765639" rel="stylesheet" type="text/css" media="all" /> 10806<style data-shopify>.footer { 10807 margin-top: 0px; 10808 } 10809 10810 .section-sections--28517217337525__footer-padding { 10811 padding-top: 27px; 10812 padding-bottom: 27px; 10813 } 10814 10815 @media screen and (min-width: 750px) { 10816 .footer { 10817 margin-top: 0px; 10818 } 10819 10820 .section-sections--28517217337525__footer-padding { 10821 padding-top: 36px; 10822 padding-bottom: 36px; 10823 } 10824 } 10825 10826 .footer-block--menu { 10827 max-width: 100%; 10828 text-align: center; 10829 } 10830 .footer-block__heading { 10831 text-align: center; 10832 width: 100%; 10833 } 10834 .footer-inline-menu { 10835 display: flex; 10836 flex-wrap: wrap; 10837 justify-content: center; 10838 gap: 0.2rem 0; 10839 padding: 0; 10840 } 10841 .footer-inline-menu li { 10842 display: inline-flex; 10843 align-items: center; 10844 white-space: nowrap; 10845 } 10846 .footer-inline-menu li:not(:last-child)::after { 10847 content: "·"; 10848 margin: 0 0.8rem; 10849 opacity: 0.4; 10850 } 10851 .footer-block--menu + .footer-block--menu { 10852 margin-top: 0.5rem; 10853 } 10854 .footer-block__brand-info { 10855 text-align: center; 10856 } 10857 .footer-block__brand-info .rte { 10858 text-align: center; 10859 }</style><footer class="footer color-scheme-1 gradient section-sections--28517217337525__footer-padding">
10859<div class="footer__content-top page-width"><div 10860 class="footer__blocks-wrapper grid grid--1-col scroll-trigger animate--slide-in" 10861 10862 data-cascade 10863 10864 ><div 10865 class="footer-block grid__item footer-block--menu scroll-trigger animate--slide-in" 10866 10867 10868 data-cascade 10869 style="--animation-order: 1;" 10870 10871 ><h2 class="footer-block__heading inline-richtext">Shop Now</h2><ul class="footer-block__details-content list-unstyled footer-inline-menu"><li> 10872 <a 10873 href="/collections/sand-candle" 10874 class="link link--text list-menu__item list-menu__item--link" 10875 > 10876 Sand Candle 10877 </a> 10878 </li><li> 10879 <a 10880 href="/collections/waterless-fragrance-oils-1" 10881 class="link link--text list-menu__item list-menu__item--link" 10882 > 10883 Waterless Scents 10884 </a> 10885 </li><li> 10886 <a 10887 href="/collections/waterless-scent-diffusers" 10888 class="link link--text list-menu__item list-menu__item--link" 10889 > 10890 Waterless Diffusers 10891 </a> 10892 </li><li> 10893 <a 10894 href="/collections/essential-oils" 10895 class="link link--text list-menu__item list-menu__item--link" 10896 > 10897 Essential Oils 10898 </a> 10899 </li><li> 10900 <a 10901 href="/collections/regular-fragrance-oils" 10902 class="link link--text list-menu__item list-menu__item--link" 10903 > 10904 Fragrance Oil 10905 </a> 10906 </li><li> 10907 <a 10908 href="/collections/humidifying-scent-diffusers" 10909 class="link link--text list-menu__item list-menu__item--link" 10910 > 10911 Humidifying Diffusers 10912 </a> 10913 </li><li> 10914 <a 10915 href="/collections/8oz-room-mist" 10916 class="link link--text list-menu__item list-menu__item--link" 10917 > 10918 Room Mist 10919 </a> 10920 </li><li> 10921 <a 10922 href="/collections/perfume-body-oils" 10923 class="link link--text list-menu__item list-menu__item--link" 10924 > 10925 Roll-On Perfume 10926 </a> 10927 </li><li> 10928 <a 10929 href="/collections/incense-sticks" 10930 class="link link--text list-menu__item list-menu__item--link" 10931 > 10932 Incense 10933 </a> 10934 </li><li> 10935 <a 10936 href="/collections/money-tree" 10937 class="link link--text list-menu__item list-menu__item--link" 10938 > 10939 Crystal Energy Tree 10940 </a> 10941 </li><li> 10942 <a 10943 href="/collections/crystal-pendants" 10944 class="link link--text list-menu__item list-menu__item--link" 10945 > 10946 Crystal Pendants 10947 </a> 10948 </li><li> 10949 <a 10950 href="/collections/car-air-freshener-rocket" 10951 class="link link--text list-menu__item list-menu__item--link" 10952 > 10953 Car Air Freshner 10954 </a> 10955 </li><li> 10956 <a 10957 href="/collections/cleansing-water" 10958 class="link link--text list-menu__item list-menu__item--link" 10959 > 10960 Cleansing Water 10961 </a> 10962 </li><li> 10963 <a 10964 href="/collections/intention-kits" 10965 class="link link--text list-menu__item list-menu__item--link" 10966 > 10967 Intension Kits 10968 </a> 10969 </li><li> 10970 <a 10971 href="/collections/magic-spell-candles" 10972 class="link link--text list-menu__item list-menu__item--link" 10973 > 10974 Magic Spell Candles 10975 </a> 10976 </li><li> 10977 <a 10978 href="/collections/bracelets" 10979 class="link link--text list-menu__item list-menu__item--link" 10980 > 10981 Bracelets 10982 </a> 10983 </li><li> 10984 <a 10985 href="/collections/sage" 10986 class="link link--text list-menu__item list-menu__item--link" 10987 > 10988 Cleansing Smudge 10989 </a> 10990 </li></ul></div><div 10991 class="footer-block grid__item footer-block--menu scroll-tr
10991igger animate--slide-in" 10992 10993 10994 data-cascade 10995 style="--animation-order: 2;" 10996 10997 ><h2 class="footer-block__heading inline-richtext">Quick links</h2><ul class="footer-block__details-content list-unstyled footer-inline-menu"><li> 10998 <a 10999 href="/" 11000 class="link link--text list-menu__item list-menu__item--link list-menu__item--active" 11001 > 11002 Home 11003 </a> 11004 </li><li> 11005 <a 11006 href="/blogs/news" 11007 class="link link--text list-menu__item list-menu__item--link" 11008 > 11009 Aroma Blog 11010 </a> 11011 </li><li> 11012 <a 11013 href="/pages/scent-membership-builder" 11014 class="link link--text list-menu__item list-menu__item--link" 11015 > 11016 Scent Membership 11017 </a> 11018 </li><li> 11019 <a 11020 href="/pages/rewards" 11021 class="link link--text list-menu__item list-menu__item--link" 11022 > 11023 Rewards 11024 </a> 11025 </li><li> 11026 <a 11027 href="https://aromaparadise.com/pages/contact?view=contact-v7" 11028 class="link link--text list-menu__item list-menu__item--link" 11029 > 11030 Contact 11031 </a> 11032 </li><li> 11033 <a 11034 href="/pages/waterless-diffuser-manuals" 11035 class="link link--text list-menu__item list-menu__item--link" 11036 > 11037 Diffuser Manuals 11038 </a> 11039 </li><li> 11040 <a 11041 href="/pages/about-us" 11042 class="link link--text list-menu__item list-menu__item--link" 11043 > 11044 About Us 11045 </a> 11046 </li><li> 11047 <a 11048 href="/policies/privacy-policy" 11049 class="link link--text list-menu__item list-menu__item--link" 11050 > 11051 Privacy Policy 11052 </a> 11053 </li><li> 11054 <a 11055 href="/policies/refund-policy" 11056 class="link link--text list-menu__item list-menu__item--link" 11057 > 11058 Refund Policy 11059 </a> 11060 </li><li> 11061 <a 11062 href="/policies/shipping-policy" 11063 class="link link--text list-menu__item list-menu__item--link" 11064 > 11065 Shipping Policy 11066 </a> 11067 </li><li> 11068 <a 11069 href="/policies/terms-of-service" 11070 class="link link--text list-menu__item list-menu__item--link" 11071 > 11072 Terms of Service 11073 </a> 11074 </li><li> 11075 <a 11076 href="https://shopify.com/65846444213/account/profile?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmOWY1ZTEtMTQubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkyMDE3ODU2LCJuYmYiOjE3OTE0MTMwNTZ9.8uXrlC9_aIV1FD4gCc_uFT6LIGBEkvVZ8qTcC87-UYQ" 11077 class="link link--text list-menu__item list-menu__item--link" 11078 > 11079 Account 11080 </a> 11081 </li><li> 11082 <a 11083 href="https://aromaparadise.com/apps/redo/returns-portal/login?next=/returns-portal/orders/{orderId}/track" 11084 class="link link--text list-menu__item list-menu__item--link" 11085 > 11086 Order Tracking 11087 </a> 11088 </li></ul></div><div
11089 class="footer-block grid__item scroll-trigger animate--slide-in" 11090 11091 11092 data-cascade 11093 style="--animation-order: 3;" 11094 11095 ><div class="footer-block__brand-info"><h2 class="footer-block__heading rte"><strong>About Aroma Paradise</strong></h2><div class="rte"><p>Aroma Paradise is a trusted name in home fragrance with <strong>5 retail locations across multiple states</strong> and <strong>50,000+ happy customers</strong>. We specialize in hotel-inspired, perfume-inspired, and nature-inspired fragrance oils, essential oil diffusers, incense, and wellness products â all fragrances made in the USA. Every product is phthalate-free, toxin-free, cruelty-free, and safe for homes with kids and pets.</p></div></div></div></div><div 11096 class="footer-block--newsletter scroll-trigger animate--slide-in" 11097 11098 data-cascade 11099 11100 > 11101 11102<ul class="list-unstyled list-social footer__list-social" role="list"><li class="list-social__item"> 11103 <a href="https://www.facebook.com/p/Aroma-Paradise-61570388635845/" class="link list-social__link"> 11104 <span class="svg-wrapper"><svg class="icon icon-facebook" viewBox="0 0 20 20"><path fill="currentColor" d="M18 10.049C18 5.603 14.419 2 10 2s-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951"/></svg> 11105</span> 11106 <span class="visually-hidden">Facebook</span> 11107 </a> 11108 </li><li class="list-social__item"> 11109 <a href="https://www.instagram.com/aromaparadise_official" class="link list-social__link"> 11110 <span class="svg-wrapper"><svg class="icon icon-instagram" viewBox="0 0 20 20"><path fill="currentColor" fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.4 2.4 0 0 0-.912.593 2.5 2.5 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23s.01 2.39.046 3.229c.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046s2.39-.01 3.23-.046c.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23s-.01-2.39-.055-3.229c-.027-.784-.164-1.204-.274-1.495a2.4 2.4 0 0 0-.593-.913 2.6 2.6 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045a63 63 0 0 1 3.302.045c.664.014 1.321.14 1.943.374a4 4 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.9 3.9 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.15 4.15 0 0 1-1.414-.922 4.1 4.1 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.4 4.4 0 0 1 .92-1.414 4.2 4.2 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805m1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93m5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355" clip-rule="evenodd"/></svg> 11111</span> 11112 <span class="visually-hidden">Instagram</span> 11113 </a> 11114 </li></ul> 11115</div> 11116 </div><div 11117 class="footer__content-bottom scroll-trigger animate--slide-in" 11118 11119 data-cascade 11120 11121 > 11122 <div class="footer__content-bottom-wrapper page-width"> 11123 <div class="footer__column footer__localization isolate"><localization-form><form method="post" action="/localization" id="FooterCountryForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div> 11124 <div class="caption-large text-body" id="FooterCountryLabel">Country/region</div> 11125 11126<div class="disclosure"> 11127 <button 11128 type="button" 11129 class="disclosure__button localization-form__select localization-selector link link--text caption-large" 11130 aria-expanded="false" 11131 aria-controls="FooterCountry-country-results" 11132 aria-describedby="FooterCountryLabel" 11133 > 11134 <span>United States | 11135 USD
11136 $</span> 11137 <svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 11138 11139 </button> 11140 <div class="disclosure__list-wrapper country-selector" hidden> 11141 <div class="country-filter country-filter--no-padding"> 11142 11143 <button 11144 class="country-selector__close-button button--small link" 11145 type="button" 11146 aria-label="Close" 11147 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 11148</button> 11149 </div> 11150 <div id="sr-country-search-results" class="visually-hidden" aria-live="polite"></div> 11151 <div 11152 class="disclosure__list country-selector__list country-selector__list--with-multiple-currencies" 11153 id="FooterCountry-country-results" 11154 > 11155 11156 <ul role="list" class="list-unstyled countries"><li class="disclosure__item" tabindex="-1"> 11157 <a 11158 class="link link--text disclosure__link caption-large focus-inset" 11159 href="#" 11160 11161 data-value="CA" 11162 id="Canada" 11163 > 11164 <span 11165 11166 class="visibility-hidden" 11167 11168 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 11169</span> 11170 <span class="country">Canada</span> 11171 <span class="localization-form__currency motion-reduce"> 11172 CAD 11173 $</span> 11174 </a> 11175 </li><li class="disclosure__item" tabindex="-1"> 11176 <a 11177 class="link link--text disclosure__link caption-large focus-inset" 11178 href="#" 11179 11180 aria-current="true" 11181 11182 data-value="US" 11183 id="United States" 11184 > 11185 <span 11186 11187 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 11188</span> 11189 <span class="country">United States</span> 11190 <span class="localization-form__currency motion-reduce"> 11191 USD 11192 $</span> 11193 </a> 11194 </li></ul> 11195 </div> 11196 </div> 11197 <div class="country-selector__overlay"></div> 11198</div> 11199<input type="hidden" name="country_code" value="US"> 11200</div></form></localization-form><localization-form><form method="post" action="/localization" id="FooterLanguageForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div> 11201 <div class="caption-large text-body" id="FooterLanguageLabel"> 11202 Language 11203 </div><div class="disclosure"> 11204 <button 11205 type="button" 11206 class="disclosure__button localization-form__select localization-selector link link--text caption-large" 11207 aria-expanded="false" 11208 aria-controls="FooterLanguageList" 11209 aria-describedby="FooterLanguageLabel" 11210 > 11211 <span>English</span> 11212 <svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 11213 11214 </button> 11215 <div class="disclosure__list-wrapper language-selector" hidden> 11216 <ul id="FooterLanguageList" role="list" class="disclosure__list list-unstyled"><li class="disclosure__item" tabindex="-1"> 11217 <a 11218 class="link link--text disclosure__link caption-large focus-inset" 11219 href="#" 11220 hreflang="en" 11221 lang="en" 11222 11223 aria-current="true" 11224 11225 data-value="en" 11226 >
11227 <span 11228 11229 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 11230</span> 11231 <span> 11232 English 11233 </span> 11234 </a> 11235 </li><li class="disclosure__item" tabindex="-1"> 11236 <a 11237 class="link link--text disclosure__link caption-large focus-inset" 11238 href="#" 11239 hreflang="es" 11240 lang="es" 11241 11242 data-value="es" 11243 > 11244 <span 11245 11246 class="visibility-hidden" 11247 11248 ><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 11249</span> 11250 <span> 11251 Español 11252 </span> 11253 </a> 11254 </li></ul> 11255 </div> 11256</div> 11257<input type="hidden" name="locale_code" value="en"> 11258</div></form></localization-form></div> 11259 <div class="footer__column footer__column--info"></div> 11260 </div> 11261 <div class="footer__content-bottom-wrapper page-width"> 11262 <div class="footer__copyright caption"> 11263 <small class="copyright__content" 11264 >© 2026, <a href="/" title="">Aroma Paradise </a></small> 11265 <small class="copyright__content"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a></small> 11266 <small class="copyright__content ap-verified-domains"> 11267 Verified domain: 11268 <a href="https://aromaparadise.com/" rel="canonical noopener" style="font-weight:600;text-decoration:underline">aromaparadise.com</a> 11269 · this is our only official storefront. 11270 </small></div> 11271 </div> 11272 </div> 11273</footer> 11274 11275 11276</div> 11277<!-- END sections: footer-group --><ul hidden> 11278 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 11279 <li id="a11y-new-window-message">Opens in a new window.</li> 11280 </ul> 11281 11282
11282<script> 11283 window.shopUrl = 'https://aromaparadise.com'; 11284 window.routes = { 11285 cart_add_url: '/cart/add', 11286 cart_change_url: '/cart/change', 11287 cart_update_url: '/cart/update', 11288 cart_url: '/cart', 11289 predictive_search_url: '/search/suggest', 11290 }; 11291 11292 window.cartStrings = { 11293 error: `There was an error while updating your cart. Please try again.`, 11294 quantityError: `You can only add [quantity] of this item to your cart.`, 11295 }; 11296 11297 window.variantStrings = { 11298 addToCart: `Add to cart`, 11299 soldOut: `Sold out`, 11300 unavailable: `Unavailable`, 11301 unavailable_with_option: `[value] - Unavailable`, 11302 }; 11303 11304 window.quickOrderListStrings = { 11305 itemsAdded: `[quantity] items added`, 11306 itemAdded: `[quantity] item added`, 11307 itemsRemoved: `[quantity] items removed`, 11308 itemRemoved: `[quantity] item removed`, 11309 viewCart: `View cart`, 11310 each: `[money]/ea`, 11311 min_error: `This item has a minimum of [min]`, 11312 max_error: `This item has a maximum of [max]`, 11313 step_error: `You can only add this item in increments of [step]`, 11314 }; 11315 11316 window.accessibilityStrings = { 11317 imageAvailable: `Image [index] is now available in gallery view`, 11318 shareSuccess: `Link copied to clipboard`, 11319 pauseSlideshow: `Pause slideshow`, 11320 playSlideshow: `Play slideshow`, 11321 recipientFormExpanded: `Gift card recipient form expanded`, 11322 recipientFormCollapsed: `Gift card recipient form collapsed`, 11323 countrySelectorSearchCount: `[count] countries/regions found`, 11324 }; 11325 </script>
11325<script src="//aromaparadise.com/cdn/shop/t/68/assets/cart-drawer.js?v=52619990167294789591789765629" defer="defer"></script>
11325<script src="//aromaparadise.com/cdn/shop/t/68/assets/ap-cart-drawer-v26.js?v=169367877749256843471791391771" defer="defer"></script>
11325<script id="gspfProduct" type="template/html"> 11326 {%- assign swatch_options = '' | downcase | split: "~~" | uniq -%} 11327 {%- assign image_options = '' | downcase | split: "~~" | uniq -%} 11328 11329 {%- assign text_options = 'Size~~starter kit~~abalone shell~~pack~~style' | downcase | split: "~~" | uniq -%} 11330 {%- assign collection_handel = '' -%} 11331 11332 {%- assign image_size = '200x200' -%} 11333 {%- assign no_image = 'https://cdn.shopify.com/s/images/themes/product-1.png' -%} 11334 11335 {%- assign featured_image = product.featured_image -%} 11336 {%- assign product_price = product.price -%} 11337 {%- assign product_compare_at_price = product.compare_at_price -%} 11338 {%- assign selected_or_first_available_variant = product.selected_or_first_available_variant -%} 11339 {%- assign variant_url = '' -%} 11340 {%- if product.selected_or_first_available_variant -%} 11341 {%- assign variant_url = '?variant=' | append: product.selected_or_first_available_variant.id -%} 11342 {%- endif -%} 11343 {% if product.selected_variant %} 11344 {% assign selected_or_first_available_variant = product.selected_variant %} 11345 {% assign product_price = selected_or_first_available_variant.price %} 11346 {% assign product_compare_at_price = selected_or_first_available_variant.compare_at_price %} 11347 {% if selected_or_first_available_variant.image %} 11348 {% assign featured_image = selected_or_first_available_variant.image %} 11349 {% endif %} 11350 {% endif %} 11351 11352 {% assign product_price = selected_or_first_available_variant.price %} 11353 {% assign product_compare_at_price = selected_or_first_available_variant.compare_at_price %} 11354 11355 {%- assign images_count = product.images | size -%} 11356<div {% if showPageData %} data-page="{{page}}"{% endif %} class="spf-col-xl-3 spf-col-lg-4 spf-col-md-6 spf-col-sm-6 spf-col-6 {{ collection_handel }} {{product_compare_at_price }} {{ product_price }}"> 11357 <div class="spf-product-card spf-product-card__center spf-product-card__template-1{% unless product.available %} spf-soldout{% endunless %}"> 11358 <div class="spf-product-card__inner"> 11359<div class="th_wl_col_btn" data-product_id="{{ product.id }}" data-variant_id="{{ product.selected_or_first_available_variant.id }}"></div> 11360 11361{%- unless product.available -%} 11362 <span translatable class="spf-product__label spf-product__label-soldout">{{translation.product.sold_out | default: "Sold out"}}</span> 11363 {% elsif product_compare_at_price > product_price %} 11364 <span translatable class="spf-product__label spf-product__label-sale sale-text"> 11365 {{translation.product.sale | default: "Sale"}} 11366</span> 11367{%- endunless -%} 11368 11369 11370 11371 11372 11373 <a class="spf-product-card__image-wrapper" href="{{root_url}}{{ product.url }}{{variant_url}}" style="padding-top:100%;"> 11374 {%- if images_count > 0 -%} 11375 {%- for image in product.images -%} 11376 <img 11377 data-variants="{% if image.variant_ids %}{{image.variant_ids | join: ','}}{% endif %}" 11378 class="gflazyload spf-product-card__image spf-product-card__image-{% if featured_image.id == image.id %}main{% elsif image.id == product.second_image.id %}secondary{% else %}hidden{% endif %}" 11379 srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 11380 src="{{image.src | img_url: image_size}}" 11381 data-src="{{image.src | img_lazyload_url}}" 11382 data-sizes="auto" 11383 data-aspectratio="{{image.aspect_ratio}}" 11384 data-parent-fit="contain" 11385 alt="{{image.alt | escape}}" 11386 /> 11387 {%- endfor -%} 11388 {%- else -%} 11389 <img data-variants="" class="gflazyload spf-product-card__image spf-product-card__image-main" src="{{no_image}}" alt="{{product.title | escape}}"> 11390 {%- endif -%} 11391 </a> 11392 <form class="spf-product__form" action="{{ root_url }}/cart/add" method="post"> 11393 <select name="id" class="spf-product__variants"> 11394 {%- for variant in product.variants -%} 11395 <option data-option1="{{variant.option1 | escape}}" data-option2="{{variant.option2 | escape}}" data-option3="{{variant.option3 | escape}}" data-price="{{variant.price}}" data-compare_at_price="{{variant.compare_at_price}}" data-available="{{variant.available}}" data-image="{% if variant.image.src %}{{variant.image.src | img_url: image_size }}{% endif %}" {% if variant.id == selected_or_first_available_variant.id %} selected="selected" {% endif %} value="{{ variant.id }}">{{ variant.title }}</option> 11396 {%- endfor -%} 11397 </select> 11398 <button translatable {% unless product.available %}disabled{% endunless %} type="submit" class="spf-product__form-btn-addtocart" data-available="{{translation.product.add_to_cart | default: "Add to cart"}}" data-soldout="{{translation.product.sold_out | default: "Sold out"}}" data-unavailable="{{translation.product.unavailable | default: "Unavailable"}}"><span>{% if product.available %}{{translation.product.add_to_cart | default: "Add to cart"}}{% else %}{{translation.product.sold_out | default: "Sold out"}}{% endif %}</span></button> 11399 </form> 11400 </div> 11401 11402 11403 <div class="pf-product__swatchs_product"> 11404 {%- for option in product.options -%} 11405 {%- assign optionIndex = 'option' | append: forloop.index -%} 11406 {%- assign optionIndexNumber = forloop.index -%} 11407 {%- if option.isSwatch -%} 11408 <div class="spf-product__swatchs"> 11409 {%- for value in option.values -%} 11410 {%- assign swatch = option.swatches[forloop.index0] -%}
11411 <span data-option="{{optionIndexNumber}}" data-option-value="{{value | escape}}" class="spf-product__swatch{% if product.selected_or_first_available_variant and product.selected_or_first_available_variant[optionIndex] == value %} is-selected{% endif %}{% unless swatch.available %} soldout{% endunless %}" title="{{value | escape}}"> 11412 <span translatable class="spf-product__swatch-inner"> 11413 {%- if swatch.mode == 4 and swatch.image -%} 11414 <span class="spf-product__swatch-image" style="background-image: url('{{ swatch.image | img_url: '24x' }}')"></span> 11415 {%- elsif swatch.mode == 3 and swatch.image -%} 11416 <span class="spf-product__swatch-image" style="background-image: url('{{ swatch.image }}')"></span> 11417 {%- elsif swatch.mode == 2 and swatch.color_1 and swatch.color_2 -%} 11418 <span class="spf-product__swatch-color" style="background-color: {{ swatch.color_1 }}"></span> 11419 <span class="spf-product__swatch-color" style="border-right-color: {{ swatch.color_2 }}"></span> 11420 {%- elsif swatch.mode == 1 and swatch.color_1 -%} 11421 <span class="spf-product__swatch-color" style="background-color: {{ swatch.color_1 }}"></span> 11422 {%- elsif swatch.lable -%} 11423 <span class="spf-product__swatch-text">{{swatch.lable}}</span> 11424 {%- else -%} 11425 <span class="spf-product__swatch-text">{{value}}</span> 11426 {%- endif -%} 11427 </span> 11428 </span> 11429 {%- endfor -%} 11430 </div> 11431 {%- endif -%} 11432 {%- endfor -%} 11433 </div> 11434 11435 11436 11437 11438 11439 11440 <div class="spf-product__info"> <div class="h4 spf-product-card__title"> 11441 <a translatable href="{{root_url}}{{ product.url }}{{variant_url}}">{{product.title}}</a> 11442 </div> 11443<div class="jdgm-widget jdgm-preview-badge" data-id="{{ product.id }}" data-template="manual-installation" data-auto-install="false">{{product.metafields.judgeme.badge}} 11444{% if product.metafields.reviews.rating %} 11445<span class="jdgm-prev-badge__text">{{ product.metafields.reviews.rating }} ({{ product.metafields.reviews.rating_count }} Reviews)</span> 11446{% endif %} 11447</div> 11448 <div class="spf-product-card__price-wrapper"> 11449 {%- if product_compare_at_price > product_price -%} 11450 <span class="spf-product-card__oldprice{% unless currencyFormat contains 'money' %} money{% endunless %}">{{ product_compare_at_price | money }}</span> 11451 <span class="spf-product-card__saleprice{% unless currencyFormat contains 'money' %} money{% endunless %}">{{ product_price | money }}</span> 11452 {%- else -%} 11453 <span class="spf-product-card__price{% unless currencyFormat contains 'money' %} money{% endunless %}">{{ product_price | money }}</span> 11454 {%- endif -%} 11455 </div> 11456 </div> 11457 </div> 11458</div> 11459 </script>
11459<script> 11460if(typeof Elspw !== 'undefined'){ 11461 Elspw.onConfigLoaded = function(config){ 11462 config.set('checkout','[name="checkout"], [data-target="checkout-buttons-container"] button[type="button"]'); 11463 } 11464} 11465</script>
vendor: 1 bytes, line 11465
11465
11466<script id="ap-bundle-cleanup" data-noptimize> 11467(function(){ 11468 if (window.__apBundleCleanup) return; 11469 window.__apBundleCleanup = true; 11470 11471 const DELETE_API = 'https://ap-bundle-discount.damp-leaf-8319.workers.dev/delete-product'; 11472 let prevIds = new Set(); 11473 11474 async function check(){ 11475 let cart; 11476 try { 11477 cart = await fetch('/cart.js', { headers: { 'Accept': 'application/json' } }).then(r => r.json()); 11478 } catch (_){ return; } 11479 11480 const currentIds = new Set(); 11481 (cart.items || []).forEach(it => { 11482 const id = it.properties && it.properties._snapshot_product_id; 11483 if (id) currentIds.add(String(id)); 11484 }); 11485 11486 // Anything that was in prev but isn't in current was just removed. 11487 for (const id of prevIds){ 11488 if (!currentIds.has(id)){ 11489 fetch(DELETE_API, { 11490 method: 'POST', 11491 headers: { 'Content-Type': 'application/json' }, 11492 body: JSON.stringify({ product_id: id }), 11493 }).catch(() => {}); 11494 } 11495 } 11496 prevIds = currentIds; 11497 } 11498 11499 // Listen for any cart-related event the theme/apps fire 11500 ['UPEZ__REMOVED_ITEM','UPEZ__CART_UPDATED','UPEZ__CART_REFETCHED_AFTER_CHANGE', 11501 'cart:item-removed','cart:updated','cart:refresh'] 11502 .forEach(evt => document.addEventListener(evt, () => setTimeout(check, 250))); 11503 11504 // Intercept fetch to /cart/(change|update|clear) so any cart mutation 11505 // triggers a check. 11506 const origFetch = window.fetch; 11507 if (origFetch){ 11508 window.fetch = function(input, init){ 11509 const url = (typeof input === 'string' ? input : (input && input.url) || '').toString(); 11510 const result = origFetch.apply(this, arguments); 11511 if (/\/cart\/(change|update|clear)(\.js)?(\?|$)/.test(url)){ 11512 result.then(() => setTimeout(check, 300)).catch(() => {}); 11513 } 11514 return result; 11515 }; 11516 } 11517 11518 // Initial seed of the previous-state set 11519 setTimeout(check, 800); 11520})(); 11521</script>
11521 11522
11523<script> 11524 (function() { 11525 var script = document.createElement('script'); 11526 script.id = 'minty-onsite-script'; 11527 script.src = 'https://cdn.addshoppers.com/minty/shopify-onsite/executeminty.js'; 11528 script.async = true; 11529 script.defer = true; 11530 document.head.appendChild(script); 11531 })(); 11532 </script>
11532<script src="https://analytics.aromaparadise.com/live/ap-offers.js" async defer></script>
11532 11533
11533<script> 11534(function(){ 11535 if (window.__APE_WIRED_V11__) return; 11536 window.__APE_WIRED_V11__ = true; 11537 11538 function isLikelyAutomation(){ 11539 try { 11540 if (navigator.webdriver === true) return true; 11541 return /(bot|crawler|spider|headlesschrome|chrome-lighthouse|lighthouse|pagespeed|google-inspectiontool|puppeteer|playwright|phantomjs)/i.test(navigator.userAgent || ''); 11542 } catch(e){ return false; } 11543 } 11544 if (isLikelyAutomation()) return; 11545 11546 function vu(){ return window.__ap_visitor || ''; } 11547 11548 // ---- Direct-emit wrapper around window.__APEvent ------------------------ 11549 // Storefront custom events (add_to_cart, quick_add_clicked, cart_changed, 11550 // product_viewed, search_submitted, etc.) normally go through the OR 11551 // tracker queue and arrive in customs 30-90s later (batched flush). 11552 // This wrapper ALSO fires a sendBeacon to /live/storefront_event so each 11553 // event lands in customs in ~50ms â matching the Final Cart's update 11554 // speed. The OR-routed copy still arrives later but is collapsed by the 11555 // dashboard's (name, ts_sec) dedup. 11556 // Skipped: ap_link (bridge metadata, handled by /live/link). 11557 (function wrapAPEvent(){ 11558 if (window.__APEventWrapped__) return; 11559 var orig = window.__APEvent; 11560 if (typeof orig !== 'function') { 11561 // theme.liquid hasn't defined __APEvent yet â re-try shortly. 11562 setTimeout(wrapAPEvent, 200); 11563 return; 11564 } 11565 window.__APEventWrapped__ = true; 11566 // SKIP: events for which the OR-tracker path is sufficient â no Final Cart 11567 // tile / live UI needs them in <100ms. Skipping the direct beacon halves 11568 // their DB row count + network. Dedup was masking this â top_collapsed_names 11569 // in /api/_admin/dedup_health showed bundle_step/oil_picked/diffuser_picked, 11570 // scroll_depth, scroll_to_bottom, reviews_in_view, etc. all double-emitting 11571 // for no UI benefit (2026-05-20 audit). 11572 // Keep dual-emit for: ATC family, cart_changed, cart_item_removed, variant 11573 // pickers, email_captured, checkout/order events â anything the dashboard 11574 // tile or offer engine reads in real time. 11575 var SKIP = { 11576 'ap_link': 1, 11577 // Bundle builder analytics â fire once via OR, no real-time consumer 11578 'bundle_step': 1, 'bundle_oil_picked': 1, 'bundle_diffuser_picked': 1, 11579 'bundle_atc_clicked': 1, 11580 // Scroll/dwell analytics â no real-time consumer 11581 'scroll_depth': 1, 'scroll_to_bottom': 1, 11582 // Tab visibility â analytics-only 11583 'tab_away': 1, 'tab_hidden': 1, 'tab_visible': 1, 11584 // Content engagement â analytics-only 11585 'reviews_in_view': 1, 'review_show_more': 1, 'copy_event': 1, 11586 'email_focused': 1, 'product_detail_opened': 1, 11587 // Search/announcement â analytics-only 11588 'sticky_bar_click': 1, 11589 // Modal lifecycle â analytics-only 11590 'upsell_modal_opened': 1, 'upsell_modal_closed': 1, 11591 // Exit intent â terminal event, no real-time consumer 11592 'exit_intent': 1, 11593 }; 11594 var DIRECT_URL = 'https://analytics.aromaparadise.com/live/storefront_event'; 11595 window.__APEvent = function(name, payload){ 11596 // OR path (unchanged â eventually consistent) 11597 try { orig(name, payload); } catch(e){} 11598 // Direct path (fast â ~50ms) 11599 try { 11600 if (SKIP[name]) return; 11601 var visitor_uuid = (payload && payload.visitor_uuid) || window.__ap_visitor || ''; 11602 if (!visitor_uuid) return; 11603 var body = JSON.stringify(Object.assign({ 11604 name: name, 11605 ts: Date.now(), 11606 visitor_uuid: visitor_uuid 11607 }, payload || {})); 11608 if (navigator && typeof navigator.sendBeacon === 'function') { 11609 var blob = new Blob([body], { type: 'text/plain;charset=UTF-8' }); 11610 if (navigator.sendBeacon(DIRECT_URL, blob)) return; 11611 } 11612 if (typeof fetch === 'function') { 11613 fetch(DIRECT_URL, { 11614 method: 'POST', body: body, keepalive: true, 11615 headers: { 'Content-Type': 'text/plain;charset=UTF-8' } 11616 }).catch(function(){}); 11617 } 11618 } catch(e){} 11619 }; 11620 })(); 11621 11622 function emit(name, payload){ 11623 try { 11624 if (typeof window.__APEvent !== 'function') return; 11625 var p = Object.assign({ visitor_uuid: vu() }, payload || {}); 11626 window.__APEvent(name, p); 11627 } catch(e){ /* never throw */ } 11628 } 11629 11630 // ---- 1. tab_away --------------------------------------------------------- 11631 // iOS Safari fires hidden/visible pairs for non-tab-switch events: keyboard 11632 // pop, URL-bar tap, in-app browser swipe gestures, media-notification 11633 // interrupts. These flood the timeline with 4-6s "tab away" rows that are 11634 // not real intent signal. Floor the emit at 2s to suppress that noise. 11635 var awayAt = 0; 11636 document.addEventListener('visibilitychange', function(){ 11637 if (document.visibilityState === 'hidden') awayAt = Date.now(); 11638 else if (document.visibilityState === 'visible' && awayAt) { 11639 var awayMs = Date.now() - awayAt; 11640 awayAt = 0; 11641 if (awayMs < 2000) return; 11642 emit('tab_away', { away_ms: awayMs, returned: true }); 11643 } 11644 }, { passive: true }); 11645 11646 // ---- 2. reviews_in_view -------------------------------------------------- 11647 try {
11648 var rvx = document.querySelector('#ap-rvx, .ap-rvx'); 11649 if (rvx && 'IntersectionObserver' in window) { 11650 var fired = false; 11651 var io = new IntersectionObserver(function(entries){ 11652 entries.forEach(function(e){ 11653 if (e.isIntersecting && !fired) { 11654 fired = true; 11655 emit('reviews_in_view', { product_handle: rvx.getAttribute('data-jm-product-handle') || '' }); 11656 io.disconnect(); 11657 } 11658 }); 11659 }, { threshold: 0.4 }); 11660 io.observe(rvx); 11661 } 11662 } catch(e){} 11663 11664 // ---- 3. email_focused ---------------------------------------------------- 11665 var emailFired = false; 11666 document.addEventListener('focusin', function(ev){ 11667 if (emailFired) return; 11668 var t = ev.target; 11669 if (!t || t.tagName !== 'INPUT') return; 11670 if ((t.type || '').toLowerCase() !== 'email' && 11671 !/email/i.test(t.name || '') && 11672 !/email/i.test(t.id || '')) return; 11673 emailFired = true; 11674 var kind = 'other'; 11675 var inForm = t.closest && t.closest('form'); 11676 if (inForm) { 11677 var action = (inForm.getAttribute('action') || '').toLowerCase(); 11678 var formId = (inForm.id || '').toLowerCase(); 11679 if (/newsletter|signup|footer/.test(action) || /newsletter|signup|footer/.test(formId)) kind = 'newsletter'; 11680 else if (/checkout|customer/.test(action) || /checkout|customer/.test(formId)) kind = 'checkout'; 11681 } 11682 emit('email_focused', { input_kind: kind }); 11683 }, { passive: true }); 11684 11685 // ---- 4. scroll_to_bottom ------------------------------------------------- 11686 var scrollFired = false; 11687 function onScroll(){ 11688 if (scrollFired) return; 11689 var de = document.documentElement; 11690 var scrolled = (window.scrollY || de.scrollTop) + window.innerHeight; 11691 var total = Math.max(de.scrollHeight, document.body.scrollHeight); 11692 if (total <= 0) return; 11693 if (scrolled / total >= 0.95) { 11694 scrollFired = true; 11695 emit('scroll_to_bottom', { page_path: location.pathname }); 11696 window.removeEventListener('scroll', onScroll); 11697 } 11698 } 11699 window.addEventListener('scroll', onScroll, { passive: true }); 11700 11701 // ---- 5. copy_event ------------------------------------------------------- 11702 document.addEventListener('copy', function(){ 11703 try { 11704 var sel = window.getSelection && window.getSelection().toString(); 11705 var len = sel ? sel.length : 0; 11706 if (len >= 5) emit('copy_event', { sel_len: len, page_path: location.pathname }); 11707 } catch(e){} 11708 }, { passive: true }); 11709 11710 // ---- 6. Cart-Visitor Bridge ---------------------------------------------- 11711 // Two tokens are at play in Shopify: 11712 // 1. The `cart` cookie value (cart_id?key=â¦) used by the Storefront API. 11713 // 2. The cart `.token` from /cart.js â a 32-hex hash â which IS what 11714 // the Shopify Web Pixel emits in event.data.cart.token. 11715 // We need #2 for the bridge so Web Pixel checkout_started / add_to_cart 11716 // events can be joined back to the visitor. 11717 (function bridgeCart(){ 11718 var BRIDGE_URL = 'https://analytics.aromaparadise.com/live/cart_link'; 11719 var ATTR_KEY = '_ap_vu'; 11720 var sentToken = ''; 11721 var writtenVisitor = ''; 11722 var inFlight = null; 11723 var refreshTimer = 0; 11724 function send(token){ 11725 var visitor_uuid = vu(); 11726 if (!visitor_uuid || !token) return; 11727 try { 11728 var body = JSON.stringify({ 11729 cart_token: token, 11730 visitor_uuid: visitor_uuid, 11731 page_url: location.href, 11732 ts: Date.now() 11733 }); 11734 if (navigator && typeof navigator.sendBeacon === 'function') { 11735 var blob = new Blob([body], { type: 'text/plain;charset=UTF-8' }); 11736 if (navigator.sendBeacon(BRIDGE_URL, blob)) return; 11737 } 11738 if (typeof fetch === 'function') { 11739 fetch(BRIDGE_URL, { 11740 method: 'POST', body: body, keepalive: true, 11741 headers: { 'Content-Type': 'text/plain;charset=UTF-8' } 11742 }).catch(function(){}); 11743 } 11744 } catch(e){} 11745 } 11746 function writeAttribute(visitor_uuid){ 11747 if (!visitor_uuid || visitor_uuid === writtenVisitor) return; 11748 writtenVisitor = visitor_uuid;
11749 try { 11750 var attrs = {}; attrs[ATTR_KEY] = visitor_uuid; 11751 fetch('/cart/update.js', { 11752 method: 'POST', 11753 credentials: 'same-origin', 11754 headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, 11755 body: JSON.stringify({ attributes: attrs }) 11756 }).then(function(r){ 11757 if (!r.ok) writtenVisitor = ''; 11758 }).catch(function(){ writtenVisitor = ''; }); 11759 } catch(e){ writtenVisitor = ''; } 11760 } 11761 function refresh(){ 11762 // Never create an empty cart merely to attach analytics metadata. 11763 // Shopify creates the cart cookie after a real cart mutation. 11764 try { 11765 if (!/(?:^|;\s*)cart=/.test(document.cookie)) return; 11766 } catch(e){ return; } 11767 if (inFlight) return; 11768 try { 11769 inFlight = fetch('/cart.js', { credentials: 'same-origin' }) 11770 .then(function(r){ return r.ok ? r.json() : null; }) 11771 .then(function(c){ 11772 if (!c) return; 11773 var t = c.token || ''; 11774 if (t && t !== sentToken) { 11775 sentToken = t; 11776 writtenVisitor = ''; 11777 send(t); 11778 } 11779 if (t) writeAttribute(vu()); 11780 }) 11781 .catch(function(){}) 11782 .then(function(){ inFlight = null; }); 11783 } catch(e){} 11784 } 11785 function scheduleRefresh(){ 11786 clearTimeout(refreshTimer); 11787 refreshTimer = setTimeout(refresh, 75); 11788 } 11789 window.__APRefreshCartBridge = scheduleRefresh; 11790 addEventListener('pageshow', scheduleRefresh, { passive: true }); 11791 document.addEventListener('visibilitychange', function(){ 11792 if (document.visibilityState === 'visible') scheduleRefresh(); 11793 }, { passive: true }); 11794 refresh(); 11795 })(); 11796 11797 // ---- 8. OpenAI Ads normalized events ------------------------------------- 11798 // OpenAI Ads Manager is configured for items_added and checkout_started. 11799 // Fire those names through the SDK that theme.liquid initializes in <head>. 11800 (function openAIAdsEvents(){ 11801 if (window.__apOpenAIEventsInstalled) return; 11802 window.__apOpenAIEventsInstalled = true; 11803 11804 function cents(value) { 11805 var amount = Number(value || 0); 11806 return amount > 0 ? Math.round(amount) : 0; 11807 } 11808 11809 function measure(name, data) { 11810 if (typeof window.oaiq !== 'function') return; 11811 window.oaiq('measure', name, data); 11812 } 11813 11814 function directMeasure(name, data) { 11815 var body = JSON.stringify({ 11816 events: [{ 11817 type: name, 11818 timestamp_ms: Date.now(), 11819 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : String(Date.now()) + Math.random(), 11820 source_url: window.location.origin, 11821 data: data 11822 }] 11823 }); 11824 var url = 'https://bzr.openai.com/v1/sdk/events?pid=BesSDwuZYcJ6jvgVZ9RX9K&st=oaiq-web&sv=0.1.6&t=' + Date.now() + '&ec=1'; 11825 if (navigator.sendBeacon && navigator.sendBeacon(url, new Blob([body], { type: 'text/plain' }
11825))) return; 11826 if (window.fetch) { 11827 fetch(url, { 11828 method: 'POST', 11829 body: body, 11830 keepalive: true, 11831 headers: { 'Content-Type': 'text/plain' } 11832 }).catch(function(){}); 11833 } 11834 } 11835 11836 function itemContent(item) { 11837 return { 11838 id: String(item.variant_id || item.id || item.product_id || ''), 11839 name: item.product_title || item.title || '', 11840 content_type: 'product', 11841 quantity: Number(item.quantity || 1), 11842 amount: cents(item.price), 11843 currency: 'USD' 11844 }; 11845 } 11846 11847 function measureItemsAdded(item) { 11848 var content = itemContent(item || {}); 11849 measure('items_added', { 11850 type: 'contents', 11851 amount: cents((item && item.line_price) || ((item && item.price) || 0) * (content.quantity || 1)), 11852 currency: 'USD', 11853 contents: [content] 11854 }); 11855 } 11856 11857 function measureCheckoutStarted() { 11858 if (window.__apOpenAICheckoutStartedSent) return; 11859 window.__apOpenAICheckoutStartedSent = true; 11860 directMeasure('checkout_started', { 11861 type: 'contents', 11862 amount: 0, 11863 currency: 'USD', 11864 contents: [] 11865 }); 11866 fetch('/cart.js', { credentials: 'same-origin' }) 11867 .then(function(response){ return response.ok ? response.json() : null; }) 11868 .then(function(cart){ 11869 var items = cart && cart.items ? cart.items : []; 11870 measure('checkout_started', { 11871 type: 'contents', 11872 amount: cents(cart && cart.total_price), 11873 currency: (cart && cart.currency) || 'USD', 11874 contents: items.map(itemContent) 11875 }); 11876 }) 11877 .catch(function(){ 11878 measure('checkout_started', { 11879 type: 'contents', 11880 amount: 0, 11881 currency: 'USD', 11882 contents: [] 11883 }); 11884 }); 11885 } 11886 11887 if (window.fetch) { 11888 var nativeFetch = window.fetch; 11889 window.fetch = function(input, init) { 11890 var url = typeof input === 'string' ? input : input && input.url; 11891 var result = nativeFetch.apply(this, arguments); 11892 if (url && /\/cart\/(add|change|update|clear)(?:\.js)?(?:[?#]|$)/.test(url)) { 11893 result.then(function(response) { 11894 if (!response.ok) return; 11895 if (url.indexOf('/cart/add') !== -1) { 11896 response.clone().json().then(measureItemsAdded).catch(function(){}); 11897 } 11898 if (typeof window.__APRefreshCartBridge === 'function') { 11899 window.__APRefreshCartBridge(); 11900 } 11901 }).catch(function(){}); 11902 } 11903 return result; 11904 }; 11905 } 11906 11907 document.addEventListener('click', function(event) { 11908 var target = event.target && event.target.closest('button, input, a'); 11909 if (!target) return; 11910 var label = [ 11911 target.getAttribute('name'), 11912 target.getAttribute('href'), 11913 target.getAttribute('aria-label'), 11914 target.value, 11915 target.textContent 11916 ].join(' ').toLowerCase(); 11917 if (label.indexOf('checkout') !== -1) measureCheckoutStarted(); 11918 }, true); 11919 })(); 11920})(); 11921</script>
11921 11922 11923
11923<script src="//aromaparadise.com/cdn/shop/t/68/assets/ap-cro-observer.js?v=87727201191497417581789765565" defer></script>
11923 11924 <style> 11925 .apsub.apsub { 11926 gap: 5px !important; 11927 } 11928 .apsub.apsub .apsub__hero { 11929 background: linear-gradient(90deg, #fffdf8 0%, #fff9ec 56%, #fbefd0 100%) !important; 11930 } 11931 .apsub.apsub .apsub__panel { 11932 padding-bottom: 8px !important; 11933 } 11934 .apsub.apsub .apsub__ribbon { 11935 position: absolute !important; 11936 left: 0 !important; 11937 top: 10px !important; 11938 bottom: 10px !important; 11939 width: 4px !important; 11940 border-radius: 0 10px 10px 0 !important; 11941 background: #b8912e !important; 11942 } 11943 .apsub.apsub .apsub__value { 11944 display: inline-flex !important; 11945 align-items: center !important; 11946 gap: 5px !important; 11947 padding: 0 !important; 11948 border: 0 !important; 11949 background: transparent !important; 11950 color: #71665a !important; 11951 font-size: 10.5px !important; 11952 font-weight: 800 !important; 11953 letter-spacing: 0.05em !important; 11954 line-height: 1.2 !important; 11955 text-transform: uppercase !important; 11956 white-space: nowrap !important; 11957 } 11958 .apsub.apsub .apsub__value svg { 11959 width: 14px !important; 11960 height: 14px !important; 11961 flex: 0 0 14px !important; 11962 color: #71665a !important; 11963 } 11964 .apsub.apsub .apsub__top { 11965 grid-template-columns: 20px minmax(0,1fr) auto !important; 11966 column-gap: 10px !important; 11967 row-gap: 0 !important; 11968 align-items: center !important; 11969 padding: 14px 12px 12px !important; 11970 text-align: left !important; 11971 } 11972 .apsub.apsub .apsub__copy { 11973 align-content: center !important; 11974 justify-items: start !important; 11975 gap: 4px !important; 11976 text-align: left !important; 11977 } 11978 .apsub.apsub .apsub__hero-radio, 11979 .apsub.apsub .apsub__ot-radio { 11980 width: 18px !important; 11981 height: 18px !important; 11982 margin-top: 0 !important; 11983 border-color: #8a8074 !important; 11984 } 11985 .apsub.apsub .apsub__title { 11986 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 11987 font-size: 17px !important; 11988 font-weight: 400 !important; 11989 letter-spacing: 0.005em !important; 11990 line-height: 1.1 !important; 11991 text-align: left !important; 11992 } 11993 .apsub.apsub .apsub__ot-label { 11994 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 11995 font-size: 16px !important; 11996 font-weight: 400 !important; 11997 letter-spacing: 0.005em !important; 11998 line-height: 1.1 !important; 11999 text-align: left !important; 12000 } 12001 .apsub.apsub .apsub__price, 12002 .apsub.apsub .apsub__ot-price { 12003 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12004 font-size: 16px !important; 12005 font-weight: 400 !important; 12006 line-height: 1 !important; 12007 } 12008 .apsub.apsub .apsub__price-old { 12009 font-size: 12px !important; 12010 font-weight: 400 !important; 12011 } 12012 .apsub.apsub .apsub__plan-money strong { 12013 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12014 font-size: 15px !important; 12015 font-weight: 400 !important; 12016 } 12017</style> 12018 12019 <style> 12020 .apsub.apsub { 12021 --apsub-gold: #b8912e !important; 12022 --apsub-gold-soft: #d8b96a !important; 12023 --apsub-gold-faint: #e8d6a8 !important; 12024 --apsub-ink: #1a1a1a !important; 12025 --apsub-muted: #6a6a6a !important; 12026 --apsub-paper: #f9f4f2 !important; 12027 --apsub-cream: #f5ecd2 !important; 12028 --apsub-line: #ebe3df !important; 12029 gap: 5px !important; 12030 margin-bottom: 8px !important; 12031 } 12032 .apsub.apsub .apsub__hero { 12033 border: 1px solid #2c2419 !important; 12034 background: linear-gradient(90deg, #fffdf8 0%, #fff9ec 56%, #fbefd0 100%) !important; 12035 box-shadow: none !important; 12036 } 12037 .apsub.apsub[data-apsub-mode="sub"] .apsub__hero { 12038 border-color: var(--apsub-gold) !important; 12039 background: linear-gradient(90deg, #fffdf8 0%, #fff9ec 56%, #fbefd0 100%) !important; 12040 box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 0 0 2px rgba(184,145,46,0.14) !important; 12041 } 12042 .apsub.apsub .apsub__ribbon { 12043 position: absolute !important; 12044 left: 0 !important; 12045 top: 10px !important; 12046 bottom: 10px !important; 12047 width: 4px !important; 12048 border-radius: 0 10px 10px 0 !important; 12049 background: var(--apsub-gold) !important; 12050 } 12051 .apsub.apsub .apsub__top { 12052 grid-template-columns: 20px minmax(0,1fr) auto !important; 12053 column-gap: 10px !important; 12054 row-gap: 0 !important; 12055 padding: 14px 12px 12px !important;
12056 align-items: center !important; 12057 text-align: left !important; 12058 } 12059 .apsub.apsub .apsub__copy { 12060 align-content: center !important; 12061 justify-items: start !important; 12062 gap: 4px !important; 12063 text-align: left !important; 12064 } 12065 .apsub.apsub .apsub__hero-radio, 12066 .apsub.apsub .apsub__ot-radio { 12067 width: 18px !important; 12068 height: 18px !important; 12069 margin-top: 0 !important; 12070 border-color: #8a8074 !important; 12071 } 12072 .apsub.apsub[data-apsub-mode="sub"] .apsub__hero-radio, 12073 .apsub.apsub .apsub__onetime.is-selected .apsub__ot-radio { 12074 box-shadow: inset 0 0 0 4.5px #fff !important; 12075 } 12076 .apsub.apsub .apsub__title { 12077 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12078 font-size: 17px !important; 12079 font-weight: 400 !important; 12080 letter-spacing: 0.005em !important; 12081 line-height: 1.1 !important; 12082 text-align: left !important; 12083 } 12084 .apsub.apsub .apsub__ot-label { 12085 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12086 font-size: 16px !important; 12087 font-weight: 400 !important; 12088 letter-spacing: 0.005em !important; 12089 line-height: 1.1 !important; 12090 text-align: left !important; 12091 } 12092 .apsub.apsub .apsub__plan-money small { 12093 border: 1px solid rgba(184,145,46,0.42) !important; 12094 border-radius: 3px !important; 12095 background: var(--apsub-cream) !important; 12096 color: #3a2f1a !important; 12097 font-weight: 700 !important; 12098 letter-spacing: 0.14em !important; 12099 } 12100 .apsub.apsub .apsub__value { 12101 display: inline-flex !important; 12102 align-items: center !important; 12103 gap: 5px !important; 12104 padding: 0 !important; 12105 border: 0 !important; 12106 background: transparent !important; 12107 color: #71665a !important; 12108 font-size: 10.5px !important; 12109 font-weight: 800 !important; 12110 letter-spacing: 0.05em !important; 12111 line-height: 1.2 !important; 12112 text-transform: uppercase !important; 12113 white-space: nowrap !important; 12114 text-align: left !important; 12115 } 12116 .apsub.apsub .apsub__value svg { 12117 width: 14px !important; 12118 height: 14px !important; 12119 flex: 0 0 14px !important; 12120 color: #71665a !important; 12121 } 12122 .apsub.apsub .apsub__price-old { 12123 font-size: 12px !important; 12124 font-weight: 400 !important; 12125 } 12126 .apsub.apsub .apsub__price, 12127 .apsub.apsub .apsub__ot-price { 12128 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12129 font-size: 16px !important; 12130 font-weight: 400 !important; 12131 } 12132 .apsub.apsub .apsub__plan-money strong { 12133 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12134 font-size: 15px !important; 12135 font-weight: 400 !important; 12136 } 12137 .apsub.apsub .apsub__plans { 12138 margin: 0 12px 10px !important; 12139 border-radius: 8px !important; 12140 background: var(--apsub-paper) !important; 12141 } 12142 .apsub.apsub .apsub__panel { 12143 padding-bottom: 8px !important; 12144 } 12145 .apsub.apsub .apsub__panel-title { 12146 color: var(--apsub-muted) !important; 12147 font-size: 10.5px !important; 12148 font-weight: 700 !important; 12149 letter-spacing: 0.22em !important; 12150 } 12151 .apsub.apsub .apsub__seg-btn { 12152 min-height: 102px !important; 12153 border: 1px solid #d6c9bd !important; 12154 border-radius: 4px !important; 12155 } 12156 .apsub.apsub .apsub__seg-btn.is-active { 12157 border-color: var(--apsub-gold) !important; 12158 background: #fffaf0 !important; 12159 box-shadow: inset 0 0 0 1px rgba(184,145,46,0.35) !important; 12160 } 12161 .apsub.apsub .apsub__seg-name { 12162 font-family: Prata, var(--font-heading-family), Georgia, "Times New Roman", serif !important; 12163 font-size: 15.5px !important; 12164 font-weight: 400 !important; 12165 line-height: 1.12 !important; 12166 } 12167 .apsub.apsub .apsub__seg-copy small { 12168 font-size: 11px !important; 12169 font-weight: 400 !important; 12170 } 12171 .apsub.apsub .apsub__how { 12172 margin: 0 12px 10px !important; 12173 border: 1px solid #3a2f1a !important; 12174 border-radius: 8px !important; 12175 background: var(--apsub-ink) !important; 12176 box-shadow: inset 3px 0 0 var(--apsub-gold) !important; 12177 color: var(--apsub-cream) !important; 12178 } 12179 .apsub.apsub .apsub__how .apsub__panel-title { 12180 color: var(--apsub-gold-faint) !important; 12181 } 12182 .apsub.apsub .apsub__step { 12183 color: var(--apsub-cream) !important; 12184 font-weight: 700 !important; 12185 } 12186 .apsub.apsub .apsub__step svg { 12187 color: var(--apsub-gold-faint) !important; 12188 } 12189 .apsub.apsub .apsub__label, 12190 .apsub.apsub .apsub__cell { 12191 color: var(--apsub-muted) !important; 12192 font-weight: 700 !important; 12193 } 12194 .apsub.apsub .apsub__onetime { 12195 border: 1px solid #2c2419 !important; 12196 border-radius: 8px !important; 12197 } 12198 .apsub.apsub .apsub__onetime.is-selected { 12199 border-color: var(--apsub-gold) !important; 12200 background: var(--apsub-paper) !important; 12201 box-shadow: inset 0 0 0 1px rgba(184,145,46,0.22) !important; 12202 } 12203 </style>
12204<script> 12205(function(){ 12206 if (window.__APPDPTrackInstalled__) return; 12207 window.__APPDPTrackInstalled__ = true; 12208 12209 function installSubscriptionFinalStyles(){ 12210 if (document.getElementById('ap-subscription-final-polish')) return; 12211 var css = [ 12212 '.apsub.apsub{gap:6px!important;margin-bottom:8px!important;}', 12213 '.apsub.apsub .apsub__hero{background:linear-gradient(90deg,#fffdf8 0%,#fff9ec 56%,#fbefd0 100%)!important;border-color:#2c2419!important;box-shadow:none!important;}', 12214 '.apsub.apsub[data-apsub-mode="sub"] .apsub__hero{border-color:#b8912e!important;background:linear-gradient(90deg,#fffdf8 0%,#fff9ec 56%,#fbefd0 100%)!important;box-shadow:0 0 0 2px rgba(184,145,46,.14)!important;}', 12215 '.apsub.apsub .apsub__panel{padding-bottom:6px!important;}', 12216 '.apsub.apsub .apsub__plans{margin:0 12px 8px!important;padding:10px!important;border:1px solid #e4d8c2!important;border-radius:8px!important;background:#fffdf8!important;}', 12217 '.apsub.apsub .apsub__how{margin:0 12px 8px!important;padding:10px 10px 10px 12px!important;border:1px solid #e4d8c2!important;border-radius:8px!important;background:#f9f4f2!important;box-shadow:inset 3px 0 0 #b8912e!important;color:#3a3126!important;}', 12218 '.apsub.apsub .apsub__how .apsub__panel-title{color:#6f5b2d!important;}', 12219 '.apsub.apsub .apsub__step{color:#3a3126!important;font-weight:700!important;}', 12220 '.apsub.apsub .apsub__step svg{color:#9b7624!important;}', 12221 '.apsub.apsub .apsub__benefits{margin:0 12px!important;padding-top:8px!important;border-top:1px dashed rgba(184,145,46,.36)!important;}', 12222 '.apsub.apsub .apsub__seg-btn{border-radius:6px!important;border-color:#d8cbb8!important;background:#fff!important;box-shadow:none!important;}', 12223 '.apsub.apsub .apsub__seg-btn.is-active{border-color:#b8912e!important;background:#fff8ea!important;box-shadow:inset 0 0 0 1px rgba(184,145,46,.28)!important;}', 12224 '.apsub.apsub .apsub__plan-money small{border:1px solid rgba(184,145,46,.42)!important;border-radius:3px!important;background:#f5ecd2!important;color:#3a2f1a!important;}', 12225 '.apsub.apsub .apsub__cell,.apsub.apsub .apsub__label{color:#6a6258!important;font-weight:700!important;}', 12226 '.apsub.apsub .apsub__glyph{color:#3a2f1a!important;}', 12227 '.apsub.apsub .apsub__value{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:0!important;border:0!important;background:transparent!important;color:#71665a!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.05em!important;line-height:1.2!important;text-transform:uppercase!important;white-space:nowrap!important;}', 12228 '.apsub.apsub .apsub__value svg{width:14px!important;height:14px!important;flex:0 0 14px!important;color:#71665a!important;}' 12229 ].join(''); 12230 var style = document.createElement('style'); 12231 style.id = 'ap-subscription-final-polish'; 12232 style.textContent = css; 12233 document.head.appendChild(style); 12234 } 12235 12236 function polishSubscriptionCopy(){ 12237 document.querySelectorAll('.apsub .apsub__value').forEach(function(el){ 12238 if (!/Best value/i.test(el.textContent || '')) return; 12239 el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"><path d="M6 7h9.5a3.5 3.5 0 1 1 0 7H9"></path><path d="M10 10 6 14l4 4"></path></svg><span data-apsub-note>Skip, pause, or cancel online</span>'; 12240 }); 12241 } 12242 12243 installSubscriptionFinalStyles(); 12244 polishSubscriptionCopy(); 12245 document.addEventListener('DOMContentLoaded', function(){ 12246 installSubscriptionFinalStyles(); 12247 polishSubscriptionCopy(); 12248 }); 12249 setTimeout(function(){ 12250 installSubscriptionFinalStyles(); 12251 polishSubscriptionCopy(); 12252 }, 700); 12253 setInterval(polishSubscriptionCopy, 1500); 12254 12255 function replaceSubscriptionReminderIcon(){ 12256 var svg = '<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="4.5" width="10.5" height="11" rx="2"></rect><path d="M6.5 3v3M11 3v3M3.5 8h10.5"></path><path d="M15.8 13.7a2.4 2.4 0 0 1-4.8 0c0-1.9.7-2.5.7-3.5a1.7 1.7 0 0 1 3.4 0c0 1 .7 1.6.7 3.5Z"></path><path d="M12.6 16.2h1.6"></path></svg>';
12257 document.querySelectorAll('.apsub .apsub__benefits .apsub__cell:first-child .apsub__glyph, .apsub .apsub__steps .apsub__step:nth-child(2) svg').forEach(function(el){ 12258 if (el.classList && el.classList.contains('apsub__glyph')) el.innerHTML = svg; 12259 else el.outerHTML = svg; 12260 }); 12261 } 12262 replaceSubscriptionReminderIcon(); 12263 document.addEventListener('DOMContentLoaded', replaceSubscriptionReminderIcon); 12264 setTimeout(replaceSubscriptionReminderIcon, 600); 12265 12266 function emit(name, props){ 12267 try { 12268 if (typeof window.__APEvent === 'function') { 12269 window.__APEvent(name, Object.assign({ page: location.pathname }, props || {})); 12270 } 12271 // Bundle picks/filters also go to GA4 (dashboard already has them via __APEvent). 12272 if (/^bundle_/.test(name) && typeof window.apTrack === 'function') window.apTrack(name, props, 'bundle_builder', { gaOnly: true }); 12273 } catch(_) {} 12274 } 12275 12276 // Helper: walk up to find the closest variant-id / handle for context 12277 function closestVariantId(el){ 12278 var n = el; 12279 for (var i = 0; i < 5 && n; i++, n = n.parentElement){ 12280 if (n.dataset && n.dataset.variantId) return n.dataset.variantId; 12281 } 12282 return ''; 12283 } 12284 12285 document.addEventListener('click', function(e){ 12286 var t = e.target; 12287 if (!t || !t.closest) return; 12288 12289 // ---- Size / variant pills (Dawn + GemPages markup) ----------------------- 12290 // Dawn: <fieldset class="product-form__input"><label><input radio>... 12291 // GemPages: <a class="spf-product__swatch" data-option-value="60ml">... 12292 var swatch = t.closest('.spf-product__swatch, .variant-option-group .gp-flex > a, .variant-option-group .gp-flex > div'); 12293 if (swatch && swatch.closest('.spf-product__variants, .variant-option-group, .variant-inside')) { 12294 var groupLabel = ''; 12295 var grp = swatch.closest('[class*="variant-option-group"]'); 12296 if (grp) { 12297 var lbl = grp.parentElement && grp.parentElement.querySelector('.variant-display'); 12298 if (lbl) groupLabel = lbl.textContent.trim().split(':')[0].slice(0, 40); 12299 } 12300 emit('size_selected', { 12301 option_name: groupLabel || 'option', 12302 value: swatch.getAttribute('data-option-value') || 12303 swatch.textContent.trim().slice(0, 40) 12304 }); 12305 return; 12306 } 12307 var sizeLabel = t.closest('fieldset.product-form__input label, .product-form__input--pill label'); 12308 if (sizeLabel) { 12309 var input = sizeLabel.querySelector('input[type="radio"]') || 12310 (sizeLabel.htmlFor && document.getElementById(sizeLabel.htmlFor)); 12311 if (input) { 12312 emit('size_selected', { 12313 option_name: input.name || '', 12314 value: input.value || sizeLabel.textContent.trim().slice(0, 40), 12315 variant_id: input.value || '' 12316 }); 12317 } 12318 return; 12319 } 12320 12321 // ---- Dropper addon (ap-dropper-addon) ------------------------------------ 12322 // The visible click target is the <label data-ap-drop> root; the 12323 // [data-ap-drop-check] checkbox is display:none and only flipped by JS. 12324 // Capture phase fires BEFORE the row's `toggle()` runs, so the current 12325 // class state is the OLD state â flip it for the new state. 12326 var dropperRow = t.closest('[data-ap-drop]'); 12327 if (dropperRow) { 12328 var willBeChecked = !dropperRow.classList.contains('is-checked'); 12329 emit('dropper_addon_toggled', { 12330 checked: willBeChecked, 12331 variant_id: (dropperRow.dataset && dropperRow.dataset.variantId) || '' 12332 }); 12333 return; 12334 } 12335 12336 // ---- Subscription mode toggle (ap-subscription) -------------------------- 12337 var subOpt = t.closest('[data-apsub-opt]'); 12338 if (subOpt) { 12339 emit('subscription_toggled', { 12340 mode: subOpt.getAttribute('data-apsub-mode') || 12341 subOpt.getAttribute('data-apsub-opt') || '' 12342 }); 12343 return; 12344 } 12345 var subPlan = t.closest('[data-apsub-plan]'); 12346 if (subPlan) { 12347 emit('subscription_plan_chosen', { 12348 plan: subPlan.getAttribute('data-apsub-plan') || '', 12349 note: subPlan.getAttribute('data-apsub-note') || '' 12350 }); 12351 return; 12352 } 12353 12354 // ---- Diffuser-compat cards (ap-diffuser-compat) -------------------------- 12355 var dcmp = t.closest('.ap-dcmp a, .ap-dcmp button, .ap-dcmp [data-variant-id]'); 12356 if (dcmp && dcmp.closest('.ap-dcmp')) { 12357 emit('diffuser_compat_clicked', { 12358 variant_id: closestVariantId(dcmp), 12359 href: (dcmp.getAttribute && dcmp.getAttribute('href')) || '' 12360 }); 12361 return; 12362 } 12363 12364 // ---- Review carousel nav (ap-review-carousel) ---------------------------- 12365 var revNext = t.closest('[data-ap-rev-next]'); 12366 var revPrev = t.closest('[data-ap-rev-prev]'); 12367 if (revNext || revPrev) { 12368 emit('review_carousel_nav', { direction: revNext ? 'next' : 'prev' }); 12369 return; 12370 } 12371 var revShow = t.closest('[data-ap-rev-show-more]'); 12372 if (revShow) { 12373 emit('review_show_more', {}); 12374 return; 12375 } 12376 12377 // ---- Product details accordion (ap-product-details) ---------------------- 12378 var pdTab = t.closest('[data-ap-pd-tab]'); 12379 if (pdTab) { 12380 emit('product_detail_opened', { 12381 tab: pdTab.getAttribute('data-ap-pd-tab') || 12382 pdTab.getAttribute('data-ap-pd-title') || '' 12383 }); 12384 return; 12385 } 12386 12387 // ---- Collection carousel nav (ap-collection-carousel) -------------------- 12388 var ccNext = t.closest('[data-ap-cc-next]'); 12389 var ccPrev = t.closest('[data-ap-cc-prev]'); 12390 if (ccNext || ccPrev) { 12391 emit('collection_carousel_nav', { direction: ccNext ? 'next' : 'prev' }); 12392 return; 12393 } 12394 12395 // ---- Addon rows (diffuser / incense / sand / waterless) ------------------ 12396 // The visible click target is the addon ROW (e.g. <label data-ap-addon>), 12397 // NOT the hidden checkbox inside it. The row's `is-checked` class is 12398 // toggled by an onclick handler in each snippet. Capture phase fires BEFORE 12399 // that toggle, so we read the OLD state and flip it for `willBeChecked`. 12400 var addonKindMap = [ 12401 { sel: '[data-ap-addon]', kind: 'diffuser' }, 12402 { sel: '[data-ap-icaddon]', kind: 'incense' }, 12403 { sel: '[data-ap-scaddon]', kind: 'sand_candle' }, 12404 { sel: '[data-ap-waddon]', kind: 'waterless' } 12405 ]; 12406 for (var ai = 0; ai < addonKindMap.length; ai++) {
12407 var row = t.closest(addonKindMap[ai].sel); 12408 // Skip the WRAPPER element ([data-ap-addons] etc. plural) â only inner 12409 // rows have data-variant-id. Match only rows with a variant_id. 12410 if (row && row.dataset && row.dataset.variantId) { 12411 var willBeOn = !row.classList.contains('is-checked'); 12412 emit('addon_toggled', { 12413 kind: addonKindMap[ai].kind, 12414 checked: willBeOn, 12415 variant_id: row.dataset.variantId || '', 12416 key: row.dataset.key || '' 12417 }); 12418 return; 12419 } 12420 } 12421 12422 // ---- Favorites header (ap-favorites-header) ------------------------------ 12423 var favOpen = t.closest('[data-apf-open]'); 12424 if (favOpen) { emit('favorites_drawer_opened', {}); return; } 12425 var favHandle = t.closest('[data-apf-handle]'); 12426 if (favHandle) { 12427 emit('favorite_toggled', { handle: favHandle.getAttribute('data-apf-handle') || '' }); 12428 return; 12429 } 12430 var favRm = t.closest('[data-apf-rm]'); 12431 if (favRm) { 12432 emit('favorite_removed', { handle: favRm.getAttribute('data-apf-rm') || '' }); 12433 return; 12434 } 12435 var favClear = t.closest('[data-apf-clear]'); 12436 if (favClear) { emit('favorites_cleared', {}); return; } 12437 12438 // ---- Scent quiz (ap-scent-quiz) ------------------------------------------ 12439 var quizAnswer = t.closest('[data-q] [data-value], [data-vibe]'); 12440 if (quizAnswer) { 12441 var qWrap = quizAnswer.closest('[data-q]'); 12442 emit('scent_quiz_answered', { 12443 question: (qWrap && qWrap.getAttribute('data-q')) || '', 12444 value: quizAnswer.getAttribute('data-value') || 12445 quizAnswer.getAttribute('data-vibe') || 12446 quizAnswer.textContent.trim().slice(0, 40) 12447 }); 12448 return; 12449 } 12450 12451 // ---- Hotel sampler scent picks (ap-hotel-sampler*) ----------------------- 12452 var hotelScent = t.closest('[data-scent][data-slot]'); 12453 if (hotelScent) { 12454 emit('sampler_scent_picked', { 12455 kind: 'hotel', 12456 scent: hotelScent.getAttribute('data-scent') || '', 12457 slot: hotelScent.getAttribute('data-slot') || '', 12458 variant: hotelScent.getAttribute('data-variant') || '' 12459 }); 12460 return; 12461 } 12462 12463 // ---- Bundle / oil-sampler builders --------------------------------------- 12464 // Covers ap-bundle-builder (waterless / hotel / perfume / nature bundles), 12465 // ap-bundle-builder-humidifying, ap-bundle-builder-sand, 12466 // ap-oil-sampler-builder, ap-hotel-sampler*, ap-sand-bundle-buybox. 12467 12468 // Oil/scent card pick â adds an oil to the bundle. `.bb-card[data-type="oil"]` 12469 // in the standard builder; `[data-scent][data-slot]` is already handled above 12470 // for hotel sampler. 12471 var oilCard = t.closest('.bb-card[data-type="oil"]'); 12472 if (oilCard) { 12473 emit('bundle_oil_picked', { 12474 kind: 'oil', 12475 id: oilCard.getAttribute('data-id') || '', 12476 handle: oilCard.getAttribute('data-handle') || '', 12477 price: oilCard.getAttribute('data-price') || '' 12478 }); 12479 return; 12480 } 12481 // Diffuser card pick (waterless bundle's "pick a diffuser" step). 12482 var diffCard = t.closest('.bb-card[data-type="diffuser"]'); 12483 if (diffCard) { 12484 emit('bundle_diffuser_picked', { 12485 id: diffCard.getAttribute('data-id') || '', 12486 handle: diffCard.getAttribute('data-handle') || '', 12487 price: diffCard.getAttribute('data-price') || '' 12488 }); 12489 return; 12490 } 12491 // Pack-size pick (3-pack / 5-pack / 7-pack toggles). 12492 var pack = t.closest('.bb-pack[data-pack], [data-pack-option]'); 12493 if (pack) { 12494 emit('bundle_pack_picked', { 12495 pack: pack.getAttribute('data-pack') || pack.getAttribute('data-pack-option') || '' 12496 }); 12497 return; 12498 } 12499 // Filter chips (data-cat / data-scent / data-diff are mutually-exclusive 12500 // chip rows â filter the displayed oils/diffusers). 12501 var chipCat = t.closest('.bb-chip[data-cat]'); 12502 if (chipCat) { 12503 emit('bundle_filter_applied', { kind: 'category', value: chipCat.getAttribute('data-cat') || '' }); 12504 return; 12505 } 12506 var chipScent = t.closest('.bb-chip[data-scent]'); 12507 if (chipScent) { 12508 emit('bundle_filter_applied', { kind: 'scent', value: chipScent.getAttribute('data-scent') || '' }); 12509 return; 12510 } 12511 var chipDiff = t.closest('.bb-chip[data-diff]'); 12512 if (chipDiff) { 12513 emit('bundle_filter_applied', { kind: 'diffuser', value: chipDiff.getAttribute('data-diff') || '' }); 12514 return; 12515 } 12516 // Sand-bundle specifics: kit choice, refill size, offer-step navigation. 12517 var kit = t.closest('[data-kit]'); 12518 if (kit) { 12519 emit('bundle_kit_chosen', { kit: kit.getAttribute('data-kit') || '' }); 12520 return; 12521 } 12522 var refill = t.closest('[data-refill-size]'); 12523 if (refill) { 12524 emit('bundle_refill_picked', { size: refill.getAttribute('data-refill-size') || '' }); 12525 return; 12526 } 12527 var goto_ = t.closest('[data-goto]'); 12528 if (goto_) { 12529 emit('bundle_pane_switched', { pane: goto_.getAttribute('data-goto') || '' }); 12530 return; 12531 } 12532 // Variant option pick on a bundle card (humidifying bundle's option 12533 // dimension picker â size/color buttons inside a .bb-card). Captures 12534 // both the dimension index and the chosen value. 12535 var bundleOpt = t.closest('.bb-opt[data-opt-dim][data-opt-val]'); 12536 if (bundleOpt) { 12537 var bundleCard = bundleOpt.closest('.bb-card'); 12538 emit('bundle_option_picked', { 12539 dim: bundleOpt.getAttribute('data-opt-dim') || '', 12540 value: bundleOpt.getAttribute('data-opt-val') || '',
12541 handle: (bundleCard && bundleCard.getAttribute('data-handle')) || '' 12542 }); 12543 return; 12544 } 12545 // Sand-buybox (both v1 [data-ap-sandbb] and v2 [data-ap-sandbb2]). 12546 var sandCta = t.closest('[data-ap-sandbb-cta], [data-ap-sandbb2-cta]'); 12547 if (sandCta) { 12548 emit('sand_buybox_cta_clicked', { 12549 version: sandCta.hasAttribute('data-ap-sandbb2-cta') ? 'v2' : 'v1', 12550 label: sandCta.getAttribute('data-ap-sandbb-cta-label') || 12551 (sandCta.querySelector('[data-ap-sandbb2-cta-label]') && 12552 sandCta.querySelector('[data-ap-sandbb2-cta-label]').textContent || '').trim() 12553 }); 12554 return; 12555 } 12556 var sandExpand = t.closest('[data-ap-sandbb-expand], [data-ap-sandbb2-expand]'); 12557 if (sandExpand) { 12558 emit('sand_buybox_expanded', { 12559 version: sandExpand.hasAttribute('data-ap-sandbb2-expand') ? 'v2' : 'v1' 12560 }); 12561 return; 12562 } 12563 // Sand-direct-buybox addon + upsell toggles (v2 only). 12564 var sandUpsell = t.closest('[data-ap-sandbb2-upsell]'); 12565 if (sandUpsell) { 12566 emit('sand_buybox_upsell_toggled', { 12567 upsell: sandUpsell.getAttribute('data-ap-sandbb2-upsell') || '', 12568 pressed: sandUpsell.getAttribute('aria-pressed') === 'true', 12569 variant_id: sandUpsell.getAttribute('data-vid') || '', 12570 price: sandUpsell.getAttribute('data-price') || '' 12571 }); 12572 return; 12573 } 12574 var sandAddonToggle = t.closest('[data-ap-sandbb2-addon-toggle]'); 12575 if (sandAddonToggle) { 12576 emit('sand_buybox_addon_toggled', { 12577 expanded: sandAddonToggle.getAttribute('aria-expanded') === 'true' 12578 }); 12579 return; 12580 } 12581 // Sand-direct-buybox variant pack pick (starter kit vs refill). 12582 var sandVpCard = t.closest('.ap-sandbb2__vp-card[data-vkey]'); 12583 if (sandVpCard) { 12584 emit('sand_buybox_variant_picked', { 12585 pack: sandVpCard.getAttribute('data-vkey') || '', 12586 variant_id: sandVpCard.getAttribute('data-vid') || '' 12587 }); 12588 return; 12589 } 12590 // Item removal â extend the original [data-remove] handler to also catch 12591 // [data-rm-id] / [data-rm-idx] (sand bundle uses these). 12592 var bundleRemove = t.closest('[data-remove], [data-rm-id], [data-rm-idx]'); 12593 if (bundleRemove) { 12594 emit('bundle_item_removed', { 12595 target: bundleRemove.getAttribute('data-remove') || 12596 bundleRemove.getAttribute('data-rm-id') || 12597 bundleRemove.getAttribute('data-rm-idx') || '', 12598 handle: bundleRemove.getAttribute('data-handle') || 12599 bundleRemove.getAttribute('data-scent') || '' 12600 }); 12601 return; 12602 } 12603 // Pane / step navigation (clicks on [data-pane] or [data-step] inside any 12604 // builder context). 12605 var bundlePane = t.closest('[data-pane], [data-step]'); 12606 if (bundlePane && bundlePane.closest('[data-ap-builder], .ap-bb, .ap-osb, .ap-hs, .ap-bbpromo, .ap-sandbb')) { 12607 emit('bundle_pane_switched', { 12608 pane: bundlePane.getAttribute('data-pane') || 12609 bundlePane.getAttribute('data-step') || '' 12610 }); 12611 return; 12612 } 12613 }, true); // capture phase â fires before stopPropagation in any handler 12614 12615 // Change-event variant for radio/checkbox inputs that fire 'change' but not 'click' 12616 document.addEventListener('change', function(e){ 12617 var t = e.target; 12618 if (!t || !t.matches) return; 12619 12620 // Dropper checkbox sometimes only fires 'change' 12621 if (t.matches('[data-ap-drop-check]')) { 12622 emit('dropper_addon_toggled', { checked: !!t.checked }); 12623 return; 12624 } 12625 12626 // Subscription radio 12627 if (t.matches('[data-apsub-plan] input, input[data-apsub-plan]')) { 12628 var holder = t.closest('[data-apsub-plan]') || t; 12629 emit('subscription_plan_chosen', { 12630 plan: holder.getAttribute('data-apsub-plan') || t.value || '', 12631 }); 12632 return; 12633 } 12634 12635 // Addon rows are tracked via the click handler above â the snippets 12636 // never fire a real 'change' event (they set .checked = X programmatically 12637 // without dispatching). No-op here. 12638 12639 // Sand-direct-buybox: addon scent select dropdown fires `change` natively. 12640 if (t.matches('[data-ap-sandbb2-addon-select]')) { 12641 emit('sand_buybox_addon_scent_picked', { 12642 scent: t.value || '', 12643 scent_label: (t.options && t.selectedIndex >= 0 && t.options[t.selectedIndex]) 12644 ? t.options[t.selectedIndex].text || '' : '' 12645 }); 12646 return; 12647 } 12648 12649 // Native variant <select name="id"> already emitted by theme.liquid's 12650 // delegated change listener as `variant_selected` â don't duplicate here. 12651 }, true); 12652})(); 12653</script>
12653 12654 12655
12655<script> 12656 (function(){ 12657 function installSubscriptionFinalStyles(){ 12658 if (document.getElementById('ap-subscription-final-polish')) return; 12659 var css = [ 12660 '.apsub.apsub{gap:6px!important;margin-bottom:8px!important;}', 12661 '.apsub.apsub .apsub__hero{background:linear-gradient(90deg,#fffdf8 0%,#fff9ec 56%,#fbefd0 100%)!important;border-color:#2c2419!important;box-shadow:none!important;}', 12662 '.apsub.apsub[data-apsub-mode="sub"] .apsub__hero{border-color:#b8912e!important;background:linear-gradient(90deg,#fffdf8 0%,#fff9ec 56%,#fbefd0 100%)!important;box-shadow:0 0 0 2px rgba(184,145,46,.14)!important;}', 12663 '.apsub.apsub .apsub__panel{padding-bottom:6px!important;}', 12664 '.apsub.apsub .apsub__plans{margin:0 12px 8px!important;padding:10px!important;border:1px solid #e4d8c2!important;border-radius:8px!important;background:#fffdf8!important;}', 12665 '.apsub.apsub .apsub__how{margin:0 12px 8px!important;padding:10px 10px 10px 12px!important;border:1px solid #e4d8c2!important;border-radius:8px!important;background:#f9f4f2!important;box-shadow:inset 3px 0 0 #b8912e!important;color:#3a3126!important;}', 12666 '.apsub.apsub .apsub__how .apsub__panel-title{color:#6f5b2d!important;}', 12667 '.apsub.apsub .apsub__step{color:#3a3126!important;font-weight:700!important;}', 12668 '.apsub.apsub .apsub__step svg{color:#9b7624!important;}', 12669 '.apsub.apsub .apsub__benefits{margin:0 12px!important;padding-top:8px!important;border-top:1px dashed rgba(184,145,46,.36)!important;}', 12670 '.apsub.apsub .apsub__seg-btn{border-radius:6px!important;border-color:#d8cbb8!important;background:#fff!important;box-shadow:none!important;}', 12671 '.apsub.apsub .apsub__seg-btn.is-active{border-color:#b8912e!important;background:#fff8ea!important;box-shadow:inset 0 0 0 1px rgba(184,145,46,.28)!important;}', 12672 '.apsub.apsub .apsub__plan-money small{border:1px solid rgba(184,145,46,.42)!important;border-radius:3px!important;background:#f5ecd2!important;color:#3a2f1a!important;}', 12673 '.apsub.apsub .apsub__cell,.apsub.apsub .apsub__label{color:#6a6258!important;font-weight:700!important;}', 12674 '.apsub.apsub .apsub__glyph{color:#3a2f1a!important;}', 12675 '.apsub.apsub .apsub__value{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:0!important;border:0!important;background:transparent!important;color:#71665a!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.05em!important;line-height:1.2!important;text-transform:uppercase!important;white-space:nowrap!important;}', 12676 '.apsub.apsub .apsub__value svg{width:14px!important;height:14px!important;flex:0 0 14px!important;color:#71665a!important;}' 12677 ].join(''); 12678 var style = document.createElement('style'); 12679 style.id = 'ap-subscription-final-polish'; 12680 style.textContent = css; 12681 document.head.appendChild(style); 12682 } 12683 12684 function polishSubscriptionCopy(){ 12685 document.querySelectorAll('.apsub .apsub__value').forEach(function(el){ 12686 if (!/Best value/i.test(el.textContent || '')) return; 12687 el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"><path d="M6 7h9.5a3.5 3.5 0 1 1 0 7H9"></path><path d="M10 10 6 14l4 4"></path></svg><span data-apsub-note>Skip, pause, or cancel online</span>'; 12688 }); 12689 } 12690 12691 installSubscriptionFinalStyles(); 12692 polishSubscriptionCopy(); 12693 document.addEventListener('DOMContentLoaded', function(){ 12694 installSubscriptionFinalStyles(); 12695 polishSubscriptionCopy(); 12696 }); 12697 setTimeout(function(){ 12698 installSubscriptionFinalStyles(); 12699 polishSubscriptionCopy(); 12700 }, 700); 12701 setInterval(polishSubscriptionCopy, 1500); 12702 })(); 12703 </script>
12703 12704 <style id="ap-diffuser-oil-comparison-mobile-polish"> 12705 @media (max-width: 749px) { 12706 .apg-col-diffuser-oil .col-chooser-intro { 12707 display: block !important; 12708 margin: 28px 0 14px !important; 12709 padding-top: 20px !important; 12710 border-top: 1px solid var(--rule, #d9d5c9) !important; 12711 } 12712 .apg-col-diffuser-oil .col-chooser-intro h3 { 12713 margin: 0 0 8px !important; 12714 font-family: Prata, Georgia, serif !important; 12715 font-size: 24px !important; 12716 line-height: 1.25 !important; 12717 font-weight: 400 !important; 12718 color: var(--ink, #1a1a1a) !important; 12719 } 12720 .apg-col-diffuser-oil .col-chooser-intro p { 12721 margin: 0 !important; 12722 color: var(--muted, #4a4a4a) !important; 12723 font-size: 15px !important; 12724 line-height: 1.55 !important; 12725 } 12726 .apg-col-diffuser-oil .col-table-wrap { 12727 overflow: visible !important; 12728 margin: 14px 0 32px !important; 12729 } 12730 .apg-col-diffuser-oil .col-table-wrap table, 12731 .apg-col-diffuser-oil .col-table-wrap thead, 12732 .apg-col-diffuser-oil .col-table-wrap tbody, 12733 .apg-col-diffuser-oil .col-table-wrap tr, 12734 .apg-col-diffuser-oil .col-table-wrap th, 12735 .apg-col-diffuser-oil .col-table-wrap td { 12736 display: block !important; 12737 min-width: 0 !important; 12738 width: 100% !important; 12739 box-sizing: border-box !important; 12740 } 12741 .apg-col-diffuser-oil .col-table-wrap thead { 12742 display: none !important; 12743 } 12744 .apg-col-diffuser-oil .col-table-wrap table { 12745 border: 0 !important; 12746 background: transparent !important; 12747 } 12748 .apg-col-diffuser-oil .col-table-wrap tr { 12749 position: relative !important; 12750 margin: 0 0 14px !important; 12751 border: 1px solid var(--rule, #d9d5c9) !important; 12752 border-radius: 12px !important; 12753 background: #fffdf8 !important; 12754 overflow: hidden !important; 12755 box-shadow: 0 14px 28px -24px rgba(26, 26, 26, .32) !important; 12756 } 12757 .apg-col-diffuser-oil .col-table-wrap tr::before { 12758 content: "" !important; 12759 display: block !important; 12760 height: 4px !important; 12761 background: linear-gradient(90deg, var(--gold, #c5a55a), rgba(197, 165, 90, .24)) !important; 12762 } 12763 .apg-col-diffuser-oil .col-table-wrap td { 12764 border-bottom: 1px solid var(--rule, #d9d5c9) !important; 12765 padding: 12px 14px !important; 12766 font-size: 14px !important; 12767 line-height: 1.45 !important; 12768 } 12769 .apg-col-diffuser-oil .col-table-wrap td:last-child { 12770 border-bottom: 0 !important; 12771 padding-bottom: 16px !important; 12772 } 12773 .apg-col-diffuser-oil .col-table-wrap td:first-child { 12774 background: #fbf5e9 !important; 12775 color: var(--ink, #1a1a1a) !important; 12776 font-size: 17px !important; 12777 font-weight: 700 !important; 12778 line-height: 1.35 !important; 12779 } 12780 .apg-col-diffuser-oil .col-table-wrap td::before { 12781 content: attr(data-label) !important; 12782 display: block !important; 12783 margin-bottom: 5px !important; 12784 font-size: 10px !important; 12785 font-weight: 700 !important; 12786 letter-spacing: .14em !important; 12787 text-transform: uppercase !important; 12788 color: var(--gold-deep, #8b6f2d) !important; 12789 } 12790 .apg-col-diffuser-oil .col-table-wrap td:first-child::before { 12791 content: "Best for" !important; 12792 } 12793 .apg-col-diffuser-oil .col-oil-name { 12794 display: block !important; 12795 color: var(--ink, #1a1a1a) !important; 12796 font-size: 16px !important; 12797 font-weight: 700 !important; 12798 } 12799 .apg-col-diffuser-oil .col-oil-note { 12800 display: block !important; 12801 margin-top: 4px !important; 12802 color: var(--muted, #4a4a4a) !important; 12803 font-size: 13px !important; 12804 line-height: 1.45 !important; 12805 }
12806 .apg-col-diffuser-oil .col-choice-action { 12807 display: flex !important; 12808 align-items: center !important; 12809 justify-content: center !important; 12810 width: 100% !important; 12811 min-height: 40px !important; 12812 margin-top: 10px !important; 12813 border: 1px solid var(--gold, #c5a55a) !important; 12814 border-radius: 999px !important; 12815 background: var(--cream, #f6efe2) !important; 12816 color: #1a1410 !important; 12817 font-size: 11px !important; 12818 font-weight: 700 !important; 12819 letter-spacing: .08em !important; 12820 text-transform: uppercase !important; 12821 text-decoration: none !important; 12822 } 12823 } 12824 </style> 12825
12825<script> 12826 (function(){ 12827 if (window.location.pathname !== '/collections/diffuser-oil') return; 12828 12829 function enhanceDiffuserOilComparison(){ 12830 var root = document.querySelector('.apg-col-diffuser-oil'); 12831 if (!root) return; 12832 var wrap = root.querySelector('.col-table-wrap'); 12833 if (!wrap) return; 12834 12835 if (!root.querySelector('.col-chooser-intro')) { 12836 var intro = document.createElement('div'); 12837 intro.className = 'col-chooser-intro'; 12838 intro.innerHTML = '<h3>Choose by diffuser type</h3><p>Use this quick match first. Then choose scent family and bottle size.</p>'; 12839 wrap.parentNode.insertBefore(intro, wrap); 12840 } 12841 12842 var rows = wrap.querySelectorAll('tbody tr'); 12843 var notes = [ 12844 'For machines that pull oil directly from a bottle or reservoir.', 12845 'For water-tank devices that create visible mist.', 12846 'Start small for testing, size up for repeat scenting.', 12847 'The safest first size for compact spaces and scent trials.', 12848 'Better refill rhythm for larger spaces and daily schedules.' 12849 ]; 12850 rows.forEach(function(row, index){ 12851 var cells = row.querySelectorAll('td'); 12852 if (cells.length < 3) return; 12853 if (!cells[1].querySelector('.col-oil-name')) { 12854 var oilText = cells[1].textContent.trim(); 12855 cells[1].innerHTML = '<span class="col-oil-name"></span><span class="col-oil-note"></span>'; 12856 cells[1].querySelector('.col-oil-name').textContent = oilText; 12857 cells[1].querySelector('.col-oil-note').textContent = notes[index] || ''; 12858 } 12859 if (index === 0 && !cells[2].querySelector('.col-choice-action')) { 12860 var link = document.createElement('a'); 12861 link.className = 'col-choice-action'; 12862 link.href = '/collections/waterless-fragrance-oils-1'; 12863 link.textContent = 'Shop waterless oils'; 12864 cells[2].appendChild(document.createElement('br')); 12865 cells[2].appendChild(link); 12866 } 12867 if (index === 1 && !cells[2].querySelector('.col-choice-action')) { 12868 var regular = document.createElement('a'); 12869 regular.className = 'col-choice-action'; 12870 regular.href = '/collections/regular-fragrance-oils'; 12871 regular.textContent = 'Shop regular oils'; 12872 cells[2].appendChild(document.createElement('br')); 12873 cells[2].appendChild(regular); 12874 } 12875 }); 12876 } 12877 12878 if (document.readyState === 'loading') { 12879 document.addEventListener('DOMContentLoaded', enhanceDiffuserOilComparison); 12880 } else { 12881 enhanceDiffuserOilComparison(); 12882 } 12883 setTimeout(enhanceDiffuserOilComparison, 700); 12884 })(); 12885 </script>
12885 12886
12886<script> 12887 (function(){ 12888 if (window.location.pathname !== '/collections/hvac-scent-diffusers') return; 12889 var keepHandle = 'hvac-plus-waterless-scent-diffuser'; 12890 12891 function keepOnlyHvacPlus(){ 12892 document.querySelectorAll('[data-apgp-card]').forEach(function(card){ 12893 if (card.dataset.handle !== keepHandle) card.remove(); 12894 }); 12895 var count = document.querySelector('[data-apgp-count]'); 12896 if (count) count.textContent = '1 product'; 12897 document.querySelectorAll('.ap-product-grid-pro .apgp-chip:not([data-apgp-filter="all"]), .ap-product-grid-pro .apgp-sort').forEach(function(el){ 12898 el.style.display = 'none'; 12899 }); 12900 } 12901 12902 if (document.readyState === 'loading') { 12903 document.addEventListener('DOMContentLoaded', keepOnlyHvacPlus); 12904 } else { 12905 keepOnlyHvacPlus(); 12906 } 12907 setTimeout(keepOnlyHvacPlus, 250); 12908 setTimeout(keepOnlyHvacPlus, 1000); 12909 })(); 12910 </script>
12910 12911 12912<div id="shopify-block-ARExFU25Wa0dyOGZGU__6251270934270006384" class="shopify-block shopify-app-block">
12912<script> 12913 console.log("Stape gtm: 1.0.4"); 12914 window.lsData = {}; 12915 window.dataLayer = window.dataLayer || []; 12916 window.addEventListener("message", (event) => { 12917 if (event.data?.event) { 12918 window.dataLayer.push(event.data); 12919 } 12920 }); 12921 window.dataShopStape = { 12922 shop: "aromaparadise.com", 12923 shopId: "65846444213", 12924 } 12925</script>
12925 12926 12927 12928 12929 12930 12931 12932
12932<script> 12933 console.log("â ï¸ User not logged in"); 12934 window.localStorage.removeItem('customerShopStape'); 12935 </script>
12935 12936 12937 12938 12939
12940<script> 12941 window.currentShopifyMarketStapeId = null; 12942 window.currentShopifyMarketStapeCode = null; 12943 try { 12944 window.currentShopifyMarketStapeId = "29247111349"; 12945 window.currentShopifyMarketStapeCode = "US"; 12946 // Checkout doesn't render theme app extension blocks, so this is the 12947 // only place the market/country code is ever set. Persisting it here 12948 // lets checkout-side field mapping (country_market_code) fall back to 12949 // the last known value instead of coming up empty. 12950 localStorage.setItem('marketShopStape', JSON.stringify({ 12951 id: window.currentShopifyMarketStapeId, 12952 code: window.currentShopifyMarketStapeCode 12953 })); 12954 } catch (error) { 12955 console.error("â Stape Error:", error); 12956 } 12957</script>
12957 12958 12959 12960 12961 12962 12963</div><div id="shopify-block-AVElYbHJnemxjbVVrN__10840395464443086010" class="shopify-block shopify-app-block"> 12964 12965
12966<script> 12967 console.log("[Alia app extension] v1.0.5"); 12968 12969 const BACKEND_URL = "https://backend.alia-prod.com"; 12970 12971 window.ALIA_SHOPIFY_EXTENSION_INFO = { 12972 customerID: "", 12973 country: "US", 12974 market: "us", 12975 language: "en" 12976 } 12977 12978 if (document.readyState !== "loading") { 12979 initAlia(); 12980 } else { 12981 document.addEventListener("DOMContentLoaded", () => initAlia(), { once: true }); 12982 } 12983 12984 async function initAlia() { 12985 const url = BACKEND_URL + "/public/launcher.js?shopifyUrl=f9f5e1-14.myshopify.com"; 12986 const script = document.createElement("script"); 12987 script.src = url; 12988 script.async = true; 12989 document.head.appendChild(script); 12990 } 12991</script>
12991 12992 12993</div><div id="shopify-block-AcmxiYmRuL3NRakFuN__4379643256173503040" class="shopify-block shopify-app-block"> 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004
13004<script> 13005 const prepareSubscriptionProductV2 = (statusesMetafield, subscriptionPlans, widgetSettings = {}) => { 13006 const {layout = "0"} = widgetSettings; 13007 // First, sort subscriptionPlans by updatedAt (newest first) 13008 const sortedSubscriptionPlans = Object.entries(subscriptionPlans) 13009 .filter(([subscriptionPlanId, val]) => statusesMetafield[subscriptionPlanId]) 13010 .sort(([, a], [, b]) => { 13011 const dateA = a.updatedAt ? new Date(a.updatedAt) : new Date(0); 13012 const dateB = b.updatedAt ? new Date(b.updatedAt) : new Date(0); 13013 return dateB - dateA; // Descending order (newest first) 13014 }); 13015 13016 return sortedSubscriptionPlans.reduce( 13017 (prev, [subscriptionPlanId, val], index) => { 13018 const { 13019 updatedAt, 13020 plans, 13021 defaultOption, 13022 defaultPlan, 13023 defaultPrepaidPlan, 13024 enabledReverseOption, 13025 appliedTo, 13026 autoSwap 13027 } = val; 13028 13029 const planAutoSwap = autoSwap && autoSwap.enabled 13030 ? {...autoSwap, selectedProducts: (autoSwap.selectedProducts || []).map(p => ({...p, price: p.price == null ? undefined : p.price / 100}))} 13031 : undefined; 13032 13033 if (index === 0) { 13034 prev.updatedAt = updatedAt ? new Date(updatedAt) : null; 13035 prev.defaultOption = defaultOption; 13036 prev.defaultPlan = defaultPlan; 13037 prev.defaultPrepaidPlan = defaultPrepaidPlan; 13038 prev.enabledReverseOption = enabledReverseOption; 13039 } 13040 13041 const isAllApplied = appliedTo === 'all'; 13042 prev.plans = [...prev.plans, ...plans.sort((a,b) => parseInt(a.position) - parseInt(b.position)).map(x => ({...x, appliedTo: isAllApplied ? appliedTo : 'specific', specificVariants: isAllApplied ? [] : appliedTo, ...(planAutoSwap ? {autoSwap: planAutoSwap} : {})}))]; 13043 return prev; 13044 }, 13045 { 13046 layout, 13047 plans: [], 13048 defaultOption: null, 13049 defaultPlan: null, 13050 defaultPrepaidPlan: null, 13051 enabledReverseOption: null, 13052 updatedAt: null 13053 } 13054 ); 13055 }; 13056 const prepareLegacySubscriptionProduct = (subscriptionProduct, widgetSettings = {}) => { 13057 if(!subscriptionProduct) return false; 13058 const {enabledCommonLayout} = widgetSettings; 13059 return {...subscriptionProduct, layout: widgetSettings.enabledCommonLayout ? widgetSettings.layout : subscriptionProduct.layout}; 13060 } 13061 const formatProductBundleSubscription = ({productBundleData, newPlanVersion, statusesMetafield = {}, widgetSettings = {}}) => { 13062 if (!newPlanVersion) { 13063 return Object.entries(productBundleData).reduce((acc, [handle, data]) => { 13064 const {subscription_plan_v2, ...legacyProps} = data; 13065 acc[handle] = { ...legacyProps }; 13066 return acc; 13067 }, {}); 13068 } 13069 13070 return Object.entries(productBundleData).reduce((acc, [handle, data]) => { 13071 const {subscription_plan, subscription_plan_v2, id, ...v2Props} = data; 13072 const subscriptionProductV2 = prepareSubscriptionProductV2(statusesMetafield, subscription_plan_v2, widgetSettings); 13073 const subscriptionProduct = { ...subscriptionProductV2, productId: id }; 13074 acc[handle] = { ...v2Props, subscription_plan: { subscriptionProduct } }; 13075 return acc; 13076 }, {}); 13077 } 13078 try { 13079 console.log('Joy start'); 13080 if (!window.AVADA_SUBSCRIPTION) { 13081 const { 13082 shopId, 13083 customCSS, 13084 customerPortal, 13085 customSelector, 13086 subscriptionPriceByQuantity, 13087 accessLink, 13088 enabledCustomCurrency, 13089 customDisplayCurrency, 13090 newPlanVersion, 13091 newGetPriceVersion, 13092 isBlockedLogin, 13093 enableSubDiscountForBundle, 13094 variantChangeTimeout, 13095 useCustomCurrency, 13096 customCurrency, 13097 numberOfUpcomingOrders, 13098 useBillingPriceForPrepaid, 13099 showPrepaidPerDeliveryHint, 13100 enabledAddProductCard, 13101 forceOneTimeAddProduct, 13102 defaultBundleId, 13103 enabledBoxSwapRequest, 13104 froonzeIntegrationEnabled, 13105 enableAovBundleSwap 13106 } = {"shopId":"XsktaCZmnrBxPp5NyClO","customCSS":".Avada-Subscription__SelectionBox {\n height: 60px !important;\n}\ngp-product-price{\nheight: 100% !important}","customerPortal":{"pauseSubscription":true,"resumeSubscription":true,"cancelSubscription":true,"reactivateSubscription":true,"editDeliveryFrequency":true,"editShippingAddress":true,"editPaymentInformation":true,"productSwapOptions":true,"addProducts":true,"removeProducts":true,"editQuantityOfProducts":true,"changeProductVariant":true,"cannotEditSubscriptionProduct":true,"orderNowOption":true,"skipUpcomingOrders":true,"rescheduleUpcomingOrders":true,"addOrRemoveNewSubscription":true,"addOrRemoveOneTimePurchase":true,"editShippingAddressUpcomming":true,"editPaymentInformationUpcomming":true,"cannotSkipUpcomingOrder":false,"editShippingOption":true,"editShippingAddressUpcoming":true,"editPaymentInformationUpcoming":true,"addNewSubscription":true,"allowStoreCreditForUpcomingOrders":true},"customSelector":{"variantSelector":".option-item input","salePriceSelector":"product-form .gp-price.gp-money.gp-g-subheading-2.gp-text-instant","regularPriceSelector":"product-form .gp-price.gp-money.gp-g-subheading-2.gp-text-instant","customPageSelector":".ai-vertical-space-amxpbbfbitvlntvdwaaigenblock48152d6qvhrd4"},"accessLink":{"customerPortalNavigation":true},"newGetPriceVersion":false,"variantChangeTimeout":"800","newPlanVersion":true,"isBlockedLogin":false}; 13107 const {customPortalURLEnabled, customPortalURL} = accessLink || {}; 13108 const codSettings = false || null; 13109 const {subscriptionProduct: legacySubscriptionProduct} = false;
13110 const subscriptionPlanV2Metafield = false || []; 13111 const statusesMetafield = {"tPy2Dz0wSr9kRUtc1FM0":true} || {}; 13112 const translation = {"defaultLocale":"en","createdAt":{"_seconds":1751068702,"_nanoseconds":672000000},"locales":[{"code":"en","label":"English","enabled":true,"createdAt":{"_seconds":1751068702,"_nanoseconds":672000000},"updatedAt":{"_seconds":1751068702,"_nanoseconds":672000000}}],"storefrontLocaleDetect":"storeLanguage","en":{"emailNotifications":{"general":{"footer":{"descriptionFooter":"Don't want to receive these emails?","unsubscribeFooter":"Unsubscribe here"},"customerInformation":{"endingWith":"ending with {{last_digits}}","shippingMethod":"Shipping method","shippingAddress":"Shipping address","payment":"Payment","billingAddress":"Billing address","title":"Customer information"},"orderSummary":{"date":"Date","orderNo":"Order No","joyChargeId":"Joy charge ID","chargeId":"Charge ID","title":"Order summary"},"subscriptionDetail":{"total":"Total","shipping":"Shipping","subtotalMultiple":"Subtotal ({{number}} items)","firstOrder":"First order","tax":"Tax","id":"Subscription ID","subtotalSingle":"Subtotal ({{number}} item)","title":"Subscription Detail"},"subscriptionTextButton":"Manage your subscription"},"content":{"subscriptionOrderConfirmation":{"subject":"Subscription order {{order_id}} confirmed","content":"\n <h2 class=\"Avada-Email__Title Avada-Primary Avada-Bold\">\n Thank you for your subscription purchase!\n </h2>\n <p>\n You will be charged {{order_total}} {{billing_frequency}} for each additional upcoming order unless you make changes.\n </p>\n\n"},"billingFailed":{"subject":"Subscription payment failed","content":"\n <h2 class=\"Avada-Email__Title Avada-Primary Avada-Bold\">\n Your recurring order has been declined on {{shop_name}}\n </h2>\n <p class=\"Avada-Email__Content--Text\">\n Payment Failure Reason: {{billing_failure_reason}}\n </p>\n"},"subscriptionUpcomingOrder":{"subject":"Your next subscription order is coming up","content":"\n <h2 class=\"Avada-Email__Title Avada-Primary Avada-Bold\">\n Your next subscription order will be charged soon\n </h2>\n <p class=\"Avada-Email__Content--Text\">\n Your upcoming subscription order will be charged soon. You can make changes to this order before {{order_created_date}}\n </p>\n"},"subscriptionActivation":{"subject":"Congrats! You've started a new subscription at {{shop_name}}","content":"\n <p>Thank you for choosing {{shop_name}}</p>\n <h2 class=\"Avada-Email__Title Avada-Primary Avada-Bold\">\n Your subscription has been Activated.\n </h2>\n <p class=\"Avada-Email__Content--Text\">\n You will be charged {{order_total}} {{billing_frequency}} for each additional upcoming order unless you make changes.\n </p>\n"},"subscriptionCancellation":{"subject":"Your subscription was successfully cancelled","content":"\n <h2 class=\"Avada-Email__Title Avada-Primary Avada-Bold\">\n Your subscription was successfully cancelled\n </h2>\n <p class=\"Avada-Email__Content--Text\">\n You will not receive any upcoming orders.\n </p>\n "},"verification":{"subject":"Your Login Verification Code","content":"\n <p>\n Hi {{name}},\n </p>\n <p>\n Your 6-digit code is:\n </p>\n <strong class=\"Avada-Verification--code Avada-Bold\">\n {{verification_code}}\n </strong>\n <p>\n This code can only be used once. It expires in 15 minutes.\n </p>\n"}}},"other":{"codForm":{"lastName":{"label":"Last name","placeholder":"Enter last name","validation":"Enter a last name"},"address":{"label":"Address","placeholder":"Enter address","validation":"Enter an address"},"address2":{"label":"Address 2","placeholder":"Enter address 2","validation":"Enter an address"},"city":{"label":"City","placeholder":"Enter city"},"postalCode":{"label":"Postal code","placeholder":"Enter postal code","validation":"Enter a ZIP / postal code"},"formTitle":"Please fill in the form to order","buyButton":{"secondary":"Buy with COD","primary":"BUY IT NOW - {{order_total}}"},"firstName":{"label":"First name","placeholder":"Enter first name","validation":"Enter a first name"},"phoneNumber":{"label":"Phone number","placeholder":"Enter phone number","validation":"Enter a phone number"}
13112,"discounts":{"invalidDiscount":"Enter a valid discount code","applyButton":"Apply","discountCode":"Discount code","existingDiscount":"{{code}} couldn't be used with your existing discounts","title":"Discounts","notValidForCart":"{{code}} discount code isn't valid for the items in your cart"},"province":{"select":"Select a state / province","label":"Province","placeholder":"Enter province","validation":"Enter a province"},"totalSummary":{"total":"Total","shipping":"Shipping","taxNote":"All taxes included","subtotalPlural":"Subtotal ({{number}} items)","discount":"Discount","subtotalSingular":"Subtotal ({{number}} item)"},"email":{"label":"Email","placeholder":"Enter email","validation":"Enter an email"},"shippingOptions":{"free":"Free","title":"Shipping options"}},"cancellationFlow":{},"productBundles":{"addToCartButton":"Add to cart","errorMessages":{"maxBundles":"You can only select a maximum of {{number}} bundles.","maxBundle":"You can only select a maximum of {{number}} bundle.","minProduct":"You must select at least {{number}} product.","minBundle":"You must select at least {{number}} bundle.","maxProducts":"You can only select a maximum of {{number}} products.","minBundles":"You must select at least {{number}} bundles.","minProducts":"You must select at least {{number}} products.","maxProduct":"You can only select a maximum of {{number}} product."},"quantitySelectorText":"Quantity","totalText":"Total","bundleQuantityText":"Bundle quantity","confirmButton":"Confirm"}},"subscriptions":{"general":{"variables":{"defaultDaily":"every 1 day","customMonths":"every {{number}} months","defaultMonthly":"every 1 month","defaultWeekly":"every 1 week","customDays":"every {{number}} days","customWeeks":"every {{number}} weeks"},"payAsYouGo":{"defaultDaily":"Every 1 day","customMonths":"Every {{number}} months","defaultMonthly":"Every 1 month","defaultWeekly":"Every 1 week","customDays":"Every {{number}} days","customWeeks":"Every {{number}} weeks"},"prepaid":{"defaultDaily":"Prepay every {{billing_number}} days, receive every 1 day","defaultDailyWithQty":"Prepay every {{billing_number}} days, receive {{quantity}} item(s) every 1 day","customMonths":"Prepay every {{billing_number}} months, receive every {{delivery_number}} months","defaultMonthlyWithQty":"Prepay every {{billing_number}} months, receive {{quantity}} item(s) every 1 month","defaultWeeklyWithQty":"Prepay every {{billing_number}} weeks, receive {{quantity}} item(s) every 1 week","customWeeksWithQty":"Prepay every {{billing_number}} weeks, receive {{quantity}} item(s) every {{delivery_number}} weeks","defaultMonthly":"Prepay every {{billing_number}} months, receive every 1 month","defaultWeekly":"Prepay every {{billing_number}} weeks, receive every 1 week","customDaysWithQty":"Prepay every {{billing_number}} days, receive {{quantity}} item(s) every {{delivery_number}} days","customDays":"Prepay every {{billing_number}} days, receive every {{delivery_number}} days","customMonthsWithQty":"Prepay every {{billing_number}} months, receive {{quantity}} item(s) every {{delivery_number}} months","customWeeks":"Prepay every {{billing_number}} weeks, receive every {{delivery_number}} weeks"}},"widget":{"discountBadge":{"saveUpto":"Save up to {{discount}}","save":"Save {{discount}}"},"subscriptionPlanGroupName":{"payAsYouGo":"Subscribe and save","prepaid":"Prepaid"},"subscriptionBadge":{"pluralDiscount":"Subscription ⢠Save up to {{discount_label}}","regular":"Subscription","singleDiscount":"Subscription ⢠Save {{discount_label}}"},"oneTimePurchase":"One-time purchase","subscriptionPlanDescription":"No obligation, modify or cancel your subscription anytime.","fromText":{"single":"from {{price}}/each","plural":"from {{price}}"},"purchaseOptions":"Purchase options","recurringPriceDescriptionText":{"singlePaymentDiscount":"First payment {{before_price}}, then {{after_price}}","pluralPaymentDiscount":"First {{payment_number}} payments {{before_price}} each, then {{after_price}}","singlePaymentFree":"First payment free, then {{after_price}}","pluralPaymentFree":"First {{payment_number}} payments free, then {{after_price}}"},"priceLabel":{"price":"{{price}}","priceEach":"{{price}}/each"},"subscriptionPlanOptionName":"Delivery frequency"},"plan":{}},"classicCustomerPortal":{"general":{"manageSubscriptionButton":"Manage subscription","recommendedForYou":{"singleOption":"{{quantity}} option","pluralDiscount":"Save up to {{discount}}","pluralOption":"{{quantity}} options","title":"Recommended for you","singleDiscount":"Save {{discount}}"},"pageTitle":{"backAction":"Return to your account","logoutAction":"Log out","title":"Welcome, {{customer_name}}"}}
13112,"subscriptionDetails":{"productCard":{"currentDiscount":"Current discount","delivery":"Delivery:","discountDetail":"Discount detail","product":"Product","initialPrice":"Initial price:","price":"{{price}}/ea","boxDiscount":"Box discount:","newDiscountApplied":"New discount applied after {{number}} order(s):","planDiscount":"Plan discount:","finalPrice":"Final price:","saveDiscountApplied":"Save {{current_discount}} applied","saveDiscount":"Save {{discount}}"},"subscriptionExpireCard":{"expires":"Expires {{expire_date}}","afterSuccessfulOrders":"After {{maximum_order_expire}} successful order(s)","subscriptionWillExpire":"Subscription will expire"},"customerDetail":{"customerDetail":"Customer detail","paymentMethod":"Payment method","shippingAddress":"Shipping address"},"tabs":{"general":"General","history":"History","upcomingOrders":"Upcoming orders"},"nextOrderCard":{"nextOrder":"Next order","nextShipment":"Next shipment"},"pageHeader":{"subTitle":"Date created: {{date_created}}","title":"Subscription ID: {{contract_id}}"}},"editSubscriptionActions":{"changePaymentMethodModal":{"updateSelectedMethod":"Update selected method","editMethodMessage":"To edit selected payment method, please click button 'Update selected method'. A message will be sent to you via email \"{{customer_email}}\"","apply":"Apply","description":"Select payment method that will be <strong>used for all orders</strong> created by this subscription.","title":"Change payment method"},"editProductModal":{"confirm":"Confirm","quantity":"Quantity","apply":"Apply","variant":"Variant","title":"Edit product","close":"Cancel"},"swapProductModal":{"onlyPrepaid":"Only products with prepaid plans can be swapped","addProductToSwap":"Add product to swap","onlyPayAsYouGo":"Only products with pay as you go plans can be swapped","apply":"Apply","title":"Swap product","close":"Cancel"},"updateShippingAddressModal":{"zip":"Zip","country":"Country","lastName":"Last name","address2":"Address 2","apply":"Apply","city":"City","address1":"Address 1","shippingMethod":"Shipping method","pickup":"Pickup","pickupLocation":"Pickup location","title":"Update shipping address","firstName":"First name","phoneNumber":"Phone number","province":"Province","shipping":"Shipping","company":"Company","close":"Cancel","localDelivery":"Local delivery"},"changeOrderFrequencyModal":{"apply":"Apply","deliveryFrequency":"Delivery frequency","description":"Change how often you receive your orders","title":"Change order frequency","close":"Cancel"},"removeProductModal":{"cancel":"Cancel","description":"Are you sure you want to remove the product below from this subscription?","title":"Remove product","remove":"Remove"},"pauseSubscriptionModal":{"pauseSubscription":"Pause subscription","description":"This subscription will be paused and <strong>will not create new orders</strong>. You can resume this subscription anytime.","title":"Pause subscription","close":"Cancel"},"addNewSubscriptionModal":{"ordersDiscountCycle":"First {{number}} orders {{initial_discount}}, then {{after_discount}}","quantity":"Quantity","select":"Select","addProduct":"Add product to subscribe","popularProducts":"Popular subscription products","discount":"Discount: {{discount}}","uncategorized":"Uncategorized","title":"Add new subscription","tryChangingFilters":"Try changing the filters or search term","noProductsFound":"No products found","search":"Search","processToCheckout":"Process to check out","allCategories":"All categories","deliveryFrequency":"Delivery frequency","orderDiscountCycle":"First {{number}} order {{initial_discount}}, then {{after_discount}}","variant":"Variant","selected":"Selected"},"editSubscription":{"cancelSubscription":"Cancel subscription","pauseSubscription":"Pause subscription","resumeSubscription":"Resume subscription","reSubscribe":"Re-subscribe","removeProduct":"Remove product","addProduct":"Add product","changeOrderFrequency":"Change order frequency","pauseSubscriptionDescription":"Stop receiving new orders until you resume your subscription","swapProduct":"Swap product","title":"Edit subscription","editProduct":"Edit product","changeOrderFrequencyDescription":"Change how often you receive your orders","resumeSubscriptionDescription":"Continue to receive orders","addProductDescription":"Add product to your subscription"},"cancelSubscriptionModal":{"cancelSubscription":"Cancel subscription","description":"You're about to cancel this subscription. You can re-subscribe to this subscription in Cancelled subscription tab anytime.","title":"Cancel subscription","close"
13112:"Go back"}},"orderDetailsAndEditOrderActions":{"orderNowModal":{"action":"Order now","message":"You're about to change your next order time on {{order_date}} to {{current_date}}. Your latest scheduled order will be made within minutes.","title":"Order now"},"orderStatusAndDate":"This order will be made on {{order_date}}","editProductModal":{"apply":"Apply","title":"Edit product"},"addProductModal":{"add":"Add","quantity":"Quantity","select":"Select","popularProducts":"Popular products","purchaseOptions":"Purchase options","subscription":"Subscription","title":"Add product","addMore":"Add more product to this order","search":"Search","variant":"Variant","addToOrder":"Add product to this order","category":"Category","selected":"Selected"},"removeModal":{"cancel":"Cancel","message":"Are you sure you want to remove the product below from this order?","title":"Remove product","remove":"Remove"},"orderSummary":{"summary":"Order summary","total":"Total","shipping":"Shipping","subtotal":"Subtotal","tax":"Tax"},"title":"Order detail","actions":{"addProduct":"Add product","edit":"Edit order","changeSchedule":"Change order schedule","resumeOrder":"Resume order","changeScheduleDescription":"Reschedule your next order date","remove":"Remove","editProduct":"Edit product","viewShipment":"View shipment","retryOrdering":"Retry ordering","skipOrderDescription":"Skip your next order","skipOrder":"Skip order","orderNow":"Order now","editSubscription":"Edit subscription","orderNowDescription":"Your latest scheduled order will be made within minutes"},"changeOrderScheduleModal":{"cancel":"Cancel","apply":"Apply","messageValidation":"The time must be from {{min_date}} to {{max_date}}","subtitle":"Reschedule your next order date","message":"Your order time will be changed from {{order_date}} to {{scheduled_date}}","title":"Change order schedule"},"skipNextOrderModal":{"cancel":"Cancel","skip":"Skip order","message":"You're about to skip your next order time on {{order_date}}. Your new latest order time will be {{next_order_date}}","title":"Skip next order"}},"subscriptionList":{"tabName":"My subscriptions ({{count}})","subscriptionSortFilter":{"filter":"Filter","oldestFirst":"Oldest first","apply":"Apply","newestFirst":"Newest first","sort":"Sort","status":"Status"},"subscriptionCard":{"nextOrder":"Next order","more":"+{{number}} more","viewDetails":"View details","moreProducts":"+{{number}} products"},"subscriptionStatus":{"paused":"Paused","expired":"Expired","active":"Active","cancelled":"Cancelled"},"subscriptionEmptyState":{"modifyFilters":"Try changing the filters or search term","noSubscription":"This is where you'll manage your subscriptions","noUpcomingOrders":"Orders created by subscriptions will show here","noResults":"No subscriptions"},"noFilteredResults":{"modifyFilters":"Remove or adjust filters to see your subscriptions","heading":"No filtered results"}},"orderList":{"tabName":"Upcoming orders","shipment":{"scheduled":"Scheduled","title":"Shipment","onItsWay":"On its way"},"orderEmptyState":{"subscriptionNote":"Orders created by subscriptions will show here","noOrders":"No upcoming orders"},"orderStatus":{"pendingPayment":"Payment pending","scheduled":"Scheduled","success":"Success","paid":"Paid","paymentIssue":"Payment issue","processing":"Processing","skipped":"Skipped"},"orderDate":{"yesterday":"Yesterday","today":"Today","tomorrow":"Tomorrow"},"orderCard":{"hide":"Hide","multiItems":"{{quantity}} items: {{total_price}}","seeMore":"See more","orderNo":"Order No: {{order_name}}","chargeId":"Charge ID: {{charge_id}}","moreItem":"{{quantity}} more item","moreItems":"{{quantity}} more items","singleItem":"{{quantity}} item: {{total_price}}","moreInfo":"More info"}},"loginPage":{"enterVerificationCodePage":{"sendAgain":"Send again","submitButton":"Verify","sentTo":"Sent to {{email}}","incorrectOrExpiredCode":"Incorrect or expired code. Please try again.","resendIn":"Re-send in {{count_down}}","title":"Enter verification code","noCodePrompt":"Not receiving a code?"},"verificationCompletePage":{"title":"Verification complete!","redirectMessage":"You will be redirected to Subscription management page within seconds"},"enterEmailPage":{"nonexistentAccount":"This account doesn't exist. Please enter a different email address.","submitButton":"Send Verification code","emailPlaceholder":"Please enter your email","subtitle":"To manage your subscriptions","title":"Log in","emailLabel":"Email","invali
13112dEmail":"Enter a valid email address"}},"banners":{"productUpdate":{"message":"Product updated successfully","title":"Success"},"subscriptionActivated":{"message":"Subscription activated successfully","title":"Success"},"orderSkipSuccess":{"message":"Order skipped successfully","title":"Success"},"subscriptionOrderSuccess":{"message":"Your subscription order has been created successfully. See details in history","title":"Success"},"orderFailedToCreate":{"message":"Your subscription order has failed to create.","title":"Order failed to create"},"productAdd":{"message":"Product added successfully","title":"Success"},"productSwapProcessing":{"message":"The product is being swapped. Please wait a few minutes for the subscription to update.","title":"Processing"},"orderFrequency":{"message":"Order frequency updated successfully","title":"Success"},"productRemove":{"message":"Product removed successfully","title":"Success"},"productSwap":{"message":"Product swapped successfully","title":"Success"},"orderReschedule":{"message":"Order rescheduled successfully","title":"Success"},"paymentMethodUpdate":{"message":"Email sent successfully","title":"Success"},"paymentMethod":{"message":"Payment method updated successfully","title":"Success"},"shippingAddress":{"message":"Shipping address updated successfully","title":"Success"},"productDelete":{"message":"All upcoming orders for subscriptions containing deleted products will be failed. To resolve this, you can swap the product in the subscription.","title":"Subscription product deleted"},"productOutOfStock":{"message":"Next order of this subscription contains one or more product that has been out of stock. View order detail and take action before {{next_order_date}} or this order will be skipped.","title":"Product out of stock"},"productUpdateProcessing":{"message":"The product is being updated. Please wait a few minutes for the subscription to update.","title":"Processing"},"subscriptionCancelled":{"message":"Subscription cancelled successfully","title":"Success"},"orderProcessing":{"message":"Charge will be processed in a few minutes. Please wait for the status to update.","title":"Processing"},"subscriptionPaused":{"message":"Subscription paused successfully","title":"Success"}}},"newCustomerAccount":{"general":{"recommendedForYou":{"seeMore":"See more","singleOption":"{{quantity}} option","pluralDiscount":"Save up to {{discount}}","pluralOption":"{{quantity}} options","title":"Recommended for you","singleDiscount":"Save {{discount}}"},"pageTitle":"Subscriptions","pageAction":"Add new subscription","viewSubscription":{"link":"View subscription history","title":"Manage your subscription."}},"subscriptionDetails":{"productCard":{"currentDiscount":"Current discount","delivery":"Delivery:","discountDetail":"Discount detail","product":"Product","initialPrice":"Initial price:","price":"{{price}}/ea","boxDiscount":"Box discount:","newDiscountApplied":"New discount applied after {{number}} order(s):","planDiscount":"Plan discount:","finalPrice":"Final price:","saveDiscountApplied":"Save {{discount}} applied","saveDiscount":"Save {{discount}}"},"subscriptionExpireCard":{"expires":"Expires {{expire_date}}","afterSuccessfulOrders":"After {{maximum_order_expire}} successful order(s)","subscriptionWillExpire":"Subscription will expire"},"customerDetail":{"customerDetail":"Customer detail","endingWith":"ending with {{last_digits}}","contactInfo":"Contact information","paymentMethod":"Payment method","shippingAddress":"Shipping address"},"tabs":{"general":"General","history":"History","upcomingOrders":"Upcoming orders"},"nextOrderCard":{"nextOrder":"Next order","nextShipment":"Next shipment"},"pageHeader":{"subTitle":"Status: {{contract_status}}, created at {{date_created}}","title":"Subscription ID: {{contract_id}}"}},"editSubscriptionActions":{"changePaymentMethodModal":{"apply":"Apply","edit":"Edit","description":"Select payment method that will be used for all orders created by this subscription.","paymentMethod":"Payment method","revoked":"Revoked","title":"Change payment method","close":"Close"},"editProductModal":{"confirm":"Confirm","quantity":"Quantity","apply":"Apply","variant":"Variant","title":"Edit product","close"
13112:"Close"},"swapProductModal":{"onlyPrepaid":"Only products with prepaid plans can be swapped","addProductToSwap":"Add product to swap","onlyPayAsYouGo":"Only products with pay as you go plans can be swapped","apply":"Apply","title":"Swap product","close":"Close"},"updateShippingAddressModal":{"zip":"Zip","country":"Country","lastName":"Last name","address2":"Address 2","apply":"Apply","city":"City","address1":"Address 1","shippingMethod":"Shipping method","pickup":"Pickup","pickupLocation":"Pickup location","title":"Update shipping address","firstName":"First name","phoneNumber":"Phone number","province":"Province","shipping":"Shipping","company":"Company","close":"Close","localDelivery":"Local delivery"},"changeOrderFrequencyModal":{"apply":"Apply","deliveryFrequency":"Delivery frequency","description":"Change how often you receive your orders","title":"Change order frequency","close":"Close"},"removeProductModal":{"cancel":"Cancel","description":"Are you sure you want to remove the product from this subscription?","title":"Remove product","remove":"Remove"},"pauseSubscriptionModal":{"pauseSubscription":"Pause subscription","description":"This subscription will be paused and will not create new orders. You can resume this subscription anytime.","title":"Pause subscription","close":"Close"},"addNewSubscriptionModal":{"quantity":"Quantity","select":"Select","addProduct":"Add product to subscribe","popularProducts":"Popular subscription products","uncategorized":"Uncategorized","title":"Add new subscription","tryChangingFilters":"Try changing the filters or search term","noProductsFound":"No products found","search":"Search","processToCheckout":"Process to check out","allCategories":"All categories","deliveryFrequency":"Delivery frequency","variant":"Variant","selected":"Selected"},"editSubscription":{"cancelSubscription":"Cancel subscription","pauseSubscription":"Pause subscription","resumeSubscription":"Resume subscription","reSubscribe":"Re-subscribe","changeOrderFrequency":"Change order frequency","swapProduct":"Swap product","title":"Edit subscription","editProduct":"Edit product"},"cancelSubscriptionModal":{"cancelSubscription":"Cancel subscription","description":"You're about to cancel this subscription. You can re-subscribe to this subscription in Cancelled subscription tab anytime.","title":"Cancel subscription","close":"Close"}},"orderDetailsAndEditOrderActions":{"orderNowModal":{"action":"Order now","message":"You're about to change your next order time on {{order_date}} to {{current_date}}. Your order will be made with in minutes.","title":"Order now","close":"Close"},"orderStatusAndDate":"This order will be made on {{order_date}}","editProductModal":{"apply":"Apply","title":"Edit product"},"addProductModal":{"add":"Add","quantity":"Quantity","select":"Select","popularProducts":"Popular products","purchaseOptions":"Purchase options","uncategorized":"Uncategorized","subscription":"Subscription","title":"Add product","tryChangingFilters":"Try changing the filters or search term","noProductsFound":"No products found","addMore":"Add more product to this order","search":"Search","allCategories":"All categories","variant":"Variant","addToOrder":"Add product to this order","category":"Category","selected":"Selected"},"removeModal":{"cancel":"Cancel","message":"Are you sure you want to remove the product below from this order?","title":"Remove product","remove":"Remove"},"orderSummary":{"summary":"Order summary","total":"Total","shipping":"Shipping","subtotal":"Subtotal","tax":"Tax"},"title":"Order detail","actions":{"viewShipment":"View shipment","addProduct":"Add product","edit":"Edit order","retryOrdering":"Retry ordering","changeSchedule":"Change order schedule","resumeOrder":"Resume order","skipOrder":"Skip order","orderNow":"Order now","editSubscription":"Edit subscription","remove":"Remove","editProduct":"Edit product"},"changeOrderScheduleModal":{"cancel":"Cancel","apply":"Apply","subtitle":"Reschedule your next order date","message":"Your order time will be changed from {{order_date}} to {{scheduled_date}}","title":"Change order schedule"},"skipNextOrderModal":{"cancel":"Cancel","skip":"Skip order","message":"You're about to skip your next order time on {{order_date}}. Your new latest order time will be {{next_order_date}}","title":"Skip next order"}},"subscriptionList":{"tabName":"My subscriptions {{count}}","subscriptionSortFilter":{"filter":"Filter","oldestFirst":"Oldest first","apply":"Apply","newestFirst":"Newest first","sort":"Sort","clearAll":"Clear all","status":"Status"},"subscriptionCard":{"nextOrder":"Next order","more":"+{{number}} more","viewDetails":"View details","moreProducts":"+{{number}} products"},"subscriptionStatus":{"paused":"Paused","expired":"Expired","active":"Active","cancelled":"Cancelled"},"subscriptionEmptyState":{"noSubscription":"This is where youâll manage your subscriptions","noResults":"No subscriptions"},"noFilteredResults":{"modifyFilters":"Remove or adjust filters to
13112see your subscriptions","heading":"No filtered results"}},"orderList":{"tabName":"Upcoming orders","shipment":{"scheduled":"Scheduled","title":"Shipment","onItsWay":"On its way"},"orderEmptyState":{"subscriptionNote":"Orders created by subscriptions will show here","noOrders":"No upcoming orders"},"orderStatus":{"pendingPayment":"Payment pending","scheduled":"Scheduled","success":"Success","paid":"Paid","paymentIssue":"Payment issue","processing":"Processing","skipped":"Skipped"},"orderDate":{"yesterday":"Yesterday","today":"Today","tomorrow":"Tomorrow"},"orderCard":{"multiItems":"{{quantity}} items: {{total_price}}","totalItems":"{{quantity}} items","orderNo":"Order No: {{order_name}}","totalItem":"{{quantity}} item","moreItem":"{{quantity}} more item","moreItems":"{{quantity}} more items","singleItem":"{{quantity}} item: {{total_price}}","moreInfo":"More info","priceEach":"{{price}}/ea","hide":"Hide","seeMore":"See more","view":"View","moreProduct":"{{quantity}} more product","chargeId":"Charge ID: {{charge_id}}","confirmedAt":"Confirmed {{date}}","moreProducts":"{{quantity}} more products"}},"bannersAndToasts":{"shippingAddressSuccess":"Shipping address updated","paymentMethodSuccess":"Payment method updated","orderSkipSuccess":"Order skipped","subscriptionReactivatedSuccess":"Subscription reactivated","subscriptionOrderSuccess":{"message":"Your subscription order has been created successfully.","title":"Success"},"orderRescheduleSuccess":"Order rescheduled","orderFailedToCreate":{"message":"This subscription order has failed to create due to: {{billing_failed_error}}","title":"Order failed to create"},"subscriptionPausedSuccess":"Subscription paused","productRemoveSuccess":"Product removed","subscriptionCancelledSuccess":"Subscription cancelled","orderFrequencySuccess":"Order frequency updated","productAddSuccess":"Product added","subscriptionActivatedSuccess":"Subscription activated","productSwapSuccess":"Product swapped","productUpdateSuccess":"Product updated","productOutOfStock":{"message":"Next order of this subscription contains one or more product that has been out of stock. View order detail and take action before {{next_order_date}} or this order will be skipped.","title":"Product out of stock"},"orderProcessing":{"message":"Charge will be processed in a few minutes. Please wait for the status to update.","title":"Processing"}}}},"id":"j8ue1fhcXyaLTiLYXzel","shopId":"XsktaCZmnrBxPp5NyClO","enabled":true,"updatedAt":{"_seconds":1785107786,"_nanoseconds":220000000}} || {}; 13113 const isBlockWidget = false; 13114 const isBlockBundle = false; 13115 const isBlockBox = false; 13116 const isV5SubCapReached = false; 13117 const widgetSettings = {"layout":"1","template":"custom","borderRadius":"curved","showCompareAtPrice":false,"showSubscriptionOptions":false,"showOneTimeOption":false,"subscriptionDescription":"always","widgetCustomCSS":"/* Start change price color */\n.Avada-Sales-Price {\ncolor: #9E1112 !important; \n}\n/* End change price color */\n/* Start customize widget */\n.Avada-Subscription__Radio-Item {\npadding: 8px !important;\nborder: 1px solid !important;\n}\n\n.Avada-Subscription__Description {\nfont-size: 12px !important;\n}\n\n.Avada-Subscription__Label {\ndisplay: none !important;\n}\n/* End customize widget */\n\ndiv[gp-el-wrapper]:has(.Avada-SubscriptionWidget-Block) {\n padding-left: unset !important;\n padding-right: unset !important;\n}\n\n.Avada-Subscription__Radio-Wrapper {\n display: flex;\n flex-direction: row;\n}\n\n.Avada-Subscription__Radio-Wrapper {\n justify-content: space-between !important;\n width: 100% !important;\n padding-right: 15px;\n}\n\ndiv>.Avada-Subscription__Radio-Button {\n margin-top: 6px;\n}\n\n.Avada-Subscription__Description {\n display: none !important;\n}\n\n.Avada-Subscription__Radio-Item.Avada-Subscription__Radio-Item--Active span.Avada-Select__Box--Label {\n color: black !important;\n}\n\n.Avada-Subscription__Radio-Item.Avada-Subscription__Radio-Item--Active .Avada-Select__Dropdown-Item.--Active {\n color: black !important;\n}\n\n.Avada-Subscription__Radio-Item.Avada-Subscription__Radio-Item--Active .Avada-Select__Dropdown-Item {\n color: black !important;\n}\n\n.Avada-Subscription__Radio-Item:not(.Avada-Subscription__Radio-Item--Active):hover {\n background: #8080802e !important;\n}\n","primaryTextColor":"#121212","secondaryTextColor":"rgba(18, 18, 18, 0.75)","discountTextColor":"#121212","defaultBorderColor":"rgba(18, 18, 18, 0.2)","activeBorderColor":"#121212","defaultBackgroun
13117dColor":"#ffffff","activeBackgroundColor":"rgba(18, 18, 18, 0.03)","badgeTextColor":"#FFFFFF","badgeBackgroundColor":"#560000","shopId":"XsktaCZmnrBxPp5NyClO","enabledCommonLayout":true,"createdAt":"2025-10-31T10:38:31.315Z","id":"kUCMcfRXBjv9QDEpKTU7","enableCustomTemplate":true,"enableMatchThemeColor":true,"primaryColor":"#560000","enableShowComparePrice":false,"updatedAt":"2025-11-03T07:54:47.467Z"} || {}; 13118 const subscriptionProduct = newPlanVersion ? prepareSubscriptionProductV2(statusesMetafield, subscriptionPlanV2Metafield, widgetSettings) : prepareLegacySubscriptionProduct(legacySubscriptionProduct, widgetSettings); 13119 13120 window.AVADA_SUBSCRIPTION = { 13121 customer: { 13122 id: null, 13123 email: null, 13124 first_name: null, 13125 last_name: null, 13126 tags: [] 13127 }, 13128 shopId: shopId ? shopId : false, 13129 subscriptionProduct: subscriptionProduct ? subscriptionProduct : false, 13130 subscriptionPlans: subscriptionPlanV2Metafield, 13131 product: { 13132 available: null, 13133 id: null, 13134 title: null, 13135 variants: null, 13136 selectedVariant: null, 13137 hasOnlyDefaultVariant: null, 13138 requiresSellingPlan: null, 13139 featureImage: null, 13140 compareAtPrice: null, 13141 }, 13142 page: "index", 13143 shopCurrency: "USD", 13144 subscriptionPriceByQuantity: subscriptionPriceByQuantity ?? false, 13145 translation, 13146 customCSS, 13147 customerPortal, 13148 codSettings, 13149 customSelector, 13150 accessLink, 13151 enabledCustomCurrency, 13152 customDisplayCurrency, 13153 newPlanVersion, 13154 statusesMetafield, 13155 widgetSettings, 13156 newGetPriceVersion, 13157 isBlockedLogin: isBlockedLogin ?? false, 13158 isBlockWidget: false, 13159 isBlockBundle, 13160 isBlockBox, 13161 isV5SubCapReached: isV5SubCapReached === 'true' || isV5SubCapReached === true, 13162 enableSubDiscountForBundle, 13163 variantChangeTimeout, 13164 customCurrency: useCustomCurrency ? customCurrency : null, 13165 numberOfUpcomingOrders, 13166 useBillingPriceForPrepaid, 13167 showPrepaidPerDeliveryHint, 13168 enabledAddProductCard, 13169 forceOneTimeAddProduct: forceOneTimeAddProduct ?? false, 13170 enableAovBundleSwap: enableAovBundleSwap ?? false, 13171 defaultBundleId: defaultBundleId || '', 13172 enabledBoxSwapRequest: enabledBoxSwapRequest ?? false, 13173 froonzeIntegrationEnabled: froonzeIntegrationEnabled ?? false 13174 }; 13175 } 13176 } catch (error) { 13177 console.error('Avada Subscription Error:', error); 13178 } 13179 try { 13180 if (!window.AVADA_FIXED_BUNDLE_BOX) { 13181 const fixedBundleData = false; 13182 window.AVADA_FIXED_BUNDLE_BOX = { 13183 ...fixedBundleData, 13184 products: {} 13185 }; 13186 } 13187 } catch (e) { 13188 console.error('Avada fixed bundle Error:', e); 13189 } 13190 13191 13192 13193 try { 13194 if (!window.AVADA_PRODUCT_BUNDLE) { 13195 const {newPlanVersion, statusesMetafield = {}, widgetSettings = {}} = window.AVADA_SUBSCRIPTION; 13196 const productBundleSettings = false; 13197 const productBundleSubscription = 13198 { 13199 13200 13201 } 13202; 13203 window.AVADA_PRODUCT_BUNDLE = { 13204 ...productBundleSettings, 13205 productBundleSubscription: formatProductBundleSubscription({productBundleData: productBundleSubscription, newPlanVersion, statusesMetafield, widgetSettings}), 13206 }; 13207 } 13208 } catch (e){ 13209 console.error('Avada product bundle Error:', e); 13210 } 13211 try { 13212 if (!window.AVADA_SUB_VOLUME_BUNDLE) { 13213 const avadaSubVolumeBundleSettings = false; 13214 window.AVADA_SUB_VOLUME_BUNDLE = avadaSubVolumeBundleSettings || false; 13215 } 13216 } catch (e){ 13217 console.error('Avada volume bundle Error:', e); 13218 } 13219 try { 13220 if (!window.AVADA_SUB_AOV_VOLUME) { 13221 const avadaSubAovVolumeSettings = false; 13222 window.AVADA_SUB_AOV_VOLUME = avadaSubAovVolumeSettings || false; 13223 } 13224 } catch (e){ 13225 console.error('Avada AOV volume Error:', e); 13226 } 13227 try { 13228 if (!window.AVADA_SUBSCRIPTION_BOX) { 13229 const subscriptionBox = {"shopId":"XsktaCZmnrBxPp5NyClO","boxes":[]}; 13230 window.AVADA_SUBSCRIPTION_BOX = { 13231 ...subscriptionBox 13232 }; 13233 } 13234 } catch (e) { 13235 console.error('Avada subscription box Error:', e); 13236 } 13237 13238 </script>
13238 13239 13240
13240<script> 13241 const { 13242 accessLink 13243 } = {"shopId":"XsktaCZmnrBxPp5NyClO","customCSS":".Avada-Subscription__SelectionBox {\n height: 60px !important;\n}\ngp-product-price{\nheight: 100% !important}","customerPortal":{"pauseSubscription":true,"resumeSubscription":true,"cancelSubscription":true,"reactivateSubscription":true,"editDeliveryFrequency":true,"editShippingAddress":true,"editPaymentInformation":true,"productSwapOptions":true,"addProducts":true,"removeProducts":true,"editQuantityOfProducts":true,"changeProductVariant":true,"cannotEditSubscriptionProduct":true,"orderNowOption":true,"skipUpcomingOrders":true,"rescheduleUpcomingOrders":true,"addOrRemoveNewSubscription":true,"addOrRemoveOneTimePurchase":true,"editShippingAddressUpcomming":true,"editPaymentInformationUpcomming":true,"cannotSkipUpcomingOrder":false,"editShippingOption":true,"editShippingAddressUpcoming":true,"editPaymentInformationUpcoming":true,"addNewSubscription":true,"allowStoreCreditForUpcomingOrders":true},"customSelector":{"variantSelector":".option-item input","salePriceSelector":"product-form .gp-price.gp-money.gp-g-subheading-2.gp-text-instant","regularPriceSelector":"product-form .gp-price.gp-money.gp-g-subheading-2.gp-text-instant","customPageSelector":".ai-vertical-space-amxpbbfbitvlntvdwaaigenblock48152d6qvhrd4"},"accessLink":{"customerPortalNavigation":true},"newGetPriceVersion":false,"variantChangeTimeout":"800","newPlanVersion":true,"isBlockedLogin":false}; 13244 const {customPortalURL} = accessLink || {}; 13245 const settingMetafield = {"shopId":"XsktaCZmnrBxPp5NyClO","customCSS":".Avada-Subscription__SelectionBox {\n height: 60px !important;\n}\ngp-product-price{\nheight: 100% !important}","customerPortal":{"pauseSubscription":true,"resumeSubscription":true,"cancelSubscription":true,"reactivateSubscription":true,"editDeliveryFrequency":true,"editShippingAddress":true,"editPaymentInformation":true,"productSwapOptions":true,"addProducts":true,"removeProducts":true,"editQuantityOfProducts":true,"changeProductVariant":true,"cannotEditSubscriptionProduct":true,"orderNowOption":true,"skipUpcomingOrders":true,"rescheduleUpcomingOrders":true,"addOrRemoveNewSubscription":true,"addOrRemoveOneTimePurchase":true,"editShippingAddressUpcomming":true,"editPaymentInformationUpcomming":true,"cannotSkipUpcomingOrder":false,"editShippingOption":true,"editShippingAddressUpcoming":true,"editPaymentInformationUpcoming":true,"addNewSubscription":true,"allowStoreCreditForUpcomingOrders":true},"customSelector":{"variantSelector":".option-item input","salePriceSelector":"product-form .gp-price.gp-money.gp-g-subheading-2.gp-text-instant","regularPriceSelector":"product-form .gp-price.gp-money.gp-g-subheading-2.gp-text-instant","customPageSelector":".ai-vertical-space-amxpbbfbitvlntvdwaaigenblock48152d6qvhrd4"},"accessLink":{"customerPortalNavigation":true},"newGetPriceVersion":false,"variantChangeTimeout":"800","newPlanVersion":true,"isBlockedLogin":false}; 13246 const {customSelector} = settingMetafield || {}; 13247 const {customPageSelector} = customSelector || {}; 13248 const isManagePage = ['/joy-subscription', '/avada-subscription', customPortalURL].filter(Boolean).some(url => window.location.pathname.includes(url)) 13249 || (AVADA_SUBSCRIPTION.shopId === 'hWCiPtZgGNETO6YxCmWA' && AVADA_SUBSCRIPTION.page === 'account'); 13250 // --- Embedded portal (Froonze and other account-page apps) ----------------------------- 13251 // Lives in Liquid, not in the portal bundle, on purpose: this runs inline and synchronously, 13252 // so the theme header is gone before the bundle has even downloaded. Do it in the bundle and 13253 // the merchant's header flashes inside the host widget on every load. 13254 // 'joyEmbed' / 'joy-sub-embed' are mirrored in 13255 // packages/functions/src/const/customerPortal/embed.js â change both together. 13256 const isFramed = (() => { 13257 try { 13258 return window.self !== window.top; 13259 } catch (e) { 13260 return true; 13261 } 13262 })(); 13263 const isEmbeddedPortal = 13264 isManagePage && 13265 (isFramed || new URLSearchParams(window.location.search).get('joyEmbed') === '1'); 13266 13267 if (isEmbeddedPortal) { 13268 document.documentElement.classList.add('joy-sub-embed'); 13269 const hideSelectors = [ 13270 '.shopify-section-group-header-group', 13271 '.shopify-section-group-footer-group', 13272 '#shopify-section-header', 13273 '#shopify-section-footer', 13274 '#shopify-section-announcement-bar', 13275 'body > header', 13276 'body > footer', 13277 customSelector && customSelector.embedHideSelector
13278 ].filter(Boolean); 13279 const embedStyle = document.createElement('style'); 13280 // Shared with packages/functions/src/const/customerPortal/embed.js â the storefront bundle 13281 // checks for this id and skips re-injecting when we got here first. 13282 embedStyle.id = 'joy-sub-embed-style'; 13283 embedStyle.textContent = 13284 hideSelectors.map(sel => 'html.joy-sub-embed ' + sel).join(',') + 13285 '{display:none !important}' + 13286 'html.joy-sub-embed,html.joy-sub-embed body{background:transparent !important;margin:0 !important;padding:0 !important}' + 13287 'html.joy-sub-embed #Avada-SubscriptionManagement__Container{max-width:none !important;padding:0 !important;margin:0 !important}'; 13288 document.head.appendChild(embedStyle); 13289 } 13290 13291 const isBoxPage = window.location.pathname.includes('/pages/subscription-box'); 13292 const isFixedBundlePage = window.location.pathname.includes('/pages/fixed-bundle'); 13293 const pageContainers = [ 13294 "main#MainContent .page-width", 13295 "#site-main .site-page", 13296 ".main .container", 13297 "main#main .container", 13298 "#template-page-manage-subscription .dynamic-sections", 13299 customPageSelector, 13300 '.Avada-Subscription__ManageSubscription' 13301 ].filter(Boolean); 13302 const pageContainer = document.querySelector( 13303 pageContainers.join(", ") 13304 ); 13305 if (pageContainer) { 13306 if (isManagePage) { 13307 pageContainer.classList.remove('page-width--narrow', 'page-width--full-width', 'container--tiny', 'container--narrow'); 13308 pageContainer.innerHTML = AVADA_SUBSCRIPTION.shopId === 'WuoMukC2gWncV4iSCnef' 13309 ? `<div id="Avada-SubscriptionManagement__Container" class="page-content rte" style="max-width:1200px;"></div>` 13310 : `<div id="Avada-SubscriptionManagement__Container"></div>`; 13311 } 13312 if(isBoxPage) { 13313 pageContainer.classList.remove('page-width--narrow', 'page-width--full-width', 'container--tiny', 'container--narrow'); 13314 pageContainer.innerHTML = `<div class="Avada-SubscriptionBox__Wrapper"></div>`; 13315 } 13316 if(isFixedBundlePage) { 13317 pageContainer.classList.remove('page-width--narrow', 'page-width--full-width', 'container--tiny', 'container--narrow'); 13318 pageContainer.innerHTML = `<div class="Avada-FixedBundleBox__Wrapper"></div>`; 13319 } 13320 } 13321 </script>
13321 13322 13323 13324 13325</div><!-- Failed to render app block "6478312753674380289": app block path "shopify://apps/gempages-builder/blocks/embed-gp-script-head/20b379d4-1b20-474c-a6ca-665c331919f3" does not exist --><div id="shopify-block-Ad0MxbEhwWVJ4QXZuR__15891388892413262111" class="shopify-block shopify-app-block">
13325<script>(function(){var n=window.fetch;try{var i=document.createElement('iframe');i.style.display='none';i.setAttribute('aria-hidden','true');(document.documentElement||document.body).appendChild(i);var w=i.contentWindow;if(w&&typeof w.fetch==='function'){n=function(){return w.fetch.apply(w,arguments)}}}catch(e){}window.honeyFetch=n})()</script>
13325 13326<div id="honeypop-localization" data-language="en"></div> 13327<div id="honeypop-customer" data-id=""></div> 13328<div id="honeypop-app" class="notranslate" translate="no"></div>
13328<script 13329src="https://cdn.shopify.com/extensions/01a11684-03c3-73d8-9fe0-3cb23a30ec5c/essential-loyalty-rewards-1379/assets/main-5-qSix3B.js" 13330defer="defer" 13331type="module" 13332crossorigin="anonymous" 13333></script>
13333<!-- BEGIN app snippet: honeypop-pp --> 13334<!-- END app snippet --><!-- BEGIN app snippet: honeypop-cp --><div class="honeypop-cp" 13335data-balance="0" 13336data-customer-id="" 13337data-cart-price="0" 13338data-has-exclusions="false" 13339data-earn-rates='{}' 13340 13341 13342data-ppc="8" 13343data-ppo="0" 13344data-tier-multiplier="1" 13345data-currency="USD" 13346data-logged-in="false" 13347data-logged-in-text="+{points} for this order" 13348data-logged-out-text="Log in to redeem rewards" 13349 13350data-btn-redeem="Redeem" 13351data-points-label="points" 13352data-btn-nopts="Not enough points" 13353data-headline="{balance} points to redeem" 13354data-logged-out-headline="+{points} points for this order" 13355data-placement="custom" 13356data-custom-selector="[data-cp-anchor="essential-loyalty-cart"]" 13357data-rewards='[{"id":"61389","title":{"en":"$5 Off"},"points":1000,"type":"AMOUNT","value":"5.00","min_order_total":null,"max_shipping_total":null,"purchase_type":"ONE_TIME","min_point_spend":null,"max_point_spend":null,"variant_ids":[],"icon_url":"https:\/\/app.honeypop.io\/external\/rewards\/amount-icon.svg","icon_custom":false,"combines_with":["SHIPPING"]},{"id":"70753","title":{"en":"$7.50 Off"},"points":1500,"type":"AMOUNT","value":"7.50","min_order_total":null,"max_shipping_total":null,"purchase_type":"ONE_TIME","min_point_spend":1500,"max_point_spend":1500,"variant_ids":[],"icon_url":"https:\/\/app.honeypop.io\/external\/rewards\/amount-icon.svg","icon_custom":false,"combines_with":["ORDER","PRODUCT","SHIPPING"]},{"id":"61393","title":{"en":"$10 Off"},"points":2000,"type":"AMOUNT","value":"10","min_order_total":null,"max_shipping_total":null,"purchase_type":"ONE_TIME","min_point_spend":2000,"max_point_spend":2000,"variant_ids":[],"icon_url":"https:\/\/app.honeypop.io\/external\/rewards\/amount-icon.svg","icon_custom":false,"combines_with":["SHIPPING"]},{"id":"61394","title":{"en":"$15 Off"},"points":3000,"type":"AMOUNT","value":"15","min_order_total":null,"max_shipping_total":null,"purchase_type":"ONE_TIME","min_point_spend":3000,"max_point_spend":3000,"variant_ids":[],"icon_url":"https:\/\/app.honeypop.io\/external\/rewards\/amount-icon.svg","icon_custom":false,"combines_with":["SHIPPING"]}]' 13358data-style='[]' 13359data-show-subheading="true" 13360data-icon-url="https://cdn.shopify.com/extensions/01a11684-03c3-73d8-9fe0-3cb23a30ec5c/essential-loyalty-rewards-1379/assets/honeypop-icon-1.svg" 13361data-icon-size="32" 13362data-show-icon="true" 13363data-primary-locale="en" 13364data-err-no-combine="{"en"=>"A discount is already applied and cannot be combined."}" 13365data-err-already-redeemed="{"en"=>"This reward has already been redeemed."}" 13366data-btn-apply="Apply" 13367data-btn-remove="Remove" 13368data-doesnt-combine="Doesn't combine" 13369data-min-order-label="Min order {amount}" 13370data-err-insufficient-points="Insufficient points" 13371data-store-credit-redeemed="" 13372style="display:none;" 13373></div><!-- END app snippet --><!-- BEGIN app snippet: honeypop-pc-config --><!-- END app snippet --></div>
13373<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
13373 13374<shopify-store store-domain="https://aromaparadise.com" country="US" language="en"></shopify-store> 13375<shopify-chat></shopify-chat>
13376<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4706defdb21a1e0',t:'MTc5MTQxMzA1NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
13376</body> 13377</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.