PageSourceSearch

https://www.santubeauty.com/search

html santubeauty.com collected 2026-10-06 16:54:11 UTC 185,355 bytes, 3,142 lines download raw bytes

1<!doctype html>
2
3
4
5
6<html class="no-js" lang="en" ><head>
6<script data-source-attribution="shopify.event_observer.bootstrap">
7(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//www.santubeauty.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`68234969307`)))})();
8//# sourceURL=event-observer-collector.js
9</script>
9
10
11  
11<script type="application/vnd.locksmith+json" data-locksmith>{"version":"v346","locked":false,"initialized":true,"scope":"search","access_granted":true,"access_denied":false,"requires_customer":false,"manual_lock":false,"remote_lock":false,"has_timeout":false,"remote_rendered":null,"hide_resource":false,"hide_links_to_resource":false,"hide_price":false,"hide_add_to_cart":false,"transparent":true,"locks":{"all":[],"opened":[]},"keys":[],"keys_signature":"d288adb3ffcceb10d68d7364f54f3d41728137340c3904d53ef5860dcd103593","state":{"template":"search","theme":162145501403,"product":null,"collection":null,"page":null,"blog":null,"article":null,"app":null},"now":1791305651,"path":"\/search","locale_root_url":"\/","canonical_url":"https:\/\/www.santubeauty.com\/search","customer_id":null,"customer_id_signature":"d288adb3ffcceb10d68d7364f54f3d41728137340c3904d53ef5860dcd103593","cart":null}</script>
11<script data-locksmith>!function(){undefined;!function(){var s=window.Locksmith={},e=document.querySelector('script[type="application/vnd.locksmith+json"]'),n=e&&e.innerHTML;if(s.state={},s.util={},s.loading=!1,n)try{s.state=JSON.parse(n)}catch(d){}if(document.addEventListener&&document.querySelector){var o,i,a,t=[76,79,67,75,83,77,73,84,72,49,49],c=function(){i=t.slice(0)},l="style",r=function(e){e&&27!==e.keyCode&&"click"!==e.type||(document.removeEventListener("keydown",r),document.removeEventListener("click",r),o&&document.body.removeChild(o),o=null)};c(),document.addEventListener("keyup",function(e){if(e.keyCode===i[0]){if(clearTimeout(a),i.shift(),0<i.length)return void(a=setTimeout(c,1e3));c(),r(),(o=document.createElement("div"))[l].width="50%",o[l].maxWidth="1000px",o[l].height="85%",o[l].border="1px rgba(0, 0, 0, 0.2) solid",o[l].background="rgba(255, 255, 255, 0.99)",o[l].borderRadius="4px",o[l].position="fixed",o[l].top="50%",o[l].left="50%",o[l].transform="translateY(-50%) translateX(-50%)",o[l].boxShadow="0 2px 5px rgba(0, 0, 0, 0.3), 0 0 100vh 100vw rgba(0, 0, 0, 0.5)",o[l].zIndex="2147483645";var t=document.createElement("textarea");t.value=JSON.stringify(JSON.parse(n),null,2),t[l].border="none",t[l].display="block",t[l].boxSizing="border-box",t[l].width="100%",t[l].height="100%",t[l].background="transparent",t[l].padding="22px",t[l].fontFamily="monospace",t[l].fontSize="14px",t[l].color="#333",t[l].resize="none",t[l].outline="none",t.readOnly=!0,o.appendChild(t),document.body.appendChild(o),t.addEventListener("click",function(e){e.stopImmediatePropagation()}),t.select(),document.addEventListener("keydown",r),document.addEventListener("click",r)}})}s.isEmbedded=-1!==window.location.search.indexOf("_ab=0&_fd=0&_sc=1"),s.path=s.state.path||window.location.pathname,s.basePath=s.state.locale_root_url.concat("/apps/locksmith").replace(/^\/\//,"/"),s.reloading=!1,s.util.console=window.console||{log:function(){},error:function(){}},s.util.makeUrl=function(e,t){var n,o=s.basePath+e,i=[],a=s.cache();for(n in a)i.push(n+"="+encodeURIComponent(a[n]));for(n in t)i.push(n+"="+encodeURIComponent(t[n]));return s.state.customer_id&&(i.push("customer_id="+encodeURIComponent(s.state.customer_id)),i.push("customer_id_signature="+encodeURIComponent(s.state.customer_id_signature))),o+=(-1===o.indexOf("?")?"?":"&")+i.join("&")},s._initializeCallbacks=[],s.on=function(e,t){if("initialize"!==e)throw'Locksmith.on() currently only supports the "initialize" event';s._initializeCallbacks.push(t)},s.initializeSession=function(e){if(!s.isEmbedded){var t=!1,n=!0,o=!0;(e=e||{}).silent&&(o=n=!(t=!0)),s.ping({silent:t,spinner:n,reload:o,callback:function(){s._initializeCallbacks.forEach(function(e){e()})}})}},s.cache=function(e){var t={};try{var n=function i(e){return(document.cookie.match("(^|; )"+e+"=([^;]*)")||0)[2]};t=JSON.parse(decodeURIComponent(n("locksmith-params")||"{}"))}catch(d){}if(e){for(var o in e)t[o]=e[o];document.cookie="locksmith-params=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",document.cookie="locksmith-params="+encodeURIComponent(JSON.stringify(t))+"; path=/"}return t},s.cache.cart=s.state.cart,s.cache.cartLastSaved=null,s.params=s.cache(),s.util.reload=function(){s.reloading=!0;try{window.location.href=window.location.href.replace(/#.*/,"")}catch(d){s.util.console.error("Preferred reload method failed",d),window.location.reload()}},s.cache.saveCart=function(e){if(!s.cache.cart||s.cache.cart===s.cache.cartLastSaved)return e?e():null;var t=s.cache.cartLastSaved;s.cache.cartLastSaved=s.cache.cart,fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({attributes:{locksmith:s.cache.cart}})}).then(function(e){if(!e.ok)throw new Error("Cart update failed: "+e.status);return e.json()}).then(function(){e&&e()})["catch"](function(e){if(s.cache.cartLastSaved=t,!s.reloading)throw e})},s.util.spinnerHTML='<style>body{background:#FFF}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}#loading{display:flex;width:100%;height:50vh;
11color:#777;align-items:center;justify-content:center}#loading .spinner{display:block;animation:spin 600ms linear infinite;position:relative;width:50px;height:50px}#loading .spinner-ring{stroke:currentColor;stroke-dasharray:100%;stroke-width:2px;stroke-linecap:round;fill:none}</style><div id="loading"><div class="spinner"><svg width="100%" height="100%"><svg preserveAspectRatio="xMinYMin"><circle class="spinner-ring" cx="50%" cy="50%" r="45%"></circle></svg></svg></div></div>',s.util.clobberBody=function(e){document.body.innerHTML=e},s.util.clobberDocument=function(e){e.responseText&&(e=e.responseText),document.documentElement&&document.removeChild(document.documentElement);var t=document.open("text/html","replace");t.writeln(e),t.close(),setTimeout(function(){var e=t.querySelector("[autofocus]");e&&e.focus()},100)},s.util.serializeForm=function(e){if(e&&"FORM"===e.nodeName){var t,n,o={};for(t=e.elements.length-1;0<=t;t-=1)if(""!==e.elements[t].name)switch(e.elements[t].nodeName){case"INPUT":switch(e.elements[t].type){default:case"text":case"hidden":case"password":case"button":case"reset":case"submit":o[e.elements[t].name]=e.elements[t].value;break;case"checkbox":case"radio":e.elements[t].checked&&(o[e.elements[t].name]=e.elements[t].value);break;case"file":}break;case"TEXTAREA":o[e.elements[t].name]=e.elements[t].value;break;case"SELECT":switch(e.elements[t].type){case"select-one":o[e.elements[t].name]=e.elements[t].value;break;case"select-multiple":for(n=e.elements[t].options.length-1;0<=n;n-=1)e.elements[t].options[n].selected&&(o[e.elements[t].name]=e.elements[t].options[n].value)}break;case"BUTTON":switch(e.elements[t].type){case"reset":case"submit":case"button":o[e.elements[t].name]=e.elements[t].value}}return o}},s.util.on=function(e,a,s,t){t=t||document;var c="locksmith-"+e+a,n=function(e){var t=e.target,n=e.target.parentElement,o=t&&t.className&&(t.className.baseVal||t.className)||"",i=n&&n.className&&(n.className.baseVal||n.className)||"";("string"==typeof o&&-1!==o.split(/\s+/).indexOf(a)||"string"==typeof i&&-1!==i.split(/\s+/).indexOf(a))&&!e[c]&&(e[c]=!0,s(e))};t.attachEvent?t.attachEvent(e,n):t.addEventListener(e,n,!1)},s.util.enableActions=function(e){s.util.on("click","locksmith-action",function(e){e.preventDefault();var t=e.target;t.dataset.confirmWith&&!confirm(t.dataset.confirmWith)||(t.disabled=!0,t.innerText=t.dataset.disableWith,s.post("/action",t.dataset.locksmithParams,{spinner:!1,type:"text",success:function(e){(e=JSON.parse(e.responseText)).message&&alert(e.message),s.util.reload()}}))},e)},s.util.inject=function(e,t){var n=["data","locksmith","append"];if(-1!==t.indexOf(n.join("-"))){var o=document.createElement("div");o.innerHTML=t,e.appendChild(o)}else e.innerHTML=t;var i,a,s=e.querySelectorAll("script");for(a=0;a<s.length;++a){i=s[a];var c=document.createElement("script");if(i.type&&(c.type=i.type),i.src)c.src=i.src;else{var l=document.createTextNode(i.innerHTML);c.appendChild(l)}e.appendChild(c)}var r=e.querySelector("[autofocus]");r&&r.focus()},s.post=function(e,t,n){!1!==(n=n||{}).spinner&&s.util.clobberBody(s.util.spinnerHTML);var o={};n.container===document?(o.layout=1,n.success=function(e){s.util.clobberDocument(e)}):n.container&&(o.layout=0,n.success=function(e){var t="string"==typeof n.container?document.getElementById(n.container):n.container;t&&(s.util.inject(t,e),t.id===t.firstChild.id&&t.parentElement.replaceChild(t.firstChild,t))}),n.form_type&&(t.form_type=n.form_type),n.include_layout_classes!==undefined&&(t.include_layout_classes=n.include_layout_classes),n.lock_id!==undefined&&(t.lock_id=n.lock_id),s.loading=!0;var i=s.util.makeUrl(e,o),a="json"===n.type||"text"===n.type;fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:a?"application/json":"text/html"},body:JSON.stringify(t)}).then(function(e){if(!e.ok)throw new Error("Request failed: "+e.status);return e.text()}).then(function(e){var t=n.success||s.util.clobberDocument;t(a?{responseText:e}:e)})["catch"](function(e){if(!s.reloading)if("dashboard.weglot.com"!==window.location.host){if(!n.silent)throw alert("Something went wrong! Please refresh and try again."),e;console.error(e)}else console.error(e)})["finally"](function(){s.loading=!1})},s.postResource=function(e,t){e.path=s.path,e.search=window.location.search,e.state=s.state,e.passcode&&(e.passcode=e.passcode.trim()),e.email&&(e.email=e.email.trim()),e.state.cart=s.cache.cart,e.locksmith_json=s.jsonTag,e.locksmith_json_signature=s.jsonTagSignature,s.post("/resource",e,t)},s.ping=function(e){if(!s.isEmbedded){e=e||{};s.post("/ping",{path:s.path,search:window.location.search,state:s.state},{spinner:!!e.spinner,silent:"undefined"==typeof e.silent||e.silent,type:"text",success:function(e){e&&e.responseText?(e=JSON.parse(e.responseText)).messages&&0<e.messages.length&&s.showMessages(e.messages):console.error("[Locksmith] Invalid result in ping callback:",e)}})}},s.timeoutMonitor=function(){var e=s.cache.cart;s.ping({callback:function(){e!==s.cache.cart||setTimeout(function(){s.timeoutMonitor()},6e4)}})},s.showMessages=function(e){var t=document.createElement("div");t.style.position="fixed",t.style.left=0,t.style.right=0,t.style.bottom="-50px",t.style.opacity=0,t.style.background="#191919",t.style.color="#ddd",t.style.transition="bottom 0.2s, opacity 0.2s",t.style.zIndex=999999,t.innerHTML=["<style>","  .locksmith-ab .locksmith-b { display: none; }","  .locksmith-ab.toggled .locksmith-b { display: flex; }","  .locksmith-ab.toggled .locksmith-a { display: none; }","  .locksmith-flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 10px 20px; }","  .locksmith-message + .locksmith-message { border-top: 1px #555 solid; }","  .locksmith-message a { color: inherit; font-weight: bold; }","  .locksmith-message a:hover { color: inherit; opacity: 0.8; }","  a.locksmith-ab-toggle { font-weight: inherit; text-decoration: underline; }","  .locksmith-text { flex-grow: 1; }","  .locksmith-cta { flex-grow: 0; text-align: right; }","  .locksmith-cta button { transform: scale(0.8); transform-origin: left; }","  .locksmith-cta > * { display: block; }","  .locksmith-cta > * + * { margin-top: 10px; }","  .locksmith-message a.locksmith-close { flex-grow: 0; text-decoration: none; margin-left: 15px; font-size: 30px; font-family: monospace; display: block; padding: 2px 10px; }","  @media screen and (max-width: 600px) {","    .locksmith-wide-only { display: none !important; }","    .locksmith-flex { padding: 0 15px; }","    .locksmith-flex > * { margin-top: 5px; margin-bottom: 5px; }","    .locksmith-cta { text-align: left; }","  }","  @media screen and (min-width: 601px) {","    .locksmith-narrow-only { display: none !important; }","  }","</style>"].join("")+e.map(function(e){return'<div class="locksmith-message">'+e+"</div>"}).join(""),document.body.appendChild(t),document.body.style.position="relative",document.body.parentElement.style.paddingBottom=t.offsetHeight+"px",setTimeout(function(){t.style.bottom=0,t.style.opacity=1},50),s.util.on("click","locksmith-ab-toggle",function(e){e.preventDefault();for(var t=e.target.parentElement;-1===t.className.split(" ").indexOf("locksmith-ab");)t=t.parentElement;-1!==t.className.split(" ").indexOf("toggled")?t.className=t.className.replace("toggled",""):t.className=t.className+" toggled"}),s.util.enableActions(t)}}()}();</script>
11
12      
12<script data-locksmith>Locksmith.cache.cart=null</script>
12
13
14  
14<script data-locksmith>Locksmith.jsonTag="{\"version\":\"v346\",\"locked\":false,\"initialized\":true,\"scope\":\"search\",\"access_granted\":true,\"access_denied\":false,\"requires_customer\":false,\"manual_lock\":false,\"remote_lock\":false,\"has_timeout\":false,\"remote_rendered\":null,\"hide_resource\":false,\"hide_links_to_resource\":false,\"hide_price\":false,\"hide_add_to_cart\":false,\"transparent\":true,\"locks\":{\"all\":[],\"opened\":[]},\"keys\":[],\"keys_signature\":\"d288adb3ffcceb10d68d7364f54f3d41728137340c3904d53ef5860dcd103593\",\"state\":{\"template\":\"search\",\"theme\":162145501403,\"product\":null,\"collection\":null,\"page\":null,\"blog\":null,\"article\":null,\"app\":null},\"now\":1791305651,\"path\":\"\\\/search\",\"locale_root_url\":\"\\\/\",\"canonical_url\":\"https:\\\/\\\/www.santubeauty.com\\\/search\",\"customer_id\":null,\"customer_id_signature\":\"d288adb3ffcceb10d68d7364f54f3d41728137340c3904d53ef5860dcd103593\",\"cart\":null}";Locksmith.jsonTagSignature="b8d93436307f8915f1eb8ccccba67d634d947775f18a05e3f4225b05b3f78125"</script>
14
15  <meta charset="utf-8">
16  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
17  <meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
18  <meta name="theme-color" content="#dd8d6a"><link rel="canonical" href="https://www.santubeauty.com/search"><!-- ======================= Pipeline Theme V7.1.3 ========================= -->
19
20  <!-- Preloading ================================================================== -->
21
22  <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
23  <link rel="dns-prefetch" href="https://cdn.shopify.com">
24  <link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
25  <link rel="dns-prefetch" href="https://fonts.shopifycdn.com">
26  <link rel="preconnect" href="https://monorail-edge.shopifysvc.com" crossorigin>
27
28  <link rel="preload" href="//www.santubeauty.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2" as="font" type="font/woff2" crossorigin>
29  <link rel="preload" href="//www.santubeauty.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2" as="font" type="font/woff2" crossorigin>
30  <link rel="preload" href="//www.santubeauty.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2" as="font" type="font/woff2" crossorigin>
31
32  <link href="//www.santubeauty.com/cdn/shop/t/25/assets/vendor.js?v=144118437607305429831780517567" as="script" rel="preload">
33  <link href="//www.santubeauty.com/cdn/shop/t/25/assets/theme.js?v=154126698806131224561780517566" as="script" rel="preload">
34  <link href="//www.santubeauty.com/cdn/shop/t/25/assets/theme.css?v=177657655296872941241782258427" as="script" rel="preload">
35
36  <!-- Title and description ================================================ --><link rel="shortcut icon" href="//www.santubeauty.com/cdn/shop/files/Isotype_32x32.svg?v=1723503558" type="image/png">
37  <title>
38    
39
40    Search
41&ndash; Santu Beauty 
42
43  </title><meta name="description" content="A New Story of Self-Love">
44<!-- /snippets/social-meta-tags.liquid --><meta property="og:site_name" content="Santu Beauty ">
45<meta property="og:url" content="https://www.santubeauty.com/search"><meta property="og:title" content="Search">
46<meta property="og:type" content="website">
47<meta property="og:description" content="A New Story of Self-Love">
48
49
50
51<meta name="twitter:site" content="@">
52<meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Search">
53<meta name="twitter:description" content="A New Story of Self-Love">
54<!-- CSS ================================================================== -->
55
56  <link href="//www.santubeauty.com/cdn/shop/t/25/assets/font-settings.css?v=12553695491140244711780517597" rel="stylesheet" type="text/css" media="all" />
57
58  <!-- /snippets/css-variables.liquid -->
59
60
61<style data-shopify>
62
63:root {
64/* ================ Layout Variables ================ */
65
66
67
68
69
70
71--LAYOUT-WIDTH: 1450px;
72--LAYOUT-GUTTER: 24px;
73--LAYOUT-GUTTER-OFFSET: -24px;
74--NAV-GUTTER: 15px;
75--LAYOUT-OUTER: 50px;
76
77/* ================ Product video ================ */
78
79--COLOR-VIDEO-BG: #d4d1c0;
80
81
82/* ================ Color Variables ================ */
83
84/* === Backgrounds ===*/
85--COLOR-BG: #dedccf;
86--COLOR-BG-ACCENT: #dedccf;
87
88/* === Text colors ===*/
89--COLOR-TEXT-DARK: #150906;
90--COLOR-TEXT: #4b261c;
91--COLOR-TEXT-LIGHT: #775d52;
92
93/* === Bright color ===*/
94--COLOR-PRIMARY: #8e6b66;
95--COLOR-PRIMARY-HOVER: #6e403a;
96--COLOR-PRIMARY-FADE: rgba(142, 107, 102, 0.05);
97--COLOR-PRIMARY-FADE-HOVER: rgba(142, 107, 102, 0.1);--COLOR-PRIMARY-OPPOSITE: #ffffff;
98
99/* === Secondary/link Color ===*/
100--COLOR-SECONDARY: #dd8d6a;
101--COLOR-SECONDARY-HOVER: #df581b;
102--COLOR-SECONDARY-FADE: rgba(221, 141, 106, 0.05);
103--COLOR-SECONDARY-FADE-HOVER: rgba(221, 141, 106, 0.1);--COLOR-SECONDARY-OPPOSITE: #000000;
104
105/* === Shades of grey ===*/
106--COLOR-A5:  rgba(75, 38, 28, 0.05);
107--COLOR-A10: rgba(75, 38, 28, 0.1);
108--COLOR-A20: rgba(75, 38, 28, 0.2);
109--COLOR-A35: rgba(75, 38, 28, 0.35);
110--COLOR-A50: rgba(75, 38, 28, 0.5);
111--COLOR-A80: rgba(75, 38, 28, 0.8);
112--COLOR-A90: rgba(75, 38, 28, 0.9);
113--COLOR-A95: rgba(75, 38, 28, 0.95);
114
115
116/* ================ Inverted Color Variables ================ */
117
118--INVERSE-BG: #8e6b66;
119--INVERSE-BG-ACCENT: #1d1d1d;
120
121/* === Text colors ===*/
122--INVERSE-TEXT-DARK: #ffffff;
123--INVERSE-TEXT: #ffffff;
124--INVERSE-TEXT-LIGHT: #ddd3d1;
125
126/* === Bright color ===*/
127--INVERSE-PRIMARY: #d2815f;
128--INVERSE-PRIMARY-HOVER: #c35121;
129--INVERSE-PRIMARY-FADE: rgba(210, 129, 95, 0.05);
130--INVERSE-PRIMARY-FADE-HOVER: rgba(210, 129, 95, 0.1);--INVERSE-PRIMARY-OPPOSITE: #000000;
131
132
133/* === Second Color ===*/
134--INVERSE-SECONDARY: #748cab;
135--INVERSE-SECONDARY-HOVER: #3f6493;
136--INVERSE-SECONDARY-FADE: rgba(116, 140, 171, 0.05);
137--INVERSE-SECONDARY-FADE-HOVER: rgba(116, 140, 171, 0.1);--INVERSE-SECONDARY-OPPOSITE: #ffffff;
138
139
140/* === Shades of grey ===*/
141--INVERSE-A5:  rgba(255, 255, 255, 0.05);
142--INVERSE-A10: rgba(255, 255, 255, 0.1);
143--INVERSE-A20: rgba(255, 255, 255, 0.2);
144--INVERSE-A35: rgba(255, 255, 255, 0.3);
145--INVERSE-A80: rgba(255, 255, 255, 0.8);
146--INVERSE-A90: rgba(255, 255, 255, 0.9);
147--INVERSE-A95: rgba(255, 255, 255, 0.95);
148
149
150/* ================ Bright Color Variables ================ */
151
152--BRIGHT-BG: #d2815f;
153--BRIGHT-BG-ACCENT: #94553a;
154
155/* === Text colors ===*/
156--BRIGHT-TEXT-DARK: #ffffff;
157--BRIGHT-TEXT: #ffffff;
158--BRIGHT-TEXT-LIGHT: #f2d9cf;
159
160/* === Bright color ===*/
161--BRIGHT-PRIMARY: #ff763d;
162--BRIGHT-PRIMARY-HOVER: #f04600;
163--BRIGHT-PRIMARY-FADE: rgba(255, 118, 61, 0.05);
164--BRIGHT-PRIMARY-FADE-HOVER: rgba(255, 118, 61, 0.1);--BRIGHT-PRIMARY-OPPOSITE: #000000;
165
166
167/* === Second Color ===*/
168--BRIGHT-SECONDARY: #3d5aff;
169--BRIGHT-SECONDARY-HOVER: #0024f0;
170--BRIGHT-SECONDARY-FADE: rgba(61, 90, 255, 0.05);
171--BRIGHT-SECONDARY-FADE-HOVER: rgba(61, 90, 255, 0.1);--BRIGHT-SECONDARY-OPPOSITE: #ffffff;
172
173
174/* === Shades of grey ===*/
175--BRIGHT-A5:  rgba(255, 255, 255, 0.05);
176--BRIGHT-A10: rgba(255, 255, 255, 0.1);
177--BRIGHT-A20: rgba(255, 255, 255, 0.2);
178--BRIGHT-A35: rgba(255, 255, 255, 0.3);
179--BRIGHT-A80: rgba(255, 255, 255, 0.8);
180--BRIGHT-A90: rgba(255, 255, 255, 0.9);
181--BRIGHT-A95: rgba(255, 255, 255, 0.95);
182
183
184/* === Account Bar ===*/
185--COLOR-ANNOUNCEMENT-BG: #dedccf;
186--COLOR-ANNOUNCEMENT-TEXT: #4b261c;
187
188/* === Nav and dropdown link background ===*/
189--COLOR-NAV: #dedccf;
190--COLOR-NAV-TEXT: #4b261c;
191--COLOR-NAV-TEXT-DARK: #150906;
192--COLOR-NAV-TEXT-LIGHT: #775d52;
193--COLOR-NAV-BORDER: #f7f5f4;
194--COLOR-NAV-A10: rgba(75, 38, 28, 0.1);
195--COLOR-NAV-A50: rgba(75, 38, 28, 0.5);
196--COLOR-HIGHLIGHT-LINK: #dd8d6a;
197
198/* === Site Footer ===*/
199--COLOR-FOOTER-BG: #8e6b66;
200--COLOR-FOOTER-TEXT: #ffffff;
201--COLOR-FOOTER-A5: rgba(255, 255, 255, 0.05);
202--COLOR-FOOTER-A15: rgba(255, 255, 255, 0.15);
203--COLOR-FOOTER-A90: rgba(255, 255, 255, 0.9);
204
205/* === Sub-Footer ===*/
206--COLOR-SUB-FOOTER-BG: #1d1d1d;
207--COLOR-SUB-FOOTER-TEXT: #ffffff;
208--COLOR-SUB-FOOTER-A5: rgba(255, 255, 255, 0.05);
209--COLOR-SUB-FOOTER-A15: rgba(255, 255, 255, 0.15);
210--COLOR-SUB-FOOTER-A90: rgba(255, 255, 255, 0.9);
211
212/* === Products ===*/
213--PRODUCT-GRID-ASPECT-RATIO: 100%;
214
215/* === Product badges ===*/
216--COLOR-BADGE: #ffffff;
217--COLOR-BADGE-TEXT: #424242;
218--COLOR-BADGE-TEXT-DARK: #1f1919;
219--COLOR-BADGE-TEXT-HOVER: #686868;
220--COLOR-BADGE-HAIRLINE: #f6f6f6;
221
222/* === Product item slider ===*/--COLOR-PRODUCT-SLIDER: #ffffff;--COLOR-PRODUCT-SLIDER-OPPOSITE: rgba(13, 13, 13, 0.06);/* === disabled form colors ===*/
223--COLOR-DISABLED-BG: #cfcabd;
224--COLOR-DISABLED-TEXT: #ab9c90;
225
226--INVERSE-DISABLED-BG: #997a75;
227--INVERSE-DISABLED-TEXT: #b69f9c;
228
229
230/* === Tailwind RGBA Palette ===*/
231--RGB-CANVAS: 222 220 207;
232--RGB-CONTENT: 75 38 28;
233--RGB-PRIMARY: 142 107 102;
234--RGB-SECONDARY: 221 141 106;
235
236--RGB-DARK-CANVAS: 142 107 102;
237--RGB-DARK-CONTENT: 255 255 255;
238--RGB-DARK-PRIMARY: 210 129 95;
239--RGB-DARK-SECONDARY: 116 140 171;
240
241--RGB-BRIGHT-CANVAS: 210 129 95;
242--RGB-BRIGHT-CONTENT: 255 255 255;
243--RGB-BRIGHT-PRIMARY: 255 118 61;
244--RGB-BRIGHT-SECONDARY: 61 90 255;
245
246--RGB-PRIMARY-CONTRAST: 255 255 255;
247--RGB-SECONDARY-CONTRAST: 0 0 0;
248
249--RGB-DARK-PRIMARY-CONTRAST: 0 0 0;
250--RGB-DARK-SECONDARY-CONTRAST: 255 255 255;
251
252--RGB-BRIGHT-PRIMARY-CONTRAST: 0 0 0;
253--RGB-BRIGHT-SECONDARY-CONTRAST: 255 255 255;
254
255
256/* === Button Radius === */
257--BUTTON-RADIUS: 10px;
258
259
260/* ================ Typography ================ */
261
262--FONT-STACK-BODY: Jost, sans-serif;
263--FONT-STYLE-BODY: normal;
264--FONT-WEIGHT-BODY: 400;
265--FONT-WEIGHT-BODY-BOLD: 500;
266--FONT-ADJUST-BODY: 0.9;
267
268  --FONT-BODY-TRANSFORM: none;
269  --FONT-BODY-LETTER-SPACING: normal;
270
271
272--FONT-STACK-HEADING: Jost, sans-serif;
273--FONT-STYLE-HEADING: normal;
274--FONT-WEIGHT-HEADING: 400;
275--FONT-WEIGHT-HEADING-BOLD: 500;
276--FONT-ADJUST-HEADING: 1.0;
277
278  --FONT-HEADING-TRANSFORM: none;
279  --FONT-HEADING-LETTER-SPACING: normal;
280
281
282--FONT-STACK-ACCENT: Jost, sans-serif;
283--FONT-STYLE-ACCENT: normal;
284--FONT-WEIGHT-ACCENT: 400;
285--FONT-WEIGHT-ACCENT-BOLD: 500;
286--FONT-ADJUST-ACCENT: 1.0;
287
288  --FONT-ACCENT-TRANSFORM: uppercase;
289  --FONT-ACCENT-LETTER-SPACING: 0.09em;
290
291--TYPE-STACK-NAV: Jost, sans-serif;
292--TYPE-STYLE-NAV: normal;
293--TYPE-ADJUST-NAV: 1.0;
294--TYPE-WEIGHT-NAV: 400;
295
296  --FONT-NAV-TRANSFORM: none;
297  --FONT-NAV-LETTER-SPACING: normal;
298
299
300--TYPE-STACK-BUTTON: Jost, sans-serif;
301--TYPE-STYLE-BUTTON: normal;
302--TYPE-ADJUST-BUTTON: 1.0;
303--TYPE-WEIGHT-BUTTON: 500;
304
305  --FONT-BUTTON-TRANSFORM: none;
306  --FONT-BUTTON-LETTER-SPACING: normal;
307
308
309--TYPE-STACK-KICKER: Jost, sans-serif;
310--TYPE-STYLE-KICKER: normal;
311--TYPE-ADJUST-KICKER: 1.0;
312--TYPE-WEIGHT-KICKER: 500;
313
314  --FONT-KICKER-TRANSFORM: none;
315  --FONT-KICKER-LETTER-SPACING: normal;
316
317
318
319--ICO-SELECT: url('//www.santubeauty.com/cdn/shop/t/25/assets/ico-select.svg?v=47991760542940218071780517597');
320
321/* ================ Photo correction ================ */
322--PHOTO-CORRECTION: 100%;
323
324
325
326}
327
328/* ================ Typography ================ */
329/* ================ type-scale.com ============ */
330
331/* 1.16 base 11.5 */
332:root {
333  --font-1: 10px;
334  --font-2: 11px;
335  --font-3: 13px;
336  --font-4: 15px;
337  --font-5: 17px;
338  --font-6: 20px;
339  --font-7: 24px;
340  --font-8: 27px;
341  --font-9: 32px;
342  --font-10:37px;
343  --font-11:43px;
344  --font-12:49px;
345  --font-13:57px;
346  --font-14:67px;
347  --font-15:77px;
348}
349
350/* 1.175 base 11.5 */
351@media only screen and (min-width: 480px) and (max-width: 1099px) {
352  :root {
353  --font-1: 10px;
354  --font-2: 11.5px;
355  --font-3: 13.5px;
356  --font-4: 16px;
357  --font-5: 19px;
358  --font-6: 22px;
359  --font-7: 26px;
360  --font-8: 30px;
361  --font-9: 36px;
362  --font-10:42px;
363  --font-11:49px;
364  --font-12:58px;
365  --font-13:68px;
366  --font-14:80px;
367  --font-15:94px;
368  }
369}
370
371 /* 1.22 base 11.5 */
372 @media only screen and (min-width: 1100px) {
373  :root {
374  --font-1: 10px;
375  --font-2: 11.5px;
376  --font-3: 14px;
377  --font-4: 17px;
378  --font-5: 21px;
379  --font-6: 25px;
380  --font-7: 31px;
381  --font-8: 38px;
382  --font-9: 46px;
383  --font-10:56px;
384  --font-11:68px;
385  --font-12:83px;
386  --font-13:102px;
387  --font-14:124px;
388  --font-15:151px;
389  }
390}
391
392
393</style>
394
395
396  <link href="//www.santubeauty.com/cdn/shop/t/25/assets/theme.css?v=177657655296872941241782258427" rel="stylesheet" type="text/css" media="all" />
397
398  
398<script>
399    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
400
401    
402      document.documentElement.classList.add('aos-initialized');let root = '/';
403    if (root[root.length - 1] !== '/') {
404      root = `${root}/`;
405    }
406    var theme = {
407      routes: {
408        root_url: root,
409        cart: '/cart',
410        cart_add_url: '/cart/add',
411        product_recommendations_url: '/recommendations/products',
412        account_addresses_url: '/account/addresses',
413        predictive_search_url: '/search/suggest'
414      },
415      state: {
416        cartOpen: null,
417      },
418      sizes: {
419        small: 480,
420        medium: 768,
421        large: 1100,
422        widescreen: 1400
423      },
424      assets: {
425        photoswipe: '//www.santubeauty.com/cdn/shop/t/25/assets/photoswipe.js?v=162613001030112971491780517562',
426        smoothscroll: '//www.santubeauty.com/cdn/shop/t/25/assets/smoothscroll.js?v=37906625415260927261780517563',
427        swatches: '//www.santubeauty.com/cdn/shop/t/25/assets/swatches.json?v=154940297821828866241780517564',
428        noImage: '//www.santubeauty.com/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12.gif',
429        base: '//www.santubeauty.com/cdn/shop/t/25/assets/'
430      },
431      strings: {
432        swatchesKey: "Color, Colour",
433        addToCart: "Add to Cart",
434        estimateShipping: "Estimate shipping",
435        noShippingAvailable: "We do not ship to this destination.",
436        free: "Free",
437        from: "From",
438        preOrder: "Pre-order",
439        soldOut: "Sold Out",
440        sale: "Sale",
441        subscription: "Subscription",
442        unavailable: "Unavailable",
443        unitPrice: "Unit price",
444        unitPriceSeparator: "per",
445        stockout: "All available stock is in cart",
446        products: "Products",
447        pages: "Pages",
448        collections: "Collections",
449        resultsFor: "Results for",
450        noResultsFor: "No results for",
451        articles: "Articles",
452        successMessage: "Link copied to clipboard",
453      },
454      settings: {
455        badge_sale_type: "percentage",
456        animate_hover: true,
457        animate_scroll: true,
458        show_locale_desktop: null,
459        show_locale_mobile: null,
460        show_currency_desktop: null,
461        show_currency_mobile: null,
462        currency_select_type: "country",
463        currency_code_enable: false,
464        cycle_images_hover_delay: 1.5
465      },
466      info: {
467        name: 'pipeline'
468      },
469      version: '7.1.3',
470      moneyFormat: "${{amount}}",
471      shopCurrency: "USD",
472      currencyCode: "USD"
473    }
474    let windowInnerHeight = window.innerHeight;
475    document.documentElement.style.setProperty('--full-screen', `${windowInnerHeight}px`);
476    document.documentElement.style.setProperty('--three-quarters', `${windowInnerHeight * 0.75}px`);
477    document.documentElement.style.setProperty('--two-thirds', `${windowInnerHeight * 0.66}px`);
478    document.documentElement.style.setProperty('--one-half', `${windowInnerHeight * 0.5}px`);
479    document.documentElement.style.setProperty('--one-third', `${windowInnerHeight * 0.33}px`);
480    document.documentElement.style.setProperty('--one-fifth', `${windowInnerHeight * 0.2}px`);
481
482    window.isRTL = document.documentElement.getAttribute('dir') === 'rtl';
483  </script>
483<!-- Theme Javascript ============================================================== -->
484  
484<script src="//www.santubeauty.com/cdn/shop/t/25/assets/vendor.js?v=144118437607305429831780517567" defer="defer"></script>
484
485  
485<script src="//www.santubeauty.com/cdn/shop/t/25/assets/theme.js?v=154126698806131224561780517566" defer="defer"></script>
485
486
487  
487<script>
488    (function () {
489      function onPageShowEvents() {
490        if ('requestIdleCallback' in window) {
491          requestIdleCallback(initCartEvent, { timeout: 500 })
492        } else {
493          initCartEvent()
494        }
495        function initCartEvent(){
496          window.fetch(window.theme.routes.cart + '.js')
497          .then((response) => {
498            if(!response.ok){
499              throw {status: response.statusText};
500            }
501            return response.json();
502          })
503          .then((response) => {
504            document.dispatchEvent(new CustomEvent('theme:cart:change', {
505              detail: {
506                cart: response,
507              },
508              bubbles: true,
509            }));
510            return response;
511          })
512          .catch((e) => {
513            console.error(e);
514          });
515        }
516      };
517      window.onpageshow = onPageShowEvents;
518    })();
519  </script>
519
520
521  
521<script type="text/javascript">
522    if (window.MSInputMethodContext && document.documentMode) {
523      var scripts = document.getElementsByTagName('script')[0];
524      var polyfill = document.createElement("script");
525      polyfill.defer = true;
526      polyfill.src = "//www.santubeauty.com/cdn/shop/t/25/assets/ie11.js?v=144489047535103983231780517561";
527
528      scripts.parentNode.insertBefore(polyfill, scripts);
529    }
530  </script>
530
531
532  <!-- Shopify app scripts =========================================================== -->
533  
533<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
533<meta name="google-site-verification" content="ii2dXg7yE7nJhvehV23hswG42KOqSPUlXTBsfx40dwk">
534<meta name="facebook-domain-verification" content="5q30ojvdd13m5e4ijw9gemwf8rbac6">
535<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/68234969307/digital_wallets/dialog">
536<meta id="in-context-paypal-metadata" data-shop-id="68234969307" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
537<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
537<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 537
537
538<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":68234969307,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/68234969307","merchantName":"Santu Beauty ","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Santu Beauty ","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 538
538
539<script id="shopify-features" type="application/json">{"accessToken":"318a89be438de801110eac6646badda7","betas":["rich-media-storefront-analytics"],"domain":"www.santubeauty.com","predictiveSearch":true,"shopId":68234969307,"locale":"en"}</script>
vendor: 1 bytes, line 539
539
540<script>var Shopify = Shopify || {};
541Shopify.shop = "1ad0e7.myshopify.com";
542Shopify.locale = "en";
543Shopify.currency = {"active":"USD","rate":"1.0"};
544Shopify.country = "US";
545Shopify.theme = {"name":"Updated Images + Theme Updates 6\/30","id":162145501403,"schema_name":"Pipeline","schema_version":"7.1.3","theme_store_id":739,"role":"main"};
546Shopify.theme.handle = "null";
547Shopify.theme.style = {"id":null,"handle":null};
548Shopify.cdnHost = "www.santubeauty.com/cdn";
549Shopify.routes = Shopify.routes || {};
550Shopify.routes.root = "/";
551Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
552Shopify.SignInWithShop = Shopify.SignInWithShop || {};
553Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
554Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 554
554
555<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 555
555
556<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 556
556
557<script>
558  window.Shopify = window.Shopify || {};
559  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
560  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
561  window.Shopify.SignInWithShop.eligible = true;
562</script>
vendor: 1 bytes, line 562
562
563<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 563
563
564<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 564
564
565<script type="module">
566  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
567
568  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
569
570</script>
vendor: 1 bytes, line 570
570
571<script>
572  window.Shopify = window.Shopify || {};
573  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
574  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"]};
575</script>
vendor: 1 bytes, line 575
575
576<script>(function() {
577  var isLoaded = false;
578  function asyncLoad() {
579    if (isLoaded) return;
580    isLoaded = true;
581    var urls = ["https:\/\/app.octaneai.com\/i2ow08h17vhopp6x\/shopify.js?x=IzrzxL9fG34w7s0M\u0026shop=1ad0e7.myshopify.com","https:\/\/cdn-bundler.nice-team.net\/app\/js\/bundler.js?shop=1ad0e7.myshopify.com","\/\/cdn.shopify.com\/proxy\/cf1406b666cd59b147bad8a00e78072a091c2e5454dc32d44a2d1665d869fc7c\/d33a6lvgbd0fej.cloudfront.net\/script_tag\/secomapp.scripttag.js?shop=1ad0e7.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.nfcube.com\/instafeed-ce2a6160d51c0696a104f488b633a4cd.js?shop=1ad0e7.myshopify.com","https:\/\/id-shop.govx.com\/app\/1ad0e7.myshopify.com\/govx.js?shop=1ad0e7.myshopify.com"];
582    for (var i = 0; i < urls.length; i++) {
583      var s = document.createElement('script');
584      s.type = 'text/javascript';
585      s.async = true;
586      s.src = urls[i];
587      var x = document.getElementsByTagName('script')[0];
588      x.parentNode.insertBefore(s, x);
589    }
590  };
591  if(window.attachEvent) {
592    window.attachEvent('onload', asyncLoad);
593  } else {
594    window.addEventListener('load', asyncLoad, false);
595  }
596})();</script>
vendor: 1 bytes, line 596
596
597<script id="__st">var __st={"a":68234969307,"offset":-25200,"reqid":"632d93ad-c4d4-4280-925a-426fa34dc2b3-1791305651","pageurl":"www.santubeauty.com\/search","u":"83a287122137","p":"searchresults"};</script>
vendor: 1 bytes, line 597
597
598<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 598
598
599<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 599
599
600<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.santubeauty.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 600
600
601<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 = "//www.santubeauty.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>
601<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 601
601
602<script>
603  window.Shopify = window.Shopify || {};
604  window.Shopify.MCP = window.Shopify.MCP || {};
605  window.Shopify.MCP.enabled = true;
606  window.Shopify.MCP.shop = "1ad0e7.myshopify.com";
607  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.santubeauty.com\/api\/mcp";
608  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"]}}];
609</script>
vendor: 1 bytes, line 609
609
610<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("\/\/www.santubeauty.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
611</script>
vendor: 1 bytes, line 611
611
612<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://www.santubeauty.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
613</script>
vendor: 1 bytes, line 613
613
614<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
615  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);
616</script>
vendor: 1 bytes, line 616
616
617<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})}}));
618</script>
vendor: 1 bytes, line 618
618
619<script integrity="sha256-/LA1C2Bx6899fYCos0FS9qLj2opaGFm7AXrTUvBEb4s=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking="{&quot;session_id&quot;:&quot;01M49264X4HKTCASGQWPHQN7Y9&quot;,&quot;publisher_shop_id&quot;:68234969307,&quot;theme_id&quot;:162145501403,&quot;theme_published&quot;:true,&quot;theme_store_id&quot;:739,&quot;placement&quot;:&quot;search&quot;,&quot;event_data&quot;:{&quot;search_query&quot;:null},&quot;recommendations_tracking_enabled&quot;:true}" defer="defer" src="//www.santubeauty.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-91d95044.js" crossorigin="anonymous"></script>
619
620<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.santubeauty.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
621<style id="shopify-accelerated-checkout-cart">
622        #shopify-buyer-consent {
623  margin-top: 1em;
624  display: inline-block;
625  width: 100%;
626}
627
628#shopify-buyer-consent.hidden {
629  display: none;
630}
631
632#shopify-subscription-policy-button {
633  background: none;
634  border: none;
635  padding: 0;
636  text-decoration: underline;
637  font-size: inherit;
638  cursor: pointer;
639}
640
641#shopify-subscription-policy-button::before {
642  box-shadow: none;
643}
644
645      </style>
646
647<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
647
648
649  <style>
650    @font-face {
651      font-family: "F Grotesk";
652      src: url(https://cdn.shopify.com/s/files/1/0682/3496/9307/files/FGrotesk-Regular.woff2?v=1723493704) format("woff2"),
653      url(https://cdn.shopify.com/s/files/1/0682/3496/9307/files/FGrotesk-Regular.woff?v=1723493703) format("woff");
654     }
655
656    @font-face {
657      font-family: "F Grotesk Demi";
658      src: url(https://cdn.shopify.com/s/files/1/0682/3496/9307/files/FGroteskDemi-Regular.woff2?v=1723493703) format("woff2"),
659      url(https://cdn.shopify.com/s/files/1/0682/3496/9307/files/FGroteskDemi-Regular.woff?v=1723493703) format("woff");
660     }
661  </style>
662  
663
664
665
666<script>
667  document.addEventListener("DOMContentLoaded", function(event) {
668    const style = document.getElementById('wsg-custom-style');
669    if (typeof window.isWsgCustomer != "undefined" && isWsgCustomer) {
670      style.innerHTML = `
671        ${style.innerHTML} 
672        /* A friend of hideWsg - this will _show_ only for wsg customers. Add class to an element to use */
673        .showWsg {
674          display: unset;
675        }
676        /* wholesale only CSS */
677        .additional-checkout-buttons, .shopify-payment-button {
678          display: none !important;
679        }
680        .wsg-proxy-container select {
681          background-color: 
682          ${
683        document.querySelector('input').style.backgroundColor
684          ? document.querySelector('input').style.backgroundColor
685          : 'white'
686        } !important;
687        }
688      `;
689    } else {
690      style.innerHTML = `
691        ${style.innerHTML}
692        /* Add CSS rules here for NOT wsg customers - great to hide elements from retail when we can't access the code driving the element */
693        
694      `;
695    }
696
697    if (typeof window.embedButtonBg !== undefined && typeof window.embedButtonText !== undefined && window.embedButtonBg !== window.embedButtonText) {
698      style.innerHTML = `
699        ${style.innerHTML}
700        .wsg-button-fix {
701          background: ${embedButtonBg} !important;
702          border-color: ${embedButtonBg} !important;
703          color: ${embedButtonText} !important;
704        }
705      `;
706    }
707
708    // =========================
709    //         CUSTOM JS
710    // ==========================
711    if (document.querySelector(".wsg-proxy-container")) {
712      initNodeObserver(wsgCustomJs);
713    }
714  })
715
716  function wsgCustomJs() {
717
718    // update button classes
719    const button = document.querySelectorAll(".wsg-button-fix");
720    let buttonClass = "xxButtonClassesHerexx";
721    buttonClass = buttonClass.split(" ");
722    for (let i = 0; i < button.length; i++) {
723      button[i].classList.add(... buttonClass);
724    }
725
726    // wsgCustomJs window placeholder
727    // update secondary btn color on proxy cart
728    if (document.getElementById("wsg-checkout-one")) {
729      const checkoutButton = document.getElementById("wsg-checkout-one");
730      let wsgBtnColor = window.getComputedStyle(checkoutButton).backgroundColor;
731      let wsgBtnBackground = "none";
732      let wsgBtnBorder = "thin solid " + wsgBtnColor;
733      let wsgBtnPadding = window.getComputedStyle(checkoutButton).padding;
734      let spofBtn = document.querySelectorAll(".spof-btn");
735      for (let i = 0; i < spofBtn.length; i++) {
736        spofBtn[i].style.background = wsgBtnBackground;
737        spofBtn[i].style.color = wsgBtnColor;
738        spofBtn[i].style.border = wsgBtnBorder;
739        spofBtn[i].style.padding = wsgBtnPadding;
740      }
741    }
742
743    // update Quick Order Form label
744    if (typeof window.embedSPOFLabel != "undefined" && embedSPOFLabel && window.embedSPOFLabel !== "Quick Order Form") {
745      document.querySelectorAll(".spof-btn").forEach(function(spofBtn) {
746        spofBtn.removeAttribute("data-translation-selector");
747        spofBtn.innerHTML = embedSPOFLabel;
748      });
749    }
750  }
751
752  function initNodeObserver(onChangeNodeCallback) {
753
754    // Select the node that will be observed for mutations
755    const targetNode = document.querySelector(".wsg-proxy-container");
756
757    // Options for the observer (which mutations to observe)
758    const config = {
759      attributes: true,
760      childList: true,
761      subtree: true
762    };
763
764    // Callback function to execute when mutations are observed
765    const callback = function(mutationsList, observer) {
766      for (const mutation of mutationsList) {
767        if (mutation.type === 'childList') {
768          onChangeNodeCallback();
769          observer.disconnect();
770        }
771      }
772    };
773
774    // Create an observer instance linked to the callback function
775    const observer = new MutationObserver(callback);
776
777    // Start observing the target node for configured mutations
778    observer.observe(targetNode, config);
779  }
780</script>
780
781
782
783<style id="wsg-custom-style">
784  /* A friend of hideWsg - this will _show_ only for wsg customers. Add class to an element to use */
785  .showWsg {
786    display: none;
787  }
788  /* Signup/login */
789  #wsg-signup select,
790  #wsg-signup input,
791  #wsg-signup textarea {
792    height: 46px;
793    border: thin solid #d1d1d1;
794    padding: 6px 10px;
795  }
796  #wsg-signup textarea {
797    min-height: 100px;
798  }
799  .wsg-login-input {
800    height: 46px;
801    border: thin solid #d1d1d1;
802    padding: 6px 10px;
803  }
804  #wsg-signup select {
805  }
806/*   Quick Order Form */
807  .wsg-table td {
808    border: none;
809    min-width: 150px;
810  }
811  .wsg-table tr {
812    border-bottom: thin solid #d1d1d1; 
813    border-left: none;
814  }
815  .wsg-table input[type="number"] {
816    border: thin solid #d1d1d1;
817    padding: 5px 15px;
818    min-height: 42px;
819  }
820  #wsg-spof-link a {
821    text-decoration: inherit;
822    color: inherit;
823  }
824  .wsg-proxy-container {
825    margin-top: 0% !important;
826  }
827  @media screen and (max-width:768px){
828    .wsg-proxy-container .wsg-table input[type="number"] {
829        max-width: 80%; 
830    }
831    .wsg-center img {
832      width: 50px !important;
833    }
834    .wsg-variant-price-area {
835      min-width: 70px !important;
836    }
837  }
838  /* Submit button */
839  #wsg-cart-update{
840    padding: 8px 10px;
841    min-height: 45px;
842    max-width: 100% !important;
843  }
844  .wsg-table {
845    background: inherit !important;
846  }
847  .wsg-spof-container-main {
848    background: inherit !important;
849  }
850  /* General fixes */
851  .wsg-hide-prices {
852    opacity: 0;
853  }
854  .wsg-ws-only .button {
855    margin: 0;
856  }
857</style>
858<!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
859
860
861
862
863
864
865
866
867
868
869
870
871  
871<script async src="https://static.klaviyo.com/onsite/js/Rxa4MW/klaviyo.js?company_id=Rxa4MW"></script>
871
872  
872<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
872
873
874  
875
876
877
878
879  
879<script>
880    window.klaviyoReviewsProductDesignMode = false
881  </script>
881
882
883
884
885
886
887
888
889
890
891<!-- END app block --><!-- BEGIN app block: shopify://apps/wingify/blocks/vwo-smartcode/2ce905b2-3842-4d20-b6b0-8c51fc208426 -->
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909  
910
911  
912    <!-- BEGIN app snippet: smartcode-vwo-2x -->
913  <!-- Start VWO SmartCode -->
914  
914<script src="https://dev.visualwebsiteoptimizer.com/lib/1117044.js" referrerpolicy="no-referrer-when-downgrade" id="vwoCode"></script>
914
915  <!-- End VWO SmartCode -->
916
917<!-- END app snippet -->
918  
919
920
921
922<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf -->
923
924
925  
925<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/FbwLaDLEXjrYguw97ALbvvaaNXTliTj3ONVg4tZS?languageCode=en" async></script>
925
926
927
928
929  
930<!-- END app block -->
930<script src="https://cdn.shopify.com/extensions/019d43d1-bbad-7de5-bd49-ea6de5e8ca58/accessibly-app-30/assets/acc-main.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 930
930
931<script src="https://cdn.shopify.com/extensions/01a110dd-e163-7526-9aaf-7a12ca7c2687/forms-2612/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
931
932<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
933<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: 68234969307,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};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 933
933
934<script>
935  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
936</script>
vendor: 1 bytes, line 936
936
937<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}
937).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: 68234969307,storefrontBaseUrl: "https://www.santubeauty.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.santubeauty.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"2379874523","configuration":"{\"shopID\": \"61139\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d22b5691c62682d22357c5bcbea63a2b","type":"APP","apiClientId":3780451,"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"}
937,{"id":"1798570203","configuration":"{\"shop\":\"1ad0e7.myshopify.com\",\"collect_url\":\"https:\\\/\\\/collect.bogos.io\\\/collect\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"3e41d63cd5ce800ba1fe97b89f532437","type":"APP","apiClientId":177733,"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":"unrestricted"},{"id":"1721467099","configuration":"{\"pixel_id\":\"988769996393852\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"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","enabledFlags":["9a3ed68a"]},{"id":"1547895003","configuration":"{\"merchantId\":\"1037629\", \"url\":\"https:\/\/classic.avantlink.com\", \"shopName\":\"1ad0e7\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"26843be7e7f0ff401f557cffac6b5a49","type":"APP","apiClientId":125215244289,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1518108891","configuration":"{\"accountID\":\"Rxa4MW\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"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","enabledFlags":["9a3ed68a"]},{"id":"1310916827","configuration":"{\"botID\":\"i2ow08h17vhopp6x\",\"octaneDomain\":\"https:\/\/app.octaneai.com\",\"octaneNewDomain\":\"https:\/\/app2.octaneai.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"aace1440a9416e8b2805b96c7b2f2fe0","type":"APP","apiClientId":2012438,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1266155739","configuration":"{\"accountID\":\"1ad0e7\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4f82d0323b06a4642fbff9b42c9979eb","type":"APP","apiClientId":12388204545,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"997720283","configuration":"{\"pixelCode\":\"D0S8OKRC77U9P401DHB0\"}","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":["share_all_events"]},"dataSharingState":"optimized"},{"id":"946045147","configuration":"{\"campaignID\":\"35295\",\"externalExecutionURL\":\"https:\/\/engine.saasler.com\/api\/v1\/webhook_executions\/c0db0dda5c65c9ad7e95e38dd29eae0d\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4d2ae310e7f99f154f33560b5c81cfa9","type":"APP","apiClientId":3546795,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
937,"dataSharingState":"unrestricted"},{"id":"943161563","configuration":"{\"tagID\":\"2613827572260\"}","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":"626098395","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\",\\\"GT-NGJ3KSK5\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/ZrC9CPuK27saEMSyr-Y-\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/STrHCIeL27saEMSyr-Y-\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-TN3H7D35VX\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/-Cw1CISL27saEMSyr-Y-\\\",\\\"MC-D5D0GQSBLR\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-TN3H7D35VX\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/F1U3CPiK27saEMSyr-Y-\\\",\\\"MC-D5D0GQSBLR\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/De3yCIGL27saEMSyr-Y-\\\",\\\"MC-D5D0GQSBLR\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-TN3H7D35VX\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/nCK1CIqL27saEMSyr-Y-\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-TN3H7D35VX\\\",\\\"AW-16857684292\\\/yQBnCP6K27saEMSyr-Y-\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-TN3H7D35VX\\\"}],\\\"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":"106889435","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Ads"},{"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":"Santu Beauty ","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"1ad0e7.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.santubeauty.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.santubeauty.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"162145501403","themeStoreId":"739","themePublished":"true","eventMetadataId":"ecdaf27f-360f-4bae-b283-40cbb7085faa","pageType":"searchresults","shopId":"68234969307","storefrontBaseUrl":"https:\/\/www.santubeauty.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
937<script>
938  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
939  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
940  window.ShopifyAnalytics.meta.currency = 'USD';
941  var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"632d93ad-c4d4-4280-925a-426fa34dc2b3-1791305651"}};
942  for (var attr in meta) {
943    window.ShopifyAnalytics.meta[attr] = meta[attr];
944  }
945</script>
vendor: 1 bytes, line 945
945
946<script class="analytics">
947  (function () {
948    var customDocumentWrite = function(content) {
949      var jquery = null;
950
951      if (window.jQuery) {
952        jquery = window.jQuery;
953      } else if (window.Checkout && window.Checkout.$) {
954        jquery = window.Checkout.$;
955      }
956
957      if (jquery) {
958        jquery('body').append(content);
959      }
960    };
961
962    var hasLoggedConversion = function(token) {
963      if (token) {
964        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
965      }
966      return false;
967    }
968
969    var setCookieIfConversion = function(token) {
970      if (token) {
971        var twoMonthsFromNow = new Date(Date.now());
972        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
973
974        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
975      }
976    }
977
978    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
979    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
980    if (trekkie.integrations) {
981      return;
982    }
983    trekkie.methods = [
984      'identify',
985      'page',
986      'ready',
987      'track',
988      'trackForm',
989      'trackLink'
990    ];
991    trekkie.factory = function(method) {
992      return function() {
993        var args = Array.prototype.slice.call(arguments);
994        args.unshift(method);
995        trekkie.push(args);
996        if (method == 'track' || method == 'page') {
997          var pageUrl;
998          try {
999            pageUrl = window.location.href;
1000          } catch (e) {}
1001          var pageReferrer;
1002          try {
1003            pageReferrer = document.referrer;
1004          } catch (e) {}
1005          try {
1006            if (window.__TREKKIE_SHIM_QUEUE == null) {
1007              window.__TREKKIE_SHIM_QUEUE = [];
1008            }
1009            window.__TREKKIE_SHIM_QUEUE.push({
1010              from: 'trekkie-stub',
1011              method: method,
1012              args: args.slice(1),
1013              pageContext: {
1014                url: pageUrl,
1015                referrer: pageReferrer
1016              }
1017            });
1018          } catch (e) {
1019            // no-op
1020          }
1021        }
1022        return trekkie;
1023      };
1024    };
1025    for (var i = 0; i < trekkie.methods.length; i++) {
1026      var key = trekkie.methods[i];
1027      trekkie[key] = trekkie.factory(key);
1028    }
1029    trekkie.load = function(config) {
1030      trekkie.config = config || {};
1031      trekkie.config.initialDocumentCookie = document.cookie;
1032      var first = document.getElementsByTagName('script')[0];
1033var script = document.createElement('script');
1034script.type = 'text/javascript';
1035script.onerror = function(e) {
1036  var scriptFallback = document.createElement('script');
1037  scriptFallback.type = 'text/javascript';
1038  scriptFallback.onerror = function(error) {
1039          var Monorail = {
1040      produce: function produce(monorailDomain, schemaId, payload) {
1041        var currentMs = new Date().getTime();
1042        var event = {
1043          schema_id: schemaId,
1044          payload: payload,
1045          metadata: {
1046            event_created_at_ms: currentMs,
1047            event_sent_at_ms: currentMs
1048          }
1049        };
1050        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1051      },
1052      sendRequest: function sendRequest(endpointUrl, payload) {
1053        // Try the sendBeacon API
1054        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1055          var blobData = new window.Blob([payload], {
1056            type: 'text/plain'
1057          });
1058
1059          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1060            return true;
1061          } // sendBeacon was not successful
1062
1063        } // XHR beacon
1064
1065        var xhr = new XMLHttpRequest();
1066
1067        try {
1068          xhr.open('POST', endpointUrl);
1069          xhr.setRequestHeader('Content-Type', 'text/plain');
1070          xhr.send(payload);
1071        } catch (e) {
1072          console.log(e);
1073        }
1074
1075        return false;
1076      },
1077      isIos12: function isIos12() {
1078        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1079      }
1080    };
1081    Monorail.produce('monorail-edge.shopifysvc.com',
1082      'trekkie_storefront_load_errors/1.1',
1083      {shop_id: 68234969307,
1084      theme_id: 162145501403,
1085      app_name: "storefront",
1086      context_url: window.location.href,
1087      source_url: "//www.santubeauty.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1088
1089  };
1090  scriptFallback.async = true;
1091  scriptFallback.src = '//www.santubeauty.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1092  first.parentNode.insertBefore(scriptFallback, first);
1093};
1094script.async = true;
1095script.src = '//www.santubeauty.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1096first.parentNode.insertBefore(script, first);
1097
1098    };
1099    trekkie.load(
1100      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":68234969307,"isMerchantRequest":null,"themeId":162145501403,"themeCityHash":"8953775231938639192","contentLanguage":"en","currency":"USD","eventMetadataId":"ecdaf27f-360f-4bae-b283-40cbb7085faa"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1101    );
1102
1103    var loaded = false;
1104    trekkie.ready(function() {
1105      if (loaded) return;
1106      loaded = true;
1107
1108      window.ShopifyAnalytics.lib = window.trekkie;
1109
1110      var originalDocumentWrite = document.write;
1111      document.write = customDocumentWrite;
1112      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1113      document.write = originalDocumentWrite;
1114
1115      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1116      var token = match? match[1]: undefined;
1117      if (!hasLoggedConversion(token)) {
1118        setCookieIfConversion(token);
1119        window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true});
1120      }
1121    });
1122
1123    window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"632d93ad-c4d4-4280-925a-426fa34dc2b3-1791305651","shopifyEmitted":true});
1124
1125    var eventsListenerScript = document.createElement('script');
1126    eventsListenerScript.async = true;
1127    eventsListenerScript.src = "//www.santubeauty.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1128    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1129})();</script>
vendor: 1 bytes, line 1129
1129
1130<script
1131  defer
1132  src="https://www.santubeauty.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.5.min.js"
1133  data-application="storefront-renderer"
1134  data-shop-id="68234969307"
1135  data-render-region="gcp-europe-west1"
1136  data-page-type="search"
1137  data-theme-instance-id="162145501403"
1138  data-theme-name="Pipeline"
1139  data-theme-version="7.1.3"
1140  data-monorail-region="shop_domain"
1141  data-resource-timing-sampling-rate="10"
1142  data-shs="true"
1143  data-shs-beacon="true"
1144  data-shs-export-with-fetch="true"
1145  data-shs-logs-sample-rate="1"
1146  data-shs-beacon-endpoint="https://www.santubeauty.com/api/collect"
1147></script>
1147
1148<meta name="shopify-y" content="a986a83e-007a-41ce-b0b1-5ccc6f0d875c" data-expiration="1822863251000"><meta name="shopify-s" content="409fb07e-be21-408b-9ed5-5ab777aa7053" data-expiration="1791307451000"><meta name="new-cookie-storage-activated" content="t">
1149</head>
1150
1151
1152<body id="search" class="template-search ">
1153
1154  <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a>
1155
1156  <!-- BEGIN sections: group-header -->
1157<div id="shopify-section-sections--22400108331227__announcement" class="shopify-section shopify-section-group-group-header"><!-- /sections/announcement.liquid -->
1158</div><div id="shopify-section-sections--22400108331227__header" class="shopify-section shopify-section-group-group-header"><!-- /sections/header.liquid --><style data-shopify>
1159  :root {
1160    --COLOR-NAV-TEXT-TRANSPARENT: #ffffff;
1161    --COLOR-HEADER-TRANSPARENT-GRADIENT: rgba(0, 0, 0, 0.2);
1162    --LOGO-PADDING: 15px;
1163    --menu-backfill-height: auto;
1164  }
1165</style>
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183<div class="header__wrapper"
1184  data-header-wrapper
1185  style="--bar-opacity: 0; --bar-width: 0; --bar-left: 0;"
1186  data-header-transparent="false"
1187  data-underline-current="false"
1188  data-header-sticky="sticky"
1189  data-header-style="logo_center"
1190  data-section-id="sections--22400108331227__header"
1191  data-section-type="header">
1192  <header class="theme__header" data-header-height>
1193    
1194
1195    <div class="header__inner">
1196      <div class="wrapper--full">
1197        <div class="header__mobile">
1198          
1199    <div class="header__mobile__left">
1200      <button class="header__mobile__button"
1201        data-drawer-toggle="hamburger"
1202        aria-label="Open menu"
1203        aria-haspopup="true"
1204        aria-expanded="false"
1205        aria-controls="header-menu">
1206        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-nav" viewBox="0 0 25 25"><path d="M0 4.062h25v2H0zm0 7h25v2H0zm0 7h25v2H0z"/></svg>
1207      </button>
1208    </div>
1209    
1210<div class="header__logo header__logo--image">
1211    <a class="header__logo__link"
1212      href="/"
1213      style="--LOGO-WIDTH: 120px"
1214    >
1215      
1216
1217
1218
1219
1220        
1221
1222        <img src="//www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=120" alt="Santu Beauty " width="120" height="16" loading="eager" class="logo__img logo__img--color" srcset="
1223          //www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=240 2x,
1224          //www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=360 3x,
1225          //www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=120
1226        ">
1227      
1228      
1229    </a>
1230  </div>
1231
1232    <div class="header__mobile__right">
1233      <a class="header__mobile__button"
1234       data-drawer-toggle="drawer-cart"
1235        href="/cart">
1236        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 1 0 4.001-.001A2 2 0 0 0 5.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 0 0 1 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 0 0 5.058 19h16.71a1 1 0 0 0 0-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 0 0 2.87 0H1a1 1 0 0 0-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg>
1237        <span class="visually-hidden">Cart</span>
1238        
1239  <span class="header__cart__status">
1240    <span data-header-cart-price="0">
1241      $0.00
1242    </span>
1243    <span data-header-cart-count="0">
1244      (0)
1245    </span>
1246    
1247<span data-header-cart-full="false"></span>
1248  </span>
1249
1250      </a>
1251    </div>
1252
1253        </div>
1254
1255        <div data-header-desktop class="header__desktop header__desktop--logo_center"><div  data-takes-space class="header__desktop__bar__l">
1256  <nav class="header__menu">
1257    <div class="header__menu__inner" data-text-items-wrapper>
1258<!-- /snippets/nav-item.liquid -->
1259
1260<div class="menu__item  child"
1261  data-main-menu-text-item
1262  >
1263  <a href="/" data-top-link class="navlink navlink--toplevel">
1264    <span class="navtext">Home</span>
1265  </a>
1266  
1267</div>
1268
1269      
1270<!-- /snippets/nav-item.liquid -->
1271
1272<div class="menu__item  child"
1273  data-main-menu-text-item
1274  >
1275  <a href="/collections/full-collection" data-top-link class="navlink navlink--toplevel">
1276    <span class="navtext">Shop</span>
1277  </a>
1278  
1279</div>
1280
1281      
1282<!-- /snippets/nav-item.liquid -->
1283
1284<div class="menu__item  child"
1285  data-main-menu-text-item
1286  >
1287  <a href="/pages/our-philosophy" data-top-link class="navlink navlink--toplevel">
1288    <span class="navtext">Our Philosophy</span>
1289  </a>
1290  
1291</div>
1292
1293      
1294<!-- /snippets/nav-item.liquid -->
1295
1296<div class="menu__item  child"
1297  data-main-menu-text-item
1298  >
1299  <a href="/pages/about-us" data-top-link class="navlink navlink--toplevel">
1300    <span class="navtext">About Us</span>
1301  </a>
1302  
1303</div>
1304
1305      
1306<!-- /snippets/nav-item.liquid -->
1307
1308<div class="menu__item  child"
1309  data-main-menu-text-item
1310  >
1311  <a href="/pages/our-sanctuary" data-top-link class="navlink navlink--toplevel">
1312    <span class="navtext">Our Sanctuary</span>
1313  </a>
1314  
1315</div>
1316
1317      
1318<!-- /snippets/nav-item.liquid -->
1319
1320<div class="menu__item  child"
1321  data-main-menu-text-item
1322  >
1323  <a href="/pages/gallery" data-top-link class="navlink navlink--toplevel">
1324    <span class="navtext">Gallery</span>
1325  </a>
1326  
1327</div>
1328
1329      
1330      <div class="hover__bar"></div>
1331      <div class="hover__bg"></div>
1332    </div>
1333  </nav>
1334</div>
1335              <div  data-takes-space class="header__desktop__bar__c">
1336<div class="header__logo header__logo--image">
1337    <a class="header__logo__link"
1338      href="/"
1339      style="--LOGO-WIDTH: 120px"
1340    >
1341      
1342
1343
1344
1345
1346        
1347
1348        <img src="//www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=120" alt="Santu Beauty " width="120" height="16" loading="eager" class="logo__img logo__img--color" srcset="
1349          //www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=240 2x,
1350          //www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=360 3x,
1351          //www.santubeauty.com/cdn/shop/files/Logo.svg?v=1723572486&amp;width=120
1352        ">
1353      
1354      
1355    </a>
1356  </div>
1357</div>
1358              <div  data-takes-space class="header__desktop__bar__r">
1359<div class="header__desktop__buttons header__desktop__buttons--icons" ><div class="header__desktop__button " >
1360        <a href="/account" class="navlink">
1361          
1362            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 16 16"><path d="M10.713 8.771c.31.112.53.191.743.27.555.204.985.372 1.367.539 1.229.535 1.993 1.055 2.418 1.885.464.937.722 1.958.758 2.997.03.84-.662 1.538-1.524 1.538H1.525c-.862 0-1.554-.697-1.524-1.538a7.36 7.36 0 0 1 .767-3.016c.416-.811 1.18-1.33 2.41-1.866a25.25 25.25 0 0 1 1.366-.54l.972-.35a1.42 1.42 0 0 0-.006-.072c-.937-1.086-1.369-2.267-1.369-4.17C4.141 1.756 5.517 0 8.003 0c2.485 0 3.856 1.755 3.856 4.448 0 2.03-.492 3.237-1.563 4.386.169-.18.197-.253.207-.305a1.2 1.2 0 0 0-.019.16l.228.082zm-9.188 5.742h12.95a5.88 5.88 0 0 0-.608-2.402c-.428-.835-2.214-1.414-4.46-2.224-.608-.218-.509-1.765-.24-2.053.631-.677 1.166-1.471 1.166-3.386 0-1.934-.782-2.96-2.33-2.96-1.549 0-2.336 1.026-2.336 2.96 0 1.915.534 2.709 1.165 3.386.27.288.369 1.833-.238 2.053-2.245.81-4.033 1.389-4.462 2.224a5.88 5.88 0 0 0-.607 2.402z"/></svg>
1363            <span class="visually-hidden">My Account</span>
1364          
1365        </a>
1366      </div>
1367    
1368
1369    
1370      <div class="header__desktop__button  main-menu--active" >
1371        <a href="/search" class="navlink" data-popdown-toggle="search-popdown">
1372          
1373            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864 14.863 16l-4.24-4.241a6.406 6.406 0 0 1-4.048 1.392 6.61 6.61 0 0 1-4.65-1.925A6.493 6.493 0 0 1 .5 9.098 6.51 6.51 0 0 1 0 6.575a6.536 6.536 0 0 1 1.922-4.652A6.62 6.62 0 0 1 4.062.5 6.52 6.52 0 0 1 6.575 0 6.5 6.5 0 0 1 9.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 0 1 1.436 2.13 6.54 6.54 0 0 1 .498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg>
1374            <span class="visually-hidden">Search</span>
1375          
1376        </a>
1377      </div>
1378    
1379
1380    <div class="header__desktop__button " >
1381      <a href="/cart"
1382        class="navlink navlink--cart"
1383        data-drawer-toggle="drawer-cart">
1384        
1385          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 1 0 4.001-.001A2 2 0 0 0 5.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 0 0 1 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 0 0 5.058 19h16.71a1 1 0 0 0 0-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 0 0 2.87 0H1a1 1 0 0 0-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg>
1386          <span class="visually-hidden">Cart</span>
1387          
1388  <span class="header__cart__status">
1389    <span data-header-cart-price="0">
1390      $0.00
1391    </span>
1392    <span data-header-cart-count="0">
1393      (0)
1394    </span>
1395    
1396<span data-header-cart-full="false"></span>
1397  </span>
1398
1399        
1400      </a>
1401    </div>
1402
1403  </div>
1404</div></div>
1405      </div>
1406    </div>
1407  </header>
1408  
1409  <nav class="drawer header__drawer display-none"
1410    data-drawer="hamburger"
1411    aria-label="Main menu"
1412    id="header-menu">
1413    <div class="drawer__content">
1414      <div class="drawer__top">
1415        <div class="drawer__top__left">
1416          
1417<a class="drawer__account" href="/account">
1418              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 16 16"><path d="M10.713 8.771c.31.112.53.191.743.27.555.204.985.372 1.367.539 1.229.535 1.993 1.055 2.418 1.885.464.937.722 1.958.758 2.997.03.84-.662 1.538-1.524 1.538H1.525c-.862 0-1.554-.697-1.524-1.538a7.36 7.36 0 0 1 .767-3.016c.416-.811 1.18-1.33 2.41-1.866a25.25 25.25 0 0 1 1.366-.54l.972-.35a1.42 1.42 0 0 0-.006-.072c-.937-1.086-1.369-2.267-1.369-4.17C4.141 1.756 5.517 0 8.003 0c2.485 0 3.856 1.755 3.856 4.448 0 2.03-.492 3.237-1.563 4.386.169-.18.197-.253.207-.305a1.2 1.2 0 0 0-.019.16l.228.082zm-9.188 5.742h12.95a5.88 5.88 0 0 0-.608-2.402c-.428-.835-2.214-1.414-4.46-2.224-.608-.218-.509-1.765-.24-2.053.631-.677 1.166-1.471 1.166-3.386 0-1.934-.782-2.96-2.33-2.96-1.549 0-2.336 1.026-2.336 2.96 0 1.915.534 2.709 1.165 3.386.27.288.369 1.833-.238 2.053-2.245.81-4.033 1.389-4.462 2.224a5.88 5.88 0 0 0-.607 2.402z"/></svg>
1419              <span class="visually-hidden">My Account</span>
1420            </a></div>
1421
1422        <button class="drawer__button drawer__close"
1423          data-drawer-toggle="hamburger"
1424          aria-label="Close">
1425          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="m2.06 1 12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02 13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
1426        </button>
1427      </div>
1428
1429      <div class="drawer__inner" data-drawer-scrolls>
1430        
1431          <div class="drawer__search" data-drawer-search>
1432            <!-- /snippets/search-predictive.liquid -->
1433
1434
1435
1436<div data-search-popdown-wrap>
1437  <div id="search-drawer" class="search-drawer search__predictive" data-popdown-outer><predictive-search><form
1438        action="/search"
1439        method="get"
1440        role="search">
1441
1442        <div class="item--loadbar" data-loading-indicator style="display: none;"></div>
1443        <div class="search__predictive__outer">
1444          <div class="wrapper">
1445            <div class="search__predictive__main">
1446              <div class="search__predictive__actions">
1447                <button class="search__predictive__button" type="submit">
1448                  <span class="visually-hidden">Search</span>
1449                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864 14.863 16l-4.24-4.241a6.406 6.406 0 0 1-4.048 1.392 6.61 6.61 0 0 1-4.65-1.925A6.493 6.493 0 0 1 .5 9.098 6.51 6.51 0 0 1 0 6.575a6.536 6.536 0 0 1 1.922-4.652A6.62 6.62 0 0 1 4.062.5 6.52 6.52 0 0 1 6.575 0 6.5 6.5 0 0 1 9.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 0 1 1.436 2.13 6.54 6.54 0 0 1 .498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg>
1450                </button>
1451
1452                <input type="search"
1453                  data-predictive-search-input="search-popdown-results"
1454                  name="q"
1455                  value=""
1456                  placeholder="Search..."
1457                  aria-label="Search our store"
1458                  aria-controls="predictive-search-results"
1459                >
1460
1461                <div class="search__predictive__clear">
1462                  <button type="reset" class="search__predictive__close__inner search-reset is-hidden" aria-label="Reset">
1463                    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="m2.06 1 12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02 13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
1464Clear</button>
1465                </div>
1466              </div>
1467
1468              <div class="search__predictive__close">
1469                <button type="button" class="search__predictive__close__inner" data-close-popdown aria-label="Close">
1470                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-small" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="m2.237 1.073 12.021 12.021-1.414 1.414L.824 2.488z"/><path d="m.823 13.094 12.021-12.02 1.414 1.413-12.02 12.021z"/></g></svg>
1471                </button>
1472              </div>
1473            </div>
1474          </div>
1475        </div><div class="header__search__results" tabindex="-1" data-predictive-search-results></div>
1476
1477          <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true" data-predictive-search-status></span></form></predictive-search></div>
1478
1479  
1480
1481  
1481<script data-predictive-search-aria-template type="text/x-template">
1482    <div aria-live="polite">
1483      <p>
1484        
1485          {{@if(it.count)}}
1486            <span class="badge">{{ it.count }}</span>
1487          {{/if}}
1488          {{ it.title }} <em>{{ it.query }}</em>
1489        
1490      </p>
1491    </div>
1492  </script>
1492
1493
1494  
1494<script data-predictive-search-title-template type="text/x-template">
1495    <div class="search__results__heading">
1496      
1497        <p>
1498          <span class="search__results__title">{{ it.title }}</span>
1499          <span class="badge">{{ it.count }}</span>
1500        </p>
1501      
1502    </div>
1503  </script>
1503
1504
1505  
1505<script data-search-other-template type="text/x-template">
1506    
1507      {{@each(it) => object, index}}
1508        <div class="other__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
1509          <p class="other__inline__title">
1510            <a href="{{ object.url }}">{{ object.title | safe }}</a>
1511          </p>
1512        </div>
1513      {{/each}}
1514    
1515  </script>
1515
1516
1517  
1517<script data-search-product-template type="text/x-template">
1518    
1519      {{@each(it) => object, index}}
1520        <a href="{{ object.url }}" class="product__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
1521          <div class="product__inline__image {{ @if (object.featured_image.width === null) }} product__inline__image--no-image {{ /if}}">
1522            {{ @if (object.featured_image.width !== null) }}
1523              <img class="img-aspect-ratio" width="{{object.featured_image.width}}" height="{{ object.featured_image.height }}" alt="{{ object.featured_image.alt }}" src="{{ object.thumb }}">
1524            {{ /if}}
1525          </div>
1526          <div>
1527            <p class="product__inline__title">
1528              {{ object.title | safe }}
1529            </p>
1530            <p class="product__inline__price">
1531              <span class="price {{ object.classes }}">
1532                {{ object.price | safe }}
1533              </span>
1534              {{@if(object.sold_out)}}
1535                <br /><em>{{ object.sold_out_translation }}</em>
1536              {{/if}}
1537              {{@if(object.on_sale)}}
1538                <span class="compare-at">
1539                  {{ object.compare_at_price | safe }}
1540                </span>
1541              {{/if}}
1542            </p>
1543          </div>
1544        </a>
1545      {{/each}}
1546    
1547  </script>
1547
1548
1549</div>
1550
1551          </div>
1552        
1553
1554        
1555<div class="drawer__menu" data-stagger-animation data-sliderule-pane="0">
1556<!-- /snippets/nav-item-mobile.liquid --><div class="sliderule__wrapper">
1557    <div class="sliderow" data-animates="0">
1558      <a class="sliderow__title" href="/">Home</a>
1559    </div></div>
1560
1561            
1562          
1563<!-- /snippets/nav-item-mobile.liquid --><div class="sliderule__wrapper">
1564    <div class="sliderow" data-animates="0">
1565      <a class="sliderow__title" href="/collections/full-collection">Shop</a>
1566    </div></div>
1567
1568            
1569          
1570<!-- /snippets/nav-item-mobile.liquid --><div class="sliderule__wrapper">
1571    <div class="sliderow" data-animates="0">
1572      <a class="sliderow__title" href="/pages/our-philosophy">Our Philosophy</a>
1573    </div></div>
1574
1575            
1576          
1577<!-- /snippets/nav-item-mobile.liquid --><div class="sliderule__wrapper">
1578    <div class="sliderow" data-animates="0">
1579      <a class="sliderow__title" href="/pages/about-us">About Us</a>
1580    </div></div>
1581
1582            
1583          
1584<!-- /snippets/nav-item-mobile.liquid --><div class="sliderule__wrapper">
1585    <div class="sliderow" data-animates="0">
1586      <a class="sliderow__title" href="/pages/our-sanctuary">Our Sanctuary</a>
1587    </div></div>
1588
1589            
1590          
1591<!-- /snippets/nav-item-mobile.liquid --><div class="sliderule__wrapper">
1592    <div class="sliderow" data-animates="0">
1593      <a class="sliderow__title" href="/pages/gallery">Gallery</a>
1594    </div></div>
1595
1596            
1597          
1598
1599          
1600        </div>
1601      </div>
1602    </div>
1603
1604    <span class="drawer__underlay" data-drawer-underlay>
1605      <span class="drawer__underlay__fill"></span>
1606      <span class="drawer__underlay__blur"></span>
1607    </span>
1608  </nav>
1609
1610  <div data-product-add-popdown-wrapper class="product-add-popdown"></div>
1611</div>
1612
1613
1614<div class="header__backfill"
1615  data-header-backfill
1616  style="height: var(--menu-backfill-height);">
1617  
1618  <div class="header__inner">
1619    <div class="wrapper--full">
1620      <div class="header__backfill__content">
1621        <div class="header__logo">
1622          <div class="header__logo__link" style="--LOGO-WIDTH: 120px"><div class="overflow-hidden aspect-[--wh-ratio]" style="--wh-ratio: 7.519083969465649">
1623                <img data-src="logo__img"
1624                  src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII="
1625                  width="120"
1626                  height="524"
1627                  style="
1628                    display: block;
1629                    width: 100%;
1630                    height: 524px;
1631                  ">
1632              </div></div>
1633        </div>
1634      </div>
1635    </div>
1636  </div>
1637</div>
1638
1639<script type="application/ld+json">
1640{
1641  "@context": "http://schema.org",
1642  "@type": "Organization",
1643  "name": "Santu Beauty ",
1644  
1645    
1646    "logo": "https:\/\/www.santubeauty.com\/cdn\/shop\/files\/Logo_3940x.svg?v=1723572486",
1647  
1648  "sameAs": [
1649    "",
1650    "",
1651    "https:\/\/www.instagram.com\/santubeautyco\/",
1652    "",
1653    "",
1654    "",
1655    "",
1656    "",
1657    ""
1658  ],
1659  "url": "https:\/\/www.santubeauty.com"
1660}
1661</script>
1661
1662
1663
1664
1665
1666</div>
1667<!-- END sections: group-header -->
1668  <!-- BEGIN sections: group-overlay -->
1669
1670<!-- END sections: group-overlay -->
1671
1672  <main class="main-content" id="MainContent">
1673    <div id="shopify-section-template--22400108265691__main" class="shopify-section"><!-- /sections/search.liquid --><section class="page-search wrapper section-padding"
1674  data-section-type="search-page"
1675  data-section-id="template--22400108265691__main"
1676  style="--PT: 36px; --PB: 36px;">
1677  <div class="search__page__heading">
1678    <!-- /snippets/search-bar.liquid -->
1679
1680<main-search>
1681  <form action="/search" method="get" class="search-bar" role="search">
1682    <div class="input-group input-group--inner-button">
1683      <input class="input-group-field"
1684      type="search"
1685      name="q"
1686      value=""
1687      placeholder="Search our store"
1688      aria-label="Search our store">
1689
1690      <span class="input-group-button">
1691        <div class="input-group-button__group">
1692          <button type="reset" class="search-reset is-hidden" aria-label="Reset">
1693            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="m2.06 1 12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02 13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
1694          </button>
1695
1696          <button type="submit" class="btn btn--soft">
1697            Search
1698          </button>
1699        </div>
1700      </span>
1701    </div>
1702  </form>
1703</main-search>
1704
1705</div>
1706
1707  
1708</section>
1709
1710
1711</div>
1711<script data-locksmith>
1712    var load = function () {
1713
1714          if (document.querySelectorAll('.locksmith-manual-trigger').length > 0) {
1715            Locksmith.ping();
1716          }
1717
1718
1719      Locksmith.util.on('submit', 'locksmith-resource-form', function (event) {
1720        event.preventDefault();
1721        var data = Locksmith.util.serializeForm(event.target);
1722        var options = { spinner: false, container: 'locksmith-content' };
1723        // a form rendered inline (section replacement) must keep that context
1724        // on resubmit: same enclosing container (there may be several on the
1725        // page), and no layout classes or cancel affordance in the re-render
1726        var inlineContainer = event.target.closest && event.target.closest('[id^="locksmith-content"]');
1727        if (inlineContainer) {
1728          options.container = inlineContainer;
1729        }
1730        if (event.target.getAttribute('data-locksmith-inline') === 'true') {
1731          options.include_layout_classes = false;
1732        }
1733        Locksmith.postResource(data, options);
1734      });
1735
1736      Locksmith.util.on('click', 'locksmith-manual-trigger', function (event) {
1737        event.preventDefault();
1738        Locksmith.postResource({}, { spinner: true, container: document });
1739      });
1740
1741      Locksmith.submitPasscode = function (passcode) {
1742        Locksmith.postResource(
1743          { passcode: passcode },
1744          { spinner: false, container: 'locksmith-content' }
1745        );
1746      };
1747    };
1748
1749    if (typeof Locksmith !== 'undefined') {
1750      load();
1751    } else {
1752      window.addEventListener('load', load);
1753    }
1754  </script>
1754
1755  </main>
1756
1757  <!-- BEGIN sections: group-footer -->
1758<div id="shopify-section-sections--22400108298459__footer" class="shopify-section shopify-section-group-group-footer"><!-- /sections/footer.liquid -->
1759
1760
1761<footer class="footer"
1762  data-section-id="sections--22400108298459__footer"
1763  data-section-type="footer"
1764  style="--PT: 30px; --PB: 30px;">
1765  <div class="footer__holder">
1766    <div class="wrapper--full section-padding-custom">
1767      <div class="footer__container footer__container--reversed"><div class="footer__block footer__aside"
1768            style="--text: rgba(255, 255, 255, 0.9); --text-dark: #ffffff; --bg: #8e6b66;"
1769            >
1770            <div class="footer__newsletter"><div class="footer__newsletter__body"><h3>Exclusive offers, heartfelt updates, and more—delivered straight to your inbox.</h3>
1771                    <div class="rte body-size-4">
1772                      <p>Become part of our community and enjoy exclusive offers, thoughtful gifts, and rare opportunities you won’t want to miss.</p>
1773                    </div><!-- /snippets/newsletter-form.liquid -->
1774
1775<form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="newsletter-block footer__form newsletter--default-messages" data-newsletter-form=""><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
1776    
1777
1778    
1779      <p class="newsletter__message newsletter__message--error"><em>This customer is already subscribed</em></p>
1780      
1781    
1782
1783    <input type="hidden" name="contact[tags]" value="newsletter">
1784    <input type="hidden" name="contact[accepts_marketing]" value="true">
1785    <div class="input-group input-group--inner-button float__wrapper">
1786      <label for="mail-footer-newsletter">Email</label>
1787      <input class="input-group-field"
1788        type="email"
1789        placeholder="[email protected]"
1790        id="mail-footer-newsletter"
1791        aria-label="[email protected]"
1792        autocorrect="off"
1793        autocapitalize="off"
1794        name="contact[email]"
1795        data-newsletter-field />
1796      <span class="input-group-button">
1797        <button
1798          type="submit" 
1799          aria-label="Join"
1800          name="subscribe"
1801          id="subscribe-footer-newsletter"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-right-long" viewBox="0 0 21 10">
1801<path d="m14.982 1.01.696-.717 3.803 3.691.011-.01.338.348.359.348-.012.01.012.011-.354.343-.343.353-.011-.011-3.803 3.692-.696-.718 3.266-3.17H.5v-1h17.748z"/></svg><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-check-slim" viewBox="0 0 14 11"><path d="m-.046 6.89.707-.708 2.95 2.95 9.192-9.193.707.707-9.9 9.9-3.656-3.657z" fill-rule="evenodd"/></svg></button>
1802      </span>
1803    </div></form>
1804
1805</div></div>
1806          </div>
1807<div class="footer__content"><div class="footer__content__inner"><div class="float-grid grid--uniform" data-accordion-group>
1808                  <div class="grid__item medium-up--one-half footer__block" >
1809          <p class="footer__title footer__accordion__head js accordion-is-open"
1810            data-accordion-trigger="accordion-linklist-1-1"
1811            aria-controls="accordion-linklist-1-1"
1812            role="button"
1813            aria-haspopup="true"
1814            aria-label="Footer Menu"
1815            aria-expanded="true">
1816              Footer Menu
1817              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
1818          </p>
1819
1820          <input type="checkbox"
1821            name="accordion-linklist-1-1"
1822            id="accordion-linklist-1-1-checkbox"
1823            class="no-js no-js-checkbox"
1824            checked>
1825
1826          <label for="accordion-linklist-1-1-checkbox"
1827            class="footer__title footer__accordion__head no-js">
1828            Footer Menu
1829            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
1830          </label>
1831
1832          <ul class="footer__quicklinks footer__accordion__body no-js-accordion" data-accordion-body data-accordion-body-mobile id="accordion-linklist-1-1">
1833            
1834<li><a href="/pages/faq">FAQ</a></li>
1835            
1836<li><a href="/pages/our-philosophy">Our Philosophy</a></li>
1837            
1838<li><a href="/pages/sustainability">Sustainability</a></li>
1839            
1840<li><a href="/pages/ingredients">Ingredients</a></li>
1841            
1842<li><a href="/pages/wholesale">Wholesale Partners</a></li>
1843            
1844<li><a href="/policies/privacy-policy">Privacy Policy</a></li>
1845            
1846<li><a href="/policies/terms-of-service">Terms of Service</a></li>
1847            
1848<li><a href="/policies/contact-information">Contact Information</a></li>
1849            
1850          </ul>
1851        </div>
1852                </div></div><div class="footer__block footer__block--socials"><h3 class="heading-size-8">Skincare rooted in love</h3>
1853<div class="footer__socials">
1854                    <a class="footer__icon footer__icon--social" href="https://www.instagram.com/santubeautyco/" title="Instagram" target="_blank">
1855        <!-- /snippets/social-icon.liquid -->
1856
1857
1858<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 20 20"><path d="M10.034 1.763h2.644c.407 0 .881 0 1.424.068.474 0 .881.067 1.152.135.271.068.543.136.678.203.271.068.475.204.61.34.136.135.34.27.543.406.203.204.339.34.407.543.067.203.203.406.339.61.067.203.135.407.203.678.068.27.135.678.135 1.152 0 .543.068 1.017.068 1.424v5.288c0 .407 0 .882-.068 1.424 0 .474-.067.881-.135 1.152-.068.272-.136.543-.203.678a1.31 1.31 0 0 1-.34.61c-.135.204-.27.34-.406.543-.204.203-.34.339-.543.407a2.38 2.38 0 0 1-.61.27 7.737 7.737 0 0 1-.678.204 4.868 4.868 0 0 1-1.152.136c-.543 0-1.017.068-1.424.068H7.39c-.407 0-.882 0-1.424-.068-.474 0-.881-.068-1.152-.136-.272-.067-.543-.135-.678-.203-.272-.068-.475-.203-.61-.271-.204-.136-.34-.271-.543-.407-.203-.203-.339-.339-.407-.542-.135-.204-.203-.407-.339-.61a8.558 8.558 0 0 1-.203-.679 4.868 4.868 0 0 1-.136-1.152c0-.542-.067-1.017-.067-1.424V7.322c0-.407 0-.881.067-1.424 
18580-.474.068-.881.136-1.152.068-.271.135-.543.203-.678.068-.204.204-.407.34-.61.135-.204.27-.34.406-.543.203-.203.339-.339.542-.407.204-.135.407-.203.61-.339.204-.067.407-.135.679-.203a4.868 4.868 0 0 1 1.152-.135c.542 0 1.017-.068 1.424-.068h2.644zm0-1.763H7.322c-.407 0-.881 0-1.424.068-.542 0-1.017.068-1.356.135-.406.068-.745.204-1.084.34-.34.135-.61.27-.95.474-.27.203-.542.407-.813.678-.271.271-.542.542-.678.881-.136.34-.339.543-.475.882-.135.339-.27.678-.339 1.084a6.993 6.993 0 0 0-.135 1.356C0 6.441 0 6.915 0 7.322v5.356c0 .407 0 .881.068 1.424 0 .542.068 1.017.135 1.356.068.406.204.745.34 1.084.135.34.27.61.474.95.203.27.407.542.678.813.271.271.542.475.813.678.272.203.61.339.95.475.339.135.678.203 1.084.339.407.067.814.135 1.356.135.543 0 1.017.068 1.424.068h5.424c.407 0 .881 0 1.423-.068.543 0 1.017-.068 1.356-.135.407-.068.746-.204 1.085-.34.34-.135.61-.27.95-.474.27-.203.542-.407.88-.678.272-.271.475-.542.679-.881.203-.271.339-.61.474-.882.136-.339.204-.678.271-1.084.068-.407.136-.814.136-1.424 0-.542.068-1.017.068-1.424V7.254c0-.407 0-.881-.068-1.423 0-.543-.068-1.017-.136-1.424-.067-.407-.203-.746-.27-1.085a6.199 6.199 0 0 0-.475-.95c-.204-.338-.407-.541-.678-.813a4.353 4.353 0 0 0-.882-.678c-.27-.203-.61-.339-.949-.474-.339-.136-.678-.271-1.085-.34-.406-.067-.813-.135-1.356-.135h-1.423C12.27 0 11.39 0 10.034 0zm0 4.881c-.746 0-1.356.136-2.034.407-.61.271-1.153.61-1.627 1.085C5.898 6.847 5.559 7.39 5.288 8a4.863 4.863 0 0 0-.407 1.966c0 .746.136 1.356.407 2.034.271.61.61 1.153 1.085 1.627.474.475 1.017.814 1.627 1.085.61.271 1.288.407 2.034.407.746 0 1.356-.136 2.034-.407a4.57 4.57 0 0 0 1.627-1.085c.474-.474.813-1.017 1.085-1.627.27-.61.406-1.288.406-2.034 0-.678-.135-1.356-.406-1.966-.272-.61-.61-1.153-1.085-1.627-.475-.475-1.017-.814-1.627-1.085-.61-.271-1.356-.407-2.034-.407zm0 8.475c-.95 0-1.695-.34-2.373-.95-.678-.677-.95-1.423-.95-2.372 0-.881.34-1.695.95-2.373.61-.678 1.424-1.017 2.373-1.017.949 0 1.695.339 2.373 1.017.678.678.949 1.424.949 2.373 0 .949-.34 1.695-.95 2.373-.677.61-1.49.949-2.372.949zm6.508-8.678c0-.339-.135-.61-.339-.814a1.25 1.25 0 0 0-.813-.339c-.34 0-.61.136-.814.34a1.25 1.25 0 0 0-.339.813c0 .271.136.61.34.881.203.272.542.34.813.34.339 0 .61-.136.813-.34.204-.27.34-.61.34-.881z"/></svg>
1859        <span class="visually-hidden">Instagram</span>
1860      </a>
1861                  </div></div></div>
1862      </div>
1863    </div>
1864  </div>
1865</footer>
1866
1867
1868<style> #shopify-section-sections--22400108298459__footer h3 {font-family: "F Grotesk Demi" !important; font-size: 20px;} #shopify-section-sections--22400108298459__footer .grid__item {float: left; padding-left: calc(var(--gutter) / 2); padding-right: calc(var(--gutter) / 2); width: 100%;} </style></div><div id="shopify-section-sections--22400108298459__subfooter" class="shopify-section shopify-section-group-group-footer"><!-- /sections/subfooter.liquid --><section class="subfooter"
1869  data-section-id="sections--22400108298459__subfooter"
1870  data-section-type="footer"
1871  style="--PT: 20px; --PB: 20px;">
1872  <div class="section-padding wrapper--full">
1873    
1874    
1875    
1876<div class="subfooter__items subfooter__items--0">
1877
1878      <div class="subfooter__item subfooter__item--copyright">
1879        <span class="subfooter__copyright"> &copy; <a href="/" title="">Santu Beauty </a>
1879 2026 </span>
1880
1881        
1882<span class="subfooter__copyright"><a href="/search">Search</a></span>
1883        
1884
1885        <!-- The following lines fix Lighthouse security warnings on the Shopify link.--><!-- Remove the following line to delete Powered by Shopify from your footer -->
1886        <span class="subfooter__copyright" data-powered-link><a rel="noopener" target="_blank"  href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a></span>
1887        <!-- Stop deleting here -->
1888
1889      </div></div>
1890  </div>
1891</section>
1892
1893
1894</div>
1895<!-- END sections: group-footer -->
1896
1897  <div class="search--popdown">
1898    <!-- /snippets/search-predictive.liquid -->
1899
1900
1901
1902<div data-search-popdown-wrap>
1903  <div id="search-popdown" class="search-popdown search__predictive" data-popdown-outer><predictive-search><form
1904        action="/search"
1905        method="get"
1906        role="search">
1907
1908        <div class="item--loadbar" data-loading-indicator style="display: none;"></div>
1909        <div class="search__predictive__outer">
1910          <div class="wrapper">
1911            <div class="search__predictive__main">
1912              <div class="search__predictive__actions">
1913                <button class="search__predictive__button" type="submit">
1914                  <span class="visually-hidden">Search</span>
1915                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864 14.863 16l-4.24-4.241a6.406 6.406 0 0 1-4.048 1.392 6.61 6.61 0 0 1-4.65-1.925A6.493 6.493 0 0 1 .5 9.098 6.51 6.51 0 0 1 0 6.575a6.536 6.536 0 0 1 1.922-4.652A6.62 6.62 0 0 1 4.062.5 6.52 6.52 0 0 1 6.575 0 6.5 6.5 0 0 1 9.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 0 1 1.436 2.13 6.54 6.54 0 0 1 .498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg>
1916                </button>
1917
1918                <input type="search"
1919                  data-predictive-search-input="search-popdown-results"
1920                  name="q"
1921                  value=""
1922                  placeholder="Search..."
1923                  aria-label="Search our store"
1924                  aria-controls="predictive-search-results"
1925                >
1926
1927                <div class="search__predictive__clear">
1928                  <button type="reset" class="search__predictive__close__inner search-reset is-hidden" aria-label="Reset">
1929                    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="m2.06 1 12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02 13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
1930Clear</button>
1931                </div>
1932              </div>
1933
1934              <div class="search__predictive__close">
1935                <button type="button" class="search__predictive__close__inner" data-close-popdown aria-label="Close">
1936                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-small" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="m2.237 1.073 12.021 12.021-1.414 1.414L.824 2.488z"/><path d="m.823 13.094 12.021-12.02 1.414 1.413-12.02 12.021z"/></g></svg>
1937                </button>
1938              </div>
1939            </div>
1940          </div>
1941        </div><div class="header__search__results" tabindex="-1" data-predictive-search-results></div>
1942
1943          <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true" data-predictive-search-status></span></form></predictive-search></div>
1944
1945  
1946    <span class="drawer__underlay" data-search-underlay></span>
1947  
1948
1949  
1949<script data-predictive-search-aria-template type="text/x-template">
1950    <div aria-live="polite">
1951      <p>
1952        
1953          {{@if(it.count)}}
1954            <span class="badge">{{ it.count }}</span>
1955          {{/if}}
1956          {{ it.title }} <em>{{ it.query }}</em>
1957        
1958      </p>
1959    </div>
1960  </script>
1960
1961
1962  
1962<script data-predictive-search-title-template type="text/x-template">
1963    <div class="search__results__heading">
1964      
1965        <p>
1966          <span class="search__results__title">{{ it.title }}</span>
1967          <span class="badge">{{ it.count }}</span>
1968        </p>
1969      
1970    </div>
1971  </script>
1971
1972
1973  
1973<script data-search-other-template type="text/x-template">
1974    
1975      {{@each(it) => object, index}}
1976        <div class="other__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
1977          <p class="other__inline__title">
1978            <a href="{{ object.url }}">{{ object.title | safe }}</a>
1979          </p>
1980        </div>
1981      {{/each}}
1982    
1983  </script>
1983
1984
1985  
1985<script data-search-product-template type="text/x-template">
1986    
1987      {{@each(it) => object, index}}
1988        <a href="{{ object.url }}" class="product__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
1989          <div class="product__inline__image {{ @if (object.featured_image.width === null) }} product__inline__image--no-image {{ /if}}">
1990            {{ @if (object.featured_image.width !== null) }}
1991              <img class="img-aspect-ratio" width="{{object.featured_image.width}}" height="{{ object.featured_image.height }}" alt="{{ object.featured_image.alt }}" src="{{ object.thumb }}">
1992            {{ /if}}
1993          </div>
1994          <div>
1995            <p class="product__inline__title">
1996              {{ object.title | safe }}
1997            </p>
1998            <p class="product__inline__price">
1999              <span class="price {{ object.classes }}">
2000                {{ object.price | safe }}
2001              </span>
2002              {{@if(object.sold_out)}}
2003                <br /><em>{{ object.sold_out_translation }}</em>
2004              {{/if}}
2005              {{@if(object.on_sale)}}
2006                <span class="compare-at">
2007                  {{ object.compare_at_price | safe }}
2008                </span>
2009              {{/if}}
2010            </p>
2011          </div>
2012        </a>
2013      {{/each}}
2014    
2015  </script>
2015
2016
2017</div>
2018
2019  </div>
2020
2021  
2021<script data-swatch-template type="text/x-template">
2022    <radio-swatch class="swatch__button swatch__button--square">
2023      
2024        <input type="radio"
2025          name="grouped-{{ it.product_id }}"
2026          value="{{ it.color }}"
2027          id="{{ it.uniq }}"
2028          tabindex="-1">
2029        <label for="{{ it.uniq }}"
2030          data-swatch="{{ it.color }}"
2031          data-swatch-variant="{{ it.variant }}"
2032          data-swatch-image="{{ it.image }}"
2033          data-swatch-image-id="{{ it.image_id }}"
2034          data-swatch-index="{{ it.index }}"
2035          tabindex="0">
2036          <span class="visually-hidden">{{ it.color }}</span>
2037        </label>
2038      
2039    </radio-swatch>
2040  </script>
2040
2041
2042  <div data-modal-container></div><!-- Paste popup code or third party scripts below this comment line ============== -->
2043
2044<style>
2045  h2.footer-block__heading.inline-richtext,
2046  ul.footer-block__details-content.list-unstyled{
2047      text-align: left;
2048  }
2049</style>
2050
2051
2052  
2053  <!-- And above this comment line ================================================== -->
2054
2055<style>  </style>
2056<div id="shopify-block-AeHhSMHRscDBnTDlvW__15885745614559378752" class="shopify-block shopify-app-block"><div id="accessibly-config" style="display:none">
2057    {"themeColor":"#8e6b66","iconColor":"#8e6b66","showLogo":true,"topBottomPosition":10,"rightLeftPosition":10,"iconSize":"small","iconCustomSize":64,"position":"middle-right"}
2058</div>
2059
2060
2061</div><div id="shopify-block-AaUY3TDlOK3J2UVAyQ__4015264832934714879" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: ecomsend-app -->
2061<script type="text/javascript">
2062  //SendWILL APPS COMMON JS CODE
2063  window.EcomSendApps = window.EcomSendApps || {}
2064
2065  window.EcomSendApps.design_mode = false
2066  
2067
2068  window.EcomSendApps.common = window.EcomSendApps.common || {}
2069  window.EcomSendApps.common.shop = {
2070    permanent_domain: '1ad0e7.myshopify.com',
2071    currency: "USD",
2072    money_format: "${{amount}}",
2073    id: 68234969307,
2074  }
2075
2076  
2077  
2078    window.EcomSendApps.common.customer = {
2079      id: null,
2080      tags: null,
2081      email: null,
2082      accepts_marketing: null,
2083      first_name: null,
2084    }
2085  
2086
2087  
2088  window.EcomSendApps.common.template = 'search'
2089</script>
2089
2090<!-- END app snippet -->
2091
2092<script>
2093  window.EcomSendApps = window.EcomSendApps || {}
2094  /** @description shared localStorage key used by web-pixel sandbox to read storefront GDPR mode */
2095  const ECOMSEND_GDPR_ENABLED_STORAGE_KEY = "ECOMSEND:GDPR_ENABLED"
2096  /** @description storefront main bundle asset url */
2097  const ECOMSEND_MAIN_SCRIPT_URL = 'https://cdn.shopify.com/extensions/01a0f197-ce1f-7a19-8adb-6b78fec4702f/ecomsend-209/assets/ecomsend.js'
2098  /** @description storefront style asset url */
2099  const ECOMSEND_MAIN_STYLE_URL = 'https://cdn.shopify.com/extensions/01a0f197-ce1f-7a19-8adb-6b78fec4702f/ecomsend-209/assets/style.css'
2100  /** @description storefront wasm asset url for runtime signature module */
2101  const ECOMSEND_WASM_ASSET_URL = 'https://cdn.shopify.com/extensions/01a0f197-ce1f-7a19-8adb-6b78fec4702f/ecomsend-209/assets/client_safe.wasm'
2102  /** @description fallback delay when requestIdleCallback is unavailable */
2103  const ECOMSEND_IDLE_TIMEOUT_MS = 800
2104  /** @description user interaction events used to trigger lazy init earlier */
2105  const ECOMSEND_INTERACTION_EVENTS = ["pointerdown", "keydown", "touchstart"]
2106  /** @description global flag key for emergency immediate loading */
2107  const ECOMSEND_FORCE_IMMEDIATE_FLAG = window.EcomSendApps?.forceImmediateLoad === true
2108  /** @description default GDPR mode comes from block setting and can be overridden on window.EcomSendApps.GDPR */
2109  const ECOMSEND_DEFAULT_GDPR_FLAG = false
2110  /** @description default CWTracks mode comes from block setting and can be overridden on window.EcomSendApps.CWTracksEnabled */
2111  const ECOMSEND_DEFAULT_CWTRACKS_ENABLED = false
2112
2113  /** @description normalize merchant-provided GDPR switch into a strict boolean value */
2114  function normalizeEcomsendBooleanFlag(rawValue) {
2115    if (typeof rawValue === "boolean") {
2116      return rawValue
2117    }
2118    if (typeof rawValue === "number") {
2119      return rawValue === 1
2120    }
2121    if (typeof rawValue === "string") {
2122      const normalizedValue = rawValue.trim().toLowerCase()
2123      return normalizedValue === "true" || normalizedValue === "1" || normalizedValue === "yes"
2124    }
2125    return false
2126  }
2127
2128  /** @description lock runtime switch value on EcomSendApps to reduce accidental console overwrite. */
2129  function lockEcomsendReadonlyFlag(flagName, flagValue) {
2130    try {
2131      Object.defineProperty(window.EcomSendApps, flagName, {
2132        value: flagValue,
2133        writable: false,
2134        configurable: false,
2135        enumerable: true,
2136      })
2137      return
2138    } catch (error) {}
2139    window.EcomSendApps[flagName] = flagValue
2140  }
2141
2142  /** @description resolve storefront GDPR mode from merchant theme override */
2143  function resolveEcomsendGdprMode() {
2144    if (typeof window.EcomSendApps.GDPR === "undefined") {
2145      window.EcomSendApps.GDPR = ECOMSEND_DEFAULT_GDPR_FLAG
2146    }
2147    const gdprEnabled = normalizeEcomsendBooleanFlag(window.EcomSendApps.GDPR)
2148    window.EcomSendApps.GDPR = gdprEnabled
2149    return gdprEnabled
2150  }
2151
2152  /** @description resolve storefront CWTracks mode from merchant theme block setting and runtime override */
2153  function resolveEcomsendCwTracksMode() {
2154    if (typeof window.EcomSendApps.CWTracksEnabled === "undefined") {
2155      window.EcomSendApps.CWTracksEnabled = ECOMSEND_DEFAULT_CWTRACKS_ENABLED
2156    }
2157    const cwTracksEnabled = normalizeEcomsendBooleanFlag(window.EcomSendApps.CWTracksEnabled)
2158    window.EcomSendApps.CWTracksEnabled = cwTracksEnabled
2159    return cwTracksEnabled
2160  }
2161
2162  /** @description persist storefront GDPR mode so web-pixel sandbox can consume the same switch */
2163  function syncEcomsendGdprModeToStorage(gdprEnabled) {
2164    if (!window.localStorage) {
2165      return
2166    }
2167    if (gdprEnabled) {
2168      window.localStorage.setItem(ECOMSEND_GDPR_ENABLED_STORAGE_KEY, "true")
2169      return
2170    }
2171    window.localStorage.removeItem(ECOMSEND_GDPR_ENABLED_STORAGE_KEY)
2172  }
2173
2174  /** @description enable GDPR gating only when merchant explicitly turns on storefront GDPR mode */
2175  const ECOMSEND_GDPR_ENABLED = resolveEcomsendGdprMode()
2176  /** @description enable CWTracks callback/event emit only when merchant turns on CWTracks mode. */
2177  const ECOMSEND_CWTRACKS_ENABLED = resolveEcomsendCwTracksMode()
2178  lockEcomsendReadonlyFlag("GDPR", ECOMSEND_GDPR_ENABLED)
2179  lockEcomsendReadonlyFlag("CWTracksEnabled", ECOMSEND_CWTRACKS_ENABLED)
2180
2181  try {
2182    syncEcomsendGdprModeToStorage(ECOMSEND_GDPR_ENABLED)
2183  } catch (error) {}
2184
2185  /** @description create main stylesheet node for storefront runtime */
2186  function createEcomSendMainStyleEle() {
2187    const ecomsendMainStyleEle = document.createElement("link")
2188    ecomsendMainStyleEle.rel = "stylesheet"
2189    ecomsendMainStyleEle.href = ECOMSEND_MAIN_STYLE_URL
2190    ecomsendMainStyleEle.dataset.ecomsendTag = "main-style"
2191    return ecomsendMainStyleEle
2192  }
2193
2194  /** @description append runtime stylesheet exactly once */
2195  function ensureEcomSendMainStyleLoaded() {
2196    if (document.querySelector('link[data-ecomsend-tag="main-style"]')) {
2197      return
2198    }
2199    const ecomsendMainStyleEle = createEcomSendMainStyleEle()
2200    document.head.appendChild(ecomsendMainStyleEle)
2201  }
2202
2203  /** @description remove interaction listeners after first lazy-init trigger */
2204  function clearInteractionListeners() {
2205    ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => {
2206      window.removeEventListener(eventName, scheduleMainBundleLoad)
2207    })
2208  }
2209
2210  /** @description run low-priority task via idle callback with timeout fallback */
2211  function scheduleLowPriorityTask(taskRunner, timeoutMs) {
2212    if (window.requestIdleCallback) {
2213      window.requestIdleCallback(() => {
2214        taskRunner()
2215      }, { timeout: timeoutMs })
2216      return
2217    }
2218    window.setTimeout(() => {
2219      taskRunner()
2220    }, timeoutMs)
2221  }
2222
2223  /** @description load main storefront bundle once and keep rollback override */
2224  function loadEcomsendMainBundle() {
2225    if (window.__ecomsendMainBundleLoaded) {
2226      return
2227    }
2228    window.__ecomsendMainBundleLoaded = true
2229    clearInteractionListeners()
2230    /** @description ensure storefront runtime css is loaded together with main bundle */
2231    ensureEcomSendMainStyleLoaded()
2232    const ecomsendMainScriptEle = document.createElement("script")
2233    ecomsendMainScriptEle.src = ECOMSEND_MAIN_SCRIPT_URL
2234    ecomsendMainScriptEle.async = true
2235    ecomsendMainScriptEle.dataset.ecomsendTag = "main-script"
2236    document.body.appendChild(ecomsendMainScriptEle)
2237  }
2238
2239  /** @description schedule heavy bundle with idle-first strategy to reduce main-thread contention */
2240  function scheduleMainBundleLoad() {
2241    if (window.__ecomsendMainBundleLoadScheduled) {
2242      return
2243    }
2244    /** @description dedupe idle scheduling from DOMContentLoaded and first interactions */
2245    window.__ecomsendMainBundleLoadScheduled = true
2246    if (ECOMSEND_FORCE_IMMEDIATE_FLAG) {
2247      loadEcomsendMainBundle()
2248      return
2249    }
2250    scheduleLowPriorityTask(loadEcomsendMainBundle, ECOMSEND_IDLE_TIMEOUT_MS)
2251  }
2252
2253  /** @description cache marketing params for pixel/report flows before heavy bundle starts */
2254  function cacheMarketingParams() {
2255    const urlParams = new URLSearchParams(window.location.search)
2256    const marketingId = urlParams.get("ec_marketing_id")
2257    const ecEmailId = urlParams.get("ec_email_id")
2258    const ecMarketingSign = urlParams.get("ec_marketing_sign")
2259
2260    if (marketingId && window.localStorage) {
2261      window.localStorage.setItem("ec_marketing_id", marketingId)
2262    }
2263    if (ecEmailId && window.localStorage) {
2264      window.localStorage.setItem("ec_email_id", ecEmailId)
2265    }
2266    if (ecMarketingSign && window.localStorage) {
2267      window.localStorage.setItem("ec_marketing_sign", ecMarketingSign)
2268    }
2269  }
2270
2271  /** @description check whether marketing storage is allowed under Shopify customer privacy state */
2272  function isMarketingStorageAllowedByCustomerPrivacy() {
2273    const customerPrivacy = window?.Shopify?.customerPrivacy
2274    if (!customerPrivacy) {
2275      return false
2276    }
2277    const marketingAllowed = typeof customerPrivacy.marketingAllowed === "function" && customerPrivacy.marketingAllowed()
2278    if (marketingAllowed) {
2279      return true
2280    }
2281    if (typeof customerPrivacy.currentVisitorConsent === "function") {
2282      const consent = customerPrivacy.currentVisitorConsent()
2283      return consent?.marketing === "yes"
2284    }
2285    return false
2286  }
2287
2288  /** @description check whether analytics storage is allowed under Shopify customer privacy state */
2289  function isAnalyticsStorageAllowedByCustomerPrivacy() {
2290    const customerPrivacy = window?.Shopify?.customerPrivacy
2291    if (!customerPrivacy) {
2292      return false
2293    }
2294    const analyticsAllowed = typeof customerPrivacy.analyticsProcessingAllowed === "function" && customerPrivacy.analyticsProcessingAllowed()
2295    if (analyticsAllowed) {
2296      return true
2297    }
2298    if (typeof customerPrivacy.currentVisitorConsent === "function") {
2299      const consent = customerPrivacy.currentVisitorConsent()
2300      return consent?.analytics === "yes"
2301    }
2302    return false
2303  }
2304
2305  /** @description execute marketing param caching with GDPR guard: functional off when GDPR disabled */
2306  function cacheMarketingParamsWithGdprGuard() {
2307    if (!ECOMSEND_GDPR_ENABLED) {
2308      cacheMarketingParams()
2309      return
2310    }
2311    if (isMarketingStorageAllowedByCustomerPrivacy()) {
2312      cacheMarketingParams()
2313    }
2314  }
2315
2316  /** @description cache shop id used by pixel report branches */
2317  function cacheShopIdForPixel() {
2318    if (!window.EcomSendApps?.common?.shop?.id || !window.localStorage) {
2319      return
2320    }
2321    window.localStorage.setItem("ECOMSEND:ES_SHOP_ID", window.EcomSendApps.common.shop.id)
2322  }
2323
2324  /**
2325   * Flow client config (e.g. browserStaySeconds) is fetched by the main ecomsend.js bundle:
2326   * bootstrapFlowClientConfig → POST /api/automation/v2/clientFlowConfig (API Sign)
2327   * → localStorage ECOMSEND:FLOW_CLIENT_CONFIG.byEventId → read by web-pixel.
2328   * Keep new C-end Flow config on this path; do not scatter fetches in liquid.
2329   */
2330
2331  /** @description execute shop id caching with GDPR guard and shared consent policy */
2332  function cacheShopIdWithGdprGuard() {
2333    if (!ECOMSEND_GDPR_ENABLED) {
2334      cacheShopIdForPixel()
2335      return
2336    }
2337    if (isAnalyticsStorageAllowedByCustomerPrivacy()) {
2338      cacheShopIdForPixel()
2339    }
2340  }
2341
2342  /** @description load Shopify consent-tracking API before GDPR-gated cache writes */
2343  function withCustomerPrivacyApiReady(onReady) {
2344    if (!ECOMSEND_GDPR_ENABLED) {
2345      onReady()
2346      return
2347    }
2348    if (window?.Shopify?.customerPrivacy) {
2349      onReady()
2350      return
2351    }
2352    if (typeof window?.Shopify?.loadFeatures !== "function") {
2353      return
2354    }
2355    window.Shopify.loadFeatures(
2356      [{ name: "consent-tracking-api", version: "0.1" }],
2357      (error) => {
2358        if (error) {
2359          return
2360        }
2361        onReady()
2362      }
2363    )
2364  }
2365
2366  try {
2367    withCustomerPrivacyApiReady(() => {
2368      cacheMarketingParamsWithGdprGuard()
2369      cacheShopIdWithGdprGuard()
2370    })
2371    if (ECOMSEND_GDPR_ENABLED) {
2372      document.addEventListener("visitorConsentCollected", () => {
2373        cacheMarketingParamsWithGdprGuard()
2374        cacheShopIdWithGdprGuard()
2375      })
2376    }
2377  } catch (e) {}
2378
2379  /** @description inject wasm asset url into shared namespace before main bundle executes */
2380  window.EcomSendApps.wasmURL = ECOMSEND_WASM_ASSET_URL
2381
2382  ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => {
2383    window.addEventListener(eventName, scheduleMainBundleLoad, { once: true, passive: true })
2384  })
2385
2386  if (document.readyState === "loading") {
2387    document.addEventListener("DOMContentLoaded", scheduleMainBundleLoad, { once: true })
2388  } else {
2389    scheduleMainBundleLoad()
2390  }
2391</script>
2391
2392
2393<style id="ecomsend-custom-style"></style>
2394
2395<script>window.shopLocale = 'en'</script>
2395
2396
2397<script>
2398  /** @description timeout used for deferred discount request scheduling */
2399  const ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS = 1500
2400
2401  /** @description apply discount code from url query only when parameter exists */
2402  function applyWillDiscountCode() {
2403    const urlParams = new URLSearchParams(window.location.search)
2404    const willDiscountCode = urlParams.get("willDiscountCode")
2405    if (!willDiscountCode || /[\u0000-\u001F\u007F]/.test(willDiscountCode)) {
2406      return
2407    }
2408    fetch("/cart/update.js", {
2409      method: "POST",
2410      headers: {
2411        "Content-Type": "application/json",
2412      },
2413      body: JSON.stringify({
2414        discount: willDiscountCode,
2415      }),
2416    })
2417  }
2418
2419  try {
2420    if (!window.__ecomsendDeferredTasksScheduled) {
2421      /** @description global guard to avoid duplicate deferred task scheduling */
2422      window.__ecomsendDeferredTasksScheduled = true
2423      if (window.requestIdleCallback) {
2424        window.requestIdleCallback(() => {
2425          applyWillDiscountCode()
2426        }, { timeout: ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS })
2427      } else {
2428        window.setTimeout(() => {
2429          applyWillDiscountCode()
2430        }, ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS)
2431      }
2432    }
2433  } catch (error) {}
2434</script>
2434
2435
2436
2437
2438</div><div id="shopify-block-ANWk3VXE0N3BIWEMvV__11349500561483629931" class="shopify-block shopify-app-block">
2438<script id="ReStock-config">
2439  var _ReStockConfig = window._ReStockConfig || {};
2440
2441  _ReStockConfig.templateName = "search";
2442  _ReStockConfig.isB2BCustomer = null;
2443  _ReStockConfig.currentLocationId = null;
2444  _ReStockConfig.moneyFormat = "${{amount}}";_ReStockConfig.marketHandle = "us";
2445  _ReStockConfig.marketId = 16052060379;let metafieldConfigData = null;metafieldConfigData = {"ask_for_gdpr_consent_enabled":false,"not_selectable_variants_enabled":false,"pre_order_products_enabled":false,"ui_style":{"notify_me_styles":[{"wrapper":null,"page":"LANDING_PAGES","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":{"color":"","showIcon":false,"iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"product_card_selector":null,"style_mode":"SMART"},{"wrapper":null,"page":"COLLECTION_PAGE","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":{"color":"","showIcon":false,"iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"product_card_selector":null,"style_mode":"SMART"}],"product_page_notify_me_style":{"wrapper":[".product__submit__buttons.product__submit__buttons--clear",".product__submit",".product__form__inner",".shopify-product-form"],"support_wrapper":null,"css_selector_from_theme":null,"inline_display_mode":"BUTTON","show_floating_button":false,"hide_buy_it_now_button":true,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"handle_rerenders":true,"prepend_to_wrapper":false,"css_selector":"div.product__submit__buttons.product__submit__buttons--clear>button[type='submit'].btn--outline.btn--full.btn--primary.btn--add-to-cart","css_selector_by_support":null,"custom_styles":{"color":"","showIcon":false,"iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"custom_variant_listener":{"element":null,"property":null,"is_dataset_property":false},"use_add_to_cart_button_selector":true,"style_mode":"SMART"},"subscription_form_style":{"custom_styles":{"color":"","showIcon":false,"iconColor":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"style_mode":"SMART","name_field_is_visible":false,"name_field_is_required":false,"email_field_is_required":false,"phone_field_is_required":false,"whatsapp_field_is_required":false,"quantity_field_is_visible":false,"quantity_max_value":10},"button_classes":["btn--outline","btn--full","btn--primary","btn--add-to-cart"],"global_raw_css":".product__block__subscription {\r\n    display: none;\r\n}\r\n.hengam-preorder-badge,\r\n.hengam-preorder-collection-badge {\r\n    background-color: #8E6B66!important;\r\n    color: white!important;\r\n}","product_page_raw_css":".restock-alerts-notify-button {\r\n    background-color: #8E6B66;\r\n}","after_subscribe_message_styles":{"toastColor":"202223","toastBackgroundColor":"D5B992"}},"ui_contents":[{"notify_me_contents":[{"page":"PRODUCT_PAGE","button_text":"Join the Waitlist - get notified!","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"LANDING_PAGES","button_text":"Join the Waitlist - get notified!","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"COLLECTION_PAGE","button_text":"Join the Waitlist - get notified!","not_selectable_variants_button_text":"Out of stock? Click here"}],"subscription_form_content":{"form_title":"Keep me in the loop via:","email_input_placeholder":"Email Address ...","email_input_below_text":"Don’t worry! We hate spam as much as you do.","email_label":"Email","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Push notification","sms_label":"SMS","sms_input_placeholder":"Phone Number ...","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invali
2445d_email_error_message":"Your email address is not valid.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Your phone number is not valid.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"Notify Me When Available","add_to_contacts_checkbox_text":"Notify me about other news or offers too","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"We will notify you when the item is available","already_subscribed_message_text":"You already have subscribed for this item","push_is_not_allowed_message_text":"You didn\\'t allow this site to send you push notifications. To receive back-in-stock notification from this shop.","style_mode":"SMART","quantity_label":"Quantity"},"language":"en"},{"notify_me_contents":[{"page":"PRODUCT_PAGE","button_text":"Notificarme","not_selectable_variants_button_text":"¿Agotado?haga clic aquí"},{"page":"COLLECTION_PAGE","button_text":"Notificarme","not_selectable_variants_button_text":"¿Agotado?haga clic aquí"},{"page":"LANDING_PAGES","button_text":"Notificarme","not_selectable_variants_button_text":"¿Agotado?haga clic aquí"}],"subscription_form_content":{"form_title":"Notificarme a través de:","email_input_placeholder":"Dirección de correo electrónico ...","email_input_below_text":"¡No te preocupes!Odiamos el spam tanto como tú.","email_label":"Correo electrónico","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Notificación de inserción","sms_label":"SMS","sms_input_placeholder":"Número de teléfono ...","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invalid_email_error_message":"Su dirección de correo electrónico no es válida.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Su número de teléfono no es válido.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"Notificarme cuando esté disponible","add_to_contacts_checkbox_text":"Notificarme sobre otras noticias u ofertas también","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"Le notificaremos cuando el artículo esté disponible","already_subscribed_message_text":"Ya te has suscrito para este artículo","push_is_not_allowed_message_text":"No permitió que este sitio le envíe notificaciones push.Para recibir una notificación de retroceso de esta tienda.","style_mode":"SMART","quantity_label":"Quantity"},"language":"es"}],"default_language":"en","shop_id":61139,"app_enabled":true,"base_url":"https://api.notify-me.app","excluded_from_back_in_stock_variants":[],"included_in_back_in_stock_variants":[],"has_contact_integration":false,"ask_for_contact_integration_is_hidden":false,"privacy_policy_is_hidden":true,"disable_branding_permission":true,"is_email_hidden":false,"is_sms_hidden":false,"is_push_hidden":true,"is_whatsapp_hidden":true,"collection_page_show_button_when_any_variant_is_out_of_stock":false,"home_page_show_button_when_any_variant_is_out_of_stock":false,"subscription_limit_reached":false,"is_back_in_stock_active":false,"back_in_stock_product_selection_mode":"ALL","low_stock":{"excluded_variants":[],"is_service_active":false,"widget_settings":{"show_mode":"ALL","inventory_threshold":1},"product_page":{"is_elements_shown":true,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"es":{"description":"¡Solo quedan {{remaining_quantity}} artículos en stock!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"collection_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"es":{"description":"¡Solo quedan {{remaining_quantity}} artículos en stock!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"landing_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"es":{"description":"¡Solo quedan {{remaining_quantity}} artículos en stock!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]}},"is_suspended":false,"default_country_code":null};let metafieldPreOrderData = null;metafieldPreOrderData = {"product_page":{"ui_styles":{"badge":{"custom_styles":{"color":"","borderRadius":"","backgroundColor":""},"is_hidden":false},"button":{"custom_styles":{"color":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"is_visible":true},"description":{"is_hidden":true},"hide_buy_it_now_button":true,"is_active":true,"price":{"custom_styles":null,"format":"{symbol}{price}","is_hidden":false},"replace_with_add_to_cart_button":true,"selling_plan_selector":{"custom_styles":{"badgeTextColor":"000000","cardTitleColor":"202223","cardBorderColor":"e4e5e7","cardBorderRadius":"8","badgeBorderRadius":"6","cardBackgroun
2445dColor":"ffffff","badgeBackgroundColor":"e4e5e7","cardDescriptionColor":"6d7175"},"is_active":false,"custom_css":""},"style_mode":"SMART"},"ui_contents":{"en":{"badge_text":"Pre-Order","widget_description":"Product will be available soon!","btn_text":"Pre-Order","availability_date_label":"Expected availability","payment_label":"Payment","soon_available_text":"Coming soon","billing_full_payment_text":"Full payment at checkout","billing_due_now_label":"Due now","billing_due_later_label":"Due later on","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"},"es":{"badge_text":"Hacer un pedido","widget_description":"¡El producto estará disponible pronto!","btn_text":"Reserva ahora","availability_date_label":"Disponibilidad prevista","payment_label":"Pago","soon_available_text":"Muy pronto","billing_full_payment_text":"Pago completo al finalizar la compra.","billing_due_now_label":"Vence ahora","billing_due_later_label":"Se entregará más adelante","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"}},"elements_selectors":{"button":{"css_selector":"div.product__submit__buttons.product__submit__buttons--clear>button[type='submit'].btn--outline.btn--full.btn--primary.btn--add-to-cart","css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"description":{"wrapper_by_support":null},"selling_plan_selector":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false}},"collection_page":{"ui_styles":{"is_active":true,"button":{"custom_styles":{"color":"","borderSize":"","borderColor":"","borderRadius":"","backgroundColor":""},"is_visible":true},"badge":{"custom_styles":{"color":"","borderRadius":"","discountColor":"","backgroundColor":""},"is_visible":true,"position":"TOP_RIGHT"},"style_mode":"SMART"},"ui_contents":{"es":{"btn_text":"Reserva ahora","badge_text":"Pre-order"},"en":{"btn_text":"Pre-Order","badge_text":"Pre-Order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"landing_page":{"ui_styles":{"is_active":true,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7","discount_text_color":"000"},"is_visible":true,"position":"TOP_RIGHT"},"style_mode":"SMART","featured_product_is_active":false},"ui_contents":{"en":{"btn_text":"Pre-Order","badge_text":"Pre-Order"},"es":{"btn_text":"Reserva ahora","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"limit_reached":false,"variant_ids":[],"is_selling_plan_removed_by_support":false,"selling_plans_settings":{"7556825307":{"has_discount":false,"value_type":"percentage","value":0.0}},"selling_plans_billing_settings":{"7556825307":{"payment_type":"FULL","checkout_charge":{"percentage":50,"charge_type":"PERCENTAGE","exact_amount":0},"remaining_fee_checkout_time":{"date_type":"AFTER_SOME_DAYS","exact_date":null,"after_some_days":7}}},"selling_plan_id_to_market_ids":{},"selling_plan_id_to_variant_ids":{"7556825307":[]},"is_service_active":true,"override_cart_requests":true,"excluded_catalogs_products":[],"excluded_catalogs_collections":[],"excluded_company_locations":[],"description_availability_config":{"7556825307":{"type":"SOON","config":{}}},"mixed_cart_alert":{"show_mixed_cart_alert":false,"is_active":false,"ui_styles":{"show_icon":true,"show_title":true,"show_body":true,"style_mode":"SMART","custom_css":"","custom_styles":{"color":"1A1A1A","iconColor":"616161","borderColor":"F1F1F1","borderRadius":8,"backgroundColor":"F1F1F1"}},"elements_selectors":{"cart_page":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"cart_drawer":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null}},"ui_contents":{"en":{"title":"Shipping Notice","body":"Your order 
2445contains items with different delivery dates."},"es":{"title":"Shipping Notice","body":"Your order contains items with different delivery dates."}}}};let metafieldWishlistData = undefined;metafieldWishlistData = {"is_service_active":false,"is_guest_mode_enabled":true,"excluded_variant_ids":[],"wishlist_buttons":{"product_page":{"is_visible":true,"style_mode":"SMART","custom_styles":null,"slim_custom_styles":null,"inject_to_all_wrappers":false,"icon":"heart","inline_button_placements":[],"button_style":"FILL"},"collection_page":{"is_visible":false,"custom_styles":null,"icon":"","position":"","mode":"","button_placements":[]},"landing_page":{"is_visible":false,"custom_styles":null,"icon":"","position":"","mode":"","button_placements":[]}},"limit_reached":false,"ui_contents":{"en":{"id":50815,"add_to_wishlist_button_label":"Add to wishlist","remove_from_wishlist_button_label":"It’s in wishlist","list_access_button_label":"Wishlist","list_title":"Wishlist","list_add_all_to_cart_button_label":"Add all to cart","product_card_add_to_cart_button_label":"Add to cart","product_card_out_of_stock_button_label":"Out of stock","product_count_label":"{count} product(s)","empty_list_description":"You didn't like any products yet!","empty_list_explore_button_label":"Explore store","add_to_cart_toast_message":"Added to your cart","add_to_cart_failure_message":"Failed to add items to cart.","saved_to_wishlist_toast_message":"Saved to your wishlist","login_modal_button_label":"Login","login_modal_description":"Log in to your account to add products to your wishlist and view your previously saved items.","login_modal_title":"Login required"},"es":{"id":50828,"add_to_wishlist_button_label":"Añadir a la lista de deseos","remove_from_wishlist_button_label":"Está en la lista de deseos.","list_access_button_label":"Lista de deseos","list_title":"Lista de deseos","list_add_all_to_cart_button_label":"Añadir todo al carrito","product_card_add_to_cart_button_label":"Añadir a la cesta","product_card_out_of_stock_button_label":"Agotado","product_count_label":"{count} product(s)","empty_list_description":"¡Aún no te ha gustado ningún producto!","empty_list_explore_button_label":"Explorar la tienda","add_to_cart_toast_message":"Añadido a tu carrito","add_to_cart_failure_message":"Failed to add items to cart.","saved_to_wishlist_toast_message":"Saved to your wishlist","login_modal_button_label":"Acceso","login_modal_description":"Inicie sesión en su cuenta para agregar productos a su lista de deseos y ver los artículos guardados anteriormente.","login_modal_title":"Se requiere iniciar sesión"}},"access_button":{"custom_styles":null,"icon":"heart","position":"bottom-left","hide_floating_button":false,"floating_access_button_hidden_on_pages":[],"show_count_badge":false,"badge_custom_styles":null,"inline_button_placements":[]},"drawer":{"custom_styles":null,"position":"left"},"add_to_cart_message":{"custom_styles":null,"position":"bottom-right"},"saved_to_wishlist_message":{"is_enabled":false,"custom_styles":null,"position":"bottom-right"},"updated_at":1780955238};let metafieldFlagsData = null;metafieldFlagsData = {};_ReStockConfig._metafields = {
2446    sdkConfig: metafieldConfigData,
2447    preOrderConfig: metafieldPreOrderData,
2448    wishlistConfig: metafieldWishlistData,
2449    featureFlags: metafieldFlagsData
2450  };
2451</script>
2451
2452
2453<!-- BEGIN app snippet: early-cart-guard -->
2453<script id="ReStock-early-cart-guard">
2454(function (window) {
2455  try {
2456    if (window.__nmPreorderEarlyGuard) return;
2457
2458    let cfg = null;
2459    const metafields = window._ReStockConfig?._metafields;
2460    if (metafields?.preOrderConfig && typeof metafields.preOrderConfig === 'object') {
2461      cfg = metafields.preOrderConfig;
2462    }
2463
2464    let wrappersInstalled = false;
2465
2466    window.__nmPreorderEarlyGuard = {
2467      v: 1,
2468      active: true,
2469      setConfig: function (nextConfig) {
2470        if (!nextConfig || typeof nextConfig !== 'object') return;
2471        cfg = nextConfig;
2472        if (cfg.override_cart_requests === true) installWrappers();
2473      }
2474    };
2475
2476    function isGuardActive() {
2477      return window.__nmPreorderEarlyGuard?.active === true;
2478    }
2479
2480    function isCartAddUrl(url) {
2481      try {
2482        const parsed = new URL(String(url), window.document.baseURI);
2483        return /(?:^|\/)cart\/add(?:\.js(?:on)?)?$/.test(parsed.pathname);
2484      } catch (error) {
2485        return false;
2486      }
2487    }
2488
2489    function isPageActive() {
2490      const template = window._ReStockConfig?.templateName;
2491      let pageConfig = null;
2492      if (template === 'product') {
2493        pageConfig = cfg.product_page;
2494      } else if (template === 'collection' || template === 'list-collections' || template === 'search' || template === 'page') {
2495        pageConfig = cfg.collection_page;
2496      } else if (template === 'index') {
2497        pageConfig = cfg.landing_page;
2498      }
2499      return pageConfig?.ui_styles?.is_active === true;
2500    }
2501
2502    function shouldEnrich() {
2503      if (!cfg) return false;
2504      if (cfg.override_cart_requests !== true) return false;
2505      if (cfg.is_service_active !== true) return false;
2506      if (cfg.limit_reached === true) return false;
2507      if (window._ReStockConfig?.isB2BCustomer) return false;
2508      return isPageActive();
2509    }
2510
2511    function isPlanVisibleInMarket(planId) {
2512      const planToMarkets = cfg.selling_plan_id_to_market_ids;
2513      if (!planToMarkets) return true;
2514      const allowedMarketIds = planToMarkets[planId];
2515      if (!allowedMarketIds || allowedMarketIds.length === 0) return true;
2516      const marketId = window._ReStockConfig?.marketId;
2517      if (marketId == null) return true;
2518      return allowedMarketIds.includes(Number(marketId));
2519    }
2520
2521    function findSellingPlanId(variantId) {
2522      const planToVariants = cfg.selling_plan_id_to_variant_ids;
2523      if (!planToVariants) return null;
2524      for (const planId of Object.keys(planToVariants)) {
2525        const variantIds = planToVariants[planId];
2526        if (variantIds && variantIds.includes(variantId) && isPlanVisibleInMarket(planId)) return planId;
2527      }
2528      return null;
2529    }
2530
2531    function localizedContents() {
2532      const contents = cfg.product_page?.ui_contents;
2533      if (!contents || typeof contents !== 'object') return {};
2534      return contents[shopLanguage()] || contents['en'] || Object.values(contents)[0] || {};
2535    }
2536
2537    function shopLanguage() {
2538      const locale = window.Shopify?.locale;
2539      if (locale) return locale;
2540      const documentLanguage = window.document?.documentElement?.lang;
2541      if (documentLanguage && documentLanguage !== 'null') return documentLanguage;
2542      return null;
2543    }
2544
2545    function formatDate(date) {
2546      return date.toISOString().split('T')[0];
2547    }
2548
2549    function toFiniteNumber(value) {
2550      if (typeof value === 'number') return Number.isFinite(value) ? value : null;
2551      if (typeof value === 'string') {
2552        const parsed = parseFloat(value);
2553        return Number.isFinite(parsed) ? parsed : null;
2554      }
2555      return null;
2556    }
2557
2558    function clamp(value, min, max) {
2559      return Math.min(max, Math.max(min, value));
2560    }
2561
2562    function availabilityDateText(planId) {
2563      const settings = cfg.description_availability_config?.[planId];
2564      if (!settings) return '';
2565      if (settings.type === 'SOON') return localizedContents().soon_available_text || '';
2566      if (settings.type === 'SPECIFIC_DATE') {
2567        const parsed = new Date(settings.config.date);
2568        return isNaN(parsed.getTime()) ? '' : formatDate(parsed);
2569      }
2570      if (settings.type === 'RELATIVE_DATE') {
2571        const days = typeof settings.config.days === 'string' ? parseInt(settings.config.days, 10) : settings.config.days;
2572        if (isNaN(days)) return '';
2573        const futureDate = new Date();
2574        futureDate.setDate(futureDate.getDate() + days);
2575        return formatDate(futureDate);
2576      }
2577      return '';
2578    }
2579
2580    function inlineVariantPrice(variantId) {
2581      const variants = window._ReStockConfig?.product?.variants;
2582      if (!Array.isArray(variants)) return null;
2583      const variant = variants.find(function (candidate) {
2584        return Number(candidate?.id) === variantId;
2585      });
2586      if (!variant) return null;
2587      return variant.price ? variant.price / 100 : 0;
2588    }
2589
2590    function finalPriceForPlan(price, planId) {
2591      const adjustment = cfg.selling_plans_settings?.[planId];
2592      if (!adjustment?.has_discount) return price;
2593      if (adjustment.value_type === 'percentage') return price * (1 - adjustment.value / 100);
2594      if (adjustment.value_type === 'fixed_amount') return price - adjustment.value * (window.Shopify?.currency?.rate ?? 1);
2595      return price;
2596    }
2597
2598    function formatMoneyIntl(price) {
2599      const currency = window.Shopify?.currency?.active || 'USD';
2600      const locale = window.Shopify?.locale || 'en-US';
2601      try {
2602        return new Intl.NumberFormat(locale, { style: 'currency', currency: currency }).format(price);
2603      } catch (error) {
2604        return currency + ' ' + price.toFixed(2);
2605      }
2606    }
2607
2608    const AMOUNT_PLACEHOLDER = /\{\{\s*(\w+)\s*\}\}/;
2609
2610    function delimit(cents, precision, thousands, decimal) {
2611      const parts = (cents / 100).toFixed(precision).split('.');
2612      const grouped = parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + thousands);
2613      return parts[1] ? grouped + (decimal || '.') + parts[1] : grouped;
2614    }
2615
2616    const AMOUNT_FORMATTERS = new Map([
2617      ['amount', function (cents) { return delimit(cents, 2, ','); }],
2618      ['amount_no_decimals', function (cents) { return delimit(cents, 0, ','); }],
2619      ['amount_with_comma_separator', function (cents) { return delimit(cents, 2, '.', ','); }],
2620      ['amount_no_decimals_with_comma_separator', function (cents) { return delimit(cents, 0, '.'); }],
2621      ['amount_with_apostrophe_separator', function (cents) { return delimit(cents, 2, "'"); }],
2622      ['amount_no_decimals_with_space_separator', function (cents) { return delimit(cents, 0, ' '); }],
2623      ['amount_with_space_separator', function (cents) { return delimit(cents, 2, ' ', ','); }],
2624      ['amount_with_period_and_space_separator', function (cents) { return delimit(cents, 2, ' '); }]
2625    ]);
2626
2627    function decodeEntities(s) {
2628      var el = window.document.createElement('textarea'); el.innerHTML = s; return el.value;
2629    }
2630
2631    function moneyFormat() {
2632      const format = window._ReStockConfig?.moneyFormat;
2633      return typeof format === 'string' ? decodeEntities(format.replace(/<[^>]*>/g, '')) : '';
2634    }
2635
2636    function formatMoney(amount) {
2637      const format = moneyFormat();
2638      const formatAmount = AMOUNT_FORMATTERS.get(AMOUNT_PLACEHOLDER.exec(format)?.[1] ?? '');
2639      if (!formatAmount) return formatMoneyIntl(amount);
2640      return format.replace(AMOUNT_PLACEHOLDER, formatAmount(Math.round(amount * 100)));
2641    }
2642
2643    function calculateCheckoutCharge(price, policy) {
2644      const { charge_type, exact_amount, percentage } = policy.checkout_charge;
2645      if (!Number.isFinite(price) || price <= 0) return 0;
2646      if (charge_type === 'PERCENTAGE') return clamp(price * ((toFiniteNumber(percentage) ?? 0) / 100), 0, price);
2647      return clamp(toFiniteNumber(exact_amount) ?? 0, 0, price);
2648    }
2649
2650    function formatRemainingDueDate(policy) {
2651      const { date_type, exact_date, after_some_days } = policy.remaining_fee_checkout_time;
2652      if (date_type === 'EXACT_DATE' && exact_date) {
2653        const parsed = new Date(exact_date + 'T12:00:00Z');
2654        if (!isNaN(parsed.getTime())) return formatDate(parsed);
2655      }
2656      if (date_type === 'AFTER_SOME_DAYS' && after_some_days) {
2657        const days = toFiniteNumber(after_some_days);
2658        if (days === null) return '';
2659        const futureDate = new Date();
2660        futureDate.setDate(futureDate.getDate() + days);
2661        return formatDate(futureDate);
2662      }
2663      return '';
2664    }
2665
2666    function paymentText(planId, variantId) {
2667      const policy = cfg.selling_plans_billing_settings?.[planId];
2668      if (!policy) return '';
2669      const contents = localizedContents();
2670      if (policy.payment_type === 'FULL') return contents.billing_full_payment_text || 'Full payment at checkout';
2671
2672      const price = inlineVariantPrice(variantId);
2673      if (price == null) return '';
2674
2675      const planPrice = finalPriceForPlan(price, planId);
2676      const dueNowAmount = calculateCheckoutCharge(planPrice, policy);
2677      const dueLaterAmount = clamp(planPrice - dueNowAmount, 0, planPrice);
2678      const dueDate = formatRemainingDueDate(policy);
2679
2680      const dueNowLabel = contents.billing_due_now_label || 'Due now';
2681      const dueLaterLabel = contents.billing_due_later_label || 'Due later on';
2682      const formattedDueNow = formatMoney(dueNowAmount);
2683      const formattedDueLater = formatMoney(dueLaterAmount);
2684      const dueLaterPart = dueDate
2685        ? formattedDueLater + ' ' + dueLaterLabel + ' ' + dueDate
2686        : formattedDueLater + ' ' + dueLaterLabel;
2687
2688      return formattedDueNow + ' ' + dueNowLabel + ' · ' + dueLaterPart;
2689    }
2690
2691    const DEFAULT_AVAILABILITY_LABEL = 'Expected availability';
2692    const DEFAULT_PAYMENT_LABEL = 'Payment';
2693    const TYPE_MARKER = 'Type';
2694
2695    function cleanLabel(raw) {
2696      return String(raw == null ? '' : raw)
2697        .replace(/[[\]]/g, '')
2698        .replace(/[\s::]+$/, '')
2699        .trim();
2700    }
2701
2702    function resolvePaymentLabel(raw) {
2703      const cleaned = cleanLabel(raw);
2704      if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === DEFAULT_AVAILABILITY_LABEL) {
2705        return DEFAULT_PAYMENT_LABEL;
2706      }
2707      return cleaned;
2708    }
2709
2710    function resolveAvailabilityLabel(raw, paymentLabel) {
2711      const cleaned = cleanLabel(raw);
2712      if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === paymentLabel) {
2713        return DEFAULT_AVAILABILITY_LABEL;
2714      }
2715      return cleaned;
2716    }
2717
2718    function visibleCartProperties(planId, variantId) {
2719      const properties = {};
2720      try {
2721        const contents = localizedContents();
2722        const paymentLabel = resolvePaymentLabel(contents.payment_label);
2723        const availabilityLabel = resolveAvailabilityLabel(contents.availability_date_label, paymentLabel);
2724        const availabilityDate = availabilityDateText(planId);
2725        if (availabilityDate) properties[availabilityLabel] = availabilityDate;
2726        const payment = paymentText(planId, variantId);
2727        if (payment) properties[paymentLabel] = payment;
2728      } catch (error) {}
2729      return properties;
2730    }
2731
2732    function setJsonProperty(item, name, value) {
2733      const properties = item.properties && typeof item.properties === 'object' && !Array.isArray(item.properties) ? item.properties : {};
2734      if (properties[name] === value) return false;
2735      properties[name] = value;
2736      item.properties = properties;
2737      return true;
2738    }
2739
2740    function coerceJsonNumbers(item) {
2741      if (item.id) item.id = Number(item.id);
2742      if (item.quantity) item.quantity = Number(item.quantity);
2743    }
2744
2745    function applyVisibleJsonProperties(item, planId, variantId) {
2746      const properties = visibleCartProperties(planId, variantId);
2747      let changed = false;
2748      for (const name of Object.keys(properties)) {
2749        if (setJsonProperty(item, name, properties[name])) changed = true;
2750      }
2751      return changed;
2752    }
2753
2754    function enrichJsonItem(item) {
2755      if (!item || typeof item !== 'object') return false;
2756      const variantId = Number(item.id);
2757      if (!Number.isFinite(variantId)) return false;
2758      const planId = findSellingPlanId(variantId);
2759      if (planId == null) return false;
2760
2761      if (cfg.is_selling_plan_removed_by_support) {
2762        const tagged = setJsonProperty(item, '_purchase_type', 'NM-preorder');
2763        const typed = setJsonProperty(item, 'Type', 'Pre-order');
2764        if (!tagged && !typed) return false;
2765        coerceJsonNumbers(item);
2766        return true;
2767      }
2768
2769      if (item.selling_plan != null && item.selling_plan !== '' && String(item.selling_plan) === String(planId)) return false;
2770
2771      setJsonProperty(item, '_purchase_type', 'NM-preorder');
2772      if (item.selling_plan == null || item.selling_plan === '') item.selling_plan = Number(planId);
2773      if (item.properties._selling_plan_id == null) setJsonProperty(item, '_selling_plan_id', String(planId));
2774      applyVisibleJsonProperties(item, planId, variantId);
2775      coerceJsonNumbers(item);
2776      return true;
2777    }
2778
2779    function enrichJson(data) {
2780      if (!data || typeof data !== 'object') return false;
2781      if (Array.isArray(data.items)) {
2782        let changed = false;
2783        for (const item of data.items) {
2784          if (enrichJsonItem(item)) changed = true;
2785        }
2786        return changed;
2787      }
2788      if (data.items && typeof data.items === 'object') return enrichJsonItem(data.items);
2789      return enrichJsonItem(data);
2790    }
2791
2792    function paramScopes(params) {
2793      const prefixes = [];
2794      const seen = {};
2795      params.forEach(function (value, key) {
2796        const match = /^items\[(\d+)\]\[id\]$/.exec(key);
2797        if (match && !seen[match[1]]) {
2798          seen[match[1]] = true;
2799          prefixes.push('items[' + match[1] + ']');
2800        }
2801      });
2802      if (prefixes.length > 0) return prefixes;
2803      if (params.get('items[id]') != null) return ['items'];
2804      if (params.get('id') != null) return [''];
2805      return [];
2806    }
2807
2808    function scopeKey(prefix, name) {
2809      return prefix ? prefix + '[' + name + ']' : name;
2810    }
2811
2812    function scopePropertyKey(prefix, name) {
2813      return prefix ? prefix + '[properties][' + name + ']' : 'properties[' + name + ']';
2814    }
2815
2816    function setParam(params, key, value) {
2817      if (params.get(key) === value) return false;
2818      params.set(key, value);
2819      return true;
2820    }
2821
2822    function applyRemovedBySupportParams(params, prefix) {
2823      const tagged = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder');
2824      const typed = setParam(params, scopePropertyKey(prefix, 'Type'), 'Pre-order');
2825      return tagged || typed;
2826    }
2827
2828    function applyVisibleParamProperties(params, prefix, planId, variantId) {
2829      const properties = visibleCartProperties(planId, variantId);
2830      let changed = false;
2831      for (const name of Object.keys(properties)) {
2832        if (setParam(params, scopePropertyKey(prefix, name), properties[name])) changed = true;
2833      }
2834      return changed;
2835    }
2836
2837    function enrichParamScope(params, prefix, planId, variantId) {
2838      if (cfg.is_selling_plan_removed_by_support) return applyRemovedBySupportParams(params, prefix);
2839
2840      const existingPlan = params.get(scopeKey(prefix, 'selling_plan'));
2841      if (existingPlan != null && existingPlan !== '' && String(existingPlan) === String(planId)) return false;
2842
2843      let changed = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder');
2844      if (existingPlan == null || existingPlan === '') {
2845        params.set(scopeKey(prefix, 'selling_plan'), String(planId));
2846        changed = true;
2847      }
2848      if (params.get(scopePropertyKey(prefix, '_selling_plan_id')) == null) {
2849        params.set(scopePropertyKey(prefix, '_selling_plan_id'), String(planId));
2850        changed = true;
2851      }
2852      if (applyVisibleParamProperties(params, prefix, planId, variantId)) changed = true;
2853      return changed;
2854    }
2855
2856    function enrichParams(params) {
2857      const scopes = paramScopes(params);
2858      let changed = false;
2859      for (const prefix of scopes) {
2860        const variantId = Number(params.get(scopeKey(prefix, 'id')));
2861        if (!Number.isFinite(variantId)) continue;
2862        const planId = findSellingPlanId(variantId);
2863        if (planId == null) continue;
2864        if (enrichParamScope(params, prefix, planId, variantId)) changed = true;
2865      }
2866      return changed;
2867    }
2868
2869    function enrichBody(body) {
2870      if (typeof body === 'string') {
2871        let jsonData = null;
2872        try {
2873          jsonData = JSON.parse(body);
2874        } catch (error) {
2875          jsonData = null;
2876        }
2877        if (jsonData && typeof jsonData === 'object') {
2878          return enrichJson(jsonData) ? { body: JSON.stringify(jsonData), changed: true } : { body: body, changed: false };
2879        }
2880        const params = new URLSearchParams(body);
2881        return enrichParams(params) ? { body: params.toString(), changed: true } : { body: body, changed: false };
2882      }
2883      if (typeof FormData !== 'undefined' && body instanceof FormData) {
2884        return { body: body, changed: enrichParams(body) };
2885      }
2886      if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) {
2887        return { body: body, changed: enrichParams(body) };
2888      }
2889      return { body: body, changed: false };
2890    }
2891
2892    function extractRequestUrl(input) {
2893      if (typeof input === 'string') return input;
2894      if (typeof input?.url === 'string') return input.url;
2895      if (typeof input?.href === 'string') return input.href;
2896      return '';
2897    }
2898
2899    function maybeEnrichFetchInit(input, init) {
2900      if (!isGuardActive() || !init || init.body == null) return init;
2901      const url = extractRequestUrl(input);
2902      if (!isCartAddUrl(url) || !shouldEnrich()) return init;
2903      const enriched = enrichBody(init.body);
2904      if (!enriched.changed) return init;
2905      return { ...init, body: enriched.body };
2906    }
2907
2908    function installWrappers() {
2909      if (wrappersInstalled) return;
2910      wrappersInstalled = true;
2911
2912      const originalFetch = window.fetch;
2913      window.fetch = function (input, init) {
2914        let nextInit = init;
2915        try {
2916          nextInit = maybeEnrichFetchInit(input, init);
2917        } catch (error) {}
2918        return originalFetch.call(this || window, input, nextInit);
2919      };
2920
2921      const xhrPrototype = window.XMLHttpRequest?.prototype;
2922      if (xhrPrototype) {
2923        const originalOpen = xhrPrototype.open;
2924        const originalSend = xhrPrototype.send;
2925        xhrPrototype.open = function () {
2926          try {
2927            this.__nmEarlyGuardUrl = arguments[1];
2928          } catch (error) {}
2929          return originalOpen.apply(this, arguments);
2930        };
2931        xhrPrototype.send = function (body) {
2932          try {
2933            if (isGuardActive() && body != null && this.__nmEarlyGuardUrl != null && isCartAddUrl(this.__nmEarlyGuardUrl) && shouldEnrich()) {
2934              const enriched = enrichBody(body);
2935              if (enriched.changed) return originalSend.call(this, enriched.body);
2936            }
2937          } catch (error) {}
2938          return originalSend.apply(this, arguments);
2939        };
2940      }
2941    }
2942
2943    if (cfg?.override_cart_requests === true) installWrappers();
2944  } catch (error) {}
2945})(window);
2946</script>
2946
2947<!-- END app snippet -->
2948<!-- BEGIN app snippet: wishlist-page-container -->
2948<script id="ReStock-wishlist-page-container">
2949(function (window) {
2950  try {
2951    if (window.__nmWishlistPageContainer) return;
2952
2953    const CONTAINER_ID = 'nm-wishlist-page-root';
2954    const TARGET_SELECTORS = ['main#MainContent', 'main', '[role="main"]'];
2955    const RELATIVE_PLACEMENTS = ['before', 'after', 'start', 'end'];
2956
2957    function trimTrailingSlash(path) {
2958      const value = String(path);
2959      return value.length > 1 && value.charAt(value.length - 1) === '/' ? value.slice(0, -1) : value;
2960    }
2961
2962    function stripRoutesRoot(pathname) {
2963      const root = window.Shopify?.routes?.root;
2964      if (typeof root !== 'string') return pathname;
2965      const prefix = trimTrailingSlash(root);
2966      if (prefix === '' || prefix === '/') return pathname;
2967      if (pathname === prefix) return '/';
2968      return pathname.indexOf(prefix + '/') === 0 ? pathname.slice(prefix.length) : pathname;
2969    }
2970
2971    function isConfiguredPage(pagePath) {
2972      const pathname = window.location?.pathname;
2973      if (typeof pathname !== 'string') return false;
2974      return trimTrailingSlash(stripRoutesRoot(pathname)) === trimTrailingSlash(pagePath);
2975    }
2976
2977    function hasShareToken() {
2978      const search = window.location?.search;
2979      if (!search) return false;
2980      return !!new URLSearchParams(search).get('w');
2981    }
2982
2983    function isBootable(wishlistConfig, sdkConfig) {
2984      if (!sdkConfig || typeof sdkConfig !== 'object') return false;
2985      if (sdkConfig.app_enabled !== true) return false;
2986      if (sdkConfig.is_suspended === true) return false;
2987      return wishlistConfig.is_service_active === true;
2988    }
2989
2990    function matchElement(selector) {
2991      try {
2992        return window.document.querySelector(selector) || null;
2993      } catch (error) {
2994        return null;
2995      }
2996    }
2997
2998    function configuredTarget(placement) {
2999      if (!placement || typeof placement !== 'object') return null;
3000      if (typeof placement.css_selector !== 'string' || placement.css_selector === '') return null;
3001      const element = matchElement(placement.css_selector);
3002      if (!element) return null;
3003      const relative = RELATIVE_PLACEMENTS.indexOf(placement.relative_placement) === -1 ? 'start' : placement.relative_placement;
3004      return { element: element, relative: relative };
3005    }
3006
3007    function builtInTarget() {
3008      for (const selector of TARGET_SELECTORS) {
3009        const element = matchElement(selector);
3010        if (element) return { element: element, relative: 'start' };
3011      }
3012      return null;
3013    }
3014
3015    function insertContainer(container, target) {
3016      if (target.relative === 'before' || target.relative === 'after') {
3017        const parent = target.element.parentNode;
3018        if (!parent) return false;
3019        parent.insertBefore(container, target.relative === 'before' ? target.element : target.element.nextSibling || null);
3020        return true;
3021      }
3022      target.element.insertBefore(container, target.relative === 'end' ? null : target.element.firstChild || null);
3023      return true;
3024    }
3025
3026    function createContainer(placement) {
3027      const target = configuredTarget(placement) || builtInTarget();
3028      if (!target) return null;
3029      const container = window.document.createElement('div');
3030      container.id = CONTAINER_ID;
3031      container.setAttribute('data-nm-container-source', 'fallback');
3032      return insertContainer(container, target) ? container : null;
3033    }
3034
3035    function usablePagePath(wishlistConfig) {
3036      const myWishlist = wishlistConfig && typeof wishlistConfig === 'object' ? wishlistConfig.my_wishlist : null;
3037      return myWishlist && typeof myWishlist.page_path === 'string' ? myWishlist.page_path : '';
3038    }
3039
3040    function wishlistPageConfig(wishlistConfig) {
3041      const pagePath = usablePagePath(wishlistConfig);
3042      return pagePath && isConfiguredPage(pagePath) ? wishlistConfig.my_wishlist : null;
3043    }
3044
3045    function armContainer(myWishlist) {
3046      const container = window.document.getElementById(CONTAINER_ID) || createContainer(myWishlist.container_placement);
3047      if (container) container.removeAttribute('data-nm-page-state');
3048    }
3049
3050    function markInactive() {
3051      const container = window.document.getElementById(CONTAINER_ID);
3052      if (container) container.setAttribute('data-nm-page-state', 'inactive');
3053    }
3054
3055    function dearmContainer() {
3056      const stale = window.document.getElementById(CONTAINER_ID);
3057      if (stale && stale.getAttribute('data-nm-container-source') === 'fallback') stale.remove();
3058      else markInactive();
3059    }
3060
3061    function ensure(wishlistConfig, sdkConfig) {
3062      try {
3063        const myWishlist = wishlistPageConfig(wishlistConfig);
3064        if (!myWishlist) {
3065          if (usablePagePath(wishlistConfig)) dearmContainer();
3066          return;
3067        }
3068        const active = myWishlist.type === 'separate_page' || hasShareToken();
3069        if (active && isBootable(wishlistConfig, sdkConfig)) armContainer(myWishlist);
3070        else markInactive();
3071      } catch (error) {}
3072    }
3073
3074    window.__nmWishlistPageContainer = { v: 1, ensure: ensure };
3075
3076    const metafields = window._ReStockConfig?._metafields;
3077    ensure(metafields?.wishlistConfig, metafields?.sdkConfig);
3078  } catch (error) {}
3079})(window);
3080</script>
3080
3081<!-- END app snippet -->
3082
3083<script src="https://cdn.shopify.com/extensions/01a0e83c-88a3-702e-8442-82641270f3fe/bestpush-110/assets/restock-sdk-loader.js?v=1790602660" defer></script>
3083
3084
3085<style>
3086  #nm-wishlist-page-root {
3087    min-height: 60vh;
3088  }
3089
3090  #nm-wishlist-page-root[data-nm-container-source="fallback"] {
3091    box-sizing: border-box;
3092    max-width: 1200px;
3093    margin: 0 auto;
3094    padding: 0 1.5rem;
3095  }
3096
3097  #nm-wishlist-page-root[data-nm-page-state="inactive"]:empty {
3098    display: none;
3099  }
3100
3101  #nm-wishlist-page-root:empty {
3102    display: flex;
3103    align-items: center;
3104    justify-content: center;
3105  }
3106
3107  #nm-wishlist-page-root:empty::after {
3108    content: "";
3109    width: 36px;
3110    height: 36px;
3111    border: 3px solid #e3e3e3;
3112    border-top-color: #1773b0;
3113    border-radius: 50%;
3114    animation: nm-wishlist-page-boot-spin 0.7s linear infinite;
3115  }
3116
3117  @keyframes nm-wishlist-page-boot-spin {
3118    to {
3119      transform: rotate(360deg);
3120    }
3121  }
3122
3123  body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .main-page-title,
3124  body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .page-title,
3125  body:has(#nm-wishlist-page-root:not(:empty)) .main-page-title,
3126  body:has(#nm-wishlist-page-root:not(:empty)) .page-title {
3127    display: none !important;
3128  }
3129</style>
3130
3131
3132</div><div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
3132<script>
3133  window['ShopifyForms'] = {
3134    ...window['ShopifyForms'],
3135    currentPageType: "search"
3136  };
3137</script>
3137
3138
3139
3140</div>
3140<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3140
3141</body>
3142</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.