















      
      
      
      <!-- using block list: on -->
      <!-- current request path:/index.json -->
      <!-- shop lock exceptions:none -->
      <!--restricting page: false -->
      <!--shop locking: off -->
      
      
      
      

      

      
      

    
     


          


























































   

        
    		
        
    			
            
            
            

            
                
            
                
            
            
        
    		

































    











                                        














               

<!doctype html><html class="no-js" lang="en" dir="ltr">
<head><script data-source-attribution="shopify.exit_interstitial">(()=>{var s=Function.prototype.bind.bind(Function.prototype.call),yt=(l,r)=>{for(let f=l;f;f=Object.getPrototypeOf(f)){let y=Object.getOwnPropertyDescriptor(f,r);if(y)return y}throw new TypeError(`${r} is not defined`)},u=(l,r)=>s(yt(l,r).get),B=(l,r)=>s(yt(l,r).set);var Se=s(String.prototype.endsWith),k=s(RegExp.prototype.exec),Re=/^_(self|top|parent)$/i,xe=/(^|\s)noreferrer(\s|$)/i,ht=/^(no-referrer(-when-downgrade)?|same-origin|(strict-)?origin(-when-cross-origin)?|unsafe-url)$/i,Pe=/^(never|default|always|origin-when-crossorigin)$/i,Et=/^(no-referrer|same-origin|never)$/i,mt=l=>{let r=`.${l}`;return f=>f===l||Se(f,r)},wt=(l,r,f)=>l!==void 0&&(l.protocol==="https:"||l.protocol==="http:")&&l.origin!==r&&!f(l.hostname),bt=(l,r,f)=>l!==null&&k(xe,l)!==null?!0:r!==null&&k(ht,r)!==null?k(Et,r)!==null:f,_t=(l,r)=>k(ht,l)!==null||k(Pe,l)!==null?k(Et,l)!==null:r,A=(l,{metaKey:r,ctrlKey:f,shiftKey:y,button:S})=>l&&k(Re,l)===null?l:r||f||y||S===1?"_blank":"";var Le="http://www.w3.org/2000/svg",Oe="http://www.w3.org/1999/xlink",G=["rel","referrerpolicy","download","ping","hreflang","type"];function kt(l){let r=window;if(r.top!==r)return;let f=document,y=r.navigation,S=location.origin,v=URL,q=u(v.prototype,"href"),vt=u(v.prototype,"origin"),Nt=u(v.prototype,"protocol"),St=u(v.prototype,"hostname"),Y=s(Event.prototype.preventDefault),Rt=s(Event.prototype.stopPropagation),j=s(Event.prototype.stopImmediatePropagation),V=s(Event.prototype.composedPath),xt=u(Event.prototype,"type"),Pt=u(Event.prototype,"cancelable"),X=u(Event.prototype,"defaultPrevented"),Lt=u(Event.prototype,"bubbles"),Ot=u(Event.prototype,"currentTarget"),At=u(Event.prototype,"eventPhase"),{CAPTURING_PHASE:It}=Event,z=u(Event.prototype,"cancelBubble"),Tt=B(Event.prototype,"cancelBubble"),Wt=u(MouseEvent.prototype,"button"),Mt=u(MouseEvent.prototype,"metaKey"),Ct=u(MouseEvent.prototype,"ctrlKey"),Dt=u(MouseEvent.prototype,"shiftKey"),Ft=y&&u(NavigateEvent.prototype,"destination"),Ht=y&&u(NavigationDestination.prototype,"url"),J=y&&u(NavigateEvent.prototype,"navigationType"),$t=y&&u(NavigateEvent.prototype,"formData"),Q=y&&"sourceElement"in NavigateEvent.prototype?u(NavigateEvent.prototype,"sourceElement"):void 0,m=s(Element.prototype.getAttribute),Kt=s(Element.prototype.getAttributeNS),I=s(Element.prototype.setAttribute),Ut=u(Element.prototype,"localName"),Bt=u(Element.prototype,"namespaceURI"),Gt=s(Document.prototype.querySelector),qt=s(Document.prototype.querySelectorAll),Yt=u(NodeList.prototype,"length"),jt=s(NodeList.prototype.item),T=u(Node.prototype,"baseURI"),Vt=s(Document.prototype.createElement),Xt=s(HTMLElement.prototype.click),zt=s(r.open),Jt=s(location.assign),Qt=s(location.replace),Zt=encodeURIComponent,te=s(String.prototype.startsWith),Z=s(r.setTimeout),ee=s(r.addEventListener),ne=s(r.removeEventListener),tt=s(EventTarget.prototype.addEventListener),et=s(EventTarget.prototype.removeEventListener),nt=Object.defineProperties,ot=t=>{let e=[],n=[HTMLElement.prototype,SVGElement.prototype,Document.prototype,r];for(let o=0;o<n.length;o+=1)try{e[e.length]={get:u(n[o],t),set:B(n[o],t)}}catch{}return e},oe={click:ot("onclick"),auxclick:ot("onauxclick")},rt=WeakMap,re=WeakSet,st=s(WeakMap.prototype.get),se=s(WeakMap.prototype.set),ce=s(WeakMap.prototype.delete),ie=s(WeakSet.prototype.add),ae=s(WeakSet.prototype.has),le=mt(l.site),ct=q(new v(l.exitPath,S)),ue=`${ct}?`,P=(t,e)=>{try{let n=new v(t,e);return{href:q(n),origin:vt(n),protocol:Nt(n),hostname:St(n)}}catch{return}},pe=(t,e,n)=>{let o=n?"&noreferrer=1":"";return`${ct}?q=${Zt(t.href)}&trigger=${e}${o}`},it=()=>{let t=qt(f,'meta[name="referrer" i][content]'),e=!1;for(let n=0;n<Yt(t);n+=1)e=_t(m(jt(t,n),"content"),e);return e},at=(t,e,{target:n,noReferrer:o,replaces:i})=>{let d=pe(t,e,o);if(n){zt(r,d,n,"noopener");return}(i?Qt:Jt)(location,d)},W=t=>wt(t,S,le),L=0,M,C=!1,fe=t=>{if(L>0){M=t;return}t()},de=t=>{if(L-=1,t&&(C=!0),L>0)return;let e=C?void 0:M;M=void 0,C=!1,e&&e()},ge=t=>t!==void 0&&te(t.href,ue),lt=t=>{try{return Ut(t)}catch{return}},ut=t=>bt(m(t,"rel"),m(t,"referrerpolicy"),it()),ye=t=>{let e=Q?Q(t):null,n=e===null?void 0:lt(e);return n==="a"||n==="area"?ut(e):it()},he=t=>{let e=P(Ht(Ft(t)));if(ge(e)){j(t);return}if(!Pt(t)||J(t)==="traverse"||!W(e)||$t(t)!==null)return;Y(t);let n={target:"",noReferrer:ye(t),replaces:J(t)==="replace"};fe(()=>at(e,"navigate",n))},R=t=>{let e=m(t,"href");return e===null&&Bt(t)===Le?Kt(t,Oe,"href"):e},Ee=t=>{let e=V(t);for(let n=0;n<e.length;n+=1){let o=e[n],i=lt(o);if(i==="a"||i==="area"){let d=R(o);if(d!==null)return{node:o,href:d}}}},D=t=>{let e=m(t,"target");if(e!==null)return e;let n=Gt(f,"base[target]");return n?m(n,"target"):""},me=t=>{try{return{metaKey:Mt(t),ctrlKey:Ct(t),shiftKey:Dt(t),button:Wt(t)}}catch{return}},pt=new re,we=t=>{let e=!1,n=()=>{e=!0},o=()=>e||ae(pt,t);return nt(t,{__proto__:null,preventDefault:{__proto__:null,configurable:!0,value:n},defaultPrevented:{__proto__:null,configurable:!0,get:o},returnValue:{__proto__:null,configurable:!0,get:()=>!o(),set:i=>{i||n()}}}),o},be={click:new rt,auxclick:new rt},_e=(t,e)=>{let n=oe[t],o=be[t],i=[],d=p=>{for(let a=0;a<i.length;a+=1)if(i[a]===p)return!0;return!1},w=(p,a,E)=>{let g=s(E);function O(_){let x=g(this,_);return x===!1&&typeof _=="object"&&_!==null&&ie(pt,_),x}return{target:p,accessor:a,handler:E,wrapper:O,inFlight:0}},b=()=>{for(let p=0;p<e.length;p+=1)for(let a=0;a<n.length;a+=1){let E;try{E=n[a].get(e[p])}catch{continue}if(typeof E=="function"){let g=st(o,e[p]);(!g||g.wrapper!==E)&&(g=w(e[p],n[a],E),n[a].set(e[p],g.wrapper),se(o,e[p],g)),d(g)||(g.inFlight+=1,i[i.length]=g)}break}};return b(),{wrap:b,unwrap:()=>{for(let p=0;p<i.length;p+=1){let a=i[p];a.inFlight-=1,!(a.inFlight>0)&&(st(o,a.target)===a&&ce(o,a.target),a.accessor.get(a.target)===a.wrapper&&a.accessor.set(a.target,a.handler))}}}},ft=(t,e,n)=>{let o=R(t),i=o===null?void 0:P(o,T(f));if(!W(i))return;let d={target:A(D(t),n),noReferrer:ut(t),replaces:!1};return{inWindow:d.target==="",go:()=>at(i,e,d)}},dt=t=>{let e=R(t);if(e===null||m(t,"download")===null)return!1;let n=P(e,T(f));return n!==void 0&&(n.origin===S||n.protocol==="blob:"||n.protocol==="data:")},ke=(t,e)=>R(t)!==null&&!dt(t)&&A(D(t),e)==="",ve=(t,e)=>{let n=R(t);if(n===null)return!1;let o=Vt(f,"a"),i=A(D(t),e);I(o,"href",n),I(o,"target",i||"_self");for(let d=0;d<G.length;d+=1){let w=m(t,G[d]);w!==null&&I(o,G[d],w)}return Xt(o),i===""&&!dt(t)},Ne=(t,e,n,o)=>{L+=1;let i=V(t),d=i.length-1,w=0,b=!1,F=!1,p=c=>{F||(F=!0,de(c))},a=c=>{if(b)return;b=!0;let N=X(t),h=N?void 0:ft(n,e,o),U;!N&&(h||c)&&(Y(t),U=we(t)),Z(r,()=>{if(!U){p(!X(t)&&ke(n,o));return}if(U()){p(!1);return}if(c&&(h=ft(n,e,o),!h)){p(ve(n,o));return}h.go(),p(h.inWindow)},0)},E=(c,N)=>{for(let h=0;h<i.length;h+=1)if(i[h]===c)return N===It?d-h:i.length+h;return-1},g=()=>{E(Ot(t),At(t))<=w&&a(!0)},O=c=>{c===t&&a(!1)},_=_e(e,i),x=c=>N=>{if(N===t){if(w=c,z(t)){a(!1);return}_.wrap()}},H=[],$=[],K=Lt(t);if(K){for(let c=0;c<d;c+=1)H[c]=x(d-c),$[c]=x(i.length+c),tt(i[c],e,H[c],!0),tt(i[c],e,$[c],!1);ee(r,e,O,!1)}if(Z(r,()=>{if(b||p(!1),b=!0,_.unwrap(),!!K){for(let c=0;c<d;c+=1)et(i[c],e,H[c],!0),et(i[c],e,$[c],!1);ne(r,e,O,!1)}},0),!K){a(!0);return}nt(t,{__proto__:null,stopPropagation:{__proto__:null,configurable:!0,value:()=>{g(),Rt(t)}},stopImmediatePropagation:{__proto__:null,configurable:!0,value:()=>{a(!0),j(t)}},cancelBubble:{__proto__:null,configurable:!0,get:()=>z(t),set:c=>{c&&g(),Tt(t,c)}}})},gt=t=>{let e=xt(t),n=me(t);if(!n||e==="auxclick"&&n.button!==1)return;let o=Ee(t);!o||!W(P(o.href,T(f)))||Ne(t,e,o.node,n)};y?.addEventListener("navigate",he,!0),r.addEventListener("click",gt,!0),r.addEventListener("auxclick",gt,!0)}kt({"site":"christina-cosmeceuticals.com","exitPath":"\/url"});})();
//# sourceURL=exit-interstitial.js
</script>

 <!-- 2026-08-26T08:25:16.0901903Z -->
<style>.shoplift-hide { opacity: 0 !important; }</style>
<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-10-25T01:00:03.6705094Z */(function(){"use strict";var se=document.createElement("style");se.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(se);var ge=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x7|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+/1\\.0;|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/",me=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function ye(){if(z instanceof RegExp)return z;try{z=new RegExp(ge,"i")}catch{z=me}return z}var ve=a=>typeof a=="string"&&a!=="";function we(a){return ve(a)&&ye().test(a)}var be=we;class ee{timestamp;constructor(){this.timestamp=new Date}}class Se extends ee{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Ce extends ee{type;path;constructor(e){super(),this.type=4,this.path=e}}class Te extends ee{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class G extends Error{isBot;constructor(){super(),this.isBot=!0}}function Ie(a,e,t){for(const i of e.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)t(e.testId,e.hypothesisId)}ne(a,e,(i,s,r,n,o)=>o(s,r),t)}function U(a,e,t){for(const i of e.selectors)oe(a,e.testId,e.hypothesisId,i,t??(()=>{}));ne(a,e,oe,t??(()=>{}))}function re(a){return a.urlPatterns.reduce((e,t)=>{switch(t.operator){case"contains":return e+`.*${t}.*`;case"endsWith":return e+`.*${t}`;case"startsWith":return e+`${t}.*`}},"")}function ne(a,e,t,i){new MutationObserver(()=>{for(const r of e.selectors)t(a,e.testId,e.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function oe(a,e,t,i,s){const r=a.querySelectorAll(i.cssSelector);for(let n=0;n<r.length;n++){let o=r.item(n);if(o instanceof HTMLElement&&o.dataset.shoplift!==""){o.dataset.shoplift="";for(const l of i.actions.sort(De))o=Pe(a,i.cssSelector,o,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Pe(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Ae(t,i.scope,i.value);break;case"css":ke(a,e,i.value);break;case"js":Ee(a,t,i);break;case"copy":return xe(t);case"remove":_e(t);break;case"move":Re(t,parseInt(i.value));break}return t}function Ae(a,e,t){a.setAttribute(e,t)}function ke(a,e,t){const i=a.createElement("style");i.textContent=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function Ee(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function xe(a){const e=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(e,a.nextSibling),e}function _e(a){a.remove()}function Re(a,e){if(e===0)return;const t=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(t+e,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(e>0?"afterend":"beforebegin",a)}function De(a,e){return ae(a)-ae(e)}function ae(a){return a.type==="copy"||a.type==="remove"?0:1}const M={Template:0,UrlRedirect:2,Script:3,Price:5},Ve="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",Oe="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Le(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,n=>n.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,e){return typeof e=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(e)?new Date(e):e}function te(a,e){return e}function q(a,e=!1,t=!1,i=","){const s=a/100;if(t){const n=Math.round(s).toLocaleString("en-US");return i!==","?n.replace(/,/g,i):n}else{const r=e?",":".",n=s.toFixed(2).split("."),o=parseInt(n[0],10),l=n[1]??"00",c=o.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:e?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,e,t,i){const s=e.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${t}`:s}function le(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const e=new Map;for(const[t,i,s]of a.variants)e.set(t,{priceInCents:i,compareAtPriceInCents:s});return e}function $e(a,e,t,i){const{priceInCents:s,compareAtPriceInCents:r}=t,{moneyFormat:n,currency:o,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===e)a.innerHTML=H(s,n,o,l);else if(a.getAttribute("data-sl-attribute-cap")===e)r<=0||r<=s?a.remove():a.innerHTML=H(r,n,o,l);else if(a.getAttribute("data-sl-attribute-discount")===e&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),p=le(H(r-s,n,o,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${p}`:h==="both"&&(a.textContent=`-${d}% (-${p})`)}}function Me(a){const e=[],t={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){e.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[t],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const n=r<=0||r<=s;if(e.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[t],actions:[{id:`cap-action-${i}`,type:n?"remove":"innerHtml",scope:"compare-at-price",value:n?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!n&&r>s){const o=Math.round((r-s)/r*100),l=le(H(r-s,a.moneyFormat,a.currency,!1));e.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[t],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent';                    if (format === 'percent') {                      element.textContent = '-${o}%';                    } else if (format === 'amount') {                      element.textContent = '-${l}';                    } else if (format === 'both') {                      element.textContent = '-${o}% (-${l})';                    }`}]})}}return e}const qe=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},He=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),Ne=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),J=a=>a.replace(/#slr-[a-z0-9]+$/,""),Ue=/^[A-Za-z0-9._=~+/-]{1,256}$/,ie=a=>typeof a=="string"&&Ue.test(a)?a:null,Fe=a=>{if(!a)return null;try{const t=JSON.parse(atob(decodeURIComponent(a)))?.$exchange_id;return typeof t=="string"&&t.length>0?t:null}catch{return null}},rt="modulepreload",nt=function(a){return"/"+a},ot={},Be=function(e,t,i){let s=Promise.resolve();function r(n){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=n,window.dispatchEvent(o),!o.defaultPrevented)throw n}return s.then(n=>{for(const o of n||[])o.status==="rejected"&&r(o.reason);return e().catch(r)})};function ce(a,e,t){const i=t?a.plans.filter(c=>!c.variantId||c.variantId===t):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const n=e?s:r,o=e?r:s;if(t)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!n.includes(d)&&!o.includes(d)&&o.push(d);const l={};for(let c=0;c<o.length;c++){const d=o[c],p=n[c];d&&p&&(l[d]=p)}return{showPlanIds:n,hidePlanIds:o,swapMap:l}}function de(a,e,t){const i=e?a.plans.find(r=>r.variantId===e):void 0;if(i)return i.direction;if(t){const r=a.plans.find(n=>n.productId===t);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function Y(a,e){const t=e?a.plans.filter(r=>!r.productId||r.productId===e):a.plans,i={};for(const r of t)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const e=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(e)return e;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const n=r.getAttribute("data-sl-attribute-p");if(!n)continue;const o=a.variants.find(l=>l[0]===n);if(o?.[3])return o[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(n=>n[0]===s);if(r?.[3])return r[3]}}const t=window,i=t.ShopifyAnalytics?.meta?.product?.id??t.meta?.product?.id;return i!=null?String(i):null}function D(a,e){return a.widget.selectors[e]??[]}function N(a,e){return a.replace(/[\d.]+%/,`${e}%`)}function $(a,e){const t=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=t.nextNode();for(;i;){if(i.nodeValue!==null){const s=e(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=t.nextNode()}}function pe(a,e){return a===null?!1:a==="decrease"?!e:e}async function ze(a){if(a.subscriptionSwapDone)return;const e=a.getActiveAssignment();if(!e)return;const t=a.getHypothesis(e.hypothesisId);if(!t?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=t.subscriptionData,s=t.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const n=i.plans.some(d=>d.variantId);let o=!1,l=!1;function c(){if(!l){l=!0;try{const d=n?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:p,hidePlanIds:h,swapMap:u}=ce(i,s,d);a.swapMap=u;const b=D(i,"widgetParent"),E=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!E.length||!S.length)return;const C=document.querySelector(b[0].selector);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(E[0].selector);if(!_?.shadowRoot)return;const T=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(T));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(p.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>p.includes(v.value)&&v.checked),I=y.some(v=>h.includes(v.value)&&v.checked);if((w||I)&&(o=!1),!w&&!o){o=!0;for(const v of y)if(p.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&p.includes(f.value)?f.value:p[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(I=>p.includes(I.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=p.includes(y.value)?y.value:p[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=ce(i,s).swapMap,c(),n){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const e=D(a,"widgetParent");return e.length?document.querySelector(e[0].selector)?.shadowRoot??null:null}function Z(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function X(a,e){const t=new URLSearchParams(window.location.search).get("variant");if(t)return t;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function K(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function We({originalFetch:a,swapMap:e,slptValue:t,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed — skipping"),()=>{};function r(o){if(i){const l=i();if(l)return e[l]??l}return e[o]??o}const n=function(o,l){if((typeof o=="string"?o:o instanceof URL?o.href:o.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&t&&l.body.set("properties[_slpt]",t)}else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const p of d.items){const h=String(p.selling_plan??"");h?p.selling_plan=r(h):!p.selling_plan&&t&&(p.properties||(p.properties={}),p.properties._slpt=t)}else if(d.id){const p=String(d.selling_plan??"");p?d.selling_plan=r(p):!d.selling_plan&&t&&(d.properties||(d.properties={}),d.properties._slpt=t)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,o,l)};return n.__shoplift_intercepted=!0,window.fetch=n,function(){window.fetch===n&&(window.fetch=a)}}function Ke({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed — skipping"),()=>{};const e=window.fetch,t=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview — cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):e.call(window,i,s)};return t.__shoplift_intercepted=!0,window.fetch=t,function(){window.fetch===t&&(window.fetch=e)}}function ue({data:a,runUpdates:e,debounceMs:t=150}){let i=null;function s(){i&&clearTimeout(i),e(),i=setTimeout(e,t)}let r=null;const n=[],o={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const u of n)u.disconnect();n.length=0;for(const u of Array.from(h.querySelectorAll("*")))if(u.shadowRoot){const b=new MutationObserver(s);b.observe(u.shadowRoot,o),n.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(u=>{u.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,o),!0):!1}const d=document.body||document.documentElement,p=new MutationObserver(()=>{c()&&s()});return p.observe(d,{childList:!0,subtree:!0}),c()&&s(),e(),function(){i&&(clearTimeout(i),i=null),p.disconnect(),r&&(r.disconnect(),r=null);for(const u of n)u.disconnect();n.length=0}}async function Ge(a){if(a.subscriptionPriceDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=t?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=t?.subscriptionData?t:i?.hypothesis;if(!s?.subscriptionData)return;const r=t?.subscriptionData?e.testId:i.testId;a.subscriptionPriceDone=!0;const n=s.subscriptionData,o=s.isControl,l=s.priceData,c=n.widget.widgetType;let d=W(l),p=Y(n,d),h=p.discountMap,u=p.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,p=Y(n,d),h=p.discountMap,u=p.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${o?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${u}`))}a.log(`[SUB-PRICE] side=${o?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${u}`),a.updatePriceTestHiddenInputs(r,o?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=X(g),A=de(n,P,d);if(!pe(A,o))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:K(k.priceInCents,l),formattedDiscounted:K(k.priceInCents*(1-u/100),l)}:null}We({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(n);if(!g)return null;const P=Z(n,g);if(!P)return null;const A=D(n,"subscriptionInput"),k=A.length?A[0].selector:'input[name="rc_plan"]';return P.querySelector(`${k}:checked`)?.value??null}});function S(g){const P=D(n,"subscriptionDiscount");for(const A of P)if(A.selector.includes("badge")||A.selector.includes("__badge")){const k=g.querySelector(A.selector);k?.textContent&&!k.textContent.includes(`${u}%`)&&$(k,x=>N(x,u))}}function C(g){const P=E();if(!P)return;const A=D(n,"subscriptionCompareAt");for(const k of A){const x=g.querySelector(k.selector)||g.querySelector(`[part~="${k.selector}"]`);x?.textContent&&!x.textContent.includes(P.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?P.formattedVariantPrice:R)}}function _(g,P){const A=D(n,"subscriptionCompareAt"),k=P===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(k==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function T(g){const P=D(n,"subscriptionInput"),A=P.length?P[0].selector:'input[name="rc_plan"]',k=D(n,"subscriptionPlanDiscount"),x=k.length?k[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const O=R.querySelector(A),V=R.querySelector(x);if(O&&V){const L=h[O.value];if(L!==void 0){if(L===0)V.style.display!=="none"&&(V.style.display="none");else if(V.style.display==="none"&&(V.style.display=""),V.textContent){const Q=V.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(V,st=>N(st,L))}}}}}function m(g){const P=g.querySelector("select");if(P)for(const A of Array.from(P.options)){const k=h[A.value];if(k!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${k}%`&&(A.textContent=N(A.textContent,k))}}}function y(g,P){const k=D(n,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of k){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const O of Array.from(R.shadowRoot.querySelectorAll("li")))if(O.textContent?.includes("Save")){const V=O;if(P===0)V.style.display!=="none"&&(V.style.display="none");else{V.style.display==="none"&&(V.style.display="");const L=O.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(O,Q=>N(Q,P))}}}}}let w=!1;function I(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(n);if(!g)return;S(g),l&&C(g);const P=Z(n,g);let A=u;if(P){const k=D(n,"subscriptionInput"),x=k.length?k[0].selector:'input[name="rc_plan"]',R=P.querySelector(`${x}:checked`);if(R){const O=h[R.value];O!==void 0&&(A=O)}c==="buttons"||c==="radio"?T(P):m(P)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=E();if(!g)return;const P=B(n);if(!P)return;const A=D(n,"onetimeToggle"),k=A.length?A[0].selector:'input[value="onetime"]';if(!P.querySelector(k)?.checked)return;const R=D(n,"subscriptionPrice");for(const O of R){const V=P.querySelector(O.selector)||P.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(g.formattedDiscounted)&&$(V,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),I(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}ue({data:n,runUpdates:v})}async function je(a){if(a.subscriptionOneTimeDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=!!(t?.subscriptionData&&t.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?t:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const n=i?e.testId:s.testId;a.subscriptionOneTimeDone=!0;const o=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,p=d?"control":"variant";a.slptValue=`${n}:${p}:f`,a.updatePriceTestHiddenInputs(n,p,!1);function h(){const u=B(o);if(!u)return;const b=X(c);if(!b)return;const E=W(l),S=de(o,b,E);if(!pe(S,d))return;const C=c.get(b);if(!C)return;const _=H(C.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),T=D(o,"onetimePrice");if(!T.length)return;const m=D(o,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',I=u.querySelector(y)??u;for(const f of T){let v=null;try{v=I.querySelector(f.selector)}catch{v=null}v??=I.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Je(a,e){const{subscriptionPreviewRender:t}=await Be(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>it);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function Ye(a,e){const t=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!t.length||!i.length||!s.length){e("[SUB-GLOBAL-HIDE] Missing required selectors — skipping");return}const r=t[0].selector,n=i[0].selector,o=s[0].selector;let l=!1,c=null,d=!1;function p(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const C=document.querySelector(r);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(n);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let T=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(o));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",T++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const I=y.find(f=>f.checked)??y[0];if(I){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==I.value&&(v.value=I.value,e(`[SUB-GLOBAL-HIDE] Mirrored plan id ${I.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const I of Array.from(m.options))a.planIds.includes(I.value)&&(I.style.display!=="none"&&(I.style.display="none"),I.disabled||(I.disabled=!0),T++);const y=Array.from(m.options).filter(I=>!a.planIds.includes(I.value)),w=y.some(I=>I.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}T>0&&e(`[SUB-GLOBAL-HIDE] Hidden ${T} B-side plan buttons`)}const u={childList:!0,subtree:!0,characterData:!0};let b=null;function E(C){b?.disconnect(),b=new MutationObserver(()=>p()),b.observe(C,u)}function S(){const C=document.querySelector(r);if(!C?.shadowRoot)return!1;p(),new MutationObserver(()=>{p();const m=C.shadowRoot.querySelector(n);m?.shadowRoot&&E(m.shadowRoot)}).observe(C.shadowRoot,u);const T=C.shadowRoot.querySelector(n);return T?.shadowRoot&&E(T.shadowRoot),!0}if(!S()){e("[SUB-GLOBAL-HIDE] Widget not in DOM yet — waiting via MutationObserver");const C=new MutationObserver(()=>{S()&&C.disconnect()});C.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const he="Limited preview",Ze="Add-to-cart and checkout prices won't reflect this test until it launches — test selling plans are not created in your subscription app until after a test is launched.",Xe=5e3;function Qe(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__icon",e.setAttribute("aria-hidden","true"),e.textContent="!";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__label",t.textContent=he;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ze,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",he);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function n(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function o(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){n(),r(),s=setTimeout(()=>{o(),s=null},Xe)}function c(){r(),n()}function d(){s===null&&o()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function p(u){try{const b=u.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",p,!0);function h(){r(),document.removeEventListener("click",p,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let fe=!1;class et{DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";shop;host;eventHost;disableReferrerOverride;legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;klaviyoGateTimeout=1e3;geoViaShopify;resolvedRegion=null;klaviyoMembership=null;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;constructor(e,t,i,s,r,n,o,l,c,d,p,h,u,b=!1){this.shop=e,this.host=t,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=p.map(S=>({...S,startAt:new Date(S.startAt),statusHistory:S.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=u,this.sendPageView=!!r,this.shopliftDebug=n===!0,this.telemetryEnabled=c===!0,this.geoViaShopify=b===!0,this.gaConfig=o!=={"sendEvents":false,"mode":"gtag"}?o:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const E=this.getDeviceType();this.device=E!=="tablet"?E:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=p.filter(S=>S.status=="active"),this.getCountryTimeout=d===1000?1e3:d,window.__slReadCookie=S=>{const C=this.getCookie(S);if(C===null)return null;try{return decodeURIComponent(C)}catch{return C}},this.log("State Loaded",JSON.stringify(this.state))}deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const e=this.state.essential.visitorTests.some(t=>{if(!t.hypothesisId)return!1;const i=this.getHypothesis(t.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=e?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const n=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",n),this.state.temporary.isMerchant=n,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,be(navigator.userAgent))return;const e=Date.now(),t=!this.state.temporary.lastSeen||e-this.state.temporary.lastSeen>1800*1e3;(!this.state.temporary.entryPage||t)&&(this.state.temporary.entryPage=J(window.location.href)),this.state.temporary.lastSeen=e,this.persistTemporaryState(),window.__slEntryPage=this.state.temporary.entryPage??"";const i=this.state.essential.visitorTests.filter(n=>n.hypothesisId&&+n.createdAt>Date.now()-6e4);if(i.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const n of i)this.sendDiagnosticTelemetry("page-landed",n.testId,{hypothesisId:n.hypothesisId,isControl:n.assignedTo==="control",testType:n.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const n=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(o=>o?.json());this.log(`IP: ${n}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),te)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const n=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>n,enumerable:!0,configurable:!0})}if(this.needsKlaviyo(this.testConfigs,this.state.essential.visitorTests,this.state.analytics.visitor??this.buildBaseVisitor())&&this.ensureKlaviyoMembership(),await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const r=this.state.essential.visitorTests.some(n=>(n.hypothesisId?this.getHypothesis(n.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(n=>this.getHypothesis(n.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!r&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test — hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),Ye(this.hiddenSubscriptionPlans,n=>this.log(n))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof G)return;throw e}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(e){switch(e){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(e){return e.title?e.title:e.type==="price"?e.isControl?"Original prices":"Variant prices":e.isControl?"Original":"Untitled variant "+e.label.toUpperCase()}async initPreview(){const e=this.urlParams.get("previewConfig");if(e){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const t=await Le(e);if(this.state.temporary.previewConfig=t,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const n=await this.makeJsonRequest({method:"get",url:r}).catch(o=>(this.log("Error getting domSelectors",o),null));if(s.variants.forEach(o=>o.domSelectors=n[o.id]?.domSelectors),s.isDraft){const o=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:o}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const t=this.state.temporary.previewConfig;if(t.testTypeCategory===M.Template&&this.handleTemplatePreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Script&&this.handleScriptPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Price){const i=await this.handlePricePreview(t);t.isDraft?await this.handleSubscriptionPricePreview(t):await this.handleSubscriptionLivePreview(t),i&&this.initPreviewControls(t)}}}initPreviewControls(e){document.addEventListener("DOMContentLoaded",()=>{const t=e.variants.find(b=>b.id===e.currentVariant),i=t?.label||"a",s=e.variants,r=document.createElement("div");r.id="shoplift-preview-control";const n=document.createElement("div"),o=document.createElement("img");o.src=Oe,o.height=24,o.width=14,n.style.padding="0 16px",n.style.lineHeight="100%",n.appendChild(o),r.appendChild(n);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const p=document.createElement("span");if(p.id="shoplift-preview-variant-title",p.innerText=t?this.getDefaultVariantTitle(t):"Untitled variant "+i.toUpperCase(),c.appendChild(p),s.length>1){const b=document.createElement("img");b.src=Ve,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const E=document.createElement("div");E.className="preview-variant-menu";for(const S of e.variants.filter(C=>C.id!==e.currentVariant)){const C=document.createElement("div");C.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),C.appendChild(_);const T=document.createElement("span");T.innerText=this.getDefaultVariantTitle(S),C.appendChild(T),C.addEventListener("click",()=>{this.pickVariant(S.id)}),E.appendChild(C)}l.appendChild(E),c.addEventListener("click",()=>{E.className!=="preview-variant-menu preview-variant-menu__visible"?E.classList.add("preview-variant-menu__visible"):E.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&E.className==="preview-variant-menu preview-variant-menu__visible"&&E.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),e.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=Qe();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),u=document.createElement("button");u.id="shoplift-exit-preview-button",u.innerText="Exit",h.appendChild(u),u.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(e){if(this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(t.testTypeCategory===M.UrlRedirect){const s=t.variants.find(r=>r.id===t.currentVariant)?.redirectUrl;if(i.pathname===s){const r=t.variants.find(n=>n.id===e)?.redirectUrl;r&&(i.pathname=r)}}if(t.testTypeCategory===M.Template){const s=t.variants.find(r=>r.id===t.currentVariant)?.pathName;if(s&&i.pathname===s){const r=t.variants.find(n=>n.id===e)?.pathName;r&&r!==s&&(i.pathname=r)}}t.currentVariant=e,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const e=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&e.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&e.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(e.pathname)&&s&&(e.pathname=s)}this.state.temporary.isMerchant=!1,e.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(e)}handleTemplatePreview(e){const t=e.currentVariant,i=e.variants.find(l=>l.id===t);if(!i)return!1;const s=e.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);const r=new URL(window.location.toString()),n=r.searchParams.get("view"),o=i.type===s.type;return!o&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&o&&n!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),n!==null&&n!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(e){const t=e.currentVariant,i=e.variants.find(n=>n.id===t),s=e.variants.find(n=>n.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(e){const t=e.currentVariant,i=e.variants.find(n=>n.id===t);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(e){const t=e.currentVariant,i=e.variants.find(s=>s.id===t);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:e.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(e){const t=e.variants.find(i=>i.id===e.currentVariant);t?.subscriptionData&&(this.log("Setting up subscription price preview"),await Je({id:t.id,isControl:t.isControl,subscriptionData:t.subscriptionData,priceData:t.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(e){this.testConfigs.find(s=>s.id===e.testId)?.hypotheses.find(s=>s.id===e.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const e=await this.getCartState();e!==null&&this.queueCartUpdate(e),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),t)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(o=>o.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const n=this.state.essential.visitorTests.find(o=>o.testId===r.id);return n?(this.log("Active visitor test found",s),n.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(o=>o.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:n,...o}=s;return o})})}}setShopliftStub(){this.log("Setting up stubbed public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(t||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(e){this.log("Starting manual split for test '%s'",e.id),await this.handleVisitorTest([e])||this.showPage();const i=this.getReservationForTest(e.id);i&&!i.isRealized&&i.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(i.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(e){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveCategoryFromExistingTests(),this.clearStaleReservations();let t=e?e.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(t.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(t);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,p=c.length,h=d+p,u=Math.random()*h;this.state.temporary.testCategory=u<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",u,h,d,p,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const n=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",n),n==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");t=t.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");t=t.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(t.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(t);const o=this.getReservationForCurrentPage();if(o&&!o.isRealized){const l=this.getHypothesis(o.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(o.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const e=this.getDomTestsForCurrentUrl(),t=this.getVisitorDomHypothesis(e);for(const i of e){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(u=>u.type==="price");if(this.state.essential.visitorTests.find(u=>u.testId===i.id&&u.isInvalid&&!u.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const u=i.hypotheses.find(b=>b.isControl);u?.priceData&&(this.applyPriceTestWithMapLookup(i.id,u,[u],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const n=this.getReservationForTest(i.id);let o=null,l=!1;const c=t.find(u=>i.hypotheses.some(b=>u.id===b.id));if(n)o=this.getHypothesis(n.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",n.hypothesisId,i.id);else if(c)o=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const u=this.visitorActiveTestTypeWithReservations();u?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",u,i.id)):o=this.pickHypothesis(i)}else o=this.pickHypothesis(i);if(l&&s){const u=i.hypotheses.find(b=>b.isControl);u?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,u,[u],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!o){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:o.id,isControl:o.isControl,testType:o.type});const d=i.bayesianRevision??4,p=o.type==="price",h=d>=5;if(p&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!o.priceData){this.log("No price data for hypothesis '%s', skipping",o.id);continue}const u=o.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${u} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,o,i.hypotheses,b=>{const E=this.getReservationForTest(b);E&&!E.isRealized&&E.entryCriteriaKey?this.realizeReservationForCriteria(E.entryCriteriaKey):this.queueAddVisitorToTest(b,o),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(p&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const u=this.getDomSelectorsForHypothesis(o);if(u.length===0)continue;U(document,{testId:i.id,hypothesisId:o.id,selectors:u},b=>{this.queueAddVisitorToTest(b,o),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!o.domSelectors||o.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:o.id,selectors:o.domSelectors},u=>{this.queueAddVisitorToTest(u,o),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(e){if(this.log("Considering redirect for hypothesis '%s'",e.id),e.isControl)return this.log("Skipping redirect for control"),!1;if(e.type==="basicScript"||e.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const t=this.state.essential.visitorTests.find(n=>n.hypothesisId===e.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(e.type==="theme"){if(!(e.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",e.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(t&&t.themeId!==e.themeId&&(t.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),t.themeId=e.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(e.type!=="dom"&&e.type!=="price"&&e.affix!==template.suffix&&e.affix!==r||e.redirectPath&&!i.pathname.endsWith(e.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(e){if(this.log("Redirecting to hypothesis '%s'",e.id),e.isControl)return;const t=new URL(window.location.toString());if(t.searchParams.delete("view"),e.redirectPath){const o=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(o&&o.length>1){const l=o[1];t.pathname=`${l}${e.redirectPath}`}else t.pathname=e.redirectPath}else e.type==="theme"?(t.searchParams.set("_ab","0"),t.searchParams.set("_fd","0"),t.searchParams.set("_sc","1"),t.searchParams.set("preview_theme_id",e.themeId.toString())):e.type!=="urlRedirect"&&t.searchParams.set("view",e.affix);const i=this.state.essential.visitorTests.find(o=>o.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search,n=J(t.hash);if(i&&s!==r&&!n){const o=He(),l=Ne({v:2,t:i,n:o,fh:qe(window.location.pathname+window.location.search)});t.hash=`slr-${o}`;const c=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${l};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${c}`}s===r&&this.showPage(),this.queueRedirect(t)}async refreshVisitor(e){if(e===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const t=await this.getVisitor(e);t&&t.id&&this.updateLocalVisitor(t)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const e=this.getUTMValue("utm_source")??"",t=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,n=this.device;return{createdAt:new Date,utmSource:e,utmMedium:t,utmCampaign:i,utmContent:s,referrer:r,device:n}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, removing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),this.queueRedirect(e)}testsForUrl(e){const t=new URL(window.location.href),i=this.typeFromTemplate();return e.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&t.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!t.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(t.searchParams.get("view")??"")))}domTestsForUrl(e){const t=new URL(window.location.href);return e.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(re(r)).test(J(t.toString())))))}needsKlaviyo(e,t,i){return e.some(s=>s.requiresKlaviyo&&!t.some(r=>r.testId===s.id)&&this.matchesTestSettings(s,i,this.visitorCreatedDuringTestActive(s.statusHistory)))}getKlaviyoIdentity(){const e=ie(Fe(this.getCookie("__kla_id",document.cookie)));return{kx:ie(this.urlParams.get("_kx"))??(e?null:ie(new URL(this.state.temporary.entryPage??"",window.location.href).searchParams.get("_kx"))),exchangeId:e}}ensureKlaviyoMembership(){return this.klaviyoMembership??=this.resolveKlaviyoMembership().catch(e=>(this.log("Error resolving Klaviyo membership",e),{groups:[],known:!1})),this.klaviyoMembership}async resolveKlaviyoMembership(){const{kx:e,exchangeId:t}=this.getKlaviyoIdentity();if(!(e??t))return{groups:[],known:!1};this.log("Hiding page to resolve Klaviyo membership"),this.hidePage();const s=new URLSearchParams;e&&s.append("kx",e),t&&s.append("exchangeId",t);let r={groups:[],known:!1};try{const n=await this.makeJsonRequest({method:"get",url:`${this.host}/api/v1/storefront/klaviyo-groups/${encodeURIComponent(this.shop)}?${s}`,signal:AbortSignal.timeout(this.klaviyoGateTimeout)});r={groups:n?.groups??[],known:n?.known===!0}}catch(n){if(n instanceof G)return n;this.log("Error getting Klaviyo groups",n)}return r}async filterTestsByAudience(e,t,i){const s=[],r=e.some(l=>(l.requiresRegion||this.geoViaShopify&&l.requiresCountry)&&!i.some(c=>c.testId===l.id));this.resolvedRegion===null&&r&&(this.log("Hiding page to wait for Shopify region resolution"),this.hidePage(),await this.waitForResolvedRegion()),window.__slRegion=this.resolvedRegion??"";let n=t.country;this.geoViaShopify?n=this.resolvedRegion?this.resolvedRegion.slice(0,2):null:!n&&e.some(l=>l.requiresCountry&&!i.some(c=>c.testId===l.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),n=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(l=>(this.log("Error getting country",l),null)));let o={groups:[],known:!1};if(this.needsKlaviyo(e,i,t)){const l=await this.ensureKlaviyoMembership();if(l instanceof G)throw l;o=l}window.__slKlaviyoGroups=o.groups,window.__slKlaviyoKnown=o.known;for(const l of e){if(this.log("Checking audience for test '%s'",l.id),this.state.essential.visitorTests.some(p=>p.testId===l.id&&p.hypothesisId==null)){console.log(`Skipping blocked test '${l.id}'`);continue}const c=this.visitorCreatedDuringTestActive(l.statusHistory);(i.some(p=>p.testId===l.id&&(l.device==="all"||l.device===t.device&&l.device===this.device))||this.isTargetAudience(l,t,c,n))&&(this.log("Visitor is in audience for test '%s'",l.id),s.push(l))}this.testsFilteredByAudience=s}async waitForResolvedRegion(e=1500,t=50){const i=Date.now();for(;this.resolvedRegion===null&&Date.now()-i<e;)await new Promise(s=>window.setTimeout(s,t))}isTargetAudience(e,t,i,s){const r=this.getChannel(t);return this.matchesTestSettings(e,t,i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((n,o)=>n||o.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}matchesTestSettings(e,t,i){return(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)}visitorCreatedDuringTestActive(e){let t="";for(const i of e){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;t=i.status}return t==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(e){return e.flatMap(t=>t.hypotheses).find(t=>t.type!=="dom"&&t.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getVisitorDomHypothesis(e){return e.flatMap(t=>t.hypotheses).filter(t=>(t.type==="dom"||t.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getHypothesis(e){return this.testConfigs.filter(t=>t.hypotheses.some(i=>i.id===e)).map(t=>t.hypotheses.find(i=>i.id===e))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;return t.currentVariant&&t.testId?{testId:t.testId,hypothesisId:t.currentVariant}:null}const e=this.state.essential.visitorTests.find(t=>t.hypothesisId);return e?.hypothesisId?{testId:e.testId,hypothesisId:e.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const e of this.testConfigs){const t=e.hypotheses.find(i=>i.isControl);if(t?.subscriptionData)return{testId:e.id,hypothesis:t}}return null}getDomSelectorsForHypothesis(e){if(!e)return[];if(e.domSelectors&&e.domSelectors.length>0)return e.domSelectors;if(e.priceData){const t=`${this.priceSelectorsSessionKey}_${e.id}`;try{const s=sessionStorage.getItem(t);if(s){const r=JSON.parse(s);return e.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,e.id),r}}catch{}const i=Me(e.priceData);e.domSelectors=i;try{sessionStorage.setItem(t,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,e.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,e.id)}return i}return[]}hasThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(e){return this.hasThemeTest(e)&&this.hasTestThatIsNotThemeTest(e)}testIsPaused(e){return e.status==="paused"||e.status==="incompatible"||e.status==="suspended"}visitorActiveTestType(){const e=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==t.hypothesisId)));return e.length===0?null:e.some(t=>t.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(e){return e==="price"||this.isTemplateTestType(e)?"deferred":"immediate"}isTemplateTestType(e){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(e)}getEntryCriteriaKey(e){const t=e.hypotheses.find(i=>i.isControl);if(!t)return`unknown:${e.id}`;switch(t.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${e.id}`;case"urlRedirect":return`conditional:url:${t.redirectPath||"unknown"}`;default:return`conditional:template:${t.type}`}}isGlobalEntryCriteria(e){return e.startsWith("global:")}groupTestsByEntryCriteria(e){const t=new Map;for(const i of e){const s=this.getEntryCriteriaKey(i),r=t.get(s)||[];r.push(i),t.set(s,r)}return t}doesCurrentPageMatchEntryCriteria(e){if(this.isGlobalEntryCriteria(e))return!0;if(e==="conditional:manualApi")return!1;if(e.startsWith("conditional:url:")){const t=e.replace("conditional:url:","");return window.location.pathname.endsWith(t)}if(e.startsWith("conditional:template:")){const t=e.replace("conditional:template:","");return this.typeFromTemplate()===t}return!1}hasActiveReservation(){const e=this.getActiveReservations();return Object.values(e).some(t=>!t.isRealized)}getActiveReservation(){const e=this.getActiveReservations();return Object.values(e).find(t=>!t.isRealized)??null}clearStaleReservations(){const e=this.state.temporary.testReservations;if(!e)return;let t=!1;for(const[i,s]of Object.entries(e)){const r=this.testConfigs.find(o=>o.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete e[i],t=!0;continue}this.testsFilteredByAudience.some(o=>o.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0)}t&&this.persistTemporaryState()}createReservations(e){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(e,"global");return}const i=e.filter(o=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(o))),s=e.filter(o=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(o)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(o=>({id:o.id,title:o.title,criteria:this.getEntryCriteriaKey(o)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const o of i){const l=this.getEntryCriteriaKey(o);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const n=this.groupTestsByEntryCriteria(s);for(const[o,l]of n){if(this.state.temporary.rolledEntryCriteria.includes(o)){this.log("Already rolled for criteria '%s', skipping",o);continue}if(l.some(S=>this.state.essential.visitorTests.some(C=>C.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",o),this.state.temporary.rolledEntryCriteria.push(o);continue}const d=[...l].sort((S,C)=>S.id.localeCompare(C.id));this.log("Test dice roll for criteria '%s' - available tests: %o",o,d.map(S=>({id:S.id,title:S.title})));const p=Math.floor(Math.random()*d.length),h=d[p];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",p+1,l.length,h.id,h.title);const u=this.pickHypothesis(h);if(!u){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:u.id,isControl:u.isControl,testType:u.type});const b=this.getReservationType(u.type),E={testId:h.id,hypothesisId:u.id,testType:u.type,reservationType:b,isThemeTest:u.type==="theme",themeId:u.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:o};this.state.temporary.testReservations[o]=E,this.state.temporary.rolledEntryCriteria.push(o),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,o);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,o)}this.persistTemporaryState()}createSingleReservation(e,t){if(this.state.temporary.rolledEntryCriteria.includes(t)){this.log("Already rolled for pool '%s', skipping",t);return}if(e.some(p=>this.state.essential.visitorTests.some(h=>h.testId===p.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",t),this.state.temporary.rolledEntryCriteria.push(t);return}if(e.length===0){this.log("No tests in pool '%s'",t);return}const s=[...e].sort((p,h)=>p.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",t,s.map(p=>({id:p.id,title:p.title,criteria:this.getEntryCriteriaKey(p)})));const r=Math.floor(Math.random()*s.length),n=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,e.length,n.id,n.title);const o=this.pickHypothesis(n);if(!o){this.log("No hypothesis picked for test '%s'",n.id);return}this.sendDiagnosticTelemetry("assignment",n.id,{hypothesisId:o.id,isControl:o.isControl,testType:o.type});const l=this.getReservationType(o.type),c=this.getEntryCriteriaKey(n),d={testId:n.id,hypothesisId:o.id,testType:o.type,reservationType:l,isThemeTest:o.type==="theme",themeId:o.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(t),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,n.id,t,c);for(const p of e)p.id!==n.id&&this.markTestAsBlocked(p,`pool:${t}`);this.persistTemporaryState()}markTestAsBlocked(e,t){this.state.essential.visitorTests.some(i=>i.testId===e.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",e.id,t),this.state.essential.visitorTests.push({createdAt:new Date,testId:e.id,hypothesisId:null,isThemeTest:e.hypotheses.some(i=>i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(e){const t=this.state.temporary.testReservations?.[e];if(!t)return this.log("No reservation found for criteria '%s'",e),!1;if(t.isRealized)return this.log("Reservation already realized for criteria '%s'",e),!1;if(this.state.essential.visitorTests.some(s=>s.testId===t.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",t.testId),!1;const i=this.getHypothesis(t.hypothesisId);return i?(t.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(t.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",t.testId,e),!0):(this.log("Hypothesis '%s' not found",t.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const e=this.getActiveReservations();for(const[t,i]of Object.entries(e)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(t))return i}return null}getReservationForTest(e){const t=this.getActiveReservations();return Object.values(t).find(i=>i.testId===e)??null}getReservationTestType(){const e=this.getActiveReservations(),t=Object.values(e);if(t.length===0)return null;for(const i of t)if(i.isThemeTest)return"theme";for(const i of t)if(i.testType==="price")return"price";return t.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(e){return e.some(t=>t.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const e=new Set;for(const t of this.testConfigs)for(const i of t.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&e.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)e.add(s)}return this._priceTestProductIds=e,this.log("Built price test product ID cache with %d products",e.size),e}isProductInAnyPriceTest(e){return this.getPriceTestProductIds().has(e)}visitorActiveTestTypeWithReservations(){const e=this.getActiveReservations();for(const r of Object.values(e)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(e).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const n of Object.values(e)){if(n.testType==="theme")return"theme";if(n.testType==="price")return"price";if(n.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(n=>n.hypotheses.some(o=>o.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const e=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(e.length===0)return;const t=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=e.filter(s=>!t.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),n=this.getDomSelectorsForHypothesis(r);if(n.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const o=new URL(window.location.href);n.some(c=>{try{return new RegExp(re(c)).test(J(o.toString()))}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:n},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(e){let t=Math.random();const i=e.hypotheses.reduce((r,n)=>r+n.visitorCount,0);return e.hypotheses.sort((r,n)=>r.isControl?n.isControl?0:-1:n.isControl?1:0).reduce((r,n)=>{if(r!==null)return r;const l=e.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?n.visitorCount/i-n.trafficPercentage:0;return t<=n.trafficPercentage-l?n:(t-=n.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(e){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(e),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const e=async()=>{if(this.isSyncing){window.setTimeout(()=>{(async()=>await e())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await e()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const e=this.state.analytics.queue.length,t=this.state.analytics.queue.splice(0,e);this.log("Syncing %s events",e);try{const i={shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},s={shop:this.shop,visitorDetails:{...i,visitorId:this.savedVisitorIdFor(i.shopifyAnalyticsId)},events:this.state.essential.visitorTests.filter(n=>!n.isInvalid&&!n.isSaved&&n.hypothesisId!=null).map(n=>new Se(n.testId,n.hypothesisId,n.createdAt)).concat(t)};await this.sendEvents(s);for(const n of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved&&o.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",n.testId,{hypothesisId:n.hypothesisId,isControl:n.assignedTo==="control",testType:n.testType??"unknown"});const r=await this.getVisitor(this.shopifyAnalyticsId);r!==null&&this.updateLocalVisitor(r);for(const n of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved))n.isSaved=!0,n.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(fe)return;fe=!0,this.log("UseGtag is false — skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const e=this.state.essential.visitorTests.filter(t=>t.shouldSendToGa);e.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",e.length),Promise.allSettled(e.map(t=>this.sendGAEvent(t))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(e){return new Promise(t=>{this.log("Sending GA Event for test %s, hypothesis %s",e.testId,e.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",e.hypothesisId),e.shouldSendToGa=!1,this.persistEssentialState(),t()},s={exp_variant_string:`SL-${e.testId}-${e.hypothesisId}`};this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(n,o,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(e){let t;({visitorTests:t,...this.state.analytics.visitor}=e),this.log("updateLocalVisitor - server returned %d tests: %o",t.length,t.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!t.some(n=>n.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of t){const r=this.state.essential.visitorTests.findIndex(o=>o.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const o=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,o?.hypothesisId,s.hypothesisId,o?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=o?.shouldSendToGa??!1,s.testType=o?.testType,s.assignedTo=o?.assignedTo,s.testTitle=o?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}savedVisitorIdFor(e){const t=this.state.analytics.visitor;return t?.id&&t.shopifyAnalyticsId===this.shopifyAnalyticsId&&e===this.shopifyAnalyticsId?t.id:null}async getVisitor(e){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${e}`})}catch{return null}}async sendEvents(e){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(e)})}sendDiagnosticTelemetry(e,t,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:t,checkpoint:e,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(e){return new URLSearchParams(window.location.search).get(e)||null}hidePage(e){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),e||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function e(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function t(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return e()?"mobile":t()?"tablet":"desktop"}removeAsyncHide(e){return()=>{e&&window.document.documentElement.classList.remove(e)}}async getCartState(){try{let e=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return e===null||(e.note===null&&(e=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),e==null)?null:{token:e.token,total_price:e.total_price,total_discount:e.total_discount,currency:e.currency,items_subtotal_price:e.items_subtotal_price,items:e.items.map(t=>({quantity:t.quantity,variant_id:t.variant_id,key:t.key,price:t.price,final_line_price:t.final_line_price,sku:t.sku,product_id:t.product_id}))}}catch(e){return this.log("Error sending cart info",e),null}}ensureCartAttributesForExistingPriceTests(e){try{if(this.log("Checking visitor assignments for active price tests"),e&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",t.testId);let i="variant";if(t.variants&&t.variants.length>0){const s=t.variants.find(r=>r.id===t.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",t.testId,i),this.updatePriceTestHiddenInputs(t.testId,i,!0);return}for(const t of this.state.essential.visitorTests){const i=this.testConfigs.find(n=>n.id===t.testId);if(!i){this.log("Test config not found:",t.testId);continue}const s=i.hypotheses.find(n=>n.id===t.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",t.testId,r),this.updatePriceTestHiddenInputs(t.testId,r,e)}}catch(t){this.log("Error ensuring cart attributes for existing price tests:",t)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await ze(this)}async subscriptionPriceChange(){await Ge(this)}async subscriptionOneTimePrice(){await je(this)}updatePriceTestHiddenInputs(e,t,i){try{this.cleanupPriceTestObservers();const s=`${e}:${t}:${i?"t":"f"}`,r=T=>{const m=T.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,I=t==="control"?"a":"b",f=w.variants.find(v=>v.label===I);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const P=g[1];if(this.log(`Extracted ID from selector: ${P}, comparing to: ${m}`),P===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",I),!1}const y=this.testConfigs.find(w=>w.id===e);if(!y)return this.log("Test config not found for testId:",e),!1;for(const w of y.hypotheses||[]){for(const I of w.domSelectors||[]){const f=I.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",e),!0}if(w.priceData?.variants){for(const I of w.priceData.variants)if(I[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",e),!0}}return this.log("No product ID match for:",m,"in test:",e),!1},n=new Set;let o=!1,l=null;const c=(T,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{T.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(I){this.log(`Failed to observe element (${m}):`,I)}}),document.body&&document.body.isConnected)try{T.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(T,m,y,w)=>{const I=T.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${T.length}, filtered: ${I.length}`),I.length>0&&U(document,{testId:e,hypothesisId:m,selectors:I})},p=(T,m)=>{this.log(`Applying DOM selector changes for product ID: ${T}`),m.disconnect(),o=!0;try{if(i&&this.state.temporary.previewConfig){const y=t==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(I=>I.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",T)}else{const y=this.testConfigs.find(I=>I.id===e);if(!y){this.log(`No test config found for testId: ${e}`);return}const w=y.hypotheses.find(I=>t==="control"?I.isControl:!I.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${t}`);return}d(w.domSelectors,w.id,"live config",T)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{o=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")},50)}},h=new MutationObserver(T=>{if(!o)for(const m of T){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,I=w.getAttribute("data-sl-attribute-p");for(;!I&&w.parentElement;)w=w.parentElement,I=w.getAttribute("data-sl-attribute-p");if(!I)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${I}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),p(I,h)}});c(h,"initial setup"),n.add(h);const u=new MutationObserver(T=>{T.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;E(w);const I=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');I.length>0&&this.log(`MutationObserver found ${I.length} new hidden input(s)`),I.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});n.add(u);const b=new MutationObserver(T=>{T.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,I=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${I}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&p(f,h),this.log("Re-running payment placement updates after variant change"),E(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});n.add(b);const E=T=>{T.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(e,t));const m=T.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(e,t)),T.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(e,t,"afterpay"));const y=T.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(e,t,"afterpay")),T.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(e,t,"square"));const w=T.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(e,t,"square")),T.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(e,t));const I=T.querySelectorAll("klarna-placement");I.length>0&&(this.log(`MutationObserver found ${I.length} klarna-placement in added node`),this.updateKlarnaPlacements(e,t))},S=T=>{b.observe(T,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=T.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},C=()=>{const T=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${T.length} existing hidden inputs to check`),T.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),p(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(u.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),C(),E(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(u.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),C(),E(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=n,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(e,t){this.updatePlacementElements(e,t,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const e=window.__shopliftPriceTestObservers;e&&(e.forEach(t=>{t.disconnect()}),e.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(e,t,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(e,t,s,(n,o)=>{if(i==="afterpay"){const l=(o/100).toFixed(2);n.setAttribute("data-amount",l)}else n.setAttribute("data-amount",o.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(e,t,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let n;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=t==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}n=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===e);if(!l){this.log(`No testConfig found for id: ${e} - early return`);return}const c=l.hypotheses.find(d=>t==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${t} - early return`);return}n=c.domSelectors}const o=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const p=c.getAttribute("data-sl-pid");if(!p){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=n.find(S=>{const C=S.cssSelector.match(o);return C&&C[1]===p});if(!h){this.log(`No matching selector found for productId: ${p} - skipping element`);return}const u=h.actions.find(S=>S.scope==="price");if(!u?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(u.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${u.value}" for product ${p} - skipping`);return}const E=Math.round(b*100);s(l,E)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(e,t){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const n=t==="control"?"a":"b",o=this.state.temporary.previewConfig.variants.find(l=>l.label===n);if(!o||!o.domSelectors){this.log(`No variant found for label ${n} in preview config`);return}s=o.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${n}`)}else{const n=this.testConfigs.find(l=>l.id===e);if(!n)return;const o=n.hypotheses.find(l=>t==="control"?l.isControl===!0:l.isControl===!1);if(!o||!o.domSelectors)return;s=o.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(n=>{const o=n.getAttribute("variant-id");if(!o)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===o});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=n.getAttribute("shopify-meta");if(d)try{const p=JSON.parse(d);if(p.variants&&Array.isArray(p.variants)){const h=p.variants.find(u=>u.id?.toString()===o);if(h){h.full_price=c.value;const u=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=u/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}n.setAttribute("shopify-meta",JSON.stringify(p))}}}catch(p){this.log("Error parsing/updating shoplift-meta:",p)}}}})}async makeJsonRequest(e){const t=await this.makeRequest(e);return t===null?null:JSON.parse(await t.text(),F)}async makeRequest(e){const{url:t,method:i,headers:s,data:r,signal:n}=e,o=new Headers;if(s)for(const c in s)o.append(c,s[c]);(!s||!s.Accept)&&o.append("Accept","application/json"),r!==void 0&&(!s||!s["Content-Type"])&&o.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&o.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(t,{method:i,headers:o,body:r,signal:n});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new G}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(e,t){if(this.state.essential.visitorTests.some(s=>s.testId===e))return;const i=this.testConfigs.find(s=>s.id===e);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:e,hypothesisId:t.id,isThemeTest:t.type==="theme",themeId:t.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:t.type,assignedTo:t.isControl?"control":"variant",testTitle:i?.title}),t.type==="price"){const s=t.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",e,s),this.updatePriceTestHiddenInputs(e,s,!1)}}queueCartUpdate(e){this.queueEvent(new Te(e))}queuePageView(e){this.queueEvent(new Ce(e))}queueEvent(e){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(e)}legacyGetLocalStorageVisitor(){const e=this.localStorageGet(this.legacySessionKey);if(e)try{return JSON.parse(e,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(t=>t.id==e.testId)||this.inactiveTestConfigs.filter(t=>this.testIsPaused(t)).some(t=>t.id===e.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const e=this.loadAnalyticsState(),t={analytics:e,essential:this.loadEssentialState(e),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(n=>n!==null).sort((n,o)=>+o.storedAt-+n.storedAt)[0];return t.analytics.visitor===null&&r&&({visitorTests:t.essential.visitorTests,...t.analytics.visitor}=r,t.essential.isFirstLoad=!1,t.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!t.essential.consentApproved&&t.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),t}loadEssentialState(e){const t=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();e.visitor?.device&&(s.device=e.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},n=[t,i].filter(o=>o!==null).sort((o,l)=>+l.timestamp-+o.timestamp)[0]??r;return n.initialState||(e.visitor!==null?n.initialState=e.visitor:(n.initialState=s,n.initialState.createdAt=n.timestamp)),n}loadAnalyticsState(){const e=this.loadLocalStorage(this.analyticsSessionKey),t=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[e,t].filter(r=>r!==null).sort((r,n)=>+n.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&e&&e.queue.length>1&&(s.queue=e.queue),s}loadTemporaryState(){const e=this.sessionStorageGet(this.temporarySessionKey),t=e?JSON.parse(e,F):null,i=this.loadCookie(this.temporarySessionKey);return t??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persistCookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(e){const t=this.localStorageGet(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}loadCookie(e){const t=this.getCookie(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}persistLocalStorageState(e,t){this.localStorageSet(e,JSON.stringify(t))}persistCookieState(e,t,i=!1){const s=JSON.stringify(t),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${e}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(e){const t=new Date(0).toUTCString();document.cookie=`${e}=;domain=.${window.location.hostname};path=/;expires=${t};`}deleteLocalStorage(e){window.localStorage.removeItem(e)}getChannel(e){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(e))?.name??"other"}getShopifyAnalyticsId(){const e=this.getCookie("_shopify_y");if(e)return e;try{const t=this.localStorageGet("Shoplift_ClientId");if(t)return t}catch{}return null}legacyGetCookieVisitor(){const e=this.getCookie("SHOPLIFT");return e===null?null:JSON.parse(e,F)}getCookie(e,t=this.cookie){const i=t.split("; ").filter(s=>s.split("=").at(0)===e).at(0);return i===void 0?null:i.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",e=>{(async()=>await this.onConsentChange(e.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let e=0;const t=()=>{this.loadShopifyConsentApi()||e++<10&&window.setTimeout(t,100)};t()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const e=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),t=window.setTimeout(()=>{(async()=>await e())()},1e3);return}if(this.geoViaShopify){const s=window.Shopify.customerPrivacy.getRegion?.();this.resolvedRegion=typeof s=="string"?s.replace(/-/g,""):""}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let t=window.setTimeout(()=>{(async()=>await e())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(t),i){this.log("Error loading consent tracking",i);return}await e()})()}),!0}return!1}async onConsentChange(e,t){try{if(this.log("Consent change detected",e,t),this.state.essential.consentApproved=e,this.state.essential.hasConsentInteraction=t,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const e=["/apps/","/tools/","/a/"],t=window.location.pathname;return e.some(i=>t.startsWith(i))}clearThemeBar(e,t,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(n=>(this.log("Found theme bar"),t&&(this.log("Removing theme bar"),n.remove()),e?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},te)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(e,t){return new Promise(i=>{const s=document.querySelector(t);if(s){i(s);return}const r=new MutationObserver(n=>{const o=document.querySelector(t);if(o){r.disconnect(),i(o);return}});r.observe(e??document.documentElement,{childList:!0})})}setDebug(e){this.state.essential.debugMode=e,this.saveState()}log(e,...t){let i=0;const s=e.replace(/%[sdoOfF]/g,r=>{if(i>=t.length)return r;const n=t[i++];return r==="%o"||r==="%O"?JSON.stringify(n):String(n)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${e}`,...t)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(e,t={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=t,r=new Set;return new IntersectionObserver(n=>{n.forEach(o=>{if(o.isIntersecting&&!r.has(o.target)){const l=o.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(e(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(e,t,i,s){const r=t.selectorsForViewportTracking??t.selectors,n=o=>{if(this.state.essential.visitorTests.some(h=>h.testId===o)||this.activeViewportObservers.has(o))return;const l=[];if(r.forEach(h=>{e.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(o),p.disconnect(),this.activeViewportObservers.delete(o))},p=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(o,p),this.log(`Created viewport observer for test ${o}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(o)),p.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const u=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,E=Math.min(u.bottom,window.innerHeight)-Math.max(u.top,0),S=Math.min(u.right,window.innerWidth)-Math.max(u.left,0);u.top<window.innerHeight&&u.bottom>0&&u.left<window.innerWidth&&u.right>0&&E>0&&S>0&&E>=u.height*b&&(this.log(`Price element already visible in viewport for test ${o}:`,h),d())})},100)};t.selectors.length>0&&U(e,t,()=>{}),Ie(e,{testId:t.testId,hypothesisId:t.hypothesisId,selectors:r},o=>{n(o)})}applyPriceTestWithMapLookup(e,t,i,s){if(!t.priceData){this.log("No price data for hypothesis '%s'",t.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",t.id,t.isControl,t.priceData.variants.length);const r=t.priceData.variants.slice(0,3);for(const[S,C,_]of r)this.log("  Sample priceData: variant=%s, price=%d, compareAt=%d",S,C,_);const n=j(t.priceData),o=new Set;for(const S of i)if(S.priceData)for(const[C]of S.priceData.variants)o.add(C);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",n.size,o.size);const l=t.priceData,c=new WeakSet;let d=!1;const p="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const C=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),T=S.getAttribute("data-sl-attribute-discount"),m=C||_||T;if(!m||!o.has(m))return;c.add(S);const y=n.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),$e(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===e)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(e)),this.setupElementViewportTracking(S,e,()=>{d||(d=!0,s(e))}))},u=()=>{const S=document.querySelectorAll(p);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const C of S)C.type==="childList"&&C.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const T=_;(T.hasAttribute("data-sl-attribute-p")||T.hasAttribute("data-sl-attribute-cap")||T.hasAttribute("data-sl-attribute-discount"))&&h(T),T.querySelectorAll(p).forEach(h)}}),C.type==="attributes"&&C.target instanceof Element&&h(C.target)}),E=document.body||document.documentElement;b.observe(E,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),u(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),u()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),u()},100),setTimeout(()=>{this.log("Final rescan for price elements"),u()},500)}setupElementViewportTracking(e,t,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=e.getBoundingClientRect(),n=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),o=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&n>0&&o>0&&n>=r.height*s){this.log("Price element already visible for test %s",t),i();return}const c=new IntersectionObserver(d=>{for(const p of d)if(p.isIntersecting&&p.intersectionRatio>=s){this.log("Price element entered viewport for test %s",t),c.disconnect(),i();break}},{threshold:s});c.observe(e)}debug(){const e=this.debugState();console.log(JSON.stringify(e,te,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new et("christina-cosmeceuticals.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,true,false,{"sendEvents":false,"mode":"gtag"},false,false,1000,[],[],null,true),await window.shopliftInstance.init())})();async function tt(a,e,t,i){const s=Ke({log:i});if(t)return i("[SUB-PREVIEW] A side — no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,n=e?j(e):null;let o=W(e),l=Y(a,o),c=l.discountMap,d=l.maxDiscount;function p(){const f=W(e);f!==o&&(o=f,l=Y(a,o),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${o??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${o??"n/a"}, maxDiscount=${d}`);function h(f){if(!e||!n)return null;const v=X(n),g=v?n.get(v):void 0;return g?{formattedVariantPrice:K(g.priceInCents,e),formattedDiscounted:K(g.priceInCents*(1-f/100),e)}:null}function u(f){const v=Z(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),P=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${P}:checked`);if(A){const k=c[A.value];if(k!==void 0)return k}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const P=f.querySelector(g.selector);P?.textContent&&!P.textContent.includes(`${d}%`)&&$(P,A=>N(A,d))}}function E(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionCompareAt");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedVariantPrice)&&$(k,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionPrice");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedDiscounted)&&$(k,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function C(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',P=D(a,"subscriptionPlanDiscount"),A=P.length?P[0].selector:".rc-plans-button__discount";for(const k of Array.from(f.querySelectorAll("label"))){const x=k.querySelector(g),R=k.querySelector(A);if(x&&R?.textContent){const O=c[x.value];if(O!==void 0){const V=R.textContent.match(/[\d.]+%/)?.[0];V&&V!==`${O}%`&&$(R,L=>N(L,O))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const P=c[g.value];if(P!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${P}%`&&(g.textContent=N(g.textContent,P))}}}function T(f){const v=D(a,"onetimePrice");if(!v.length||!e||!n)return;const g=X(n),P=g?n.get(g):void 0;if(!P)return;const A=K(P.priceInCents,e),k=D(a,"onetimeContainer"),x=k.length?k[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const O of v){const V=R.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(A)&&$(V,L=>/\d/.test(L)?A:L)}}function m(f,v){const P=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of P){const k=f.querySelector(A.selector);if(k?.shadowRoot){for(const x of Array.from(k.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,O=>N(O,v))}}}}let y=!1;function w(){if(!y){y=!0;try{p();const f=B(a);if(!f)return;const v=u(f);b(f),E(f,v),S(f,v),T(f);const g=Z(a,f);g&&(r==="buttons"||r==="radio"?C(g):_(g)),m(f,v)}finally{y=!1}}}const I=ue({data:a,runUpdates:w});return function(){I(),s()}}const it=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:tt},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "", type: "index" }, "main", 189446881599, false)</script><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/bss-lock-settings.css?v=96012404604161686981791805625" rel="stylesheet" type="text/css" media="all" />
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, viewport-fit=cover">
	<meta name="theme-color" content="#ffffff">
	<link rel="canonical" href="https://christina-cosmeceuticals.com/">
	<link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
	<link rel="preload" as="style" href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/app.css?v=184207232563553529961791800359">



<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/header.js?v=53973329853117484881791800359" as="script" rel="preload">
<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/vendor.min.js?v=24387807840910288901791800359" as="script" rel="preload">
<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/app.js?v=128803848060495286671791800359" as="script" rel="preload">
<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/slideshow.js?v=35540821796052423421791800359" as="script" rel="preload">

<script>
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.expand = 250;
window.lazySizesConfig.loadMode = 1;
window.lazySizesConfig.loadHidden = false;
</script>


	<link rel="icon" type="image/png" href="//christina-cosmeceuticals.com/cdn/shop/files/Copy_of_SUNDAY_4_2.jpg?crop=center&height=32&v=1762635326&width=32">

	<title>
	Christina Cosmeceuticals Skin Care | Official Site
	</title>

	
	<meta name="description" content="Addressing the internal &amp; external causes &amp; consequences of skin conditions on multiple skin layers, Christina assures an improved skin texture in ageing, oily &amp; combination skin, and also reduces hyper pigmentation, acne and acne damage. Call Us at (888) 604-6268.">
	
<link rel="preload" as="font" href="//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n4.2c76ddd103ff0f30b1230f13e160330ff8b2c68a.woff2" type="font/woff2" crossorigin>

<meta property="og:site_name" content="Christina Cosmeceuticals">
<meta property="og:url" content="https://christina-cosmeceuticals.com/">
<meta property="og:title" content="Christina Cosmeceuticals Skin Care | Official Site">
<meta property="og:type" content="website">
<meta property="og:description" content="Addressing the internal &amp; external causes &amp; consequences of skin conditions on multiple skin layers, Christina assures an improved skin texture in ageing, oily &amp; combination skin, and also reduces hyper pigmentation, acne and acne damage. Call Us at (888) 604-6268."><meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Christina Cosmeceuticals Skin Care | Official Site">
<meta name="twitter:description" content="Addressing the internal &amp; external causes &amp; consequences of skin conditions on multiple skin layers, Christina assures an improved skin texture in ageing, oily &amp; combination skin, and also reduces hyper pigmentation, acne and acne damage. Call Us at (888) 604-6268.">


	<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/app.css?v=184207232563553529961791800359" rel="stylesheet" type="text/css" media="all" />

	
<style data-shopify>
	@font-face {
  font-family: Raleway;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n4.2c76ddd103ff0f30b1230f13e160330ff8b2c68a.woff2") format("woff2"),
       url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n4.c057757dddc39994ad5d9c9f58e7c2c2a72359a9.woff") format("woff");
}

@font-face {
  font-family: Raleway;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n5.0f898fcb9d16ae9a622ce7e706bb26c4a01b5028.woff2") format("woff2"),
       url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n5.c754eb57a4de1b66b11f20a04a7e3f1462e000f4.woff") format("woff");
}

@font-face {
  font-family: Raleway;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n6.87db7132fdf2b1a000ff834d3753ad5731e10d88.woff2") format("woff2"),
       url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_n6.ad26493e9aeb22e08a6282f7bed6ea8ab7c3927f.woff") format("woff");
}

@font-face {
  font-family: Raleway;
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_i4.aaa73a72f55a5e60da3e9a082717e1ed8f22f0a2.woff2") format("woff2"),
       url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_i4.650670cc243082f8988ecc5576b6d613cfd5a8ee.woff") format("woff");
}

@font-face {
  font-family: Raleway;
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  src: url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_i6.3ca54d7a36de0718dd80fae3527e1a64a421eeb8.woff2") format("woff2"),
       url("//christina-cosmeceuticals.com/cdn/fonts/raleway/raleway_i6.b468b8770307bd25eee5b284ea3424978349afe2.woff") format("woff");
}

h1,h2,h3,h4,h5,h6,
	.h1,.h2,.h3,.h4,.h5,.h6,
	.logolink.text-logo,
	.heading-font,
	.h1-xlarge,
	.h1-large,
	.customer-addresses .my-address .address-index {
		font-style: normal;
		font-weight: 400;
		font-family: var(--font-primary);
	}
	body,
	.body-font,
	.thb-product-detail .product-title {
		font-style: normal;
		font-weight: 400;
		font-family: Raleway, sans-serif;
	}
	:root {
		--mobile-swipe-width: calc(90vw - 30px);
		--font-body-scale: 1.0;
		--font-body-line-height-scale: 0.9;
		--font-body-letter-spacing: 0.0em;
		--font-body-400-weight: 400;
		--font-body-medium-weight: 500;
    --font-body-bold-weight: 600;
		--font-announcement-scale: 1.0;
		--font-heading-scale: 1.0;
		--font-heading-line-height-scale: 1.0;
		--font-heading-letter-spacing: 0.0em;
		--font-navigation-scale: 1.2;
		--navigation-item-spacing: 15px;
		--font-product-title-scale: 1.1;
		--font-product-title-line-height-scale: 0.8;
		--button-letter-spacing: 0.01em;

		--bg-body: #ffffff;
		--bg-body-rgb: 255,255,255;
		--bg-body-darken: #f7f7f7;
		--payment-terms-background-color: #ffffff;
		--color-body: #535458;
		--color-body-rgb: 83,84,88;
		--color-accent: #535458;
		--color-accent-rgb: 83,84,88;
		--color-border: #bebebe;
		--color-form-border: #bebebe;
		--color-overlay-rgb: 0,0,0;

		--shopify-accelerated-checkout-button-block-size: 48px;
		--shopify-accelerated-checkout-inline-alignment: center;
		--shopify-accelerated-checkout-skeleton-animation-duration: 0.25s;

		--color-announcement-bar-text: #ffffff;
		--color-announcement-bar-bg: #535458;

		--color-header-bg: #ffffff;
		--color-header-bg-rgb: 255,255,255;
		--color-header-text: #535458;
		--color-header-text-rgb: 83,84,88;
		--color-header-links: #535458;
		--color-header-links-rgb: 83,84,88;
		--color-header-links-hover: #1e4e1c;
		--color-header-icons: #535458;
		--color-header-border: #dcdcdc;

		--solid-button-background: #535458;
		--solid-button-label: #ffffff;
		--outline-button-label: #535458;
		--button-border-radius: 0px;
		--shopify-accelerated-checkout-button-border-radius: 0px;

		--color-price: #bebebe;
		--color-price-discounted: #535458;
		--color-star: #FFC30F;
		--color-dots: #bebebe;

		--color-inventory-instock: #3a8437;
		--color-inventory-lowstock: #bebebe;

		--section-spacing-mobile: 50px;
		--section-spacing-desktop: 90px;

		--color-badge-text: #ffffff;
		--color-badge-sold-out: #dcdcdc;
		--color-badge-sale: #065007;

		--color-badge-preorder: #666666;
		--badge-corner-radius: 0px;

		--color-footer-text: #535458;
		--color-footer-text-rgb: 83,84,88;
		--color-footer-link: #535458;
		--color-footer-link-hover: #151515;
		--color-footer-border: #535458;
		--color-footer-border-rgb: 83,84,88;
		--color-footer-bg: #dcdcdc;

		--color-light-gray: #BAB8BD;
		--color-pale-gray: #D7D8DA;
		--color-dark-gray: var(--color-body);
		--color-dark-gray-opacity: rgb(93, 102, 111, 0.55);
		--color-white: #FFFFFF;
		--font-primary: Raleway, sans-serif;
	}
.badge[data-badge="new"]{
				background: #D9290E;
			}
		
.badge[data-badge="new-muse"]{
				background: #D9290E;
			}
		

</style>

	<style id="cr-judgeme-stars">
  .jdgm-preview-badge .jdgm-prev-badge.jdgm-prev-badge {
    display: flex !important;
    align-items: center;
    gap: 6px;
  }
  /* No reviews: show nothing. Must stay stronger than the rule above. */
  .jdgm-preview-badge .jdgm-prev-badge.jdgm-prev-badge[data-number-of-reviews="0"] {
    display: none !important;
  }
  .jdgm-preview-badge .jdgm-prev-badge__stars {
    display: flex;
    flex: none;
    align-items: center;
    gap: 2px;
    line-height: 0;
  }
  .jdgm-preview-badge .jdgm-prev-badge__stars .jdgm-star.jdgm-star {
    display: block !important;
    flex: none;
    width: 16px;
    height: 16px;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0;
    line-height: 0;
    opacity: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
  }
  .jdgm-preview-badge .jdgm-prev-badge__stars .jdgm-star.jdgm-star::before {
    content: none;
  }
  .jdgm-preview-badge .jdgm-prev-badge__stars .jdgm-star.jdgm--on {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.4-5.8-3-5.8 3 1.1-6.4L2.6 9.4l6.5-.9z' fill='%23d99a2b'/%3E%3C/svg%3E");
  }
  .jdgm-preview-badge .jdgm-prev-badge__stars .jdgm-star.jdgm--off {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.4-5.8-3-5.8 3 1.1-6.4L2.6 9.4l6.5-.9z' fill='none' stroke='%23d99a2b' stroke-width='1.81' stroke-linejoin='miter' transform='translate(12 12.3) scale(.828) translate(-12 -12.3)'/%3E%3C/svg%3E");
  }
  .jdgm-preview-badge .jdgm-prev-badge__stars .jdgm-star.jdgm--half {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3CclipPath id='h'%3E%3Crect width='12' height='24'/%3E%3C/clipPath%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.4-5.8-3-5.8 3 1.1-6.4L2.6 9.4l6.5-.9z' fill='none' stroke='%23d99a2b' stroke-width='1.81' stroke-linejoin='miter' transform='translate(12 12.3) scale(.828) translate(-12 -12.3)'/%3E%3Cg clip-path='url(%23h)'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.4-5.8-3-5.8 3 1.1-6.4L2.6 9.4l6.5-.9z' fill='%23d99a2b'/%3E%3C/g%3E%3C/svg%3E");
  }
  .jdgm-preview-badge .jdgm-prev-badge .jdgm-prev-badge__text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-body, #535458);
  }

  /* Product page: room between the stars and the price */
  .product-information--inner .jdgm-preview-badge .jdgm-prev-badge {
    min-height: 25px;
    margin-bottom: 8px;
  }

  /* Product card: room around the stars; price uses the same weight as the product name */
  .product-card .product-card-info .jdgm-preview-badge .jdgm-prev-badge {
    margin: 4px 0 10px;
  }
  .product-card .product-card-info .price {
    font-weight: 500;
  }
  @media screen and (max-width: 768px) {
    .product-card .product-card-info .jdgm-preview-badge .jdgm-prev-badge {
      margin: 3px 0 8px;
    }
  }

  /* Reviews section: stars in the same colour as above. Judge.me sets the colour inline, so this needs !important. */
  .jdgm-review-widget .jm-star-rating .jm-star-rating__font-icon {
    color: #d99a2b !important;
  }
</style>


	<script>
		window.theme = window.theme || {};
		theme = {
			settings: {
				money_with_currency_format:"${{amount}}",
				cart_drawer:true,
				product_id: false,
			},
			routes: {
				root_url: '/',
				cart_url: '/cart',
				cart_add_url: '/cart/add',
				search_url: '/search',
				cart_change_url: '/cart/change',
				cart_update_url: '/cart/update',
				predictive_search_url: '/search/suggest',
			},
			variantStrings: {
        addToCart: `Add to cart`,
        soldOut: `Sold out`,
        unavailable: `Unavailable`,
        preOrder: `Pre-order`,
      },
			strings: {
				requiresTerms: `You must agree with the terms and conditions of sales to check out`,
				shippingEstimatorNoResults: `Sorry, we do not ship to your address.`,
				shippingEstimatorOneResult: `There is one shipping rate for your address:`,
				shippingEstimatorMultipleResults: `There are several shipping rates for your address:`,
				shippingEstimatorError: `One or more error occurred while retrieving shipping rates:`
			}
		};
	</script>
	
		
	<script style="display: none" id="bss-lock-rules" type="application/json">
		
    
        {
            "rules": [{"id":6628,"targetType":5},{"id":6500,"targetType":10}],
            "bss_opened_lock_ids": [],
            "bss_lock_ids": []
        }

	</script>

	  	
  <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="8rInxKErdJ3tVnmveDw71gjociADRBJ8_iL5sIA20E8">
<meta name="facebook-domain-verification" content="5cjoqqhn8uu5lxwkeqmfh7vp6osvrj">
<meta name="google-site-verification" content="8rInxKErdJ3tVnmveDw71gjociADRBJ8_iL5sIA20E8">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/1648361545/digital_wallets/dialog">
<meta id="in-context-paypal-metadata" data-shop-id="1648361545" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=1648361545" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":1648361545,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/1648361545","merchantName":"Christina Cosmeceuticals","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Christina Cosmeceuticals","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"465144bc703affa7ecc09baf670e17de","betas":["rich-media-storefront-analytics"],"domain":"christina-cosmeceuticals.com","predictiveSearch":true,"shopId":1648361545,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "christina-cosmeceuticals.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"Speed fixes (Claude) 2026-10-12","id":189446881599,"schema_name":"Reformation","schema_version":"7.1.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "christina-cosmeceuticals.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<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>
<script>
  window.ShopifyPay = window.ShopifyPay || {};
  window.ShopifyPay.apiHost = "shop.app\/pay";
  window.ShopifyPay.redirectState = null;
</script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
  window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<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>
<script type="module">
  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");

  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true,"backendHost":"Y2hyaXN0aW5hLWNvc21lY2V1dGljYWxzLmNvbQ=="});

</script>
<script>
  window.Shopify = window.Shopify || {};
  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
  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"]};
</script>
<script>(function() {
  var isLoaded = false;
  function asyncLoad() {
    if (isLoaded) return;
    isLoaded = true;
    var urls = ["https:\/\/cdn.shopify.com\/s\/files\/1\/0683\/1371\/0892\/files\/splmn-shopify-prod-August-31.min.js?v=1693985059\u0026shop=christina-cosmeceuticals.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0033\/3538\/9233\/files\/31aug26paidd20_free_final_73a58.js?v=1627036274\u0026shop=christina-cosmeceuticals.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0033\/3538\/9233\/files\/pushdaddy_a3.js?shop=christina-cosmeceuticals.myshopify.com","https:\/\/storage.nfcube.com\/instafeed-8af3a1119369dd9c21847137c033b4ae.js?shop=christina-cosmeceuticals.myshopify.com","https:\/\/admin.revenuehunt.com\/embed.js?shop=christina-cosmeceuticals.myshopify.com","https:\/\/quizify.arhamcommerce.com\/js\/shortcode.js?shop=christina-cosmeceuticals.myshopify.com","https:\/\/cdn-app.sealsubscriptions.com\/shopify\/public\/js\/sealsubscriptions.js?shop=christina-cosmeceuticals.myshopify.com","https:\/\/api.fastbundle.co\/scripts\/src.js?shop=christina-cosmeceuticals.myshopify.com"];
    for (var i = 0; i < urls.length; i++) {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = urls[i];
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
  };
  if(window.attachEvent) {
    window.attachEvent('onload', asyncLoad);
  } else {
    window.addEventListener('load', asyncLoad, false);
  }
})();</script>
<script id="__st">var __st={"a":1648361545,"offset":-14400,"reqid":"0277548e-a424-468f-884b-34bc2409c99d-1792890411","pageurl":"christina-cosmeceuticals.com\/index.json?q=whatsapp\u0026view=pwhatsapp","u":"f2d59063436c","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<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>
<script integrity="sha256-FYHzja/5XSmzkjz6zHj7s4rACJGFuVoYZdumgoO2Ecs=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//christina-cosmeceuticals.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-ed94c51f.js" crossorigin="anonymous"></script>
<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 = "//christina-cosmeceuticals.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><script crossorigin="anonymous" defer="defer" src="//christina-cosmeceuticals.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
<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>
<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("\/\/christina-cosmeceuticals.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-23c12384.js","sha256-r8Pww6V2udgtSdaVbcRtdZ4Kg+gXP7aLPZOtQSJPrbM=");})();
</script>
<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://christina-cosmeceuticals.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  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);
</script>
<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})}}));
</script>
<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://christina-cosmeceuticals.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
        #shopify-buyer-consent {
  margin-top: 1em;
  display: inline-block;
  width: 100%;
}

#shopify-buyer-consent.hidden {
  display: none;
}

#shopify-subscription-policy-button {
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
  font-size: inherit;
  cursor: pointer;
}

#shopify-subscription-policy-button::before {
  box-shadow: none;
}

      </style>

<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
  <!-- "snippets/shogun-products.liquid" was not rendered, the associated app was uninstalled -->

	 <script defer style="display:none!important;" id="bss-lock-general-info-script"> window.BSS_Login_Analytics = window.BSS_Login_Analytics || {}; window.BSS_Login_Analytics.lastRuleUpdated = '2025-11-12T16:54:35.658Z'; function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); } function getSessionId() { function generateId() { let randomID = null; if (typeof window.crypto === 'undefined' || typeof window.crypto.randomUUID !== 'function') { randomID = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { const r = Math.random() * 16 | 0; const v = c === 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } else { randomID = window.crypto.randomUUID(); } window.localStorage.setItem('bss-login-session-id', randomID); return randomID; } let lsSession = window.localStorage.getItem('bss-login-session-id'); let cookieSession = getCookie('_shopify_y'); return lsSession || cookieSession || generateId(); } window.BSS_Login_Analytics.sessionId = getSessionId(); window.BSS_Login_Analytics.customer = { id: '', email: '', first_name: '', last_name: '', tags: '', }; window.BSS_Login_Analytics.market = { code: 'US', name: 'United States', }; window.BSS_Login_Analytics.reportList = []; window.BSS_Login_Analytics.shouldReport = false; window.BSS_Login_Analytics.reported = false; var bss_lock_checkEvents = ['wheel', 'touchstart', 'keydown', 'mousedown']; window.BSS_Login_Analytics.executeReport = function () { window.BSS_Login_Analytics.shouldReport = true; if (window.BSS_Login_Analytics.shouldReport && !window.BSS_Login_Analytics.reported) { window.BSS_Login_Analytics.reported = true; window.BSS_Login_Analytics.reportList.forEach(fn => fn()); bss_lock_checkEvents.forEach(e => window.removeEventListener(e, window.BSS_Login_Analytics.executeReport) ); } }; bss_lock_checkEvents.forEach(e => window.addEventListener(e, window.BSS_Login_Analytics.executeReport) ); </script>  <!-- Header hook for plugins --><script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
	

<!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->












  <script async src="https://static.klaviyo.com/onsite/js/N5uL45/klaviyo.js?company_id=N5uL45"></script>
  <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>

  




  <script>
    window.klaviyoReviewsProductDesignMode = false
  </script>







<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->







<link rel="dns-prefetch" href="https://cdn.judge.me">
<link rel="dns-prefetch" href="https://cdn1.judge.me">
<link rel="dns-prefetch" href="https://api.judge.me">


<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"tiered","coupon_tier_text_enabled":true,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":true,"coupon_tier_photo_percentage":15,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":true,"badge_no_review_text":"No reviews","badge_n_reviews_text":"({{ n }})","badge_star_color":"#DCDCDC","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank you! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"last_initial","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#DCDCDC","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"★ Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subtitle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#535458","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":false,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":true,"widget_translate_review_content_enabled":true,"widget_translate_review_content_method":"automatic","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"popup_widget_source_mode":"auto","popup_widget_page_product":"current_product","popup_widget_page_collection":"current_collection","popup_widget_page_cart":"cart_mode","popup_widget_page_home":"all","popup_widget_star_rating":"all","popup_widget_review_type":"all","popup_widget_top_up_thin_pages":true,"popup_widget_corner_styling":"soft","review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#535458","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"Summarized and selected by AI from recent customer reviews","widget_show_ai_summary":true,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#535458","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#535458","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":true,"show_negative_reviews_help_screen":true,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","widget_sort_by_text":"Sort by","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-05-21T08:46:30.000+00:00","review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"small","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_star_and_histogram_color":"#DCDCDC","review_widget_button_color":"#535458","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"square","review_widget_review_word_singular":"review","review_widget_review_word_plural":"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"We’ll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":true,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Christina Cosmeceuticals","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":false,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"widget_events_v4_impressions_enabled":false,"widget_events_review_grain_enabled":false,"widget_events_v4_time_in_view_enabled":false,"widget_events_v4_session_key_enabled":false,"widget_events_v4_interactions_enabled":false,"widget_attribution_exposure_timestamps_enabled":false,"widget_attribution_v4_exposures_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"hostname_allowlist":"","negative_review_notification_email":"customerservice@christina-usa.com","can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Christina Cosmeceuticals"};</script> <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #535458;--jdgm-secondary-color: rgba(83,84,88,0.1);--jdgm-star-color: #DCDCDC;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #535458;--jdgm-paginate-color: #535458;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #535458}.jdgm-histogram__bar-content{background-color:#535458}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#535458}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#DCDCDC}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-rev .jdgm-rev__timestamp,.jdgm-quest .jdgm-rev__timestamp,.jdgm-carousel-item__timestamp{display:none !important}.jdgm-author-fullname{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #535458;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#535458}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Christina Cosmeceuticals'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )}
</style> <style class='jdgm-settings-style'></style>

  
  
  
  <style class='jdgm-miracle-styles'>
  @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important}

</style>


  
  
   



<script data-cfasync='false' class='jdgm-script'>
!function(e){window.jdgm=window.jdgm||{};
/* INF-1976 */
var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}();
if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;}
jdgm.CDN_HOST="https:\/\/cdnwidget.judge.me\/",jdgm.CDN_HOST_ALT="https:\/\/cdn2.judge.me\/cdn\/widget_frontend\/",jdgm.API_HOST="https:\/\/api.judge.me\/",jdgm.CDN_BASE_URL="https:\/\/cdn.shopify.com\/extensions\/01a16882-2e06-7bf5-8493-6a4187c83993\/judgeme-821\/assets\/",jdgm.CDN_API_HOST="https:\/\/cdn.judge.me\/",
jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll(
".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
)}))}(document);
</script>
<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a16882-2e06-7bf5-8493-6a4187c83993/judgeme-821/assets/shopify_v2.css"></noscript>

<!-- BEGIN app snippet: theme_fix_tags -->
<script>
  (function() {
    var jdgmThemeFixes = null;
    if (!jdgmThemeFixes) return;

    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
    // before the per-theme fix so the theme-specific CSS wins the cascade.
    // HTML is never applied globally (too risky).
    var allThemesFix = jdgmThemeFixes['all'];
    if (allThemesFix && allThemesFix.css) {
      var allStyleTag = document.createElement('style');
      allStyleTag.classList.add('jdgm-theme-fix-style-all');
      allStyleTag.innerHTML = allThemesFix.css;
      document.head.append(allStyleTag);
    };

    if (allThemesFix && allThemesFix.js) {
      var allScriptTag = document.createElement('script');
      allScriptTag.classList.add('jdgm-theme-fix-script-all');
      allScriptTag.innerHTML = allThemesFix.js;
      document.head.append(allScriptTag);
    };

    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
    if (!thisThemeFix) return;

    if (thisThemeFix.html) {
      document.addEventListener("DOMContentLoaded", function() {
        var htmlDiv = document.createElement('div');
        htmlDiv.classList.add('jdgm-theme-fix-html');
        htmlDiv.innerHTML = thisThemeFix.html;
        document.body.append(htmlDiv);
      });
    };

    if (thisThemeFix.css) {
      var styleTag = document.createElement('style');
      styleTag.classList.add('jdgm-theme-fix-style');
      styleTag.innerHTML = thisThemeFix.css;
      document.head.append(styleTag);
    };

    if (thisThemeFix.js) {
      var scriptTag = document.createElement('script');
      scriptTag.classList.add('jdgm-theme-fix-script');
      scriptTag.innerHTML = thisThemeFix.js;
      document.head.append(scriptTag);
    };
  })();
</script>
<!-- END app snippet -->
<!-- End of Judge.me Core -->



<!-- END app block --><!-- BEGIN app block: shopify://apps/seal-subscriptions/blocks/subscription-script-append/13b25004-a140-4ab7-b5fe-29918f759699 --><script defer="defer">
	/**	SealSubs loader,version number: 2.0 */
	(function(){
		var loadScript=function(a,b){var c=document.createElement("script");c.setAttribute("defer", "defer");c.type="text/javascript",c.readyState?c.onreadystatechange=function(){("loaded"==c.readyState||"complete"==c.readyState)&&(c.onreadystatechange=null,b())}:c.onload=function(){b()},c.src=a,document.getElementsByTagName("head")[0].appendChild(c)};
		// Set variable to prevent the other loader from requesting the same resources
		window.seal_subs_app_block_loader = true;
		appendScriptUrl('christina-cosmeceuticals.myshopify.com');

		// get script url and append timestamp of last change
		function appendScriptUrl(shop) {
			var timeStamp = Math.floor(Date.now() / (1000*1*1));
			var timestampUrl = 'https://app.sealsubscriptions.com/shopify/public/status/shop/'+shop+'.js?'+timeStamp;
			loadScript(timestampUrl, function() {
				// append app script
				if (typeof sealsubscriptions_settings_updated == 'undefined') {
					sealsubscriptions_settings_updated = 'default-by-script';
				}
				
				var locale = '';
				if (typeof window !== 'undefined' && 
					typeof window.Shopify !== 'undefined' && 
					typeof window.Shopify.locale !== 'undefined'
				) {
					locale = window.Shopify.locale;
				}

				var scriptUrl = "https://cdn-app.sealsubscriptions.com/shopify/public/js/sealsubscriptions-main.js?shop="+shop+"&"+sealsubscriptions_settings_updated+`&locale=${locale}`;
				loadScript(scriptUrl, function(){});
			});
		}
	})();

	var SealSubsScriptAppended = true;
	
</script>

<!-- END app block --><!-- BEGIN app block: shopify://apps/seowill-ai-seo/blocks/seoant-core/8e57283b-dcb0-4f7b-a947-fb5c57a0d59d --><!-- BEGIN app snippet: Index-JSON-LD-V2 --><!-- END app snippet -->
<script src="https://cdn.shopify.com/extensions/01a167ac-5e5e-78f9-98b8-c21508f8165d/seowill-ai-seo-123/assets/seoant-receive-id.js" data-shop="christina-cosmeceuticals.myshopify.com" defer></script><script src="https://cdn.shopify.com/extensions/01a167ac-5e5e-78f9-98b8-c21508f8165d/seowill-ai-seo-123/assets/pagespeed-preloading.js" defer="defer"></script><!-- END app block --><!-- BEGIN app block: shopify://apps/fbp-fast-bundle/blocks/fast_bundle/9e87fbe2-9041-4c23-acf5-322413994cef -->



<!-- BEGIN app snippet: fast_bundle -->






<script>
    if (Math.random() < 0.05) {
        window.FastBundleRenderTimestamp = Date.now();
    }

    // Main initialization
    const apiURL = 'https://api.fastbundle.co';
    const sdkBaseUrl = 'https://sdk.fastbundle.co';
    const rbrCartUrl = `${apiURL}/scripts/cart.js`;
    const mainAppUrl = 'https://sdk.fastbundle.co/1.29.18/main.min.js'
    const vendorUrl  = 'https://sdk.fastbundle.co/1.29.18/vendor.js';
    const styleUrl   = 'https://sdk.fastbundle.co/1.29.18/main.min.css';
    const legacyAppUrl = `${apiURL}/react-src/static/js/main.min.js`;
    const previousScriptLoaded = Boolean(document.querySelectorAll(`script[src*="${sdkBaseUrl}"]`).length)
    const previousLegacyScriptLoaded = Boolean(document.querySelectorAll(`script[src*="${legacyAppUrl}"]`).length)

    if (!(previousScriptLoaded || previousLegacyScriptLoaded)) {
        const FastBundleConf = {"enable_bap_modal":false,"frontend_version":"1.29.18","storefront_record_submitted":true,"use_shopify_prices":false,"currencies":[{"id":2675277186,"code":"USD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true}],"is_active":true,"override_product_page_forms":false,"allow_funnel":false,"do_not_track_bundle_visibility":false,"translations":[],"pid":"","bap_ids":[10395191869759,9946310967615,10218860085567,10218877911359,10630559596863,10395196391743,10570127606079,10317695320383,10218841145663,10395193835839,10317695549759,10395268251967,10317694533951,10395195146559,10395194065215,10570127802687,10317694730559,10395192033599,10570127868223,9946296287551,10124502991167,9946291274047,9998517403967,10161253744959,10123774755135,9946297565503,9978096714047,10570128195903,10123755946303,10124497125695,10161259118911,10161253286207,10161257775423,10570128359743],"active_bundles_count":8,"use_color_swatch":false,"use_shop_price":false,"dropdown_color_swatch":true,"option_config":{},"enable_subscriptions":false,"has_fbt_bundle":false,"use_shopify_function_discount":true,"use_bundle_builder_modal":true,"use_cart_hidden_attributes":true,"bap_override_fetch":false,"invalid_bap_override_fetch":true,"volume_discount_add_on_override_fetch":true,"pmm_new_design":true,"merged_mix_and_match":false,"change_vd_product_picture":true,"buy_it_now":true,"rgn":747232,"baps":{"10395191869759":{"bundle_id":522594,"variant_id":52969233744191,"handle":"hydra-routine","type":"single","use_cart_transform":false},"9946310967615":{"bundle_id":330573,"variant_id":50712071176511,"handle":"mix-match-1","type":"multi","use_cart_transform":false},"10218860085567":{"bundle_id":467345,"variant_id":51830285271359,"handle":"valentines-smooth-lift-set","type":"single","use_cart_transform":false},"10218877911359":{"bundle_id":467355,"variant_id":51830771319103,"handle":"valentines-daily-care-set","type":"single","use_cart_transform":false},"10630559596863":{"bundle_id":565542,"variant_id":55547493155135,"handle":"bundle-product-33","type":"single","use_cart_transform":false},"10395196391743":{"bundle_id":522602,"variant_id":52969281978687,"handle":"nuance-routine","type":"single","use_cart_transform":false},"10570127606079":{"bundle_id":530832,"variant_id":55107641671999,"handle":"pore-detox-routine","type":"multi","use_cart_transform":true},"10317695320383":{"bundle_id":503943,"variant_id":52711951663423,"handle":"bundle-product-22","type":"single","use_cart_transform":false},"10218841145663":{"bundle_id":467334,"variant_id":51829341159743,"handle":"bundle-product-17","type":"single","use_cart_transform":false},"10395193835839":{"bundle_id":522596,"variant_id":52969237053759,"handle":"comodex-routine","type":"single","use_cart_transform":false},"10317695549759":{"bundle_id":503945,"variant_id":52711953891647,"handle":"bundle-product-23","type":"single","use_cart_transform":false},"10395268251967":{"bundle_id":522626,"variant_id":52969411051839,"handle":"illustrious-routine","type":"single","use_cart_transform":false},"10317694533951":{"bundle_id":503941,"variant_id":52711946453311,"handle":"bundle-product-20","type":"single","use_cart_transform":false},"10395195146559":{"bundle_id":522599,"variant_id":53856258457919,"handle":"unstress-routine","type":"single","use_cart_transform":false},"10395194065215":{"bundle_id":522598,"variant_id":53856258195775,"handle":"biophyto-routine","type":"single","use_cart_transform":false},"10570127802687":{"bundle_id":530828,"variant_id":55107642655039,"handle":"bundle-product-31","type":"multi","use_cart_transform":true},"10317694730559":{"bundle_id":503942,"variant_id":52711947698495,"handle":"bundle-product-21","type":"single","use_cart_transform":false},"10395192033599":{"bundle_id":522595,"variant_id":52969235022143,"handle":"glow-routine","type":"single","use_cart_transform":false},"10570127868223":{"bundle_id":434955,"variant_id":55107642982719,"handle":"bundle-product-16","type":"multi","use_cart_transform":false},"9946296287551":{"bundle_id":330548,"variant_id":51541351858495,"handle":"forever-young-day-to-night-ritual","type":"single","use_cart_transform":false},"10124502991167":{"bundle_id":410959,"variant_id":51557954322751,"handle":"illustrious-bright-perfection-ritual","type":"single","use_cart_transform":false},"9946291274047":{"bundle_id":330546,"variant_id":51543537582399,"handle":"radiance-recharge-kit","type":"single","use_cart_transform":false},"9998517403967":{"bundle_id":350739,"variant_id":51543546298687,"handle":"fathers-day-no-fuss-self-care-box","type":"single","use_cart_transform":false},"10161253744959":{"bundle_id":434291,"variant_id":51574216982847,"handle":"hydra-deep-moisture-holiday-ritual","type":"single","use_cart_transform":false},"10123774755135":{"bundle_id":410340,"variant_id":51543530209599,"handle":"nuance-firm-renew-ritual","type":"single","use_cart_transform":false},"9946297565503":{"bundle_id":330551,"variant_id":51543553245503,"handle":"nuance-correct-lift-routine","type":"single","use_cart_transform":false},"9978096714047":{"bundle_id":343491,"variant_id":50908477030719,"handle":"rose-de-mer-professional-kit","type":"multi","use_cart_transform":false},"10570128195903":{"bundle_id":434295,"variant_id":55107644096831,"handle":"glow-radiance-holiday-ritual","type":"multi","use_cart_transform":false},"10123755946303":{"bundle_id":410321,"variant_id":51543541055807,"handle":"illustrious-bright-renewal-duo","type":"single","use_cart_transform":false},"10124497125695":{"bundle_id":410955,"variant_id":51541351792959,"handle":"line-repair-hydra-moisture-renewal-kit","type":"single","use_cart_transform":false},"10161259118911":{"bundle_id":434297,"variant_id":51574228320575,"handle":"nude-body-comfort-care-gift-set","type":"single","use_cart_transform":false},"10161253286207":{"bundle_id":434288,"variant_id":51574215672127,"handle":"illustrious-bright-perfection-gift-set","type":"single","use_cart_transform":false},"10161257775423":{"bundle_id":434294,"variant_id":51574225109311,"handle":"biophyto-detox-routine-gift-set","type":"single","use_cart_transform":false},"10570128359743":{"bundle_id":434296,"variant_id":55107644752191,"handle":"bundle-product-14","type":"multi","use_cart_transform":false}},"has_multilingual_permission":true,"use_vd_templating":true,"use_payload_variant_id_in_fetch_override":false,"use_compare_at_price":true,"storefront_access_token":"ebf46876a27b2bd216ffcb214bd33b48","serverless_vd_display":false,"serverless_vd_discount":false,"serverless_vd_auto_detection":false,"serverless_fixed_display":false,"serverless_add_on_display":false,"serverless_mix_and_match_display":false,"serverless_fixed_discount":false,"products_with_add_on":{},"collections_with_add_on":{},"ssr_add_on":false,"has_required_plan":true,"bundleBox":{"id":113664,"bundle_page_enabled":true,"bundle_page_style":null,"currency":"USD","currency_format":"$%s","percentage_format":"%s%","show_sold_out":false,"track_inventory":true,"shop_page_external_script":"","page_external_script":"","shop_page_style":null,"shop_page_title":null,"shop_page_description":null,"app_version":"v2","show_logo":false,"show_info":false,"money_format":"amount","tax_factor":1.0,"primary_locale":"en","discount_code_prefix":"BUNDLE","is_active":true,"created":"2025-04-10T10:39:14.760703Z","updated":"2026-07-17T18:51:41.880892Z","title":"Don't miss this offer","style":".rbr-thumbnail-container{\nbackground-color: white !important;\n}\n\n.add_to_cart_holder {\n    flex-wrap: nowrap !important;\n}\n\n.rbr-sbap_body{\n  display: none !important;\n}","inject_selector":".installment","mix_inject_selector":null,"fbt_inject_selector":null,"volume_inject_selector":null,"volume_variant_selector":null,"button_title":"Buy this bundle","bogo_button_title":"Buy {quantity} items","price_description":"Add bundle to cart | Save {discount}","version":"v2.3","bogo_version":"v1","nth_child":1,"redirect_to_cart":true,"column_numbers":3,"color":null,"btn_font_color":"white","add_to_cart_selector":null,"cart_info_version":"v2","button_position":"bottom","bundle_page_shape":"row","add_bundle_action":"cart-drawer","requested_bundle_action":null,"request_action_text":null,"cart_drawer_function":"(function () { \n  let search = window.location.search;\n  if (!search.includes('openSlider=true')) {\n    let extraSearch = search ? \"&openSlider=true\" : \"?openSlider=true\";\n    search += extraSearch;\n  }\n  let url = window.location.pathname + search;\n  window.location.href = url; \n});","cart_drawer_function_svelte":"","theme_template":"light","external_script":"(function () {\n  if (window.location.search.includes(\"openSlider=true\")) {\n    window.rbrWaitForElement('a[href*=\"/cart\"]').then(function(){\n      let elm = document.querySelector('a[href*=\"/cart\"]')\n      setTimeout(function(){\n        elm.click()\n      }, 100)\n    });\n  }\n});","pre_add_script":"","shop_external_script":"","shop_style":"","bap_inject_selector":"[id*='ProductInfo-template--'] product-form","bap_none_selector":"[id*=\"quantity-template--\"]","bap_form_script":"","bap_button_selector":"","bap_style_object":{"fbt":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"button":{"button_position":{"position":"bottom"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"#535458","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"title_and_description":{"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"bogo":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"button":{"button_position":{"position":"bottom"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"#535458","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"title_and_description":{"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"bxgyf":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"button":{"button_position":{"position":"bottom"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"#535458","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"title_and_description":{"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"standard":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"button":{"button_position":{"position":"bottom"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"#535458","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"title_and_description":{"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"button":{"button_position":{"position":"bottom"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"#535458","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"title_and_description":{"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"col_mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"button":{"button_position":{"position":"bottom"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"#535458","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"title_and_description":{"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}}},"bundles_page_style_object":null,"style_object":{"fbt":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"bogo":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"bxgyf":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"general":{"customJS":"","fontSize":3,"customCSS":"","textColor":"#535458","badgeColor":"#E8144B","fontFamily":"","labelColor":"#262626","borderColor":"transparent","borderWidth":2,"buttonColor":"#535458","borderRadius":1,"badgeTextColor":"#FFFFFF","titleAlignment":"left","backgroundColor":"transparent","buttonTextColor":"#FFFFFF","bundlesPageLayout":"horizontal","variantSelectorType":"dropdown","bundlesPageAlignment":"bottom","variantSelectorTextColor":"#000000","variantSelectorBorderColor":"#EBEBEB","variantSelectorBackgroundColor":"#fafafa","discountAppliedOptionsTextColor":"#13A165","discountUnappliedOptionsTextColor":"#5E5E5E","discountAppliedOptionsBackgroundColor":"#E0FAEF","discountUnappliedOptionsBackgroundColor":"#F1F1F1"},"standard":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"minimal"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"col_mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}}},"old_style_object":null,"zero_discount_btn_title":"Add to cart","mix_btn_title":"Add selected to cart","collection_btn_title":"Add selected to cart","cart_page_issue":null,"cart_drawer_issue":null,"volume_btn_title":"Add {quantity} | save {discount}","badge_color":"#C30000","badge_price_description":"Save {discount}!","use_discount_on_cookie":true,"show_bap_buy_button":false,"bap_version":"v1","bap_price_selector":"","bap_compare_price_selector":"","bundles_display":"vertical","use_first_variant":true,"shop":101133},"bundlePageInfo":{"title":null,"description":null,"enabled":true,"handle":"fastbundles","shop_style":null,"shop_external_script":"","style":null,"external_script":"","bundles_alignment":"bottom","bundles_display":"horizontal"},"cartInfo":{"id":113677,"currency":"USD","currency_format":"$%s","box_discount_description":"Add bundle to cart | Save {discount}","box_button_title":"Buy this bundle","free_shipping_translation":null,"shipping_cost_translation":null,"is_reference":false,"subtotal_selector":null,"subtotal_price_selector":null,"subtotal_title_selector":null,"line_items_selector":null,"discount_tag_html":null,"free_shipping_tag":null,"form_subtotal_selector":null,"form_subtotal_price_selector":null,"form_line_items_selector":null,"form_discount_html_tag":null,"form_free_shipping_tag":null,"external_script":"","funnel_show_method":"three_seconds","funnel_popup_title":"Complete your cart with this bundle and save","funnel_alert":"This item is already in your cart.","funnel_discount_description":"save {discount}","style":"","shop_style":null,"shop_external_script":"","funnel_color":"","funnel_badge_color":"","style_object":{"fbt":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"bogo":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"bxgyf":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"general":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"customJS":"","fontSize":3,"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"customCSS":"","textColor":"#535458","badgeColor":"#E8144B","fontFamily":"","labelColor":"#262626","borderColor":"transparent","borderWidth":2,"buttonColor":"#535458","custom_code":{"main":{"custom_js":"","custom_css":""}},"borderRadius":1,"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"badgeTextColor":"#FFFFFF","discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"titleAlignment":"left","backgroundColor":"#FFFFFF","buttonTextColor":"#FFFFFF","discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"bundlesPageLayout":"horizontal","collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"variantSelectorType":"dropdown","bundlesPageAlignment":"bottom","title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}},"variantSelectorTextColor":"#000000","variantSelectorBorderColor":"#EBEBEB","variantSelectorBackgroundColor":"#fafafa","discountAppliedOptionsTextColor":"#13A165","discountUnappliedOptionsTextColor":"#5E5E5E","discountAppliedOptionsBackgroundColor":"#E0FAEF","discountUnappliedOptionsBackgroundColor":"#F1F1F1"},"standard":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"minimal"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}},"col_mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":16,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":0,"backgroundColor":"#FFF4FA"},"title":{"color":"#535458","fontSize":26,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"transparent","borderWidth":1,"borderRadius":0},"selected":{"borderColor":"#535458","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"rgba(83, 84, 88, 0.2)"}},"poweredBy":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"transparent"},"fastBundle":{"color":"#535458","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"transparent","borderWidth":1,"borderRadius":0,"separator_line_style":{"backgroundColor":"transparent"}},"sellingPlan":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":400,"borderColor":"#535458","borderRadius":0,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#535458"}},"title":{"style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"#535458"},"button_label":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(83, 84, 88, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":20,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":16,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"transparent","borderRadius":0},"background":{"backgroundColor":"transparent"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":0}},"total_section":{"text":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"border":{"borderRadius":0},"background":{"backgroundColor":"rgba(83, 84, 88, 0.05)"},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":0},"text_style":{"color":"#FFFFFF","fontSize":16,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"image_border":{"borderColor":"transparent","borderRadius":0},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"checkbox_style":{"checked_color":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(83, 84, 88, 0.5)","fontSize":18,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"transparent"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":0,"backgroundColor":"#fafafa"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#535458","fontSize":18,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#535458"},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"transparent"},"collection_image_border":{"borderColor":"transparent"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#535458","fontSize":20,"fontFamily":"inherit","fontWeight":500},"subtitle_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(83, 84, 88, 0.7)","fontSize":18,"fontFamily":"inherit","fontWeight":400}}}},"old_style_object":null,"funnel_button_description":"Buy this bundle | Save {discount}","funnel_injection_constraint":"","show_discount_section":false,"discount_section_style":null,"discount_section_selector":null,"reload_after_change_detection":false,"app_version":"v2","show_info":false,"box_zero_discount_title":"Add to cart"}};
        FastBundleConf.pid = '';
        FastBundleConf.domain = 'christina-cosmeceuticals.myshopify.com';
        FastBundleConf.variantIds = [];
        window.FastBundleConf = FastBundleConf;

        // add random generated number query parameter to clear the cache
        const urlQueryParameter = `?rgn=${FastBundleConf?.rgn}`;
        loadFastBundleAssets(mainAppUrl, vendorUrl, styleUrl, rbrCartUrl + urlQueryParameter);
    }

    // if the product id is set and the bap_override_fetch is not set, we add the style to the theme to hide the add to cart buttons
    if (window.FastBundleConf?.pid && !window.FastBundleConf?.bap_override_fetch) {
        if (window.FastBundleConf.bap_ids.includes(+window.FastBundleConf.pid)) {
            const styleElement = document.createElement('style')
            let bundleBox = window.FastBundleConf?.bundleBox
            styleElement.id = 'fb-bap-style'
            let externalSelector = bundleBox?.bap_button_selector ? `, ${bundleBox?.bap_button_selector}` : ''
            styleElement.innerHTML = `
                button[name="add"], form[action="/cart/add"] button[type="submit"], input[name="add"] ${externalSelector}{
                    display: none !important;
                }`
            document.head.appendChild(styleElement)
        }
    }

    // Helper function to load FastBundle assets
    function loadFastBundleAssets(mainAppUrl, vendorUrl, styleUrl, cartUrl) {

        // Preconnect to the asset origin. Two hints are emitted because browsers
        // maintain separate HTTP/2 connection pools per CORS-mode: the anonymous
        // one is reused by the module scripts (vendor + main); the non-anonymous
        // one is reused by the non-CORS stylesheet. DNS resolution is shared.
        // Origin is parsed from mainAppUrl so this works whether assets are served
        // from the SDK CDN or from the Shopify CDN (browser dedupes either way).
        const assetOrigin = new URL(mainAppUrl, location.href).origin;

        const preconnectAnon = document.createElement('link');
        preconnectAnon.rel = 'preconnect';
        preconnectAnon.href = assetOrigin;
        preconnectAnon.crossOrigin = 'anonymous';
        document.head.appendChild(preconnectAnon);

        const preconnect = document.createElement('link');
        preconnect.rel = 'preconnect';
        preconnect.href = assetOrigin;
        document.head.appendChild(preconnect);

        // Load vendor script with modulepreload
        const vendorScript = document.createElement('link');
        vendorScript.rel = 'modulepreload';
        vendorScript.href = vendorUrl;
        document.head.appendChild(vendorScript);

        // Load main app script
        const mainScript = document.createElement('script');
        mainScript.defer = true;
        mainScript.type = 'module';
        mainScript.src = mainAppUrl;
        document.head.appendChild(mainScript);

        // Load cart script
        const cartScript = document.createElement('script');
        cartScript.src = cartUrl;
        cartScript.defer = true;
        cartScript.type = 'text/javascript';
        document.head.appendChild(cartScript);

        // Load stylesheet
        const styleLink = document.createElement('link');
        styleLink.rel = 'stylesheet';
        styleLink.href = styleUrl;
        document.head.appendChild(styleLink);
    }

  </script>

<!-- END app snippet -->
  <!-- BEGIN app snippet: fast_bundle_shared --><script>
  (function(){
    const FastBundleConf = window?.FastBundleConf || {};
    
    const shopDomain = FastBundleConf?.shop_domain || "christina-cosmeceuticals.myshopify.com";
    const countryByMarket = "US";
    const countryByLocale = null;
    const countryCode = countryByMarket || countryByLocale || FastBundleConf?.country_code || 'US';
    const language = {"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}};
    const shopLocale = language.shop_locale.locale || null;
    const firstRawLanguage = "en";
    const SecondRawLanguage = "en";
    const langCandidates = [
      firstRawLanguage,
      SecondRawLanguage,
      navigator.language,
      navigator.userLanguage,
      null,
    ];
    let shopLanguage = null;
    for (const candidate of langCandidates) {
      shopLanguage = fastBundleExtractValidLanguage(candidate);
      if (shopLanguage) break;
    }
    if (!shopLanguage) shopLanguage = "EN";
    const storefrontAccessToken = "ebf46876a27b2bd216ffcb214bd33b48" || '';
    const mainProduct = null;
    window.FastBundleShared = window.FastBundleShared || {};
    window.FastBundleShared.functions = window.FastBundleShared.functions || {};

    function fastBundleExtractValidLanguage(raw) {
    if (!raw || typeof raw !== "string") return null;
    const clean = raw.trim().toLowerCase();
    if (/^[a-z]{2}$/.test(clean)) {
      return clean.toUpperCase();
    }
    if (/^[a-z]{2}-[a-z0-9]+$/.test(clean)) {
      return clean.split('-')[0].toUpperCase();
    }
    if (/^[a-z]{2}_[a-z0-9]+$/.test(clean)) {
      return clean.split('_')[0].toUpperCase();
    }
    return null;
  }

    window.FastBundleShared.defineFunction = function (name, fn) {
      if (!window.FastBundleShared.functions[name]) {
        window.FastBundleShared.functions[name] = fn;
      } else {
        console.warn(`Function "${name}" is already defined.`);
      }
    };

    
    window.FastBundleShared.config = {
      shopDomain: shopDomain,
      countryCode: countryCode,
      shopLanguage: shopLanguage,
      storefrontAccessToken: storefrontAccessToken,
    };
    window.FastBundleShared.__ready = window.FastBundleShared.__ready || new Promise(function (resolve) {
      const script = document.createElement('script');
      script.src = "https://cdn.shopify.com/extensions/01a15ebd-8600-7fdf-9135-d6f961d51fe1/fast-bundle-product-bundles-169/assets/fast_bundle_shared.js";
      script.onload = resolve;
      script.onerror = function () {
        console.error('FastBundle: failed to load fast_bundle_shared.js');
        resolve();
      };
      (document.head || document.documentElement).appendChild(script);
    });

    // A stale CDN copy of the asset may predate a fetcher, so fall back to the
    // shape each caller expects rather than throwing.
    function fastBundleDeferToAsset(name, emptyValue) {
      return async function () {
        await window.FastBundleShared.__ready;
        const fn = window.FastBundleShared.__impl?.[name];
        if (typeof fn !== 'function') {
          console.error(`FastBundle: ${name} unavailable (fast_bundle_shared.js did not load)`);
          return emptyValue;
        }
        return fn.apply(null, arguments);
      };
    }

    window.FastBundleShared.defineFunction('fetchProductByID', fastBundleDeferToAsset('fetchProductByID', null));
    window.FastBundleShared.defineFunction('fetchProductsByIDs', fastBundleDeferToAsset('fetchProductsByIDs', {}));
    window.FastBundleShared.defineFunction('fetchAllProductVariants', fastBundleDeferToAsset('fetchAllProductVariants', null));
    window.FastBundleShared.defineFunction('ensureAllVariants', fastBundleDeferToAsset('ensureAllVariants', null));

    // fast_bundle_volume.liquid reads this synchronously at parse time, so it
    // cannot defer to the asset like the fetchers above.
    window.FastBundleShared.defineFunction('formatMoney', function (amount, currency = 'USD') {
      return new Intl.NumberFormat('en-US', {
        style: 'currency',
        currency,
      }).format(amount);
    });

    window.FastBundleShared.defineFunction('getMainProduct', function () {
      if (!mainProduct) return null;
      
      mainProduct.collections = [];
      mainProduct.body_html = mainProduct.description;
      mainProduct.image = mainProduct.images.length ? mainProduct.images[0] : null;
      mainProduct.raw_price = mainProduct.price / 100;
      
      mainProduct.price = "";
      
      mainProduct.options_with_values = [
        
      ];
      mainProduct.options = mainProduct.options_with_values;
      delete mainProduct.options_with_values
      return mainProduct;
    })

    window.FastBundleShared.defineFunction('excludeVariants', function (product, excludedVariants) {
      let preprocessedProduct = { ...product };
      if (excludedVariants.length) {
        const excludedIds = new Set(excludedVariants.map((id) => Number(id)));
        preprocessedProduct.variants = product.variants.filter((variant) => !excludedIds.has(variant.id));
      }
      return preprocessedProduct;
    });

    window.FastBundleShared.defineFunction('handleTranslations', async function(offer, bundleTranslationKeys, discountTranslationKeys, itemTranslationKeys = []) {
      const translations = offer.translations || {};
      const t = translations[shopLocale] || {};
      bundleTranslationKeys.forEach((key) => {
        if (t[key]) {
          offer[key] = t[key];
        }
      });
      delete offer.translations;
      if (offer.discounts && Array.isArray(offer.discounts)) {
        offer.discounts.forEach((discount, j) => {
          const discountTranslations = discount.translations || {};
          const dt = discountTranslations[shopLocale] || {};
          discountTranslationKeys.forEach((key) => {
            if (dt[key]) {
              offer.discounts[j][key] = dt[key];
            }
          });
          delete discount.translations;
        });
      }
      // Item-level translations (offer.items[].translations), keyed by locale like
      // the offer/discount ones. Only mix & match passes item keys today; callers
      // that omit them keep the exact previous behaviour, translations included.
      if (itemTranslationKeys.length && Array.isArray(offer.items)) {
        offer.items.forEach((item, k) => {
          const itemTranslations = item.translations || {};
          const it = itemTranslations[shopLocale] || {};
          itemTranslationKeys.forEach((key) => {
            if (it[key]) {
              offer.items[k][key] = it[key];
            }
          });
          delete item.translations;
        });
      }
    });

    window.FastBundleShared.defineFunction('isPreview', function(){
      const params = new URLSearchParams(window.location.search.toLowerCase());
      const isPreview = params.get('ispreview') === 'true';
      return isPreview
    })

    window.FastBundleShared.defineFunction('conditionalLog', function (...args) {
      try {
        if (localStorage.getItem('allowRBRLogs') === 'true') {
          console.log('From Extension:***', ...args);
        }
      } catch (error) {
        console.error(error);
      }
    });
  })();
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: fast_bundle_volume -->

<script>
  (async function() {
    const FastBundleConf = window?.FastBundleConf || {};
    const fetchProductByID = window.FastBundleShared.functions.fetchProductByID;
    const getMainProduct = window.FastBundleShared.functions.getMainProduct;
    const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
    const mainProduct = getMainProduct();
    conditionalLog('mainProduct',mainProduct);
    const excludeVariants = window.FastBundleShared.functions.excludeVariants;
    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
    if (FastBundleConf?.serverless_vd || FastBundleConf?.serverless_vd_display) {
      if (!mainProduct) return;
      window.FastBundleConf.change_vd_product_picture = true;
      let FastBundleVolumeOffers = [];
      conditionalLog('FastBundleVolumeOffers', FastBundleVolumeOffers);
      window.FastBundleVolumeOffers = FastBundleVolumeOffers;

      function finishWithNoVolumeOffer() {
        window.FastBundleVolumeOffer = [];
        document.dispatchEvent(new CustomEvent('FastBundleVolumeOffersReady', { detail: [] }));
      }

      
      const totalVariantsCount = null || 0;
      const shopCurrency = "USD";
      const shopMoneyFormat = "${{amount}}";
      const fetchAllProductVariants = window.FastBundleShared.functions.fetchAllProductVariants;
      const formatMoney = window.FastBundleShared.functions.formatMoney;

      function formatWithDelimiters(cents, precision, thousands, decimal) {
        const fixed = (cents / 100).toFixed(precision);
        const parts = fixed.split('.');
        const units = parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + thousands);
        return parts[1] ? units + decimal + parts[1] : units;
      }

      function formatMoneyLikeLiquid(cents, currencyCode) {
        // Reproduce the Liquid money filter so appended variants display like the first 250.
        // Fall back to Intl formatting when the price is not in the shop currency.
        if (currencyCode !== shopCurrency || !shopMoneyFormat) {
          return formatMoney(cents / 100, currencyCode);
        }
        const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
        const placeholder = (shopMoneyFormat.match(placeholderRegex) || [])[1];
        let value;
        switch (placeholder) {
          case 'amount_no_decimals': value = formatWithDelimiters(cents, 0, ',', '.'); break;
          case 'amount_with_comma_separator': value = formatWithDelimiters(cents, 2, '.', ','); break;
          case 'amount_no_decimals_with_comma_separator': value = formatWithDelimiters(cents, 0, '.', ','); break;
          case 'amount_with_apostrophe_separator': value = formatWithDelimiters(cents, 2, "'", '.'); break;
          default: value = formatWithDelimiters(cents, 2, ',', '.');
        }
        return shopMoneyFormat.replace(placeholderRegex, value);
      }

      function convertStorefrontVariant(node) {
        const variantId = Number(String(node?.id || '').split('/').pop());
        const currencyCode = node?.price?.currencyCode;
        const rawPrice = parseFloat(node?.price?.amount || 0);
        const rawCompareAtPrice = node?.compareAtPrice ? parseFloat(node.compareAtPrice.amount) : rawPrice;
        const rawQuantity = node?.quantityAvailable;
        const isTracked = typeof rawQuantity === 'number' && rawQuantity !== -1;
        const sellsWhenOutOfStock = !!node?.currentlyNotInStock && node?.availableForSale === true;
        const inventoryManagement = isTracked ? 'shopify' : null;
        const inventoryPolicy = isTracked ? (sellsWhenOutOfStock ? 'continue' : 'deny') : 'continue';
        const inventoryQuantity = isTracked ? rawQuantity : (node?.availableForSale ? 1 : 0);
        const image = node?.image?.url ? { src: node.image.url, alt: null } : null;
        const selectedOptions = node?.selectedOptions || [];
        return {
          id: variantId,
          title: node?.title,
          name: mainProduct.title + ' - ' + node?.title,
          public_title: node?.title,
          available: node?.availableForSale === true,
          availableForSale: node?.availableForSale === true,
          currentlyNotInStock: !!node?.currentlyNotInStock,
          is_inventory_tracked: isTracked,
          option1: selectedOptions[0]?.value ?? null,
          option2: selectedOptions[1]?.value ?? null,
          option3: selectedOptions[2]?.value ?? null,
          selectedOptions: selectedOptions,
          sku: node?.sku || null,
          requires_shipping: node?.requiresShipping !== false,
          taxable: node?.taxable !== false,
          barcode: null,
          weight: 0,
          featured_image: image,
          featured_media: null,
          requires_selling_plan: false,
          selling_plan_allocations: [],
          quantity_price_breaks: [],
          quantity_rule: { min: 1, max: null, increment: 1 },
          // raw_price is in currency units to match getMainProduct() (variant.price | divided_by: 100.0)
          raw_price: rawPrice,
          price: formatMoneyLikeLiquid(Math.round(rawPrice * 100), currencyCode),
          raw_compare_at_price: rawCompareAtPrice,
          compare_at_price: formatMoneyLikeLiquid(Math.round(rawCompareAtPrice * 100), currencyCode),
          image: image,
          inventory_policy: inventoryPolicy,
          inventory_quantity: inventoryQuantity,
          inventory_management: inventoryManagement,
          quantity: (inventoryManagement && inventoryPolicy === 'deny') ? inventoryQuantity : 1,
        };
      }

      async function ensureAllVariants(product) {
        if (!totalVariantsCount || totalVariantsCount <= product.variants.length) return product;
        if (typeof fetchAllProductVariants !== 'function') return product;
        try {
          const nodes = await fetchAllProductVariants(product.id);
          if (!nodes || !nodes.length) return product;
          const knownIds = new Set(product.variants.map((variant) => variant.id));
          const missingVariants = nodes
            .map(convertStorefrontVariant)
            .filter((variant) => variant.id && !knownIds.has(variant.id));
          if (!missingVariants.length) return product;
          conditionalLog('Volume: appended variants beyond the Liquid 250 cap', {
            rendered: product.variants.length,
            fetched: nodes.length,
            appended: missingVariants.length,
          });
          // Return a copy: mainProduct is shared with the other bundle types and must stay capped for them.
          return { ...product, variants: product.variants.concat(missingVariants) };
        } catch (error) {
          conditionalLog('Volume: full variant fetch failed, falling back to the first 250 variants', error);
          return product;
        }
      }

      if (!FastBundleVolumeOffers.length) {
        conditionalLog('No Volume Offers Found');
        finishWithNoVolumeOffer();
        return;
      }

      for (const offer of FastBundleVolumeOffers) {
        offer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
        offer.discount = offer.discounts[0] || {};
        await handleTranslations(
          offer,
          ['title',
          'description',
          'volume_show_price_per_item_suffix'],
          ['badge',
          'description',
          'label',
          'subtitle']
        );
      }
      async function attachFastBundleFreeGifts() {
        const offersWithDiscounts = window.FastBundleVolumeOffer || [];
        const promises = [];
        offersWithDiscounts.forEach((offer) => {
          if (offer.discounts && Array.isArray(offer.discounts)) {
            offer.discounts.forEach((discount) => {
              if (discount.free_gift && discount.free_gift.product_id) {
                const numericId = discount.free_gift.product_id;
                const gid = `gid://shopify/Product/${numericId}`;
                const p = fetchProductByID(gid).then(product => {
                  if (product) {
                    discount.free_gift.product = product;
                  }
                });
                promises.push(p);
              }
            });
          }
        });

        await Promise.all(promises);
        document.dispatchEvent(new CustomEvent('FastBundleVolumeFreeGiftsReady', { detail: offersWithDiscounts }));
        window.FastBundleVolumeOffer = offersWithDiscounts;
      }
      function isFastBundleOfferActive(offer) {
        const isPreview = window.FastBundleShared.functions.isPreview;
        if (!isPreview() && !offer?.enabled) return false;
        const now = new Date();
        if (offer.start_datetime && new Date(offer.start_datetime) > now) return false;
        if (offer.end_datetime && new Date(offer.end_datetime) < now) return false;
        return true;
      }
      async function determineFastBundlVolumeeOffer() {
        for (const offer of FastBundleVolumeOffers) {
          if (isFastBundleOfferActive(offer)) return offer;
        }
        return {};
      }
      determineFastBundlVolumeeOffer().then(async offer => {
        if (!offer?.id) {
          conditionalLog('No Active Volume Offer Found');
          finishWithNoVolumeOffer();
          return;
        }

        const volumeProduct = await ensureAllVariants(mainProduct);
        const excludedVariants = [
          ...(offer?.item?.excluded_variants || []),
          ...(offer?.item?.collect_excluded_variants?.[mainProduct.id] || []),
        ];
        conditionalLog('excludedVariants', excludedVariants);
        const preprocessedProduct = excludeVariants(volumeProduct, excludedVariants);
        preprocessedProduct.item_id = offer?.item?.id || 0;
        offer.items = [preprocessedProduct];
        window.FastBundleVolumeOffer = [offer];
        await attachFastBundleFreeGifts();
        document.dispatchEvent(new CustomEvent('FastBundleVolumeOffersReady', { detail: window.FastBundleVolumeOffer }));
      }).catch(error => {
        conditionalLog('Error determining FastBundleVolumeOffer', error);
      });
    }
  })();
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: fast_bundle_cross_sell --><script>
  (async function(){
    let FastBundleCrossSellOffers = [];
    const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
     conditionalLog('FastBundleCrossSellOffers', FastBundleCrossSellOffers);
    const FastBundleConf = window?.FastBundleConf || {};
    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
    const isPreview = window.FastBundleShared.functions.isPreview;

    function isCrossSellOfferActive(offer) {
      if (offer?.enabled === false) return false;
      const now = Date.now();
      if (offer.start_datetime && Date.parse(offer.start_datetime) > now) return false;
      if (offer.end_datetime && Date.parse(offer.end_datetime) < now) return false;
      return true;
    }

    if (!isPreview()) {
      FastBundleCrossSellOffers = (FastBundleCrossSellOffers || []).filter(isCrossSellOfferActive);
    }

    async function attachFastBundleItems(offer) {
      if (!offer) return;
        const getMainProduct = window.FastBundleShared.functions.getMainProduct;
        const fetchProductByID = window.FastBundleShared.functions.fetchProductByID;
        const mainProduct = getMainProduct();
        const pid = '';
        const excludeVariants = window.FastBundleShared.functions.excludeVariants;
        const uniqueChildIds = offer.children?.flatMap(child =>
          (child.items || []).map(item => item.item_id)
        ) || [];
        const uniqueProductIds = [
          ...new Set([
            ...(uniqueChildIds || []),
            offer.main_item_id ? String(offer.main_item_id) : null,
          ].filter(Boolean))
        ]
        const productMap = {};
        try {
          const results = await Promise.all(
            uniqueProductIds.map(async (id) => {
              const gid = id.startsWith('gid://') ? id : `gid://shopify/Product/${id}`;
              const product = await fetchProductByID(gid, false);
              if (product) productMap[id] = product;
            })
          );
        } catch (err) {
          console.error('Error fetching products:', err);
        }
        offer.main_item = productMap[String(offer.main_item_id)] || null;
        const filteredChildren = (offer.children || []).filter(child =>
          (child.items || []).every(item => productMap[item.item_id])
        );
        offer.children = filteredChildren.map(child => ({
          ...child,
          items: child.items.map(item => ({
            ...item,
            ...excludeVariants(productMap[item.item_id], item.excluded_variants) || {},
          })),
          volume_single_variant_selector: offer?.volume_single_variant_selector,
        }));
        window.FastBundleCrossSellOffer = offer;
    }
    if (FastBundleCrossSellOffers?.length) {
      document.dispatchEvent(new CustomEvent('FastBundleCrossSellOfferExists', {
        detail: true
      }));
      await attachFastBundleItems(FastBundleCrossSellOffers[0]);
      await handleTranslations(
        FastBundleCrossSellOffers[0],
        ['title', 'description'],
        ['description']
      );
      FastBundleCrossSellOffers[0].use_compare_at_price = FastBundleConf?.use_compare_at_price;
      for (const child of FastBundleCrossSellOffers[0].children) {
        await handleTranslations(
          child,
          ['title', 'description'],
          ['description']
        );
        child.use_compare_at_price = FastBundleConf?.use_compare_at_price;
        child.is_child = true;
        child.discount = child.discounts[0] || {};
      }
      window.FastBundleCrossSellOffer = [FastBundleCrossSellOffers?.[0]].filter(Boolean);
    } else {
      document.dispatchEvent(new CustomEvent('FastBundleCrossSellOfferExists', {
        detail: false
      }));
      window.FastBundleCrossSellOffer = null;
    }
    
    document.dispatchEvent(new CustomEvent('FastBundleCrossSellOfferReady', {
      detail: window.FastBundleCrossSellOffer || {}
    }));
  })();
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: fast_bundle_add_on -->
<!-- BEGIN app snippet: fast_bundle_add_on_match -->
<script>
(async function () {
const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});

let FastBundleAddOnOffers = [];
conditionalLog('FastBundleAddOnOffers', FastBundleAddOnOffers);
const FastBundleConf = window?.FastBundleConf || {};
const handleTranslations = window.FastBundleShared.functions.handleTranslations;
const isPreview = window.FastBundleShared.functions.isPreview;

function isAddOnOfferActive(offer) {
if (offer?.enabled === false) return false;
const now = Date.now();
if (offer.start_datetime && Date.parse(offer.start_datetime) > now) return false;
if (offer.end_datetime && Date.parse(offer.end_datetime) < now) return false;
return true;
}

if (!isPreview()) {
FastBundleAddOnOffers = (FastBundleAddOnOffers || []).filter(isAddOnOfferActive);
conditionalLog('FastBundleAddOnOffers after active filter', FastBundleAddOnOffers);
}

const ADD_ON_ITEM_TYPE_PRIORITY = {
product: 0,
collection: 1,
general: 2,
};

function pickBestAddOnOfferFB(offers) {
const list = [...(offers || [])];
if (!list.length) return null;

list.sort((a, b) => {
const priorityDiff =
(ADD_ON_ITEM_TYPE_PRIORITY[a.item_type] ?? 99) -
(ADD_ON_ITEM_TYPE_PRIORITY[b.item_type] ?? 99);
if (priorityDiff !== 0) return priorityDiff;
return (a.products_page_priority ?? 0) - (b.products_page_priority ?? 0);
});

return list[0];
}

async function attachFastBundleItemsFB(offer) {
if (!offer) {
conditionalLog('No offer found');
return false
};
const getMainProduct = window.FastBundleShared.functions.getMainProduct;
const fetchProductsByIDs = window.FastBundleShared.functions.fetchProductsByIDs;
const excludeVariants = window.FastBundleShared.functions.excludeVariants;

const items = offer.items || [];
if (!items.length) {
conditionalLog('No items found');
return false;
};

const mainProduct = getMainProduct();
if (!mainProduct) {
conditionalLog('No main product found');
return false;
};

const addOnProductIds = [
...new Set(
items
.filter((item) => item.is_add_on === true)
.map((item) => String(item.item_id))
.filter(Boolean)
),
];

const productMap = {};
try {
if (!fetchProductsByIDs && addOnProductIds.length) {
conditionalLog('fetchProductsByIDs function is missing, add-on products cannot be fetched');
}
if (fetchProductsByIDs && addOnProductIds.length) {
const fetchedProducts = await fetchProductsByIDs(addOnProductIds, false);
conditionalLog('fetchedProducts', fetchedProducts);
Object.keys(fetchedProducts || {}).forEach((id) => {
if (fetchedProducts[id]) productMap[id] = fetchedProducts[id];
});
}
} catch (err) {
conditionalLog('Error fetching products:', err);
return false;
}

const hydratedItems = [];
for (const item of items) {
if (item.is_add_on === false || item.type === 'collection' || item.type === 'general') {
const excludedVariants = [
...(item.excluded_variants || []),
...(item.collect_excluded_variants?.[mainProduct.id] || []),
];
const preprocessedProduct = excludeVariants(mainProduct, excludedVariants) || {};
if (!Array.isArray(preprocessedProduct.variants) || preprocessedProduct.variants.length === 0) {
conditionalLog('No variants left after exclusions on main product', mainProduct.id);
return false;
}
hydratedItems.push({
...item,
...preprocessedProduct,
id: item.id,
item_id: String(mainProduct.id),
});
continue;
}

if (item.is_add_on === true) {
const product = productMap[String(item.item_id)];
if (!product) {
conditionalLog('Add-on product not found in fetched products', item.item_id);
return false;
};
const preprocessedProduct = excludeVariants(product, item.excluded_variants || []) || {};
if (!Array.isArray(preprocessedProduct.variants) || preprocessedProduct.variants.length === 0) {
conditionalLog('No variants left after exclusions on add-on product', item.item_id);
return false;
}
hydratedItems.push({ ...item, ...preprocessedProduct });
}
}
conditionalLog('hydratedItems', hydratedItems);
offer.items = hydratedItems;
return true;
}

const pageMatchingOffers = FastBundleAddOnOffers || [];
const bestOffer = pickBestAddOnOfferFB(pageMatchingOffers);
conditionalLog('bestOffer', bestOffer);
if (bestOffer) {
document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferExists', { detail: true }));
window.FastBundleAddOnOffers = pageMatchingOffers;

const ok = await attachFastBundleItemsFB(bestOffer);
conditionalLog('attachFastBundleItemsFB result', ok);
if (!ok) {
document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferExists', { detail: false }));
// Empty array = "serverless checked, no offer" -> SDK falls back to serverfull.
window.FastBundleAddOnOffer = [];
conditionalLog('Set window.FastBundleAddOnOffer = [] -> offer item hydration failed (see previous log for the reason), falling back to serverfull');
window.FastBundleAddOnOffers = null;
document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferReady', { detail: [] }));
return;
}

bestOffer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
bestOffer.discount = bestOffer.discounts?.[0] || {};
await handleTranslations(
bestOffer,
['title', 'description'],
['description', 'label', 'badge', 'subtitle']
);
window.FastBundleAddOnOffer = [bestOffer];
} else {
document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferExists', { detail: false }));
// Empty array = "serverless checked, no offer" -> SDK falls back to serverfull.
window.FastBundleAddOnOffer = [];
conditionalLog('Set window.FastBundleAddOnOffer = [] -> no active add-on offer matches this page, falling back to serverfull');
window.FastBundleAddOnOffers = null;
}

document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferReady', {
detail: window.FastBundleAddOnOffer || []
}));
})();
</script><!-- END app snippet --><!-- END app snippet -->
  <!-- BEGIN app snippet: fast_bundle_fixed --><script>
  (async function(){
    let FastBundleFixedOffers = [];
    const FastBundleConf = window?.FastBundleConf || {};
    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
    const isPreview = window.FastBundleShared.functions.isPreview;

    function isFixedOfferActive(offer) {
      if (offer?.enabled === false) return false;
      const now = Date.now();
      if (offer.start_datetime && new Date(offer.start_datetime).getTime() > now) return false;
      if (offer.end_datetime && new Date(offer.end_datetime).getTime() < now) return false;
      return true;
    }

    if (!isPreview()) {
      FastBundleFixedOffers = (FastBundleFixedOffers || []).filter(isFixedOfferActive);
    }

    // Returns true only if every bundle item resolves to a fetched product with
    // at least one selectable variant. Deleted/hidden products (or products that
    // collapse to zero variants after `excluded_variants`) cause the whole bundle
    // to be dropped — partial bundles must never reach the storefront.
    async function attachFastBundleItems(offer) {
      if (!offer) return false;
      const fetchProductsByIDs = window.FastBundleShared.functions.fetchProductsByIDs;
      const excludeVariants = window.FastBundleShared.functions.excludeVariants;

      const items = offer.items || [];
      if (!items.length) return false;

      const uniqueProductIds = [
        ...new Set(items.map(item => String(item.item_id)))
      ];

      const productMap = {};
      try {
        if (fetchProductsByIDs && uniqueProductIds.length) {
          const fetchedProducts = await fetchProductsByIDs(uniqueProductIds, false);
          Object.keys(fetchedProducts || {}).forEach((id) => {
            if (fetchedProducts[id]) productMap[id] = fetchedProducts[id];
          });
        }
      } catch (err) {
        console.error('Error fetching products:', err);
        return false;
      }

      const hydratedItems = [];
      for (const item of items) {
        const product = productMap[item.item_id];
        if (!product) return false;
        const preprocessedProduct = excludeVariants(product, item.excluded_variants) || {};
        if (!Array.isArray(preprocessedProduct.variants) || preprocessedProduct.variants.length === 0) {
          return false;
        }
        hydratedItems.push({ ...item, ...preprocessedProduct });
      }

      offer.items = hydratedItems;
      return true;
    }

    if (FastBundleFixedOffers?.length) {
      document.dispatchEvent(new CustomEvent('FastBundleFixedOfferExists', { detail: true }));
      const hydratedOffers = [];
      for (const offer of FastBundleFixedOffers) {
        const ok = await attachFastBundleItems(offer);
        if (!ok) continue;
        offer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
        offer.discount = offer.discounts[0] || {};
        await handleTranslations(
          offer,
          ['title', 'description'],
          ['description', 'label', 'badge', 'subtitle']
        );
        hydratedOffers.push(offer);
      }
      if (hydratedOffers.length === 0) {
        document.dispatchEvent(new CustomEvent('FastBundleFixedOfferExists', { detail: false }));
        window.FastBundleFixedOffer = [];
        document.dispatchEvent(new CustomEvent('FastBundleFixedOfferReady', { detail: [] }));
        return;
      }
      window.FastBundleFixedOffer = hydratedOffers;
    } else {
      document.dispatchEvent(new CustomEvent('FastBundleFixedOfferExists', { detail: false }));
      // Empty array = "serverless checked, no offer" -> SDK falls back to serverfull.
      window.FastBundleFixedOffer = [];
    }

    document.dispatchEvent(new CustomEvent('FastBundleFixedOfferReady', {
      detail: window.FastBundleFixedOffer || []
    }));
  })();
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: fast_bundle_mix_and_match -->
<script>
  (async function () {
    let FastBundleMixAndMatchOffers = [];
    
    const FastBundleConf = window?.FastBundleConf || {};
    const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
    const isPreview = window.FastBundleShared.functions.isPreview;
    conditionalLog('FastBundleMixAndMatchOffers', FastBundleMixAndMatchOffers);
    function isMixAndMatchOfferActive(offer) {
      if (offer?.enabled === false) return false;
      const now = Date.now();
      if (offer.start_datetime && new Date(offer.start_datetime).getTime() > now) return false;
      if (offer.end_datetime && new Date(offer.end_datetime).getTime() < now) return false;
      return true;
    }

    if (!isPreview()) {
      FastBundleMixAndMatchOffers = (FastBundleMixAndMatchOffers || []).filter(isMixAndMatchOfferActive);
    }

    // No product/collection hydration and no price/id transform here — the front
    // project fetches collection products via the Shopify Storefront GraphQL API.
    // We only localize the offer-level strings so the storefront gets the same
    // localized copy the serverfull backend would have returned.
    for (const offer of FastBundleMixAndMatchOffers) {
      offer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
      offer.discount = offer.discounts?.[0] || {};
      await handleTranslations(
        offer,
        ['title', 'description'],
        ['description', 'label', 'badge', 'subtitle'],
        // Item-level: the metafield carries a translations entry for EVERY shop
        // locale (primary included, rebuilt from the flat section_* values) on every
        // item, manual and smart alike, covering all three of the backend's
        // CollectionBundleItem.TRANSLATABLE_FIELDS. A locale the merchant never
        // filled in ships nulls for description/badge, which handleTranslations
        // skips, so the primary-locale wording stays.
        ['section_title', 'section_description', 'section_badge']
      );
    }

    // Contract: array of product-related offers ([] when none), serves both widget
    // and BAP. Empty array => the front falls back to the serverfull path.
    window.FastBundleMixAndMatchOffer = FastBundleMixAndMatchOffers || [];
    conditionalLog('FastBundleMixAndMatchOffer', window.FastBundleMixAndMatchOffer);
    document.dispatchEvent(new CustomEvent('FastBundleMixAndMatchOfferReady', {
      detail: window.FastBundleMixAndMatchOffer,
    }));
  })();
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: recording_consent -->
<script src="https://cdn.shopify.com/extensions/01a15ebd-8600-7fdf-9135-d6f961d51fe1/fast-bundle-product-bundles-169/assets/fast_bundle_recording_consent.js" defer
  data-fb-record-submitted="true"
  data-fb-shop-id="101133"></script>
<!-- END app snippet -->



<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
<script type="text/javascript">
  (function (c, l, a, r, i, t, y) {
    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);

    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
      if (error) {
        console.error("Error loading Shopify features:", error);
        return;
      }

      c[a]('consentv2', {
        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
        source: 101,
      });
    });

    l.addEventListener("visitorConsentCollected", function (e) {
      c[a]('consentv2', {
        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
        source: 101,
      });
    });
  })(window, document, "clarity", "script", "vx882fmgpo");
</script>



<!-- END app block --><!-- BEGIN app block: shopify://apps/bss-b2b-lock/blocks/config-header/2f6e9bdf-2dd6-42c6-8d67-58be57506f80 -->








 
 













<script id="bss-lock-hide-section-configs">
  if (!window.Login) {
      window.Login = {};
  }
  window.Login.hide_section_configs = [];
</script>




<script id="bss-lock-store-data" type="application/json">
{
  "shop": {
    "domain": "christina-cosmeceuticals.com",
    "permanent_domain": "christina-cosmeceuticals.myshopify.com"
  },
  "customer": {
    "id": null,
    "tags": null
  },
  "page": {
    "type": "index",
    "path": "/index.json"
  },
  "product": {
    "id": null,
    "tags": null
  }
}
</script>
<script style="display:none!important" src="https://cdn.shopify.com/extensions/01a1631b-f016-72b9-896d-5776cc2bd1b8/version_add41af9-p107247/assets/bss-ltsp-process-atc.min.js" defer></script>
<script style="display:none!important" src="https://cdn.shopify.com/extensions/01a1631b-f016-72b9-896d-5776cc2bd1b8/version_add41af9-p107247/assets/bss-util-bss-v2.min.js" defer></script>

<script style="display:none!important">
  (function () {
    if (!/[?&]bss_picker=1(&|$)/.test(window.location.search) || !window.opener) return;
    function bssInjectCssPicker() {
      var s = document.createElement('script');
      s.src = "https:\/\/cdn.shopify.com\/extensions\/01a1631b-f016-72b9-896d-5776cc2bd1b8\/version_add41af9-p107247\/assets\/bss-css-picker.min.js";
      document.head.appendChild(s);
    }
    if (document.readyState === 'loading') {
      document.addEventListener('DOMContentLoaded', bssInjectCssPicker);
    } else {
      bssInjectCssPicker();
    }
  })();
</script>




<script style="display:none!important" src="https://cdn.shopify.com/extensions/01a1631b-f016-72b9-896d-5776cc2bd1b8/version_add41af9-p107247/assets/bss-ltsp-custom.min.js" defer></script>
<!-- BEGIN app snippet: pc-collection --><template id="bss-pc-collection-modal-tpl">
<div hidden class="bss-lock-passcode-collection-modal-wrapper">
  <div
    style="
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, 0.5);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 1000;
    "
    onclick="window.Login.passcodeCollection.hideModal()"
    class="bss-lock-passcode-collection-modal-overlay"
    data-modal-rule-id=""
  >
    <div
      style="
        border-radius: 24px;
        padding: 48px 32px;
        max-width: 540px;
        width: 90%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
      "
      onclick="event.stopPropagation()"
      class="bss-lock-passcode-collection-modal"
    >
      <button
        onclick="window.Login.passcodeCollection.hideModal()"
        style="
          position: absolute;
          top: 12px;
          right: 12px;
          width: 32px;
          height: 32px;
          border-radius: 50%;
          background-color: transparent;
          border: none;
          cursor: pointer;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #999;
          font-size: 24px;
          padding: 0;
          line-height: 1;
        "
      >
        ×
      </button>
      <div
        style="
          width: 180px;
          height: 180px;
          margin: 0 auto;
        "
      >
        <svg
            id="passcode-collection-image"
            viewBox="100 130 400 330"
            role="img"
            aria-label="passcode collection image"
            width="100%"
            height="100%"
            style="max-width: 180px; max-height: 180px;"
        >
          <path fill="#2057a7" d="M135 176a20 20 0 0 1 20-20h80a10 10 0 0 1 6 2l45 32h124a20 20 0 0 1 20 20v60H135z"/>
          <rect x="155" y="221" width="290" height="40" fill="#fff"/>
          <path fill="#3574ba" fill-rule="evenodd" d="M136 248h328a16 16 0 0 1 16 17l-14 160a16 16 0 0 1-16 18H150a16 16 0 0 1-16-18L120 265a16 16 0 0 1 16-17zM300 291a31 31 0 0 0-14 58l-8 58h44l-8-58a31 31 0 0 0-14-58z"/>
        </svg>
      </div>

      <p style="font-size: 28px; line-height: 20px; font-weight: 500; margin-bottom: 8px;" class="modal-title">Modal Title</p>
      <p style="font-size: 14px; margin-bottom: 32px;" class="modal-subtitle"></p>

      <div style="width: 100%; margin-bottom: 24px; position: relative;">
        <label for="bss-passcode-input" style="display: none;">Passcode</label>
        <input
          id="bss-passcode-input"
          type="password"
          class="passcode-input"
          placeholder="Enter passcode"
          style="
            width: 100%;
            padding: 12px 16px 12px 16px;
            border: 0.5px solid #ccc;
            border-radius: 8px;
            background-color: #f5f5f5;
            color: #000;
            font-size: 16px;
            font-family: inherit;
            box-sizing: border-box;
            padding-right: 40px;
          "
        >
        <div
          class="form-message form-message--error"
          style="display: none; justify-content: flex-start; margin-top: 4px; color: red;"
        ></div>
        
        <div
          id="bss-show-pc-button"
          style="
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            color: #999;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
          "
        >
          <svg
            class="pc-eye-icon pc-eye-icon-open"
            viewBox="0 0 24 24"
            width="20"
            height="20"
            fill="none"
            stroke="currentColor"
            stroke-width="2"
          >
            <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
            <circle cx="12" cy="12" r="3"></circle>
          </svg>
          <svg
            class="pc-eye-icon pc-eye-icon-closed"
            viewBox="0 0 24 24"
            width="20"
            height="20"
            fill="none"
            stroke="currentColor"
            stroke-width="2"
            style="display: none;"
          >
            <path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.41a3 3 0 1 1-4.24-4.24"></path>
            <line x1="1" y1="1" x2="23" y2="23"></line>
          </svg>
        </div>
      </div>
      <button
        style="
          width: 100%;
          padding: 12px 16px;
          border-radius: 8px;
          border: none;
          cursor: pointer;
        "
        class="modal-submit-button"
      >Submit</button>

      
    </div>
  </div>
</div>
</template>
<style>
  .bss-lock-passcode-collection-modal-wrapper * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    letter-spacing: normal;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue',
      sans-serif;
  }

  .bss-lock-button-loading {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
    font-size: 0;
  }

  .bss-lock-button-loading::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top: 3px solid white;
    border-radius: 50%;
    animation: bss-lock-spin 0.8s linear infinite;
  }

  @keyframes bss-lock-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }

  .pc-eye-icon {
    transition: all 0.2s ease;
  }

  .passcode-input.input-error {
    border-color: #dc2626 !important;
    background-color: #fee2e2 !important;
  }

  .passcode-input.input-error::placeholder {
    color: #b91c1c;
  }

  .form-message--required {
    display: flex !important;
    justify-content: flex-start;
    margin-top: 4px;
    color: #dc2626;
    font-size: 13px;
    font-weight: 500;
  }
</style>
<script src="https://cdn.shopify.com/extensions/01a1631b-f016-72b9-896d-5776cc2bd1b8/version_add41af9-p107247/assets/bss-passcode-collection-page.min.js" defer></script>
<!-- END app snippet -->
<!-- BEGIN app snippet: b2b-customer-approval-form --><style>
    .bss-b2b-lock-card {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04);
    }
    .bss-b2b-lock-header {
        padding: 28px 28px 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 6px;
    }
    .bss-b2b-lock-icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: linear-gradient(135deg, #163878 0%, #1a4a9e 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 4px;
    }
    .bss-b2b-lock-icon svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: #fff;
        stroke-width: 1.75;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .bss-b2b-lock-title {
        font-size: 18px;
        font-weight: 700;
        margin: 0;
        color: #111827;
        line-height: 1.3;
    }
    .bss-b2b-lock-subtitle {
        font-size: 13.5px;
        color: #6b7280;
        line-height: 1.5;
    }
    .bss-b2b-lock-form {
        padding: 24px 28px 28px;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    .bss-b2b-lock-field {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    .bss-b2b-lock-label {
        font-size: 13px;
        font-weight: 600;
        color: #374151;
        display: flex;
        align-items: center;
        gap: 4px;
    }
    .bss-b2b-lock-label .required {
        color: #ef4444;
        font-size: 12px;
    }
    .bss-b2b-lock-input,
    .bss-b2b-lock-textarea {
        width: 100%;
        border: 1.5px solid #d1d5db;
        border-radius: 10px;
        font-size: 14px;
        color: #111827;
        background: #fafafa;
        transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
        outline: none;
        font-family: inherit;
    }
    .bss-b2b-lock-input {
        padding: 10px 13px;
        height: 42px;
    }
    .bss-b2b-lock-textarea {
        padding: 10px 13px;
        resize: vertical;
        min-height: 88px;
        line-height: 1.55;
    }
    .bss-b2b-lock-input:focus,
    .bss-b2b-lock-textarea:focus {
        border-color: #163878;
        background: #fff;
        box-shadow: 0 0 0 3px rgba(22, 56, 120, 0.1);
    }
    .bss-b2b-lock-input::placeholder,
    .bss-b2b-lock-textarea::placeholder {
        color: #9ca3af;
    }
    .bss-b2b-lock-input[readonly] {
        background: #f3f4f6;
        color: #6b7280;
        cursor: default;
        border-color: #e5e7eb;
    }
    .bss-b2b-lock-field-hint {
        font-size: 12px;
        color: #9ca3af;
    }
    .bss-b2b-lock-field.error .bss-b2b-lock-input,
    .bss-b2b-lock-field.error .bss-b2b-lock-textarea {
        border-color: #ef4444;
        background: #fff5f5;
    }
    .bss-b2b-lock-field-error {
        font-size: 12px;
        color: #ef4444;
        display: none;
    }
    .bss-b2b-lock-field.error .bss-b2b-lock-field-error {
        display: block;
    }
    .bss-b2b-lock-btn {
        width: 100%;
        height: 44px;
        border: none;
        border-radius: 10px;
        font-size: 14.5px;
        font-weight: 650;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: opacity 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
        letter-spacing: 0.01em;
        background: linear-gradient(135deg, #163878 0%, #1a4a9e 100%);
        color: #fff;
        box-shadow: 0 2px 8px rgba(22, 56, 120, 0.25);
        margin-top: 4px;
    }
    .bss-b2b-lock-btn:hover:not(:disabled) {
        opacity: 0.9;
        box-shadow: 0 4px 14px rgba(22, 56, 120, 0.35);
    }
    .bss-b2b-lock-btn:active:not(:disabled) {
        transform: translateY(1px);
    }
    .bss-b2b-lock-btn:disabled {
        opacity: 0.55;
        cursor: not-allowed;
    }
    .bss-b2b-lock-btn svg {
        width: 16px;
        height: 16px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        flex-shrink: 0;
    }
    .bss-b2b-lock-spinner {
        width: 16px;
        height: 16px;
        border: 2px solid rgba(255, 255, 255, 0.35);
        border-top-color: #fff;
        border-radius: 50%;
        animation: b2b-spin 0.65s linear infinite;
        flex-shrink: 0;
    }
    @keyframes b2b-spin {
        to {
            transform: rotate(360deg);
        }
    }
    .bss-b2b-lock-state {
        display: none;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
        padding: 32px 28px 36px;
    }
    .bss-b2b-lock-state.active {
        display: flex;
        animation: b2b-fadeIn 0.25s ease forwards;
    }
    @keyframes b2b-fadeIn {
        from {
            opacity: 0;
            transform: translateY(8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    .bss-b2b-lock-state-icon {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 4px;
    }
    .bss-b2b-lock-state-icon svg {
        width: 26px;
        height: 26px;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        fill: none;
    }
    .bss-b2b-lock-state--pending .bss-b2b-lock-state-icon {
        background: #fffbeb;
        border: 1.5px solid #fde68a;
    }
    .bss-b2b-lock-state--pending .bss-b2b-lock-state-icon svg {
        stroke: #d97706;
    }
    .bss-b2b-lock-state-title {
        font-size: 16px;
        margin: 0px;
        font-weight: 700;
        color: #111827;
    }
    .bss-b2b-lock-state-desc {
        font-size: 13.5px;
        color: #6b7280;
        line-height: 1.6;
        max-width: 300px;
    }
    .bss-b2b-lock-footer {
        padding: 14px 28px;
        font-size: 12px;
        color: #9ca3af;
        text-align: center;
        background: #fafafa;
        border-top: 1px solid #f3f4f6;
    }
    .bss-b2b-lock-ca-overlay {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 9999;
        align-items: center;
        justify-content: center;
        padding: 16px;
        background: rgba(0, 0, 0, 0.5);
    }
    .bss-b2b-lock-ca-close {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 32px;
        height: 32px;
        border: none;
        background: rgba(0, 0, 0, 0.06);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #6b7280;
        font-size: 18px;
        line-height: 1;
        z-index: 1;
    }
    .bss-b2b-lock-ca-modal-box {
        max-width: 480px;
        width: 100%;
        position: relative;
        max-height: 90vh;
        overflow-y: auto;
    }
</style>

<template id="bss-b2b-ca-modal-tpl">
<div
    class='bss-b2b-lock-ca-overlay'
    id='bss-b2b-lock-ca-modal'
    onclick="if(event.target===this)this.style.display='none'"
>
    <div class='bss-b2b-lock-card bss-b2b-lock-ca-modal-box'>
        <button
            type='button'
            class='bss-b2b-lock-ca-close'
            onclick="document.getElementById('bss-b2b-lock-ca-modal').style.display='none'"
            aria-label='Close'
        >
            &#x2715;
        </button>

        <div id='bss-b2b-lock-state-form'>
            <div class='bss-b2b-lock-header'>
                <div class='bss-b2b-lock-icon'>
                    <svg viewBox='0 0 24 24'>
                        <rect x="3" y="11" width="18" height="11" rx="2"/>
                        <path d="M7 11V7a5 5 0 0 1 10 0v4"/>
                    </svg>
                </div>
                <p class='bss-b2b-lock-title'>Request access to this content.</p>
                <p class='bss-b2b-lock-subtitle'>Fill in the form below and we'll review your request.</p>
            </div>

            <form
                class='bss-b2b-lock-form'
                novalidate
            >
                <div class='bss-b2b-lock-field' id='bss-b2b-lock-field-email'>
                    <label class='bss-b2b-lock-label' for='bss-b2b-lock-email'>
                        Email <span class='required'>*</span>
                    </label>
                    <input
                        class='bss-b2b-lock-input'
                        type='email'
                        id='bss-b2b-lock-email'
                        name='email'
                        value=
                        readonly
                        autocomplete='email'
                    >
                    <span class='bss-b2b-lock-field-hint'>Sending as your account email.</span>
                </div>

                <div class='bss-b2b-lock-field' id='bss-b2b-lock-field-name'>
                    <label class='bss-b2b-lock-label' for='bss-b2b-lock-name'>
                        Full name <span class='required'>*</span>
                    </label>
                    <input
                        class='bss-b2b-lock-input'
                        type='text'
                        id='bss-b2b-lock-name'
                        name='name'
                        placeholder='Your full name'
                        autocomplete='name'
                    >
                    <span class='bss-b2b-lock-field-error'>Please enter your name.</span>
                </div>

                <div class='bss-b2b-lock-field' id='bss-b2b-lock-field-message'>
                    <label class='bss-b2b-lock-label' for='bss-b2b-lock-message'>
                        Message <span style='color:#9ca3af;font-weight:400'>(optional)</span>
                    </label>
                    <textarea
                        class='bss-b2b-lock-textarea'
                        id='bss-b2b-lock-message'
                        name='message'
                        placeholder="Tell us why you'd like access (e.g. wholesale customer, partner)…"
                        maxlength='500'
                    ></textarea>
                    <span class='bss-b2b-lock-field-hint' id='bss-b2b-lock-char-count'>0 / 500</span>
                </div>

                <button class='bss-b2b-lock-btn' type='submit' id='bss-b2b-lock-submit-btn'>
                    <svg viewBox='0 0 24 24'>
                        <path d="M22 2 11 13"/><path d="m22 2-7 20-4-9-9-4 20-7z"/>
                    </svg>
                    <span id='bss-b2b-lock-btn-label'>Send request</span>
                </button>
            </form>
        </div>

        <div id='bss-b2b-lock-state-pending' class='bss-b2b-lock-state bss-b2b-lock-state--pending'>
            <div class='bss-b2b-lock-state-icon'>
                <svg viewBox='0 0 24 24'>
                    <circle cx="12" cy="12" r="10"/>
                    <polyline points="12 6 12 12 16 14"/>
                </svg>
            </div>
            <p class='bss-b2b-lock-state-title'>Request submitted</p>
            <p class='bss-b2b-lock-state-desc'>Your request has been submitted. We'll notify you once approved.</p>
        </div>

        <div class='bss-b2b-lock-footer'>Your information is kept private and only used to process your request.</div>
    </div>
</div>
</template>
<!-- END app snippet -->
<!-- END app block --><script src="https://cdn.shopify.com/extensions/01a1693b-5057-7026-a07a-756263dd114d/monk-free-gift-with-purchase-487/assets/mr-embed-1.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/01a16882-2e06-7bf5-8493-6a4187c83993/judgeme-821/assets/loader.js" type="text/javascript" defer="defer"></script>
<link href="https://cdn.shopify.com/extensions/01a1631b-f016-72b9-896d-5776cc2bd1b8/version_add41af9-p107247/assets/bss-ltap-v2-config-header.css" rel="stylesheet" type="text/css" media="all">
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<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: 1648361545,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script>
  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  window.ShopifyAnalytics.meta.currency = 'USD';
  var meta = {"page":{"pageType":"home","requestId":"0277548e-a424-468f-884b-34bc2409c99d-1792890411"}};
  for (var attr in meta) {
    window.ShopifyAnalytics.meta[attr] = meta[attr];
  }
</script>
<script class="analytics">
  (function () {
    var customDocumentWrite = function(content) {
      var jquery = null;

      if (window.jQuery) {
        jquery = window.jQuery;
      } else if (window.Checkout && window.Checkout.$) {
        jquery = window.Checkout.$;
      }

      if (jquery) {
        jquery('body').append(content);
      }
    };

    var hasLoggedConversion = function(token) {
      if (token) {
        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
      }
      return false;
    }

    var setCookieIfConversion = function(token) {
      if (token) {
        var twoMonthsFromNow = new Date(Date.now());
        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);

        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
      }
    }

    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
    if (trekkie.integrations) {
      return;
    }
    trekkie.methods = [
      'identify',
      'page',
      'ready',
      'track',
      'trackForm',
      'trackLink'
    ];
    trekkie.factory = function(method) {
      return function() {
        var args = Array.prototype.slice.call(arguments);
        args.unshift(method);
        trekkie.push(args);
        if (method == 'track' || method == 'page') {
          var pageUrl;
          try {
            pageUrl = window.location.href;
          } catch (e) {}
          var pageReferrer;
          try {
            pageReferrer = document.referrer;
          } catch (e) {}
          try {
            if (window.__TREKKIE_SHIM_QUEUE == null) {
              window.__TREKKIE_SHIM_QUEUE = [];
            }
            window.__TREKKIE_SHIM_QUEUE.push({
              from: 'trekkie-stub',
              method: method,
              args: args.slice(1),
              pageContext: {
                url: pageUrl,
                referrer: pageReferrer
              }
            });
          } catch (e) {
            // no-op
          }
        }
        return trekkie;
      };
    };
    for (var i = 0; i < trekkie.methods.length; i++) {
      var key = trekkie.methods[i];
      trekkie[key] = trekkie.factory(key);
    }
    trekkie.load = function(config) {
      trekkie.config = config || {};
      trekkie.config.initialDocumentCookie = document.cookie;
      var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
  var scriptFallback = document.createElement('script');
  scriptFallback.type = 'text/javascript';
  scriptFallback.onerror = function(error) {
          var Monorail = {
      produce: function produce(monorailDomain, schemaId, payload) {
        var currentMs = new Date().getTime();
        var event = {
          schema_id: schemaId,
          payload: payload,
          metadata: {
            event_created_at_ms: currentMs,
            event_sent_at_ms: currentMs
          }
        };
        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
      },
      sendRequest: function sendRequest(endpointUrl, payload) {
        // Try the sendBeacon API
        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
          var blobData = new window.Blob([payload], {
            type: 'text/plain'
          });

          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
            return true;
          } // sendBeacon was not successful

        } // XHR beacon

        var xhr = new XMLHttpRequest();

        try {
          xhr.open('POST', endpointUrl);
          xhr.setRequestHeader('Content-Type', 'text/plain');
          xhr.send(payload);
        } catch (e) {
          console.log(e);
        }

        return false;
      },
      isIos12: function isIos12() {
        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
      }
    };
    Monorail.produce('monorail-edge.shopifysvc.com',
      'trekkie_storefront_load_errors/1.1',
      {shop_id: 1648361545,
      theme_id: 189446881599,
      app_name: "storefront",
      context_url: window.location.href,
      source_url: "//christina-cosmeceuticals.com/cdn/s/trekkie.storefront.6efba1340ec6769622eb0d10b5cb070d43fb8d55.min.js"});

  };
  scriptFallback.async = true;
  scriptFallback.src = '//christina-cosmeceuticals.com/cdn/s/trekkie.storefront.6efba1340ec6769622eb0d10b5cb070d43fb8d55.min.js';
  first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//christina-cosmeceuticals.com/cdn/s/trekkie.storefront.6efba1340ec6769622eb0d10b5cb070d43fb8d55.min.js';
first.parentNode.insertBefore(script, first);

    };
    trekkie.load(
      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":1648361545,"isMerchantRequest":null,"themeId":189446881599,"themeCityHash":"1514711577254864659","contentLanguage":"en","currency":"USD","eventMetadataId":"52970427-2ad3-4b24-a499-9d4033ed2a58"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["7b21cf0b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
    );

    var loaded = false;
    trekkie.ready(function() {
      if (loaded) return;
      loaded = true;

      window.ShopifyAnalytics.lib = window.trekkie;

      var originalDocumentWrite = document.write;
      document.write = customDocumentWrite;
      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
      document.write = originalDocumentWrite;

      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
      var token = match? match[1]: undefined;
      if (!hasLoggedConversion(token)) {
        setCookieIfConversion(token);
        
      }
    });

    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"0277548e-a424-468f-884b-34bc2409c99d-1792890411","shopifyEmitted":true});

    var eventsListenerScript = document.createElement('script');
    eventsListenerScript.async = true;
    eventsListenerScript.src = "//christina-cosmeceuticals.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
  defer
  src="https://christina-cosmeceuticals.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.11.0.min.js"
  data-application="storefront-renderer"
  data-shop-id="1648361545"
  data-render-region="gcp-us-central1"
  data-page-type="index"
  data-theme-instance-id="189446881599"
  data-theme-name="Reformation"
  data-theme-version="7.1.0"
  data-monorail-region="shop_domain"
  data-resource-timing-sampling-rate="10"
  data-shs="true"
  data-shs-beacon="true"
  data-shs-export-with-fetch="true"
  data-shs-logs-sample-rate="1"
  data-shs-beacon-endpoint="https://christina-cosmeceuticals.com/api/collect"
></script>
</head>
<body class="animations-false button-uppercase-true navigation-uppercase-false product-title-uppercase-false template-index template-index">
	
		<style>
  :root {
      --redirect-bg-color: #ffffff;
      --redirect-color: #000;
      --redirect_link_color: #000;
      --redirect_link_hover_color: #000;
      --redirect_popup_yes_color: rgba(255, 255, 255, 0.65);
      --redirect_popup_yes_text_color: #535458;
      --redirect_popup_no_color: #535458;
      --redirect_popup_no_text_color: #ffffff;
      --redirect_popup_button_text_size: 14px;
      --redirect_popup_max_width: 550px;
      --redirect_bg: url('Liquid error (snippets/redirect-message line 13): invalid url input');
      --redirect_popup_yes_border_color: #535458;
      --redirect_popup_no_border_color: #535458;
      --redirect_popup_gap: 5%;
      --redirect_popup_height_desktop: 40%;
      --redirect_popup_height_mobile: 60%;
  }
  
  #location-redirect-popup p {
      font-size: 24px;
  }
 @media screen and (width <= 768px){
      #location-redirect-popup p {
          font-size: px;
      }
  }

  
</style>

<div style="display:none">
  <div id="location-redirect-popup">
    
    <div class="location-redirect-wrapper">
      <p class="">Looks like you are in <span class="current-country"></span>.</p>
      <p class="">Would you like to visit your local site?</p>
    </div>
    <div class="buttons-container">
      <a class="close-redirect-btn button-no" href="">Stay on this site</a>
      <a class="redirect-me button-yes" href="">Go to regional site</a>
    </div>
  </div>
</div>


		<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/redirect.css?v=5478828151837655841791800359" rel="stylesheet" type="text/css" media="all" />
		<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/redirect.js?v=77778777787056381091791800359" defer="defer"></script>
		<script>
  document.addEventListener('DOMContentLoaded', () => {
    IPRedirect.init({"heading_font":{"error":"json not allowed for this object"},"heading_font_scale":100,"heading_font_letter_spacing":0,"heading_font_line_height_scale":100,"body_font":{"error":"json not allowed for this object"},"body_font_scale":100,"body_font_letter_spacing":0,"body_font_line_height_scale":90,"announcement_font_scale":100,"navigation_font_scale":120,"navigation_item_spacing":30,"navigation_uppercase":false,"product_title_font_scale":110,"product_title_line_height_scale":80,"product_title_uppercase":false,"button_letter_spacing":10,"button_uppercase":true,"b2b_tag":"wholesale","b2b_redirect":"https:\/\/christina-cosmeceuticals.com\/pages\/christinas-professionals","color_body_bg":"#ffffff","color_body":"#535458","color_accent":"#535458","color_border":"#bebebe","color_input_border":"#bebebe","color_announcement_bar_text":"#ffffff","color_announcement_bar_bg":"#535458","color_header_bg":"#ffffff","color_header_text":"#535458","color_header_links":"#535458","color_header_links_hover":"#1e4e1c","color_header_icons":"#535458","color_header_border":"#dcdcdc","solid_button_background":"#535458","solid_button_label":"#ffffff","outline_button_label":"#535458","color_price":"#bebebe","color_price_discounted":"#535458","color_stars":"#FFC30F","color_dots":"#bebebe","color_inventory_instock":"#3a8437","color_inventory_lowstock":"#bebebe","color_footer_text":"#535458","color_footer_link":"#535458","color_footer_link_hover":"#151515","color_footer_border":"#535458","color_footer_bg":"#dcdcdc","section_spacing_mobile":50,"section_spacing_desktop":90,"animations":false,"button_border_radius":0,"social_facebook_link":"https:\/\/www.facebook.com\/ChristinaSkincareUSA?mibextid=wwXIfr\u0026rdid=HQR3KO1J6T2HhVBS\u0026share_url=https%3A%2F%2Fwww.facebook.com%2Fshare%2F16AWPby91Y%2F%3Fmibextid%3DwwXIfr#","social_twitter_link":"","social_instagram_link":"https:\/\/www.instagram.com\/christina.skincare.usa?igsh=MTlkbDVkMHczdHJsbw==","social_pinterest_link":"","social_tiktok_link":"https:\/\/www.tiktok.com\/@christinaskincareusa?_r=1\u0026_t=ZS-969hOkC6zNw","social_youtube_link":"","social_vimeo_link":"","social_linkedin_link":"","social_snapchat_link":"","social_wechat_link":"","social_share_facebook":true,"social_share_twitter":true,"social_share_pinterest":true,"social_share_whatsapp":true,"social_share_clipboard":true,"product_content_alignment":"left","product_aspect_ratio":"adapt","products_use_video":true,"products_hover_images":true,"products_hover_images_count":2,"products_hover_dots":false,"enable_quick_add":true,"product_card_quick_add_style":"outline","enable_price":true,"enable_quick_view":false,"show_products_vendor":false,"show_products_subtitle":true,"show_products_rating":true,"reviews_show_count":true,"reviews_widget_hide_count":false,"reviews_star_color":"#D99A2B","show_products_swatches":false,"swatch_style":"hover","show_size_options":false,"size_options_variant_name":"Size","size_options_limit":3,"sale_badge_type":"save_percentage","badge_position":"top left","badge_corner_radius":0,"color_badge_text":"#ffffff","color_badge_soldout":"#dcdcdc","color_badge_sale":"#065007","color_badge_preorder":"#666666","custom_product_badge_group_1_tag_names":"","custom_product_badge_group_1_color":"#C7C7C8","custom_product_badge_group_2_tag_names":"NEW","custom_product_badge_group_2_color":"#D9290E","custom_product_badge_group_3_tag_names":"New Muse","custom_product_badge_group_3_color":"#D9290E","custom_product_badge_group_4_tag_names":"","custom_product_badge_group_4_color":"#333333","color_swatches_variant_option":"","color_swatches":"","sibling_style":"image","cart_terms_conditions_enable":false,"cart_terms_conditions_page":"\/pages\/terms-of-use","cart_drawer":true,"cart_drawer_notes":false,"cart_recommendations":false,"cart_drawer_cart_button":true,"cart_drawer_checkout_button":true,"free_shipping":false,"free_shipping_minimum":"199","predictive_search_enabled":true,"search_menu":"main-menu","search_product_heading":"What others are searching for","search_product_collection":"bestsellers","search_product_collection_limit":6,"currency_code_enabled":false,"email_terms_conditions_enable":false,"preload_links":true,"lazy_loading":false,"custom_html_head":"","back_to_top":true,"favicon":"\/\/christina-cosmeceuticals.com\/cdn\/shop\/files\/Copy_of_SUNDAY_4_2.jpg?v=1762635326","redirect_use":true,"redirect_popup":true,"redirect_relative":false,"redirect_force":false,"redirect_1":"IL::Israel::https:\/\/www.christina.co.il\/","redirect_2":"IT::Italy::https:\/\/christina-cosmeceuticals.it","redirect_3":"ES::Spain::https:\/\/www.christina-cosmeceuticals.es\/","redirect_4":"DE::Germany::https:\/\/christina-kosmetik.de\/","redirect_5":"FR::France::https:\/\/christina-cosmeceuticals.fr\/","redirect_6":"PT::https:\/\/christinacosmeceuticals.pt\/","redirect_7":"","redirect_8":"","redirect_9":"","redirect_10":"","redirect_catch_all_countries":"AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BQ,BA,BW,BV,BR,IO,BN,BG,BF,BI,KH,CM,CA,CV,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CW,CY,CZ,DK,DJ,DM,DO,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,GF,PF,TF,GA,GM,GE,GH,GI,GR,GL,GD,GP,GU,GT,GG,GN,GW,GY,HT,HM,VA,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,JM,JP,JE,JO,KZ,KE,KI,KP,KR,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,NC,NZ,NI,NE,NG,NU,NF,MP,NO,OM,PK,PW,PS,PA,PG,PY,PE,PH,PN,PL,PR,QA,RE,RO,RU,RW,BL,SH,KN,LC,MF,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SX,SK,SI,SB,SO,ZA,GS,SS,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TL,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,GB,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW","redirect_catch_all_url":"http:\/\/corp.christina-cosmeceuticals.com","redirect_catch_all_name":"","redirect_from_message":"","redirect_to_message":"","redirect_approve":"","redirect_decline":"","redirect_bg_color":"#ffffff","redirect_color":"","redirect_link_color":"","redirect_link_hover_color":"","redirect_popup_logo":false,"redirect_popup_from_message":"Looks like you are in","redirect_popup_text":"Would you like to visit your local site?","redirect_popup_text_size":24,"redirect_popup_max_width":550,"redirect_popup_button_text_size":14,"redirect_popup_gap":5,"redirect_popup_yes_border_color":"#535458","redirect_popup_no_border_color":"#535458","redirect_popup_height_desktop":40,"redirect_popup_height_mobile":60,"redirect_popup_yes":"Stay on this site","redirect_popup_yes_color":"rgba(255, 255, 255, 0.65)","redirect_popup_yes_text_color":"#535458","redirect_popup_no":"Go to regional site","redirect_popup_no_color":"#535458","redirect_popup_no_text_color":"#ffffff","checkout_logo_position":"left","checkout_logo_size":"medium","checkout_body_background_color":"#fff","checkout_input_background_color_mode":"white","checkout_sidebar_background_color":"#fafafa","checkout_heading_font":"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'","checkout_body_font":"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'","checkout_accent_color":"#1878b9","checkout_button_color":"#1878b9","checkout_error_color":"#e22120","customer_layout":"customer_area"});
    IPRedirect.run();
  });
</script>
	
	<a class="screen-reader-shortcut" href="#main-content">Skip to content</a>
	<div id="wrapper"><!-- BEGIN sections: header-group -->
<div id="shopify-section-sections--27928516002111__announcement-bar" class="shopify-section shopify-section-group-header-group announcement-bar-section"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/announcement-bar.css?v=17439748618087280151791800359" rel="stylesheet" type="text/css" media="all" /><div class="announcement-bar">
			<div class="announcement-bar--inner direction-right announcement-bar--carousel" style="--marquee-speed: 20s"><slide-show class="carousel" data-autoplay="false"><div class="announcement-bar--item carousel__slide" ><a href="/pages/work-with-christina" target="_blank">LICENSED ESTHETICIAN ? SIGN UP HERE</a></div></slide-show></div>
		</div>
</div><div id="shopify-section-sections--27928516002111__header" class="shopify-section shopify-section-group-header-group header-section"><theme-header id="header" class="header style4 header--shadow-small transparent--false header-sticky--active">
	<div class="row expanded">
		<div class="small-12 columns"><div class="thb-header-mobile-left">
	<details class="mobile-toggle-wrapper">
	<summary class="mobile-toggle">
		<span></span>
		<span></span>
		<span></span>
	</summary><nav id="mobile-menu" class="mobile-menu-drawer" role="dialog" tabindex="-1">
	<div class="mobile-menu-drawer--inner"><ul class="mobile-menu"><li><details class="link-container">
							<summary class="parent-link">Shop<span class="link-forward">
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5H7.08889H13.1778M13.1778 5L9.17778 1M13.1778 5L9.17778 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></summary>
							<ul class="sub-menu">
								<li class="parent-link-back">
									<button class="parent-link-back--button"><span>
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1778 5H7.08891H1.00002M1.00002 5L5.00002 1M1.00002 5L5.00002 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span> Shop</button>
								</li><li><details class="link-container">
											<summary class="parent-link">Product Range 
<span class="link-forward">
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5H7.08889H13.1778M13.1778 5L9.17778 1M13.1778 5L9.17778 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
											</summary>
											<ul class="sub-menu" tabindex="-1">
												<li class="parent-link-back">
													<button class="parent-link-back--button"><span>
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1778 5H7.08891H1.00002M1.00002 5L5.00002 1M1.00002 5L5.00002 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span> Product Range </button>
												</li><li>
														<a href="/collections/spf" title="SPF ☀️" class="link-container" role="menuitem">SPF ☀️ </a>
													</li><li>
														<a href="/collections/cleansers" title="Cleansers" class="link-container" role="menuitem">Cleansers </a>
													</li><li>
														<a href="/collections/serums" title="Serums" class="link-container" role="menuitem">Serums </a>
													</li><li>
														<a href="/collections/day-creams" title="Day Creams" class="link-container" role="menuitem">Day Creams </a>
													</li><li>
														<a href="/collections/night-creams" title="Night Creams" class="link-container" role="menuitem">Night Creams </a>
													</li><li>
														<a href="/collections/creams-moisturizers" title="Cream &amp; Moisturizers " class="link-container" role="menuitem">Cream & Moisturizers  </a>
													</li><li>
														<a href="/collections/masks" title="Masks" class="link-container" role="menuitem">Masks </a>
													</li><li>
														<a href="/collections/exfoliators-peelings" title="Exfoliators &amp; Peelings" class="link-container" role="menuitem">Exfoliators & Peelings </a>
													</li><li>
														<a href="/collections/neck-lip-eye-care" title="Eye, Lip and Neck Treatment" class="link-container" role="menuitem">Eye, Lip and Neck Treatment </a>
													</li><li>
														<a href="/collections/shop-all" title="All Products" class="link-container" role="menuitem">All Products </a>
													</li></ul>
										</details></li><li><details class="link-container">
											<summary class="parent-link">Skin Concerns
<span class="link-forward">
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5H7.08889H13.1778M13.1778 5L9.17778 1M13.1778 5L9.17778 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
											</summary>
											<ul class="sub-menu" tabindex="-1">
												<li class="parent-link-back">
													<button class="parent-link-back--button"><span>
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1778 5H7.08891H1.00002M1.00002 5L5.00002 1M1.00002 5L5.00002 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span> Skin Concerns</button>
												</li><li>
														<a href="/collections/anti-aging" title="Signs of Aging" class="link-container" role="menuitem">Signs of Aging </a>
													</li><li>
														<a href="/collections/dehydration-dryness" title="Dehydration &amp; Dryness" class="link-container" role="menuitem">Dehydration & Dryness </a>
													</li><li>
														<a href="/collections/uneven-skin-tone" title="Uneven Skin Tone &amp; Pigmentation" class="link-container" role="menuitem">Uneven Skin Tone & Pigmentation </a>
													</li><li>
														<a href="/collections/sensitive-redness" title="Sensitivity &amp; Redness" class="link-container" role="menuitem">Sensitivity & Redness </a>
													</li><li>
														<a href="/collections/acne-blemishes" title="Oiliness &amp; Blemishes" class="link-container" role="menuitem">Oiliness & Blemishes </a>
													</li><li>
														<a href="/collections/fine-lines-wrinkles" title="Fine Lines &amp; Wrinkles" class="link-container" role="menuitem">Fine Lines & Wrinkles </a>
													</li></ul>
										</details></li></ul>
						</details></li><li><details class="link-container">
							<summary class="parent-link">Our Product Lines<span class="link-forward">
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5H7.08889H13.1778M13.1778 5L9.17778 1M13.1778 5L9.17778 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></summary>
							<ul class="sub-menu">
								<li class="parent-link-back">
									<button class="parent-link-back--button"><span>
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1778 5H7.08891H1.00002M1.00002 5L5.00002 1M1.00002 5L5.00002 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span> Our Product Lines</button>
								</li><li><a href="/collections/new-muse" title="Muse- Skin Longevity" class="link-container">Muse- Skin Longevity</a></li><li><a href="/collections/bio-phyto" title="Bio Phyto- Herbal detox" class="link-container">Bio Phyto- Herbal detox</a></li><li><a href="/collections/comodex" title="Comodex- For oily, blemish-prone skin" class="link-container">Comodex- For oily, blemish-prone skin</a></li><li><a href="/collections/illustrious" title="Illustrious- Brightening line" class="link-container">Illustrious- Brightening line</a></li><li><a href="/collections/forever-young" title="Forever Young" class="link-container">Forever Young</a></li><li><a href="/collections/nuance" title="Nuance- Mature-skin solution" class="link-container">Nuance- Mature-skin solution</a></li><li><a href="/collections/unstress" title="Unstress- For delicate, irritated skin" class="link-container">Unstress- For delicate, irritated skin</a></li><li><details class="link-container">
											<summary class="parent-link">Line Repair
<span class="link-forward">
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5H7.08889H13.1778M13.1778 5L9.17778 1M13.1778 5L9.17778 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
											</summary>
											<ul class="sub-menu" tabindex="-1">
												<li class="parent-link-back">
													<button class="parent-link-back--button"><span>
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1778 5H7.08891H1.00002M1.00002 5L5.00002 1M1.00002 5L5.00002 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span> Line Repair</button>
												</li><li>
														<a href="/collections/line-repair-hydra" title="Hydra" class="link-container" role="menuitem">Hydra </a>
													</li><li>
														<a href="/collections/line-repair-glow" title="Glow" class="link-container" role="menuitem">Glow </a>
													</li><li>
														<a href="/collections/line-repair-firm" title="Firm" class="link-container" role="menuitem">Firm </a>
													</li><li>
														<a href="/collections/line-repair-fix" title="Fix" class="link-container" role="menuitem">Fix </a>
													</li><li>
														<a href="/collections/line-repair-nutrient" title="Nutrient" class="link-container" role="menuitem">Nutrient </a>
													</li></ul>
										</details></li><li><a href="/collections/rose-de-mer" title="Rose De Mer- Peel &amp; renewal" class="link-container">Rose De Mer- Peel & renewal</a></li><li><a href="/pages/nude" title="Nude- Body line" class="link-container">Nude- Body line</a></li></ul>
						</details></li><li><a href="/collections/routines-1" title="Routines" class="link-container">Routines<span class="menu-item-badge" style="--menu-badge-bg: #a1c7a2;--menu-badge-text: #272422;">Save 20%</span></a></li><li><details class="link-container">
							<summary class="parent-link">About Us<span class="link-forward">
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5H7.08889H13.1778M13.1778 5L9.17778 1M13.1778 5L9.17778 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></summary>
							<ul class="sub-menu">
								<li class="parent-link-back">
									<button class="parent-link-back--button"><span>
<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1778 5H7.08891H1.00002M1.00002 5L5.00002 1M1.00002 5L5.00002 9" stroke="var(--color-accent)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span> About Us</button>
								</li><li><a href="/pages/about-us" title="About Christina" class="link-container">About Christina</a></li><li><a href="/pages/christina-worldwide" title="A Global Legacy of Beauty" class="link-container">A Global Legacy of Beauty</a></li><li><a href="/pages/christina-house-south-florida" title="Christina House South Florida" class="link-container">Christina House South Florida</a></li></ul>
						</details></li><li><a href="/pages/work-with-christina" title="Professionals" class="link-container">Professionals</a></li></ul><ul class="mobile-secondary-menu"></ul><div class="mega-menu-promotion"><a href="/collections/routines-1" target="_blank">
<img class="no-blur " width="670" height="881" src="//christina-cosmeceuticals.com/cdn/shop/files/US_back_to_routines_banner_2.jpg?v=1791798549&width=670" srcset="//christina-cosmeceuticals.com/cdn/shop/files/US_back_to_routines_banner_2.jpg?v=1791798549&width=670 670w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" /></a><div class="mega-menu-promotion--cover"><p class="heading-font"></p><a href="/collections/routines-1" target="_blank" class="text-button white"></a></div>
			</div><div class="thb-mobile-menu-footer"><a class="thb-mobile-account-link" href="/account/login" title="Login
">
<svg width="19" height="21" viewBox="0 0 19 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.3486 1C15.5436 1 15.5436 10.4387 9.3486 10.4387C3.15362 10.4387 3.15362 1 9.3486 1ZM1 19.9202C1.6647 9.36485 17.4579 9.31167 18.0694 19.9468L17.0857 20C16.5539 10.6145 2.56869 10.6411 2.01034 19.9734L1.02659 19.9202H1ZM9.3486 2.01034C4.45643 2.01034 4.45643 9.42836 9.3486 9.42836C14.2408 9.42836 14.2408 2.01034 9.3486 2.01034Z" fill="var(--color-header-icons, --color-accent)" stroke="var(--color-header-icons, --color-accent)" stroke-width="0.1"/>
</svg>
 Login
</a><div class="no-js-hidden"></div>
		</div>
	</div>
</nav>
<link rel="stylesheet" href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/mobile-menu.css?v=78616688026831735091791800359" media="print" onload="this.media='all'">
<noscript><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/mobile-menu.css?v=78616688026831735091791800359" rel="stylesheet" type="text/css" media="all" /></noscript>
</details>

	<a class="thb-secondary-area-item thb-quick-search" href="/search" title="Search">
<svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 13.5L17.7495 18.5M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8Z" stroke="var(--color-header-icons, --color-accent)" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
<div class="thb-header-desktop-left">
	<div class="no-js-hidden"></div>
</div>

	<a class="logolink" href="/">
		<img
			src="//christina-cosmeceuticals.com/cdn/shop/files/Logo_1.png?v=1761223816"
			class="logoimg"
			alt="Christina Cosmeceuticals"
			width="2880"
			height="88"
		><img
			src="//christina-cosmeceuticals.com/cdn/shop/files/Logo_1.png?v=1761223816"
			class="logoimg logoimg--light"
			alt="Christina Cosmeceuticals"
			width="2880"
			height="88"
		>
	</a>

<div class="thb-secondary-area thb-header-right"><a class="thb-secondary-area-item thb-secondary-myaccount" href="/account/login" title="My Account">
<svg width="19" height="21" viewBox="0 0 19 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.3486 1C15.5436 1 15.5436 10.4387 9.3486 10.4387C3.15362 10.4387 3.15362 1 9.3486 1ZM1 19.9202C1.6647 9.36485 17.4579 9.31167 18.0694 19.9468L17.0857 20C16.5539 10.6145 2.56869 10.6411 2.01034 19.9734L1.02659 19.9202H1ZM9.3486 2.01034C4.45643 2.01034 4.45643 9.42836 9.3486 9.42836C14.2408 9.42836 14.2408 2.01034 9.3486 2.01034Z" fill="var(--color-header-icons, --color-accent)" stroke="var(--color-header-icons, --color-accent)" stroke-width="0.1"/>
</svg>
</a>
	<a class="thb-secondary-area-item thb-quick-search" href="/search" title="Search">
<svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 13.5L17.7495 18.5M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8Z" stroke="var(--color-header-icons, --color-accent)" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
	<a class="thb-secondary-area-item thb-secondary-cart" href="/cart" id="cart-drawer-toggle"><div class="thb-secondary-item-icon">
<svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 4.58011L3.88304 1.09945V1H15.2164L18 4.58011M1 4.58011V17.2099C1 18.2044 1.89474 19 2.88889 19H16.1111C17.1053 19 18 18.2044 18 17.2099V4.58011M1 4.58011H18M13.3275 8.16022C13.3275 10.1492 11.6374 11.7403 9.54971 11.7403C7.46199 11.7403 5.67251 10.1492 5.67251 8.16022" stroke="var(--color-header-icons, --color-accent)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
 <span class="thb-item-count">0</span></div></a>
</div>



	<full-menu class="full-menu">
	<ul class="thb-full-menu" role="menubar"><li role="menuitem" class="menu-item-has-children" data-item-title="Shop">
		    <a href="#" class="thb-full-menu--link">Shop
				</a><ul class="sub-menu" tabindex="-1"><li class=" menu-item-has-children" role="none" data-item-title="Product Range ">
			          <a href="/pages/shop-by-category" class="thb-full-menu--link" role="menuitem">Product Range 
<svg width="5" height="8" viewBox="0 0 5 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.25 1L4.25 4L1.25 7" stroke="var(--color-header-links, --color-accent)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a><ul class="sub-menu" role="menu"><li class="" role="none">
												<a href="/collections/spf" class="thb-full-menu--link" role="menuitem">SPF ☀️</a>
											</li><li class="" role="none">
												<a href="/collections/cleansers" class="thb-full-menu--link" role="menuitem">Cleansers</a>
											</li><li class="" role="none">
												<a href="/collections/serums" class="thb-full-menu--link" role="menuitem">Serums</a>
											</li><li class="" role="none">
												<a href="/collections/day-creams" class="thb-full-menu--link" role="menuitem">Day Creams</a>
											</li><li class="" role="none">
												<a href="/collections/night-creams" class="thb-full-menu--link" role="menuitem">Night Creams</a>
											</li><li class="" role="none">
												<a href="/collections/creams-moisturizers" class="thb-full-menu--link" role="menuitem">Cream & Moisturizers </a>
											</li><li class="" role="none">
												<a href="/collections/masks" class="thb-full-menu--link" role="menuitem">Masks</a>
											</li><li class="" role="none">
												<a href="/collections/exfoliators-peelings" class="thb-full-menu--link" role="menuitem">Exfoliators & Peelings</a>
											</li><li class="" role="none">
												<a href="/collections/neck-lip-eye-care" class="thb-full-menu--link" role="menuitem">Eye, Lip and Neck Treatment</a>
											</li><li class="" role="none">
												<a href="/collections/shop-all" class="thb-full-menu--link" role="menuitem">All Products</a>
											</li></ul></li><li class=" menu-item-has-children" role="none" data-item-title="Skin Concerns">
			          <a href="#" class="thb-full-menu--link" role="menuitem">Skin Concerns
<svg width="5" height="8" viewBox="0 0 5 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.25 1L4.25 4L1.25 7" stroke="var(--color-header-links, --color-accent)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a><ul class="sub-menu" role="menu"><li class="" role="none">
												<a href="/collections/anti-aging" class="thb-full-menu--link" role="menuitem">Signs of Aging</a>
											</li><li class="" role="none">
												<a href="/collections/dehydration-dryness" class="thb-full-menu--link" role="menuitem">Dehydration & Dryness</a>
											</li><li class="" role="none">
												<a href="/collections/uneven-skin-tone" class="thb-full-menu--link" role="menuitem">Uneven Skin Tone & Pigmentation</a>
											</li><li class="" role="none">
												<a href="/collections/sensitive-redness" class="thb-full-menu--link" role="menuitem">Sensitivity & Redness</a>
											</li><li class="" role="none">
												<a href="/collections/acne-blemishes" class="thb-full-menu--link" role="menuitem">Oiliness & Blemishes</a>
											</li><li class="" role="none">
												<a href="/collections/fine-lines-wrinkles" class="thb-full-menu--link" role="menuitem">Fine Lines & Wrinkles</a>
											</li></ul></li></ul></li><li role="menuitem" class="menu-item-has-children" data-item-title="Our Product Lines">
		    <a href="#" class="thb-full-menu--link">Our Product Lines
				</a><ul class="sub-menu" tabindex="-1"><li class="" role="none" >
			          <a href="/collections/new-muse" class="thb-full-menu--link" role="menuitem">Muse- Skin Longevity</a></li><li class="" role="none" >
			          <a href="/collections/bio-phyto" class="thb-full-menu--link" role="menuitem">Bio Phyto- Herbal detox</a></li><li class="" role="none" >
			          <a href="/collections/comodex" class="thb-full-menu--link" role="menuitem">Comodex- For oily, blemish-prone skin</a></li><li class="" role="none" >
			          <a href="/collections/illustrious" class="thb-full-menu--link" role="menuitem">Illustrious- Brightening line</a></li><li class="" role="none" >
			          <a href="/collections/forever-young" class="thb-full-menu--link" role="menuitem">Forever Young</a></li><li class="" role="none" >
			          <a href="/collections/nuance" class="thb-full-menu--link" role="menuitem">Nuance- Mature-skin solution</a></li><li class="" role="none" >
			          <a href="/collections/unstress" class="thb-full-menu--link" role="menuitem">Unstress- For delicate, irritated skin</a></li><li class=" menu-item-has-children" role="none" data-item-title="Line Repair">
			          <a href="/pages/line-repair" class="thb-full-menu--link" role="menuitem">Line Repair
<svg width="5" height="8" viewBox="0 0 5 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.25 1L4.25 4L1.25 7" stroke="var(--color-header-links, --color-accent)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a><ul class="sub-menu" role="menu"><li class="" role="none">
												<a href="/collections/line-repair-hydra" class="thb-full-menu--link" role="menuitem">Hydra</a>
											</li><li class="" role="none">
												<a href="/collections/line-repair-glow" class="thb-full-menu--link" role="menuitem">Glow</a>
											</li><li class="" role="none">
												<a href="/collections/line-repair-firm" class="thb-full-menu--link" role="menuitem">Firm</a>
											</li><li class="" role="none">
												<a href="/collections/line-repair-fix" class="thb-full-menu--link" role="menuitem">Fix</a>
											</li><li class="" role="none">
												<a href="/collections/line-repair-nutrient" class="thb-full-menu--link" role="menuitem">Nutrient</a>
											</li></ul></li><li class="" role="none" >
			          <a href="/collections/rose-de-mer" class="thb-full-menu--link" role="menuitem">Rose De Mer- Peel & renewal</a></li><li class="" role="none" >
			          <a href="/pages/nude" class="thb-full-menu--link" role="menuitem">Nude- Body line</a></li></ul></li><li role="menuitem" class="" >
		    <a href="/collections/routines-1" class="thb-full-menu--link">Routines
				</a><span class="menu-item-badge" style="--menu-badge-bg: #a1c7a2;--menu-badge-text: #272422;">Save 20%</span></li><li role="menuitem" class="menu-item-has-children" data-item-title="About Us">
		    <a href="#" class="thb-full-menu--link">About Us
				</a><ul class="sub-menu" tabindex="-1"><li class="" role="none" >
			          <a href="/pages/about-us" class="thb-full-menu--link" role="menuitem">About Christina</a></li><li class="" role="none" >
			          <a href="/pages/christina-worldwide" class="thb-full-menu--link" role="menuitem">A Global Legacy of Beauty</a></li><li class="" role="none" >
			          <a href="/pages/christina-house-south-florida" class="thb-full-menu--link" role="menuitem">Christina House South Florida</a></li></ul></li><li role="menuitem" class="" >
		    <a href="/pages/work-with-christina" class="thb-full-menu--link">Professionals
				</a></li></ul>
</full-menu>



</div>
	</div><style data-shopify>:root {
			--logo-height: 58px;
			--logo-height-mobile: 37px;
		}
		</style></theme-header><script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/header.js?v=53973329853117484881791800359" type="text/javascript"></script><script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "Organization",
    "name": "Christina Cosmeceuticals",
    
      "logo": "https:\/\/christina-cosmeceuticals.com\/cdn\/shop\/files\/Logo_1.png?v=1761223816\u0026width=2880",
    
    "sameAs": [
      "",
      "https:\/\/www.facebook.com\/ChristinaSkincareUSA?mibextid=wwXIfr\u0026rdid=HQR3KO1J6T2HhVBS\u0026share_url=https%3A%2F%2Fwww.facebook.com%2Fshare%2F16AWPby91Y%2F%3Fmibextid%3DwwXIfr#",
      "",
      "https:\/\/www.instagram.com\/christina.skincare.usa?igsh=MTlkbDVkMHczdHJsbw==",
      "https:\/\/www.tiktok.com\/@christinaskincareusa?_r=1\u0026_t=ZS-969hOkC6zNw",
      "",
      "",
      "",
      ""
    ],
    "url": "https:\/\/christina-cosmeceuticals.com"
  }
</script>
  <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "WebSite",
      "name": "Christina Cosmeceuticals",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https:\/\/christina-cosmeceuticals.com\/search?q={search_term_string}",
        "query-input": "required name=search_term_string"
      },
      "url": "https:\/\/christina-cosmeceuticals.com"
    }
  </script>
</div>
<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->

<!-- END sections: overlay-group --><div role="main" id="main-content">
			<!--LayoutHub-Workspace-Start--><div id="shopify-section-template--27928523243839__slideshow_NENGCi" class="shopify-section section-slideshow"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/slideshow.css?v=129520183629553856751791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row">
    <div class="small-12 columns">
        <slide-show class="slideshow main-slideshow carousel custom-dots mobile-height-500 desktop-height-750 section-spacing section-spacing--disable-top section-spacing--disable-bottom transition--fade" data-dots="false" data-autoplay="false" data-fade="true" data-transition="fade" style="--dot-speed: 0s;--color-text: #fff;background: transparent;"><div id="Slide-slide_UrwnG8" class="slideshow__slide slideshow__slide--index-1 carousel__slide mobile-height-500 desktop-height-750 text-left content-size-medium is-initial-selected" style="--overlay-color-rgb: 244,243,243; --overlay-opacity: 0.0;background: transparent;" >
                    
                    <style>
                      #Slide-slide_UrwnG8 .subheading { color: #ffffff !important; }
                      #Slide-slide_UrwnG8 .slideshow__slide-content--heading { color: #ffffff !important; }
                      #Slide-slide_UrwnG8 p.split-text { color: #ffffff !important; }
                      #Slide-slide_UrwnG8 .button {
                        background-color: #ffffff !important;
                        border-color: #ffffff !important;
                        color: #d9290e !important;
                      }
                      #Slide-slide_UrwnG8 .button.outline {
                        background-color: transparent !important;
                        border-color: #ffffff !important;
                        color: #ffffff !important;
                      }
                      #Slide-slide_UrwnG8 .button * { color: inherit !important; }
                    </style><div class="slideshow__slide-bg">
<img class="no-blur " width="375" height="500" src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?crop=center&height=500&v=1786953713&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=900 900w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=1000 1000w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=1100 1100w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=1200 1200w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=1400 1400w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=1600 1600w,//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000.jpg?v=1786953713&width=1280 1280w" sizes="auto" loading="eager" fetchpriority="high" alt=""  /></div><div class="slideshow__slide-video-bg" data-provider="hosted" data-video-id="44196354654527">
                                <video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000_1600x.jpg?v=1786953713" loading="eager"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/53e31796396b40109f8fc67d4721f06f/53e31796396b40109f8fc67d4721f06f.HD-720p-1.6Mbps-91786367.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/53e31796396b40109f8fc67d4721f06f.thumbnail.0000000000_1600x.jpg?v=1786953713"></video>
                            </div><script>
                              window.addEventListener('load', function () {
                                setTimeout(function () {
                                  var v = document.querySelector('#Slide-slide_UrwnG8 .slideshow__slide-video-bg video');
                                  if (!v) return;
                                  v.muted = true; v.playsInline = true; v.preload = 'auto';
                                  var p = v.play(); if (p && p.catch) p.catch(function () {});
                                }, 1000);
                              });
                            </script><div class="slideshow__slide-overlay" style="background: "></div>
                    <div class="slideshow__slide-inner content-bottom-left">
                        <div class="slideshow__slide-content">
                            
                                <p class="subheading">RETHINK AGING.</p>
                            
                            
                                <h1 class="split-text slideshow__slide-content--heading h1-large">DISCOVER LONGEVITY.</h1>
                            
                            
                            <p class="split-text description-size--medium">Exosome-powered technology that supports skin resilience and vitality.</p>
                            
                            
                            <div class="button-overflow-container">
                                <a class="button " href="/collections/new-muse" role="button" title="Discover new muse"><span>Discover new muse</span></a>
                            </div>
                    
                            
                            
                            <a href="/collections/new-muse" class="slideshow__slide-content-link" tabindex="-1"></a>
                            
                        </div>
                    </div>
                </div></slide-show>
    </div>
</div>
</div><div id="shopify-section-template--27928523243839__scrolling_text_eaiMNG" class="shopify-section section-scrolling-text"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/scrolling-text.css?v=156116938726166666171791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row-full">
	<div class="small-12 columns">
		<div class="scrolling-text scrolling-text-uppercase--true section-spacing section-spacing--disable-top section-spacing--disable-bottom height-auto heading-font" id="scrolling-text-template--27928523243839__scrolling_text_eaiMNG" style="--color-bg:#fcfdfd;--color-text:#535458;--overlay-color-rgb: 0,0,0; --overlay-opacity: 0.0;">
		<div class="scrolling-text--inner direction-left" style="--marquee-speed: 20s">
			

			<div>
					<div class="scrolling-text--item outline-text--true" ><span>A free mini, on us</span></div>
					<div class="scrolling-text--item outline-text--false" ><span>1 free mini over $89</span></div>
					<div class="scrolling-text--item outline-text--false" ><span>2 free minis over $169</span></div></div>
			
			<div>
					<div class="scrolling-text--item outline-text--true" ><span>A free mini, on us</span></div>
					<div class="scrolling-text--item outline-text--false" ><span>1 free mini over $89</span></div>
					<div class="scrolling-text--item outline-text--false" ><span>2 free minis over $169</span></div></div>
			
			<div>
					<div class="scrolling-text--item outline-text--true" ><span>A free mini, on us</span></div>
					<div class="scrolling-text--item outline-text--false" ><span>1 free mini over $89</span></div>
					<div class="scrolling-text--item outline-text--false" ><span>2 free minis over $169</span></div></div>
			</div>
		<style data-shopify>
#scrolling-text-template--27928523243839__scrolling_text_eaiMNG  .scrolling-text--inner {
				font-size: 22px;
			}

		</style>
	</div>
	</div>
</div>

</div><div id="shopify-section-template--27928523243839__featured_collection_yxi3rV" class="shopify-section section-featured-collection"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/featured-collection.css?v=40129016320821753821791800359" rel="stylesheet" type="text/css" media="all" />
<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/product-grid.css?v=179481498833094439651791800359" rel="stylesheet" type="text/css" media="all" />
<div class="featured-collection swipe-on-mobile section-spacing section-spacing--disable-bottom">
	<div class="row full-width-row">
		<div class="small-12 columns">
			<div class="section-header section-header-left--true">
		<div class="section-header--content"><h2 class="h2">Best Sellers</h2><div class="rte">
					<p>Our most trusted, result-driven formulas</p>
				</div></div><div class="section-header--button">
			<a class="text-button" href="/collections/best-sellers">Shop Best Sellers</a>
		</div></div>
			<div class="featured-collection__inner display-type--carousel">
				<slide-show id="product-grid-template--27928523243839__featured_collection_yxi3rV" class="products row carousel"><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left"><span class="badge onsale">Save 25%
</span>
</span>



    <a href="/products/line-repair-hydra-theraskin-ha-30" title="LINE REPAIR Hydra Theraskin+HA" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/LR_HYDRA_-_Theraskin_2_2.jpg?v=1776847955&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/LR_HYDRA_-_Theraskin_2_2.jpg?v=1776847955&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/LR_HYDRA_-_Theraskin_2_2.jpg?v=1776847955&width=770 770w" fetchpriority="low" alt="Line Repair Hydra Theraskin+HA, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_2.jpg?v=1778747572&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_2.jpg?v=1778747572&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_2.jpg?v=1778747572&width=770 770w" fetchpriority="low" alt="Line Repair Hydra Theraskin+HA, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0028_LR_Hydra-Theraskin_HA_1.jpg?v=1776847955&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0028_LR_Hydra-Theraskin_HA_1.jpg?v=1776847955&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0028_LR_Hydra-Theraskin_HA_1.jpg?v=1776847955&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Line Repair Hydra Theraskin+HA, face serum" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/line-repair-hydra-theraskin-ha-30" title="LINE REPAIR Hydra Theraskin+HA" class="product-card-title">LINE REPAIR Hydra Theraskin+HA</a>
		
			<p class="product-description">Powerful anti-aging and hydrating serum</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='6816206127177' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.79' data-number-of-reviews='57' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.79' tabindex='0' aria-label='4.79 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> (57) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/line-repair-hydra-theraskin-ha-30" aria-label="LINE REPAIR Hydra Theraskin+HA"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="6816206127177" bss-b2b-variant-price bss-b2b-variant-id="51541304213823" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount discounted">$58.50</span></ins>
		
			<del>
				<span class="amount">
					
						$78.00
					
				</span>
			</del>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51541304213823" data-product-handle="line-repair-hydra-theraskin-ha-30" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/mild-facial-cleanser" title="BioPhyto Mild Facial Cleanser" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Facial_Mild_Cleanser_2_2.jpg?v=1773588623&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Facial_Mild_Cleanser_2_2.jpg?v=1773588623&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Facial_Mild_Cleanser_2_2.jpg?v=1773588623&width=770 770w" fetchpriority="low" alt="BioPhyto Mild Facial Cleanser, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Facial_Mild_Cleanser_1_2.jpg?v=1773588623&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Facial_Mild_Cleanser_1_2.jpg?v=1773588623&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Facial_Mild_Cleanser_1_2.jpg?v=1773588623&width=770 770w" fetchpriority="low" alt="BioPhyto Mild Facial Cleanser, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0072_bio-cleanser_1.jpg?v=1773588620&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0072_bio-cleanser_1.jpg?v=1773588620&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0072_bio-cleanser_1.jpg?v=1773588620&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="BioPhyto Mild Facial Cleanser" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/mild-facial-cleanser" title="BioPhyto Mild Facial Cleanser" class="product-card-title">BioPhyto Mild Facial Cleanser</a>
		
			<p class="product-description">Gentle, non-drying, cleanses impurities</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='2006099918921' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.73' data-number-of-reviews='26' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.73' tabindex='0' aria-label='4.73 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> (26) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/mild-facial-cleanser" aria-label="BioPhyto Mild Facial Cleanser"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="2006099918921" bss-b2b-variant-price bss-b2b-variant-id="51539465306431" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$46.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51539465306431" data-product-handle="mild-facial-cleanser" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left"><span class="badge onsale">Save 15%
</span>
</span>



    <a href="/products/rose-de-mer-peeling-soap" title="Rose De Mer Peeling Soap" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/RDM_-_Peeling_Soap_3.jpg?v=1773588882&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/RDM_-_Peeling_Soap_3.jpg?v=1773588882&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/RDM_-_Peeling_Soap_3.jpg?v=1773588882&width=770 770w" fetchpriority="low" alt="Rose De Mer Peeling Soap, alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0023_rdm_soap_1.jpg?v=1773588882&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0023_rdm_soap_1.jpg?v=1773588882&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0023_rdm_soap_1.jpg?v=1773588882&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Rose De Mer Peeling Soap, exfoliating cleansing soap" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/rose-de-mer-peeling-soap" title="Rose De Mer Peeling Soap" class="product-card-title">Rose De Mer Peeling Soap</a>
		
			<p class="product-description">Exfoliates & stimulates renewal</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='4313862570057' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.65' data-number-of-reviews='26' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.65' tabindex='0' aria-label='4.65 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> (26) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/rose-de-mer-peeling-soap" aria-label="Rose De Mer Peeling Soap"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="4313862570057" bss-b2b-variant-price bss-b2b-variant-id="51541366178111" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount discounted">$56.10</span></ins>
		
			<del>
				<span class="amount">
					
						$66.00
					
				</span>
			</del>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51541366178111" data-product-handle="rose-de-mer-peeling-soap" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/illustrious-day-cream-spf-50" title="Illustrious Day Cream Spf 50" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_28.jpg?v=1789544483&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_28.jpg?v=1789544483&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_28.jpg?v=1789544483&width=770 770w" fetchpriority="low" alt="Illustrious Day Cream SPF 50, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_27.jpg?v=1789544483&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_27.jpg?v=1789544483&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_27.jpg?v=1789544483&width=770 770w" fetchpriority="low" alt="Illustrious Day Cream SPF 50, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0047_illustrious-DAY_CREAM_1.jpg?v=1773588869&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0047_illustrious-DAY_CREAM_1.jpg?v=1773588869&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0047_illustrious-DAY_CREAM_1.jpg?v=1773588869&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Illustrious Day Cream SPF 50, daytime face cream" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/illustrious-day-cream-spf-50" title="Illustrious Day Cream Spf 50" class="product-card-title">Illustrious Day Cream Spf 50</a>
		
			<p class="product-description">Brightens, reduces pigmentation & protects</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='4097152647241' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.56' data-number-of-reviews='18' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.56' tabindex='0' aria-label='4.56 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> (18) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/illustrious-day-cream-spf-50" aria-label="Illustrious Day Cream Spf 50"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="4097152647241" bss-b2b-variant-price bss-b2b-variant-id="51540907753791" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$96.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51540907753791" data-product-handle="illustrious-day-cream-spf-50" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/refreshing-toner" title="BioPhyto Refreshing Toner" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Refreching_Toner_1_4.jpg?v=1773588755&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Refreching_Toner_1_4.jpg?v=1773588755&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Refreching_Toner_1_4.jpg?v=1773588755&width=770 770w" fetchpriority="low" alt="BioPhyto Refreshing Toner, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Refreching_Toner_2_2.jpg?v=1773588759&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Refreching_Toner_2_2.jpg?v=1773588759&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/BIOPHYTO_-_Refreching_Toner_2_2.jpg?v=1773588759&width=770 770w" fetchpriority="low" alt="BioPhyto Refreshing Toner, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0100_bio-toner_1.jpg?v=1773588754&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0100_bio-toner_1.jpg?v=1773588754&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0100_bio-toner_1.jpg?v=1773588754&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="BioPhyto Refreshing Toner" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/refreshing-toner" title="BioPhyto Refreshing Toner" class="product-card-title">BioPhyto Refreshing Toner</a>
		
			<p class="product-description">Purifies, tones & hydrates</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='2007358734409' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.20' data-number-of-reviews='15' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.20' tabindex='0' aria-label='4.20 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> (15) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/refreshing-toner" aria-label="BioPhyto Refreshing Toner"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="2007358734409" bss-b2b-variant-price bss-b2b-variant-id="51539435815231" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$46.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51539435815231" data-product-handle="refreshing-toner" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/line-repair-hydra-elastin-collagen-60" title="LINE REPAIR Hydra Elastin Collagen" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_21.jpg?v=1787129970&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_21.jpg?v=1787129970&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_21.jpg?v=1787129970&width=770 770w" fetchpriority="low" alt="Line Repair Hydra Elastin Collagen, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_20.jpg?v=1787129970&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_20.jpg?v=1787129970&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/new_product_images_20.jpg?v=1787129970&width=770 770w" fetchpriority="low" alt="Line Repair Hydra Elastin Collagen, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0059_lr-hydra-elastin_1.jpg?v=1773588986&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0059_lr-hydra-elastin_1.jpg?v=1773588986&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0059_lr-hydra-elastin_1.jpg?v=1773588986&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Line Repair Hydra Elastin Collagen, face cream" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/line-repair-hydra-elastin-collagen-60" title="LINE REPAIR Hydra Elastin Collagen" class="product-card-title">LINE REPAIR Hydra Elastin Collagen</a>
		
			<p class="product-description">Moisturizing cream for a soft and smooth skin </p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='6816205897801' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.50' data-number-of-reviews='30' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.50' tabindex='0' aria-label='4.50 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> (30) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/line-repair-hydra-elastin-collagen-60" aria-label="LINE REPAIR Hydra Elastin Collagen"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="6816205897801" bss-b2b-variant-price bss-b2b-variant-id="51541297463615" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$62.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51541297463615" data-product-handle="line-repair-hydra-elastin-collagen-60" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/clean-and-clear-cleanser" title="Comodex Clean &amp; Clear Cleanser" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Comodex_-_Clean_Clear_Cleanser_2.jpg?v=1773588632&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Comodex_-_Clean_Clear_Cleanser_2.jpg?v=1773588632&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Comodex_-_Clean_Clear_Cleanser_2.jpg?v=1773588632&width=770 770w" fetchpriority="low" alt="Comodex Clean &amp; Clear Cleanser, alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0073_comodex-cleanser_1.jpg?v=1773588629&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0073_comodex-cleanser_1.jpg?v=1773588629&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0073_comodex-cleanser_1.jpg?v=1773588629&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Comodex Clean &amp; Clear Cleanser" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/clean-and-clear-cleanser" title="Comodex Clean &amp; Clear Cleanser" class="product-card-title">Comodex Clean & Clear Cleanser</a>
		
			<p class="product-description">Purifies,cleanses dirt & makeup</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='2006112862281' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='7' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> (7) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/clean-and-clear-cleanser" aria-label="Comodex Clean &amp; Clear Cleanser"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="2006112862281" bss-b2b-variant-price bss-b2b-variant-id="51539798688063" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$48.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51539798688063" data-product-handle="clean-and-clear-cleanser" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/moisturizing-facial-wash" title="Forever Young Moisturizing Facial Wash" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/FY_-_Moisturizing_Facial_Wash_1_2.jpg?v=1773588753&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/FY_-_Moisturizing_Facial_Wash_1_2.jpg?v=1773588753&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/FY_-_Moisturizing_Facial_Wash_1_2.jpg?v=1773588753&width=770 770w" fetchpriority="low" alt="Forever Young Moisturizing Facial Wash, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/FY_-_Moisturizing_Facial_Wash_2_2.jpg?v=1773588754&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/FY_-_Moisturizing_Facial_Wash_2_2.jpg?v=1773588754&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/FY_-_Moisturizing_Facial_Wash_2_2.jpg?v=1773588754&width=770 770w" fetchpriority="low" alt="Forever Young Moisturizing Facial Wash, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0102_fy-wash_1.jpg?v=1773588753&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0102_fy-wash_1.jpg?v=1773588753&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0102_fy-wash_1.jpg?v=1773588753&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Forever Young Moisturizing Facial Wash, cleanser" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/moisturizing-facial-wash" title="Forever Young Moisturizing Facial Wash" class="product-card-title">Forever Young Moisturizing Facial Wash</a>
		
			<p class="product-description">Infuses moisture & antioxidants</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='2007355457609' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.93' data-number-of-reviews='15' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.93' tabindex='0' aria-label='4.93 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> (15) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/moisturizing-facial-wash" aria-label="Forever Young Moisturizing Facial Wash"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="2007355457609" bss-b2b-variant-price bss-b2b-variant-id="51540760527167" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$48.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51540760527167" data-product-handle="moisturizing-facial-wash" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/unstress-gentle-cleansing-milk" title="Unstress Gentle Cleansing Milk" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Gentle_Cleansing_Milk_1_3.jpg?v=1773588736&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Gentle_Cleansing_Milk_1_3.jpg?v=1773588736&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Gentle_Cleansing_Milk_1_3.jpg?v=1773588736&width=770 770w" fetchpriority="low" alt="Unstress Gentle Cleansing Milk, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Gentle_Cleansing_Milk_2_3.jpg?v=1773588738&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Gentle_Cleansing_Milk_2_3.jpg?v=1773588738&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Gentle_Cleansing_Milk_2_3.jpg?v=1773588738&width=770 770w" fetchpriority="low" alt="Unstress Gentle Cleansing Milk, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0096_unstress_milk_1.jpg?v=1773588736&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0096_unstress_milk_1.jpg?v=1773588736&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0096_unstress_milk_1.jpg?v=1773588736&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Unstress Gentle Cleansing Milk, cleanser" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/unstress-gentle-cleansing-milk" title="Unstress Gentle Cleansing Milk" class="product-card-title">Unstress Gentle Cleansing Milk</a>
		
			<p class="product-description">Anti oxidant & moisturizing</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='2007351918665' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='0.00' tabindex='0' aria-label='0.00 stars' role='button'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> No reviews </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/unstress-gentle-cleansing-milk" aria-label="Unstress Gentle Cleansing Milk"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="2007351918665" bss-b2b-variant-price bss-b2b-variant-id="51543163633983" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$48.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51543163633983" data-product-handle="unstress-gentle-cleansing-milk" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/biophyto-zaatar-cream" title="BioPhyto Zaatar Cream" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Biophyto_-_Zataar_Cream_1_1.jpg?v=1773588898&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Biophyto_-_Zataar_Cream_1_1.jpg?v=1773588898&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Biophyto_-_Zataar_Cream_1_1.jpg?v=1773588898&width=770 770w" fetchpriority="low" alt="BioPhyto Zaatar Cream, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Biophyto_-_Zataar_Cream_2_3.jpg?v=1773588899&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Biophyto_-_Zataar_Cream_2_3.jpg?v=1773588899&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Biophyto_-_Zataar_Cream_2_3.jpg?v=1773588899&width=770 770w" fetchpriority="low" alt="BioPhyto Zaatar Cream, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0030_bio-zaatar_cream_1.jpg?v=1773588895&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0030_bio-zaatar_cream_1.jpg?v=1773588895&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0030_bio-zaatar_cream_1.jpg?v=1773588895&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="BioPhyto Zaatar Cream, face cream" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/biophyto-zaatar-cream" title="BioPhyto Zaatar Cream" class="product-card-title">BioPhyto Zaatar Cream</a>
		
			<p class="product-description">Purifies, soothes irritation, controls shine</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='4408658591817' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='4.44' data-number-of-reviews='9' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.44' tabindex='0' aria-label='4.44 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> (9) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/biophyto-zaatar-cream" aria-label="BioPhyto Zaatar Cream"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="4408658591817" bss-b2b-variant-price bss-b2b-variant-id="51539662340415" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$72.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51539662340415" data-product-handle="biophyto-zaatar-cream" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/unstress-total-serenity-serum" title="Unstress Total Serenity Serum" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Total_Serenity_Serum_1_2.jpg?v=1773588673&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Total_Serenity_Serum_1_2.jpg?v=1773588673&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Total_Serenity_Serum_1_2.jpg?v=1773588673&width=770 770w" fetchpriority="low" alt="Unstress Total Serenity Serum, alternate view"  />
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Total_Serenity_Serum_2_2.jpg?v=1773588673&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Total_Serenity_Serum_2_2.jpg?v=1773588673&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Unstress_-_Total_Serenity_Serum_2_2.jpg?v=1773588673&width=770 770w" fetchpriority="low" alt="Unstress Total Serenity Serum, second alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0046_unstress_total_serenity_serum_1.jpg?v=1773588673&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0046_unstress_total_serenity_serum_1.jpg?v=1773588673&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0046_unstress_total_serenity_serum_1.jpg?v=1773588673&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Unstress Total Serenity Serum" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/unstress-total-serenity-serum" title="Unstress Total Serenity Serum" class="product-card-title">Unstress Total Serenity Serum</a>
		
			<p class="product-description">Soothes & strengthens natural defenses</p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='2006135767113' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='6' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> (6) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/unstress-total-serenity-serum" aria-label="Unstress Total Serenity Serum"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="2006135767113" bss-b2b-variant-price bss-b2b-variant-id="51543200825663" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$98.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51543200825663" data-product-handle="unstress-total-serenity-serum" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="small-6 medium-6 large-3 columns carousel__slide">
								<product-card class="product-card text-left">
  <figure class="product-featured-image thb-hover">
    <span class="product-card--badges top left">
</span>



    <a href="/products/illustrious-cleanser" title="Illustrious Cleanser" class="product-featured-image-link aspect-ratio aspect-ratio--adapt" style="--padding-bottom: 116.66666666666667%;">
<img class="lazyload no-blur product-secondary-image" width="1200" height="1400" data-sizes="auto" data-src="//christina-cosmeceuticals.com/cdn/shop/files/ILLUSTRIOUS_-_Cleanser_1_2.jpg?v=1773588860&width=375" data-srcset="//christina-cosmeceuticals.com/cdn/shop/files/ILLUSTRIOUS_-_Cleanser_1_2.jpg?v=1773588860&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/ILLUSTRIOUS_-_Cleanser_1_2.jpg?v=1773588860&width=770 770w" fetchpriority="low" alt="Illustrious Cleanser, alternate view"  />

<img class="no-blur product-primary-image" width="375" height="437" src="//christina-cosmeceuticals.com/cdn/shop/files/0093_illustrious_cleanser_1.jpg?v=1773588860&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0093_illustrious_cleanser_1.jpg?v=1773588860&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/0093_illustrious_cleanser_1.jpg?v=1773588860&width=770 770w" sizes="auto" loading="eager" fetchpriority="auto" alt="Illustrious Cleanser, facial cleanser" style="object-position: 50.0% 50.0%;" /></a></figure>
	<div class="product-card-info"><a href="/products/illustrious-cleanser" title="Illustrious Cleanser" class="product-card-title">Illustrious Cleanser</a>
		
			<p class="product-description">Purifies, refreshes & brightens </p>
		
<!-- Start of Judge.me code --> 
			<div style='' class='jdgm-widget jdgm-preview-badge' data-id='4097152352329' data-auto-install='false'> 
			<div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='7' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> (7) </span> </div> 
			</div> 
			<a class="product-card__rating-link" href="/products/illustrious-cleanser" aria-label="Illustrious Cleanser"></a>

		<!-- End of Judge.me code -->



     
 

<span class="price" bss-b2b-product-id="4097152352329" bss-b2b-variant-price bss-b2b-variant-id="51541091778879" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$52.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
   
			<div class="product-card--add-to-cart-button-container">
				<button class="product-card--add-to-cart-button outline product-card--add-to-cart-button-simple button accent" data-product-id="51541091778879" data-product-handle="illustrious-cleanser" tabindex="-1" >
					<span class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</span>
					<span class="product-card--add-to-cart-text">Add to cart</span>
				</button>
			</div>

      
</div>
</product-card>
							</div><div class="flickity-nav flickity-prev" tabindex="0">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14 5.5H2" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.30002 1L0.800018 5.5L5.30002 10" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
<div class="flickity-nav flickity-next" tabindex="0">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5.5H13" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9.69995 1L14.2 5.5L9.69995 10" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div></slide-show><div class="flickity-progress">
					<div class="flickity-progress--bar"></div>
				</div></div>
		</div>
	</div>
</div>

</div><div id="shopify-section-template--27928523243839__slideshow_jxpytQ" class="shopify-section section-slideshow"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/slideshow.css?v=129520183629553856751791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row">
    <div class="small-12 columns">
        <slide-show class="slideshow main-slideshow carousel custom-dots mobile-height-500 desktop-height-650 section-spacing section-spacing--disable-bottom transition--fade" data-dots="false" data-autoplay="false" data-fade="true" data-transition="fade" style="--dot-speed: 0s;--color-text: #fff;background: transparent;"><div id="Slide-slide_rxFDaH" class="slideshow__slide slideshow__slide--index-1 carousel__slide mobile-height-500 desktop-height-650 text-left content-size-medium is-initial-selected" style="--overlay-color-rgb: 0,0,0; --overlay-opacity: 0.0;background: transparent;" >
                    
                    <style>
                      #Slide-slide_rxFDaH .subheading { color: #ffffff !important; }
                      #Slide-slide_rxFDaH .slideshow__slide-content--heading { color: #535458 !important; }
                      #Slide-slide_rxFDaH p.split-text { color: #535458 !important; }
                      #Slide-slide_rxFDaH .button {
                        background-color: #535458 !important;
                        border-color: #535458 !important;
                        color: #ffffff !important;
                      }
                      #Slide-slide_rxFDaH .button.outline {
                        background-color: transparent !important;
                        border-color: #535458 !important;
                        color: #535458 !important;
                      }
                      #Slide-slide_rxFDaH .button * { color: inherit !important; }
                    </style><div class="slideshow__slide-bg">
<img class="no-blur slideshow-image--desktop" width="900" height="309" src="//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=900" srcset="//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=900 900w,//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=1000 1000w,//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=1100 1100w,//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=1200 1200w,//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=1400 1400w,//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=1600 1600w,//christina-cosmeceuticals.com/cdn/shop/files/DESKTOP_BANNER_6.jpg?v=1782293050&width=2560 2560w" sizes="auto" loading="lazy" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
<img class="no-blur slideshow-image--mobile" width="375" height="500" src="//christina-cosmeceuticals.com/cdn/shop/files/Still_2025-10-28_100156_1.1.1_5.png?crop=center&height=500&v=1789020942&width=375" srcset="//christina-cosmeceuticals.com/cdn/shop/files/Still_2025-10-28_100156_1.1.1_5.png?v=1789020942&width=375 375w,//christina-cosmeceuticals.com/cdn/shop/files/Still_2025-10-28_100156_1.1.1_5.png?v=1789020942&width=1000 1000w" sizes="auto" loading="lazy" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" /></div><div class="slideshow__slide-overlay" style="background: "></div>
                    <div class="slideshow__slide-inner content-bottom-left">
                        <div class="slideshow__slide-content">
                            
                            
                            
                            <p class="split-text description-size--large">BACK TO ROUTINE. <br />
BACK TO RESULTS..</p>
                            
                            
                            <div class="button-overflow-container">
                                <a class="button " href="/collections/routines-1" role="button" title="SAVE 20% ON ROUTINES"><span>SAVE 20% ON ROUTINES</span></a>
                            </div>
                    
                            
                            
                        </div>
                    </div>
                </div></slide-show>
    </div>
</div>
</div><section id="shopify-section-template--27928523243839__numbers_text_TgVnEJ" class="shopify-section section-numbers"><style data-shopify>#NumbersSection-template--27928523243839__numbers_text_TgVnEJ {
    --es-eyebrow: #8a7f7d;
    --es-heading: #535458;
    --es-accent: #c8102e;
    --es-sub: #535458;
    --es-label: #535458;
    --es-number: #b8272f;
    --es-title: #535458;
    --es-text: #5c5654;
    --es-divider: #eae1df;
    --es-radius: 0px;
    --es-img-h: 260px;

    --es-eyebrow-size: 12px;
    --es-heading-size: 30px;
    --es-sub-size: 15px;
    --es-label-size: 12px;
    --es-number-size: 40px;
    --es-title-size: 15px;
    --es-text-size: 13px;
    --es-row-gap: 20px;
    --es-pt: 40px;
    --es-pb: 40px;
    --es-col-gap: 28px;
    --es-num-col: 95px;

    display: block;
    position: relative;
    overflow: hidden;background: #ffffff;
    padding-top: var(--es-pt);
    padding-bottom: var(--es-pb);
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ *, #NumbersSection-template--27928523243839__numbers_text_TgVnEJ *::before, #NumbersSection-template--27928523243839__numbers_text_TgVnEJ *::after { box-sizing: border-box; }

  .es-wrap-template--27928523243839__numbers_text_TgVnEJ {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--es-col-gap);
    max-width: 1720px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
  }/* ---------- Media ---------- */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-media { position: relative; }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame {
    position: relative;
    z-index: 1;
    border-radius: var(--es-radius);
    overflow: hidden;
    clip-path: inset(0 0 100% 0);
    transition: clip-path 1.1s cubic-bezier(0.16, 1, 0.3, 1);
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ.es-in .es-frame { clip-path: inset(0 0 0 0); }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame img,
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame svg {
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1.06);
    transition: transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ.es-in .es-frame img,
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ.es-in .es-frame svg { transform: none; }#NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame img,
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame svg {
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
  }/* ---------- Content ---------- */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    justify-content: center;
  }

  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-primary, inherit);
    font-size: var(--es-eyebrow-size);
    line-height: 1.3;
    color: var(--es-eyebrow);
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 12px;
  }#NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-eyebrow::before {
    content: '';
    display: block;
    flex: none;
    width: 0;
    height: 2px;
    background: var(--es-accent);
    transition: width .9s cubic-bezier(0.16, 1, 0.3, 1) .15s;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ.es-in .es-eyebrow::before { width: 30px; }#NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-heading {
    font-family: var(--font-primary, inherit);
    font-size: var(--es-heading-size);
    line-height: 1.08;
    color: var(--es-heading);
    font-weight: 500;
    letter-spacing: -0.005em;
    
    margin: 0 0 12px;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-heading .accent,
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-heading em {
    color: var(--es-accent);
    font-style: normal;
  }

  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-sub {
    font-family: var(--font-primary, inherit);
    font-size: var(--es-sub-size);
    line-height: 1.6;
    color: var(--es-sub);
    
    margin: 0 0 26px;
    max-width: 98ch;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-sub p { margin: 0 0 8px; }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-sub p:last-child { margin-bottom: 0; }

  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stats-label {
    font-family: var(--font-primary, inherit);
    font-size: var(--es-label-size);
    line-height: 1.2;
    color: var(--es-label);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 20px;
  }

  /* ---------- Stats ---------- */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--es-row-gap);
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stat {
    position: relative;
    display: grid;
    grid-template-columns: var(--es-num-col) 1fr;
    align-items: center;
    column-gap: 20px;
    
    transition: transform .35s cubic-bezier(0.16, 1, 0.3, 1);
  }@media (hover: hover) {
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stat:hover { transform: translateX(5px); }
  }#NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-num {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    font-family: var(--font-primary, inherit);
    font-size: var(--es-number-size);
    line-height: 1;
    color: var(--es-number);
    font-weight: 700;
    letter-spacing: -0.02em;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-num .es-unit {
    font-size: 1.0em;
    font-weight: 700;
    line-height: 1;
    align-self: flex-end;
  }
  /* The ghost holds the final value's width so nothing shifts while counting */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-num-value {
    position: relative;
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-num-ghost { visibility: hidden; }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-num-live {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-align: right;
  }

  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stat-title {
    font-family: var(--font-primary, inherit);
    font-size: var(--es-title-size);
    line-height: 1.3;
    color: var(--es-title);
    font-weight: 600;
    letter-spacing: 0.0em;
    text-align: left;
    margin: 0 0 3px;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stat-text {
    font-family: var(--font-primary, inherit);
    font-size: var(--es-text-size);
    line-height: 1.45;
    color: var(--es-text);
    font-weight: 400;
    text-align: left;
    margin: 0;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stat-text p { margin: 0; }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-stat-text sup { font-size: .7em; }

  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-foot {
    font-family: var(--font-primary, inherit);
    font-size: 12px;
    line-height: 1.5;
    color: var(--es-text);
    opacity: .65;
    margin: 22px 0 0;
    max-width: 52ch;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-foot p { margin: 0; }

  /* ---------- Pill ---------- */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 26px;
    padding: 10px 18px;
    border-radius: 0px;
    border: 1px solid #e8e1df;
    background: #ffffff;
    color: #3c3c3c;
    font-family: var(--font-primary, inherit);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-pill svg { width: 1em; height: 1em; flex: none; }

  /* ---------- CTA ---------- */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-cta-wrap { margin-top: 26px; }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-primary, inherit);
    font-size: 15px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 15px 32px;
    border-radius: 0px;
    border: 1px solid #b8272f;
    background: #b8272f;
    color: #ffffff;
    transition: background-color .35s ease, color .35s ease, box-shadow .35s ease, transform .35s ease;
    cursor: pointer;
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-cta svg {
    width: .75em;
    height: .75em;
    flex: none;
    transition: transform .35s cubic-bezier(0.16, 1, 0.3, 1);
  }
  @media (hover: hover) {
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(0,0,0,.4); }
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-cta:hover svg { transform: translateX(5px); }
  }/* ---------- Reveal ---------- */
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-anim {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .7s cubic-bezier(0.16, 1, 0.3, 1), transform .7s cubic-bezier(0.16, 1, 0.3, 1);
  }
  #NumbersSection-template--27928523243839__numbers_text_TgVnEJ.es-in .es-anim { opacity: 1; transform: none; }

  @media (prefers-reduced-motion: reduce) {
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-anim,
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame,
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ .es-frame img {
      opacity: 1 !important;
      transform: none !important;
      clip-path: none !important;
      transition: none !important;
    }
  }

  /* ---------- Desktop ---------- */
  @media screen and (min-width: 750px) {
    #NumbersSection-template--27928523243839__numbers_text_TgVnEJ {
      --es-eyebrow-size: 14px;
      --es-heading-size: 36px;
      --es-sub-size: 16px;
      --es-label-size: 19px;
      --es-number-size: 50px;
      --es-title-size: 19px;
      --es-text-size: 14px;
      --es-row-gap: 26px;
      --es-pt: 48px;
      --es-pb: 48px;
      --es-col-gap: 56px;
      --es-num-col: 130px;
      --es-img-h: 560px;
    }
    .es-wrap-template--27928523243839__numbers_text_TgVnEJ {
      display: grid;
      grid-template-columns: 57fr 43fr;
      align-items: center;
      padding-left: 40px;
      padding-right: 40px;
    }
    .es-wrap-template--27928523243839__numbers_text_TgVnEJ .es-media { order: 1; }
    .es-wrap-template--27928523243839__numbers_text_TgVnEJ .es-content { order: 2; }
  }</style><numbers-section
  id="NumbersSection-template--27928523243839__numbers_text_TgVnEJ"
  class="numbers-section"
  data-animate="true"
  data-duration="2400"
  data-stagger="100"
  data-start="50"
  
>
  <div class="es-wrap-template--27928523243839__numbers_text_TgVnEJ">

    <div class="es-media">
      <div class="es-frame"><img src="//christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=1600" alt="New Muse Red Mask, alternate view" srcset="//christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=400 400w, //christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=600 600w, //christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=800 800w, //christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=1000 1000w, //christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=1200 1200w, //christina-cosmeceuticals.com/cdn/shop/files/MUSE-REDMASK2.webp?v=1786439021&amp;width=1600 1600w" width="1600" height="1867" loading="lazy" sizes="(min-width: 750px) 57vw, 100vw" class="es-img"></div>
    </div>

    <div class="es-content"><h2 class="es-heading es-anim">Muse Red Mask</h2><div class="es-sub es-anim"><p>An instant vitality boost for a radiant, luminous finish. Formulated to smooth, firm and revive tired-looking skin from the very first use.</p></div><ul class="es-list" role="list"><li class="es-stat es-anim" >
                <span class="es-num"><span class="es-num-value" data-target="100" data-decimals="0" data-display="100"><span class="es-num-ghost" aria-hidden="true">100</span><span class="es-num-live">100</span></span><span class="es-unit">%</span></span>
                <div class="es-stat-copy"><p class="es-stat-title">Instantly smoother skin</p><div class="es-stat-text"><p>Noticed an instantly smoother skin feel after just one use.</p></div></div>
              </li><li class="es-stat es-anim" >
                <span class="es-num"><span class="es-num-value" data-target="100" data-decimals="0" data-display="100"><span class="es-num-ghost" aria-hidden="true">100</span><span class="es-num-live">100</span></span><span class="es-unit">%</span></span>
                <div class="es-stat-copy"><p class="es-stat-title">Improved Skin Vitality</p><div class="es-stat-text"><p>Agreed skin vitality is visibly improved and revitalized.</p></div></div>
              </li><li class="es-stat es-anim" >
                <span class="es-num"><span class="es-num-value" data-target="95" data-decimals="0" data-display="95"><span class="es-num-ghost" aria-hidden="true">95</span><span class="es-num-live">95</span></span><span class="es-unit">%</span></span>
                <div class="es-stat-copy"><p class="es-stat-title">Smoother Complexion</p><div class="es-stat-text"><p>Agreed their complexion appears smoother and more refined.</p></div></div>
              </li><li class="es-stat es-anim" >
                <span class="es-num"><span class="es-num-value" data-target="95" data-decimals="0" data-display="95"><span class="es-num-ghost" aria-hidden="true">95</span><span class="es-num-live">95</span></span><span class="es-unit">%</span></span>
                <div class="es-stat-copy"><p class="es-stat-title">Firmer and more Elastic</p><div class="es-stat-text"><p>Reported a visibly firmer and more elastic skin surface.</p></div></div>
              </li></ul><div class="es-foot es-anim"><p>*Self-assessment, 20 subjects, after 4 weeks of use.</p></div><div class="es-cta-wrap es-anim">
          <a class="es-cta" href="/products/muse-red-mask">
            <span>Shop Muse Red Mask</span></a>
        </div></div>
  </div>
</numbers-section>

<script>
  if (!customElements.get('numbers-section')) {
    customElements.define(
      'numbers-section',
      class NumbersSection extends HTMLElement {
        connectedCallback() {
          if (this.dataset.bound === 'true') return;
          this.dataset.bound = 'true';

          this.reduced = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
          this.duration = parseInt(this.dataset.duration, 10) || 1400;
          this.stagger = parseInt(this.dataset.stagger, 10) || 0;
          this.from = parseFloat(this.dataset.start);
          if (isNaN(this.from)) this.from = 0;
          this.animOn = this.dataset.animate === 'true' && !this.reduced;

          this.animEls = Array.prototype.slice.call(this.querySelectorAll('.es-anim'));
          this.nums = Array.prototype.slice.call(this.querySelectorAll('.es-num-value'));

          if (this.animOn) {
            var self0 = this;
            this.nums.forEach(function (el) {
              var live = el.querySelector('.es-num-live');
              if (live) {
                live.textContent = NumbersSection.format(self0.startFor(el), parseInt(el.dataset.decimals, 10) || 0);
              }
            });
          }

          if (!('IntersectionObserver' in window)) {
            this.reveal();
            return;
          }

          var self = this;
          this.observer = new IntersectionObserver(
            function (entries) {
              entries.forEach(function (entry) {
                if (entry.isIntersecting) {
                  self.reveal();
                  self.observer.disconnect();
                }
              });
            },
            { rootMargin: '0px 0px -10% 0px', threshold: 0.2 }
          );
          this.observer.observe(this);
        }

        disconnectedCallback() {
          if (this.observer) this.observer.disconnect();
        }

        static format(value, decimals) {
          return decimals > 0 ? value.toFixed(decimals) : String(Math.round(value));
        }

        /* Where this stat's numbers start counting from */
        startFor(el) {
          var target = parseFloat(el.dataset.target) || 0;
          var from = parseFloat(el.dataset.from);
          if (isNaN(from)) from = this.from;
          if (from >= target) from = 0;
          return from;
        }

        reveal() {
          var self = this;
          var stagger = this.reduced ? 0 : this.stagger;

          this.animEls.forEach(function (el, i) {
            el.style.transitionDelay = i * stagger + 'ms';
          });
          this.classList.add('es-in');

          if (!this.animOn) return;

          /* All numbers count together and land together — one deliberate event */
          window.setTimeout(function () {
            self.nums.forEach(function (el) {
              var live = el.querySelector('.es-num-live');
              if (!live) return;
              self.count(
                live,
                self.startFor(el),
                parseFloat(el.dataset.target) || 0,
                parseInt(el.dataset.decimals, 10) || 0,
                self.duration
              );
            });
          }, 220);
        }

        count(live, from, target, decimals, duration) {
          var startTs = null;
          var lastPaint = -1;
          var TICK = 55; /* ms between value changes — slow enough to read each number */

          /* easeOutQuad — near-steady climb, gentle landing */
          function ease(t) { return 1 - (1 - t) * (1 - t); }

          function step(ts) {
            if (startTs === null) startTs = ts;
            var elapsed = ts - startTs;
            var p = Math.min(elapsed / duration, 1);

            if (p >= 1) {
              live.textContent = NumbersSection.format(target, decimals);
              return;
            }

            var tick = Math.floor(elapsed / TICK);
            if (tick !== lastPaint) {
              lastPaint = tick;
              live.textContent = NumbersSection.format(from + (target - from) * ease(p), decimals);
            }
            window.requestAnimationFrame(step);
          }

          window.requestAnimationFrame(step);
        }
      }
    );
  }
</script>


</section><div id="shopify-section-template--27928523243839__multicolumn_wgpgPC" class="shopify-section section-multicolumn"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/multicolumn.css?v=119247321008143945061791800359" rel="stylesheet" type="text/css" media="all" /><div class="multicolumn text-left mobile-columns--1-5 section-spacing" style="--mc-card-gap:8px;">
  <div class="row full-width-row">
    <div class="small-12 columns">
      <div class="section-header section-header-left--true">
		<div class="section-header--content"><h2 class="h2">Our Signature Lines</h2><div class="rte">
					<p>Innovative formulas, proven performance, and tailored solutions for every skin concern.</p>
				</div></div></div>
      <div class="multicolumn__inner display-type--carousel">
        <slide-show class="row align-stretch no-padding carousel left">
          

                  <div class="multicolumn__column small-12 medium-1/5 large-1/5 columns carousel__slide">
                    
<figure class="multicolumn__image" style="width: 1200px;">
                        <div class="multicolumn__image--inner aspect-ratio aspect-ratio--square" style="--ratio-percent: 100%;">
                          
                            <a href="/collections/new-muse">
                          

<img class="no-blur " width="407" height="474" src="//christina-cosmeceuticals.com/cdn/shop/files/MUSE_VERTICAL_4.jpg?v=1786446621&width=407" srcset="//christina-cosmeceuticals.com/cdn/shop/files/MUSE_VERTICAL_4.jpg?v=1786446621&width=407 407w,//christina-cosmeceuticals.com/cdn/shop/files/MUSE_VERTICAL_4.jpg?v=1786446621&width=814 814w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
                            </a>
                          
                        </div>
                      </figure>
                    
                    <div class="multicolumn-content align--left">
                      
                        <h4 class="h5">NEW MUSE</h4>
                      
                      
                        <div class="rte" ><p>Longevity technology to support skin health over time</p></div>
                      
                      
                    </div>
                  </div>
                

                  <div class="multicolumn__column small-12 medium-1/5 large-1/5 columns carousel__slide">
                    
<figure class="multicolumn__image" style="width: 1200px;">
                        <div class="multicolumn__image--inner aspect-ratio aspect-ratio--square" style="--ratio-percent: 100%;">
                          
                            <a href="/collections/bio-phyto">
                          

<img class="no-blur " width="407" height="474" src="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHTYO_3.jpg?v=1762001373&width=407" srcset="//christina-cosmeceuticals.com/cdn/shop/files/BIOPHTYO_3.jpg?v=1762001373&width=407 407w,//christina-cosmeceuticals.com/cdn/shop/files/BIOPHTYO_3.jpg?v=1762001373&width=814 814w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
                            </a>
                          
                        </div>
                      </figure>
                    
                    <div class="multicolumn-content align--left">
                      
                        <h4 class="h5">BIO PHYTO</h4>
                      
                      
                        <div class="rte" ><p>Plant-based care to balance and purify the skin</p></div>
                      
                      
                    </div>
                  </div>
                

                  <div class="multicolumn__column small-12 medium-1/5 large-1/5 columns carousel__slide">
                    
<figure class="multicolumn__image" style="width: 1200px;">
                        <div class="multicolumn__image--inner aspect-ratio aspect-ratio--square" style="--ratio-percent: 100%;">
                          
                            <a href="/collections/illustrious">
                          

<img class="no-blur " width="407" height="474" src="//christina-cosmeceuticals.com/cdn/shop/files/ILLUSTRIOUS_4_4.jpg?v=1762003534&width=407" srcset="//christina-cosmeceuticals.com/cdn/shop/files/ILLUSTRIOUS_4_4.jpg?v=1762003534&width=407 407w,//christina-cosmeceuticals.com/cdn/shop/files/ILLUSTRIOUS_4_4.jpg?v=1762003534&width=814 814w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
                            </a>
                          
                        </div>
                      </figure>
                    
                    <div class="multicolumn-content align--left">
                      
                        <h4 class="h5">ILLUSTRIOUS</h4>
                      
                      
                        <div class="rte" ><p>Effective brightening and helps prevent dark spots</p></div>
                      
                      
                    </div>
                  </div>
                

                  <div class="multicolumn__column small-12 medium-1/5 large-1/5 columns carousel__slide">
                    
<figure class="multicolumn__image" style="width: 1200px;">
                        <div class="multicolumn__image--inner aspect-ratio aspect-ratio--square" style="--ratio-percent: 100%;">
                          
                            <a href="/collections/nuance">
                          

<img class="no-blur " width="407" height="474" src="//christina-cosmeceuticals.com/cdn/shop/files/NUANCE_7.jpg?v=1762007271&width=407" srcset="//christina-cosmeceuticals.com/cdn/shop/files/NUANCE_7.jpg?v=1762007271&width=407 407w,//christina-cosmeceuticals.com/cdn/shop/files/NUANCE_7.jpg?v=1762007271&width=814 814w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
                            </a>
                          
                        </div>
                      </figure>
                    
                    <div class="multicolumn-content align--left">
                      
                        <h4 class="h5">NUANCE</h4>
                      
                      
                        <div class="rte" ><p>Targeted advanced care for mature skin</p></div>
                      
                      
                    </div>
                  </div>
                

                  <div class="multicolumn__column small-12 medium-1/5 large-1/5 columns carousel__slide">
                    
<figure class="multicolumn__image" style="width: 1200px;">
                        <div class="multicolumn__image--inner aspect-ratio aspect-ratio--square" style="--ratio-percent: 100%;">
                          
                            <a href="/collections/forever-young">
                          

<img class="no-blur " width="407" height="474" src="//christina-cosmeceuticals.com/cdn/shop/files/FY_4_2.jpg?v=1761814906&width=407" srcset="//christina-cosmeceuticals.com/cdn/shop/files/FY_4_2.jpg?v=1761814906&width=407 407w,//christina-cosmeceuticals.com/cdn/shop/files/FY_4_2.jpg?v=1761814906&width=814 814w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
                            </a>
                          
                        </div>
                      </figure>
                    
                    <div class="multicolumn-content align--left">
                      
                        <h4 class="h5">FOREVER YOUNG</h4>
                      
                      
                        <div class="rte" ><p>Advanced anti-aging powered by peptide technology</p></div>
                      
                      
                    </div>
                  </div>
                

                  <div class="multicolumn__column small-12 medium-1/5 large-1/5 columns carousel__slide">
                    
<figure class="multicolumn__image" style="width: 1200px;">
                        <div class="multicolumn__image--inner aspect-ratio aspect-ratio--square" style="--ratio-percent: 100%;">
                          
                            <a href="/pages/line-repair">
                          

<img class="no-blur " width="407" height="474" src="//christina-cosmeceuticals.com/cdn/shop/files/Line_Repair_Hydra_-_Vertical_3.jpg?v=1762005589&width=407" srcset="//christina-cosmeceuticals.com/cdn/shop/files/Line_Repair_Hydra_-_Vertical_3.jpg?v=1762005589&width=407 407w,//christina-cosmeceuticals.com/cdn/shop/files/Line_Repair_Hydra_-_Vertical_3.jpg?v=1762005589&width=814 814w" sizes="auto" loading="eager" fetchpriority="auto" alt="" style="object-position: 50.0% 50.0%;" />
                            </a>
                          
                        </div>
                      </figure>
                    
                    <div class="multicolumn-content align--left">
                      
                        <h4 class="h5">LINE REPAIR</h4>
                      
                      
                        <div class="rte" ><p>Five targeted treatments for changing skin needs</p></div>
                      
                      
                    </div>
                  </div>
                

<div class="flickity-nav flickity-prev" tabindex="0">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14 5.5H2" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.30002 1L0.800018 5.5L5.30002 10" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
<div class="flickity-nav flickity-next" tabindex="0">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5.5H13" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9.69995 1L14.2 5.5L9.69995 10" stroke="var(--color-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div></slide-show><div class="flickity-progress">
          <div class="flickity-progress--bar"></div>
        </div></div>
    </div>
  </div>
</div>
<script>
  (function () {
    var section = document.currentScript && document.currentScript.previousElementSibling;
    if (!section) return;
    var track = section.querySelector('.multicolumn__inner > .row');
    if (!track) return;
    // In RTL the horizontal scroller can open at the far end, leaving the first
    // card off-screen. Put it back to the start once the layout has settled.
    requestAnimationFrame(function () {
      if (getComputedStyle(track).direction === 'rtl') {
        track.scrollLeft = track.scrollWidth;
      } else {
        track.scrollLeft = 0;
      }
    });
  })();
</script>
</div><div id="shopify-section-template--27928523243839__rich_text_rhHrUX" class="shopify-section section-rich-text"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/rich-text.css?v=53170447128416777361791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row">
	<div class="small-12 columns">
		<div class="rich-text text-left text-position-left text-width-large section-spacing-padding"style="--color-bg: #f7f7f8; --color-text: #535458; --solid-button-background: #535458; --outline-button-label: #535458; --solid-button-label: #f7f7f8; --bg-body: #f7f7f8; --color-accent: #535458; --color-accent-rgb:  83,84,88;">
			<div class="rich-text__inner">
				

								<h1 class="h1" >Are you a licensed esthetician?</h1>
							

<div class="rte text-size-regular" >
								<p>Professional pricing, clinic formats and full treatment protocols. <br/><br/>Already registered? Sign in below. <br/>New to Christina?<a href="/pages/work-with-christina" title="Work with Christina"> Open a professional account </a>- it takes a few minutes.</p>
								
							</div>

							<a class="button" href="https://christina-cosmeceuticals.com/account/login" ><span>Professional login & shop</span></a>
						

			</div>
		</div>
	</div>
</div>


</div><div id="shopify-section-template--27928523243839__rich_text_EVdb9g" class="shopify-section section-rich-text"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/rich-text.css?v=53170447128416777361791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row">
	<div class="small-12 columns">
		<div class="rich-text text-left text-position-left text-width-xlarge section-spacing-padding section-spacing--disable-bottom"style="--color-bg: rgba(0,0,0,0); --color-text: #535458; --solid-button-background: #535458; --outline-button-label: #535458; --solid-button-label: #ffffff; --bg-body: rgba(0,0,0,0); --color-accent: #535458; --color-accent-rgb:  83,84,88;">
			<div class="rich-text__inner">
				

								<h1 class="h2" >Trusted by Professionals, Loved by Customers</h1>
							

			</div>
		</div>
	</div>
</div>


</div><div id="shopify-section-template--27928523243839__shoppable_view_reels_9aiiwm" class="shopify-section section-shoppable-video-reels"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/shoppable-video-reels.css?v=87967393635553321801791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row-full">
	<div class="small-12 columns">
		<div class="shoppable-video-reels section-spacing section-spacing--disable-top">
			<slide-show class="shoppable-video-reels--carousel carousel custom-dots" data-align="center" data-dots="true" style="--video-aspect-ratio: 0.75;"><div class="shoppable-video-reels--slide carousel__slide" >
						<div class="shoppable-video-reels--video" style="position: relative; overflow: hidden;">
							<div class="slideshow__slide-video-bg" style="position: static; height: 100%;" data-provider="hosted">
								
									<video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/b6a998f3f6d4402fbff15976fa0758ba.thumbnail.0000000000_600x.jpg?v=1787128556" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/b6a998f3f6d4402fbff15976fa0758ba/b6a998f3f6d4402fbff15976fa0758ba.HD-1080p-2.5Mbps-92017422.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/b6a998f3f6d4402fbff15976fa0758ba.thumbnail.0000000000_600x.jpg?v=1787128556"></video>
								

								
									<video-controls class="shoppable-video-reels--video-controls">
										
											<button id="VideoPlayToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_fnCc4L" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-play-pause video-controls--play-pause">
												<span class="video-play">
  <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M15.3604 8.26364L2.68114 0.523993C2.46994 0.390153 2.22603 0.316907 1.97603 0.312249C1.72604 0.30759 1.47957 0.371699 1.26353 0.497578C1.04429 0.617861 0.861527 0.795012 0.734468 1.01039C0.60741 1.22577 0.540752 1.47142 0.54151 1.72148V17.2184C0.540752 17.4685 0.60741 17.7141 0.734468 17.9295C0.861527 18.1449 1.04429 18.322 1.26353 18.4423C1.47957 18.5682 1.72604 18.6323 1.97603 18.6276C2.22603 18.623 2.46994 18.5497 2.68114 18.4159L15.3604 10.6762C15.5682 10.5509 15.7402 10.3739 15.8595 10.1626C15.9788 9.95123 16.0415 9.71264 16.0415 9.46994C16.0415 9.22723 15.9788 8.98864 15.8595 8.7773C15.7402 8.56595 15.5682 8.38902 15.3604 8.26364Z" fill="white"/>
  </svg>
  </span>
												<span class="video-pause">
  <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 0H4V18H0V0Z" fill="white"/>
  <path d="M8 0H12V18H8V0Z" fill="white"/>
  </svg></span>
											</button>
										
										
											<button id="VideoSoundToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_fnCc4L" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-sound video-controls--sound muted">
												<span class="video-sound-on"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4920_259)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 6.67822C12.3217 7.04344 12.4991 7.51342 12.4991 8.0001C12.4991 8.48677 12.3217 8.95675 12 9.32197" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M13.8545 5C14.5924 5.82503 15.0004 6.8931 15.0004 8C15.0004 9.1069 14.5924 10.175 13.8545 11" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4920_259">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg></span>
												<span class="video-sound-off"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4927_197)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 6.5L12 9.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 9.5L12 6.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4927_197">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg>
</span>
											</button>
										
									</video-controls>
								
							</div>
							
							<div class="shoppable-video-reels--product" style="--color-body: #ffffff; --color-body-rgb: 255,255,255; --color-price: #ffffff; --color-accent: #ffffff; --color-accent-rgb: 255,255,255; background: "><product-card class="product-cart-item">
	<div class="product-cart-item-image">
		

<img class="no-blur " width="192" height="224" src="//christina-cosmeceuticals.com/cdn/shop/files/0023_MuseNew-Redmask_1.webp?v=1786439021&width=192" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0023_MuseNew-Redmask_1.webp?v=1786439021&width=192 192w" sizes="auto" loading="eager" fetchpriority="low" alt="New Muse Red Mask, face mask"  />
	</div>
	<div><a href="/products/muse-red-mask" title="New Muse Red Mask" class="cart-product-link">New Muse Red Mask</a>
		 
 

<span class="price" bss-b2b-product-id="10562661613887" bss-b2b-variant-price bss-b2b-variant-id="55117841957183" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount ">$56.00</span></ins>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
		<quick-view class="product-card-quickview text-button" data-product-handle="muse-red-mask" tabindex="-1">
			<div class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</div>
			<span>Quick view</span>
		</quick-view>
		
	</div>
</product-card>
</div>
							
						</div>
					</div><div class="shoppable-video-reels--slide carousel__slide" >
						<div class="shoppable-video-reels--video" style="position: relative; overflow: hidden;">
							<div class="slideshow__slide-video-bg" style="position: static; height: 100%;" data-provider="hosted">
								
									<video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/dbb5bc0539284c5ba21f44774e2066b7.thumbnail.0000000000_600x.jpg?v=1762434910" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/dbb5bc0539284c5ba21f44774e2066b7/dbb5bc0539284c5ba21f44774e2066b7.HD-1080p-7.2Mbps-61832494.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/dbb5bc0539284c5ba21f44774e2066b7.thumbnail.0000000000_600x.jpg?v=1762434910"></video>
								

								
									<video-controls class="shoppable-video-reels--video-controls">
										
											<button id="VideoPlayToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_W7idLX" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-play-pause video-controls--play-pause">
												<span class="video-play">
  <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M15.3604 8.26364L2.68114 0.523993C2.46994 0.390153 2.22603 0.316907 1.97603 0.312249C1.72604 0.30759 1.47957 0.371699 1.26353 0.497578C1.04429 0.617861 0.861527 0.795012 0.734468 1.01039C0.60741 1.22577 0.540752 1.47142 0.54151 1.72148V17.2184C0.540752 17.4685 0.60741 17.7141 0.734468 17.9295C0.861527 18.1449 1.04429 18.322 1.26353 18.4423C1.47957 18.5682 1.72604 18.6323 1.97603 18.6276C2.22603 18.623 2.46994 18.5497 2.68114 18.4159L15.3604 10.6762C15.5682 10.5509 15.7402 10.3739 15.8595 10.1626C15.9788 9.95123 16.0415 9.71264 16.0415 9.46994C16.0415 9.22723 15.9788 8.98864 15.8595 8.7773C15.7402 8.56595 15.5682 8.38902 15.3604 8.26364Z" fill="white"/>
  </svg>
  </span>
												<span class="video-pause">
  <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 0H4V18H0V0Z" fill="white"/>
  <path d="M8 0H12V18H8V0Z" fill="white"/>
  </svg></span>
											</button>
										
										
											<button id="VideoSoundToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_W7idLX" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-sound video-controls--sound muted">
												<span class="video-sound-on"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4920_259)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 6.67822C12.3217 7.04344 12.4991 7.51342 12.4991 8.0001C12.4991 8.48677 12.3217 8.95675 12 9.32197" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M13.8545 5C14.5924 5.82503 15.0004 6.8931 15.0004 8C15.0004 9.1069 14.5924 10.175 13.8545 11" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4920_259">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg></span>
												<span class="video-sound-off"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4927_197)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 6.5L12 9.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 9.5L12 6.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4927_197">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg>
</span>
											</button>
										
									</video-controls>
								
							</div>
							
							<div class="shoppable-video-reels--product" style="--color-body: #ffffff; --color-body-rgb: 255,255,255; --color-price: #ffffff; --color-accent: #ffffff; --color-accent-rgb: 255,255,255; background: "><product-card class="product-cart-item">
	<div class="product-cart-item-image">
		

<img class="no-blur " width="192" height="224" src="//christina-cosmeceuticals.com/cdn/shop/files/0028_LR_Hydra-Theraskin_HA_1.jpg?v=1776847955&width=192" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0028_LR_Hydra-Theraskin_HA_1.jpg?v=1776847955&width=192 192w" sizes="auto" loading="eager" fetchpriority="low" alt="Line Repair Hydra Theraskin+HA, face serum"  />
	</div>
	<div><a href="/products/line-repair-hydra-theraskin-ha-30" title="LINE REPAIR Hydra Theraskin+HA" class="cart-product-link">LINE REPAIR Hydra Theraskin+HA</a>
		 
 

<span class="price" bss-b2b-product-id="6816206127177" bss-b2b-variant-price bss-b2b-variant-id="51541304213823" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount discounted">$58.50</span></ins>
		
			<del>
				<span class="amount">
					
						$78.00
					
				</span>
			</del>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
		<quick-view class="product-card-quickview text-button" data-product-handle="line-repair-hydra-theraskin-ha-30" tabindex="-1">
			<div class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</div>
			<span>Quick view</span>
		</quick-view>
		
	</div>
</product-card>
</div>
							
						</div>
					</div><div class="shoppable-video-reels--slide carousel__slide" >
						<div class="shoppable-video-reels--video" style="position: relative; overflow: hidden;">
							<div class="slideshow__slide-video-bg" style="position: static; height: 100%;" data-provider="hosted">
								
									<video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/8998c720f59545d69b202e9f9ca8957e.thumbnail.0000000000_600x.jpg?v=1761809977" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/8998c720f59545d69b202e9f9ca8957e/8998c720f59545d69b202e9f9ca8957e.HD-1080p-7.2Mbps-61217025.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/8998c720f59545d69b202e9f9ca8957e.thumbnail.0000000000_600x.jpg?v=1761809977"></video>
								

								
									<video-controls class="shoppable-video-reels--video-controls">
										
											<button id="VideoPlayToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_KbejQb" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-play-pause video-controls--play-pause">
												<span class="video-play">
  <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M15.3604 8.26364L2.68114 0.523993C2.46994 0.390153 2.22603 0.316907 1.97603 0.312249C1.72604 0.30759 1.47957 0.371699 1.26353 0.497578C1.04429 0.617861 0.861527 0.795012 0.734468 1.01039C0.60741 1.22577 0.540752 1.47142 0.54151 1.72148V17.2184C0.540752 17.4685 0.60741 17.7141 0.734468 17.9295C0.861527 18.1449 1.04429 18.322 1.26353 18.4423C1.47957 18.5682 1.72604 18.6323 1.97603 18.6276C2.22603 18.623 2.46994 18.5497 2.68114 18.4159L15.3604 10.6762C15.5682 10.5509 15.7402 10.3739 15.8595 10.1626C15.9788 9.95123 16.0415 9.71264 16.0415 9.46994C16.0415 9.22723 15.9788 8.98864 15.8595 8.7773C15.7402 8.56595 15.5682 8.38902 15.3604 8.26364Z" fill="white"/>
  </svg>
  </span>
												<span class="video-pause">
  <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 0H4V18H0V0Z" fill="white"/>
  <path d="M8 0H12V18H8V0Z" fill="white"/>
  </svg></span>
											</button>
										
										
											<button id="VideoSoundToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_KbejQb" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-sound video-controls--sound muted">
												<span class="video-sound-on"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4920_259)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 6.67822C12.3217 7.04344 12.4991 7.51342 12.4991 8.0001C12.4991 8.48677 12.3217 8.95675 12 9.32197" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M13.8545 5C14.5924 5.82503 15.0004 6.8931 15.0004 8C15.0004 9.1069 14.5924 10.175 13.8545 11" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4920_259">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg></span>
												<span class="video-sound-off"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4927_197)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 6.5L12 9.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 9.5L12 6.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4927_197">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg>
</span>
											</button>
										
									</video-controls>
								
							</div>
							
						</div>
					</div><div class="shoppable-video-reels--slide carousel__slide" >
						<div class="shoppable-video-reels--video" style="position: relative; overflow: hidden;">
							<div class="slideshow__slide-video-bg" style="position: static; height: 100%;" data-provider="hosted">
								
									<video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/47dd1c6b1416436a826c67ccc0d785f4.thumbnail.0000000000_600x.jpg?v=1762435176" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/47dd1c6b1416436a826c67ccc0d785f4/47dd1c6b1416436a826c67ccc0d785f4.HD-1080p-7.2Mbps-61832851.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/47dd1c6b1416436a826c67ccc0d785f4.thumbnail.0000000000_600x.jpg?v=1762435176"></video>
								

								
									<video-controls class="shoppable-video-reels--video-controls">
										
											<button id="VideoPlayToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_WecDj8" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-play-pause video-controls--play-pause">
												<span class="video-play">
  <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M15.3604 8.26364L2.68114 0.523993C2.46994 0.390153 2.22603 0.316907 1.97603 0.312249C1.72604 0.30759 1.47957 0.371699 1.26353 0.497578C1.04429 0.617861 0.861527 0.795012 0.734468 1.01039C0.60741 1.22577 0.540752 1.47142 0.54151 1.72148V17.2184C0.540752 17.4685 0.60741 17.7141 0.734468 17.9295C0.861527 18.1449 1.04429 18.322 1.26353 18.4423C1.47957 18.5682 1.72604 18.6323 1.97603 18.6276C2.22603 18.623 2.46994 18.5497 2.68114 18.4159L15.3604 10.6762C15.5682 10.5509 15.7402 10.3739 15.8595 10.1626C15.9788 9.95123 16.0415 9.71264 16.0415 9.46994C16.0415 9.22723 15.9788 8.98864 15.8595 8.7773C15.7402 8.56595 15.5682 8.38902 15.3604 8.26364Z" fill="white"/>
  </svg>
  </span>
												<span class="video-pause">
  <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 0H4V18H0V0Z" fill="white"/>
  <path d="M8 0H12V18H8V0Z" fill="white"/>
  </svg></span>
											</button>
										
										
											<button id="VideoSoundToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_WecDj8" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-sound video-controls--sound muted">
												<span class="video-sound-on"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4920_259)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 6.67822C12.3217 7.04344 12.4991 7.51342 12.4991 8.0001C12.4991 8.48677 12.3217 8.95675 12 9.32197" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M13.8545 5C14.5924 5.82503 15.0004 6.8931 15.0004 8C15.0004 9.1069 14.5924 10.175 13.8545 11" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4920_259">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg></span>
												<span class="video-sound-off"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4927_197)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 6.5L12 9.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 9.5L12 6.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4927_197">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg>
</span>
											</button>
										
									</video-controls>
								
							</div>
							
						</div>
					</div><div class="shoppable-video-reels--slide carousel__slide" >
						<div class="shoppable-video-reels--video" style="position: relative; overflow: hidden;">
							<div class="slideshow__slide-video-bg" style="position: static; height: 100%;" data-provider="hosted">
								
									<video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/6ea39d978674411285d501bc7db5e134.thumbnail.0000000000_600x.jpg?v=1762435654" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/6ea39d978674411285d501bc7db5e134/6ea39d978674411285d501bc7db5e134.HD-1080p-7.2Mbps-61833430.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/6ea39d978674411285d501bc7db5e134.thumbnail.0000000000_600x.jpg?v=1762435654"></video>
								

								
									<video-controls class="shoppable-video-reels--video-controls">
										
											<button id="VideoPlayToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_a6rfin" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-play-pause video-controls--play-pause">
												<span class="video-play">
  <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M15.3604 8.26364L2.68114 0.523993C2.46994 0.390153 2.22603 0.316907 1.97603 0.312249C1.72604 0.30759 1.47957 0.371699 1.26353 0.497578C1.04429 0.617861 0.861527 0.795012 0.734468 1.01039C0.60741 1.22577 0.540752 1.47142 0.54151 1.72148V17.2184C0.540752 17.4685 0.60741 17.7141 0.734468 17.9295C0.861527 18.1449 1.04429 18.322 1.26353 18.4423C1.47957 18.5682 1.72604 18.6323 1.97603 18.6276C2.22603 18.623 2.46994 18.5497 2.68114 18.4159L15.3604 10.6762C15.5682 10.5509 15.7402 10.3739 15.8595 10.1626C15.9788 9.95123 16.0415 9.71264 16.0415 9.46994C16.0415 9.22723 15.9788 8.98864 15.8595 8.7773C15.7402 8.56595 15.5682 8.38902 15.3604 8.26364Z" fill="white"/>
  </svg>
  </span>
												<span class="video-pause">
  <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 0H4V18H0V0Z" fill="white"/>
  <path d="M8 0H12V18H8V0Z" fill="white"/>
  </svg></span>
											</button>
										
										
											<button id="VideoSoundToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_a6rfin" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-sound video-controls--sound muted">
												<span class="video-sound-on"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4920_259)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 6.67822C12.3217 7.04344 12.4991 7.51342 12.4991 8.0001C12.4991 8.48677 12.3217 8.95675 12 9.32197" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M13.8545 5C14.5924 5.82503 15.0004 6.8931 15.0004 8C15.0004 9.1069 14.5924 10.175 13.8545 11" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4920_259">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg></span>
												<span class="video-sound-off"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4927_197)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 6.5L12 9.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 9.5L12 6.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4927_197">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg>
</span>
											</button>
										
									</video-controls>
								
							</div>
							
							<div class="shoppable-video-reels--product" style="--color-body: #ffffff; --color-body-rgb: 255,255,255; --color-price: #ffffff; --color-accent: #ffffff; --color-accent-rgb: 255,255,255; background: "><product-card class="product-cart-item">
	<div class="product-cart-item-image">
		

<img class="no-blur " width="192" height="224" src="//christina-cosmeceuticals.com/cdn/shop/files/0023_rdm_soap_1.jpg?v=1773588882&width=192" srcset="//christina-cosmeceuticals.com/cdn/shop/files/0023_rdm_soap_1.jpg?v=1773588882&width=192 192w" sizes="auto" loading="eager" fetchpriority="low" alt="Rose De Mer Peeling Soap, exfoliating cleansing soap"  />
	</div>
	<div><a href="/products/rose-de-mer-peeling-soap" title="Rose De Mer Peeling Soap" class="cart-product-link">Rose De Mer Peeling Soap</a>
		 
 

<span class="price" bss-b2b-product-id="4313862570057" bss-b2b-variant-price bss-b2b-variant-id="51541366178111" bss-b2b-product-price bss-b2b-featured-product >
		<ins><span class="amount discounted">$56.10</span></ins>
		
			<del>
				<span class="amount">
					
						$66.00
					
				</span>
			</del>
		
<small class="unit-price  hidden">
		<span></span>
    <span class="unit-price-separator">/</span>
		<span></span>
	</small>
</span>
		
		<quick-view class="product-card-quickview text-button" data-product-handle="rose-de-mer-peeling-soap" tabindex="-1">
			<div class="loading-overlay">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
	<circle class="spinner-path" fill="none" stroke-width="6" cx="33" cy="33" r="30" stroke="var(--color-accent)"></circle>
</svg>
</div>
			<span>Quick view</span>
		</quick-view>
		
	</div>
</product-card>
</div>
							
						</div>
					</div><div class="shoppable-video-reels--slide carousel__slide" >
						<div class="shoppable-video-reels--video" style="position: relative; overflow: hidden;">
							<div class="slideshow__slide-video-bg" style="position: static; height: 100%;" data-provider="hosted">
								
									<video playsinline="true" loop="loop" muted="muted" preload="none" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/d12e5d4c148542fcbe27f6d7e72d364c.thumbnail.0000000000_600x.jpg?v=1761809859" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/d12e5d4c148542fcbe27f6d7e72d364c/d12e5d4c148542fcbe27f6d7e72d364c.HD-1080p-2.5Mbps-61217015.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/d12e5d4c148542fcbe27f6d7e72d364c.thumbnail.0000000000_600x.jpg?v=1761809859"></video>
								

								
									<video-controls class="shoppable-video-reels--video-controls">
										
											<button id="VideoPlayToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_fUb7C7" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-play-pause video-controls--play-pause">
												<span class="video-play">
  <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M15.3604 8.26364L2.68114 0.523993C2.46994 0.390153 2.22603 0.316907 1.97603 0.312249C1.72604 0.30759 1.47957 0.371699 1.26353 0.497578C1.04429 0.617861 0.861527 0.795012 0.734468 1.01039C0.60741 1.22577 0.540752 1.47142 0.54151 1.72148V17.2184C0.540752 17.4685 0.60741 17.7141 0.734468 17.9295C0.861527 18.1449 1.04429 18.322 1.26353 18.4423C1.47957 18.5682 1.72604 18.6323 1.97603 18.6276C2.22603 18.623 2.46994 18.5497 2.68114 18.4159L15.3604 10.6762C15.5682 10.5509 15.7402 10.3739 15.8595 10.1626C15.9788 9.95123 16.0415 9.71264 16.0415 9.46994C16.0415 9.22723 15.9788 8.98864 15.8595 8.7773C15.7402 8.56595 15.5682 8.38902 15.3604 8.26364Z" fill="white"/>
  </svg>
  </span>
												<span class="video-pause">
  <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 0H4V18H0V0Z" fill="white"/>
  <path d="M8 0H12V18H8V0Z" fill="white"/>
  </svg></span>
											</button>
										
										
											<button id="VideoSoundToggle-template--27928523243839__shoppable_view_reels_9aiiwm-video_fUb7C7" type="button" class="shoppable-video-reels--button shoppable-video-reels--button-sound video-controls--sound muted">
												<span class="video-sound-on"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4920_259)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 6.67822C12.3217 7.04344 12.4991 7.51342 12.4991 8.0001C12.4991 8.48677 12.3217 8.95675 12 9.32197" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M13.8545 5C14.5924 5.82503 15.0004 6.8931 15.0004 8C15.0004 9.1069 14.5924 10.175 13.8545 11" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4920_259">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg></span>
												<span class="video-sound-off"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  <g clip-path="url(#clip0_4927_197)">
  <path d="M5 10.5H2C1.86739 10.5 1.74021 10.4473 1.64645 10.3536C1.55268 10.2598 1.5 10.1326 1.5 10V6C1.5 5.86739 1.55268 5.74021 1.64645 5.64645C1.74021 5.55268 1.86739 5.5 2 5.5H5L9.5 2V14L5 10.5Z" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 6.5L12 9.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M15 9.5L12 6.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M5 5.5V10.5" stroke="var(--bg-body, #fff)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
  </g>
  <defs>
  <clipPath id="clip0_4927_197">
  <rect width="16" height="16" fill="var(--bg-body, #fff)"/>
  </clipPath>
  </defs>
  </svg>
</span>
											</button>
										
									</video-controls>
								
							</div>
							
						</div>
					</div><ol class="flickity-page-dots dot-style--dots"><li class="dot" aria-label="1">
<svg width="20px" height="20px" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="thb-pagination-svg" preserveAspectRatio="none"><circle cx="10" cy="10" r="9" stroke="var(--color-text, #fff)" stroke-width="1.5px" stroke-linecap="round" stroke-linejoin="round"></circle></svg>
</li><li class="dot" aria-label="2">
<svg width="20px" height="20px" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="thb-pagination-svg" preserveAspectRatio="none"><circle cx="10" cy="10" r="9" stroke="var(--color-text, #fff)" stroke-width="1.5px" stroke-linecap="round" stroke-linejoin="round"></circle></svg>
</li><li class="dot" aria-label="3">
<svg width="20px" height="20px" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="thb-pagination-svg" preserveAspectRatio="none"><circle cx="10" cy="10" r="9" stroke="var(--color-text, #fff)" stroke-width="1.5px" stroke-linecap="round" stroke-linejoin="round"></circle></svg>
</li><li class="dot" aria-label="4">
<svg width="20px" height="20px" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="thb-pagination-svg" preserveAspectRatio="none"><circle cx="10" cy="10" r="9" stroke="var(--color-text, #fff)" stroke-width="1.5px" stroke-linecap="round" stroke-linejoin="round"></circle></svg>
</li><li class="dot" aria-label="5">
<svg width="20px" height="20px" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="thb-pagination-svg" preserveAspectRatio="none"><circle cx="10" cy="10" r="9" stroke="var(--color-text, #fff)" stroke-width="1.5px" stroke-linecap="round" stroke-linejoin="round"></circle></svg>
</li><li class="dot" aria-label="6">
<svg width="20px" height="20px" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="thb-pagination-svg" preserveAspectRatio="none"><circle cx="10" cy="10" r="9" stroke="var(--color-text, #fff)" stroke-width="1.5px" stroke-linecap="round" stroke-linejoin="round"></circle></svg>
</li></ol></slide-show>
		</div>
	</div>
</div>
<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/video-controls.js?v=179145886330005230781791800359" defer></script><script>
  (function () {
    var v = document.querySelector('#shopify-section-template--27928523243839__shoppable_view_reels_9aiiwm video');
    if (!v || !('IntersectionObserver' in window)) return;
    var io = new IntersectionObserver(function (entries) {
      if (entries[0].isIntersecting) {
        io.disconnect();
        v.muted = true; v.preload = 'auto';
        var p = v.play(); if (p && p.catch) p.catch(function () {});
      }
    }, { rootMargin: '200px' });
    io.observe(v);
  })();
</script>

</div><div id="shopify-section-template--27928523243839__image_with_text_CgPWYr" class="shopify-section section-image-with-text"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/collapsible-content.css?v=12971051099921202631791800359" rel="stylesheet" type="text/css" media="all" /><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/image-with-text.css?v=119569758399377575441791800359" rel="stylesheet" type="text/css" media="all" /><div class="row full-width-row">
	<div class="small-12 columns">
		<div class="image-with-text grid--image-medium image_first text-left section-spacing section-spacing--disable-top" style="--color-bg:#d9290e;--color-text:#ffffff;--color-text-rgb: 255,255,255; --solid-button-background: #ffffff; --outline-button-label: #ffffff;--solid-button-label: #d9290e;--bg-body: #d9290e;--color-border: #ffffff">
			<div class="image-with-text__image image-with-text__inner">
				<div class="image-with-text__image-media aspect-ratio aspect-ratio--adapt" style="--ratio-percent: 117.096018735363%;"><video playsinline="playsinline" autoplay="autoplay" loop="loop" controls="controls" muted="muted" preload="metadata" poster="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/18ae621581524209b91fd0541a15df10.thumbnail.0000000000_690x.jpg?v=1784790135" loading="lazy"><source src="//christina-cosmeceuticals.com/cdn/shop/videos/c/vp/18ae621581524209b91fd0541a15df10/18ae621581524209b91fd0541a15df10.HD-1080p-7.2Mbps-89673076.mp4?v=0" type="video/mp4"><img src="//christina-cosmeceuticals.com/cdn/shop/files/preview_images/18ae621581524209b91fd0541a15df10.thumbnail.0000000000_690x.jpg?v=1784790135"></video>
</div>
			</div>
			<div class="image-with-text__content image-with-text__inner">
				<div class="image-with-text__content--inner"><div class="rte description-size--medium" ><h3>A Global Standard in Professional Skincare<br/></h3></div><div class="rte description-size--small" ><p></p><p>For more than 40 years, Christina has been trusted by skincare professionals and customers around the world. From leading clinics to luxury destinations and exclusive global partnerships, our presence reflects the quality, innovation and professional standards behind every Christina formula.</p><p>Today, Christina can be found in more than 70 countries, bringing professional skincare expertise to every corner of the world.</p></div>
									<a class="button" href="/pages/about-us" role="button" title="Discover Christina" ><span>Discover Christina</span></a>
								
							</div>
			</div>
		</div>
	</div>
</div>


</div><div id="shopify-section-template--27928523243839__text_with_icons_8m8zk8" class="shopify-section section-text-with-icons"><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/text-with-icons.css?v=107522766653775967561791800359" rel="stylesheet" type="text/css" media="all" />
<div class="text-with-icons  swipe-on-mobile text-left icon-left icon-medium heading-small icon-columns-4 text-with-icons-has-bg--true section-spacing  section-spacing--disable-top section-spacing--disable-bottom" style="--color-heading: #535458;--color-text: #535458;--color-bg: #dadce0">
	<div class="text-with-icons__inner" style="--icon-columns: 4">
		
			<div class="text-with-icons__block ">
				<div class="text-with-icons__icon"><svg class="icon icon-accordion color-foreground-" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path d="M10 5.2393L8.5149 3.77392C6.79996 2.08174 4.01945 2.08174 2.30451 3.77392C0.589562 5.4661 0.589563 8.2097 2.30451 9.90188L10 17.4952L17.6955 9.90188C19.4104 8.2097 19.4104 5.4661 17.6955 3.77392C15.9805 2.08174 13.2 2.08174 11.4851 3.77392L10 5.2393ZM10.765 3.06343C12.8777 0.978857 16.3029 0.978856 18.4155 3.06343C20.5282 5.148 20.5282 8.52779 18.4155 10.6124L10.72 18.2057C10.3224 18.5981 9.67763 18.5981 9.27996 18.2057L1.58446 10.6124C-0.528154 8.52779 -0.528154 5.14801 1.58446 3.06343C3.69708 0.978859 7.12233 0.978858 9.23495 3.06343L10 3.81832L10.765 3.06343Z" fill-rule="evenodd"/></svg>
</div>
				<div class="text-with-icons__block-content">
					
					<h6 class="body-font">Loved by 20,000+ customers and professionals</h6>
					
					
				</div>
			</div>
		
			<div class="text-with-icons__block ">
				<div class="text-with-icons__icon"><svg class="icon icon-accordion color-foreground-" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path d="M0 3.75156C0 3.47454 0.224196 3.24997 0.500755 3.24997H10.647C10.9235 3.24997 11.1477 3.47454 11.1477 3.75156V5.07505V5.63362V6.10938V13.6616C10.9427 14.0067 10.8813 14.1101 10.5516 14.6648L7.22339 14.6646V13.6614H10.1462V4.25316H1.00151V13.6614H2.6842V14.6646H0.500755C0.224196 14.6646 0 14.44 0 14.163V3.75156Z"/>
      <path d="M18.9985 8.08376L11.1477 6.10938V5.07505L19.6212 7.20603C19.8439 7.26203 20 7.46255 20 7.69253V14.1631C20 14.4401 19.7758 14.6647 19.4992 14.6647H17.3071V13.6615H18.9985V8.08376ZM11.1477 13.6616L13.3442 13.6615L13.3443 14.6647L10.5516 14.6648L11.1477 13.6616Z"/>
      <path d="M7.71269 14.1854C7.71269 15.6018 6.56643 16.75 5.15245 16.75C3.73847 16.75 2.59221 15.6018 2.59221 14.1854C2.59221 12.7691 3.73847 11.6209 5.15245 11.6209C6.56643 11.6209 7.71269 12.7691 7.71269 14.1854ZM5.15245 15.7468C6.01331 15.7468 6.71118 15.0478 6.71118 14.1854C6.71118 13.3231 6.01331 12.6241 5.15245 12.6241C4.29159 12.6241 3.59372 13.3231 3.59372 14.1854C3.59372 15.0478 4.29159 15.7468 5.15245 15.7468Z"/>
      <path d="M17.5196 14.1854C17.5196 15.6018 16.3733 16.75 14.9593 16.75C13.5454 16.75 12.3991 15.6018 12.3991 14.1854C12.3991 12.7691 13.5454 11.6209 14.9593 11.6209C16.3733 11.6209 17.5196 12.7691 17.5196 14.1854ZM14.9593 15.7468C15.8202 15.7468 16.5181 15.0478 16.5181 14.1854C16.5181 13.3231 15.8202 12.6241 14.9593 12.6241C14.0985 12.6241 13.4006 13.3231 13.4006 14.1854C13.4006 15.0478 14.0985 15.7468 14.9593 15.7468Z"/></svg>
</div>
				<div class="text-with-icons__block-content">
					
					<h6 class="body-font">Fast and reliable shipping</h6>
					
					
				</div>
			</div>
		
			<div class="text-with-icons__block ">
				<div class="text-with-icons__icon"><svg class="icon icon-accordion color-foreground-" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path d="M16.5 7.11819H3.5L3.5 18.9997L16.5 18.9997V7.11819ZM3.5 6.11786C2.94772 6.11786 2.5 6.56573 2.5 7.11819V18.9997C2.5 19.5521 2.94772 20 3.5 20H16.5C17.0523 20 17.5 19.5521 17.5 18.9997V7.11819C17.5 6.56572 17.0523 6.11786 16.5 6.11786H3.5Z" fill-rule="evenodd"/>
      <path d="M11.443 11.9199C11.443 12.7406 10.797 13.406 10.0001 13.406C9.20314 13.406 8.55712 12.7406 8.55712 11.9199C8.55712 11.0992 9.20314 10.4338 10.0001 10.4338C10.797 10.4338 11.443 11.0992 11.443 11.9199Z"/>
      <path d="M10.0187 11.9202C10.3639 11.9202 10.6437 12.2001 10.6437 12.5454V15.6971C10.6437 16.0424 10.3639 16.3223 10.0187 16.3223C9.67354 16.3223 9.39372 16.0424 9.39372 15.6971V12.5454C9.39372 12.2001 9.67354 11.9202 10.0187 11.9202Z"/>
      <path d="M6.2417 3.75956C6.2417 1.68321 7.92435 0 10 0C12.0757 0 13.7583 1.68321 13.7583 3.75956V6.12135H12.7583V3.75956C12.7583 2.23568 11.5234 1.00033 10 1.00033C8.47663 1.00033 7.2417 2.23568 7.2417 3.75956V6.12135H6.2417V3.75956Z"/></svg>
</div>
				<div class="text-with-icons__block-content">
					
					<h6 class="body-font">Secure payment guaranteed</h6>
					
					
				</div>
			</div>
		
			<div class="text-with-icons__block ">
				<div class="text-with-icons__icon"><svg class="icon icon-accordion color-foreground-" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path d="M18.5 1.5H1.5L1.5 18.5H18.5V1.5ZM1.5 0.5C0.947715 0.5 0.5 0.947715 0.5 1.5V18.5C0.5 19.0523 0.947715 19.5 1.5 19.5H18.5C19.0523 19.5 19.5 19.0523 19.5 18.5V1.5C19.5 0.947715 19.0523 0.5 18.5 0.5H1.5Z" fill-rule="evenodd"/>
      <path d="M14.9975 6.09084C15.201 6.27746 15.2147 6.59375 15.0281 6.79728L8.91631 13.4627C8.82231 13.5652 8.68987 13.6239 8.55079 13.6247C8.41172 13.6256 8.27857 13.5684 8.18335 13.4671L4.99513 10.0731C4.80606 9.87179 4.81596 9.55536 5.01723 9.3663C5.21849 9.17723 5.53492 9.18713 5.72399 9.3884L8.54335 12.3897L14.291 6.12145C14.4776 5.91791 14.7939 5.90421 14.9975 6.09084Z"/></svg>
</div>
				<div class="text-with-icons__block-content">
					
					<h6 class="body-font">Trusted in over 70 countries</h6>
					
					
				</div>
			</div>
		
	</div>
</div>

</div><!--LayoutHub-Workspace-End-->
		</div>
		<!-- BEGIN sections: footer-group -->
<div id="shopify-section-sections--27928515903807__footer" class="shopify-section shopify-section-group-footer-group section-footer">

<link rel="stylesheet" href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/footer.css?v=109720213656497226191791800359" media="print" onload="this.media='all'">
<noscript><link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/footer.css?v=109720213656497226191791800359" rel="stylesheet" type="text/css" media="all" /></noscript>

<footer class="footer" id="footer">
	<div class="row full-width-row">
<div class="small-12 medium-3 columns widget--menu-column" >
				<div class="widget widget--menu"><button class="thb-widget-title collapsible" tabindex="0">Christina Cosmeceuticals <span></span></button><ul class="thb-widget-menu">
					  
						  
						  
						  <li class="">
						    <a href="/pages/contact-us-1" title="Contact Us">Contact Us</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/pages/return-policy" title="Returns and Exchanges">Returns and Exchanges</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/pages/privacy-policy" title="Privacy Policy">Privacy Policy</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/pages/terms-of-service" title="Terms of Service">Terms of Service</a>
						    
						  </li>
					  
					</ul></div>
			</div>
<div class="small-12 medium-3 columns widget--menu-column" >
				<div class="widget widget--menu"><button class="thb-widget-title collapsible" tabindex="0">Shop By Concern <span></span></button><ul class="thb-widget-menu">
					  
						  
						  
						  <li class="">
						    <a href="/collections/anti-aging" title="Signs of Aging">Signs of Aging</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/acne-blemishes" title="Oiliness &amp; Blemishes">Oiliness & Blemishes</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/dehydration-dryness" title="Dehydration &amp; Dryness">Dehydration & Dryness</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/fine-lines-wrinkles" title="Fine Lines &amp; Wrinkles">Fine Lines & Wrinkles</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/oiliness" title="Oiliness">Oiliness</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/uneven-skin-tone" title="Uneven Skin Tone">Uneven Skin Tone</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/sensitive-redness" title="Sensitivity &amp; Redness">Sensitivity & Redness</a>
						    
						  </li>
					  
					</ul></div>
			</div>
<div class="small-12 medium-3 columns widget--menu-column" >
				<div class="widget widget--menu"><button class="thb-widget-title collapsible" tabindex="0">Treatment Lines <span></span></button><ul class="thb-widget-menu">
					  
						  
						  
						  <li class="">
						    <a href="/collections/bio-phyto" title="Bio Phyto">Bio Phyto</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/comodex" title="Comodex">Comodex</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/illustrious" title="Illustrious">Illustrious</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/forever-young" title="Forever Young">Forever Young</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/nuance" title="Nuance">Nuance</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/unstress" title="Unstress">Unstress</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/pages/line-repair-professionals" title="Line Repair">Line Repair</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/muse" title="Muse">Muse</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/silk" title="Silk">Silk</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/collections/rose-de-mer" title="Rose de Mer">Rose de Mer</a>
						    
						  </li>
					  
						  
						  
						  <li class="">
						    <a href="/pages/nude" title="Nude">Nude</a>
						    
						  </li>
					  
					</ul></div>
			</div>
<div class="small-6 medium-4 large-2 footer-social columns" >
					<div class="widget widget--social">
						
							<div class="thb-widget-title">FOLLOW US</div>
						
						<ul class="social-links">
	
	<li><a href="https://www.facebook.com/ChristinaSkincareUSA?mibextid=wwXIfr&rdid=HQR3KO1J6T2HhVBS&share_url=https%3A%2F%2Fwww.facebook.com%2Fshare%2F16AWPby91Y%2F%3Fmibextid%3DwwXIfr#" class="social facebook" target="_blank" rel="noreferrer" title="Facebook">
<svg aria-hidden="true" focusable="false" width="16" height="16" class="icon icon-facebook" viewBox="0 0 16 16" fill="var(--color-accent)">
<path d="M15.5 8.0455C15.5 3.878 12.1425 0.5 8 0.5C3.8575 0.5 0.5 3.878 0.5 8.0455C0.5 11.8125 3.242 14.934 6.828 15.5V10.227H4.924V8.045H6.828V6.383C6.828 4.492 7.9475 3.447 9.661 3.447C10.481 3.447 11.34 3.5945 11.34 3.5945V5.4515H10.3935C9.462 5.4515 9.172 6.0335 9.172 6.6305V8.0455H11.252L10.9195 10.2265H9.172V15.5C12.758 14.934 15.5 11.8125 15.5 8.0455Z" />
</svg>
 <span>Facebook</span></a></li>
	
	
	
	<li><a href="https://www.instagram.com/christina.skincare.usa?igsh=MTlkbDVkMHczdHJsbw==" class="social instagram" target="_blank" rel="noreferrer" title="Instagram">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18">
  <path fill="var(--color-accent)" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/>
  <path fill="var(--color-accent)" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
</svg>
 <span>Instagram</span></a></li>
	
	
	
	
	
	<li><a href="https://www.tiktok.com/@christinaskincareusa?_r=1&_t=ZS-969hOkC6zNw" class="social tiktok" target="_blank" rel="noreferrer" title="TikTok">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" width="16" height="18" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M8.02 0H11s-.17 3.82 4.13 4.1v2.95s-2.3.14-4.13-1.26l.03 6.1a5.52 5.52 0 11-5.51-5.52h.77V9.4a2.5 2.5 0 101.76 2.4L8.02 0z" fill="var(--color-accent)">
</svg>
 <span>TikTok</span></a></li>
	
	
	
	
</ul>

					</div>
				</div></div>
	<div class="sub-footer">
		<div class="row full-width-row">
			<div class="small-12 medium-8 columns">
				
			</div>
			<div class="small-12 medium-4 columns"><div class="payment-icons"><figure><svg class="payment-icons__icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/><path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
</figure><figure><svg class="payment-icons__icon" version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" /><path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg>
</figure><figure><svg class="payment-icons__icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-diners_club"><title id="pi-diners_club">Diners Club</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M12 12v3.7c0 .3-.2.3-.5.2-1.9-.8-3-3.3-2.3-5.4.4-1.1 1.2-2 2.3-2.4.4-.2.5-.1.5.2V12zm2 0V8.3c0-.3 0-.3.3-.2 2.1.8 3.2 3.3 2.4 5.4-.4 1.1-1.2 2-2.3 2.4-.4.2-.4.1-.4-.2V12zm7.2-7H13c3.8 0 6.8 3.1 6.8 7s-3 7-6.8 7h8.2c3.8 0 6.8-3.1 6.8-7s-3-7-6.8-7z" fill="#3086C8"/></svg></figure><figure><svg class="payment-icons__icon" viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-discover">Discover</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"/><path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"/><path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"/><path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"/><path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"/><path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"/><defs><linearGradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientUnits="userSpaceOnUse"><stop stop-color="#F89F20"/><stop offset=".25" stop-color="#F79A20"/><stop offset=".533" stop-color="#F68D20"/><stop offset=".62" stop-color="#F58720"/><stop offset=".723" stop-color="#F48120"/><stop offset="1" stop-color="#F37521"/></linearGradient><linearGradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientUnits="userSpaceOnUse"><stop stop-color="#F58720"/><stop offset=".359" stop-color="#E16F27"/><stop offset=".703" stop-color="#D4602C"/><stop offset=".982" stop-color="#D05B2E"/></linearGradient></defs></svg></figure><figure><svg class="payment-icons__icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.06zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg>
</figure><figure><svg class="payment-icons__icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg>
</figure><figure><svg class="payment-icons__icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg></figure><figure><svg class="payment-icons__icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg>
</figure><figure><svg class="payment-icons__icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778 16.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
</figure></div></div>
			<div class="small-12 columns">
				<p>&copy; 2026 Christina Cosmeceuticals,  <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a></p></div>
		</div>
	</div>
</footer>


</div>
<!-- END sections: footer-group -->
		<cart-drawer class="side-panel cart-drawer" id="Cart-Drawer" tabindex="-1">
	<div class="side-panel-inner">
		<div class="side-panel-header">
			<div>
				<h4 class="body-font">Cart</h4>
				<side-panel-close class="side-panel-close">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 1L1 13M13 13L1 1" stroke="var(--color-body)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</side-panel-close>
			</div>
		</div>
		<div class="side-panel-content"><div class="cart-drawer__empty-cart">
					
<svg width="82" height="82" viewBox="0 0 82 82" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M63.2133 82.0001C58.4983 82.0001 54.6765 78.1637 54.6765 73.4633C54.6765 68.7483 58.5129 64.9265 63.2133 64.9265C67.9137 64.9265 71.7501 68.7629 71.7501 73.4633C71.7501 78.1637 67.9137 82.0001 63.2133 82.0001ZM63.2133 68.3383C60.3872 68.3383 58.0883 70.6372 58.0883 73.4633C58.0883 76.2894 60.3872 78.5883 63.2133 78.5883C66.0394 78.5883 68.3383 76.2894 68.3383 73.4633C68.3383 70.6372 66.0394 68.3383 63.2133 68.3383Z" fill="var(--color-accent)"/>
<path d="M29.0368 82.0001C24.3218 82.0001 20.5 78.1637 20.5 73.4633C20.5 68.7483 24.3364 64.9265 29.0368 64.9265C33.7372 64.9265 37.5736 68.7629 37.5736 73.4633C37.5882 78.1637 33.7518 82.0001 29.0368 82.0001ZM29.0368 68.3383C26.2107 68.3383 23.9118 70.6372 23.9118 73.4633C23.9118 76.2894 26.2107 78.5883 29.0368 78.5883C31.8629 78.5883 34.1618 76.2894 34.1618 73.4633C34.1618 70.6372 31.8629 68.3383 29.0368 68.3383Z" fill="var(--color-accent)"/>
<path d="M70.0368 61.4999H30.6036C24.9221 61.4999 20.0021 57.4585 18.8746 51.8942L10.5575 10.2499H1.71321C0.761429 10.2499 0 9.48849 0 8.5367C0 7.59956 0.761429 6.82349 1.71321 6.82349H11.9632C12.7832 6.82349 13.4714 7.39456 13.6325 8.19991L22.2425 51.206C23.0332 55.1888 26.5621 58.0735 30.6182 58.0735H70.0514C70.9886 58.0735 71.7646 58.8349 71.7646 59.7867C71.75 60.7385 70.9886 61.4999 70.0368 61.4999Z" fill="var(--color-accent)"/>
<path d="M67.4304 47.8383H20.5001C19.5629 47.8383 18.7869 47.0768 18.7869 46.125C18.7869 45.1733 19.5483 44.4118 20.5001 44.4118H67.4304C70.0076 44.4118 72.204 42.479 72.5115 39.9165C72.6286 38.9793 73.5365 38.3204 74.4151 38.4376C75.3522 38.5547 76.0111 39.404 75.894 40.3411C75.3668 44.6168 71.7208 47.8383 67.4304 47.8383Z" fill="var(--color-accent)"/>
<path d="M39.2869 20.4999H15.3751C14.4379 20.4999 13.6619 19.7385 13.6619 18.7867C13.6619 17.8496 14.4233 17.0735 15.3751 17.0735H39.2869C40.224 17.0735 41.0001 17.8349 41.0001 18.7867C41.0001 19.7385 40.2386 20.4999 39.2869 20.4999Z" fill="var(--color-accent)"/>
<path d="M63.2133 37.5882C52.8608 37.5882 44.4265 29.1539 44.4265 18.8014C44.4265 8.44893 52.8462 0 63.2133 0C73.5658 0 82.0001 8.43429 82.0001 18.7868C82.0001 29.1393 73.5658 37.5882 63.2133 37.5882ZM63.2133 3.41179C54.7351 3.41179 47.8383 10.3086 47.8383 18.7868C47.8383 27.265 54.7351 34.1618 63.2133 34.1618C71.6915 34.1618 78.5883 27.265 78.5883 18.7868C78.5883 10.3086 71.6915 3.41179 63.2133 3.41179Z" fill="var(--color-accent)"/>
<path d="M70.0368 27.3382C69.5976 27.3382 69.1583 27.1771 68.8215 26.8404L55.1597 13.1786C54.4861 12.505 54.4861 11.4361 55.1597 10.7625C55.8333 10.0889 56.9022 10.0889 57.5758 10.7625L71.2376 24.4243C71.9111 25.0979 71.9111 26.1668 71.2376 26.8404C70.9154 27.1625 70.4761 27.3382 70.0368 27.3382Z" fill="var(--color-accent)"/>
<path d="M56.3751 27.3382C55.9358 27.3382 55.4965 27.1771 55.1597 26.8404C54.4861 26.1668 54.4861 25.0979 55.1597 24.4243L68.8215 10.7625C69.4951 10.0889 70.564 10.0889 71.2376 10.7625C71.9111 11.4361 71.9111 12.505 71.2376 13.1786L57.5758 26.8404C57.2536 27.1625 56.8144 27.3382 56.3751 27.3382Z" fill="var(--color-accent)"/>
</svg>

					<p>Your cart is currently empty.</p>
					<a class="button accent2" href="/collections/all"><span>Start Shopping</span></a>
				</div></div></div>
</cart-drawer>
		

<link id="Product" rel="stylesheet" href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/product.css?v=38700165056982944721791800359" media="print" onload="this.media='all'">
<div class="side-panel product-drawer" id="Product-Drawer" tabindex="-1">
	<div class="side-panel-inner">
		<div class="side-panel-header">
			<div>
				<h4>Select options</h4>
				<side-panel-close class="side-panel-close">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 1L1 13M13 13L1 1" stroke="var(--color-body)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</side-panel-close>
			</div>
		</div>
		<div class="side-panel-content" id="Product-Drawer-Content">

		</div>
	</div>
</div>


		<div class="side-panel search-drawer" tabindex="-1" id="Search-Drawer">
	<div class="side-panel-inner">
		<div class="side-panel-header">
			<div>
				<form role="search" method="get" class="searchform" action="/search">
					<fieldset>
						<label for="side-panel-search-input" class="visually-hidden">Search</label>
						<input id="side-panel-search-input" type="search" class="search-field" placeholder="Search for anything" value="" name="q" autocomplete="off">
					</fieldset>
				</form>
				<side-panel-close class="side-panel-close">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 1L1 13M13 13L1 1" stroke="var(--color-body)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</side-panel-close>
			</div>
		</div><div class="side-panel-content side-panel-content--has-tabs">

		</div><div class="side-panel-content side-panel-content--initial">
			<div class="thb-predictive-search"><div class="thb-predictive-search--popular">
						<span class="thb-predictive-search--label">POPULAR SEARCHES</span>
						<scroll-shadow>
							<div><a href="#" title="Shop">Shop</a><a href="/pages/about-us" title="About us">About us</a><a href="/pages/about-us" title="Professionals">Professionals</a><a href="https://christina-cosmeceuticals.com/blogs/news" title="Blog">Blog</a><a href="https://christina-cosmeceuticals.com/pages/new-skin-transformation" title="NEWSKIN 3-Step Transformation Package">NEWSKIN 3-Step Transformation Package</a><a href="/pages/christina-library" title="PROFESSIONAL CATALOGS">PROFESSIONAL CATALOGS</a></div>
						</scroll-shadow>
					</div><div class="thb-predictive-search--promotion">
						<span class="thb-predictive-search--label">What others are searching for</span>
						<div class="thb-predictive-search--promotion-products">
							<ul class="products collection row small-up-1 medium-up-2"></ul>
						</div>
					</div></div>
		</div>

	</div>
</div>

<link rel="stylesheet" href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/product-grid.css?v=179481498833094439651791800359" media="print" onload="this.media='all'">
<link rel="stylesheet" href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/predictive-search.css?v=96419726011263214711791800359" media="print" onload="this.media='all'">
<noscript>
	<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/product-grid.css?v=179481498833094439651791800359" rel="stylesheet" type="text/css" media="all" />
	<link href="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/predictive-search.css?v=96419726011263214711791800359" rel="stylesheet" type="text/css" media="all" />
</noscript>

		<div class="click-capture"></div>
	</div>

	

	
	<script>
		const storageKey = 'cartClearedForCustomer';
		if (localStorage.getItem(storageKey)) {
			localStorage.removeItem(storageKey);
			console.log('🔓 Logout detected — cleared storage');
		}
	</script>


	<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/vendor.min.js?v=24387807840910288901791800359" type="text/javascript"></script>
	
	<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/slideshow.js?v=35540821796052423421791800359" type="text/javascript"></script>
	<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/app.js?v=128803848060495286671791800359" type="text/javascript"></script>

		<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/product.js?v=152684344043649868011791800359" defer="defer"></script>
	
	<script type="module" src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/scroll-shadow.js?v=20320457967675250001791800359" defer="defer"></script>
	<script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/predictive-search.js?v=103770879180331986861791800359" defer="defer"></script><script src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/back-to-top.js?v=111668245275317979521791800359" defer="defer"></script>
<back-to-top class="back-to-top">
<svg width="11" height="16" viewBox="0 0 11 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="back-to-top--bar" d="M4.87654 2.34497C4.87654 1.99178 5.16285 1.70547 5.51604 1.70547C5.86922 1.70547 6.15554 1.99179 6.15554 2.34497V15.5613C6.15554 15.9144 5.86922 16.2008 5.51604 16.2008C5.16285 16.2008 4.87654 15.9144 4.87654 15.5613V2.34497Z" fill="var(--color-accent)"/>
<path class="back-to-top--handle" d="M0.197525 5.0502L5.02195 0.225769C5.14739 0.100345 5.32293 0.0251028 5.48588 0C5.66143 -7.67342e-09 5.83696 0.0752197 5.96239 0.200647L10.7994 5.03761C10.9373 5.17554 11 5.33858 11 5.51412C11 5.68967 10.9248 5.8652 10.7994 5.99063C10.5486 6.254 10.1223 6.254 9.85892 5.99063L6.16301 2.30726C5.72921 2.1318 5.72921 1.70547 4.83387 2.29472L1.13796 5.99063C0.887198 6.254 0.460891 6.254 0.197525 5.99063C-0.0658415 5.73987 -0.0658415 5.31356 0.197525 5.0502Z" fill="var(--color-accent)"/>
</svg>
</back-to-top>
<script type="module" src="//christina-cosmeceuticals.com/cdn/shop/t/95/assets/instant-page.js?v=116087100843016214071791800359" defer="defer"></script><div id="shopify-block-AbWtqUDNra0ZYUkZPN__7280966411886983154" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: resource-data --><!-- initializing the resources object -->
<script>
  // we're adding default values to the resources object here only
  // liquid code works in synchronous manner, so we're adding the default values at the top of the file
  window.mrShopifyResources = {
    PRODUCT: [],
    ['PRODUCT-IN-COLLECTION']: [],
    CUSTOMER: {},
  };
</script>

<!-- adding the product resource -->
<!-- BEGIN app snippet: product --><!-- adding the product resource -->

<!-- END app snippet -->

<!-- adding the customer resource -->
<!-- BEGIN app snippet: customer --><!-- END app snippet -->

<!-- adding the product-in-collection resource -->
<!-- BEGIN app snippet: product-in-collection --><!-- adding the product resource in collection -->

<!-- END app snippet --><!-- END app snippet -->


</div><div id="shopify-block-AdTBORzdUdm95L0F1Z__1537173939754162885" class="shopify-block shopify-app-block">

<script>
  window.accessProWidgetSettings = {"default_menu_language":"en","enable_features":true,"icon":"default","trigger_display":"icon","inline_display":"icon","trigger_title":"Accessibility","icon_color_fill":"#333333","icon_color_stroke":"#333333","icon_position":"BL","icon_style":"thick","icon_shape":"circle","icon_size":"default","menu_content_color":"#333333","menu_content_background_color":"#eff1f5","menu_card_background_color":"#ffffff","menu_header_background_color":"#333333","menu_header_font_color":"#ffffff","open_accessibility_profile":true,"selected_languages":["en","fr","es","de"],"widget_size":"large","widget_title":"Accessibility Settings","widgetheight":"full","template":"minimal","color_template":"Dark ","show_icon_on_all_pages":true,"show_icon_on_particular_page":"","lang_l":true,"enableMenuSettings":{"alignment":true,"animation":true,"contrast":true,"cursor":true,"dyslexic":true,"fontscale":true,"fontweight":true,"headings":true,"images":true,"languages":true,"letterspacing":true,"linespacing":true,"links":true,"magnifier":true,"mission":true,"profiles":true,"readingguide":true,"readingmask":true,"reset":true,"saturation":true,"colorfilters":true,"sounds":true,"text2speech":true,"describeimages":false,"videos":true,"pagestructure":true,"textsummary":true,"virtualkeyboard":true,"dictionary":true,"invertcolors":true,"colorblind":false,"translatepage":true,"readerprofile":true,"seizureprofile":true,"adhdprofile":true,"cognitiveprofile":true,"visuallyimpairedprofile":true,"motorimpairedprofile":false,"elderlyprofile":false,"colorblindprofile":false,"linknavigation":false,"voicenavigation":true,"keyboardnavigation":false,"talkandtype":true,"customcolors":false}};
  window.accessProComplianceSettings = {};
  window.accessProCurrentPage = {
    pageType: "index",
    path: "\/index.json"
  };
</script>

<style>
    

  .asw-widget-button-top {
     position: absolute !important;
     top: 10px !important;
     left: 10px !important;
     background-color: #000 !important;
     color: #fff !important;
     text-decoration: none !important;
     overflow: hidden;
     width: 1px !important;
     height: 1px !important;
     margin: -1px !important;
     padding: 0 !important;
     border: 0 !important;
     clip: rect(0 0 0 0) !important;
     word-wrap: normal !important;
  }
    .asw-widget-button-top-focused,
    .asw-widget-button-top:focus {
      z-index: 9999 !important;
      overflow: auto !important;
      width: auto !important;
      height: auto !important;
      clip: auto !important;
      padding: 10px 15px !important;
    }

    #acp-virtualKeyboardPopup {
      position: fixed;
      bottom: 80px;
      left: 50%;
      transform: translateX(-50%);
      background: #ffffff !important;
      border: 1px solid #ccc;
      padding: 8px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
      z-index: 9999;
      display: none;
      width: 90%;
      max-width: 600px;
      border-radius: 10px;
    }

    #acp-virtual-input {
      width: 100%;
      padding: 10px;
      font-size: 16px;
      margin-bottom: 10px;
    }

    #acp-closeKeyboardBtn {
      color: #fff;
      border: none;
      padding: 1px 3px;
      cursor: pointer;
      float: right;
      border-radius: 4px;
      margin-bottom: 5px;
    }
    #acp-definition-popup {
      position: absolute;
      display: none;
      padding: 10px;
      background: white;
      border: 1px solid #ccc;
      z-index: 1000;
      border-radius: 14px;
    }
</style>

<div id="acp-icon"></div>
<div id="acp-widget"></div>

<!-- Virtual Keyboard Input and Keyboard -->
<div
  id="acp-definition-popup"
></div>
<div
  id="acp-dictionary-toast"
  class="asw-text-speech-bar"
  style="display: none;"
  data-ap-translate="DICTIONARY DESC"
>
  Double click on a word to see the definition.
</div>
<div id="acp-virtualKeyboardPopup" role="dialog" aria-modal="true" aria-label="Virtual keyboard popup">
  <button id="acp-closeKeyboardBtn" aria-label="Close virtual keyboard">
    <svg
      xmlns="http://www.w3.org/2000/svg"
      width="24"
      height="24"
      viewBox="0 0 24 24"
      fill="none"
    >
      <path
        d="M18 6L6 18"
        stroke="black"
        strokeWidth="2"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M6 6L18 18"
        stroke="black"
        strokeWidth="2"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
    </svg>
  </button>
  
  <div id="acp-virtual-keyboard" class="simple-keyboard"></div>
  <script>
    function makeDraggableVirtualKeyboard(el) {
      let pos1 = 0,
        pos2 = 0,
        pos3 = 0,
        pos4 = 0;

      el.onmousedown = dragMouseDown;

      function dragMouseDown(e) {
        e.preventDefault();
        pos3 = e.clientX;
        pos4 = e.clientY;
        document.onmouseup = closeDragElement;
        document.onmousemove = elementDrag;
      }

      function elementDrag(e) {
        e.preventDefault();
        pos1 = pos3 - e.clientX;
        pos2 = pos4 - e.clientY;
        pos3 = e.clientX;
        pos4 = e.clientY;
        el.style.top = el.offsetTop - pos2 + 'px';
        el.style.left = el.offsetLeft - pos1 + 'px';
        el.style.bottom = 'unset';
        el.style.right = 'unset';
      }

      function closeDragElement() {
        document.onmouseup = null;
        document.onmousemove = null;
      }
    }

    makeDraggableVirtualKeyboard(document.getElementById('acp-virtualKeyboardPopup'));
  </script>
</div>
<script>
  // App Procxy Handle
  
  window.accessProProxyHandle = '/apps/access-pro';
  

  // URLs
  window.accessProSettingsUrl = `${window.accessProProxyHandle}/theme/settings/`;
  window.accessProPageViewsCountUrl = `${window.accessProProxyHandle}/theme/views/update/count`;
  

  // Translation URL
  var shopify_domain = `christina-cosmeceuticals.myshopify.com`;
  window.accessProTranslationUrl = `https://access-pro-api.entanglecommerce.com/api/v1/language/translate/?domain=${shopify_domain}`;
  window.pageViewsCountURL = `${window.accessProProxyHandle}/theme/views/update/count`;
</script>

<script src="https://cdn.shopify.com/extensions/01a159d3-7fdf-7fe7-b826-4f701c2a7b98/access-pro-2-251/assets/main.js" defer></script>
<script>
  (function () {
    var params = new URLSearchParams(window.location.search);
    var token = params.get('acp_scan');
    if (!token) return;

    function showScanOverlay(message) {
      var el = document.getElementById('acp-scan-overlay');
      if (!el) {
        el = document.createElement('div');
        el.id = 'acp-scan-overlay';
        el.style.cssText =
          'position:fixed;inset:0;background:rgba(255,255,255,0.94);z-index:2147483647;display:flex;align-items:center;justify-content:center;font-family:system-ui,-apple-system,sans-serif;';
        el.innerHTML =
          '<div style="text-align:center;max-width:320px;padding:24px">' +
          '<p style="font-size:18px;font-weight:600;margin:0 0 8px;color:#111">Scanning for accessibility</p>' +
          '<p id="acp-scan-overlay-status" style="font-size:14px;color:#666;margin:0"></p>' +
          '</div>';
        document.body.appendChild(el);
      }
      var status = document.getElementById('acp-scan-overlay-status');
      if (status) status.textContent = message || 'Please wait…';
    }

    showScanOverlay('Preparing accessibility scan…');

    function hideOverlay() {
      var el = document.getElementById('acp-scan-overlay');
      if (el) el.style.display = 'none';
    }

    function pageIsThemePreview() {
      try {
        return Boolean(new URLSearchParams(window.location.search).get('preview_theme_id'));
      } catch (e) {
        return false;
      }
    }

    // Shopify stores the unpublished theme in a storefront cookie. Clear it
    // here so the scan window never has to navigate to the live theme.
    var previewExitPromise = null;
    function exitThemePreviewQuietly() {
      if (!pageIsThemePreview()) return Promise.resolve();
      if (previewExitPromise) return previewExitPromise;
      previewExitPromise = new Promise(function (resolve) {
        var settled = false;
        function finish() {
          if (settled) return;
          settled = true;
          resolve();
        }
        setTimeout(finish, 2000);
        try {
          var frame = document.createElement('iframe');
          frame.setAttribute('aria-hidden', 'true');
          frame.title = '';
          frame.style.cssText =
            'position:absolute;width:0;height:0;border:0;visibility:hidden';
          frame.src = window.location.origin + '/?exitPreview=1';
          (document.body || document.documentElement).appendChild(frame);
        } catch (e) {}
        try {
          fetch(window.location.origin + '/?exitPreview=1', {
            credentials: 'include',
            cache: 'no-store',
            redirect: 'follow',
          }).catch(function () {});
        } catch (e) {}
      });
      return previewExitPromise;
    }

    window.addEventListener('message', function (event) {
      if (event.source !== window.opener) return;
      var data = event.data;
      if (!data || data.type !== 'accesspro-exit-preview') return;
      exitThemePreviewQuietly().then(function () {
        if (window.opener) {
          window.opener.postMessage({ type: 'accesspro-preview-exited' }, '*');
        }
      });
    });

    function submitScanResult(payload) {
      var params = new URLSearchParams(window.location.search);
      var jobId = params.get('acp_job');
      if (!jobId) {
        return;
      }

      var pageUrl = window.location.origin + window.location.pathname;
      fetch(window.accessProProxyHandle + '/theme/accessibility-scan/complete', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jobId: jobId,
          scanToken: token,
          url: pageUrl,
          axeResults: payload.results || null,
          error:
            payload.type === 'accesspro-axe-scan-error'
              ? payload.message || 'Accessibility scan failed'
              : null,
        }),
      })
        .then(function (response) {
          return response.json().catch(function () {
            return {};
          });
        })
        .then(function (data) {
          if (window.opener) {
            var isFinal = data.reportId != null;
            var hasError = !data.success;
            var isNextScanPage = false;
            if (data.redirectUrl) {
              try {
                isNextScanPage = new URL(data.redirectUrl).searchParams.has('acp_scan');
              } catch (e) {}
            }
            var continuing = isNextScanPage && data.redirectUrl && !isFinal && !hasError;

            function deliver() {
              window.opener.postMessage(
                {
                  type: 'accesspro-axe-scan-progress',
                  jobId: jobId,
                  redirectUrl: data.redirectUrl || null,
                  reportId: data.reportId != null ? data.reportId : null,
                  error: data.success ? null : (data.message || 'Scan failed'),
                },
                '*',
              );

              if (isFinal) {
                showScanOverlay('Returning to your audit report…');
                return;
              }

              if (continuing) {
                showScanOverlay('Scanning next page…');
                window.location.href = data.redirectUrl;
                return;
              }

              setTimeout(function () {
                window.close();
              }, 400);
            }

            if (pageIsThemePreview() && !continuing) {
              if (isFinal) showScanOverlay('Returning to your audit report…');
              exitThemePreviewQuietly().then(deliver);
              return;
            }

            deliver();
            return;
          }
          if (data.redirectUrl) {
            showScanOverlay('Returning to your audit report…');
            window.location.href = data.redirectUrl;
            return;
          }
          showScanOverlay(data.message || 'Scan failed');
          if (window.opener) {
            window.opener.postMessage(
              {
                type: 'accesspro-axe-scan-progress',
                jobId: jobId,
                error: data.message || 'Scan failed',
              },
              '*',
            );
          }
        })
        .catch(function (err) {
          var message =
            (err && err.message) || 'Scan failed';
          showScanOverlay(message);
          function deliver() {
            if (!window.opener) return;
            var jobIdErr = new URLSearchParams(window.location.search).get('acp_job');
            window.opener.postMessage(
              {
                type: 'accesspro-axe-scan-progress',
                jobId: jobIdErr,
                error: message,
              },
              '*',
            );
          }
          if (pageIsThemePreview()) {
            exitThemePreviewQuietly().then(deliver);
            return;
          }
          deliver();
        });
    }

    function waitForFullPageLoad() {
      return new Promise(function (resolve) {
        function settle() {
          // Extended settle time for dynamic content, carousels, lazy sections
          // Wait for network idle + animations + JS state changes
          setTimeout(function() {
            // Wait for any lazy images to finish loading
            var images = Array.prototype.slice.call(document.querySelectorAll('img[loading="lazy"]'));
            var pendingImages = images.filter(function(img) {
              return !img.complete;
            });
            
            if (pendingImages.length > 0) {
              var loaded = 0;
              var timeout = setTimeout(function() {
                resolve(); // Don't wait forever
              }, 2000);
              
              pendingImages.forEach(function(img) {
                function handleLoad() {
                  loaded++;
                  if (loaded >= pendingImages.length) {
                    clearTimeout(timeout);
                    // Additional wait for any pending RAF or microtasks
                    requestAnimationFrame(function() {
                      setTimeout(resolve, 100);
                    });
                  }
                }
                img.addEventListener('load', handleLoad, { once: true });
                img.addEventListener('error', handleLoad, { once: true });
              });
            } else {
              // Additional wait for any pending RAF or microtasks
              requestAnimationFrame(function() {
                setTimeout(resolve, 100);
              });
            }
          }, 3000);
        }
        if (document.readyState === 'complete') {
          settle();
          return;
        }
        window.addEventListener('load', settle, { once: true });
      });
    }

    // Port of accessibility-scanner Phase 3 WCAG 2.2 / APG checks (browser-side).
    // Findings are merged into axe violations/incomplete so the existing pipeline needs no changes.
    function isAccessProScanElement(el) {
      if (!el || !el.closest) return false;
      return !!(
        el.closest('#acp-icon') ||
        el.closest('#acp-widget') ||
        el.closest('#acp-virtualKeyboardPopup') ||
        el.closest('#acp-definition-popup') ||
        el.closest('#acp-dictionary-toast') ||
        el.closest('#acp-scan-overlay') ||
        el.closest('[id^="acp-"]') ||
        el.closest('.asw-widget-button-top')
      );
    }
    
    // Enhanced element visibility check including all CSS hiding techniques
    function isElementVisible(el) {
      if (!el || !el.getBoundingClientRect) return false;
      var style = window.getComputedStyle(el);
      if (style.display === 'none' || style.visibility === 'hidden') return false;
      if (style.opacity === '0') return false;
      if (style.position === 'absolute' && style.clip === 'rect(0px, 0px, 0px, 0px)') return false;
      if (style.width === '1px' && style.height === '1px' && style.overflow === 'hidden') return false;
      var rect = el.getBoundingClientRect();
      if (rect.width === 0 || rect.height === 0) return false;
      return true;
    }

    function runWcag22Checks() {
      var violations = [];
      var incomplete = [];

      try {
        // WCAG 2.4.11 Focus Not Obscured — sticky/fixed heuristic (manual review)
        var stickyElements = Array.prototype.slice
          .call(document.querySelectorAll('*'))
          .filter(function (el) {
            if (isAccessProScanElement(el)) return false;
            if (!isElementVisible(el)) return false;
            var style = getComputedStyle(el);
            return (
              (style.position === 'sticky' || style.position === 'fixed') &&
              el.getBoundingClientRect().height > 40
            );
          })
          .slice(0, 5)
          .map(function (el) {
            var style = getComputedStyle(el);
            return {
              tag: el.tagName.toLowerCase(),
              id: el.id || null,
              height: Math.round(el.getBoundingClientRect().height),
              position: style.position,
            };
          });

        if (stickyElements.length > 0) {
          incomplete.push({
            id: 'focus-not-obscured',
            impact: 'serious',
            tags: ['wcag22aa', 'wcag2411'],
            description:
              'WCAG 2.4.11: Focused elements must not be entirely obscured. Fixed/sticky elements detected — manual keyboard testing required.',
            helpUrl:
              'https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html',
            nodes: stickyElements.map(function (e) {
              return {
                html:
                  '<' +
                  e.tag +
                  (e.id ? ' id="' + e.id + '"' : '') +
                  '> (' +
                  e.position +
                  ', ' +
                  e.height +
                  'px tall)',
                target: [e.tag + (e.id ? '#' + e.id : '')],
                failureSummary:
                  'Fixed/sticky element may obscure focused components. Verify with keyboard navigation.',
              };
            }),
          });
        }
        
        // NEW: aria-hidden-focus check - elements with aria-hidden="true" that are focusable
        var hiddenFocusable = [];
        document.querySelectorAll('[aria-hidden="true"]').forEach(function(el) {
          if (isAccessProScanElement(el)) return;
          // Check if this element or any descendant is focusable
          var focusableSelectors = 'a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])';
          var focusables = el.matches(focusableSelectors) ? [el] : Array.prototype.slice.call(el.querySelectorAll(focusableSelectors));
          focusables.forEach(function(focusEl) {
            if (isElementVisible(focusEl) && focusEl.tabIndex >= 0) {
              hiddenFocusable.push({
                html: focusEl.outerHTML.slice(0, 500),
                selector: buildScanSelector(focusEl),
                parentHiddenHtml: el.outerHTML.slice(0, 200)
              });
            }
          });
        });
        
        if (hiddenFocusable.length > 0) {
          violations.push({
            id: 'aria-hidden-focus',
            impact: 'serious',
            tags: ['wcag2aa', 'wcag412'],
            description: 'WCAG 4.1.2: Focusable elements must not be hidden with aria-hidden="true"',
            helpUrl: 'https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html',
            nodes: hiddenFocusable.slice(0, 10).map(function(item) {
              return {
                html: item.html,
                target: [item.selector],
                failureSummary: 'Focusable element is inside aria-hidden="true" container'
              };
            })
          });
        }

        // WCAG 2.5.3 Label in Name - Enhanced with better visible text extraction
        // Visible text = text rendered on screen (excludes aria-hidden, sr-only, SVG internals).
        function getVisibleText(el) {
          var text = '';
          for (var i = 0; i < el.childNodes.length; i++) {
            var child = el.childNodes[i];
            if (child.nodeType === 3) { text += child.textContent; continue; }
            if (child.nodeType !== 1) continue;
            if (child.getAttribute('aria-hidden') === 'true') continue;
            var st = window.getComputedStyle(child);
            if (st.display === 'none' || st.visibility === 'hidden') continue;
            if (st.opacity === '0') continue;
            if (st.position === 'absolute') {
              var clip = st.clip;
              if (clip === 'rect(0px, 0px, 0px, 0px)' || clip === 'rect(0, 0, 0, 0)') continue;
            }
            if (st.width === '1px' && st.height === '1px' && st.overflow === 'hidden') continue;
            if (st.fontSize === '0px' || st.width === '0px' || st.height === '0px') continue;
            text += getVisibleText(child);
          }
          return text;
        }
        function buildScanSelector(el) {
          if (el.id) return '#' + CSS.escape(el.id);
          var testId = el.getAttribute('data-testid') || el.getAttribute('data-test-id');
          if (testId) return '[data-testid="' + testId + '"]';
          var tag = el.tagName.toLowerCase();
          var cls = (el.getAttribute('class') || '').split(/\s+/).filter(function (c) {
            return c && c.length < 60 && !/^(active|is-|js-|open|hidden|focus|hover)/i.test(c);
          }).slice(0, 3);
          return cls.length ? tag + '.' + cls.join('.') : tag;
        }
        
        // Enhanced selector to catch more interactive elements
        var interactiveSelector = 'button, [role="button"], a[aria-label], [role="link"][aria-label], ' +
          '[role="menuitem"][aria-label], [role="tab"][aria-label], [role="checkbox"][aria-label], ' +
          '[role="radio"][aria-label], [role="switch"][aria-label], [role="combobox"][aria-label], ' +
          '[role="searchbox"][aria-label], [role="textbox"][aria-label]';
          
        var mismatches = Array.prototype.slice
          .call(document.querySelectorAll(interactiveSelector))
          .filter(function (el) {
            return !isAccessProScanElement(el) && isElementVisible(el);
          })
          .map(function (el) {
            var ariaLabel = el.getAttribute('aria-label') || '';
            var visibleText = getVisibleText(el).replace(/\s+/g, ' ').trim();
            if (!ariaLabel || !visibleText) return null;
            if (visibleText.length <= 1) return null;
            
            // Normalize for comparison - remove punctuation and make case-insensitive
            var normalizedLabel = ariaLabel.toLowerCase().replace(/[^\w\s]/g, '');
            var normalizedVisible = visibleText.toLowerCase().replace(/[^\w\s]/g, '');
            
            // Check if visible text is substring of aria-label
            if (normalizedLabel.includes(normalizedVisible)) return null;
            
            // Check word-by-word containment for multi-word labels
            var visibleWords = normalizedVisible.split(/\s+/).filter(Boolean);
            if (visibleWords.length > 0) {
              var allWordsPresent = visibleWords.every(function(word) {
                return normalizedLabel.includes(word);
              });
              if (allWordsPresent) return null;
            }
            
            return {
              html: el.outerHTML.slice(0, 500),
              selector: buildScanSelector(el),
              ariaLabel: ariaLabel,
              visibleText: visibleText,
            };
          })
          .filter(Boolean)
          .slice(0, 10);

        if (mismatches.length > 0) {
          violations.push({
            id: 'label-in-name',
            impact: 'serious',
            tags: ['wcag21a', 'wcag253'],
            description: 'WCAG 2.5.3: Accessible name must contain visible label text',
            helpUrl: 'https://www.w3.org/WAI/WCAG22/Understanding/label-in-name.html',
            nodes: mismatches.map(function (m) {
              return {
                html: m.html,
                target: [m.selector],
                failureSummary:
                  'aria-label="' +
                  m.ariaLabel +
                  '" does not contain visible text "' +
                  m.visibleText +
                  '"',
              };
            }),
          });
        }

        // 2.5.7 Dragging Movements
        var draggableElements = Array.prototype.slice
          .call(
            document.querySelectorAll(
              '[draggable="true"], [data-sortable], .sortable-item',
            ),
          )
          .filter(function (el) {
            return !isAccessProScanElement(el);
          })
          .slice(0, 5)
          .map(function (el) {
            return {
              html: el.outerHTML.slice(0, 500),
              selector: buildScanSelector(el),
            };
          });

        if (draggableElements.length > 0) {
          incomplete.push({
            id: 'dragging-movements',
            impact: 'serious',
            tags: ['wcag22aa', 'wcag257'],
            description:
              'WCAG 2.5.7: Draggable elements must have a single-pointer alternative. Manual verification required.',
            helpUrl: 'https://www.w3.org/WAI/WCAG22/Understanding/dragging-movements.html',
            nodes: draggableElements.map(function (e) {
              return {
                html: e.html,
                target: [e.selector],
                failureSummary:
                  'Verify that a keyboard or single-pointer alternative exists for this drag operation.',
              };
            }),
          });
        }

        // ARIA APG: Dialog Pattern
        var badDialogs = Array.prototype.slice
          .call(document.querySelectorAll('[role="dialog"], [role="alertdialog"]'))
          .filter(function (el) {
            if (isAccessProScanElement(el)) return false;
            return !(
              el.hasAttribute('aria-labelledby') || el.hasAttribute('aria-label')
            );
          })
          .slice(0, 5)
          .map(function (el) {
            return {
              html: el.outerHTML.slice(0, 500),
              selector: buildScanSelector(el),
            };
          });

        if (badDialogs.length > 0) {
          violations.push({
            id: 'dialog-missing-label',
            impact: 'serious',
            tags: ['aria-apg', 'wcag2aa'],
            description:
              'ARIA APG Dialog Pattern: role="dialog" must have aria-labelledby or aria-label',
            helpUrl: 'https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/',
            nodes: badDialogs.map(function (d) {
              return {
                html: d.html,
                target: [d.selector],
                failureSummary:
                  'Add aria-labelledby pointing to a visible dialog title, or aria-label.',
              };
            }),
          });
        }

        // ARIA APG: Tabs Pattern — tabs must have aria-selected (true on active, false on others)
        var badTabs = [];
        Array.prototype.slice
          .call(document.querySelectorAll('[role="tablist"]'))
          .forEach(function (tabList) {
            if (isAccessProScanElement(tabList)) return;
            var tabs = Array.prototype.slice.call(tabList.querySelectorAll('[role="tab"]'));
            var hasAnySelected = tabs.some(function (t) { return t.getAttribute('aria-selected') === 'true'; });
            tabs.forEach(function (tab) {
                if (isAccessProScanElement(tab)) return;
                if (!tab.hasAttribute('aria-selected')) {
                  // Detect if this tab appears active (has aria-current, class "active", etc.)
                  var looksActive = !hasAnySelected && tab.classList.contains('active');
                  badTabs.push({
                    html: tab.outerHTML.slice(0, 500),
                    selector: buildScanSelector(tab),
                    suggestValue: looksActive ? 'true' : 'false',
                  });
                }
              });
          });
        badTabs = badTabs.slice(0, 5);

        if (badTabs.length > 0) {
          violations.push({
            id: 'tabs-missing-aria-selected',
            impact: 'serious',
            tags: ['aria-apg', 'wcag2aa'],
            description:
              'ARIA APG Tabs Pattern: each [role="tab"] must have aria-selected="true" or aria-selected="false"',
            helpUrl: 'https://www.w3.org/WAI/ARIA/apg/patterns/tabs/',
            nodes: badTabs.map(function (t) {
              return {
                html: t.html,
                target: [t.selector],
                failureSummary:
                  'Tab missing aria-selected. Suggested value: aria-selected="' + (t.suggestValue || 'false') + '"',
              };
            }),
          });
        }
      } catch (err) {
        console.warn(
          '[AccessPro][AxeScan][storefront] WCAG 2.2 checks error',
          err && err.message ? err.message : err,
        );
      }

      return { violations: violations, incomplete: incomplete };
    }

    function runAxeScan() {
      if (!window.axe) {
        showScanOverlay('Scan failed: axe-core not loaded');
        notifyScanOpener({
          type: 'accesspro-axe-scan-error',
          token: token,
          message: 'axe-core failed to load',
        });
        return;
      }
      
      // CRITICAL: Hide overlay before scan to prevent interference with color-contrast/visibility checks
      hideOverlay();
      
      // Run axe WITHOUT overlay visible to get accurate color contrast and visibility results
      window.axe
        .run(document, {
          runOnly: {
            type: 'tag',
            values: ['wcag2a', 'wcag2aa', 'wcag21aa', 'wcag22aa'],
          },
          exclude: [
            ['#acp-icon'],
            ['#acp-widget'],
            ['#acp-virtualKeyboardPopup'],
            ['#acp-definition-popup'],
            ['#acp-dictionary-toast'],
            ['#acp-scan-overlay'],
            ['.asw-widget-button-top'],
          ],
        })
        .then(function (results) {
          // Now safe to show overlay after scan completes
          showScanOverlay('Processing scan results…');
          var extra = runWcag22Checks();
          if (!results.violations) results.violations = [];
          if (!results.incomplete) results.incomplete = [];
          // Scanner stores customChecks separately; merge into axe arrays so
          // buildAxeScanSummary (customChecks: []) still surfaces them.
          results.violations = results.violations.concat(extra.violations || []);
          results.incomplete = results.incomplete.concat(extra.incomplete || []);

          // List rule only: axe often stores just the opening <ul> tag.
          // Re-serialize with direct children so the report/AI Fixes show the real issue.
          enrichListViolationNodes(results);

          notifyScanOpener({
            type: 'accesspro-axe-scan',
            token: token,
            url: window.location.href,
            results: results,
          });
        })
        .catch(function (err) {
          showScanOverlay('Scan failed');
          notifyScanOpener({
            type: 'accesspro-axe-scan-error',
            token: token,
            message: err && err.message ? err.message : 'Accessibility scan failed',
          });
        });
    }

    /**
     * Optimize axe `list` node payloads only (no other rules).
     * Horizon overflow-list / ul[part=list] failures need children in HTML
     * so merchants see role=presentation / non-li children clearly.
     */
    function enrichListViolationNodes(results) {
      var violations = results && results.violations;
      if (!violations || !violations.length) return;

      function queryInRoot(root, sel) {
        if (!root || !sel) return null;
        try {
          return root.querySelector(sel);
        } catch (e) {
          return null;
        }
      }

      function resolveShadowPath(path) {
        if (!path) return null;
        if (typeof path === 'string') {
          return (
            queryInRoot(document, path) ||
            queryDeepAll(path)[0] ||
            null
          );
        }
        if (!Array.isArray(path) || !path.length) return null;

        // Nested shadow path: ["host", "inner"] or [["host", "inner"]]
        var steps = path;
        if (steps.length === 1 && Array.isArray(steps[0])) {
          steps = steps[0];
        }

        var ctx = document;
        var el = null;
        for (var i = 0; i < steps.length; i++) {
          var step = steps[i];
          if (Array.isArray(step)) {
            el = resolveShadowPath(step);
          } else {
            el = queryInRoot(ctx, String(step));
            if (!el && ctx === document) {
              el = queryDeepAll(String(step))[0] || null;
            }
          }
          if (!el) return null;
          ctx = el.shadowRoot || el;
        }
        return el;
      }

      function queryDeepAll(sel) {
        var out = [];
        function walk(root) {
          if (!root || !root.querySelectorAll) return;
          try {
            Array.prototype.push.apply(out, root.querySelectorAll(sel));
          } catch (e) {
            /* invalid selector */
          }
          var all = root.querySelectorAll ? root.querySelectorAll('*') : [];
          for (var i = 0; i < all.length; i++) {
            if (all[i].shadowRoot) walk(all[i].shadowRoot);
          }
        }
        walk(document);
        return out;
      }

      function serializeChildSnippet(child) {
        if (!child || !child.tagName) return '';
        var tag = child.tagName.toLowerCase();
        var role = (child.getAttribute && child.getAttribute('role')) || '';
        var part = (child.getAttribute && child.getAttribute('part')) || '';
        var cls = (child.getAttribute && child.getAttribute('class')) || '';
        var open =
          '<' +
          tag +
          (role ? ' role="' + role + '"' : '') +
          (part ? ' part="' + part + '"' : '') +
          (cls
            ? ' class="' +
              String(cls)
                .trim()
                .split(/\s+/)
                .slice(0, 3)
                .join(' ') +
              '"'
            : '') +
          '>';
        var text = (child.textContent || '').replace(/\s+/g, ' ').trim().slice(0, 40);
        return open + (text ? text : '…') + '</' + tag + '>';
      }

      function serializeListHtml(listEl) {
        if (!listEl || !listEl.tagName) return '';
        var tag = listEl.tagName.toLowerCase();
        if (tag !== 'ul' && tag !== 'ol') return '';
        var openMatch = String(listEl.outerHTML || '').match(/^<[^>]+>/);
        var openTag = openMatch ? openMatch[0] : '<' + tag + '>';
        var children = Array.prototype.slice.call(listEl.children || []).slice(0, 10);
        if (!children.length) return openTag;
        var lines = children.map(function (child) {
          return '  ' + serializeChildSnippet(child);
        });
        if ((listEl.children || []).length > 10) {
          lines.push('  <!-- … ' + (listEl.children.length - 10) + ' more -->');
        }
        return openTag + '\n' + lines.join('\n') + '\n</' + tag + '>';
      }

      function findListFallback() {
        var candidates = queryDeepAll('ul[part="list"], overflow-list ul, ul, ol');
        var withBad = candidates.filter(function (listEl) {
          return Array.prototype.some.call(listEl.children || [], function (child) {
            var role = (child.getAttribute && child.getAttribute('role')) || '';
            var t = (child.tagName || '').toLowerCase();
            return (
              role === 'presentation' ||
              role === 'none' ||
              (t !== 'li' && t !== 'script' && t !== 'template' && t !== 'style')
            );
          });
        });
        return withBad.length === 1 ? withBad[0] : null;
      }

      violations.forEach(function (v) {
        if (!v || v.id !== 'list') return;
        (v.nodes || []).forEach(function (node) {
          if (!node) return;
          var hintHtml = String(node.html || '');
          var el = resolveShadowPath(node.target);

          // Flat axe targets like ["ul"] are too generic — prefer part=list from html hint.
          if (
            el &&
            /part\s*=\s*["']list["']/i.test(hintHtml) &&
            !(el.getAttribute && el.getAttribute('part') === 'list')
          ) {
            var partLists = queryDeepAll('ul[part="list"]');
            if (partLists.length === 1) el = partLists[0];
            else if (partLists.length > 1) {
              var badPart = partLists.filter(function (listEl) {
                return Array.prototype.some.call(listEl.children || [], function (child) {
                  var role = (child.getAttribute && child.getAttribute('role')) || '';
                  return role === 'presentation' || role === 'none';
                });
              });
              if (badPart.length === 1) el = badPart[0];
            }
          }

          if (el && el.tagName) {
            var t = el.tagName.toLowerCase();
            if (t !== 'ul' && t !== 'ol' && el.closest) {
              el = el.closest('ul, ol') || el;
            }
          }
          if (!el || !el.tagName || !/^(UL|OL)$/.test(el.tagName)) {
            el = findListFallback();
          }
          if (!el) return;

          var better = serializeListHtml(el);
          if (better && better.length > hintHtml.length) {
            node.html = better.slice(0, 2500);
          }

          // Prefer a stable, actionable selector for Horizon chrome lists.
          if (el.getAttribute && el.getAttribute('part') === 'list') {
            node.target = ['ul[part="list"]'];
          }
        });
      });
    }

    function notifyScanOpener(payload) {
      if (window.opener && payload.type === 'accesspro-axe-scan-error') {
        var jobId = new URLSearchParams(window.location.search).get('acp_job');
        showScanOverlay('Scan failed');
        window.opener.postMessage(
          {
            type: 'accesspro-axe-scan-progress',
            jobId: jobId,
            error: payload.message || 'Accessibility scan failed',
          },
          '*',
        );
        setTimeout(function () {
          window.close();
        }, 400);
        return;
      }
      submitScanResult(payload);
    }

    var script = document.createElement('script');
    // cdnjs only goes up to 4.10.3; jsDelivr serves 4.11.1 (matches accessibility-scanner).
    script.src = 'https://cdn.jsdelivr.net/npm/axe-core@4.11.1/axe.min.js';
    script.onload = function () {
      waitForFullPageLoad().then(runAxeScan);
    };
    script.onerror = function () {
      notifyScanOpener({
        type: 'accesspro-axe-scan-error',
        token: token,
        message: 'Failed to load axe-core',
      });
    };
    document.head.appendChild(script);
  })();
</script>


<style>
  .accesspro-icon {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    text-decoration: none;
    vertical-align: middle;
    color: var(--acp-trigger-color, #23185c);
  }

  /* Icon-only triggers should not reserve a text line box. */
  .accesspro-icon[icon='true']:not(.acp-trigger--has-text) {
    line-height: 0;
  }

  .accesspro-icon .asw-menu-btn-container {
    flex-shrink: 0;
  }

  /* The cloned icon is inert; the host element is the control. */
  .accesspro-icon .asw-menu-btn-container,
  .accesspro-icon .asw-menu-btn {
    pointer-events: none;
  }
</style>
<script>
  (function () {
    var SELECTOR = '.accesspro-icon';
    var BOUND = 'acpTriggerBound';
    var FILLED = 'acpTriggerFilled';
    var settings = window.accessProWidgetSettings || {};
    var inlineMode = !!settings.hide_floating_icon;
    var fallbackReady = inlineMode;
    document.documentElement.style.setProperty(
      '--acp-trigger-color',
      settings.icon_color_fill || '#23185c'
    );

    /* ---- open the widget ------------------------------------------------ */
    /* main.js is deferred, so iconInstance may not exist on an early click. */
    function openWidget(event) {
      if (event) event.preventDefault();
      if (window.iconInstance) {
        window.iconInstance.toggleWidget();
        return;
      }
      var waited = 0;
      var timer = setInterval(function () {
        if (window.iconInstance) {
          clearInterval(timer);
          window.iconInstance.toggleWidget();
        } else if ((waited += 100) >= 10000) {
          clearInterval(timer);
          console.error('[AccessPro] Widget did not load — cannot open menu.');
        }
      }, 100);
    }

    /* ---- clone the floating icon ---------------------------------------- */
    function buildIcon() {
      var source = document.querySelector('#Access-Pro-Icon .asw-menu-btn-container');
      if (!source) return null;

      var clone = source.cloneNode(true);

      // Strip ids: the widget mutates apMenuIconStroke / apMenuIconFill by id
      // when contrast modes change, and duplicates would shadow the original.
      clone.removeAttribute('id');
      clone.querySelectorAll('[id]').forEach(function (node) {
        node.removeAttribute('id');
      });

      // The dismiss "X" and loading dots belong to the floating icon only.
      clone.querySelectorAll('.asw-hide-widget-icon, .acp-floating-dots').forEach(function (node) {
        node.remove();
      });

      // A <button> nested inside the merchant's <a> is invalid HTML. Swap it
      // for a <span> carrying the same classes so the widget CSS still applies.
      var button = clone.querySelector('.asw-menu-btn');
      if (button) {
        var span = document.createElement('span');
        span.className = button.className;
        span.setAttribute('style', button.getAttribute('style') || '');
        span.setAttribute('aria-hidden', 'true');
        while (button.firstChild) span.appendChild(button.firstChild);
        button.parentNode.replaceChild(span, button);
      }

      return clone;
    }


    /* ---- fallback: build the icon from settings ------------------------- */
    /* Used when the floating icon is not in the DOM — the widget skips
       render() entirely if the visitor dismissed it, if a page/country filter
       bails out of init(), or if trigger display is set to title-only.
       Geometry below mirrors render() in main.js exactly. */
    var GLYPHS = {
      default: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" fill="#ffffff" style="height: 45%; width: 45%; fill: #ffffff" viewBox="0 0 512 512" aria-hidden="true" focusable="false"><path d="M256,112a56,56,0,1,1,56-56A56.06,56.06,0,0,1,256,112Z" /><path d="M432,112.8l-.45.12h0l-.42.13c-1,.28-2,.58-3,.89-18.61,5.46-108.93,30.92-172.56,30.92-59.13,0-141.28-22-167.56-29.47a73.79,73.79,0,0,0-8-2.58c-19-5-32,14.3-32,31.94,0,17.47,15.7,25.79,31.55,31.76v.28l95.22,29.74c9.73,3.73,12.33,7.54,13.6,10.84,4.13,10.59.83,31.56-.34,38.88l-5.8,45L150.05,477.44q-.15.72-.27,1.47l-.23,1.27h0c-2.32,16.15,9.54,31.82,32,31.82,19.6,0,28.25-13.53,32-31.94h0s28-157.57,42-157.57,42.84,157.57,42.84,157.57h0c3.75,18.41,12.4,31.94,32,31.94,22.52,0,34.38-15.74,32-31.94-.21-1.38-.46-2.74-.76-4.06L329,301.27l-5.79-45c-4.19-26.21-.82-34.87.32-36.9a1.09,1.09,0,0,0,.08-.15c1.08-2,6-6.48,17.48-10.79l89.28-31.21a16.9,16.9,0,0,0,1.62-.52c16-6,32-14.3,32-31.93S451,107.81,432,112.8Z" /></svg>',
      wheelchair: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 960" fill="#ffffff" aria-hidden="true" focusable="false"> <path d="M480 240q-33 0-56.5-23.5T400 160q0-33 23.5-56.5T480 80q33 0 56.5 23.5T560 160q0 33-23.5 56.5T480 240ZM680 880V680H480q-33 0-56.5-23.5T400 600V360q0-33 23.5-56.5T480 280q24 0 41.5 10.5T559 324q55 66 99.5 90.5T760 480v80q-53 0-107-23t-93-55v138h120q33 0 56.5 23.5T760 680v220h-80ZM400 880q-83 0-141.5-58.5T200 680q0-72 45.5-127T360 484v82q-35 14-57.5 44.5T280 680q0 50 35 85t85 35q39 0 69.5-22.5T514 720h82q-14 69-69 114.5T400 880Z" /> </svg>',
      blind: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"> <path d="m240-60-64-48 104-139v-213q0-31 5.5-68.5T300-596l-60 34v142h-80v-188l216-123q8-5 17-7t19-2q24 0 44 12t30 33l31 67q20 44 61 66t102 22v80h-39L860-78l-35 20-237-413q-40-13-72.5-37.5T460-568q-10 29-15.5 66.5T441-432l79 112v260h-80v-200l-71-102-9 142L240-60Zm220-700q-33 0-56.5-23.5T380-840q0-33 23.5-56.5T460-920q33 0 56.5 23.5T540-840q0 33-23.5 56.5T460-760Z" /> </svg>',
      eye: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"><path d="m644-428-58-58q9-47-27-88t-93-32l-58-58q17-8 34.5-12t37.5-4q75 0 127.5 52.5T660-500q0 20-4 37.5T644-428Zm128 126-58-56q38-29 67.5-63.5T832-500q-50-101-143.5-160.5T480-720q-29 0-57 4t-55 12l-62-62q41-17 84-25.5t90-8.5q151 0 269 83.5T920-500q-23 59-60.5 109.5T772-302Zm20 246L624-222q-35 11-70.5 16.5T480-200q-151 0-269-83.5T40-500q21-53 53-98.5t73-81.5L56-792l56-56 736 736-56 56ZM222-624q-29 26-53 57t-41 67q50 101 143.5 160.5T480-280q20 0 39-2.5t39-5.5l-36-38q-11 3-21 4.5t-21 1.5q-75 0-127.5-52.5T300-500q0-11 1.5-21t4.5-21l-84-82Zm319 93Zm-151 75Z" /></svg>',
      accStraight: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"><path d="M480-720q-33 0-56.5-23.5T400-800q0-33 23.5-56.5T480-880q33 0 56.5 23.5T560-800q0 33-23.5 56.5T480-720ZM360-80v-520H120v-80h720v80H600v520h-80v-240h-80v240h-80Z" /></svg>',
      settings: '<svg class="asw-main-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#ffffff" style="fill: #ffffff" aria-hidden="true" focusable="false"><path d="m370-80-16-128q-13-5-24.5-12T307-235l-119 50L78-375l103-78q-1-7-1-13.5v-27q0-6.5 1-13.5L78-585l110-190 119 50q11-8 23-15t24-12l16-128h220l16 128q13 5 24.5 12t22.5 15l119-50 110 190-103 78q1 7 1 13.5v27q0 6.5-2 13.5l103 78-110 190-118-50q-11 8-23 15t-24 12L590-80H370Zm70-80h79l14-106q31-8 57.5-23.5T639-327l99 41 39-68-86-65q5-14 7-29.5t2-31.5q0-16-2-31.5t-7-29.5l86-65-39-68-99 42q-22-23-48.5-38.5T533-694l-13-106h-79l-14 106q-31 8-57.5 23.5T321-633l-99-41-39 68 86 64q-5 15-7 30t-2 32q0 16 2 31t7 30l-86 65 39 68 99-42q22 23 48.5 38.5T427-266l13 106Zm42-180q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Zm-2-140Z" /></svg>'
    };

    var SIZES = {
      small: 40, '0.5x': 40,
      medium: 50, '1x': 50, default: 50,
      large: 60, '1.5x': 60,
      extraLarge: 75, '2x': 75
    };

    function buildIconFromSettings() {
      var s = window.accessProWidgetSettings || {};
      var style = s.icon_style || 'thick';
      var square = s.icon_shape === 'square';
      // Defaults must match mergeSettings() in main.js and DEFAULT_SETTINGS in
      // app/constants/settings.js — both use #23185c for stroke AND fill — so a
      // metafield missing these keys renders identically on either path.
      var stroke = s.icon_color_stroke || '#23185c';
      var fill = s.icon_color_fill || '#23185c';
      var px = SIZES[s.icon_size] || 50;
      var solid = style === 'solid';
      var thin = style === 'thin';
      var shapes = '';

      if (square) {
        var sizes = [
          [solid ? 100 : 98, stroke, 12],
          [solid ? 0 : thin ? 86 : 82, '#ffffff', 10],
          [solid || thin ? 80 : 70, fill, 8]
        ];
        sizes.forEach(function (d) {
          if (!d[0]) return;
          var off = (100 - d[0]) / 2;
          shapes += '<rect x="' + off + '" y="' + off + '" width="' + d[0] + '" height="' + d[0] +
            '" rx="' + d[2] + '" ry="' + d[2] + '" fill="' + d[1] + '" />';
        });
      } else {
        [
          [solid ? 50 : 49, stroke],
          [solid ? 0 : thin ? 43 : 41, '#ffffff'],
          [solid || thin ? 40 : 35, fill]
        ].forEach(function (d) {
          shapes += '<circle cx="50" cy="50" r="' + d[0] + '" fill="' + d[1] + '" />';
        });
      }

      var name = GLYPHS[s.icon] ? s.icon : 'default';
      var box = document.createElement('div');
      box.className = 'asw-menu-btn-container';
      box.setAttribute('style', 'position:relative;width:' + px + 'px;height:' + px + 'px;');
      // The widget stylesheet may not be loaded when render() never ran, so
      // every layout-critical rule is inlined rather than left to the classes.
      box.innerHTML =
        '<span class="asw-menu-btn' + (square ? ' asw-menu-btn--square' : '') + '" aria-hidden="true"' +
        ' style="position:relative;display:flex;align-items:center;justify-content:center;' +
        'width:100%;height:100%;background:transparent;border:none;padding:0;margin:0;' +
        'border-radius:' + (square ? '12%' : '50%') + ';">' +
        '<svg class="asw-outer-svg" viewBox="0 0 100 100" aria-hidden="true" focusable="false"' +
        ' style="width:100%;height:100%;display:block;">' + shapes + '</svg>' +
        GLYPHS[name] + '</span>';

      var glyph = box.querySelector('.asw-main-icon');
      if (glyph) {
        // .asw-main-icon sizes to 50% via CSS; the default glyph overrides to 45% inline.
        var pct = name === 'default' ? '45%' : '50%';
        glyph.setAttribute(
          'style',
          'position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);' +
          'width:' + pct + ';height:' + pct + ';fill:#ffffff;z-index:100;'
        );
      }
      return box;
    }

    /* Name from the host only. Text inside aria-hidden (the cloned icon) does not count. */
    function triggerNeedsName(el) {
      if ((el.getAttribute('aria-label') || '').trim()) return false;
      if ((el.getAttribute('aria-labelledby') || '').trim()) return false;
      if ((el.getAttribute('title') || '').trim()) return false;
      var node = el.firstChild;
      while (node) {
        if (node.nodeType === 3) {
          if (node.textContent.trim()) return false;
        } else if (node.nodeType === 1 && node.getAttribute('aria-hidden') !== 'true') {
          if (!triggerNeedsName(node)) return false;
        }
        node = node.nextSibling;
      }
      return true;
    }

    function ensureTriggerName(el) {
      if (triggerNeedsName(el)) {
        el.setAttribute('aria-label', 'Open Accessibility Menu');
      }
    }

    /* ---- wire one element ----------------------------------------------- */
    function bind(el) {
      if (el.dataset[BOUND]) return;
      el.dataset[BOUND] = '1';

      el.addEventListener('click', openWidget);
      el.addEventListener('keydown', function (event) {
        if (event.key === 'Enter' || event.key === ' ') openWidget(event);
      });

      // A non-anchor host (div/span) needs explicit button semantics.
      var tag = el.tagName.toLowerCase();
      if (tag !== 'a' && tag !== 'button') {
        if (!el.hasAttribute('role')) el.setAttribute('role', 'button');
        if (!el.hasAttribute('tabindex')) el.setAttribute('tabindex', '0');
      }

      if (el.textContent.trim()) el.classList.add('acp-trigger--has-text');
      ensureTriggerName(el);
    }

    function fillIcon(el, allowFallback) {
      if (el.dataset[FILLED]) return true;
      if (el.getAttribute('icon') !== 'true') return true;

      // Prefer cloning the live icon; fall back to rebuilding from settings.
      var icon = buildIcon();
      if (!icon && (allowFallback || inlineMode)) icon = buildIconFromSettings();
      if (!icon) return false;

      // The clone's size lives only in the container's inline style. If the
      // widget rendered without one, size it from settings so it cannot
      // collapse to zero height inside the merchant's layout.
      if (!/\bheight\s*:/.test(icon.getAttribute('style') || '')) {
        var px = SIZES[(window.accessProWidgetSettings || {}).icon_size] || 50;
        icon.style.position = 'relative';
        icon.style.width = px + 'px';
        icon.style.height = px + 'px';
      }

      el.insertBefore(icon, el.firstChild);
      el.dataset[FILLED] = '1';
      ensureTriggerName(el);
      return true;
    }

    /* ---- scan ------------------------------------------------------------ */
    /* Clicks are wired immediately so the trigger works before the icon
       renders; icons are filled in once the floating icon exists. */
    var pendingIcons = false;

    function scan(allowFallback) {
      pendingIcons = false;
      document.querySelectorAll(SELECTOR).forEach(function (el) {
        bind(el);
        if (!fillIcon(el, allowFallback)) pendingIcons = true;
      });
    }

    function start() {
      scan(inlineMode);

      // Inline mode hides the floating icon, so build from settings immediately.
      if (inlineMode) {
        // console.log('[AccessPro] Inline triggers — using widget settings for icons');
      }

      // The floating icon only renders after the settings request resolves and
      // the widget chunk loads, so poll until it appears. If it never does,
      // stop waiting and build the icon from settings instead.
      var FALLBACK_AFTER = 2500;
      var waited = 0;
      var timer = setInterval(function () {
        if (!pendingIcons) {
          clearInterval(timer);
          return;
        }
        waited += 200;
        if (waited < FALLBACK_AFTER) {
          scan(false);
          return;
        }
        fallbackReady = true;
        clearInterval(timer);
        scan(true);
        if (pendingIcons) {
          console.warn('[AccessPro] Could not render inline icons.');
        }
      }, 200);

      // Catch triggers added later (theme editor re-renders, dynamic sections).
      // Debounced: the widget itself mutates the DOM heavily as it renders.
      if (window.MutationObserver) {
        var queued = false;
        new window.MutationObserver(function () {
          if (queued) return;
          queued = true;
          requestAnimationFrame(function () {
            queued = false;
            scan(fallbackReady || inlineMode);
          });
        }).observe(document.body, { childList: true, subtree: true });
      }
    }

    if (document.readyState === 'loading') {
      document.addEventListener('DOMContentLoaded', start);
    } else {
      start();
    }
  })();
</script>


</div><div id="shopify-block-AT3FVeUdNcHRLTnZFa__3886181796285292942" class="shopify-block shopify-app-block"><!-- Load assets like this instead of inside the schema because Shopify does not load asset if there is file name collision with another extension -->
<link href="//cdn.shopify.com/extensions/01a0aa22-fc44-71b6-81d0-8b700ead9913/cowlendar-310/assets/styles.css" rel="stylesheet" type="text/css" media="all" />
<script src="https://cdn.shopify.com/extensions/01a0aa22-fc44-71b6-81d0-8b700ead9913/cowlendar-310/assets/app.js?shop=christina-cosmeceuticals.myshopify.com" defer="defer"></script>

<script type="text/javascript">
  window._cowlendarConfig = {
  "shop_id": "1648361545",
  "shop_url": "christina-cosmeceuticals.myshopify.com",
  "shop_locale": "en"
  };
  var COW_SHOP_URL = "christina-cosmeceuticals.myshopify.com";
  window._cowProductVariants = null;
</script>


<script type="text/javascript">
  const chunks = [];
  
    /* New metafields loop */  
    
    
      
      
        chunks.push("[{\"product_handle\":\"nuance-professional-class\",\"service_id\":\"6aba6f3f51035cdc1f273f55\",\"type\":\"classic-no-checkout\",\"product_id\":15399007060287,\"variant_ids\":[67596347474239],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"muse-professional-class\",\"service_id\":\"6aba70cb8d7b6fa990ac57ba\",\"type\":\"classic-no-checkout\",\"product_id\":15399007093055,\"variant_ids\":[67596348031295],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"muse-professional-class-oct-14\",\"service_id\":\"6aba716451035cdc1f274c46\",\"type\":\"classic-no-checkout\",\"product_id\":15399021773119,\"variant_ids\":[67596463767871],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"advanced-anti-aging-skin-renewal-forever-young-line\",\"service_id\":\"6ac929ac1bf82c2504eed543\",\"type\":\"classic-no-checkout\",\"product_id\":15421606232383,\"variant_ids\":[67665960698175],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"eyes-in-focus-signature-eye-contour-treatment-protocol\",\"service_id\":\"6adbb121d8be6e9428944b0e\",\"type\":\"classic-no-checkout\",\"product_id\":15460838670655,\"variant_ids\":[67847324926271],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"eyes-in-focus-signature-eye-contour-treatment-protocol-copy\",\"service_id\":\"6adbb1e0d8be6e9428944de5\",\"type\":\"classic-checkout\",\"product_id\":15460841062719,\"variant_ids\":[67847328039231],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"eyes-in-focus-signature-eye-contour-treatment-protocol-ru-copy\",\"service_id\":\"6adbb3c9df8da8ac1037ecb3\",\"type\":\"classic-no-checkout\",\"product_id\":15460843028799,\"variant_ids\":[67847332921663],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"advanced-anti-aging-skin-renewal-forever-young-line-1\",\"service_id\":\"6adbb96fd8be6e94289471b6\",\"type\":\"classic-no-checkout\",\"product_id\":15460957356351,\"variant_ids\":[67847481164095],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"our-signature-peel-natural-skin-renewal-rose-de-mer-line\",\"service_id\":\"6adbbdb6d8be6e9428948369\",\"type\":\"classic-no-checkout\",\"product_id\":15461024006463,\"variant_ids\":[67847674331455],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false}]");
      
    
  
  const bigConfigString = chunks.join("");
  window.cowServices = bigConfigString ? JSON.parse(bigConfigString) : null;
  window.cowSettings = {"use_virtual_form":false,"hide_logs":false,"button_type":"complex","use_master_form":true,"multilanguage_source":"shop","widget_shadow_enabled":false,"widget_shadow_size":13,"widget_shadow_opacity":11,"widget_shadow_color":"#000000"};

  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
</script>


</div><div id="shopify-block-AMkdPR1kzUnJkYjB1T__13047258039897440615" class="shopify-block shopify-app-block"><div id='jdgm-cart-drawer-source'
  class='jdgm-widget'
  style='display:none'
  data-widget='cart-drawer'
  data-entry-point='cart_drawer.js'
  data-entry-key='cart-drawer/main.js'
  data-shop-reviews='true'
  data-shop-average-rating='4.77'
  data-shop-review-count='878'
  data-widget-type='review-widget'></div>




</div><script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
