PageSourceSearch

https://chebeauty.com/account/login?return_url=%2Faccount

html chebeauty.com collected 2026-10-02 15:30:23 UTC 686,544 bytes, 7,071 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en">
3  <head>
4<!-- Start of Shoplift scripts -->
5<!-- 2026-08-24T10:03:22.9272709Z -->
6<style>.shoplift-hide { opacity: 0 !important; }</style>
7<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
8<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-09-06T10:30:01.4688034Z */(function(){"use strict";var te=document.createElement("style");te.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(te);var fe=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x
87|;\\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/",ge=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function me(){if(z instanceof RegExp)return z;try{z=new RegExp(fe,"i")}catch{z=ge}return z}var ye=a=>typeof a=="string"&&a!=="";function ve(a){return ye(a)&&me().test(a)}var we=ve;class Q{timestamp;constructor(){this.timestamp=new Date}}class be extends Q{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Se extends Q{type;path;constructor(e){super(),this.type=4,this.path=e}}class Ce extends Q{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class ie extends Error{isBot;constructor(){super(),this.isBot=!0}}function Te(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)}re(a,e,(i,s,r,n,o)=>o(s,r),t)}function U(a,e,t){for(const i of e.selectors)ne(a,e.testId,e.hypothesisId,i,t??(()=>{}));re(a,e,ne,t??(()=>{}))}function se(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 re(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 ne(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(Re))o=Ie(a,i.cssSelector,o,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Ie(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Pe(t,i.scope,i.value);break;case"css":Ae(a,e,i.value);break;case"js":ke(a,t,i);break;case"copy":return Ee(t);case"remove":xe(t);break;case"move":_e(t,parseInt(i.value));break}return t}function Pe(a,e,t){a.setAttribute(e,t)}function Ae(a,e,t){const i=a.createElement("style");i.innerHTML=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function ke(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function Ee(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 xe(a){a.remove()}function _e(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 Re(a,e){return oe(a)-oe(e)}function oe(a){return a.type==="copy"||a.type==="remove"?0:1}var M=(a=>(a[a.Template=0]="Template",a[a.Theme=1]="Theme",a[a.UrlRedirect=2]="UrlRedirect",a[a.Script=3]="Script",a[a.Dom=4]="Dom",a[a.Price
8=5]="Price",a))(M||{});const De="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",Ve="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 Oe(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 X(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 ae(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 Le(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=ae(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 $e(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;
8if(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=ae(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 Me=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},qe=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),He=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),ee=a=>a.replace(/#slr-[a-z0-9]+$/,""),tt="modulepreload",it=function(a){return"/"+a},st={},Ne=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 le(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 ce(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 K(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 de(a,e){return a===null?!1:a==="decrease"?!e:e}async function Ue(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}=le(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}}}
8if(a.subscriptionHideWrongPlans=c,a.swapMap=le(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 J(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function Y(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 G(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function Fe({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 Be({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 ze(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=K(n,d),h=p.discountMap,u=p.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,p=K(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}
8`),a.updatePriceTestHiddenInputs(r,o?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=Y(g),A=ce(n,P,d);if(!de(A,o))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:G(k.priceInCents,l),formattedDiscounted:G(k.priceInCents*(1-u/100),l)}:null}Fe({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=J(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 Z=V.textContent.match(/[\d.]+%/)?.[0];Z&&Z!==`${L}%`&&$(V,et=>N(et,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,Z=>N(Z,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=J(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 We(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}
8:f`,a.updatePriceTestHiddenInputs(n,p,!1);function h(){const u=B(o);if(!u)return;const b=Y(c);if(!b)return;const E=W(l),S=ce(o,b,E);if(!de(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 Ge(a,e){const{subscriptionPreviewRender:t}=await Ne(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>Xe);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function je(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 pe="Limited preview",Ke="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.",Je=5e3;function Ye(){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=pe;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ke,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",pe);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},Je)}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{}}
8document.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 he=!1;class Ze{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=>
8S.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))}shop;host;eventHost;disableReferrerOverride;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";legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;geoViaShopify;resolvedRegion=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;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)}}
8async 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,we(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=ee(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(),X)}).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(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`),je(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 ie)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 Oe(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));
8if(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=Ve,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=De,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=Ye();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);
8const 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 Ge({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]);const t=this.getReservationForTest(e.id);t&&!t.isRealized&&t.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(t.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.deriveC
8ategoryFromExistingTests(),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")}
8),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 n=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(n&&n.length>1){const o=n[1];t.pathname=`${o}${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(n=>n.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search;if(i&&s!==r){const n=qe(),o=He({v:2,t:i,n,fh:Me(window.location.pathname+window.location.search)});t.hash=`slr-${n}`;const l=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${o};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${l}`}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, remov
8ing 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(se(r)).test(ee(t.toString())))))}async filterTestsByAudience(e,t,i){const s=[],r=e.some(o=>(o.requiresRegion||this.geoViaShopify&&o.requiresCountry)&&!i.some(l=>l.testId===o.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):n:!n&&e.some(o=>o.requiresCountry&&!i.some(l=>l.testId===o.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(o=>(this.log("Error getting country",o),null)));for(const o of e){if(this.log("Checking audience for test '%s'",o.id),this.state.essential.visitorTests.some(d=>d.testId===o.id&&d.hypothesisId==null)){console.log(`Skipping blocked test '${o.id}'`);continue}const l=this.visitorCreatedDuringTestActive(o.statusHistory);(i.some(d=>d.testId===o.id&&(o.device==="all"||o.device===t.device&&o.device===this.device))||this.isTargetAudience(o,t,l,n))&&(this.log("Visitor is in audience for test '%s'",o.id),s.push(o))}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(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((n,o)=>n||o.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}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=$e(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;
8if(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=>
8i.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(se(c)).test(ee(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()=>
8{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={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new be(r.testId,r.hypothesisId,r.createdAt)).concat(t)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(n=>!n.isInvalid&&!n.isSaved&&n.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(n=>!n.isInvalid&&!n.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(he)return;he=!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}`};
8this.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}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){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===e)return r[1]||null}return 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 )|
8sy(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 Ue(this)}async subscriptionPriceChange(){await ze(this)}async subscriptionOneTimePrice(){await We(this)}
8updatePriceTestHiddenInputs(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}
8 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}
8const 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"),(!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 ie}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 Ce(e))}queuePageView(e){this.queueEvent(new Se(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.persist
8CookieState(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|y
8andex\.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\.o
8pera\.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)}
8,{"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|k
8akao|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|y
8andex\.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){const t=this.cookie.split("; ").filter(i=>i.split("=").at(0)===e).at(0);return t===void 0?null:t.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},X)}):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
8: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,()=>{}),Te(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),Le(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,X,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Ze("chebeauty-brand.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,false,false,{"sendEvents":false,"mode":"gtag"}
8,false,false,1000,[],[],null,false),await window.shopliftInstance.init())})();async function Qe(a,e,t,i){const s=Be({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=K(a,o),c=l.discountMap,d=l.maxDiscount;function p(){const f=W(e);f!==o&&(o=f,l=K(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=Y(n),g=v?n.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,e),formattedDiscounted:G(g.priceInCents*(1-f/100),e)}:null}function u(f){const v=J(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=Y(n),P=g?n.get(g):void 0;if(!P)return;const A=G(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=J(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 Xe=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Qe},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "", type: "login" }, "main", 156109275314, false)</script>
8
9<!-- End of Shoplift scripts -->
10
11    
12
13<script src="/cdn/shopifycloud/consent-tracking-api/v0.1/consent-tracking-api.js"></script>
13
14
15<script type="text/javascript">
16  
17;(function() {
18    var Rt=Object.defineProperty;var kt=(b,I,E)=>I in b?Rt(b,I,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[I]=E;var c=(b,I,E)=>kt(b,typeof I!="symbol"?I+"":I,E);(function(){"use strict";/*! js-cookie v3.0.8 | MIT */function b(o){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var i in e)i!=="__proto__"&&(o[i]=e[i])}return o}var I={read:function(o){return o[0]==='"'&&(o=o.slice(1,-1)),o.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(o){return encodeURIComponent(o).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function E(o,t){function e(s,n,r){if(!(typeof document>"u")){r=b({},t,r),typeof r.expires=="number"&&(r.expires=new Date(Date.now()+r.expires*864e5)),r.expires&&(r.expires=r.expires.toUTCString()),s=encodeURIComponent(s).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var d="";for(var a in r)r[a]&&(d+="; "+a,r[a]!==!0&&(d+="="+r[a].split(";")[0]));return document.cookie=s+"="+o.write(n,s)+d}}function i(s){if(!(typeof document>"u"||arguments.length&&!s)){for(var n=document.cookie?document.cookie.split("; "):[],r={},d=0;d<n.length;d++){var a=n[d].split("="),l=a.slice(1).join("=");try{var u=decodeURIComponent(a[0]);if(u in r||(r[u]=o.read(l,u)),s===u)break}catch{}}return s?r[s]:r}}return Object.create({set:e,get:i,remove:function(s,n){e(s,"",b({},n,{expires:-1}))},withAttributes:function(s){return E(this.converter,b({},this.attributes,s))},withConverter:function(s){return E(b({},this.converter,s),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(o)}})}var $=E(I,{path:"/"});const U=class U{constructor(t,e={}){c(this,"_writable");this.kind=t,this.cookieAttributes=e}get writable(){if(this._writable===void 0){const t=`${U.PROBE_KEY}_${this.kind}`;this._writable=this.set(t,"1"),this.remove(t)}return this._writable}get(t){var e;try{return this.kind==="cookie"?$.get(t)??null:((e=this.storage)==null?void 0:e.getItem(t))??null}catch(i){return console.debug(`shogun: could not read '${t}' from ${this.kind} store`,i),null}}set(t,e){try{if(this.kind==="cookie")$.set(t,e,this.cookieAttributes);else{const i=this.storage;if(!i)return!1;i.setItem(t,e)}}catch(i){return console.debug(`shogun: could not write '${t}' to ${this.kind} store`,i),!1}return this.get(t)===e}remove(t){try{if(this.kind==="cookie")$.remove(t,this.cookieAttributes);else{const e=this.storage;if(!e)return!1;e.removeItem(t)}}catch(e){return console.debug(`shogun: could not remove '${t}' from ${this.kind} store`,e),!1}return this.get(t)===null}get storage(){try{return(this.kind==="local"?globalThis.localStorage:globalThis.sessionStorage)??null}catch{return null}}};c(U,"PROBE_KEY","_shg_storage_probe");let v=U;class nt{constructor(t,e){c(this,"CACHE_KEY","_shg_audience_cache");c(this,"CACHE_EXPIRATION_DAYS",7);c(this,"DEVICE_MOBILE_BREAKPOINT",768);c(this,"cache",{timestamp:Date.now(),data:{}});c(this,"storage",new v("local"));this.visitor=t,this.locationApiUrl=e,this.restoreCache()}evaluate(t){switch(t.value=this.snakeCaseKeys(t.value),t.audience_type){case"location":return this.locationMatches(t);case"b2b":return this.b2bMatches(t);case"device":return this.deviceMatches(t);case"logged_in":return this.loggedInMatches(t);case"referrer_contains":return this.referrerContainsMatches(t);case"url_contains":return this.urlContainsMatches(t);case"new_visitor":return this.newVisitorMatches(t);case"returning_visitor":return this.returningVisitorMatches(t);default:return{status:"skipped",expected:t.value,actual:null,reason:`No evaluator implemented for audience type: ${t.audience_type}`}}}evaluateAll(t,e="every"){if(!t||t.length===0)return{status:"eligible",condition:e,expected:{},actual:{}};if(!["every","any"].includes(e))return{status:"error",condition:e,expected:{},actual:{}};const i=t.map(d=>({type:d.audience_type,evaluation:this.evaluate(d)})),s=e==="every"?i.every(d=>d.evaluation.status==="match"):i.some(d=>d.evaluation.status==="match"),n=i.some(d=>d.evaluation.status==="error"),r=e==="every"&&i.some(d=>d.evaluation.status==="no_match");return{status:s?"eligible":n&&!r?"error":"not_eligible",condition:e,expected:t.reduce((d,a)=>(d[a.audience_type]={condition:a.condition,value:a.value},d),{}),actual:i.reduce((d,a)=>(d[a.type]=a.evaluation.actual,d),{}),evaluations:i.reduce((d,a)=>(d[a.type]={status:a.evaluation.status,reason:a.evaluation.reason},d),{})}}b2bMatches(t){const e=t.value===this.visitor.isB2B;return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:this.visitor.isB2B}}}deviceMatches(t){const e=window.innerWidth<this.DEVICE_MOBILE_BREAKPOINT||window.outerWidth<this.DEVICE_MOBILE_BREAKPOINT?"mobile":"desktop",i=t.value===e;return{status:(t.condition==="is_not"?!i:i)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:e}}}truncate(t){return t?t.slice(0,200):void 0}locationMatches(t){let e=null;if(!this.cache.data.location){let h=null,_=0;try{const m=new XMLHttpRequest;m.open("GET",this.locationApiUrl,!1),m.send(null),_=m.status,_===200?h=JSON.parse(m.responseText):e={cause:"http_status",status:_,error:this.truncate(m.responseText)}}
18catch(m){e={cause:_===200?"invalid_response":"request_failed",status:_,error:this.truncate(String(m))}}e&&console.debug("shogun: location lookup failed, location audiences cannot be evaluated",e),h&&(this.cache.data.location={country:h==null?void 0:h.country,region:h==null?void 0:h.region,city:h==null?void 0:h.city,timestamp:Date.now()},this.saveCache())}const i={condition:t.condition,value:t.value},s=this.cache.data.location;if(!i||!i.value||!i.value.type||!i.value.country_code)return{status:"no_match",expected:i,actual:s?{value:s}:null};if(!s)return{status:"error",expected:i,actual:e,reason:"location_unavailable"};const{type:n,country_code:r,toponym_name:d,parent_name:a}=i.value;let l=!1;switch(n){case"country":l=s.country===r;break;case"region":l=s.region===d&&s.country===r;break;case"city":l=s.city===d&&s.region===a&&s.country===r;break;default:l=!1}return{status:(t.condition==="is_not"?!l:l)?"match":"no_match",expected:i,actual:{value:s}}}loggedInMatches(t){const e=String(t.value)==="true",i=this.visitor.isLoggedIn===e;return{status:(t.condition==="is_not"?!i:i)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:this.visitor.isLoggedIn}}}referrerContainsMatches(t){if(typeof t.value!="string")return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"Invalid expected value"};const e=document.referrer.toLowerCase().includes(t.value.toLowerCase());return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:document.referrer}}}urlContainsMatches(t){if(typeof t.value!="string")return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"Invalid expected value"};const e=window.location.href.toLowerCase().includes(t.value.toLowerCase());return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:window.location.href}}}returningVisitorMatches(t){if(!this.visitor.detailsPersisted||!this.visitor.details)return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"visitor_details_unavailable"};const{expected_time_in_milliseconds:e,within_or_after:i}=t.value||{};if(typeof e!="number"||!i)return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"Invalid expected data"};const s=this.visitor.details.first_visit_timestamp,n=Date.now();if(i==="within"){const r=s+e>n;return{status:(t.condition==="is_not"?!r:r)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:s}}}else{const r=s+e<n;return{status:(t.condition==="is_not"?!r:r)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:s}}}}newVisitorMatches(t){if(!this.visitor.detailsPersisted)return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"visitor_details_unavailable"};const e=t.value==this.visitor.isFirstVisit;return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:this.visitor.isFirstVisit}}}restoreCache(){const t=this.storage.get(this.CACHE_KEY);if(t)try{const e=JSON.parse(t);e.timestamp<=Date.now()-this.CACHE_EXPIRATION_DAYS*24*60*60*1e3?(this.storage.remove(this.CACHE_KEY),this.cache.data={}):this.cache=e}catch{this.storage.remove(this.CACHE_KEY),this.cache.data={}}}saveCache(){this.cache.timestamp=Date.now(),this.storage.set(this.CACHE_KEY,JSON.stringify(this.cache))}snakeCaseKeys(t){if(t==null||typeof t!="object")return t;const e={};for(const[i,s]of Object.entries(t)){const n=i.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`);e[n]=s}return e}}class A extends Error{constructor(e,i,s={}){super(e,{cause:s.cause});c(this,"optimization");this.reason=i,this.name="DispatchError",this.optimization=s.optimization}}const g=class g{constructor(t){c(this,"customerId");c(this,"isB2B");c(this,"details",null);c(this,"sessionId",null);c(this,"id",null);c(this,"_idsPersisted",!0);c(this,"_detailsPersisted",!0);c(this,"storage",new v("local"));c(this,"sessionCookie",new v("cookie",{expires:1/48,path:"/"}));c(this,"visitorCookie",new v("cookie",{expires:365,path:"/"}));this.context=t,this.sessionId=t.sessionId,this.customerId=t.customerId,this.isB2B=t.isB2B,this.loadCachedDetails(),this.loadAndStoreVisitorId(),this.loadAndStoreSessionId()}static storedIds(){const t=new v("cookie");return{id:t.get(g.VISITOR_ID_KEY),sessionId:t.get(g.SESSION_ID_KEY)}}get bin(){return this.sessionId?this.hashWithDjb2(this.sessionId)%g.DEFAULT_NUMBER_OF_BINS:0}
18get firstVisitTimestamp(){var t;return((t=this.details)==null?void 0:t.first_visit_timestamp)??Date.now()}get isFirstVisit(){return this.firstVisitTimestamp>=Date.now()-g.NEW_VISITOR_THRESHOLD_MINUTES*60*1e3}get isLoggedIn(){return!!this.customerId}loadCachedDetails(){var e;const t=this.storage.get(g.DETAILS_KEY);if(t)try{this.details=JSON.parse(t),typeof((e=this.details)==null?void 0:e.first_visit_timestamp)!="number"&&(console.warn("Invalid visitor details found in storage, resetting."),this.details=null)}catch(i){console.error("Error loading visitor details from storage:",i),this.details=null}this.details||(this.details={first_visit_timestamp:Date.now()},this._detailsPersisted=this.storage.set(g.DETAILS_KEY,JSON.stringify(this.details)))}get detailsPersisted(){return this._detailsPersisted}get idsPersisted(){return this._idsPersisted}get cookiesWritable(){return this.visitorCookie.writable}newId(){try{return crypto.randomUUID()}catch{return console.debug("shogun: this platform will not generate an identifier for the visitor"),null}}loadAndStoreSessionId(){const t=this.sessionId||this.sessionCookie.get(g.SESSION_ID_KEY)||null;t?this.sessionId=t:(this.sessionId=this.newId(),this.sessionId||(this._idsPersisted=!1)),this.sessionId&&(this._idsPersisted=this.sessionCookie.set(g.SESSION_ID_KEY,this.sessionId)&&this._idsPersisted)}loadAndStoreVisitorId(){const t=this.visitorCookie.get(g.VISITOR_ID_KEY)||null;t?this.id=t:(this.id=this.newId(),this.id?this._idsPersisted=this.visitorCookie.set(g.VISITOR_ID_KEY,this.id)&&this._idsPersisted:this._idsPersisted=!1)}hashWithDjb2(t){let e=5381;for(let i=0;i<t.length;i++)e=(e<<5)-e+t.charCodeAt(i),e|=0;return Math.abs(e)}};c(g,"DETAILS_KEY","_shg_ab_visitor_details"),c(g,"SESSION_ID_KEY","_shg_ab_session_id"),c(g,"VISITOR_ID_KEY","_shg_ab_visitor_id"),c(g,"DEFAULT_NUMBER_OF_BINS",1e4),c(g,"NEW_VISITOR_THRESHOLD_MINUTES",30);let T=g;const S=class S{constructor(t){c(this,"buyItNowHandlerAttached",!1);this.config=t}run(){typeof document<"u"&&document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this.attachBuyItNowHandler()}):setTimeout(()=>{this.attachBuyItNowHandler()},100)}attachBuyItNowHandler(){var s;const t=(s=this.config)==null?void 0:s.currentCartVariantId;if(!t){console.debug("shogun: no current cart variant ID assigned, buy-it-now interception skipped");return}if(this.buyItNowHandlerAttached)return;this.buyItNowHandlerAttached=!0,console.debug("shogun: setting up buy-it-now interception with cart variant ID:",t);const e=async(n,r)=>{var u,h,_,m;const d=(r==null?void 0:r.formData)??new FormData(n);let a=(r==null?void 0:r.variantId)??this.extractVariantIdFromFormData(d);if(!a){console.debug("shogun: no product variant ID found for buy-it-now, interception skipped");return}const l=(r==null?void 0:r.quantity)??(parseInt(d.get("quantity")||"1",10)||1);if(console.debug("shogun: buy-it-now details:",{productVariantId:a,quantity:l,cartVariantId:t,storefrontAccessToken:(u=this.config)!=null&&u.storefrontAccessToken?"***":null,shopDomain:(h=this.config)==null?void 0:h.shopDomain}),(_=this.config)!=null&&_.storefrontAccessToken&&((m=this.config)!=null&&m.shopDomain)){console.debug("shogun: attempting cartCreate with merchandiseId:",`gid://shopify/ProductVariant/${a}`);const D=await this.createCartAndGetCheckoutUrl(a,l,t);if(D){console.debug("shogun: redirecting to cartCreate checkoutUrl (original cart preserved)"),window.location.href=D;return}}console.debug("shogun: falling back to cart add with cart variant"),await this.addToCartAndCheckout(a,l,t)};typeof document<"u"&&(()=>{document.addEventListener("click",n=>{const r=n.target;if(!r)return;const d=this.findPaymentElementFromClick(n,r);if(!d)return;const a=this.findFormForPaymentElement(d,r,n);if(!a)return;
18const l=this.getBuyItNowDetailsFromForm(a);l&&(n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),e(a,l))},{capture:!0})})()}async createCartAndGetCheckoutUrl(t,e,i){var a,l,u,h,_,m,D;if(!((a=this.config)!=null&&a.storefrontAccessToken)||!((l=this.config)!=null&&l.shopDomain))return null;const s=`
19      mutation cartCreate($input: CartInput!) {
20        cartCreate(input: $input) {
21          cart {
22            id
23            checkoutUrl
24          }
25          userErrors {
26            field
27            message
28          }
29        }
30      }
31    `,n=i?[{key:"shogun_variant_id",value:i}]:[];let r=[];i&&this.config.lineItemLevelVariant&&(r=[{key:"_shogun_variant_id",value:i}]);const d={input:{lines:[{merchandiseId:`gid://shopify/ProductVariant/${t}`,quantity:e,attributes:r}],attributes:n}};try{const M=JSON.stringify({query:s,variables:d}),st=`https://${this.config.shopDomain}/api/2026-07/graphql.json`;console.debug("shogun: cartCreate request URL:",st),console.debug("shogun: cartCreate request body:",M);const P=await(await fetch(st,{method:"POST",headers:{"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":this.config.storefrontAccessToken},body:M})).json();return console.debug("shogun: cartCreate full response:",JSON.stringify(P,null,2)),(_=(h=(u=P.data)==null?void 0:u.cartCreate)==null?void 0:h.cart)!=null&&_.checkoutUrl?(console.debug("shogun: cartCreate successful, checkoutUrl:",P.data.cartCreate.cart.checkoutUrl),P.data.cartCreate.cart.checkoutUrl):(console.error("shogun: cartCreate failed:",((D=(m=P.data)==null?void 0:m.cartCreate)==null?void 0:D.userErrors)||P.errors),null)}catch(M){return console.error("shogun: cartCreate error:",M),null}}async addToCartAndCheckout(t,e,i){var n;const s={items:[{id:t,quantity:e,properties:{}}]};i&&(s.attributes={shogun_variant_id:i},(n=this.config)!=null&&n.lineItemLevelVariant&&(s.items[0].properties={_shogun_variant_id:i}));try{const r=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});r.ok?(console.debug("shogun: added to cart, redirecting to checkout"),window.location.href="/checkout"):console.error("shogun: cart add failed:",await r.text())}catch(r){console.error("shogun: cart add error:",r)}}findPaymentElementFromClick(t,e){const i=e.closest(S.SHOPIFY_PAYMENT_BUTTON_SELECTOR);if(i)return i;const s=typeof t.composedPath=="function"?t.composedPath():[];for(const n of s)if(n instanceof HTMLElement&&n.matches(S.SHOPIFY_PAYMENT_BUTTON_SELECTOR))return n;return null}findFormForPaymentElement(t,e,i){const s=t.closest("form");if(s)return s;const n=e==null?void 0:e.closest("form");if(n)return n;const r=(e==null?void 0:e.closest("[form]"))||t.closest("[form]")||t.querySelector("[form]"),d=r==null?void 0:r.getAttribute("form");if(d){const h=document.getElementById(d);if(h instanceof HTMLFormElement)return h}const a=typeof(i==null?void 0:i.composedPath)=="function"?i.composedPath():[];for(const h of a)if(h instanceof HTMLFormElement)return h;const l=document.querySelectorAll("form");let u=null;for(const h of l)if(h.querySelector(S.SHOPIFY_PAYMENT_BUTTON_SELECTOR)){if(u)return console.debug("shogun: multiple payment-button forms found; skipping ambiguous buy-it-now form mapping"),null;u=h}return u}normalizeProductVariantId(t){if(!t)return null;const e=String(t);if(!e.includes("gid://"))return e;const i=e.match(/\/(\d+)$/);return i?i[1]:e}extractVariantIdFromFormData(t){const e=t.get("id")||t.get("variant_id");if(!e)return null;const i=this.normalizeProductVariantId(e);return i&&i!==e&&console.debug("shogun: extracted numeric ID from GID:",i),i}
31getBuyItNowDetailsFromForm(t){const e=new FormData(t),i=this.extractVariantIdFromFormData(e);if(!i)return null;const s=parseInt(e.get("quantity")||"1",10)||1;return{formData:e,variantId:i,quantity:s}}};c(S,"SHOPIFY_PAYMENT_BUTTON_SELECTOR",'shopify-buy-it-now-button, shopify-accelerated-checkout, [data-shopify="payment-button"], .shopify-payment-button');let z=S;class V{constructor(t,e,i){c(this,"id");c(this,"name");c(this,"type");c(this,"scope");c(this,"config");c(this,"variants");c(this,"assignedVariantId");c(this,"state");c(this,"assignedAt");c(this,"eligibility");c(this,"context");c(this,"audienceEvaluator");this.id=t.id,this.name=t.name,this.type=t.type,this.scope=t.scope,this.config=t.config||{},this.variants=t.variants||[],this.assignedVariantId=t.assignedVariantId,this.state=t.assignedVariantId?t.state:void 0,this.assignedAt=t.assignedVariantId?t.assignedAt:void 0,this.context=e,this.audienceEvaluator=i}get isFirstAssignment(){return!!this.assignedVariantId&&this.state===void 0}get isFirstView(){return!!this.assignedVariantId&&(this.isEligible||this.isOnAssignedVariant)&&this.state!=="started"}get assignedVariant(){return this.assignedVariantId&&this.variants.find(t=>t.id===this.assignedVariantId)||null}get originalVariant(){return this.variants.find(t=>t.config.original)||null}get isOnAssignedVariant(){var t;return this.assignedVariantId?this.assignedVariantId===((t=this.currentVariant)==null?void 0:t.id):!1}get isEligible(){var t;return((t=this.eligibility)==null?void 0:t.status)==="eligible"}get firstNonDefaultEligibleVariant(){if(!this.eligibility||!this.eligibility.variants)return null;const t=Object.entries(this.eligibility.variants).filter(([i,s])=>s.status==="eligible").map(([i,s])=>i);return this.variantsByPosition().find(i=>t.includes(i.id)&&!i.config.original)||null}get inReview(){return this.type==="review"}get canDispatch(){return!!this.assignedVariant}get needsDispatch(){return this.assignedVariantId?!this.isOnAssignedVariant&&(this.inReview||this.isEligible):!1}evaluateEligibility(){const t=this.type=="ab_test"?this.evaluateAudienceEligibility():{status:"eligible",condition:void 0,expected:{},actual:{}},e=this.evaluateScopeEligibility(),i=this.evaluateVariantAudienceEligibility(),s=[t,e].every(r=>r.status==="eligible"||r.status==="match")&&(Object.keys(i).length===0||Object.values(i).some(r=>r.status==="eligible")),n=[t,e,...Object.values(i)].some(r=>r.status==="error");this.eligibility={status:s?"eligible":n?"error":"not_eligible",audience:t,scope:e,variants:i}}evaluateAudienceEligibility(){return this.audienceEvaluator.evaluateAll(this.config.audiences||[],this.config.audiences_condition||"every")}evaluateVariantAudienceEligibility(){const t={};for(const e of this.variants)e.config.audiences&&e.config.audiences.length>0?t[e.id]=this.audienceEvaluator.evaluateAll(e.config.audiences,e.config.audiences_condition||"every"):e.config.original||(t[e.id]={status:"eligible",condition:void 0,expected:{},actual:{}});return t}finalize(){this.isEligible&&this.removeViewParam()}extractPartialTemplateKey(t){if(!t)return;const e=t.split(".");return e.length<2?t:e.slice(0,-1).join(".")}variantForCurrentTemplate(){const t=this.pagePartialTemplateKey();return this.variants.find(e=>this.extractPartialTemplateKey(e.config.full_template_key)===t)||null}matchesCurrentTemplate(){return this.variantForCurrentTemplate()!==null}pagePartialTemplateKey(){const t=this.context.page.templateDirectory||(this.context.page.pageType==="metaobject"?"metaobject":null),e=t?`templates/${t}/`:"templates/",i=[this.context.page.templateName,this.context.page.templateSuffix].filter(Boolean).join(".");return e+i}extractViewParamFromFullTemplateKey(t){if(!t)return;const e=t.split("/").pop().split(".")||[];return e.slice(1,e.length-1).join(".")}variantsByPosition(){return this.variants.slice().sort((t,e)=>{const i=t.position||0,s=e.position||0;return i-s})}removeViewParam(){const t=new URL(window.location.href);t.searchParams.delete("view"),window.history.replaceState({},"",t.toString())}redirect(t){t.searchParams.delete("cache"),window.location.replace(t.toString())}}class N extends V{constructor(e,i,s){super(e,i,s);c(this,"buyItNowFinalizer",null);this.buyItNowFinalizer=new z({currentCartVariantId:this.context.page.currentCartVariantId,shopDomain:this.context.shop.shopDomain,storefrontAccessToken:this.context.shop.storefrontAccessToken})}get currentVariant(){return this.variants.find(e=>e.id===this.context.page.currentCartVariantId)||null}evaluateScopeEligibility(){return{status:"match",expected:this.scope,actual:this.scope}}
31dispatch(){this.dispatchCartAssignment(new URL(window.location.href))}dispatchCartAssignment(e){var n;const i=this.assignedVariant;if(!i)throw new Error(`Cannot dispatch ${this.scope} optimization because the assigned variant is not set`);const s=new XMLHttpRequest;if(s.open("POST","/cart/update.js",!1),s.setRequestHeader("Content-Type","application/json"),s.send(JSON.stringify({attributes:{shogun_variant_id:i==null?void 0:i.id}})),s.status===200){const r=(n=i==null?void 0:i.config)==null?void 0:n.theme_id;console.debug(`shogun: dispatching ${this.scope} optimization by setting cart attribute and reloading the page to reflect cart changes`+(r?` with theme_id '${r}'`:"")),this.redirect(e)}else throw new Error(`Failed to update cart for ${this.scope} optimization dispatch, status: ${s.status}`)}finalize(){var e;(this.isEligible||this.inReview)&&((e=this.buyItNowFinalizer)==null||e.run())}}class rt extends N{}class at extends V{get currentVariant(){return this.matchesPage()?this.variantForCurrentTemplate():null}matchesPage(){const{page_type:t,page_id:e}=this.config,i=!t||t===this.context.page.pageType,s=!e||e===this.context.page.pageId;return i&&s}evaluateScopeEligibility(){const{page_type:t,page_id:e}=this.config,i=new URLSearchParams(window.location.search).get("view");return i&&!this.variants.some(s=>this.extractViewParamFromFullTemplateKey(s.config.full_template_key)===i)?{status:"skipped",expected:void 0,actual:void 0,reason:"Visitor has view param that does not match any variant template keys, likely previewing a template change from theme editor"}:{status:this.scope==="page"&&this.matchesCurrentTemplate()&&this.matchesPage()?"match":"no_match",expected:{page_type:t,page_id:e},actual:{page_type:this.context.page.pageType,page_id:this.context.page.pageId}}}get canDispatch(){var t;return super.canDispatch&&!!this.extractViewParamFromFullTemplateKey((t=this.assignedVariant)==null?void 0:t.config.full_template_key)}dispatch(){var i,s,n;const t=new URL(window.location.href),e=this.extractViewParamFromFullTemplateKey((i=this.assignedVariant)==null?void 0:i.config.full_template_key);if(!e)throw new Error(`Assigned variant does not have a valid viewParam for dispatching full_template_key: ${(s=this.assignedVariant)==null?void 0:s.config.full_template_key}, variant: ${(n=this.assignedVariant)==null?void 0:n.id}`);t.searchParams.set("view",e),console.debug("shogun: Dispatching page optimization by redirecting to ",t.toString()),this.redirect(t)}}class ot extends N{}class ct extends N{}const B="_shogun_variant_id",x=`properties[${B}]`,dt=/\/cart\/add(\.js)?$/;class lt{constructor(t){c(this,"addToCartHandlerAttached",!1);c(this,"cartAddRequestInterceptionAttached",!1);this.config=t}run(){var e;const t=(e=this.config)==null?void 0:e.currentCartVariantId;if(!t){console.debug("shogun: no current cart variant ID assigned, add-to-cart interception skipped");return}this.interceptCartAddRequests(t),typeof document<"u"&&document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this.attachAddToCartHandler(t)}):setTimeout(()=>{this.attachAddToCartHandler(t)},100)}attachAddToCartHandler(t){this.addToCartHandlerAttached||(this.addToCartHandlerAttached=!0,console.debug("shogun: setting up add-to-cart interception with cart variant ID:",t),document.querySelectorAll('form[action="/cart/add"]').forEach(e=>{const i=document.createElement("input");i.name=x,i.value=t,i.type="hidden",e.appendChild(i)}))}interceptCartAddRequests(t){this.cartAddRequestInterceptionAttached||(this.cartAddRequestInterceptionAttached=!0,this.interceptFetchCartAdd(t),this.interceptXhrCartAdd(t))}interceptFetchCartAdd(t){if(typeof window>"u"||typeof window.fetch!="function")return;const e=window.fetch,i=this;window.fetch=function(s,n){try{const r=((n==null?void 0:n.method)??(s instanceof Request?s.method:"GET")).toUpperCase(),d=s instanceof Request?s.url:String(s);if(r==="POST"&&i.isCartAddUrl(d)&&(n==null?void 0:n.body)!=null){const a=i.withShogunVariantProperty(n.body,t);if(a!==null)return e.call(this,s,{...n,body:a})}}catch(r){console.debug("shogun: failed to inject cart variant into fetch cart add request:",r)}return e.call(this,s,n)}}interceptXhrCartAdd(t){if(typeof XMLHttpRequest>"u")return;const e=XMLHttpRequest.prototype.open,i=XMLHttpRequest.prototype.send,s=this;XMLHttpRequest.prototype.open=function(n,r,d=!0,a,l){return this.__shogunIsCartAdd=(n==null?void 0:n.toUpperCase())==="POST"&&s.isCartAddUrl(String(r)),e.call(this,n,r,d,a,l)},XMLHttpRequest.prototype.send=function(n){if(this.__shogunIsCartAdd&&n!=null&&!(n instanceof Document))try{const r=s.withShogunVariantProperty(n,t);if(r!==null)return i.call(this,r)}catch(r){console.debug("shogun: failed to inject cart variant into XHR cart add request:",r)}return i.call(this,n)}}isCartAddUrl(t){try{const e=new URL(t,window.location.origin);return e.origin===window.location.origin&&dt.test(e.pathname)}catch{return!1}}withShogunVariantProperty(t,e){return t instanceof FormData||t instanceof URLSearchParams?(t.has(x)||t.append(x,e),t):typeof t=="string"?this.withShogunVariantPropertyInString(t,e):null}withShogunVariantPropertyInString(t,e){try{const s=JSON.parse(t);return s&&typeof s=="object"&&!Array.isArray(s)?JSON.stringify(this.withShogunVariantPropertyInPayload(s,e)):null}catch{}if(!t.includes("="))return null;const i=new URLSearchParams(t);return i.has(x)||i.append(x,e),i.toString()}withShogunVariantPropertyInPayload(t,e){return Array.isArray(t.items)?{...t,items:t.items.map(i=>i&&typeof i=="object"?{...i,properties:this.withVariantProperty(i.properties,e)}:i)}:"id"in t?{...t,properties:this.withVariantProperty(t.properties,e)}:t}withVariantProperty(t,e){const i=t&&typeof t=="object"?t:{};return i[B]!=null?i:{...i,[B]:e}}}const R=class R{constructor(){c(this,"observer",null)}removePreviewBar(t){t instanceof Element&&t.matches(R.PREVIEW_BAR_IFRAME_SELECTOR)&&(console.debug(`shogun: Removing preview bar iframe with id: ${t.id}`),t.remove(),this.stop()),t.querySelectorAll(R.PREVIEW_BAR_IFRAME_SELECTOR).forEac
31h(e=>{console.debug(`shogun: Removing preview bar iframe with id: ${e.id}`),e.remove(),this.stop()})}run(){if(this.observer)return;const t=document.documentElement;t&&(this.observer=new MutationObserver(e=>{for(const i of e)for(const s of i.addedNodes)s instanceof Element&&this.removePreviewBar(s)}),this.observer.observe(t,{childList:!0,subtree:!0}),this.removePreviewBar(document))}stop(){var t;(t=this.observer)==null||t.disconnect(),this.observer=null}};c(R,"PREVIEW_BAR_IFRAME_SELECTOR","#preview-bar-iframe, #PBarNextFrameWrapper");let F=R;class ht extends N{constructor(e,i,s){super(e,i,s);c(this,"addToCartFinalizer",null);c(this,"themePreviewFinalizer",null);this.buyItNowFinalizer=new z({currentCartVariantId:this.context.page.currentCartVariantId,shopDomain:this.context.shop.shopDomain,storefrontAccessToken:this.context.shop.storefrontAccessToken,lineItemLevelVariant:!0}),this.addToCartFinalizer=new lt({currentCartVariantId:this.context.page.currentCartVariantId})}get currentVariant(){const e=super.currentVariant;if(!e)return null;const i=e.config.theme_id;return i?i===this.context.page.themeId?e:null:e}dispatch(){var s;const e=new URL(window.location.href),i=(s=this.assignedVariant)==null?void 0:s.config.theme_id;i&&i!==this.context.page.themeId&&e.searchParams.set("preview_theme_id",i),this.dispatchCartAssignment(e)}finalize(){var e,i,s,n;(this.isEligible||this.inReview)&&((e=this.addToCartFinalizer)==null||e.run(),(i=this.buyItNowFinalizer)==null||i.run()),this.isOnAssignedVariant&&((s=this.assignedVariant)!=null&&s.config.theme_id)&&(this.themePreviewFinalizer||(this.themePreviewFinalizer=new F),(n=this.themePreviewFinalizer)==null||n.run())}}class ut extends V{get currentVariant(){return this.variantForCurrentTemplate()}evaluateScopeEligibility(){const t=this.pagePartialTemplateKey();return{status:this.matchesCurrentTemplate()?"match":"no_match",expected:t,actual:t}}get canDispatch(){var t;return super.canDispatch&&!!this.extractViewParamFromFullTemplateKey((t=this.assignedVariant)==null?void 0:t.config.full_template_key)}dispatch(){var i,s,n;const t=new URL(window.location.href),e=this.extractViewParamFromFullTemplateKey((i=this.assignedVariant)==null?void 0:i.config.full_template_key);if(!e)throw new Error(`Assigned variant does not have a valid viewParam for dispatching full_template_key: ${(s=this.assignedVariant)==null?void 0:s.config.full_template_key}, variant: ${(n=this.assignedVariant)==null?void 0:n.id}`);t.searchParams.set("view",e),console.debug("shogun: Dispatching template optimization by redirecting to ",t.toString()),this.redirect(t)}}class J extends V{constructor(e,i,s){super(e,i,s);c(this,"themePreviewFinalizer",null);this.themePreviewFinalizer=new F}get currentVariant(){return this.variants.find(e=>e.config.theme_id===this.context.page.themeId)||null}evaluateScopeEligibility(){if(!this.originalVariant)return{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing"};const e=this.originalVariant.config.theme_id;return e?{status:e===this.context.page.themeId?"match":"no_match",expected:e,actual:this.context.page.themeId}:{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing theme_id in config"}}
31get needsDispatch(){return this.isEligible&&!this.isOnAssignedVariant&&this.isFirstView}get canDispatch(){var e;return super.canDispatch&&!!((e=this.assignedVariant)!=null&&e.config.theme_id)}dispatch(){var s,n;const e=(s=this.assignedVariant)==null?void 0:s.config.theme_id;if(!e)throw new Error(`Assigned variant does not have a valid theme_id for dispatching, variant: ${(n=this.assignedVariant)==null?void 0:n.id}`);const i=new URL(window.location.href);i.searchParams.set("preview_theme_id",e),console.debug("shogun: Dispatching theme optimization by redirecting to ",i.toString()),this.redirect(i)}finalize(){var e;this.isOnAssignedVariant&&((e=this.themePreviewFinalizer)==null||e.run())}}c(J,"PREVIEW_BAR_IFRAME_IDS",["preview-bar-iframe","PBarNextFrameWrapper"]);class gt extends V{get currentVariant(){const t=decodeURIComponent(this.getCurrentPathWithoutLanguagePrefix());return this.variants.find(e=>e.config.path===t)||null}evaluateScopeEligibility(){const t=this.variants.find(r=>r.config.original);if(!t)return{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing"};const e=t.config.path;if(!e)return{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing path in config"};if(new URL(window.location.href).searchParams.get("view"))return{status:"skipped",expected:void 0,actual:void 0,reason:"Visitor is likely previewing a template change from theme editor"};const s=this.getCurrentPathWithoutLanguagePrefix(),n=decodeURIComponent(s);return{status:decodeURIComponent(e)===n?"match":"no_match",expected:e,actual:n}}get needsDispatch(){return!this.assignedVariantId||!this.isEligible?!1:(console.debug("shogun: Checking if URL redirect optimization needs dispatch. isOnAssignedVariant:",this.isOnAssignedVariant,"isFirstView:",this.isFirstView,"permanentRedirect:",this.config.permanent_redirect),this.config.permanent_redirect===!0&&!this.isOnAssignedVariant||!this.isOnAssignedVariant&&this.isFirstView===!0)}get canDispatch(){var t;return super.canDispatch&&!!((t=this.assignedVariant)!=null&&t.config.path)}get isOnAssignedVariant(){var e;if(super.isOnAssignedVariant)return!0;const t=((e=this.currentVariant)==null?void 0:e.config.original)===!0;return!!this.assignedVariantId&&t&&this.state==="started"&&this.config.permanent_redirect!==!0}dispatch(){var e,i,s,n,r;const t=new URL(window.location.href);if(!((e=this.assignedVariant)!=null&&e.config.path))throw new Error(`Assigned variant does not have a valid path for dispatching path: ${(i=this.assignedVariant)==null?void 0:i.config.path}, variant: ${(s=this.assignedVariant)==null?void 0:s.id}`);t.pathname=this.context.page.languageRootUrl!=="/"?this.context.page.languageRootUrl+((n=this.assignedVariant)==null?void 0:n.config.path):(r=this.assignedVariant)==null?void 0:r.config.path,console.debug("shogun: Dispatching url optimization by redirecting to ",t.toString()),this.redirect(t)}getCurrentPathWithoutLanguagePrefix(){return this.context.page.languageRootUrl==="/"||!this.context.page.path.startsWith(this.context.page.languageRootUrl)?this.context.page.path:this.context.page.path.replace(this.context.page.languageRootUrl,"")}}function X(o,t,e){switch(o.scope){case"page":return new at(o,t,e);case"template":return new ut(o,t,e);case"theme":return new J(o,t,e);case"url_redirect":return new gt(o,t,e);case"price":return new ot(o,t,e);case"product_details":return new ct(o,t,e);case"checkout":return new rt(o,t,e);case"shipping":return new ht(o,t,e);default:return console.debug(`shogun: No implementation for optimization scope '${o.scope}', ignoring optimization '${o.name}' (${o.id})`),null}}class H{constructor(t){c(this,"visitorBin");this.visitorBin=t}getRandomVariantForVisitorBin(t){let e=null,i=0;for(const s of t)if(i+=T.DEFAULT_NUMBER_OF_BINS*this.trafficForVariant(s)/100,this.visitorBin<i){e=s;break}return e||null}trafficForVariant(t){return t.config.percentage||0}}const k=class k extends H{assign(t){var s,n;if(t.length===0)return null;const e=this.sortOptimizationsByPriority(t),i=e.find(r=>r.firstNonDefaultEligibleVariant!==null);return i?(i.assignedVariantId=(s=i.firstNonDefaultEligibleVariant)==null?void 0:s.id,i):(e[0].assignedVariantId=(n=e[0].originalVariant)==null?void 0:n.id,e[0])}sortOptimizationsByPriority(t){return t.sort((e,i)=>{const s=this.scopePriority(e.scope),n=this.scopePriority(i.scope);return s-n})}
31scopePriority(t){return k.SCOPE_PRIORITIES[t||"page"]??k.SCOPE_PRIORITIES.page}};c(k,"SCOPE_PRIORITIES",{theme:1,template:2,page:3,url_redirect:4,price:5,product_details:6,checkout:7,shipping:8});let K=k;class Z extends H{assign(t){const e=t.filter(n=>n.isEligible);if(e.length===0)return null;const i=e[Math.floor(Math.random()*e.length)],s=this.getRandomVariantForVisitorBin(i.variants);return s?(i.assignedVariantId=s.id,i):null}}class pt extends H{assign(t){const e=t.flatMap(n=>n.variants),i=this.getRandomVariantForVisitorBin(e),s=t.find(n=>n.variants.some(r=>r.id===(i==null?void 0:i.id)))||null;return s&&i?(s.assignedVariantId=i.id,s):null}trafficForVariant(t){return t.traffic_percentage||0}}const O=class O{constructor(){c(this,"storage",new v("session"))}save(){typeof document>"u"||this.storage.set(O.STORAGE_KEY,document.referrer)||console.debug("shogun: could not retain the referrer, this visitor will be attributed to an internal redirect")}restore(){const t=this.storage.get(O.STORAGE_KEY);return t===null?typeof document<"u"&&document.referrer||null:(this.overrideDocumentReferrer(t),t||null)}clear(){this.storage.remove(O.STORAGE_KEY)}overrideDocumentReferrer(t){if(!(typeof document>"u"))try{Object.defineProperty(document,"referrer",{configurable:!0,get:()=>t})}catch(e){console.debug("shogun: failed to set original referrer via `Object.defineProperty`"),console.error(e);try{window.document.__defineGetter__("referrer",()=>t)}catch(i){console.debug("shogun: failed to set original referrer via `__defineGetter__`"),console.error(i)}}}};c(O,"STORAGE_KEY","_shg_referrer");let Y=O;const p=class p{constructor(t,e){c(this,"storage",new v("session"));c(this,"previewLinkHandlerAttached",!1);c(this,"_optimizationInReview");c(this,"optimizationResolved",!1);this.context=t,this.audienceEvaluator=e}get inReview(){return!!this.optimizationInReview}get optimizationInReview(){if(!this.optimizationResolved){const t=this.previewVariantId;this._optimizationInReview=t?X({id:"review-optimization",name:"Review Optimization",type:"review",scope:this.previewScope,state:"started",variants:[{id:t,name:"Preview Variant",optimization_id:"review-optimization",traffic_percentage:100,config:{original:!1,percentage:100}}],assignedVariantId:t},{page:this.context.page,shop:this.context.shop},this.audienceEvaluator):null,this.optimizationResolved=!0}return this._optimizationInReview||null}run(){const t=document.getElementById(p.PANEL_TEMPLATE_ID);if(!t){console.debug("shogun: sidebar not found!!!");return}const e=t.content.cloneNode(!0);this.attachPreviewLinkClickHandler();const i=()=>{document.body.style.paddingLeft="360px",document.body.style.paddingTop="50px",document.body.prepend(e),typeof window.restoreCollapsedState=="function"&&window.restoreCollapsedState(),typeof window.restoreDescriptionHeightState=="function"&&window.restoreDescriptionHeightState()};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",i);return}i()}get previewVariantId(){const e=new URLSearchParams(window.location.search).get(p.REVIEW_OPTIMIZATION_VARIANT_ID_PARAM),i=this.storage.get(p.PREVIEW_VARIANT_ID_STORAGE_KEY);return e&&e!==i?(console.debug(`shogun: theme review in progress, setting variant: ${e}`),this.storage.set(p.PREVIEW_VARIANT_ID_STORAGE_KEY,e),e):(i&&console.debug(`shogun: theme review in progress, viewing variant: ${i}`),i)}get previewScope(){const e=new URLSearchParams(window.location.search).get(p.REVIEW_OPTIMIZATION_SCOPE_PARAM),i=this.storage.get(p.PREVIEW_OPTIMIZATION_SCOPE_STORAGE_KEY);return e&&e!==i?(console.debug(`shogun: theme review in progress, setting scope: ${e}`),this.storage.set(p.PREVIEW_OPTIMIZATION_SCOPE_STORAGE_KEY,e),e):i?(console.debug(`shogun: theme review in progress, using scope: ${i}`),i):p.DEFAULT_REVIEW_SCOPE}attachPreviewLinkClickHandler(){this.previewLinkHandlerAttached||(this.previewLinkHandlerAttached=!0,document.addEventListener("click",t=>{var n,r;const e=(r=(n=t.target).closest)==null?void 0:r.call(n,'a[id^="shg-preview-btn-"]'),i=e==null?void 0:e.dataset.variantId;if(!i)return;t.preventDefault();const s=new URLSearchParams(window.location.search);s.set(p.REVIEW_OPTIMIZATION_VARIANT_ID_PARAM,i),window.location.href=`${window.location.pathname}?${s.toString()}`}))}};c(p,"PANEL_TEMPLATE_ID","shogun-price-test-preview"),c(p,"PREVIEW_VARIANT_ID_
31STORAGE_KEY","_shg_preview_variant_id"),c(p,"PREVIEW_OPTIMIZATION_SCOPE_STORAGE_KEY","_shg_preview_optimization_scope"),c(p,"REVIEW_OPTIMIZATION_VARIANT_ID_PARAM","shgpvid"),c(p,"REVIEW_OPTIMIZATION_SCOPE_PARAM","shgsc"),c(p,"DEFAULT_REVIEW_SCOPE","product_details");let j=p;var ft=" 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/",mt=/bot|crawl|http|lighthouse|scan|search|spider/i,C;function vt(){if(C instanceof RegExp)return C;try{C=new RegExp(ft,"i")}catch{C=mt}return C}var wt=o=>typeof o=="string"&&o!=="";function _t(o){return wt(o)&&vt().test(o)}var bt=_t;const f=class f{constructor(t){c(this,"storage",new v("local"));this.publishedOptimizationIds=t}get writable(){return this.storage.writable}get legacyEntries(){return Object.values(this.getState()).filter(t=>typeof t=="string").length}get(t){const e=this.getState()[t];return!e||typeof e=="string"?void 0:{...e,state:e.state??"started"}}update(t){var r,d,a,l;if(t.type!=="ab_test"||t.inReview)return!0;console.debug(`shogun: Caching assignment for optimization: '${t.name}' (${t.id}) to variant: '${(r=t.assignedVariant)==null?void 0:r.name}' (${(d=t.assignedVariant)==null?void 0:d.id})'`);const e=this.getState(),i=t.state??"assigned",s=e[t.id],n=s&&typeof s=="object"?s.assignedAt:t.assignedAt??(t.isFirstAssignment?Date.now():void 0);return t.assignedAt=n,this.storage.set(f.STORAGE_KEY,JSON.stringify({...e,[t.id]:{variantId:t.assignedVariantId,themeId:(l=(a=t.assignedVariant)==null?void 0:a.config)==null?void 0:l.theme_id,state:i,assignedAt:n}}))}markDispatched(t){const e=this.getState(),i=e[t];if(!i||typeof i!="object")return null;const s=Date.now();return this.storage.set(f.STORAGE_KEY,JSON.stringify({...e,[t]:{...i,dispatchedAt:s}}))?s:null}pendingDispatch(){let t;try{t=JSON.parse(this.storage.get(f.STORAGE_KEY)||"{}")??{}}catch{return null}for(const[e,i]of Object.entries(t))if(i&&typeof i=="object"&&typeof i.dispatchedAt=="number"){const s=typeof i.landedAt=="number"?i.landedAt:void 0;return{optimizationId:e,variantId:i.variantId,dispatchedAt:i.dispatchedAt,landedAt:s}}return null}markLanded(t,e){const i=this.getState(),s=i[t];!s||typeof s!="object"||s.dispatchedAt!==e||this.storage.set(f.STORAGE_KEY,JSON.stringify({...i,[t]:{...s,landedAt:Date.now()}}))}clearDispatched(){const t=this.getState(),e=Object.keys(t).filter(i=>{const s=t[i];return typeof s=="object"&&s!==null&&(s.dispatchedAt!==void 0||s.landedAt!==void 0)});e.length!==0&&(e.forEach(i=>
31{const{dispatchedAt:s,landedAt:n,...r}=t[i];t[i]=r}),this.storage.set(f.STORAGE_KEY,JSON.stringify(t)))}clearExpired(){const t=this.getState();if(this.expiredOptimizationIds().forEach(i=>delete t[i]),!this.storage.set(f.STORAGE_KEY,JSON.stringify(t))){console.debug("shogun: could not clear expired optimization state, not redirecting so the visitor is not sent round in a loop");return}console.debug("shogun: cleared expired optimization state, redirecting to default theme");const e=new URL(window.location.href);e.searchParams.set(f.PREVIEW_THEME_PARAM,""),window.location.replace(e.toString())}hasExpiredEntries(){return this.expiredOptimizationIds().length>0}expiredOptimizationIds(){return Object.entries(this.getState()).filter(([t,e])=>typeof e=="string"?!0:!!e.themeId).map(([t])=>t).filter(t=>!this.publishedOptimizationIds.includes(t))}getState(){try{const t=JSON.parse(this.storage.get(f.STORAGE_KEY)||"{}");return!t||typeof t!="object"||Array.isArray(t)?{}:t}catch{return this.storage.remove(f.STORAGE_KEY),{}}}};c(f,"STORAGE_KEY","_shg_ab_optimizations_cache"),c(f,"PREVIEW_THEME_PARAM","preview_theme_id");let q=f;function Q(){const o=At(),t=yt();return{navigation_type:(o==null?void 0:o.type)??null,prerendering:t.prerendering,activation_start:typeof(o==null?void 0:o.activationStart)=="number"?Math.round(o.activationStart):null,visibility:t.visibility,elapsed_ms:It(),webdriver:Et()}}function yt(){try{return{prerendering:"prerendering"in document?!!document.prerendering:null,visibility:document.visibilityState??null}}catch(o){return console.debug("shogun: could not read the state of this page",o),{prerendering:null,visibility:null}}}function It(){try{return Math.round(performance.now())}catch(o){return console.debug("shogun: could not read how long this page has been loading",o),null}}function Et(){try{return"webdriver"in navigator?!!navigator.webdriver:null}catch(o){return console.debug("shogun: could not read whether this page is driven by automation",o),null}}function At(){try{return performance.getEntriesByType("navigation")[0]??null}catch(o){return console.debug("shogun: could not read the navigation timing for this page",o),null}}const tt={visitor_consent:null,banner:null,region:null};function et(o){var t,e,i;if(!o)return tt;try{return{visitor_consent:((t=o.currentVisitorConsent)==null?void 0:t.call(o))??null,banner:((e=o.shouldShowBanner)==null?void 0:e.call(o))??null,region:((i=o.getRegion)==null?void 0:i.call(o))||null}}catch(s){return console.debug("shogun: could not read the consent state",s),tt}}const y=class y{constructor(t){c(this,"pixelTrackingStarted",!1);c(this,"assignedOptimization",null);c(this,"pageViewId",y.newPageViewId());this.context=t}static newPageViewId(){try{return crypto.randomUUID()}catch{return null}}get configLapsed(){const t=this.context.shop.configExpiresAt;return typeof t=="number"&&Date.now()-t>=y.CONFIG_LAPSE_GRACE_MS}static isoOrNull(t){if(typeof t!="number"||!Number.isFinite(t))return null;const e=new Date(t);return Number.isNaN(e.getTime())?null:e.toISOString()}async track(t,e,{reason:i,details:s}={}){var d,a,l;if(e!=null&&e.inReview||this.configLapsed)return;console.debug(`shogun: tracking event '${t}' for optimization '${(e==null?void 0:e.name)||"none"}' (${(e==null?void 0:e.id)||"none"}) ${i?`with reason '${i}'`:""}`),this.assignedOptimization=e??this.assignedOptimization,(t=="started"||t=="viewed"||t=="skipped")&&this.startPixelTracking(t==="started").catch(u=>this.reportCollectionFailure(u));const n=(d=window.Shopify)==null?void 0:d.customerPrivacy;let r=!1;try{r=(n==null?void 0:n.analyticsProcessingAllowed())??!1}catch(u){console.debug("shogun: could not read the consent status",u)}try{const u=await fetch(`${this.context.shop.analyticsUrl}/dispatcher/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,shop_id:this.context.shop.shopId,pageview_id:this.pageViewId,session_id:this.context.visitor.sessionId,visitor_id:this.context.visitor.id,optimization_id:e==null?void 0:e.id,variant_id:(a=e==null?void 0:e.assignedVariant)==null?void 0:a.id,reason:i,details:{optimization_ids:this.context.publishedOptimizations.map(h=>h.id),distribution_method:this.context.assignmentStrategy,context:this.context.page,default_theme_id:this.context.shop.defaultThemeId??null,legacy_cache_entries:this.context.legacyCacheEntries,client_timestamp:new Date().toISOString(),optimizations:this.context.publishedOptimizations.map(h=>({id:h.id,assigned_variant_id:h.assignedVariantId,first_assignment:h.isFirstAssignment,assigned_at:y.isoOrNull(h.assignedAt),eligibility:h.eligibility}
31)),from_dispatch_at:y.isoOrNull(this.context.fromDispatchAt),first_visit_at:this.context.visitor.detailsPersisted?y.isoOrNull((l=this.context.visitor.details)==null?void 0:l.first_visit_timestamp):null,consented:r,consent_api:n?"available":"unavailable",consent:et(n),environment:{version:this.context.version,storage:this.context.storage,config_expires_at:y.isoOrNull(this.context.configExpiresAt),...this.context.deferral,...Q()},...s}}),keepalive:!0});u.ok||console.error(`shogun: the analytics endpoint refused the '${t}' event with status ${u.status}, it was not recorded`)}catch(u){console.error("shogun: failed to send tracking event",u)}}static async trackLanded(t){var e;try{const i=await fetch(`${t.analyticsUrl}/dispatcher/landed`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"landed",shop_id:t.shopId,pageview_id:null,session_id:t.visitor.sessionId,visitor_id:t.visitor.id,optimization_id:t.optimization.id,variant_id:t.optimization.variantId,details:{context:t.page,client_timestamp:new Date().toISOString(),from_dispatch_at:y.isoOrNull(t.dispatchedAt),consent:et((e=window.Shopify)==null?void 0:e.customerPrivacy),environment:{version:t.version,...Q()}}}),keepalive:!0});return i.ok||console.error(`shogun: the analytics endpoint refused the 'landed' event with status ${i.status}, it was not recorded`),i.ok}catch(i){return console.error("shogun: failed to send tracking event",i),!1}}async startPixelTracking(t=!1){var n,r,d,a,l;if(console.debug("shogun: attempting to start pixel tracking for optimizations"),this.pixelTrackingStarted)return;const e=Date.now(),[i,s]=await Promise.all([this.getCustomerPrivacy(),this.getAnalytics()]);i.analyticsProcessingAllowed()||(console.debug("shogun: Visitor has not consented to tracking, unable to start pixel tracking for optimizations, waiting for consent..."),await this.waitForConsent(i),this.track("consented",this.assignedOptimization??void 0).catch(u=>console.error("shogun: could not report consent",u))),console.debug("shogun: Visitor has consented to tracking, starting pixel tracking for optimizations");try{s.publish("shogun:load",{app_type:((n=this.assignedOptimization)==null?void 0:n.type)=="personalization"?"personalization":"ab_testing",page_type:this.context.page.pageType,page_id:this.context.page.pageId,optimization_id:((r=this.assignedOptimization)==null?void 0:r.id)??null,variant_id:((a=(d=this.assignedOptimization)==null?void 0:d.assignedVariant)==null?void 0:a.id)??null,on_assigned_variant:((l=this.assignedOptimization)==null?void 0:l.isOnAssignedVariant)??!1,session_id:this.context.visitor.sessionId,visitor_id:this.context.visitor.id,pageview_id:this.pageViewId,original_referrer:this.context.originalReferrer}),this.pixelTrackingStarted=!0}catch(u){this.reportCollectionFailure(u);return}t&&this.track("collecting",this.assignedOptimization??void 0,{details:{waited_ms:Date.now()-e}}).catch(u=>console.error("shogun: could not report that collection started",u))}reportCollectionFailure(t){console.error("shogun: pixel tracking did not start, this visitor will not be collected",t);const e=t instanceof A?t.reason:"analytics_unavailable";this.track("errored",this.assignedOptimization??void 0,{reason:e,details:{error:t instanceof Error?{message:t.message,stack:t.stack}:String(t)}}).catch(i=>console.error("shogun: could not report the collection failure",i))}async getShopify(){return this.until(()=>window.Shopify,"Timed out waiting for Shopify API","analytics_unavailable")}
31async getAnalytics(){const t=await this.getShopify();return this.until(()=>{const e=t.analytics;return e!=null&&e.publish?e:void 0},"Timed out waiting for Shopify analytics API","analytics_unavailable")}async getCustomerPrivacy(){const t=await this.getShopify();return t!=null&&t.customerPrivacy?t.customerPrivacy:(await this.loadConsentTrackingApi(),this.until(()=>{var e;return(e=window.Shopify)==null?void 0:e.customerPrivacy},"Timed out waiting for Shopify customerPrivacy API","analytics_unavailable"))}loadConsentTrackingApi(){return new Promise((t,e)=>{const i=window.Shopify;if(!(i!=null&&i.loadFeatures)){e(new A("Shopify.loadFeatures is not available","analytics_unavailable"));return}i.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],s=>{s&&s.length>0?e(s[0]):t()})})}waitForConsent(t){return t.analyticsProcessingAllowed()?Promise.resolve():new Promise((e,i)=>{let s=!1,n=!1;const r=()=>{document.removeEventListener("visitorConsentCollected",d)},d=()=>{try{s=t.analyticsProcessingAllowed(),s||(n=!0)}catch(a){console.debug("shogun: could not read the consent status after it was collected",a)}};document.addEventListener("visitorConsentCollected",d),this.until(()=>s?!0:void 0,"Timed out waiting for user consent","consent_timeout").then(()=>{r(),e()}).catch(a=>{r(),i(n?new A("Consent was declined","consent_declined",{cause:a}):a)})})}until(t,e,i,{intervalMs:s=250,timeoutMs:n=15e3}={}){return new Promise((r,d)=>{const a=t();if(a){r(a);return}const l=Date.now(),u=window.setInterval(()=>{const h=t();if(h){window.clearInterval(u),r(h);return}Date.now()-l>n&&(window.clearInterval(u),d(new A(e,i)))},s)})}};c(y,"CONFIG_LAPSE_GRACE_MS",4320*60*1e3);let L=y;class St{constructor(t){c(this,"deferredAt",null);c(this,"shownAt",null);c(this,"resume",()=>{this.hidden||(this.shownAt===null&&(this.shownAt=Date.now()),this.onShown())});this.onShown=t}get hidden(){try{const t=document.visibilityState;return!!document.prerendering||t==="hidden"||t==="prerender"}catch(t){return console.debug("shogun: could not read whether the page is visible, treating it as visible",t),!1}}holdUntilShown(){if(!this.hidden)return!1;if(this.deferredAt!==null)return!0;try{this.listen(!0)}catch(t){return console.debug("shogun: could not wait for the page to be shown, running now",t),this.release(),!1}return this.deferredAt=Date.now(),!0}release(){try{this.listen(!1)}catch(t){console.debug("shogun: could not stop waiting for the page to be shown",t)}}get deferral(){return this.deferredAt===null?{was_hidden:!1,hidden_ms:0}:{was_hidden:!0,hidden_ms:(this.shownAt??Date.now())-this.deferredAt}}listen(t){const e=t?"addEventListener":"removeEventListener";document[e]("visibilitychange",this.resume),document[e]("prerenderingchange",this.resume),window[e]("pageshow",this.resume)}}const Ot=["gclid","gbraid","wbraid","fbclid","ttclid","msclkid","srsltid"],Pt=64;function Tt(o,t){const e=Vt(o);return{click_ids:Ot.filter(i=>e==null?void 0:e.has(i)),utm_source:W(e==null?void 0:e.get("utm_source")),utm_medium:W(e==null?void 0:e.get("utm_medium")),utm_campaign:W(e==null?void 0:e.get("utm_campaign")),referrer_host:xt(t)}}function Vt(o){try{return new URL(o).searchParams}catch{return null}}function xt(o){if(!o)return null;try{return new URL(o).host||null}catch{return null}}function W(o){return o?o.slice(0,Pt):null}const Ct={location_unavailable:"location_unavailable",visitor_details_unavailable:"storage_unavailable"},it=o=>o instanceof Error?{message:o.message,stack:o.stack}:String(o),w=class w{constructor(t){c(this,"retainedReferrer");c(this,"originalReferrer");c(this,"optimizationCache");c(this,"_visitor");c(this,"_audienceEvaluator");c(this,"_optimizationReview");c(this,"attemptsStore",new v("session"));c(this,"tracker");c(this,"hasRun",!1);c(this,"pageVisibility",new St(()=>this.run()));c(this,"legacyCacheEntries",0);c(this,"_publishedOptimizations");c(this,"_assignedOptimization");c(this,"fromDispatchAt",null);this.context=t,this.retainedReferrer=new Y,this.originalReferrer=this.retainedReferrer.restore(),this.optimizationCache=new q(t.publishedOptimizations.map(e=>e.id)),this.reportHeldLanding()}reportHeldLanding(){try{if(!this.pageVisibility.hidden)return;const t=this.optimizationCache.pendingDispatch();if(!t||t.landedAt!==void 0)return;
31L.trackLanded({analyticsUrl:this.context.shop.analyticsUrl,shopId:this.context.shop.shopId,version:w.VERSION,page:this.context.page,visitor:T.storedIds(),optimization:{id:t.optimizationId,variantId:t.variantId},dispatchedAt:t.dispatchedAt}).then(e=>{e&&this.optimizationCache.markLanded(t.optimizationId,t.dispatchedAt)}).catch(e=>console.debug("shogun: could not note that a hidden landing was reported",e))}catch(t){console.debug("shogun: could not report a page that loaded hidden after a redirect",t)}}get visitor(){return this._visitor||(this._visitor=new T(this.context.session)),this._visitor}get audienceEvaluator(){return this._audienceEvaluator||(this._audienceEvaluator=new nt(this.visitor,this.context.shop.geoLocationApi)),this._audienceEvaluator}get optimizationReview(){return this._optimizationReview||(this._optimizationReview=new j(this.context,this.audienceEvaluator)),this._optimizationReview}get publishedOptimizations(){return this._publishedOptimizations||(this._publishedOptimizations=this.context.publishedOptimizations.flatMap(t=>{var r,d;const e=this.optimizationCache.get(t.id),i=(e==null?void 0:e.variantId)||t.assignedVariantId,s=(e==null?void 0:e.state)||t.state,n=(e==null?void 0:e.assignedAt)??t.assignedAt;if(i){const a=((d=(r=t.variants)==null?void 0:r.find(l=>l.id===i))==null?void 0:d.name)||i;console.debug(`shogun: Found cached optimization for optimization: '${t.name}' (${t.id}), with variant: '${a}' (${i})`)}return X({...t,assignedVariantId:i,state:s,assignedAt:n},{page:this.context.page,shop:this.context.shop},this.audienceEvaluator)??[]})),this._publishedOptimizations}get abTestStrategy(){switch(this.context.assignmentStrategy){case"greedy":return new Z(this.visitor.bin);case"even":return new pt(this.visitor.bin);default:return new Z(this.visitor.bin)}}get personalizationStrategy(){return new K(this.visitor.bin)}get assignedOptimization(){return this._assignedOptimization===void 0&&(this._assignedOptimization=this.optimizationReview.optimizationInReview||this.previouslyAssignedOptimization||this.abTestStrategy.assign(this.publishedOptimizations.filter(t=>t.type==="ab_test"))||this.personalizationStrategy.assign(this.publishedOptimizations.filter(t=>t.type==="personalization"))||null),this._assignedOptimization}get previouslyAssignedOptimization(){return this.publishedOptimizations.find(t=>t.assignedVariantId!==void 0)||null}get isBot(){return bt(navigator.userAgent)}get dispatchAttempts(){return Number(this.attemptsStore.get(w.DISPATCH_ATTEMPTS_KEY)||"0")}get trackingService(){return this.tracker||(this.tracker=new L({shop:this.context.shop,page:this.context.page,visitor:this.visitor,assignmentStrategy:this.context.assignmentStrategy,publishedOptimizations:this.publishedOptimizations,originalReferrer:this.originalReferrer,storage:{cookie:this.visitor.cookiesWritable,local:this.optimizationCache.writable,session:this.attemptsStore.writable},version:w.VERSION,legacyCacheEntries:this.legacyCacheEntries,deferral:this.pageVisibility.deferral,configExpiresAt:this.context.configExpiresAt??null,fromDispatchAt:this.fromDispatchAt})),this.tracker}get isThemePreview(){var i,s,n;if(this.optimizationReview.inReview)return!1;const t=this.context.page.themeId!=this.context.shop.defaultThemeId,e=(n=(s=(i=this.previouslyAssignedOptimization)==null?void 0:i.assignedVariant)==null?void 0:s.config)==null?void 0:n.theme_id;return t&&(e===void 0||e!==this.context.page.themeId)}set dispatchAttempts(t){this.attemptsStore.set(w.DISPATCH_ATTEMPTS_KEY,t.toString())||console.debug("shogun: could not record the dispatch attempt, this session is not protected against a redirect loop")}exclude(t,e,i=this.previouslyAssignedOptimization){const s=i&&!i.inReview?i:void 0;this.trackingService.track("excluded",s,e?{reason:t,details:e}:{reason:t})}get unassignedReason(){if(this.context.configExpired&&this.publishedOptimizations.length===0)return"config_expired";const e=this.publishedOptimizations.flatMap(i=>{var s,n;return[...Object.values(((s=i.eligibility)==null?void 0:s.audience.evaluations)??{}),...Object.values(((n=i.eligibility)==null?void 0:n.variants)??{}).flatMap(r=>Object.values(r.evaluations??{}))]}).find(i=>i.status==="error");return Ct[(e==null?void 0:e.reason)??""]??"no_assigned_variant"}run(){var t,e,i,s,n,r;if(!this.hasRun&&!this.pageVisibility.holdUntilShown()){this.hasRun=!0,this.pageVisibility.release(),this.legacyCacheEntries=this.optimizationCache.legacyEntries,this.fromDispatchAt=((t=this.optimizationCache.pendingDispatch())==null?void 0:t.dispatchedAt)??null,this.optimizationCache.clearDispatched();try{if(this.isBot){console.debug("shogun: Visitor identified as bot, skipping optimization assignment and execution."),this.exclude("bot");return}const d=!this.optimizationCache.writable&&this.publishedOptimizations.some(l=>l.type==="ab_test");
31if(!this.visitor.idsPersisted||d){console.debug("shogun: Visitor cannot persist their assignment, skipping optimization assignment and execution."),this.exclude("storage_unavailable");return}if(this.dispatchAttempts>=w.MAX_DISPATCH_ATTEMPTS)throw new A(`Maximum dispatch attempts of ${w.MAX_DISPATCH_ATTEMPTS} exceeded. Possible redirect loop detected.`,"max_dispatch_attempts");if(this.optimizationCache.hasExpiredEntries()){this.exclude("cache_expired",{expired_optimization_ids:this.optimizationCache.expiredOptimizationIds()},null),this.optimizationCache.clearExpired();return}if(this.isThemePreview){console.debug("shogun: Visitor identified as theme preview, skipping optimization assignment and execution."),this.exclude("theme_preview");return}this.publishedOptimizations.forEach(l=>l.evaluateEligibility()),console.debug(`shogun: Running dispatcher with ${this.publishedOptimizations.length} published optimizations (${this.publishedOptimizations.map(l=>l.name).join(", ")})`);const a=this.assignedOptimization;if(a){if(!this.optimizationCache.update(a)){console.debug("shogun: Could not record the assignment, skipping optimization execution."),this.exclude("storage_unavailable",void 0,a);return}if(a.isFirstAssignment&&this.trackingService.track("assigned",a,{details:{traffic:Tt(window.location.href,this.originalReferrer)}}),a.needsDispatch){if(!a.canDispatch)throw new A(`Optimization '${a.name}' (${a.id}) cannot dispatch variant '${(e=a.assignedVariant)==null?void 0:e.id}'`,"invalid_variant_config",{optimization:a});console.debug(`shogun: Dispatching optimization: ${a.name} (${a.id}) with variant: ${(i=a.assignedVariant)==null?void 0:i.name} (${(s=a.assignedVariant)==null?void 0:s.id}) [attempt ${this.dispatchAttempts+1}]`),this.dispatchAttempts==0&&this.retainedReferrer.save();const l=this.optimizationCache.markDispatched(a.id);this.trackingService.track("dispatched",a,{details:{dispatched_at:l===null?null:new Date(l).toISOString()}}),this.dispatchAttempts=this.dispatchAttempts+1;try{a.dispatch()}catch(u){throw this.optimizationCache.clearDispatched(),new A(`Dispatch failed for optimization '${a.id}'`,"dispatch_failed",{cause:u,optimization:a})}return}console.debug(`shogun: Running optimization: '${a.name}' (${a.id}) with variant: '${(n=a.assignedVariant)==null?void 0:n.name}' (${(r=a.assignedVariant)==null?void 0:r.id})`),a.inReview?(console.debug("shogun: Optimization is in review, running optimization review flow for optimization"),this.optimizationReview.run()):a.isFirstView?(console.debug("shogun: This is the first view for this optimization, tracking started event."),a.state="started",this.optimizationCache.update(a),this.trackingService.track("started",a)):a.isOnAssignedVariant?(console.debug("shogun: This is not the first view for this optimization, tracking viewed event."),this.trackingService.track("viewed",a)):(console.debug("shogun: Visitor is not eligible for the assigned optimization, skipping view tracking and finalization."),this.trackingService.track("skipped",a,{reason:"not_eligible"})),this.dispatchAttempts=0,a.finalize()}else console.debug("shogun: No optimization assigned to this visitor."),this.trackingService.track("skipped",void 0,{reason:this.unassignedReason});this.retainedReferrer.clear()}catch(d){console.error("shogun: Error running optimizations",d);try{const a=d instanceof A?d:void 0;this.trackingService.track("errored",a==null?void 0:a.optimization,{reason:a==null?void 0:a.reason,details:{error:it(d),cause:(a==null?void 0:a.cause)===void 0?void 0:it(
31a.cause)}})}catch(a){console.error("shogun: Failed to report dispatcher error",a)}this.retainedReferrer.clear()}}}};c(w,"VERSION","2.2.0"),c(w,"MAX_DISPATCH_ATTEMPTS",5),c(w,"DISPATCH_ATTEMPTS_KEY","_shg_dispatch_attempts");let G=w;window.ShogunDispatcher=G})();
32
33})();
34  
35</script>
35<script type="text/javascript">
36  ;(function() {
37    const designMode = false;
38    if (designMode) {
39      console.debug("shogun: Design mode is enabled, skipping optimizer initialization");
40      return;
41    }
42
43    // an Error cannot be sent as-is: message and stack are non-enumerable, so JSON.stringify gives {}
44    const describeThrown = (value) =>
45      value instanceof Error ? { message: value.message, stack: value.stack } : String(value);
46
47    const reportExclusion = (reason, details) => {
48      try {
49        if (typeof fetch !== 'function') return;
50
51        fetch("https://shogun-abc-production.global.ssl.fastly.net/dispatcher/excluded", {
52          method: 'POST',
53          headers: { 'Content-Type': 'application/json' },
54          body: JSON.stringify({
55            name: 'excluded',
56            shop_id: "08e05761-33dc-478c-ad5c-3bb9579efda2",
57            reason: reason,
58            details: details || {}
59          }),
60          keepalive: true,
61        }).catch(() => {});
62      } catch (_error) {
63        // reporting a bail must never be a thing that breaks a merchant's page
64      }
65    };
66
67    // If the referrer url is the Shopify admin url or other known merchant domains, then set a local storage shg_is_merchant flag to true
68    // This is used to remove the preview bar from the page for shoppers
69    //
70    // Reading localStorage throws outright where the origin is denied storage, and this only decides whether a
71    // merchant sees the preview bar. Letting it escape would take the dispatcher down with it and leave the visitor
72    // reporting nothing at all.
73    try {
74      const referrer = document.referrer
75      const merchantDomains = ['admin.shopify.com', 'ab.shgapi.com', 'abc.shogun.dev']
76      if (!localStorage.getItem('_shg_is_merchant') && merchantDomains.some(domain => referrer.includes(domain))) {
77        console.debug('shogun: Setting shg_is_merchant to true')
78        localStorage.setItem('_shg_is_merchant', 'true')
79      }
80    } catch (error) {
81      console.debug('shogun: could not read the merchant flag, continuing without it', error)
82    }
83
84    // Check for optimization disable flags
85    const urlParams = new URLSearchParams(window.location.search);
86    const optimizationDisabled = urlParams.get('shg') === "false" || window.location.hostname.includes('shopifypreview');
87
88    if (optimizationDisabled) {
89      console.debug("shogun: Optimization is disabled, skipping optimizer initialization");
90      return;
91    }
92
93    // Load shop metafield configuration
94    
95    const shopMetafieldConfig = {"default_theme_id":156109275314,"method":"greedy","optimizations":[],"expires_at":1790970303000,"env":"production"};
96    
97    if (!shopMetafieldConfig) {
98      console.debug("shogun: Shop metafield configuration for optimizations is missing. Skipping optimizer initialization.");
99      reportExclusion('config_unavailable');
100      return;
101    }
102
103    // A lapsed metafield yields no optimizations, which on its own is indistinguishable from a shop running none.
104    const configExpired = !(shopMetafieldConfig.expires_at > Date.now());
105    const optimizationsData = configExpired ? [] : (shopMetafieldConfig.optimizations || []);
106
107    // These ID should match. It is possible for them to be different if a theme is copied from a different shop.
108    const intendedShopifyId = "62838014130"; // The hard coded shopify ID when this snippet was pushed to the theme.
109    const currentShopifyId = "62838014130"; // The current shopify ID that this theme is rendered in.
110    if (intendedShopifyId !== currentShopifyId) {
111      console.debug(`shogun: Shopify ID mismatch: intendedShopifyId=${intendedShopifyId} currentShopifyId=${currentShopifyId}. This may indicate the theme was copied from another shop and not properly set up. Skipping optimizer initialization to avoid potential issues.`);
112      // Attributed to the shop the snippet was written for, the only internal id it carries; both Shopify ids ride
113      // along so the shop it is actually running on can be resolved.
114      reportExclusion('shop_mismatch', { intended_shopify_id: intendedShopifyId, current_shopify_id: currentShopifyId });
115      return;
116    } else {
117      console.debug(`shogun: Shopify ID verified: ${intendedShopifyId}`);
118    }
119
120    
121      if (typeof ShogunDispatcher === 'undefined') {
122        console.error("shogun: Dispatcher is not defined. Please ensure the shogun optimizer script is properly loaded.");
123        reportExclusion('dispatcher_unavailable', { optimizer_version: 2 });
124        return;
125      }
126
127      const dispatcherConfig = {
128        shop: {
129          shopId: "08e05761-33dc-478c-ad5c-3bb9579efda2",
130          shopDomain: "chebeauty-brand.myshopify.com",
131          analyticsUrl: "https://shogun-abc-production.global.ssl.fastly.net",
132          geoLocationApi: "https://ipinfo.io/json?token=f2ae3a557d807b",
133          storefrontAccessToken: "80ec4b4ef46c33cb5742845004cc01d6",
134          defaultThemeId: shopMetafieldConfig.default_theme_id ? shopMetafieldConfig.default_theme_id.toString() : null,
135          configExpiresAt: shopMetafieldConfig.expires_at,
136        },
137        page: {
138          pageId: "",
139          pageType: "customers",
140          templateName: "login",
141          templateSuffix: "",
142          templateDirectory: "customers",
143          themeId: "156109275314",
144          languageRootUrl: "/",
145          path: window.location.pathname,
146          currentCartVariantId: null,
147        },
148        session: {
149          sessionId: urlParams.get('shgSessionId'),
150          customerId: "",
151          isB2B: false,
152        },
153        assignmentStrategy: shopMetafieldConfig.method,
154        publishedOptimizations: optimizationsData,
155        configExpired: configExpired,
156        configExpiresAt: typeof shopMetafieldConfig.expires_at === 'number' ? shopMetafieldConfig.expires_at : null
157      }
158
159      console.debug("shogun: Initializing ShogunOptimizer v2");
160      try {
161        const dispatcher = new ShogunDispatcher(dispatcherConfig);
162        dispatcher.run();
163      } catch (error) {
164        console.error("shogun: Dispatcher failed to start.", error);
165        reportExclusion('dispatcher_unavailable', { optimizer_version: 2, error: describeThrown(error) });
166      }
167    
168  })();
169
170</script>
170
171
172
173    
173<script>
174      
175    </script>
175
176
177    
178
179
180    
181      
181<script>
182    window.track_store = window.track_store || {};
183    window.track_store.gtm_url = "https://www.googletagmanager.com";
184    window.track_store.gtm_fallback_url = "https://googletagmanager.com";
185    window.track_store.gtm_id = 'GTM-PMKJGJD';
186    window.dataLayer = window.dataLayer || [];
187
188    var process_url_params = function(url,decode) {
189        if (decode !== true) decode = false;
190        var regex = /[?&]([^=#]+)=([^&#]*)/g,
191            params = {},
192            match;
193        while(match = regex.exec(url)) {
194            if (decode === false) params[match[1]] = match[2];
195            else params[match[1]] = decodeURIComponent(match[2]);
196        }
197        return params;
198    }
199
200    var url_params = process_url_params(window.location.href,false);
201
202    function get_ad_data() {
203        //Extract AD Platform Data
204        var ad_template = [{
205            param: 'acnl',
206            key: 'ad_channel'
207        },{
208            param: 'aaid',
209            key: 'ad_account_id'
210        },{
211            param: 'acid',
212            key: 'ad_campaign_id',
213        },{
214            param: 'asid',
215            key: 'ad_group_id',
216        },{
217            param: 'aid',
218            key: 'ad_id',
219        }]
220
221        var ad_data = {}, check = false;
222        for (var i = 0; i < ad_template.length; i++) {
223            var t = ad_template[i];
224            var v = url_params[t.param];
225            if (v === undefined) continue;
226
227            ad_data[t.key] = v, check = true;
228        }
229
230        var cnl = ad_template.find(function(e) {e.key === 'ad_channel'});
231        if (cnl !== undefined && ad_data[cnl.key] === undefined) {
232            if (url_params['fbclid'] !== undefined) ad_data[cnl.key] = 'facebook_ads', check = true;
233            else if (url_params['gclid'] !== undefined || url_params['dclid'] !== undefined || url_params['wbraid'] !== undefined || url_params['gbraid'] !== undefined ) ad_data[cnl.key] = 'google_ads', check = true;
234            else if (url_params['ttclid'] !== undefined) ad_data[cnl.key] = 'tiktok_ads', check = true;
235            else if (url_params['twclid'] !== undefined) ad_data[cnl.key] = 'twitter_ads', check = true;
236            else if (url_params['_kx'] !== undefined) ad_data[cnl.key] = 'klaviyo', check = true;
237            else if (url_params['tblci'] !== undefined) ad_data[cnl.key] = 'taboola', check = true;
238            else if (url_params['padid'] !== undefined) ad_data[cnl.key] = 'pinterest_ads', check = true;
239        }
240
241        if (check === false) return;
242
243        ad_data.event = 'ad_data';
244        window.dataLayer.push(ad_data);
245    }
246  get_ad_data()
247
248    !function() {
249    		
250    			window.dataLayer.push({
251    				"visitorType": "Guest",
252                "domain": 'chebeauty.com',
253                "shopifyDomain": 'chebeauty-brand.myshopify.com'
254    			});
255    		
256    	}(0)
257
258    //Event ID Generator
259    window.temp_track_store = window.temp_track_store || {};
260    window.temp_track_store.event_id = window.temp_track_store.event_id || {};
261    window.temp_track_store.generateEventId = function (event) {
262        if (
263          window.crypto &&
264          typeof window.crypto.randomUUID === 'function'
265        ) {
266          return event + '_' + window.crypto.randomUUID();
267        }
268      
269        var length = 15;
270        var result = '';
271        var characters =
272          'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
273      
274        for (var i = 0; i < length; i++) {
275          result += characters.charAt(
276            Math.floor(Math.random() * characters.length)
277          );
278        }
279      
280        return event + '_' + result + '_' + Date.now();
281      };
282
283    var generateEventId = window.temp_track_store.generateEventId;
284
285
286    //Page View
287    window.temp_track_store.event_id['gtm.js'] = generateEventId('gtm.js');
288    //Dom Ready
289    window.temp_track_store.event_id['gtm.dom'] = generateEventId('gtm.dom');
290    //Window Loaded
291    window.temp_track_store.event_id['gtm.load'] = generateEventId('gtm.load');
292
293    //Login Event
294    
295        if (sessionStorage.getItem('login_event') !== null) sessionStorage.removeItem('login_event');
296    
297
298</script>
298
299
300<script defer>
301  //GTM Fallback Code
302  !function() {
303    window.gtm_error_count = 0;
304    var gtm_error = function(e) {
305      if (window.gtm_error_count >= 15) window.removeEventListener('error',gtm_error);
306      window.gtm_error_count++;
307        if (e.target && e.target.src && e.target.src.includes(window.track_store.gtm_url+'/gtm.js?id') === true) {
308            (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({"gtm.start":
309            new Date().getTime(),event:"gtm.js", event_id: window.temp_track_store.event_id['gtm.js'] = generateEventId('gtm.js')});var f=d.getElementsByTagName(s)[0],
310            j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";j.async=true;j.src=
311            window.track_store.gtm_fallback_url+"/gtm.js?id="+i+dl;f.parentNode.insertBefore(j,f);
312            })(window,document,"script","dataLayer",window.track_store.gtm_id);
313
314              window.gtm_s2s_fallback=true;
315           window.removeEventListener('error',gtm_error)
316        }
317    }
318    window.addEventListener('error',gtm_error,true);
319  }(0)
320</script>
320
321
322<!-- Google Tag Manager -->
323<script defer>
324  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
325  new Date().getTime(),event:'gtm.js', event_id: window.temp_track_store.event_id['gtm.js']});var f=d.getElementsByTagName(s)[0],
326  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
327  window.track_store.gtm_url+'/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
328  })(window,document,'script','dataLayer',window.track_store.gtm_id);
329</script>
329
330<!-- End Google Tag Manager -->
331
332<script defer>
333   //Loads Additional Resources
334  /* !function() {
335       var x = document.createElement('script');
336       x.src = window.track_store.gtm_url+'/plugins/ua/ec.js'
337       document.head.appendChild(x);
338
339       var y = document.createElement('script');
340       y.src = window.track_store.gtm_url+'/plugins/ua/linkid.js'
341       document.head.appendChild(y);
342   }(0)*/
343</script>
343
344
345      <!-- Cart Attributes -->
346<script defer>
347  window.track_store = window.track_store || {};
348  window.add_cart_attribute = function(key,value) {
349      if (key === null || key === undefined || value === null || value === undefined) return;
350      var form = window.track_store.cart_form? window.track_store.cart_form : document.querySelector('form[action*="cart"]');
351      if (!form) return;
352      if (!window.track_store.cart_form) window.track_store.cart_form = form;
353
354      var p = document.createElement('p');
355      var input = document.createElement('input');
356      input.id = 'attr_'+key;
357      input.type = 'hidden';
358      input.name = 'attributes['+key+']';
359      input.value = value;
360      p.appendChild(input);
361      form.appendChild(p);
362  };
363  var _ls = {
364      set: function(key,data) {
365          if (typeof localStorage === 'undefined' || !localStorage) return;
366          if (typeof data === 'object') data = JSON.stringify(data);
367          localStorage.setItem(key,data);
368      },
369      get: function(key, json) {
370          if (typeof localStorage === 'undefined' || !localStorage) return;
371          var data = localStorage.getItem(key);
372          if (data === null) return;
373          try {
374              if (json === true) return JSON.parse(data);
375              return data;
376          } catch(e) {
377              return
378          }
379      }
380  }
381  window.addEventListener('DOMContentLoaded', function() {
382      var process_url = function(url) {
383          var regex = /[?&]([^=#]+)=([^&#]*)/g,
384              params = {},
385              match;
386          while(match = regex.exec(url)) {
387              params[match[1]] = match[2];
388          }
389          return params;
390      }
391
392      var get_cookie = function(x) {
393          x = x+'=';
394          y = false;
395          var ca = document.cookie.split(';');
396          for(var i=0;i < ca.length;i++) {
397              var c = ca[i];
398              while (c.charAt(0)==' ') c = c.substring(1,c.length);
399              if (c.indexOf(x) == 0) {
400              y = c.substring(x.length,c.length)
401              };
402          }
403          if (y === undefined || y === "undefined") return;
404          return y;
405      }
406
407      var params = process_url(window.location.href);
408      if (params._kx) _ls.set('klaid',params._kx);
409
410      //GA Client ID
411      var _ga = get_cookie('_ga');
412      if (_ga) window.add_cart_attribute('_ga',_ga);
413      //Klaviyo ID
414      var _kx = _ls.get('klaid');
415      if (_kx) window.add_cart_attribute('_kx',_kx);
416      //FBP
417      var _fbp = get_cookie('_fbp');
418      if (_fbp) window.add_cart_attribute('_fbp',_fbp);
419      //FBC
420      var _fbc = get_cookie('_fbc');
421      if (_fbc) window.add_cart_attribute('_fbc',_fbc);
422  });
423</script>
423
424
425    
426
427    <meta charset="utf-8">
428    <meta http-equiv="X-UA-Compatible" content="IE=edge">
429    <meta name="viewport" content="width=device-width,initial-scale=1">
430    <meta name="theme-color" content="">
431    <meta
432      name="google-site-verification"
433      content="oj6BAccszMrXb6yEVwjtSNDcjYD274TPaMv35Q-FQaY"
434    >
435    <meta
436      name="facebook-domain-verification"
437      content="y72bcmqihzxqg001b8dva9m6dlj4ro"
438    >
439    <link rel="canonical" href="https://chebeauty.com/account/login"><link
440        rel="icon"
441        type="image/png"
442        href="//chebeauty.com/cdn/shop/files/Group_48095726.png?crop=center&height=32&v=1666347767&width=32"
443      ><link rel="preload" href="//chebeauty.com/cdn/shop/t/163/assets/Caudex-Bold.woff2?v=54990968698345543671786105098" as="font" type="font/woff2" crossorigin>
444    <link rel="preload" href="//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Regular.woff2?v=128203128988349514901781941838" as="font" type="font/woff2" crossorigin>
445
446
447    
448
449    <title>
450      Account
451
452        &ndash; Chebeauty</title>
453
454    
455
456    
457
458<meta property="og:site_name" content="Chebeauty">
459<meta property="og:url" content="https://chebeauty.com/account/login">
460<meta property="og:title" content="Account">
461<meta property="og:type" content="website">
462<meta property="og:description" content="Chebeauty is a haircare brand that provides chebe hair products to bring the best experience to curly &amp; textured hair."><meta property="og:image" content="http://chebeauty.com/cdn/shop/files/chebeauty-12287-hor.jpg?v=1762598213">
463  <meta property="og:image:secure_url" content="https://chebeauty.com/cdn/shop/files/chebeauty-12287-hor.jpg?v=1762598213">
464  <meta property="og:image:width" content="5000">
465  <meta property="og:image:height" content="3750"><meta name="twitter:card" content="summary_large_image">
466<meta name="twitter:title" content="Account">
467<meta name="twitter:description" content="Chebeauty is a haircare brand that provides chebe hair products to bring the best experience to curly &amp; textured hair.">
468
469
470    
470<script src="//chebeauty.com/cdn/shop/t/163/assets/global.js?v=180919978362470844261781941837" defer="defer"></script>
470
471
472    
473      
473<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
473<meta name="google-site-verification" content="YggEFiMGyGw_pp1keHY7FdRzcJ2w0libQV-wJKb_LXM">
474<meta name="facebook-domain-verification" content="y72bcmqihzxqg001b8dva9m6dlj4ro">
475<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/62838014130/digital_wallets/dialog">
476<meta id="in-context-paypal-metadata" data-shop-id="62838014130" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
477<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://chebeauty.com/account/login">
478<link rel="alternate" hreflang="en" href="https://chebeauty.com/account/login">
479<link rel="alternate" hreflang="en-CA" href="https://chebeauty.com/en-ca/account/login">
480<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2249883826"></script>
480
481<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
482<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2249883826&shop_id=62838014130" crossorigin="anonymous"></script>
vendor: 1 bytes, line 482
482
483<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":62838014130,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/62838014130","merchantName":"Chebeauty","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Chebeauty","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 483
483
484<script id="shopify-features" type="application/json">{"accessToken":"82b6a6e3f9ac9aa7037af2b06d69616d","betas":["rich-media-storefront-analytics"],"domain":"chebeauty.com","predictiveSearch":true,"shopId":62838014130,"locale":"en"}</script>
vendor: 1 bytes, line 484
484
485<script>var Shopify = Shopify || {};
486Shopify.shop = "chebeauty-brand.myshopify.com";
487Shopify.locale = "en";
488Shopify.currency = {"active":"USD","rate":"1.0"};
489Shopify.country = "US";
490Shopify.theme = {"name":"chebeauty\/main","id":156109275314,"schema_name":"Dawn","schema_version":"7.0.1","theme_store_id":null,"role":"main"};
491Shopify.theme.handle = "null";
492Shopify.theme.style = {"id":null,"handle":null};
493Shopify.cdnHost = "chebeauty.com/cdn";
494Shopify.routes = Shopify.routes || {};
495Shopify.routes.root = "/";
496Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
497Shopify.SignInWithShop = Shopify.SignInWithShop || {};
498Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
499Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 499
499
500<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 500
500
501<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 501
501
502<script>
503  window.ShopifyPay = window.ShopifyPay || {};
504  window.ShopifyPay.apiHost = "shop.app\/pay";
505  window.ShopifyPay.redirectState = null;
506</script>
vendor: 1 bytes, line 506
506
507<script>
508  window.Shopify = window.Shopify || {};
509  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
510  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
511  window.Shopify.SignInWithShop.eligible = true;
512</script>
vendor: 1 bytes, line 512
512
513<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 513
513
514<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 514
514
515<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 515
515
516<script type="module">
517  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js");
518await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js");
519
520  window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true});
521window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true});
522
523</script>
vendor: 1 bytes, line 523
523
524<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 524
524
525<script type="module">
526  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
527
528  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
529
530</script>
vendor: 1 bytes, line 530
530
531<script>
532  window.Shopify = window.Shopify || {};
533  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
534  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"]};
535</script>
vendor: 1 bytes, line 535
535
536<script>(function() {
537  var isLoaded = false;
538  function asyncLoad() {
539    if (isLoaded) return;
540    isLoaded = true;
541    var urls = ["https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=chebeauty-brand.myshopify.com","https:\/\/app.electricsms.com\/cart-widget\/widget.min.js?shop=chebeauty-brand.myshopify.com","https:\/\/triplewhale-pixel.web.app\/triplepx.js?shop=chebeauty-brand.myshopify.com","https:\/\/config.gorgias.chat\/bundle-loader\/01GYCCQ8WD1GYT8DPEV56CZ5K6?source=shopify1click\u0026shop=chebeauty-brand.myshopify.com","https:\/\/app.octaneai.com\/brxlqwf79qyvh40b\/shopify.js?x=T2edDYdBlfsBkK5y\u0026shop=chebeauty-brand.myshopify.com","https:\/\/media.9gtb.com\/loader.js?g_cvt_id=d34d5ae6-b0aa-46db-994a-599b0babba2c\u0026shop=chebeauty-brand.myshopify.com"];
542    for (var i = 0; i < urls.length; i++) {
543      var s = document.createElement('script');
544      s.type = 'text/javascript';
545      s.async = true;
546      s.src = urls[i];
547      var x = document.getElementsByTagName('script')[0];
548      x.parentNode.insertBefore(s, x);
549    }
550  };
551  if(window.attachEvent) {
552    window.attachEvent('onload', asyncLoad);
553  } else {
554    window.addEventListener('load', asyncLoad, false);
555  }
556})();</script>
vendor: 1 bytes, line 556
556
557<script id="__st">var __st={"a":62838014130,"offset":7200,"reqid":"614f020a-c6f8-4d32-b7ad-3fb494a76a46-1790955022","pageurl":"chebeauty.com\/account\/login?return_url=%2Faccount","u":"d87d053f0f2d"};</script>
vendor: 1 bytes, line 557
557
558<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 558
558
559<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'])})(!1,!0)}();</script>
vendor: 1 bytes, line 559
559
560<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//chebeauty.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 560
560
561<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 = "//chebeauty.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>
561<script crossorigin="anonymous" defer="defer" src="//chebeauty.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 561
561
562<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 562
562
563<script>
564  window.Shopify = window.Shopify || {};
565  window.Shopify.MCP = window.Shopify.MCP || {};
566  window.Shopify.MCP.enabled = true;
567  window.Shopify.MCP.shop = "chebeauty-brand.myshopify.com";
568  window.Shopify.MCP.mcpEndpoint = "https:\/\/chebeauty.com\/api\/mcp";
569  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
570</script>
vendor: 1 bytes, line 570
570
571<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("\/\/chebeauty.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
572</script>
vendor: 1 bytes, line 572
572
573<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://chebeauty.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
574</script>
vendor: 1 bytes, line 574
574
575<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
576  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);
577</script>
vendor: 1 bytes, line 577
577
578<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})}}));
579</script>
579
580<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://chebeauty.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
581<style id="shopify-accelerated-checkout-cart">
582        #shopify-buyer-consent {
583  margin-top: 1em;
584  display: inline-block;
585  width: 100%;
586}
587
588#shopify-buyer-consent.hidden {
589  display: none;
590}
591
592#shopify-subscription-policy-button {
593  background: none;
594  border: none;
595  padding: 0;
596  text-decoration: underline;
597  font-size: inherit;
598  cursor: pointer;
599}
600
601#shopify-subscription-policy-button::before {
602  box-shadow: none;
603}
604
605      </style>
606<script id="sections-script" data-sections="custom-header" defer="defer" src="//chebeauty.com/cdn/shop/t/163/compiled_assets/scripts.js?v=48287672232694984061781941907"></script>
vendor: 1 bytes, line 606
606
607<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
607
608    
609
610
611    <style>
612      .card-product-opt.active {
613        border-color: #DAA015 !important;
614        border-width: 2px !important;
615        font-weight: 600 !important;
616        background-color: #FFFBEC !important;
617      }
618      .forab {
619        display: none;
620      }
621      .mainab {
622        display: block;
623      }
624      .custom-klarna-icon .klarna-info-reversed {
625        top: unset !important;
626        bottom: 15px !important;
627        padding-bottom: 12px !important;
628        padding-top: unset !important;
629      }
630      .custom-klarna-icon .klarna-info-reversed .custom-klarna-arrow {
631        top: 107px !important;
632      }
633      @media screen and (max-width: 768px) {
634        .custom-klarna-icon .klarna-info-reversed {
635          width: 310px !important;
636        }
637      }
638    </style>
639
640    <style data-shopify>
641      @font-face {
642          font-family: 'Gilroy';
643          src: url('//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Regular.woff2?v=128203128988349514901781941838') format('woff2'),
644              url('//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Regular.woff?v=115217151926458889621781941837') format('woff');
645          font-weight: normal;
646          font-style: normal;
647          font-display: swap;
648      }
649
650      @font-face {
651          font-family: 'Gilroy';
652          src: url('//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Medium.woff2?v=58692541512685563291781941837') format('woff2'),
653              url('//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Medium.woff?v=122241071967980716211781941836') format('woff');
654          font-weight: 500;
655          font-style: normal;
656          font-display: swap;
657      }
658
659      @font-face {
660          font-family: 'Gilroy';
661          src: url('//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Bold.woff2?v=147127017312695584301781941836') format('woff2'),
662              url('//chebeauty.com/cdn/shop/t/163/assets/Gilroy-Bold.woff?v=16663112177120882581781941836') format('woff');
663          font-weight: bold;
664          font-style: normal;
665          font-display: swap;
666      }
667
668      @font-face {
669          font-family: 'Caudex';
670          src: url('//chebeauty.com/cdn/shop/t/163/assets/Caudex-Regular.woff2?v=111169594199238966191786105099') format('woff2');
671          font-weight: 400;
672          font-style: normal;
673          font-display: swap;
674      }
675
676      @font-face {
677          font-family: 'Caudex';
678          src: url('//chebeauty.com/cdn/shop/t/163/assets/Caudex-Bold.woff2?v=54990968698345543671786105098') format('woff2');
679          font-weight: 700;
680          font-style: normal;
681          font-display: swap;
682      }
683
684      @font-face {
685  font-family: Assistant;
686  font-weight: 400;
687  font-style: normal;
688  font-display: swap;
689  src: url("//chebeauty.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"),
690       url("//chebeauty.com/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff");
691}
692
693      @font-face {
694  font-family: Assistant;
695  font-weight: 700;
696  font-style: normal;
697  font-display: swap;
698  src: url("//chebeauty.com/cdn/fonts/assistant/assistant_n7.bf44452348ec8b8efa3aa3068825305886b1c83c.woff2") format("woff2"),
699       url("//chebeauty.com/cdn/fonts/assistant/assistant_n7.0c887fee83f6b3bda822f1150b912c72da0f7b64.woff") format("woff");
700}
701
702      
703      
704      @font-face {
705  font-family: Assistant;
706  font-weight: 400;
707  font-style: normal;
708  font-display: swap;
709  src: url("//chebeauty.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"),
710       url("//chebeauty.com/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff");
711}
712
713
714      :root {
715        --font-body-family: Assistant, sans-serif;
716        --font-body-style: normal;
717        --font-body-weight: 400;
718        --font-body-weight-bold: 700;
719
720        --font-heading-family: Assistant, sans-serif;
721        --font-heading-style: normal;
722        --font-heading-weight: 400;
723
724        --font-body-scale: 1.0;
725        --font-heading-scale: 1.0;
726
727        --color-base-text: 18, 18, 18;
728        --color-shadow: 18, 18, 18;
729        --color-base-background-1: 255, 255, 255;
730        --color-base-background-2: 243, 243, 243;
731        --color-base-solid-button-labels: 255, 255, 255;
732        --color-base-outline-button-labels: 18, 18, 18;
733        --color-base-accent-1: 18, 18, 18;
734        --color-base-accent-2: 51, 79, 180;
735        --payment-terms-background-color: #ffffff;
736
737        --gradient-base-background-1: #ffffff;
738        --gradient-base-background-2: #f3f3f3;
739        --gradient-base-accent-1: #121212;
740        --gradient-base-accent-2: #334fb4;
741
742        --media-padding: px;
743        --media-border-opacity: 0.05;
744        --media-border-width: 1px;
745        --media-radius: 0px;
746        --media-shadow-opacity: 0.0;
747        --media-shadow-horizontal-offset: 0px;
748        --media-shadow-vertical-offset: 4px;
749        --media-shadow-blur-radius: 5px;
750        --media-shadow-visible: 0;
751
752        --page-width: 120rem;
753        --page-width-margin: 0rem;
754
755        --product-card-image-padding: 0.0rem;
756        --product-card-corner-radius: 0.0rem;
757        --product-card-text-alignment: left;
758        --product-card-border-width: 0.0rem;
759        --product-card-border-opacity: 0.1;
760        --product-card-shadow-opacity: 0.0;
761        --product-card-shadow-visible: 0;
762        --product-card-shadow-horizontal-offset: 0.0rem;
763        --product-card-shadow-vertical-offset: 0.4rem;
764        --product-card-shadow-blur-radius: 0.5rem;
765
766        --collection-card-image-padding: 0.0rem;
767        --collection-card-corner-radius: 0.0rem;
768        --collection-card-text-alignment: left;
769        --collection-card-border-width: 0.0rem;
770        --collection-card-border-opacity: 0.1;
771        --collection-card-shadow-opacity: 0.0;
772        --collection-card-shadow-visible: 0;
773        --collection-card-shadow-horizontal-offset: 0.0rem;
774        --collection-card-shadow-vertical-offset: 0.4rem;
775        --collection-card-shadow-blur-radius: 0.5rem;
776
777        --blog-card-image-padding: 0.0rem;
778        --blog-card-corner-radius: 0.0rem;
779        --blog-card-text-alignment: left;
780        --blog-card-border-width: 0.0rem;
781        --blog-card-border-opacity: 0.1;
782        --blog-card-shadow-opacity: 0.0;
783        --blog-card-shadow-visible: 0;
784        --blog-card-shadow-horizontal-offset: 0.0rem;
785        --blog-card-shadow-vertical-offset: 0.4rem;
786        --blog-card-shadow-blur-radius: 0.5rem;
787
788        --badge-corner-radius: 4.0rem;
789
790        --popup-border-width: 1px;
791        --popup-border-opacity: 0.1;
792        --popup-corner-radius: 0px;
793        --popup-shadow-opacity: 0.0;
794        --popup-shadow-horizontal-offset: 0px;
795        --popup-shadow-vertical-offset: 4px;
796        --popup-shadow-blur-radius: 5px;
797
798        --drawer-border-width: 1px;
799        --drawer-border-opacity: 0.1;
800        --drawer-shadow-opacity: 0.0;
801        --drawer-shadow-horizontal-offset: 0px;
802        --drawer-shadow-vertical-offset: 4px;
803        --drawer-shadow-blur-radius: 5px;
804
805        --spacing-sections-desktop: 0px;
806        --spacing-sections-mobile: 0px;
807
808        --grid-desktop-vertical-spacing: 8px;
809        --grid-desktop-horizontal-spacing: 8px;
810        --grid-mobile-vertical-spacing: 4px;
811        --grid-mobile-horizontal-spacing: 4px;
812
813        --text-boxes-border-opacity: 0.1;
814        --text-boxes-border-width: 0px;
815        --text-boxes-radius: 0px;
816        --text-boxes-shadow-opacity: 0.0;
817        --text-boxes-shadow-visible: 0;
818        --text-boxes-shadow-horizontal-offset: 0px;
819        --text-boxes-shadow-vertical-offset: 4px;
820        --text-boxes-shadow-blur-radius: 5px;
821
822        --buttons-radius: 0px;
823        --buttons-radius-outset: 0px;
824        --buttons-border-width: 1px;
825        --buttons-border-opacity: 1.0;
826        --buttons-shadow-opacity: 0.0;
827        --buttons-shadow-visible: 0;
828        --buttons-shadow-horizontal-offset: 0px;
829        --buttons-shadow-vertical-offset: 4px;
830        --buttons-shadow-blur-radius: 5px;
831        --buttons-border-offset: 0px;
832
833        --inputs-radius: 0px;
834        --inputs-border-width: 1px;
835        --inputs-border-opacity: 0.55;
836        --inputs-shadow-opacity: 0.0;
837        --inputs-shadow-horizontal-offset: 0px;
838        --inputs-margin-offset: 0px;
839        --inputs-shadow-vertical-offset: 4px;
840        --inputs-shadow-blur-radius: 5px;
841        --inputs-radius-outset: 0px;
842
843        --variant-pills-radius: 40px;
844        --variant-pills-border-width: 1px;
845        --variant-pills-border-opacity: 0.55;
846        --variant-pills-shadow-opacity: 0.0;
847        --variant-pills-shadow-horizontal-offset: 0px;
848        --variant-pills-shadow-vertical-offset: 4px;
849        --variant-pills-shadow-blur-radius: 5px;
850      }
851
852      *,
853      *::before,
854      *::after {
855        box-sizing: inherit;
856      }
857
858      html {
859        box-sizing: border-box;
860        font-size: calc(var(--font-body-scale) * 62.5%);
861        height: 100%;
862      }
863
864      body {
865        display: grid;
866        grid-template-rows: auto auto 1fr auto;
867        grid-template-columns: 100%;
868        min-height: 100%;
869        margin: 0;
870        font-size: 1.5rem;
871        line-height: calc(1 + 0.8 / var(--font-body-scale));
872        font-family: var(--font-body-family);
873        font-style: var(--font-body-style);
874        font-weight: var(--font-body-weight);
875      }
876
877      @media screen and (min-width: 750px) {
878        body {
879          font-size: 1.6rem;
880        }
881      }
882    </style>
883
884    
885
886    
887     
888    
889
890    
891      <link href="//chebeauty.com/cdn/shop/t/163/assets/base.css?v=76314016365986820591786105102" rel="stylesheet" type="text/css" media="all" />      
892      <link href="//chebeauty.com/cdn/shop/t/163/assets/app.css?v=48190249541468703911781941840" rel="stylesheet" type="text/css" media="all" />
893      
894    
895
896    
897      <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/basicLightbox.css?v=8244199544529336731781941837" media="print" onload="this.media='all'">
898      <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/tabby-ui.min.css?v=177220970746613202751786105110" media="print" onload="this.media='all'">
899    
900
901    
902<link
903        rel="stylesheet"
904        href="//chebeauty.com/cdn/shop/t/163/assets/component-predictive-search.css?v=75898677894107037981781941834"
905        media="print"
906        onload="this.media='all'"
907      >
907<script defer>
908      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
909      if (Shopify.designMode) {
910        document.documentElement.classList.add('shopify-design-mode');
911      }
912    </script>
912
913    
913<script src="//chebeauty.com/cdn/shop/t/163/assets/embla.js?v=98379649599458330231786105108" defer></script>
913
914
915    
915<script defer>
916      const setupDotBtns = (dotsArray, embla) => {
917        dotsArray.forEach((dotNode, i) => {
918          dotNode.addEventListener('click', () => embla.scrollTo(i), false);
919        });
920      };
921      const generateDotBtns = (dots, embla) => {
922        const template = document.getElementById('embla-dot-template').innerHTML;
923        dots.innerHTML = embla.scrollSnapList().reduce((acc) => acc + template, '');
924        return [].slice.call(dots.querySelectorAll('.embla__dot'));
925      };
926      const selectDotBtn = (dotsArray, embla) => () => {
927        const previous = embla.previousScrollSnap();
928        const selected = embla.selectedScrollSnap();
929        dotsArray[previous].classList.remove('is-selected');
930        dotsArray[selected].classList.add('is-selected');
931      };
932    </script>
932
933
934    
935      
935<script src="//chebeauty.com/cdn/shop/t/163/assets/basicLightbox.js?v=143976871488169192831781941838" defer></script>
935
936      
936<script
937        defer
938        src="//chebeauty.com/cdn/shop/t/163/assets/tabby.polyfills.min.js?v=57809381959465942411786105111"
939      >
940      </script>
940
941    
942
943    
943<script defer>
944      (function () {
945        var a = document.createElement('script');
946        (a.type = 'text/javascript'),
947          (a.async = !0),
948          (a.src = 'https://3648592835.chebeauty.com/javascript/script.js'),
949          document.getElementsByTagName('script')[0].appendChild(a);
950      })();
951    </script>
951
952
953    
954
955    <meta
956      name="tapcart-banner:appIcon"
957      content="https://storage.googleapis.com/tapcart-150607.appspot.com/c49dc5255c5fdbddd9246507de999ea7_i.png"
958    >
959
960    <!-- Klar Code for Chebeauty -->
961    
961<script defer>
962      (function () {
963        var a = document.createElement('script');
964        (a.type = 'text/javascript'),
965          (a.async = !0),
966          (a.src = 'https://236071693.chebeauty.com/javascript/script.js'),
967          document.getElementsByTagName('script')[0].appendChild(a);
968      })();
969    </script>
969
970
971    <!-- Triple Whale Tracking Code for Chebeauty -->
972    <link
973      rel="preconnect dns-prefetch"
974      href="https://triplewhale-pixel.web.app/"
975      crossorigin
976    >
977   
978    
978<script defer>
979      /* >> TriplePixel :: start*/
980      ~(function (W, H, A, L, E, _, B, N) {
981        function O(U, T, H, R) {
982          void 0 === R && (R = !1),
983            (H = new XMLHttpRequest()),
984            H.open('GET', U, !0),
985            H.send(null),
986            (H.onreadystatechange = function () {
987              4 === H.readyState && 200 === H.status
988                ? ((R = H.responseText), U.includes('.txt') ? eval(R) : (N[B] = R))
989                : (299 < H.status || H.status < 200) && T && !R && ((R = !0), O(U, T - 1));
990            });
991        }
992        if (((N = window), !N[H + 'sn'])) {
993          N[H + 'sn'] = 1;
994          try {
995            A.setItem(H, 1 + (0 | A.getItem(H) || 0)),
996              (E = JSON.parse(A.getItem(H + 'U') || '[]')).push(location.href),
997              A.setItem(H + 'U', JSON.stringify(E));
998          } catch (e) {}
999          A.getItem('"!nC`') ||
1000            ((A = N),
1001            A[H] ||
1002              ((L = function () {
1003                return Date.now().toString(36) + '_' + Math.random().toString(36);
1004              }),
1005              (E = A[H] =
1006                function (t, e) {
1007                  return (W = L()), (E._q = E._q || []).push([W, t, e]), W;
1008                }),
1009              (E.ch = W),
1010              (B = 'configSecurityConfModel'),
1011              (N[B] = 1),
1012              O('//conf.config-security.com/model', 0),
1013              O('//triplewhale-pixel.web.app/triplefw.txt?', 5)));
1014        }
1015      })('', 'TriplePixel', localStorage);
1016      /* << TriplePixel :: end*/
1017    </script>
1017
1018
1019    
1019<script id="docapp-volume-speedup">
1020      (() => {
1021        if (
1022          !document.documentElement.innerHTML.includes('\\/shop' + '\\/js' + '\\/shopdocs-volume-discounts.min.js') ||
1023          window.shopdocsVolumeDiscountsAppLoaded
1024        )
1025          return;
1026        let script = document.createElement('script');
1027        script.src =
1028          'https://d2e5xyzdl0rkli.cloudfront.net/shop/js/shopdocs-volume-discounts.min.js?shop=chebeauty-abt.myshopify.com';
1029        document.getElementById('docapp-volume-speedup').after(script);
1030      })();
1031    </script>
1031
1032
1033    
1033<script>
1034      // MobiLoud + Klaviyo
1035      document.addEventListener('DOMContentLoaded', function() {
1036          // Check if the user agent contains 'canvas' (case insensitive)
1037          if (navigator.userAgent.toLowerCase().includes('canvas')) {
1038              // Liquid variables to check if user is logged in and get the user's email
1039              
1040              
1041
1042              var userLoggedIn = "";
1043              var userEmail = null;
1044
1045              if (userLoggedIn) {
1046                  // Set user email using the native function
1047                  nativeFunctions.klaviyoSetEmail(userEmail)
1048              }
1049          }
1050      });
1051    </script>
1051
1052
1053    
1054    
1055
1056    
1057    <style>
1058      .ab_var_offset .purchase-toggle__section .product-variation:last-child {
1059        display: none !important;
1060      }
1061      .ab_bc_offset .productOptOptions .cart-product-opt:last-child {
1062        display: none !important;
1063      }
1064    </style>
1065  <!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->
1066
1067
1068
1069
1070
1071
1072
1073<link rel="dns-prefetch" href="https://cdn.judge.me">
1074<link rel="dns-prefetch" href="https://cdn1.judge.me">
1075<link rel="dns-prefetch" href="https://api.judge.me">
1076
1077<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"with_picture","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","badge_star_color":"#ffc632","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","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
1077ou! 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":"","widget_rating_filter_color":"","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":"#ffc632","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":"country_iso_code","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":"leex","review_date_format":"mm/dd/yyyy","default_sort_method":"pictures-first","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":true,"show_pictures_on_all_rev_page_desktop":true,"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":"text","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":true,"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":"vintage","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":true,"widget_star_use_custom_color":true,"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","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":false,"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_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":true,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
1077itle":"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":"#ffbe32","widget_ugc_primary_button_text_color":"#0a0800","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#daa015","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffbe32","widget_ugc_secondary_button_text_color":"#0a0800","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#daa015","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":"#000000","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#fac632","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"store-product-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#000000","widget_enable_secondary_color":true,"widget_secondary_color":"#dcd9d4","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":true,"widget_show_product_medals":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":"#dcd9d4","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":"vertical","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":true,"redirect_reviewers_invited_via_email":"review_widget","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":{},"review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":{},"review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","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_
1077youtube_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":false,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","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":false,"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_store_review_label_text":"Review about the store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":true,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":true,"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":true,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
1077:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"We’ll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_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,"platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Chebeauty","widget_version":"3.0","footer":true,"autopublish":false,"review_dates":false,"enable_custom_form":true,"shop_locale":"en","enable_multi_locales_translations":false,"show_review_title_input":true,"review_verification_email_status":"always","require_verification_before_submit":false,"customer_account_val
1077idation_enabled":true,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"can_be_branded":false,"reply_name_text":"Chebeauty"};</script>
1077 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #000;--jdgm-secondary-color: #dcd9d4;--jdgm-star-color: #ffc632;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #000000;--jdgm-paginate-color: #dcd9d4;--jdgm-border-radius: 10;--jdgm-reviewer-name-color: #000000}.jdgm-histogram__bar-content{background-color:#000}.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:#000}.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:#ffc632}.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-all-initials{display:none !important}.jdgm-author-last-initial{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)'}.jdgm-preview-badge[data-template="index"]{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_written_in_etsy"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_google_business"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_shop_app"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.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:#108474}.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:'Chebeauty'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )}
1078</style> <style class='jdgm-settings-style'></style>
1079
1080  
1081  
1082  
1083  <style class='jdgm-miracle-styles'>
1084  @-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
1084/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-prev-badge{display:block !important}
1085
1086</style>
1087
1088
1089  
1090  
1091   
1092
1093
1094
1095  
1096    
1097    
1098    
1099      
1099<script id="judgeme_widget_leex_js" data-cfasync="false" type="text/javascript" async src="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/shopify_v2_leex.js"></script>
1099
1100    
1101  
1102    
1103    
1104    
1105      <link id="judgeme_widget_leex_css" rel="stylesheet" type="text/css" media="nope!" onload="this.media='all'" href="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/widget_v3_theme_leex.css">
1106    
1107  
1108
1109
1110<script data-cfasync='false' class='jdgm-script'>
1111!function(e){window.jdgm=window.jdgm||{};
1112/* INF-1976 */
1113var _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;}();
1114if(_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;}
1115jdgm.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/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/",
1116jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
1117setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
1118!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
1119(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
1120a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
1121jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
1122t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
1123t.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(
1124".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
1125parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
1126jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
1127)}))}(document);
1128</script>
1128
1129<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/shopify_v2.css"></noscript>
1130
1131<!-- BEGIN app snippet: theme_fix_tags -->
1131<script>
1132  (function() {
1133    var jdgmThemeFixes = null;
1134    if (!jdgmThemeFixes) return;
1135
1136    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
1137    // before the per-theme fix so the theme-specific CSS wins the cascade.
1138    // HTML is never applied globally (too risky).
1139    var allThemesFix = jdgmThemeFixes['all'];
1140    if (allThemesFix && allThemesFix.css) {
1141      var allStyleTag = document.createElement('style');
1142      allStyleTag.classList.add('jdgm-theme-fix-style-all');
1143      allStyleTag.innerHTML = allThemesFix.css;
1144      document.head.append(allStyleTag);
1145    };
1146
1147    if (allThemesFix && allThemesFix.js) {
1148      var allScriptTag = document.createElement('script');
1149      allScriptTag.classList.add('jdgm-theme-fix-script-all');
1150      allScriptTag.innerHTML = allThemesFix.js;
1151      document.head.append(allScriptTag);
1152    };
1153
1154    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
1155    if (!thisThemeFix) return;
1156
1157    if (thisThemeFix.html) {
1158      document.addEventListener("DOMContentLoaded", function() {
1159        var htmlDiv = document.createElement('div');
1160        htmlDiv.classList.add('jdgm-theme-fix-html');
1161        htmlDiv.innerHTML = thisThemeFix.html;
1162        document.body.append(htmlDiv);
1163      });
1164    };
1165
1166    if (thisThemeFix.css) {
1167      var styleTag = document.createElement('style');
1168      styleTag.classList.add('jdgm-theme-fix-style');
1169      styleTag.innerHTML = thisThemeFix.css;
1170      document.head.append(styleTag);
1171    };
1172
1173    if (thisThemeFix.js) {
1174      var scriptTag = document.createElement('script');
1175      scriptTag.classList.add('jdgm-theme-fix-script');
1176      scriptTag.innerHTML = thisThemeFix.js;
1177      document.head.append(scriptTag);
1178    };
1179  })();
1180</script>
1180
1181<!-- END app snippet -->
1182<!-- End of Judge.me Core -->
1183
1184
1185
1186<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199  
1199<script async src="https://static.klaviyo.com/onsite/js/Uv4ZuA/klaviyo.js?company_id=Uv4ZuA"></script>
1199
1200  
1200<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>
1200
1201
1202  
1203
1204
1205
1206
1207  
1207<script>
1208    window.klaviyoReviewsProductDesignMode = false
1209  </script>
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219<!-- END app block --><!-- BEGIN app block: shopify://apps/storerank-ai/blocks/script/20267567-9216-4bad-b7a9-f17b46b79883 --><!-- END app block --><!-- BEGIN app block: shopify://apps/absolutely/blocks/absolutely_extension/121741f7-5296-410e-8ae4-71174169eced -->
1220
1221
1222
1223<style>
1224  .abs-hide {
1225    visibility: hidden !important;
1226  }
1227</style>
1228
1229<script>
1230  const cachedValue = window.sessionStorage.getItem('abs-config');
1231
1232  if (localStorage.getItem('abs-has-redirect-tests') === '1' || !cachedValue || JSON.parse(cachedValue)?.templateTests.length > 0) {
1233    document.documentElement.classList.add('abs-hide');
1234    setTimeout(function() {
1235      document.documentElement.classList.remove('abs-hide');
1236    }, 3000);
1237  }
1238
1239  window._abs_template = {
1240    directory: "customers",
1241    name: "login",
1242    suffix: ""
1243  };
1244
1245  window._abs_customer = {
1246    b2b: false
1247  };
1248</script>
1248
1249
1250<script
1251  src="https://app.absolutelyapp.com/merchant-scripts/absolutely.js"
1252  blocking="render"
1253  fetchpriority="high"
1254  type="module"
1255></script>
1255
1256
1257
1258<!-- END app block --><!-- BEGIN app block: shopify://apps/abconvert/blocks/app-embed-abconvert/5c6be9a4-14ad-4ad6-a0b5-a41137ce4ddf -->
1259
1260
1261<script class="abconvert" id="ABConvert-page-context">
1262  window.abconvertPageContext = {
1263    template: "login",
1264    suffix: null,
1265    pageType: "customers\/login",
1266    productId: null,
1267    collectionId: null
1268  };
1269  // Active Shopify Markets context, distinct from IP-derived visitor country.
1270  // Captured by the assignment script and frozen with the first-touch snapshot.
1271  window.abconvertMarket = "us";
1272
1273  // Customer identity for audience targeting (PRO-2815). EXACTLY these four
1274  // fields — never id, email, name, phone, or address. The visitor context
1275  // travels to our servers with assignment tracking, so PII kept out of the
1276  // injection is PII kept out everywhere. Never render `customer | json`.
1277  //
1278  // Absent (app embed off, legacy snippet) means the identity is UNKNOWN and
1279  // the assignment script decides nothing; logged out is the zeroed object
1280  // below, which is a decidable state.
1281  //
1282  // `customer.total_spent` is a money value in the currency's SUBUNIT (cents):
1283  // $56.50 renders as 5650. The context contract is MAJOR units, so it is
1284  // divided here. The `.0` on the divisor is load-bearing — `divided_by: 100`
1285  // with an integer divisor truncates to 56 and a "spent over $100" filter
1286  // silently drifts.
1287  
1288    window.abconvertCustomer = {
1289      loggedIn: false,
1290      tags: [],
1291      ordersCount: 0,
1292      totalSpent: 0
1293    };
1294  
1295</script>
1295
1296
1297<script class="abconvert" id="ABConvert-onsite-editor-src">
1298  window.abconvertOnsiteEditorSrc = "https:\/\/cdn.shopify.com\/extensions\/01a0f9b7-899f-7377-b60c-23d7e19ae135\/v2.14.153\/assets\/onsite-editor.js";
1299</script>
vendor: 1 bytes, line 1299
1299
1300<script class="abconvert" src="https://cdn.shopify.com/extensions/01a0f9b7-899f-7377-b60c-23d7e19ae135/v2.14.153/assets/abconvert-runtime.js"></script>
1300
1301
1302
1303<script class="abconvert">
1304  /* abc-preview-widget-gate */
1305  (function () {
1306    var inPreview = false;
1307    try {
1308      inPreview =
1309        /[?&]abconvert_(preview_key|experiment_id)=/.test(window.location.search) ||
1310        window.sessionStorage.getItem('abconvert.preview') === 'true';
1311    } catch (e) {
1312      /* sessionStorage blocked (privacy mode) — treat as not in preview */
1313    }
1314    if (!inPreview) return;
1315    var s = document.createElement('script');
1316    s.className = 'abconvert';
1317    s.src = "https://cdn.shopify.com/extensions/01a0f9b7-899f-7377-b60c-23d7e19ae135/v2.14.153/assets/preview-widget.js";
1318    s.defer = true;
1319    document.head.appendChild(s);
1320  })();
1321</script>
1321
1322
1323
1324<script class="abconvert" src="https://cdn.shopify.com/extensions/01a0f9b7-899f-7377-b60c-23d7e19ae135/v2.14.153/assets/abconvert-engagement.js" defer></script>
1324
1325
1326
1327
1328  
1328<script class="abconvert" id="ABConvert-namespace-groups">
1329    window.abconvertNamespaceGroups = {"2dfee6f4-2a14-4e28-993c-dae1741b1222":{"memberExperimentIds":["6a75ddc206a95fda3fba117b","6a75de347154a3704f3365b3"],"inactiveExperimentIds":["6a75ddc206a95fda3fba117b","6a75de347154a3704f3365b3"],"excludedExperimentIds":[],"ranges":{}}};
1330  </script>
1330
1331
1332
1333
1334
1335
1336
1337<script class="abconvert" src="https://cdn.shopify.com/extensions/01a0f9b7-899f-7377-b60c-23d7e19ae135/v2.14.153/assets/theme-clear-cache-script.js"></script>
1337
1338
1339
1340
1341
1342
1343
1344
1345  
1345<script class="abconvert" id="ABConvert-price-cart-transform-dict">
1346    window.abconvertLiquidVariables = {
1347      abconvertProduct: null,
1348      shopMoneyFormat: "${{amount}}",
1349      shopMoneyWithCurrencyFormat: "${{amount}} USD",
1350      currencySymbol: "$",
1351      currencyCode: "USD",
1352      shopifyProductId: null,
1353      shopifyProductHandle: null,
1354      pageType: "customers\/login",
1355      shopifySelectedOrFirstAvailableVariantId: null
1356    };
1357    Object.assign(window, window.abconvertLiquidVariables);
1358    window.abconvertPriceCartTransformTestDict = "{\"7470513193138\":{\"experimentId\":\"66fa3c3c8105c394ac9d92c6\",\"startTime\":\"2024-09-30T05:50:52.416Z\",\"slug\":\"chebe-hair-butter\",\"title\":\"Chebe Hair Butter\",\"productId\":\"7470513193138\",\"hasOnlyDefaultVariant\":false,\"isFirstVariantSelected\":true,\"firstVariantId\":42447567356082,\"testPercentages\":[100,0],\"variantIds\":{\"0\":[\"42447567356082\",\"42447567388850\",\"43292577956018\"],\"1\":[\"42447567356082\",\"42447567388850\",\"43292577956018\"]},\"lowestPrice\":{\"0\":\"13.00\",\"1\":16},\"lowestCompareAtPrice\":{\"0\":0,\"1\":0},\"productIndex\":0,\"variantToGroupIndexToPrice\":{\"42447567356082\":{\"0\":{\"compareAtPrice\":null,\"price\":\"16.00\"},\"1\":{\"price\":16}},\"42447567388850\":{\"0\":{\"compareAtPrice\":null,\"price\":\"20.00\"},\"1\":{\"price\":16}},\"43292577956018\":{\"0\":{\"compareAtPrice\":null,\"price\":\"13.00\"},\"1\":{\"price\":16}}},\"allLowestPrice\":13,\"allLowestCompareAtPrice\":0,\"firstVariantPrice\":{\"0\":\"16.00\",\"1\":16},\"firstVariantCompareAtPrice\":{},\"isSamePrice\":false},\"7825728012466\":{\"experimentId\":\"66fa3c3c8105c394ac9d92c6\",\"startTime\":\"2024-09-30T05:50:52.416Z\",\"slug\":\"chebeauty-bestsellers-bundle\",\"title\":\"Bestsellers Bundle\",\"productId\":\"7825728012466\",\"hasOnlyDefaultVariant\":true,\"isFirstVariantSelected\":true,\"firstVariantId\":43365820334258,\"testPercentages\":[100,0],\"variantIds\":{\"0\":[\"43365820334258\"],\"1\":[\"43365820334258\"]},\"lowestPrice\":{\"0\":\"64.00\",\"1\":69},\"lowestCompareAtPrice\":{\"0\":\"100.00\",\"1\":100},\"productIndex\":1,\"variantToGroupIndexToPrice\":{\"43365820334258\":{\"0\":{\"compareAtPrice\":\"100.00\",\"price\":\"64.00\"},\"1\":{\"compareAtPrice\":100,\"price\":69}}},\"allLowestPrice\":64,\"allLowestCompareAtPrice\":100,\"firstVariantPrice\":{\"0\":\"64.00\",\"1\":69},\"firstVariantCompareAtPrice\":{\"0\":\"100.00\",\"1\":100},\"isSamePrice\":true},\"7825733583026\":{\"experimentId\":\"66fa3c3c8105c394ac9d92c6\",\"startTime\":\"2024-09-30T05:50:52.416Z\",\"slug\":\"ultimate-hair-growth-bundle-2\",\"title\":\"Ultimate Hair Growth Bundle\",\"productId\":\"7825733583026\",\"hasOnlyDefaultVariant\":true,\"isFirstVariantSelected\":true,\"firstVariantId\":43365839503538,\"testPercentages\":[100,0],\"variantIds\":{\"0\":[\"43365839503538\"],\"1\":[\"43365839503538\"]},\"lowestPrice\":{\"0\":\"56.00\",\"1\":59},\"lowestCompareAtPrice\":{\"0\":\"85.00\",\"1\":85},\"productIndex\":2,\"variantToGroupIndexToPrice\":{\"43365839503538\":{\"0\":{\"compareAtPrice\":\"85.00\",\"price\":\"56.00\"},\"1\":{\"compareAtPrice\":85,\"price\":59}}},\"allLowestPrice\":56,\"allLowestCompareAtPrice\":85,\"firstVariantPrice\":{\"0\":\"56.00\",\"1\":59},\"firstVariantCompareAtPrice\":{\"0\":\"85.00\",\"1\":85},\"isSamePrice\":true},\"7825737089202\":{\"experimentId\":\"66fa3c3c8105c394ac9d92c6\",\"startTime\":\"2024-09-30T05:50:52.416Z\",\"slug\":\"chebeauty-starter-pack-2\",\"title\":\"Chebeauty Starter Pack\",\"productId\":\"7825737089202\",\"hasOnlyDefaultVariant\":true,\"isFirstVariantSelected\":true,\"firstVariantId\":43365854150834,\"testPercentages\":[100,0],\"variantIds\":{\"0\":[\"43365854150834\"],\"1\":[\"43365854150834\"]},\"lowestPrice\":{\"0\":\"50.00\",\"1\":54},\"lowestCompareAtPrice\":{\"0\":\"70.00\",\"1\":70},\"productIndex\":3,\"variantToGroupIndexToPrice\":{\"43365854150834\":{\"0\":{\"compareAtPrice\":\"70.00\",\"price\":\"50.00\"},\"1\":{\"compareAtPrice\":70,\"price\":54}}},\"allLowestPrice\":50,\"allLowestCompareAtPrice\":70,\"firstVariantPrice\":{\"0\":\"50.00\",\"1\":54},\"firstVariantCompareAtPrice\":{\"0\":\"70.00\",\"1\":70},\"isSamePrice\":true},\"8309574926514\":{\"experimentId\":\"66fa3c3c8105c394ac9d92c6\",\"startTime\":\"2024-09-30T05:50:52.416Z\",\"slug\":\"dream-curls-bundle\",\"title\":\"Dream Curls Bundle\",\"productId\":\"8309574926514\",\"isFirstVariantSelected\":true,\"firstVariantId\":null,\"testPercentages\":[100,0],\"variantIds\":{\"0\":[\"44734941790386\"],\"1\":[\"44734941790386\"]},\"lowestPrice\":{\"0\":\"47.00\",\"1\":57},\"lowestCompareAtPrice\":{\"0\":\"110.00\",\"1\":110},\"productIndex\":4,\"variantToGroupIndexToPrice\":{\"44734941790386\":{\"0\":{\"compareAtPrice\":\"110.00\",\"price\":\"47.00\"},\"1\":{\"compareAtPrice\":110,\"price\":57}}},\"allLowestPrice\":47,\"allLowestCompareAtPrice\":110,\"firstVariantPrice\":{\"0\":\"47.00\",\"1\":57},\"firstVariantCompareAtPrice\":{\"0\":\"110.00\",\"1\":110},\"isSamePrice\":true},\"allOptionsMap\":{},\"fetchCountryCode\":false,\"setUrlParmas\":false,\"experiments\":{\"66fa3c3c8105c394ac9d92c6\":{\"testPercentages\":[100,0]}}}";
1359  </script>
1359
1360  
1360<script class="abconvert" src="https://cdn.shopify.com/extensions/01a0f9b7-899f-7377-b60c-23d7e19ae135/v2.14.153/assets/ab-test-v2.js"></script>
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376  
1376<script class="abconvert" id="ABConvert-combined-test-dict">
1377    window.abconvertCombinedTestDict = {"schemaVersion":1,"generatedAt":1789996911584,"previewKey":"7f6e82055c3b5d831e380aafbdc6bcb4","experiments":[]};
1378    // The preview widget is loaded dynamically and can run before this inline
1379    // dict during HTML parsing. Wake its registry scheduler once data is ready.
1380    window.dispatchEvent(new Event('abconvert:preview-registry-updated'));
1381  </script>
1381
1382
1383
1384
1385<script class="abconvert" src="https://cdn.shopify.com/extensions/01a0f9b7-899f-7377-b60c-23d7e19ae135/v2.14.153/assets/visitor-label-script.js" defer></script>
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
1395<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/chebeauty-brand.myshopify.com"></script>
1395
1396
1397
1398<script defer data-gorgias-loader-convert  src="https://content.9gtb.com/loader.js"></script>
1398
1399
1400
1401<script defer data-gorgias-loader-mailto-replace  src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=chebeauty-brand"></script>
1401
1402
1403
1404<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin />
1405<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
1406<script>
1407/* >> TriplePixel :: start*/
1408window.TriplePixelData={TripleName:"chebeauty-brand.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{  }},search:"",collection:"",cart:"drawer",template:"login",curr:"USD" || "USD", market:"22153003186"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage);
1409/* << TriplePixel :: end*/
1410</script>
1410
1411
1412
1413
1414<!-- END app block -->
1414<script src="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1414
1414
1415<script src="https://cdn.shopify.com/extensions/01a0c823-0fa2-7342-afd4-b80643763b38/storerank-ai-81/assets/script.js" type="text/javascript" defer="defer"></script>
1415
1416<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1417<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: 62838014130,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1417
1417
1418<script>
1419  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1420</script>
vendor: 1 bytes, line 1420
1420
1421<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1421).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 62838014130,storefrontBaseUrl: "https://chebeauty.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://chebeauty.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2608103602","configuration":"{\"accountID\":\"abconvert\",\"shopID\":\"chebeauty-brand.myshopify.com\",\"debug\":\"false\",\"apiEndpoint\":\"https:\\\/\\\/app.abconvert.io\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"54eb69ada60c4e271588cac2428772c3","type":"APP","apiClientId":11583619073,"privacyPurposes":["SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2597552306","configuration":"{\"shop\":\"chebeauty-brand.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dabcda9558be25394b12ce3ce899568b","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1421,"dataSharingState":"unrestricted"},{"id":"2592178354","configuration":"{\"shopId\":\"08e05761-33dc-478c-ad5c-3bb9579efda2\",\"analyticsUrl\":\"https:\\\/\\\/shogun-abc-production.global.ssl.fastly.net\",\"appType\":\"ab_testing\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6d2b8445c58f7ac1a1dfccce276de7aa","type":"APP","apiClientId":214825828353,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2065039538","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"ce823d8610c0a584e20e6f129c87f7d2","type":"APP","apiClientId":185443549185,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1825145010","configuration":"{\"accountID\":\"Uv4ZuA\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1112473778","configuration":"{\"pixel_id\":\"424795886340692\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"1059618994","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1021247666","configuration":"{\"shopId\":\"chebeauty-brand.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"813236402","configuration":"{\"Enabled\":\"true\",\"UpdatedAt\":\"2026-06-04T03:40:32.785Z\",\"DeveloperPreview\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7913f49eba866a6cbbe1bb85b5400251","type":"APP","apiClientId":34646425601,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"590217394","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"GT-5MJLQD8\\\",\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-XHPKZLZJFY\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-XHPKZLZJFY\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-XHPKZLZJFY\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"485523634","configuration":"{\"pixelCode\":\"CDLLQ0BC77U21PQ62FI0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
1421,{"id":"124616882","configuration":"{\"botID\":\"brxlqwf79qyvh40b\",\"octaneDomain\":\"https:\/\/app.octaneai.com\",\"octaneNewDomain\":\"https:\/\/app2.octaneai.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"aace1440a9416e8b2805b96c7b2f2fe0","type":"APP","apiClientId":2012438,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"48529586","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"14","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"GTM"},{"id":"48824498","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Convert Revenue Tracking"},{"id":"51478706","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Convert Tracking"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Chebeauty","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"chebeauty-brand.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/chebeauty.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8339610796210","handle":"dream-curls-bundle-1","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44845359268018","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8506090258610","handle":"dream-curls-bundle-5","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45490250645682","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7470513193138","handle":"chebe-hair-butter","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42447567356082","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7673969017010","handle":"chebe-shampoo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43039370346674","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7673971540146","handle":"chebe-leave-in-conditioner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43039373492402","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7470527545522","handle":"chebe-hair-oil","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42447594750130","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7539838058674","handle":"navidium-shipping-protection","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42637693583538","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7709292658866","handle":"rice-water-for-hair-growth","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43114693230770","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8420247011506","handle":"bestsellers-bundle-copy","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45145500745906","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8420248322226","handle":"ultimate-hair-growth-bundle-copy","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45145504186546","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8420247896242","handle":"chebeauty-starter-pack-copy","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45145503072434","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7840630866098","handle":"shampoo-conditioners-set","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43396496359602","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7840639778994","handle":"damage-repair-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43396519919794","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7797110538418","handle":"hair-growth-booster-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43294385242290","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7627141972146","handle":"revitalizing-hair-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42927542173874","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7524850598066","handle":"the-ultimate-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42586172457138","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7524849451186","handle":"the-deluxe-treatment-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42586167476402","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://chebeauty.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"156109275314","themePublished":"true","eventMetadataId":"014160fe-505c-45c1-a144-944524b7ff22","shopId":"62838014130","storefrontBaseUrl":"https:\/\/chebeauty.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1421<script>
1422  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1423  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1424  window.ShopifyAnalytics.meta.currency = 'USD';
1425  var meta = {"page":{"requestId":"614f020a-c6f8-4d32-b7ad-3fb494a76a46-1790955022"}};
1426  for (var attr in meta) {
1427    window.ShopifyAnalytics.meta[attr] = meta[attr];
1428  }
1429</script>
vendor: 1 bytes, line 1429
1429
1430<script class="analytics">
1431  (function () {
1432    var customDocumentWrite = function(content) {
1433      var jquery = null;
1434
1435      if (window.jQuery) {
1436        jquery = window.jQuery;
1437      } else if (window.Checkout && window.Checkout.$) {
1438        jquery = window.Checkout.$;
1439      }
1440
1441      if (jquery) {
1442        jquery('body').append(content);
1443      }
1444    };
1445
1446    var hasLoggedConversion = function(token) {
1447      if (token) {
1448        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1449      }
1450      return false;
1451    }
1452
1453    var setCookieIfConversion = function(token) {
1454      if (token) {
1455        var twoMonthsFromNow = new Date(Date.now());
1456        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1457
1458        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1459      }
1460    }
1461
1462    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1463    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1464    if (trekkie.integrations) {
1465      return;
1466    }
1467    trekkie.methods = [
1468      'identify',
1469      'page',
1470      'ready',
1471      'track',
1472      'trackForm',
1473      'trackLink'
1474    ];
1475    trekkie.factory = function(method) {
1476      return function() {
1477        var args = Array.prototype.slice.call(arguments);
1478        args.unshift(method);
1479        trekkie.push(args);
1480        if (method == 'track' || method == 'page') {
1481          var pageUrl;
1482          try {
1483            pageUrl = window.location.href;
1484          } catch (e) {}
1485          var pageReferrer;
1486          try {
1487            pageReferrer = document.referrer;
1488          } catch (e) {}
1489          try {
1490            if (window.__TREKKIE_SHIM_QUEUE == null) {
1491              window.__TREKKIE_SHIM_QUEUE = [];
1492            }
1493            window.__TREKKIE_SHIM_QUEUE.push({
1494              from: 'trekkie-stub',
1495              method: method,
1496              args: args.slice(1),
1497              pageContext: {
1498                url: pageUrl,
1499                referrer: pageReferrer
1500              }
1501            });
1502          } catch (e) {
1503            // no-op
1504          }
1505        }
1506        return trekkie;
1507      };
1508    };
1509    for (var i = 0; i < trekkie.methods.length; i++) {
1510      var key = trekkie.methods[i];
1511      trekkie[key] = trekkie.factory(key);
1512    }
1513    trekkie.load = function(config) {
1514      trekkie.config = config || {};
1515      trekkie.config.initialDocumentCookie = document.cookie;
1516      var first = document.getElementsByTagName('script')[0];
1517var script = document.createElement('script');
1518script.type = 'text/javascript';
1519script.onerror = function(e) {
1520  var scriptFallback = document.createElement('script');
1521  scriptFallback.type = 'text/javascript';
1522  scriptFallback.onerror = function(error) {
1523          var Monorail = {
1524      produce: function produce(monorailDomain, schemaId, payload) {
1525        var currentMs = new Date().getTime();
1526        var event = {
1527          schema_id: schemaId,
1528          payload: payload,
1529          metadata: {
1530            event_created_at_ms: currentMs,
1531            event_sent_at_ms: currentMs
1532          }
1533        };
1534        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1535      },
1536      sendRequest: function sendRequest(endpointUrl, payload) {
1537        // Try the sendBeacon API
1538        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1539          var blobData = new window.Blob([payload], {
1540            type: 'text/plain'
1541          });
1542
1543          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1544            return true;
1545          } // sendBeacon was not successful
1546
1547        } // XHR beacon
1548
1549        var xhr = new XMLHttpRequest();
1550
1551        try {
1552          xhr.open('POST', endpointUrl);
1553          xhr.setRequestHeader('Content-Type', 'text/plain');
1554          xhr.send(payload);
1555        } catch (e) {
1556          console.log(e);
1557        }
1558
1559        return false;
1560      },
1561      isIos12: function isIos12() {
1562        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1563      }
1564    };
1565    Monorail.produce('monorail-edge.shopifysvc.com',
1566      'trekkie_storefront_load_errors/1.1',
1567      {shop_id: 62838014130,
1568      theme_id: 156109275314,
1569      app_name: "storefront",
1570      context_url: window.location.href,
1571      source_url: "//chebeauty.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1572
1573  };
1574  scriptFallback.async = true;
1575  scriptFallback.src = '//chebeauty.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1576  first.parentNode.insertBefore(scriptFallback, first);
1577};
1578script.async = true;
1579script.src = '//chebeauty.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1580first.parentNode.insertBefore(script, first);
1581
1582    };
1583    trekkie.load(
1584      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":62838014130,"isMerchantRequest":null,"themeId":156109275314,"themeCityHash":"5446693810659664302","contentLanguage":"en","currency":"USD","eventMetadataId":"014160fe-505c-45c1-a144-944524b7ff22"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1585    );
1586
1587    var loaded = false;
1588    trekkie.ready(function() {
1589      if (loaded) return;
1590      loaded = true;
1591
1592      window.ShopifyAnalytics.lib = window.trekkie;
1593
1594      var originalDocumentWrite = document.write;
1595      document.write = customDocumentWrite;
1596      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1597      document.write = originalDocumentWrite;
1598
1599      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1600      var token = match? match[1]: undefined;
1601      if (!hasLoggedConversion(token)) {
1602        setCookieIfConversion(token);
1603        
1604      }
1605    });
1606
1607    window.ShopifyAnalytics.lib.page(null,{"requestId":"614f020a-c6f8-4d32-b7ad-3fb494a76a46-1790955022","shopifyEmitted":true});
1608
1609    var eventsListenerScript = document.createElement('script');
1610    eventsListenerScript.async = true;
1611    eventsListenerScript.src = "//chebeauty.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1612    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1613})();</script>
vendor: 1 bytes, line 1613
1613
1614<script
1615  defer
1616  src="https://chebeauty.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1617  data-application="storefront-renderer"
1618  data-shop-id="62838014130"
1619  data-render-region="gcp-us-east1"
1620  data-page-type="customers/login"
1621  data-theme-instance-id="156109275314"
1622  data-theme-name="Dawn"
1623  data-theme-version="7.0.1"
1624  data-monorail-region="shop_domain"
1625  data-resource-timing-sampling-rate="10"
1626  data-shs="true"
1627  data-shs-beacon="true"
1628  data-shs-export-with-fetch="true"
1629  data-shs-logs-sample-rate="1"
1630  data-shs-beacon-endpoint="https://chebeauty.com/api/collect"
1631></script>
1631
1632<meta name="shopify-y" content="f3eb507e-d142-447f-8439-8b0a0140038a" data-expiration="1822512622000"><meta name="shopify-s" content="19c09d40-fb2f-46b4-878b-63ec80f01c31" data-expiration="1790956822000"><meta name="new-cookie-storage-activated" content="t">
1633</head>
1634
1635  <body class="gradient ">
1636
1637    
1638      
1638<script>
1639  window.track_store = window.track_store || {};
1640  window.track_store.product_state = window.track_store.product_state || {};
1641
1642  var ajax_request = function(settings, data) {
1643      var method = typeof data === 'object'? 'POST' : "GET";
1644      if (settings === undefined) settings = {};
1645      if (settings.data !== undefined && settings.method === undefined) settings.method = 'POST';
1646      if (settings.method === undefined) settings.method = 'GET';
1647      if (settings.url === undefined) {
1648          return false;
1649      }
1650      var req = new XMLHttpRequest();
1651      req.open(settings.method, settings.url);
1652      if (settings.json === true) {
1653          req.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
1654      }
1655      req.onreadystatechange = function() {
1656          if (this.readyState === 4) {
1657              try {
1658                  if (settings.callback === undefined) {
1659                      console.log(this.responseText);
1660                  } else {
1661                      if (settings.json === true) {
1662                          var json_data = false;
1663                          try {
1664                              json_data = JSON.parse(this.responseText);
1665                              settings.callback(json_data);
1666                          } catch(e) {
1667                              console.log(e);
1668                          }
1669                      } else {
1670                          settings.callback(this.responseText);
1671                      }
1672                  }
1673              } catch(e) {
1674                  console.log(e);
1675              }
1676          }
1677      };
1678      if (settings.method === 'POST') req.send(JSON.stringify(data));
1679      else req.send();
1680  }
1681</script>
1681
1682
1683<script type="text/javascript">
1684  window.addEventListener('load', function(){
1685      //Event ID Generator
1686      var generateEventId = window.temp_track_store.generateEventId;
1687
1688      function getPageType() {
1689      
1690          return "Login Page";
1691      
1692  }
1693
1694  
1695      var event_id = generateEventId('customerData');
1696      window.temp_track_store.event_id['customerData'] = event_id;
1697      window.dataLayer.push({
1698          "event": "customerData",
1699          "visitorType": "Guest",
1700          "event_id": event_id,
1701      });
1702      if (sessionStorage.getItem('login_event') !== null) sessionStorage.removeItem('login_event');
1703  
1704var dataLayerData = {cart: {}};
1705      dataLayerData.cart.total = "0.00";
1706      dataLayerData.cart.count = 0;
1707          dataLayerData.cart.products = [];window.dataLayer.push(dataLayerData);
1708      window.dataLayer.push({
1709          "pageType": "login",
1710          "shopifyPageType": "login",
1711      });
1712  
1713
1714
1715      
1716
1717      var cart_btn = Array.from(document.querySelectorAll('a[href*="\/cart"]'));
1718
1719      //Checkout Ajax Handler
1720      window.checkout_ajax_handler = function () {
1721          ajax_request({
1722              url: "/cart.js",
1723              json: true,
1724              method: 'get',
1725              callback: function(cart) {
1726                  if (cart.items.length === 0) return;
1727                  var output = {
1728                      item_count: cart.item_count,
1729                      cart_total: cart.total_price / 100,
1730                  }
1731                  var items = cart.items;
1732                  items = items.map((item,i) => {
1733                      return {
1734                          position: i,
1735                          id: item.variant_id,
1736                          sku: item.sku,
1737                          productId: item.product_id,
1738                          variantId: item.variant_id,
1739                          shopifyId: "shopify_US_" + item.product_id + "_" + item.variant_id,
1740                          name: item.product_title.replace("'", ''),
1741                          quantity: item.quantity,
1742                          price: item.price / 100,
1743                          brand: item.vendor.replace("'", ''),
1744                          variant: item.variant_title
1745                      }
1746                  })
1747                  var event_id = generateEventId('checkout');
1748                  window.temp_track_store.event_id['checkout'] = event_id;
1749                  window.dataLayer.push({
1750                      "cartTotal": output.cart_total,
1751                      "itemCount": output.item_count,
1752                      "event": "checkout",
1753                      "ecommerce": {
1754                          "currencyCode": "USD",
1755                          'checkout': {
1756                              'actionField': {"step":1},
1757                              'products': items,
1758                          },
1759                      },
1760                      "event_id": event_id,
1761                  })
1762              }
1763          })
1764      }
1765
1766      if (cart_btn.length > 0) {
1767      cart_btn.forEach(function(cart_button) {
1768          cart_button.addEventListener('click', function(e) {
1769              setTimeout(function() {
1770                  ajax_request({
1771                      url: "/cart.js",
1772                      json: true,
1773                      method: 'get',
1774                      callback: function(cart) {
1775                          if (cart.items.length === 0) return;
1776                          var output = {
1777                              item_count: cart.item_count,
1778                              cart_total: cart.total_price / 100,
1779                          }
1780                          var items = cart.items;
1781                          items = items.map((item,i) => {
1782                              return {
1783                                  position: i,
1784                                  id: item.variant_id,
1785                                  sku: item.sku,
1786                                  productId: item.product_id,
1787                                  variantId: item.variant_id,
1788                                  shopifyId: "shopify_US_" + item.product_id + "_" + item.variant_id,
1789                                  name: item.product_title.replace("'", ''),
1790                                  quantity: item.quantity,
1791                                  price: item.price / 100,
1792                                  brand: item.vendor.replace("'", ''),
1793                                  variant: item.variant_title
1794                              }
1795                          })
1796
1797                          var event_id = generateEventId('viewCart');
1798                          window.temp_track_store.event_id['viewCart'] = event_id;
1799                          window.dataLayer.push({
1800                              "cartTotal": output.cart_total,
1801                              "itemCount": output.item_count,
1802                              "event": "viewCart",
1803                              "ecommerce": {
1804                                  "currencyCode": "USD",
1805                                  "actionField": { "list": "Shopping Cart" },
1806                                  "impressions": items,
1807                              },
1808                              "event_id": event_id,
1809                          })
1810
1811                          /*var checkout_button = Array.from(document.querySelectorAll('#CartDrawer-Checkout'));
1812                          checkout_button.forEach(function(e) {
1813                              if (e.getAttribute('data-ta') !== null) return;
1814                              e.setAttribute('data-ta','1');
1815                              e.addEventListener('click', window.checkout_ajax_handler)
1816                          })*/
1817                      }
1818                  })
1819              },500)
1820          })
1821      })
1822      }
1823
1824      document.addEventListener('click', function(e) {
1825          if (!e.target || !e.target.id || e.target.id !== "CartDrawer-Checkout") return;
1826          //window.checkout_ajax_handler()
1827      })
1828
1829      
1830
1831      
1832
1833      
1834
1835      
1836
1837      function getClickedProductHandle(element) {
1838          var arr = element.href.split('/products/');
1839          return arr[arr.length-1];
1840      }
1841
1842      function handleProductClick(event) {
1843          if(typeof allProducts == "undefined") return;
1844          var target = event.target.matches('a[href*="/products/"]')
1845              ? event.target
1846              : event.target.closest('a[href*="/products/"]');
1847          var handle = getClickedProductHandle(target);
1848          var clickedProduct = allProducts.filter(function(product) {
1849              return product.handle === handle;
1850          });
1851          if (clickedProduct[0]) delete clickedProduct[0].list;
1852          if (clickedProduct[0]) delete clickedProduct[0].handle;
1853
1854          var event_id = generateEventId('productClick');
1855          window.temp_track_store.event_id['productClick'] = event_id;
1856          window.dataLayer.push({
1857              "event": "productClick",
1858              "ecommerce": {
1859                  currencyCode: "USD",
1860                  "click": {
1861                      "actionField": {"list": clickedProduct.category || getPageType()},
1862                      "products": clickedProduct
1863
1864                  }
1865              },
1866              "event_id": event_id,
1867          });
1868      }
1869
1870      Array.prototype.slice.call(document.querySelectorAll('a[href*="/products/"]'))
1871          .forEach(function(select) {
1872              select.addEventListener('click', handleProductClick);
1873          });
1874  }, false);
1875</script>
1875
1876
1877<!-- Google Tag Manager (noscript) -->
vendor: 75 bytes, lines 1877-1880
1877
1878<noscript>
1879  <iframe
1880    src="https://www.googletagmanager.com/ns.html?id=
1880GTM-PMKJGJD
vendor: 99 bytes, lines 1880-1885
1880"
1881    height="0"
1882    width="0"
1883    style="display:none;visibility:hidden"
1884  ></iframe>
1885</noscript>
1886<!-- End Google Tag Manager (noscript) -->
1887
1888    
1889    <a class="skip-to-content-link button visually-hidden" href="#MainContent">
1890      Skip to content
1891    </a><div id="shopify-section-cart-drawer-new" class="shopify-section">
1892
1893<script src="//chebeauty.com/cdn/shop/t/163/assets/cart.js?v=23351761178495675421781941837" defer="defer"></script>
1893
1894
1895<style>
1896.cart-upsell-dream-curls{
1897display: none;
1898}
1899  .drawer {
1900    visibility: hidden;
1901  }
1902  .embla__prev,
1903  .embla__next {
1904    position: absolute;
1905    top: 50%;
1906    transform: translateY(-50%);
1907  }
1908  .embla__prev {
1909    left: -2%;
1910  }
1911  .embla__next {
1912    right: -2%;
1913  }
1914  .embla__button__svg {
1915    width: 10px;
1916    height: 10px;
1917  }
1918  .subscription-ab {
1919    display: block;
1920  }
1921  .drawer-selector.active .drawer-options {
1922    display: flex;
1923    flex-direction: column;
1924    row-gap: 16px;
1925  }
1926  .drawer-selector .drawer-options {
1927    display: none;
1928  }
1929  .selector-default span,
1930  .selector-default span + span {
1931    color: #777;
1932  }
1933  .selector-selectedDefault span,
1934  .cart-sub-select:hover .selector-default span {
1935    color: #0a0800;
1936  }
1937  .selector-selectedDefault span + span,
1938  .cart-sub-select:hover .selector-default span + span {
1939    color: #403f36;
1940  }
1941  .drawer-selected-option.active {
1942    border-color: #777 !important;
1943  }
1944</style>
1945
1946<cart-drawer class="drawer is-empty">
1947  <div id="CartDrawer" class="cart-drawer">
1948    <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div>
1949    <div
1950      class="drawer__inner"
1951      role="dialog"
1952      aria-modal="true"
1953      aria-label="Your cart"
1954      tabindex="-1"
1955    >
1956      <div class="drawer__header">
1957        <h4 class="drawer__heading">Your Cart (0)</h4>
1958        <button
1959          class="drawer__close-btn"
1960          type="button"
1961          onclick="this.closest('cart-drawer').close()"
1962          aria-label="Close"
1963        >
1964          <svg
1965  width="24"
1966  height="24"
1967  viewBox="0 0 24 24"
1968  fill="none"
1969  xmlns="http://www.w3.org/2000/svg">
1970  <mask
1971    id="mask0_10934_31724"
1972    style="mask-type:alpha"
1973    maskUnits="userSpaceOnUse"
1974    x="0"
1975    y="0"
1976    width="24"
1977    height="24">
1978    <rect
1979      width="24"
1980      height="24"
1981      fill="#D9D9D9" />
1982  </mask>
1983  <g mask="url(#mask0_10934_31724)">
1984    <path d="M12 13.3998L7.10005 18.2998C6.91672 18.4831 6.68338 18.5748 6.40005 18.5748C6.11672 18.5748 5.88338 18.4831 5.70005 18.2998C5.51672 18.1165 5.42505 17.8831 5.42505 17.5998C5.42505 17.3165 5.51672 17.0831 5.70005 16.8998L10.6 11.9998L5.70005 7.0998C5.51672 6.91647 5.42505 6.68314 5.42505 6.3998C5.42505 6.11647 5.51672 5.88314 5.70005 5.6998C5.88338 5.51647 6.11672 5.4248 6.40005 5.4248C6.68338 5.4248 6.91672 5.51647 7.10005 5.6998L12 10.5998L16.9 5.6998C17.0834 5.51647 17.3167 5.4248 17.6 5.4248C17.8834 5.4248 18.1167 5.51647 18.3 5.6998C18.4834 5.88314 18.575 6.11647 18.575 6.3998C18.575 6.68314 18.4834 6.91647 18.3 7.0998L13.4 11.9998L18.3 16.8998C18.4834 17.0831 18.575 17.3165 18.575 17.5998C18.575 17.8831 18.4834 18.1165 18.3 18.2998C18.1167 18.4831 17.8834 18.5748 17.6 18.5748C17.3167 18.5748 17.0834 18.4831 16.9 18.2998L12 13.3998Z" fill="white" />
1985  </g>
1986</svg>
1987        </button>
1988      </div>
1989      <div class="shipping-cont"><p class="free-shipping-val font-semibold text-black mb-2.5 leading-snug"
1990           style="font-size: 15px;"
1991           data-initialValue="50">You're <strong>$50</strong> away from <strong class="shipping-free-highlight">FREE SHIPPING!</strong></p>
1992
1993        <div class="shipping-bar-track">
1994          <div id="free-shipping-bar"
1995               class="shipping-bar-fill"
1996               style="width: 0%"></div>
1997        </div>
1998
1999        <div class="hidden custom-test-b">
2000          
2001          
2002          
2003          
2004          
2005
2006
2007          0
2008          <p class="free-shipping-val-2 text-black text-base leading-sm font-semibold mb-2">
2009            
2010              
2011                FREE SHIPPING IS ONLY
2012                <span class="free-shipping-val-2">$50</span>
2013                AWAY
2014              
2015            
2016            
2017          </p>
2018
2019          <div class="relative">
2020            <div class="w-full bg-white rounded-full h-2.5 absolute top-1/2 left-1/2 -translate-y-[15px] -translate-x-1/2">
2021              <div
2022                class="bg-gray-600 h-2.5 rounded-full free-shipping-bar"
2023                style="width: 0%"
2024              ></div>
2025            </div>
2026          
2027            <div class="flex justify-around relative z-[2]">
2028              
2029              
2030
2031                <svg width="68" height="95" viewBox="0 0 68 95" fill="none" xmlns="http://www.w3.org/2000/svg">
2032                  <rect x="1" y="0.5" width="66" height="66" rx="33" fill="white"/>
2033                  <rect x="1" y="0.5" width="66" height="66" rx="33" stroke="#DCD9D4"/>
2034                  <mask id="mask0_402_7056" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="26" y="14" width="16" height="17">
2035                  <rect x="26" y="14.5" width="16" height="16" fill="#D9D9D9"/>
2036                  </mask>
2037                  <g mask="url(#mask0_402_7056)">
2038                  <path d="M30 27.8337C29.4444 27.8337 28.9722 27.6392 28.5833 27.2503C28.1944 26.8614 28 26.3892 28 25.8337H27.3333C27.1444 25.8337 26.9861 25.7698 26.8583 25.642C26.7306 25.5142 26.6667 25.3559 26.6667 25.167V18.5003C26.6667 18.1337 26.7972 17.8198 27.0583 17.5587C27.3194 17.2975 27.6333 17.167 28 17.167H36C36.3667 17.167 36.6806 17.2975 36.9417 17.5587C37.2028 17.8198 37.3333 18.1337 37.3333 18.5003V19.8337H38.6667C38.8778 19.8337 39.0778 19.8809 39.2667 19.9753C39.4556 20.0698 39.6111 20.2003 39.7333 20.367L41.2 22.317C41.2445 22.3725 41.2778 22.4337 41.3 22.5003C41.3222 22.567 41.3333 22.6392 41.3333 22.717V25.167C41.3333 25.3559 41.2694 25.5142 41.1417 25.642C41.0139 25.7698 40.8556 25.8337 40.6667 25.8337H40C40 26.3892 39.8056 26.8614 39.4167 27.2503C39.0278 27.6392 38.5556 27.8337 38 27.8337C37.4444 27.8337 36.9722 27.6392 36.5833 27.2503C36.1944 26.8614 36 26.3892 36 25.8337H32C32 26.3892 31.8056 26.8614 31.4167 27.2503C31.0278 27.6392 30.5556 27.8337 30 27.8337ZM30 26.5003C30.1889 26.5003 30.3472 26.4364 30.475 26.3087C30.6028 26.1809 30.6667 26.0225 30.6667 25.8337C30.6667 25.6448 30.6028 25.4864 30.475 25.3587C30.3472 25.2309 30.1889 25.167 30 25.167C29.8111 25.167 29.6528 25.2309 29.525 25.3587C29.3972 25.4864 29.3333 25.6448 29.3333 25.8337C29.3333 26.0225 29.3972 26.1809 29.525 26.3087C29.6528 26.4364 29.8111 26.5003 30 26.5003ZM28 24.5003H28.5333C28.7222 24.3003 28.9389 24.1392 29.1833 24.017C29.4278 23.8948 29.7 23.8337 30 23.8337C30.3 23.8337 30.5722 23.8948 30.8167 24.017C31.0611 24.1392 31.2778 24.3003 31.4667 24.5003H36V18.5003H28V24.5003ZM38 26.5003C38.1889 26.5003 38.3472 26.4364 38.475 26.3087C38.6028 26.1809 38.6667 26.0225 38.6667 25.8337C38.6667 25.6448 38.6028 25.4864 38.475 25.3587C38.3472 25.2309 38.1889 25.167 38 25.167C37.8111 25.167 37.6528 25.2309 37.525 25.3587C37.3972 25.4864 37.3333 25.6448 37.3333 25.8337C37.3333 26.0225 37.3972 26.1809 37.525 26.3087C37.6528 26.4364 37.8111 26.5003 38 26.5003ZM37.3333 23.167H40.1667L38.6667 21.167H37.3333V23.167Z" fill="#403F36"/>
2039                  </g>
2040                  <path d="M28.429 33.2V34.757H26.17V35.783H28.384V37.34H26.17V39.5H24.559V33.2H28.429ZM34.2302 39.5H32.5022L31.4042 37.466H30.8282V39.5H29.2172V33.2H31.7372C32.3792 33.2 32.9162 33.407 33.3482 33.821C33.7862 34.223 34.0052 34.742 34.0052 35.378C34.0052 35.75 33.9092 36.095 33.7172 36.413C33.5252 36.731 33.2642 36.983 32.9342 37.169L34.2302 39.5ZM31.7192 34.685H30.8282V36.098H31.7192C31.9172 36.104 32.0792 36.041 32.2052 35.909C32.3312 35.777 32.3942 35.606 32.3942 35.396C32.3942 35.186 32.3312 35.015 32.2052 34.883C32.0792 34.751 31.9172 34.685 31.7192 34.685ZM36.4092 37.061V37.988H38.8482V39.5H34.7982V33.2H38.8032V34.703H36.4092V35.576H38.5782V37.061H36.4092ZM41.2256 37.061V37.988H43.6646V39.5H39.6146V33.2H43.6196V34.703H41.2256V35.576H43.3946V37.061H41.2256ZM16.6662 49.635C16.0122 49.635 15.4632 49.497 15.0192 49.221C14.5812 48.945 14.2722 48.561 14.0922 48.069L15.4692 47.268C15.7032 47.826 16.1172 48.105 16.7112 48.105C17.2032 48.105 17.4492 47.964 17.4492 47.682C17.4492 47.502 17.3082 47.352 17.0262 47.232C16.9302 47.196 16.6662 47.115 16.2342 46.989C15.6222 46.815 15.1572 46.572 14.8392 46.26C14.5212 45.948 14.3622 45.534 14.3622 45.018C14.3622 44.436 14.5692 43.965 14.9832 43.605C15.4092 43.245 15.9312 43.065 16.5492 43.065C17.0772 43.065 17.5452 43.191 17.9532 43.443C18.3612 43.689 18.6732 44.043 18.8892 44.505L17.5392 45.297C17.3412 44.829 17.0142 44.595 16.5582 44.595C16.3722 44.595 16.2282 44.634 16.1262 44.712C16.0242 44.784 15.9732 44.883 15.9732 45.009C15.9732 45.147 16.0452 45.264 16.1892 45.36C16.3392 45.456 16.6272 45.567 17.0532 45.693C17.3712 45.789 17.6172 45.873 17.7912 45.945C17.9892 46.029 18.1932 46.143 18.4032 46.287C18.8412 46.575 19.0602 47.034 19.0602 47.664C19.0602 48.282 18.8412 48.765 18.4032 49.113C17.9652 49.461 17.3862 49.635 16.6662 49.635ZM23.0299 45.531V43.2H24.6319V49.5H23.0299V47.079H21.2569V49.5H19.6459V43.2H21.2569V45.531H23.0299ZM25.6312 49.5V43.2H27.2422V49.5H25.6312ZM28.2328 43.2H30.6808C31.3168 43.2 31.8508 43.407 32.2828 43.821C32.7148 44.235 32.9308 44.763 32.9308 45.405C32.9308 46.047 32.7148 46.575 32.2828 46.989C31.8508 47.403 31.3168 47.61 30.6808 47.61H29.8438V49.5H28.2328V43.2ZM29.8438 46.08H30.6808C30.8608 46.08 31.0108 46.017 31.1308 45.891C31.2568 45.765 31.3198 45.603 31.3198 45.405C31.3198 45.207 31.2568 45.048 31.1308 44.928C31.0108 44.802 30.8608 44.739 30.6808 44.739H29.8438V46.08ZM33.559 43.2H36.007C36.643 43.2 37.177 43.407 37.609 43.821C38.041 44.235 38.257 44.763 38.257 45.405C38.257 46.047 38.041 46.575 37.609 46.989C37.177 47.403 36.643 47.61 36.007 47.61H35.17V49.5H33.559V43.2ZM35.17 46.08H36.00
20407C36.187 46.08 36.337 46.017 36.457 45.891C36.583 45.765 36.646 45.603 36.646 45.405C36.646 45.207 36.583 45.048 36.457 44.928C36.337 44.802 36.187 44.739 36.007 44.739H35.17V46.08ZM38.8851 49.5V43.2H40.4961V49.5H38.8851ZM44.9607 46.368V43.2H46.5627V49.5H45.3207L43.0977 46.332V49.5H41.4867V43.2H42.7377L44.9607 46.368ZM50.6379 45.891H53.8149V46.53C53.8149 47.454 53.5239 48.204 52.9419 48.78C52.3599 49.35 51.6099 49.635 50.6919 49.635C49.7139 49.635 48.9039 49.32 48.2619 48.69C47.6319 48.06 47.3169 47.283 47.3169 46.359C47.3169 45.441 47.6319 44.661 48.2619 44.019C48.8919 43.383 49.6719 43.065 50.6019 43.065C51.1839 43.065 51.7209 43.197 52.2129 43.461C52.6989 43.719 53.0829 44.07 53.3649 44.514L51.9969 45.297C51.8709 45.099 51.6849 44.94 51.4389 44.82C51.1929 44.7 50.9199 44.64 50.6199 44.64C50.1219 44.64 49.7139 44.802 49.3959 45.126C49.0779 45.456 48.9189 45.87 48.9189 46.368C48.9189 46.86 49.0749 47.271 49.3869 47.601C49.7049 47.937 50.1489 48.105 50.7189 48.105C51.4509 48.105 51.9339 47.829 52.1679 47.277H50.6379V45.891Z" fill="#403F36"/>
2041                  <path d="M28.7058 85.784C28.7058 86.7333 28.4071 87.512 27.8098 88.12C27.2231 88.7173 26.4285 89.0747 25.4258 89.192V90.6H24.3058V89.208C23.3991 89.144 22.6205 88.888 21.9698 88.44C21.3298 87.992 20.8658 87.384 20.5778 86.616L22.7858 85.336C23.1165 86.1147 23.6231 86.5627 24.3058 86.68V84.472L24.0978 84.392C23.4365 84.136 22.8818 83.8533 22.4338 83.544C21.5058 82.904 21.0418 82.024 21.0418 80.904C21.0418 79.9227 21.3565 79.1493 21.9858 78.584C22.6151 78.008 23.3885 77.6773 24.3058 77.592V76.2H25.4258V77.624C26.9405 77.816 27.9911 78.5893 28.5778 79.944L26.4178 81.208C26.2045 80.6747 25.8738 80.328 25.4258 80.168V82.328L25.9538 82.552C26.2525 82.6693 26.4445 82.7493 26.5298 82.792C26.7965 82.9307 26.9725 83.0213 27.0578 83.064C27.3031 83.1813 27.4845 83.2933 27.6018 83.4C28.0498 83.8053 28.3165 84.1253 28.4018 84.36C28.6045 84.8293 28.7058 85.304 28.7058 85.784ZM23.6018 80.92C23.6018 81.2293 23.8365 81.5227 24.3058 81.8V80.12C23.8365 80.2373 23.6018 80.504 23.6018 80.92ZM25.4258 84.936V86.648C25.9058 86.52 26.1458 86.2427 26.1458 85.816C26.1458 85.464 25.9058 85.1707 25.4258 84.936ZM32.6714 81.736H33.5834C34.6821 81.736 35.5941 82.0667 36.3194 82.728C37.0554 83.3893 37.4234 84.3067 37.4234 85.48C37.4234 86.6533 37.0288 87.5707 36.2394 88.232C35.4501 88.8933 34.4848 89.224 33.3434 89.224C32.3941 89.224 31.5674 89.0213 30.8634 88.616C30.1701 88.2107 29.6634 87.6133 29.3434 86.824L31.5514 85.544C31.8288 86.3333 32.4261 86.728 33.3434 86.728C33.9834 86.7707 34.4314 86.5733 34.6874 86.136C34.9541 85.6987 34.9594 85.2613 34.7034 84.824C34.4474 84.3867 34.0208 84.1893 33.4234 84.232H29.9194L30.3834 77.8H36.8634V80.2H32.7834L32.6714 81.736ZM46.0481 87.64C45.2481 88.696 44.1334 89.224 42.7041 89.224C41.2854 89.224 40.1654 88.696 39.3441 87.64C38.5441 86.5733 38.1441 85.16 38.1441 83.4C38.1441 81.64 38.5441 80.232 39.3441 79.176C40.1547 78.1093 41.2747 77.576 42.7041 77.576C44.1334 77.576 45.2481 78.1093 46.0481 79.176C46.8587 80.2213 47.2641 81.6293 47.2641 83.4C47.2641 85.16 46.8587 86.5733 46.0481 87.64ZM42.7041 80.072C41.3707 80.072 40.7041 81.1813 40.7041 83.4C40.7041 85.6187 41.3707 86.728 42.7041 86.728C44.0374 86.728 44.7041 85.6187 44.7041 83.4C44.7041 81.1813 44.0374 80.072 42.7041 80.072Z" fill="#403F36"/>
2042                  </svg>
2043                
2044              
2045
2046
2047              
2048
2049
2050            <svg width="68" height="95" viewBox="0 0 68 95" fill="none" xmlns="http://www.w3.org/2000/svg">
2051              <rect x="1" y="0.5" width="66" height="66" rx="33" fill="white"/>
2052              <rect x="1" y="0.5" width="66" height="66" rx="33" stroke="#DCD9D4"/>
2053              <mask id="mask0_402_7058" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="26" y="14" width="16" height="17">
2054              <rect x="26" y="14.5" width="16" height="16" fill="#D9D9D9"/>
2055              </mask>
2056              <g mask="url(#mask0_402_7058)">
2057              <path d="M28.5311 27.7856V22.1005C28.1645 22.1005 27.8506 21.9699 27.5895 21.7088C27.3284 21.4477 27.1978 21.1338 27.1978 20.7671V19.2584C27.1978 18.8386 27.3456 18.4809 27.6413 18.1852C27.9369 17.8896 28.2947 17.7418 28.7145 17.7418H30.7322C30.682 17.6418 30.6485 17.5371 30.6319 17.4277C30.6152 17.3183 30.6069 17.2034 30.6069 17.0831C30.6069 16.5116 30.8071 16.0267 31.2076 15.6285C31.6082 15.2303 32.0945 15.0312 32.6667 15.0312C32.9196 15.0312 33.1578 15.0752 33.3813 15.163C33.6049 15.2508 33.8111 15.3753 34 15.5367C34.1889 15.3669 34.3958 15.2402 34.6206 15.1566C34.8455 15.073 35.0844 15.0312 35.3373 15.0312C35.9084 15.0312 36.3938 15.2303 36.7935 15.6285C37.1932 16.0267 37.3931 16.5116 37.3931 17.0831C37.3931 17.2038 37.3827 17.3164 37.3618 17.4206C37.3409 17.5249 37.3095 17.632 37.2677 17.7418H39.2855C39.7053 17.7418 40.063 17.8896 40.3587 18.1852C40.6544 18.4809 40.8022 18.8386 40.8022 19.2584V20.7671C40.8022 21.1338 40.6716 21.4477 40.4105 21.7088C40.1494 21.9699 39.8355 22.1005 39.4688 22.1005V27.7856C39.4688 28.2054 39.321 28.5631 39.0254 28.8588C38.7297 29.1544 38.372 29.3023 37.9522 29.3023H30.0478C29.628 29.3023 29.2703 29.1544 28.9746 28.8588C28.679 28.5631 28.5311 28.2054 28.5311 27.7856ZM35.3373 16.4204C35.1484 16.4204 34.9901 16.4837 34.8623 16.6103C34.7345 16.737 34.6706 16.8939 34.6706 17.0811C34.6706 17.2683 34.7345 17.4252 34.8
2057623 17.5518C34.9901 17.6784 35.1484 17.7418 35.3373 17.7418C35.5262 17.7418 35.6845 17.6784 35.8123 17.5518C35.9401 17.4252 36.004 17.2683 36.004 17.0811C36.004 16.8939 35.9401 16.737 35.8123 16.6103C35.6845 16.4837 35.5262 16.4204 35.3373 16.4204ZM32 17.0811C32 17.2683 32.0639 17.4252 32.1917 17.5518C32.3194 17.6784 32.4778 17.7418 32.6667 17.7418C32.8556 17.7418 33.0139 17.6784 33.1417 17.5518C33.2694 17.4252 33.3333 17.2683 33.3333 17.0811C33.3333 16.8939 33.2694 16.737 33.1417 16.6103C33.0139 16.4837 32.8556 16.4204 32.6667 16.4204C32.4778 16.4204 32.3194 16.4837 32.1917 16.6103C32.0639 16.737 32 16.8939 32 17.0811ZM28.7145 19.2584V20.5838H33.2815V19.2584H28.7145ZM33.2815 27.7896V22.1005H30.0478V27.7896H33.2815ZM34.7185 27.7896H37.9522V22.1005H34.7185V27.7896ZM39.2895 20.5838V19.2584H34.7185V20.5838H39.2895Z" fill="#403F36"/>
2058              </g>
2059              <path d="M19.8644 33.2H21.4664V39.5H19.8644V36.107L18.3344 38.636H18.1724L16.6514 36.116V39.5H15.0404V33.2H16.6514L18.2534 35.891L19.8644 33.2ZM26.0222 33.2H27.8312L25.7072 37.079V39.5H24.0962V37.097L21.9722 33.2H23.7812L24.8972 35.531L26.0222 33.2ZM30.1134 39.635C29.4594 39.635 28.9104 39.497 28.4664 39.221C28.0284 38.945 27.7194 38.561 27.5394 38.069L28.9164 37.268C29.1504 37.826 29.5644 38.105 30.1584 38.105C30.6504 38.105 30.8964 37.964 30.8964 37.682C30.8964 37.502 30.7554 37.352 30.4734 37.232C30.3774 37.196 30.1134 37.115 29.6814 36.989C29.0694 36.815 28.6044 36.572 28.2864 36.26C27.9684 35.948 27.8094 35.534 27.8094 35.018C27.8094 34.436 28.0164 33.965 28.4304 33.605C28.8564 33.245 29.3784 33.065 29.9964 33.065C30.5244 33.065 30.9924 33.191 31.4004 33.443C31.8084 33.689 32.1204 34.043 32.3364 34.505L30.9864 35.297C30.7884 34.829 30.4614 34.595 30.0054 34.595C29.8194 34.595 29.6754 34.634 29.5734 34.712C29.4714 34.784 29.4204 34.883 29.4204 35.009C29.4204 35.147 29.4924 35.264 29.6364 35.36C29.7864 35.456 30.0744 35.567 30.5004 35.693C30.8184 35.789 31.0644 35.873 31.2384 35.945C31.4364 36.029 31.6404 36.143 31.8504 36.287C32.2884 36.575 32.5074 37.034 32.5074 37.664C32.5074 38.282 32.2884 38.765 31.8504 39.113C31.4124 39.461 30.8334 39.635 30.1134 39.635ZM32.5563 33.2H37.2813V34.757H35.7243V39.5H34.1133V34.757H32.5563V33.2ZM39.4766 37.061V37.988H41.9156V39.5H37.8656V33.2H41.8706V34.703H39.4766V35.576H41.6456V37.061H39.4766ZM47.695 39.5H45.967L44.869 37.466H44.293V39.5H42.682V33.2H45.202C45.844 33.2 46.381 33.407 46.813 33.821C47.251 34.223 47.47 34.742 47.47 35.378C47.47 35.75 47.374 36.095 47.182 36.413C46.99 36.731 46.729 36.983 46.399 37.169L47.695 39.5ZM45.184 34.685H44.293V36.098H45.184C45.382 36.104 45.544 36.041 45.67 35.909C45.796 35.777 45.859 35.606 45.859 35.396C45.859 35.186 45.796 35.015 45.67 34.883C45.544 34.751 45.382 34.685 45.184 34.685ZM51.6423 33.2H53.4513L51.3273 37.079V39.5H49.7163V37.097L47.5923 33.2H49.4013L50.5173 35.531L51.6423 33.2ZM27.9885 45.891H31.1655V46.53C31.1655 47.454 30.8745 48.204 30.2925 48.78C29.7105 49.35 28.9605 49.635 28.0425 49.635C27.0645 49.635 26.2545 49.32 25.6125 48.69C24.9825 48.06 24.6675 47.283 24.6675 46.359C24.6675 45.441 24.9825 44.661 25.6125 44.019C26.2425 43.383 27.0225 43.065 27.9525 43.065C28.5345 43.065 29.0715 43.197 29.5635 43.461C30.0495 43.719 30.4335 44.07 30.7155 44.514L29.3475 45.297C29.2215 45.099 29.0355 44.94 28.7895 44.82C28.5435 44.7 28.2705 44.64 27.9705 44.64C27.4725 44.64 27.0645 44.802 26.7465 45.126C26.4285 45.456 26.2695 45.87 26.2695 46.368C26.2695 46.86 26.4255 47.271 26.7375 47.601C27.0555 47.937 27.4995 48.105 28.0695 48.105C28.8015 48.105 29.2845 47.829 29.5185 47.277H27.9885V45.891ZM31.9154 49.5V43.2H33.5264V49.5H31.9154ZM38.387 43.2V44.757H36.128V45.783H38.342V47.34H36.128V49.5H34.517V43.2H38.387ZM38.7702 43.2H43.4952V44.757H41.9382V49.5H40.3272V44.757H38.7702V43.2Z" fill="#403F36"/>
2060              <path d="M30.3074 85.784C30.3074 86.7333 30.0087 87.512 29.4114 88.12C28.8247 88.7173 28.03 89.0747 27.0274 89.192V90.6H25.9074V89.208C25.0007 89.144 24.222 88.888 23.5714 88.44C22.9314 87.992 22.4674 87.384 22.1794 86.616L24.3874 85.336C24.718 86.1147 25.2247 86.5627 25.9074 86.68V84.472L25.6994 84.392C25.038 84.136 24.4834 83.8533 24.0354 83.544C23.1074 82.904 22.6434 82.024 22.6434 80.904C22.6434 79.9227 22.958 79.1493 23.5874 78.584C24.2167 78.008 24.99 77.6773 25.9074 77.592V76.2H27.0274V77.624C28.542 77.816 29.5927 78.5893 30.1794 79.944L28.0194 81.208C27.806 80.6747 27.4754 80.328 27.0274 80.168V82.328L27.5554 82.552C27.854 82.6693 28.046 82.7493 28.1314 82.792C28.398 82.9307 28.574 83.0213 28.6594 83.064C28.9047 83.1813 29.086 83.2933 29.2034 83.4C29.6514 83.8053 29.918 84.1253 30.0034 84.36C30.206 84.8293 30.3074 85.304 30.3074 85.784ZM25.2034 80.92C25.2034 81.2293 25.438 81.5227 25.9074 81.8V80.12C25.438 80.2373 25.2034 80.504 25.2034 80.92ZM27.0274 84.936V86.648C27.5074 86.52 27.7474 86.2427 27.7474 85.816C27.7474 85.464 27.5074 85.
20601707 27.0274 84.936ZM30.6288 80.264V77.8H37.9888V79.944L34.3408 89H31.6208L35.1408 80.264H30.6288ZM40.9918 81.736H41.9038C43.0024 81.736 43.9144 82.0667 44.6398 82.728C45.3758 83.3893 45.7438 84.3067 45.7438 85.48C45.7438 86.6533 45.3491 87.5707 44.5598 88.232C43.7704 88.8933 42.8051 89.224 41.6638 89.224C40.7144 89.224 39.8878 89.0213 39.1838 88.616C38.4904 88.2107 37.9838 87.6133 37.6638 86.824L39.8718 85.544C40.1491 86.3333 40.7464 86.728 41.6638 86.728C42.3038 86.7707 42.7518 86.5733 43.0078 86.136C43.2744 85.6987 43.2798 85.2613 43.0238 84.824C42.7678 84.3867 42.3411 84.1893 41.7438 84.232H38.2398L38.7038 77.8H45.1838V80.2H41.1038L40.9918 81.736Z" fill="#403F36"/>
2061              </svg>
2062              
2063              
2064            
2065
2066
2067            
2068
2069
2070
2071          <svg width="68" height="95" viewBox="0 0 68 95" fill="none" xmlns="http://www.w3.org/2000/svg">
2072            <rect x="1" y="0.5" width="66" height="66" rx="33" fill="white"/>
2073            <rect x="1" y="0.5" width="66" height="66" rx="33" stroke="#DCD9D4"/>
2074            <path d="M26.4573 27.5H18.6173V25.42L22.3293 21.5C23.0813 20.684 23.4013 20.268 23.4013 19.772C23.4013 19.212 23.0333 18.844 22.4093 18.844C21.7533 18.844 21.2413 19.228 20.9053 20.012L18.4413 18.636C19.1613 16.956 20.6653 16.06 22.3773 16.06C23.4493 16.06 24.3613 16.38 25.1133 17.02C25.8813 17.644 26.2653 18.508 26.2653 19.612C26.2653 20.908 25.6413 21.932 24.4733 23.148L22.9533 24.732H26.4573V27.5ZM35.2292 26.156C34.4133 27.212 33.2773 27.74 31.8213 27.74C30.3653 27.74 29.2133 27.212 28.3973 26.156C27.5813 25.084 27.1813 23.676 27.1813 21.9C27.1813 20.124 27.5813 18.716 28.3973 17.66C29.2133 16.588 30.3653 16.06 31.8213 16.
207406C33.2773 16.06 34.4133 16.588 35.2292 17.66C36.0453 18.716 36.4613 20.124 36.4613 21.9C36.4613 23.676 36.0453 25.084 35.2292 26.156ZM30.0453 21.9C30.0453 23.932 30.6373 24.956 31.8213 24.956C33.0053 24.956 33.5973 23.932 33.5973 21.9C33.5973 19.868 33.0053 18.844 31.8213 18.844C30.6373 18.844 30.0453 19.868 30.0453 21.9ZM40.0509 21.804C39.2189 21.804 38.5149 21.532 37.9549 20.972C37.3949 20.412 37.1069 19.724 37.1069 18.924C37.1069 18.124 37.3949 17.452 37.9549 16.892C38.5149 16.332 39.2189 16.06 40.0509 16.06C40.8829 16.06 41.5709 16.332 42.1309 16.892C42.6909 17.452 42.9629 18.124 42.9629 18.924C42.9629 19.74 42.6749 20.412 42.1149 20.972C41.5549 21.532 40.8669 21.804 40.0509 21.804ZM39.8749 26.364L38.7709 25.74L46.1309 17.74L47.2509 18.38L39.8749 26.364ZM40.0349 19.772C41.1229 19.836 41.1229 18.012 40.0349 18.092C39.5709 18.092 39.2189 18.46 39.2189 18.924C39.2189 19.42 39.5709 19.772 40.0349 19.772ZM46.2429 27.724C45.3949 27.724 44.6909 27.452 44.1309 26.892C43.5709 26.332 43.2989 25.66 43.2989 24.86C43.2989 24.044 43.5709 23.372 44.1309 22.812C44.6909 22.252 45.3949 21.98 46.2429 21.98C47.0749 21.98 47.7629 22.268 48.3229 22.828C48.8829 23.388 49.1549 24.06 49.1549 24.86C49.1549 25.66 48.8669 26.332 48.3069 26.892C47.7469 27.452 47.0589 27.724 46.2429 27.724ZM47.0429 24.86C47.0429 24.364 46.6909 24.012 46.2269 24.012C45.7629 24.012 45.4109 24.364 45.4109 24.86C45.4109 25.324 45.7629 25.692 46.2269 25.692C46.6909 25.692 47.0429 25.308 47.0429 24.86Z" fill="#403F36"/>
2075            <path d="M25.808 40.635C24.86 40.635 24.074 40.323 23.45 39.699C22.832 39.075 22.523 38.292 22.523 37.35C22.523 36.408 22.832 35.628 23.45 35.01C24.068 34.38 24.854 34.065 25.808 34.065C26.378 34.065 26.906 34.2 27.392 34.47C27.878 34.74 28.259 35.103 28.535 35.559L27.14 36.36C27.02 36.138 26.84 35.964 26.6 35.838C26.366 35.706 26.102 35.64 25.808 35.64C25.31 35.64 24.902 35.799 24.584 36.117C24.278 36.435 24.125 36.846 24.125 37.35C24.125 37.866 24.278 38.28 24.584 38.592C24.896 38.904 25.304 39.06 25.808 39.06C26.102 39.06 26.366 38.997 26.6 38.871C26.84 38.739 27.02 38.559 27.14 38.331L28.535 39.141C28.259 39.603 27.878 39.969 27.392 40.239C26.912 40.503 26.384 40.635 25.808 40.635ZM34.6917 40.5H32.9547L32.6847 39.591H30.5877L30.3177 40.5H28.5717L30.6507 34.2H32.6127L34.6917 40.5ZM31.6317 36.063L31.0017 38.205H32.2707L31.6317 36.063ZM37.2589 40.635C36.6049 40.635 36.0559 40.497 35.6119 40.221C35.1739 39.945 34.8649 39.561 34.6849 39.069L36.0619 38.268C36.2959 38.826 36.7099 39.105 37.3039 39.105C37.7959 39.105 38.0419 38.964 38.0419 38.682C38.0419 38.502 37.9009 38.352 37.6189 38.232C37.5229 38.196 37.2589 38.115 36.8269 37.989C36.2149 37.815 35.7499 37.572 35.4319 37.26C35.1139 36.948 34.9549 36.534 34.9549 36.018C34.9549 35.436 35.1619 34.965 35.5759 34.605C36.0019 34.245 36.5239 34.065 37.1419 34.065C37.6699 34.065 38.1379 34.191 38.5459 34.443C38.9539 34.689 39.2659 35.043 39.4819 35.505L38.1319 36.297C37.9339 35.829 37.6069 35.595 37.1509 35.595C36.9649 35.595 36.8209 35.634 36.7189 35.712C36.6169 35.784 36.5659 35.883 36.5659 36.009C36.5659 36.147 36.6379 36.264 36.7819 36.36C36.9319 36.456 37.2199 36.567 37.6459 36.693C37.9639 36.789 38.2099 36.873 38.3839 36.945C38.5819 37.029 38.7859 37.143 38.9959 37.287C39.4339 37.575 39.6529 38.034 39.6529 38.664C39.6529 39.282 39.4339 39.765 38.9959 40.113C38.5579 40.461 37.9789 40.635 37.2589 40.635ZM43.6227 36.531V34.2H45.2247V40.5H43.6227V38.079H41.8497V40.5H40.2387V34.2H41.8497V36.531H43.6227ZM26.8495 47.242C27.3775 47.554 27.6415 48.025 27.6415 48.655C27.6415 49.219 27.4495 49.666 27.0655 49.996C26.6755 50.332 26.1625 50.5 25.5265 50.5H22.8715V44.2H25.3555C25.9915 44.2 26.4955 44.362 26.8675 44.686C27.2455 45.004 27.4345 45.439 27.4345 45.991C27.4345 46.519 27.2395 46.936 26.8495 47.242ZM25.3105 45.64H24.4825V46.63H25.3105C25.4605 46.63 25.5835 46.588 25.6795 46.504C25.7755 46.414 25.8235 46.291 25.8235 46.135C25.8235 45.985 25.7755 45.865 25.6795 45.775C25.5835 45.685 25.4605 45.64 25.3105 45.64ZM24.4825 49.06H25.4815C25.6435 49.06 25.7755 49.012 25.8775 48.916C25.9795 48.814 26.0305 48.685 26.0305 48.529C26.0305 48.367 25.9795 48.238 25.8775 48.142C25.7755 48.046 25.6435 47.998 25.4815 47.998H24.4825V49.06ZM33.8655 50.5H32.1285L31.8585 49.591H29.7615L29.4915 50.5H27.7455L29.8245 44.2H31.7865L33.8655 50.5ZM30.8055 46.063L30.1755 48.205H31.4445L30.8055 46.063ZM37.1371 50.635C36.1891 50.635 35.4031 50.323 34.7791 49.699C34.1611 49.075 33.8521 48.292 33.8521 47.35C33.8521 46.408 34.1611 45.628 34.7791 45.01C35.3971 44.38 36.1831 44.065 37.1371 44.065C37.7071 44.065 38.2351 44.2 38.7211 44.47C39.2071 44.74 39.5881 45.103 39.8641 45.559L38.4691 46.36C38.3491 46.138 38.1691 45.964 37.9291 45.838C37.6951 45.706 37.4311 45.64 37.1371 45.64C36.6391 45.64 36.2311 45.799 35.9131 46.117C35.6071 46.435 35.4541 46.846 35.4541 47.35C35.4541 47.866 35.6071 48.28 35.9131 48.592C36.2251 48.904 36.6331 49.06 37.1371 49.06C37.4311 49.06 37.6951 48.997 37.9291 48.871C38.1691 48.739 38.3491 48.559 38.4691 48.331L39.8641 49.141C39.5881 49.603 39.2071 49.969 38.7211 50.239C38.2411 50.503 37.7131 50.635 37.1371 50.635ZM43.5728 47.26L45.6608 50.5H43.8608L42.0518 47.683V50.5H40.4408V44.2H42.0518V46.846L43.7708 44.2H45.5708L43.5728 47.26Z" fill="#403F36"/>
2076            <path d="M24.7605 85.784C24.7605 86.7333 24.4618 87.512 23.8645 88.12C23.2778 88.7173 22.4832 89.0747 21.4805 89.192V90.6H20.3605V89.208C19.4538 89.144 18.6752 88.888 18.0245 88.44C17.3845 87.992 16.9205 87.384 16.6325 86.616L18.8405 85.336C19.1712 86.1147 19.6778 86.5627 20.3605 86.68V84.472L20.1525 84.392C19.4912 84.136 18.9365 83.8533 18.4885 83.544C17.5605 82.904 17.0965 82.024 17.0965 80.904C17.0965 79.9227 17.4112 79.1493 18.0405 78.584C18.6698 78.008 19.4432 77.6773 20.3605 77.592V76.2H21.4805V77.624C22.9952 77.816 24.0458 78.5893 24.6325 79.944L22.4725 81.208C22.2592 80.6747 21.9285 80.328 21.4805 80.168V82.328L22.0085 82.552C22.3072 82.6693 22.4992 82.7493 22.5845 82.792C22.8512 82.9307 23.0272 83.0213 23.1125 83.064C23.3578 83.1813 23.5392 83.2933 23.6565 83.4C24.1045 83.8053 24.3712 84.1253 24.4565 84.36C24.6592 84.8293 24.7605 85.304 24.7605 85.784ZM19.6565 80.92C19.6565 81.2293 19.8912 81.5227 20.3605 81.8V80.12C19.8912 80.2373 19.6565 80.504 19.6565 80.92ZM21.4805 84.936V86.648C21.9605 86.52 22.2005 86.2427 22.2005 85.816C22.2005 85.464 21.9605 85.1707 21.4805 84.936ZM25.2381 78.856L28.1661 77.8H30.4061V89H27.8461V80.504L25.8621 81.048L25.2381 78.856ZM39.9153 87.64C39.1153 88.696 38.0006 89.224 36.5713 89.224C35.1526 89.224 34.0326 88.696 33.2113 87.64C32.4113 86.5733 32.0113 85.16 32.0113 83.4C32.0113 81.64 32.4113 80.232 33.2113 79.176C34.0219 78.1093 35.1419 77.576 36.5713 77.576C38.0006 77.576 39.1153 78.1093 39.9153 79.176C40.7259 80.2213 41.1313 81.6293 41.1313 83.4C41.1313 85.16 40.7259 86.5733 39.9153 87.64ZM36.5713 80.072C35.2379 80.072 34.5713 81.1813 34.5713 83.4C34.5713 85.6187 35.2379 86.728 36.5713 86.728C37.9046 86.728 38.5713 85.6187 38.5713 83.4C38.5713 81.1813 37.9046 80.072 36.5713 80.072ZM49.9934 87.64C49.1934 88.696 48.0787 89.224 46.6494 89.224C45.2307 89.224 44.1107 88.696 43.2894 87.64C42.4894 86.5733 42.0894 85.16 42.0894 83.4C42.0894 81.64 42.4894 80.232 43.2894 79.176C44.1 78.1093 45.22 77.576 46.6494 77.576C48.0787 77.576 49.1934 78.1093 49.9934 79.176C50.804 80.2213 51.2094 81.6293 51.2094 83.4C51.2094 85.16 50.804 86.5733 49.9934 87.64ZM46.6494 80.072C45.316 80.072 44.6494 81.1813 44.6494 83.4C44.6494 85.6187 45.316 86.728 46.6494 86.728C47.9827 86.728 48.6494 85.6187 48.6494 83.4C48.6494 81.1813 47.9827 80.072 46.6494 80.072Z" fill="#403F36"/>
2077            </svg>
2078            
2079            
2080            
2081          
2082  
2083            </div>
2084          </div>
2085        </div>
2086      </div>
2087      <div class="drawer__inner-empty">
2088        <div class="cart-drawer__warnings center">
2089          <div class="cart-drawer__empty-content">
2090            
2091
2092            <h4 class="cart__empty-text mt-[100px] font-body text-lg uppercase font-bold">
2093              Your cart is empty
2094            </h4>
2095
2096            
2097
2098            
2099
2100            
2101
2102
2103            <a
2104              href="/collections/new-all"
2105              class="rounded-[60px] font-bold text-[16px] px-12 py-3 text-black relative top-[2em] md:top-[4em]"
2106              style="background: linear-gradient(180deg, #F8CA2A 0%, #FFBE32 100%); border: 1px solid #DAA015;"
2107            >
2108              SHOP ALL PRODUCTS
2109            </a>
2110          </div>
2111        </div></div>
2112      <div class="flex-1 overflow-y-scroll !px-0 bg-[#ffffff]">
2113        <cart-drawer-items class="is-empty">
2114          <form
2115            action="/cart"
2116            id="CartDrawer-Form"
2117            class="px-[1.1rem] bg-white cart__contents cart-drawer__form"
2118            method="post"
2119          >
2120            <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><div class="cart-drawer__footer" >
2121                <div class="totals py-1 pb-0.5 custom-shipping-a mt-1 mb-2.5" role="status">
2122                  <h4 class="totals__subtotal font-body font-bold text-base leading-base text-black">
2123                    Subtotal
2124                  </h4>
2125                  <p class="totals__subtotal-value font-body font-bold text-lg leading-base text-black">
2126                    <b>
2127                      $0</b>
2128                  </p>
2129                </div>
2130
2131                <div class="custom-shipping-b">
2132                  
2133                  <div class="totals py-1 pb-0.5" role="status">
2134                    <h4 class="totals__subtotal font-body text-sm leading-base text-black">
2135                      Subtotal
2136                    </h4>
2137                    <p class="totals__subtotal-value font-body  text-sm leading-base text-black">
2138                        $0</p>
2139                  </div>
2140                  <div class="totals py-1 pb-0.5" role="status">
2141                    <h4 class="totals__subtotal font-body text-sm leading-base text-black">
2142                      Shipping
2143                    </h4>
2144                    <p class="totals__subtotal-value font-body text-sm leading-base text-black">
2145                      
2146                        $6.99
2147                    </p>
2148                  </div>
2149                  <div class="totals py-1 pb-0.5" role="status">
2150                    <h4 class="totals__subtotal font-body font-bold text-base leading-base text-black">
2151                      Total
2152                    </h4>
2153                    <p class="totals__subtotal-value font-body font-bold text-lg leading-base text-black">
2154                      <b>
2155                        $6.99</b>
2156                    </p>
2157                  </div>
2158                </div>
2159
2160                <div class="hidden"></div>
2161
2162                
2163              </div>
2164              <p
2165                id="CartDrawer-LiveRegionText"
2166                class="visually-hidden"
2167                role="status"
2168              ></p>
2169              <p
2170                id="CartDrawer-LineItemStatus"
2171                class="visually-hidden"
2172                aria-hidden="true"
2173                role="status"
2174              >
2175                Loading...
2176              </p>
2177            </div>
2178            <div id="CartDrawer-CartErrors" role="alert"></div>
2179          </form>
2180        </cart-drawer-items>
2181        <upsells class="hidden">
2182          <div class="flex-1 px-[1.5rem] pb-20 pt-[2em]">
2183            <h5 class="font-body text-base text-black text-center mb-4 font-semibold">Frequently Bought With</h5>
2184            <div class="cart-upsell-dream-curls">
2185            <div
2186  class="bg-white border border-solid border-[#ECEAE5] rounded-[10px] p-2 mx-auto relative embla__slide product_opt_wrapper custom-product-buy-card-no-sub"
2187  data-product-id="8339610796210"
2188  data-variant-id="44845359268018"
2189>
2190  <div class="custom-upsell-product-data-wrapper">
2191    <div class="flex items-start">
2192      <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
2193        <div
2194          class="absolute inset-0"
2195          style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
2196        ></div>
2197        <img
2198          class="w-full h-full object-contain"
2199          src="//chebeauty.com/cdn/shop/files/DCBMain1withShampoo_39186526-45f6-40cc-bedd-c686a7dc5608_300x300.png?v=1748863346"
2200          alt="Dream Curls Routine"
2201          loading="lazy"
2202          fetchpriority="low"
2203        >
2204        <div class="absolute left-2 bottom-2 md:bottom-2">
2205          
2206            <div class="flex items-start flex-col-reverse justify-start gap-1">
2207              <p class="text-left text-white text-[10px] font-medium">
2208                4,700+ Happy Customers
2209              </p>
2210              <svg
2211                width="93"
2212                height="16"
2213                viewBox="0 0 93 16"
2214                fill="none"
2215                xmlns="http://www.w3.org/2000/svg"
2216              >
2217                <path d="M7.14303 2.15298C7.29271 1.69232 7.94442 1.69232 8.09409 2.15298L9.21678 5.60826C9.28372 5.81427 9.47569 5.95375 9.69231 5.95375H13.3254C13.8098 5.95375 14.0112 6.57356 13.6193 6.85826L10.6801 8.99374C10.5048 9.12106 10.4315 9.34675 10.4984 9.55276L11.6211 13.008C11.7708 13.4687 11.2435 13.8518 10.8517 13.5671L7.91246 11.4316C7.73721 11.3043 7.49991 11.3043 7.32467 11.4316L4.38543 13.5671C3.99358 13.8518 3.46634 13.4687 3.61601 13.008L4.7387 9.55276C4.80564 9.34674 4.73231 9.12106 4.55707 8.99374L1.61783 6.85826C1.22597 6.57356 1.42736 5.95375 1.91172 5.95375H5.54482C5.76143 5.95375 5.95341 5.81427 6.02035 5.60826L7.14303 2.15298Z" fill="#F6C344" />
2218                <path d="M26.5825 2.15298C26.7322 1.69232 27.3839 1.69232 27.5335 2.15298L28.6562 5.60826C28.7232 5.81427 28.9151 5.95375 29.1318 5.95375H32.7649C33.2492 5.95375 33.4506 6.57356 33.0588 6.85826L30.1195 8.99374C29.9443 9.12106 29.8709 9.34675 29.9379 9.55276L31.0606 13.008C31.2102 13.4687 30.683 13.8518 30.2911 13.5671L27.3519 11.4316C27.1767 11.3043 26.9394 11.3043 26.7641 11.4316L23.8249 13.5671C23.433 13.8518 22.9058 13.4687 23.0555 13.008L24.1782 9.55276C24.2451 9.34674 24.1718 9.12106 23.9965 8.99374L21.0573 6.85826C20.6654 6.57356 20.8668 5.95375 21.3512 5.95375H24.9843C25.2009 5.95375 25.3929 5.81427 25.4598 5.60826L26.5825 2.15298Z" fill="#F6C344" />
2219                <path d="M46.0239 2.15298C46.1736 1.69232 46.8253 1.69232 46.9749 2.15298L48.0976 5.60826C48.1646 5.81427 48.3566 5.95375 48.5732 5.95375H52.2063C52.6906 5.95375 52.892 6.57356 52.5002 6.85826L49.5609 8.99374C49.3857 9.12106 49.3123 9.34675 49.3793 9.55276L50.502 13.008C50.6516 13.4687 50.1244 13.8518 49.7326 13.5671L46.7933 11.4316C46.6181 11.3043 46.3808 11.3043 46.2055 11.4316L43.2663 13.5671C42.8744 13.8518 42.3472 13.4687 42.4969 13.008L43.6196 9.55276C43.6865 9.34674 43.6132 9.12106 43.4379 8.99374L40.4987 6.85826C40.1068 6.57356 40.3082 5.95375 40.7926 5.95375H44.4257C44.6423 5.95375 44.8343 5.81427 44.9012 5.60826L46.0239 2.15298Z" fill="#F6C344" />
2220                <path d="M65.4633 2.15298C65.613 1.69232 66.2647 1.69232 66.4144 2.15298L67.5371 5.60826C67.604 5.81427 67.796 5.95375 68.0126 5.95375H71.6457C72.1301 5.95375 72.3315 6.57356 71.9396 6.85826L69.0004 8.99374C68.8251 9.12106 68.7518 9.34675 68.8187 9.55276L69.9414 13.008C70.0911 13.4687 69.5639 13.8518 69.172 13.5671L66.2328 11.4316C66.0575 11.3043 65.8202 11.3043 65.645 11.4316L62.7057 13.5671C62.3139 13.8518 61.7866 13.4687 61.9363 13.008L63.059 9.55276C63.126 9.34674 63.0526 9.12106 62.8774 8.99374L59.9381 6.85826C59.5463 6.57356 59.7477 5.95375 60.232 5.95375H63.8651C64.0817 5.95375 64.2737 5.81427 64.3407 5.60826L65.4633 2.15298Z" fill="#F6C344" />
2221                <path d="M84.9067 2.15298C85.0564 1.69232 85.7081 1.69232 85.8578 2.15298L86.9805 5.60826C87.0474 5.81427 87.2394 5.95375 87.456 5.95375H91.0891C91.5734 5.95375 91.7748 6.57356 91.383 6.85826L88.4437 8.99374C88.2685 9.12106 88.1952 9.34675 88.2621 9.55276L89.3848 13.008C89.5345 13.4687 89.0072 13.8518 88.6154 13.5671L85.6761 11.4316C85.5009 11.3043 85.2636 11.3043 85.0883 11.4316L82.1491 13.5671C81.7572 13.8518 81.23 13.4687 81.3797 13.008L82.5024 9.55276C82.5693 9.34674 82.496 9.12106 82.3207 8.99374L79.3815 6.85826C78.9896 6.57356 79.191 5.95375 79.6754 5.95375H83.3085C83.5251 5.95375 83.7171 5.81427 83.784 5.60826L84.9067 2.15298Z" fill="#F6C344" />
2222              </svg>
2223            </div>
2224          
2225        </div>
2226      </div>
2227      <div class="ml-2 text-left">
2228        <p class="text-sm text-black font-semibold mb-1">Dream Curls Routine</p>
2229        <div class="flex items-center gap-2">
2230          <p
2231            data-id="44845359268018"
2232            class="productBuyCardPrice text-sm text-black font-semibold mb-2"
2233          >
2234            $59
2235          </p>
2236          <p class="text-sm text-black font-semibold mb-2 line-through">
2237            $150
2238          </p>
2239          <p class="text-sm text-black font-semibold mb-2">
2240            Save
2241            $91
2242          </p>
2243        </div>
2244        <p class="text-xs text-[#403F36] font-normal">
2245          Our best deal ever, an all-in-one routine, providing salon-quality results at home. Includes FREE Hair Brush + FREE Hair Accessories + GIFT CARD.
2246        </p>
2247      </div>
2248    </div>
2249  </div>
2250  <button
2251    data-variant-id="44845359268018"
2252    class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#
2252E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart-no-sub"
2253  >
2254    <span>Add to Cart</span>
2255    <svg
2256      aria-hidden="true"
2257      class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
2258      viewBox="0 0 100 101"
2259      fill="none"
2260      xmlns="http://www.w3.org/2000/svg"
2261    >
2262      <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36" />
2263      <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632" />
2264    </svg>
2265    <span class="sr-only">Loading...</span>
2266  </button>
2267</div>
2268
2269            </div>
2270            <div class="relative fbw-embla-wrapper">
2271              <div class="embla embla-cart mx-2 overflow-x-clip overflow-y-visible">
2272                <div class="embla__viewport">
2273                  <div class="embla__container">
2274                    
2275                    
2276                    
2277                      
2278                        
2279                          
2280
2281
2282
2283<div
2284  class="bg-white  border border-solid border-[#ECEAE5] rounded-[10px] p-2 mx-auto relative embla__slide product_opt_wrapper"
2285  data-product-id="8506090258610"
2286>
2287  <div class="prod-data-dcb">
2288    <div class="custom-upsell-product-data-wrapper">
2289      <div class="flex items-start">
2290        <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
2291          <div
2292            class="absolute inset-0"
2293            style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
2294          ></div>
2295          
2296          <img
2297            class="w-full h-full object-contain"
2298            src="//chebeauty.com/cdn/shop/files/DCBMain1withShampoo_300x300.png?v=1748863181"
2299            alt="Dream Curls Bundle"
2300            loading="lazy"
2301            fetchpriority="low"
2302          >
2303          <div class="absolute left-2 bottom-2 md:bottom-2">
2304            
2305              <div class="flex items-start flex-col-reverse justify-start gap-1">
2306                <p class="text-left text-white text-[10px] font-medium">
2307                  9,500+ Happy Customers
2308                </p>
2309                <svg
2310                  width="93"
2311                  height="16"
2312                  viewBox="0 0 93 16"
2313                  fill="none"
2314                  xmlns="http://www.w3.org/2000/svg"
2315                >
2316                  <path d="M7.14303 2.15298C7.29271 1.69232 7.94442 1.69232 8.09409 2.15298L9.21678 5.60826C9.28372 5.81427 9.47569 5.95375 9.69231 5.95375H13.3254C13.8098 5.95375 14.0112 6.57356 13.6193 6.85826L10.6801 8.99374C10.5048 9.12106 10.4315 9.34675 10.4984 9.55276L11.6211 13.008C11.7708 13.4687 11.2435 13.8518 10.8517 13.5671L7.91246 11.4316C7.73721 11.3043 7.49991 11.3043 7.32467 11.4316L4.38543 13.5671C3.99358 13.8518 3.46634 13.4687 3.61601 13.008L4.7387 9.55276C4.80564 9.34674 4.73231 9.12106 4.55707 8.99374L1.61783 6.85826C1.22597 6.57356 1.42736 5.95375 1.91172 5.95375H5.54482C5.76143 5.95375 5.95341 5.81427 6.02035 5.60826L7.14303 2.15298Z" fill="#F6C344" />
2317                  <path d="M26.5825 2.15298C26.7322 1.69232 27.3839 1.69232 27.5335 2.15298L28.6562 5.60826C28.7232 5.81427 28.9151 5.95375 29.1318 5.95375H32.7649C33.2492 5.95375 33.4506 6.57356 33.0588 6.85826L30.1195 8.99374C29.9443 9.12106 29.8709 9.34675 29.9379 9.55276L31.0606 13.008C31.2102 13.4687 30.683 13.8518 30.2911 13.5671L27.3519 11.4316C27.1767 11.3043 26.9394 11.3043 26.7641 11.4316L23.8249 13.5671C23.433 13.8518 22.9058 13.4687 23.0555 13.008L24.1782 9.55276C24.2451 9.34674 24.1718 9.12106 23.9965 8.99374L21.0573 6.85826C20.6654 6.57356 20.8668 5.95375 21.3512 5.95375H24.9843C25.2009 5.95375 25.3929 5.81427 25.4598 5.60826L26.5825 2.15298Z" fill="#F6C344" />
2318                  <path d="M46.0239 2.15298C46.1736 1.69232 46.8253 1.69232 46.9749 2.15298L48.0976 5.60826C48.1646 5.81427 48.3566 5.95375 48.5732 5.95375H52.2063C52.6906 5.95375 52.892 6.57356 52.5002 6.85826L49.5609 8.99374C49.3857 9.12106 49.3123 9.34675 49.3793 9.55276L50.502 13.008C50.6516 13.4687 50.1244 13.8518 49.7326 13.5671L46.7933 11.4316C46.6181 11.3043 46.3808 11.3043 46.2055 11.4316L43.2663 13.5671C42.8744 13.8518 42.3472 13.4687 42.4969 13.008L43.6196 9.55276C43.6865 9.34674 43.6132 9.12106 43.4379 8.99374L40.4987 6.85826C40.1068 6.57356 40.3082 5.95375 40.7926 5.95375H44.4257C44.6423 5.95375 44.8343 5.81427 44.9012 5.60826L46.0239 2.15298Z" fill="#F6C344" />
2319                  <path d="M65.4633 2.15298C65.613 1.69232 66.2647 1.69232 66.4144 2.15298L67.5371 5.60826C67.604 5.81427 67.796 5.95375 68.0126 5.95375H71.6457C72.1301 5.95375 72.3315 6.57356 71.9396 6.85826L69.0004 8.99374C68.8251 9.12106 68.7518 9.34675 68.8187 9.55276L69.9414 13.008C70.0911 13.4687 69.5639 13.8518 69.172 13.5671L66.2328 11.4316C66.0575 11.3043 65.8202 11.3043 65.645 11.4316L62.7057 13.5671C62.3139 13.8518 61.7866 13.4687 61.9363 13.008L63.059 9.55276C63.126 9.34674 63.0526 9.12106 62.8774 8.99374L59.9381 6.85826C59.5463 6.57356 59.7477 5.95375 60.232 5.95375H63.8651C64.0817 5.95375 64.2737 5.81427 64.3407 5.60826L65.4633 2.15298Z" fill="#F6C344" />
2320                  <path d="M84.9067 2.15298C85.0564 1.69232 85.7081 1.69232 85.8578 2.15298L86.9805 5.60826C87.0474 5.81427 87.2394 5.95375 87.456 5.95375H91.0891C91.5734 5.95375 91.7748 6.57356 91.383 6.85826L88.4437 8.99374C88.2685 9.12106 88.1952 9.34675 88.2621 9.55276L89.3848 13.008C89.5345 13.4687 89.0072 13.8518 88.6154 13.5671L85.6761 11.4316C85.5009 11.3043 85.2636 11.3043 85.0883 11.4316L82.1491 13.5671C81.7572 13.8518 81.23 13.4687 81.3797 13.008L82.5024 9.55276C82.5693 9.34674 82.496 9.12106 82.3207 8.99374L79.3815 6.85826C78.9896 6.57356 79.191 5.95375 79.6754 5.95375H83.3085C83.5251 5.95375 83.7171 5.81427 83.784 5.60826L84.9067 2.15298Z" fill="#F6C344" />
2321                </svg>
2322              </div>
2323            
2324          </div>
2325        </div>
2326        <div class="ml-2 text-left">
2327          <p class="text-sm text-black font-semibold mb-1">
2328            Dream Curls Bundle
2329          </p>
2330          <p
2331            data-4oz-id="45490250645682"
2332            data-8oz-id=""
2333            data-4ozPrice="$39.20"
2334            data-8ozPrice="$0"
2335            data-unsub4ozPrice="$49"
2336            data-unsub8ozPrice=""
2337            
2338            class="productBuyCardPrice text-sm text-black font-semibold mb-2"
2339          >
2340            
2341              
2342          </p>
2343          <p class="text-xs text-[#403F36] font-normal">
2344            $150 value bundle for just $69, includes our 5 BESTSELLER products + 3 FREE Gifts!
2345          </p>
2346        </div>
2347      </div>
2348      <div class="productOptSubToggle mt-5 flex items-center justify-between w-full  hidden ">
2349        <div>
2350          <p class="text-black font-bold text-sm opacity-80">
2351            Subscribe & Save 20% (-$0)
2352          </p>
2353          <p class="text-[10px] text-[#777] font-medium -mt-[6px] text-left">
2354            Cancel anytime | No questions asked
2355          </p>
2356        </div>
2357
2358        
2359        
2360
2361        <label class="productOptSubTogglePeer relative inline-flex items-center cursor-pointer ">
2362          <input
2363            data-line="1"
2364            type="checkbox"
2365            value=""
2366            onchange="togglePeer(this)"
2367            
2368            class="sr-only peer"
2369          >
2370          <div
2371            class="w-12 h-7 bg-[#F7F5F1] peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:bg-[#777] after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-[#00634F] peer-checked:after:bg-[#FFF]"
2372          ></div>
2373        </label>
2374      </div>
2375      <div class="flex items-center justify-between mt-2 gap-x-2  hidden ">
2376        <div class="productOptSelector relative w-[23%]">
2377          <div
2378            class="productOptSelected w-full py-2 px-3 flex items-center justify-between rounded-[6px] border border-[#
2378ECEAE5] cursor-pointer hover:border-[#777]"
2379            onclick="ToggleProductOpt(this)"
2380          >
2381            
2382              <p class="text-black text-sm font-medium">
2383                
2384              </p>
2385            
2386            <img
2387  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
2388  class="w-[24px] h-[24px] pointer-events-none expand-black"
2389  alt="expand arrow">
2390          </div>
2391          <div
2392            class="productOptOptions  flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] py-4 px-3 rounded-[6px] mt-2 bg-white"
2393            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
2394          >
2395            
2396              
2397              <div
2398                onclick="SelectProductOpt(this)"
2399                class="cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
2400                data-variant-id="45490250645682"
2401                data-handle="dream-curls-bundle-5"
2402                data-variant-title="Default Title"
2403              >
2404                <p class="text-sm text-black font-medium">Default Title</p>
2405                <img
2406  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
2407  class="w-[18px] h-[18px]"
2408  alt="expand arrow">
2409              </div>
2410            
2411          </div>
2412        </div>
2413        <div
2414          class="productOptSelectorSellingPlans relative w-[75%]"
2415          style="display: none;"
2416        >
2417          <div
2418            onclick="TogglePlansOpt(this)"
2419            class="productOptSelectorSellingPlansSelected w-full p-2 md:px-[10px] flex items-center justify-between rounded-[6px] border border-[#ECEAE5] cursor-pointer hover:border-[#777]"
2420          >
2421            
2422            <img
2423  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
2424  class="w-[24px] h-[24px] pointer-events-none expand-black"
2425  alt="expand arrow">
2426          </div>
2427          <div
2428            class="productOptSelectorSellingPlansOptions flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] p-2 md:px-[10px] md:pt-5 md:pb-[18px] rounded-[6px] mt-2 bg-white"
2429            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
2430          >
2431            
2432              
2433                
2434                
2435              
2436            
2437          </div>
2438        </div>
2439      </div>
2440    </div>
2441    <button
2442      data-variant-id="45490250645682"
2443      
2444      data-selling-plan-id="2585395378"
2445      
2446      class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart-one-variant-sub"
2447    >
2448      <span>Add to Cart</span>
2449      <svg
2450        aria-hidden="true"
2451        class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
2452        viewBox="0 0 100 101"
2453        fill="none"
2454        xmlns="http://www.w3.org/2000/svg"
2455      >
2456        <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36" />
2457        <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632" />
2458      </svg>
2459      <span class="sr-only">Loading...</span>
2460    </button>
2461
2462    <div
2463      class="works-best-popup hidden absolute top-[-14em] 2xl:top-[-14em]  left-0 w-full bg-gray-100 border border-gray-300 px-3 py-4 flex flex-col items-center gap-3 rounded-[10px]"
2464      style="box-shadow: 0px 3px 20px rgb(0 0 0 / 15%)"
2465    >
2466      <svg
2467        class="works-best-close-btn absolute right-3 top-3"
2468        width="12"
2469        height="12"
2470        viewBox="0 0 12 12"
2471        fill="none"
2472        xmlns="http://www.w3.org/2000/svg"
2473      >
2474        <path
2475          d="M1 11L11 1"
2476          stroke="black"
2477          stroke-width="1.5"
2478          stroke-linecap="round"
2479          stroke-linejoin="round" />
2480        <path
2481          d="M11 11L1 1"
2482          stroke="black"
2483          stroke-width="1.5"
2484          stroke-linecap="round"
2485          stroke-linejoin="round" />
2486      </svg>
2487
2488      <h5 class="text-lg font-body font-bold">This product works best with</h5>
2489
2490      <div class="flex flex-col gap-3 max-h-[10em] md:max-h-[12em] overflow-auto">
2491        
2492      </div>
2493
2494      <svg
2495        class="absolute bottom-[-17px] left-[48%]"
2496        width="20"
2497        height="22"
2498        viewBox="0 0 20 22"
2499        fill="none"
2500        xmlns="http://www.w3.org/2000/svg"
2501      >
2502        <path d="M10 20L1.33975 5L18.6603 5L10 20Z" fill="#F7F5F1" />
2503        <path d="M1.5 5L10 20L18.5 5" stroke="#DCD9D4" />
2504      </svg>
2505    </div>
2506  </div>
2507  <div class="prod-data-co-wash hidden">
2508    <div class="custom-upsell-product-data-wrapper">
2509      <div class="flex items-start">
2510        <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
2511          <div
2512            class="absolute inset-0"
2513            style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
2514          ></div>
2515          <img
2516            class="w-full h-full object-contain"
2517            src="//chebeauty.com/cdn/shop/files/Co-Wash_1_1631f515-5d0b-4d61-acbd-8dc8e6049c91_300x300.webp?v=1748767283"
2518            alt="Chebe Co-Wash"
2519            loading="lazy"
2520            fetchpriority="low"
2521          >
2522          <div class="absolute left-2 bottom-2 md:bottom-2">
2523            <div class="flex items-start flex-col-reverse justify-start gap-1">
2524              <p class="text-left text-white text-[10px] font-medium">
2525                1,000+ Happy Customers
2526              </p>
2527              <svg
2528                width="93"
2529                height="16"
2530                viewBox="0 0 93 16"
2531                fill="none"
2532                xmlns="http://www.w3.org/2000/svg"
2533              >
2534                <path d="M7.14303 2.15298C7.29271 1.69232 7.94442 1.69232 8.09409 2.15298L9.21678 5.60826C9.28372 5.81427 9.47569 5.95375 9.69231 5.95375H13.3254C13.8098 5.95375 14.0112 6.57356 13.6193 6.85826L10.6801 8.99374C10.5048 9.12106 10.4315 9.34675 10.4984 9.55276L11.6211 13.008C11.7708 13.4687 11.2435 13.8518 10.8517 13.5671L7.91246 11.4316C7.73721 11.3043 7.49991 11.3043 7.32467 11.4316L4.38543 13.5671C3.99358 13.8518 3.46634 13.4687 3.61601 13.008L4.7387 9.55276C4.80564 9.34674 4.73231 9.12106 4.55707 8.99374L1.61783 6.85826C1.22597 6.57356 1.42736 5.95375 1.91172 5.95375H5.54482C5.76143 5.95375 5.95341 5.81427 6.02035 5.60826L7.14303 2.15298Z" fill="#F6C344"></path>
2535                <path d="M26.5825 2.15298C26.7322 1.69232 27.3839 1.69232 27.5335 2.15298L28.6562 5.60826C28.7232 5.81427 28.9151 5.95375 29.1318 5.95375H32.7649C33.2492 5.95375 33.4506 6.57356 33.0588 6.85826L30.1195 8.99374C29.9443 9.12106 29.8709 9.34675 29.9379 9.55276L31.0606 13.008C31.2102 13.4687 30.683 13.8518 30.2911 13.5671L27.3519 11.4316C27.1767 11.3043 26.9394 11.3043 26.7641 11.4316L23.8249 13.5671C23.433 13.8518 22.9058 13.4687 23.0555 13.008L24.1782 9.55276C24.2451 9.34674 24.1718 9.12106 23.9965 8.99374L21.0573 6.85826C20.6654 6.57356 20.8668 5.95375 21.3512 5.95375H24.9843C25.2009 5.95375 25.3929 5.81427 25.4598 5.60826L26.5825 2.15298Z" fill="#F6C344"></path>
2536                <path d="M46.0239 2.15298C46.1736 1.69232 46.8253 1.69232 46.9749 2.15298L48.0976 5.60826C48.1646 5.81427 48.3566 5.95375 48.5732 5.95375H52.2063C52.6906 5.95375 52.892 6.57356 52.5002 6.85826L49.5609 8.99374C49.3857 9.12106 49.3123 9.34675 49.3793 9.55276L50.502 13.008C50.6516 13.4687 50.1244 13.8518 49.7326 13.5671L46.7933 11.4316C46.6181 11.3043 46.3808 11.3043 46.2055 11.4316L43.2663 13.5671C42.8744 13.8518 42.3472 13.4687 42.4969 13.008L43.6196 9.55276C43.6865 9.34674 43.6132 9.12106 43.4379 8.99374L40.4987 6.85826C40.1068 6.57356 40.3082 5.95375 40.7926 5.95375H44.4257C44.6423 5.95375 44.8343 5.81427 44.9012 5.60826L46.0239 2.15298Z" fill="#F6C344"></path>
2537                <path d="M65.4633 2.15298C65.613 1.69232 66.2647 1.69232 66.4144 2.15298L67.5371 5.60826C67.604 5.81427 67.796 5.95375 68.0126 5.95375H71.6457C72.1301 5.95375 72.3315 6.57356 71.9396 6.85826L69.0004 8.99374C68.8251 9.12106 68.7518 9.34675 68.8187 9.55276L69.9414 13.008C70.0911 13.4687 69.5639 13.8518 69.172 13.5671L66.2328 11.4316C66.0575 11.3043 65.8202 11.3043 65.645 11.4316L62.7057 13.5671C62.3139 13.8518 61.7866 13.4687 61.9363 13.008L63.059 9.55276C63.126 9.34674 63.0526 9.12106 62.8774 8.99374L59.9381 6.85826C59.5463 6.57356 59.7477 5.95375 60.232 5.95375H63.8651C64.0817 5.95375 64.2737 5.81427 64.3407 5.60826L65.4633 2.15298Z" fill="#F6C344"></path>
2538                <path d="M84.9067 2.15298C85.0564 1.69232 85.7081 1.69232 85.8578 2.15298L86.9805 5.60826C87.0474 5.81427 87.2394 5.95375 87.456 5.95375H91.0891C91.5734 5.95375 91.7748 6.57356 91.383 6.85826L88.4437 8.99374C88.2685 9.12106 88.1952 9.34675 88.2621 9.55276L89.3848 13.008C89.5345 13.4687 89.0072 13.8518 88.6154 13.5671L85.6761 11.4316C85.5009 11.3043 85.2636 11.3043 85.0883 11.4316L82.1491 13.5671C81.7572 13.8518 81.23 13.4687 81.3797 13.008L82.5024 9.55276C82.5693 9.34674 82.496 9.12106 82.3207 8.99374L79.3815 6.85826C78.9896 6.57356 79.191 5.95375 79.6754 5.95375H83.3085C83.5251 5.95375 83.7171 5.81427 83.784 5.60826L84.9067 2.15298Z" fill="#F6C344"></path>
2539              </svg>
2540            </div>
2541          </div>
2542        </div>
2543        <div class="ml-2 text-left">
2544          <p class="text-sm text-black font-semibold mb-1">Chebe Co-Wash</p>
2545          <p
2546            data-4oz-id="44662144729266"
2547            data-8oz-id="44662144762034"
2548            data-4ozprice="$12"
2549            data-8ozprice="$16"
2550            data-unsub4ozprice="$15"
2551            data-unsub8ozprice="$20"
2552            class="productBuyCardPrice text-sm text-black font-semibold mb-2"
2553          >
2554            $20
2555          </p>
2556          <p class="text-xs text-[#403F36] font-normal">
2557            Gently cleanse and condition your hair with our Chebe Co-Wash,
2558            perfect for maintaining softness.
2559          </p>
2560        </div>
2561      </div>
2562      <div class="productOptSubToggle mt-5 flex items-center justify-between w-full">
2563        <div>
2564          <p class="text-black font-bold text-sm opacity-80">
2565            Subscribe &amp; Save 20% (-$4)
2566          </p>
2567          <p class="text-[10px] text-[#777] font-medium -mt-[6px] text-left">
2568            Cancel anytime | No questions asked
2569          </p>
2570        </div>
2571
2572        <label class="productOptSubTogglePeer relative inline-flex items-center cursor-pointer">
2573          <input
2574            data-line="1"
2575            type="checkbox"
2576            value=""
2577            onchange="togglePeer(this)"
2578            checked=""
2579            class="sr-only peer"
2580          >
2581          <div
2582            class="w-12 h-7 bg-[#F7F5F1] peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:bg-[#777] after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-[#00634F] peer-checked:after:bg-[#FFF]"
2583          ></div>
2584        </label>
2585      </div>
2586      <div class="flex items-center justify-between mt-2 gap-x-2">
2587        <div class="productOptSelector relative w-[23%]">
2588          <div
2589            class="productOptSelected w-full py-2 px-3 flex items-center justify-between rounded-[6px] border border-[#
2589ECEAE5] cursor-pointer hover:border-[#777]"
2590            onclick="ToggleProductOpt(this)"
2591          >
2592            <p class="text-black text-sm font-medium">8oz</p>
2593
2594            <img
2595              src="//chebeauty.com/cdn/shop/t/143/assets/expand_more.webp?v=11573335225778024281747819638"
2596              class="w-[24px] h-[24px] pointer-events-none expand-black"
2597              alt="expand arrow"
2598            >
2599          </div>
2600          <div
2601            class="productOptOptions  flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] py-4 px-3 rounded-[6px] mt-2 bg-white"
2602            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
2603          >
2604            <div
2605              onclick="SelectProductOpt(this)"
2606              class="cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
2607              data-variant-id="44662144729266"
2608              data-handle="co-wash"
2609              data-variant-title="4oz"
2610            >
2611              <p class="text-sm text-black font-medium">4oz</p>
2612              <img
2613                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2614                class="w-[18px] h-[18px]"
2615                alt="expand arrow"
2616              >
2617            </div>
2618
2619            <div
2620              onclick="SelectProductOpt(this)"
2621              class="active cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
2622              data-variant-id="44662144762034"
2623              data-handle="co-wash"
2624              data-variant-title="8oz"
2625            >
2626              <p class="text-sm text-black font-medium">8oz</p>
2627              <img
2628                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2629                class="w-[18px] h-[18px]"
2630                alt="expand arrow"
2631              >
2632            </div>
2633          </div>
2634        </div>
2635        <div
2636          class="productOptSelectorSellingPlans relative w-[75%]"
2637          style="display: block;"
2638        >
2639          <div
2640            onclick="TogglePlansOpt(this)"
2641            class="productOptSelectorSellingPlansSelected w-full p-2 md:px-[10px] flex items-center justify-between rounded-[6px] border border-[#ECEAE5] cursor-pointer hover:border-[#777]"
2642          >
2643            <p>
2644              <span class="text-black font-semibold text-xs md:text-sm"
2645                >1 Month |
2646              </span>
2647              <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2648                >If used twice a week</span
2649              >
2650            </p>
2651
2652            <img
2653              src="//chebeauty.com/cdn/shop/t/143/assets/expand_more.webp?v=11573335225778024281747819638"
2654              class="w-[24px] h-[24px] pointer-events-none expand-black"
2655              alt="expand arrow"
2656            >
2657          </div>
2658          <div
2659            class="productOptSelectorSellingPlansOptions flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] p-2 md:px-[10px] md:pt-5 md:pb-[18px] rounded-[6px] mt-2 bg-white"
2660            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
2661          >
2662            <div
2663              onclick="SelectPlanOpt(this)"
2664              data-index="2097348786"
2665              class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
2666            >
2667              <p>
2668                <span class="text-black font-semibold text-xs md:text-sm"
2669                  >1 Week |
2670                </span>
2671                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2672                  >If used 3-4 times week</span
2673                >
2674              </p>
2675              <img
2676                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2677                class="w-[18px] h-[18px]"
2678                alt="expand arrow"
2679              >
2680            </div>
2681
2682            <div
2683              onclick="SelectPlanOpt(this)"
2684              data-index="2097381554"
2685              class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
2686            >
2687              <p>
2688                <span class="text-black font-semibold text-xs md:text-sm"
2689                  >2 Weeks |
2690                </span>
2691                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2692                  >If used twice a week</span
2693                >
2694              </p>
2695              <img
2696                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2697                class="w-[18px] h-[18px]"
2698                alt="expand arrow"
2699              >
2700            </div>
2701
2702            <div
2703              onclick="SelectPlanOpt(this)"
2704              data-index="2097414322"
2705              class="variant-4oz productOptSelectorSellingPlansOption active cursor-pointer"
2706            >
2707              <p>
2708                <span class="text-black font-semibold text-xs md:text-sm"
2709                  >1 Month |
2710                </span>
2711                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2712                  >If used once a week</span
2713                >
2714              </p>
2715              <img
2716                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2717                class="w-[18px] h-[18px]"
2718                alt="expand arrow"
2719              >
2720            </div>
2721
2722            <div
2723              onclick="SelectPlanOpt(this)"
2724              data-index="2097381554"
2725              class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
2726            >
2727              <p>
2728                <span class="text-black font-semibold text-xs md:text-sm"
2729                  >2 Weeks |
2730                </span>
2731                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2732                  >If used 3-4 times week</span
2733                >
2734              </p>
2735              <img
2736                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2737                class="w-[18px] h-[18px]"
2738                alt="expand arrow"
2739              >
2740            </div>
2741
2742            <div
2743              onclick="SelectPlanOpt(this)"
2744              data-index="2097414322"
2745              class="variant-8oz productOptSelectorSellingPlansOption active-var active cursor-pointer"
2746            >
2747              <p>
2748                <span class="text-black font-semibold text-xs md:text-sm"
2749                  >1 Month |
2750                </span>
2751                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2752                  >If used twice a week</span
2753                >
2754              </p>
2755              <img
2756                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2757                class="w-[18px] h-[18px]"
2758                alt="expand arrow"
2759              >
2760            </div>
2761
2762            <div
2763              onclick="SelectPlanOpt(this)"
2764              data-index="2097447090"
2765              class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
2766            >
2767              <p>
2768                <span class="text-black font-semibold text-xs md:text-sm"
2769                  >2 Months |
2770                </span>
2771                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
2772                  >If used once a week</span
2773                >
2774              </p>
2775              <img
2776                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
2777                class="w-[18px] h-[18px]"
2778                alt="expand arrow"
2779              >
2780            </div>
2781          </div>
2782        </div>
2783      </div>
2784    </div>
2785    <button class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart">
2786      <span>Add to Cart</span>
2787      <svg
2788        aria-hidden="true"
2789        class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
2790        viewBox="0 0 100 101"
2791        fill="none"
2792        xmlns="http://www.w3.org/2000/svg"
2793      >
2794        <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36"></path>
2795        <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632"></path>
2796      </svg>
2797      <span class="sr-only">Loading...</span>
2798    </button>
2799
2800    <div
2801      class="works-best-popup hidden absolute top-[-14em] 2xl:top-[-14em] left-0 w-full bg-gray-100 border border-gray-300 px-3 py-4 flex flex-col items-center gap-3 rounded-[10px]"
2802      style="box-shadow: 0px 3px 20px rgb(0 0 0 / 15%)"
2803    >
2804      <svg
2805        class="works-best-close-btn absolute right-3 top-3"
2806        width="12"
2807        height="12"
2808        viewBox="0 0 12 12"
2809        fill="none"
2810        xmlns="http://www.w3.org/2000/svg"
2811      >
2812        <path d="M1 11L11 1" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
2813        <path d="M11 11L1 1" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
2814      </svg>
2815
2816      <h5 class="text-lg font-body font-bold">This product works best with</h5>
2817
2818      <div
2819        class="flex flex-col gap-3 max-h-[10em] md:max-h-[12em] overflow-auto"
2820      ></div>
2821
2822      <svg
2823        class="absolute bottom-[-17px] left-[48%]"
2824        width="20"
2825        height="22"
2826        viewBox="0 0 20 22"
2827        fill="none"
2828        xmlns="http://www.w3.org/2000/svg"
2829      >
2830        <path d="M10 20L1.33975 5L18.6603 5L10 20Z" fill="#F7F5F1"></path>
2831        <path d="M1.5 5L10 20L18.5 5" stroke="#DCD9D4"></path>
2832      </svg>
2833    </div>
2834  </div>
2835</div>
2836
2837                        
2838                    
2839                      
2840                        
2841                          
2842
2843
2844
2845<div
2846  class="bg-white  ab_bc_offset  border border-solid border-[#ECEAE5] rounded-[10px] p-2 mx-auto relative embla__slide product_opt_wrapper"
2847  data-product-id="7470513193138"
2848>
2849  <div class="custom-upsell-product-data-wrapper">
2850    <div class="flex items-start">
2851      <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
2852        <div
2853          class="absolute inset-0"
2854          style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
2855        ></div>
2856        <img
2857          class="w-full h-full object-contain"
2858          src="//chebeauty.com/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12_300x300.gif"
2859          alt="Chebe Hair Butter"
2860          loading="lazy"
2861          fetchpriority="low"
2862        >
2863        <div class="absolute left-2 bottom-2 md:bottom-2">
2864          
2865            <div class="flex items-start flex-col-reverse justify-start gap-1">
2866              <p class="text-left text-white text-[10px] font-medium">
2867                25,000+ Happy Customers
2868              </p>
2869              <svg
2870                width="93"
2871                height="16"
2872                viewBox="0 0 93 16"
2873                fill="none"
2874                xmlns="http://www.w3.org/2000/svg"
2875              >
2876                <path d="M7.14303 2.15298C7.29271 1.69232 7.94442 1.69232 8.09409 2.15298L9.21678 5.60826C9.28372 5.81427 9.47569 5.95375 9.69231 5.95375H13.3254C13.8098 5.95375 14.0112 6.57356 13.6193 6.85826L10.6801 8.99374C10.5048 9.12106 10.4315 9.34675 10.4984 9.55276L11.6211 13.008C11.7708 13.4687 11.2435 13.8518 10.8517 13.5671L7.91246 11.4316C7.73721 11.3043 7.49991 11.3043 7.32467 11.4316L4.38543 13.5671C3.99358 13.8518 3.46634 13.4687 3.61601 13.008L4.7387 9.55276C4.80564 9.34674 4.73231 9.12106 4.55707 8.99374L1.61783 6.85826C1.22597 6.57356 1.42736 5.95375 1.91172 5.95375H5.54482C5.76143 5.95375 5.95341 5.81427 6.02035 5.60826L7.14303 2.15298Z" fill="#F6C344" />
2877                <path d="M26.5825 2.15298C26.7322 1.69232 27.3839 1.69232 27.5335 2.15298L28.6562 5.60826C28.7232 5.81427 28.9151 5.95375 29.1318 5.95375H32.7649C33.2492 5.95375 33.4506 6.57356 33.0588 6.85826L30.1195 8.99374C29.9443 9.12106 29.8709 9.34675 29.9379 9.55276L31.0606 13.008C31.2102 13.4687 30.683 13.8518 30.2911 13.5671L27.3519 11.4316C27.1767 11.3043 26.9394 11.3043 26.7641 11.4316L23.8249 13.5671C23.433 13.8518 22.9058 13.4687 23.0555 13.008L24.1782 9.55276C24.2451 9.34674 24.1718 9.12106 23.9965 8.99374L21.0573 6.85826C20.6654 6.57356 20.8668 5.95375 21.3512 5.95375H24.9843C25.2009 5.95375 25.3929 5.81427 25.4598 5.60826L26.5825 2.15298Z" fill="#F6C344" />
2878                <path d="M46.0239 2.15298C46.1736 1.69232 46.8253 1.69232 46.9749 2.15298L48.0976 5.60826C48.1646 5.81427 48.3566 5.95375 48.5732 5.95375H52.2063C52.6906 5.95375 52.892 6.57356 52.5002 6.85826L49.5609 8.99374C49.3857 9.12106 49.3123 9.34675 49.3793 9.55276L50.502 13.008C50.6516 13.4687 50.1244 13.8518 49.7326 13.5671L46.7933 11.4316C46.6181 11.3043 46.3808 11.3043 46.2055 11.4316L43.2663 13.5671C42.8744 13.8518 42.3472 13.4687 42.4969 13.008L43.6196 9.55276C43.6865 9.34674 43.6132 9.12106 43.4379 8.99374L40.4987 6.85826C40.1068 6.57356 40.3082 5.95375 40.7926 5.95375H44.4257C44.6423 5.95375 44.8343 5.81427 44.9012 5.60826L46.0239 2.15298Z" fill="#F6C344" />
2879                <path d="M65.4633 2.15298C65.613 1.69232 66.2647 1.69232 66.4144 2.15298L67.5371 5.60826C67.604 5.81427 67.796 5.95375 68.0126 5.95375H71.6457C72.1301 5.95375 72.3315 6.57356 71.9396 6.85826L69.0004 8.99374C68.8251 9.12106 68.7518 9.34675 68.8187 9.55276L69.9414 13.008C70.0911 13.4687 69.5639 13.8518 69.172 13.5671L66.2328 11.4316C66.0575 11.3043 65.8202 11.3043 65.645 11.4316L62.7057 13.5671C62.3139 13.8518 61.7866 13.4687 61.9363 13.008L63.059 9.55276C63.126 9.34674 63.0526 9.12106 62.8774 8.99374L59.9381 6.85826C59.5463 6.57356 59.7477 5.95375 60.232 5.95375H63.8651C64.0817 5.95375 64.2737 5.81427 64.3407 5.60826L65.4633 2.15298Z" fill="#F6C344" />
2880                <path d="M84.9067 2.15298C85.0564 1.69232 85.7081 1.69232 85.8578 2.15298L86.9805 5.60826C87.0474 5.81427 87.2394 5.95375 87.456 5.95375H91.0891C91.5734 5.95375 91.7748 6.57356 91.383 6.85826L88.4437 8.99374C88.2685 9.12106 88.1952 9.34675 88.2621 9.55276L89.3848 13.008C89.5345 13.4687 89.0072 13.8518 88.6154 13.5671L85.6761 11.4316C85.5009 11.3043 85.2636 11.3043 85.0883 11.4316L82.1491 13.5671C81.7572 13.8518 81.23 13.4687 81.3797 13.008L82.5024 9.55276C82.5693 9.34674 82.496 9.12106 82.3207 8.99374L79.3815 6.85826C78.9896 6.57356 79.191 5.95375 79.6754 5.95375H83.3085C83.5251 5.95375 83.7171 5.81427 83.784 5.60826L84.9067 2.15298Z" fill="#F6C344" />
2881              </svg>
2882            </div>
2883          
2884        </div>
2885      </div>
2886      <div class="ml-2 text-left">
2887        <p class="text-sm text-black font-semibold mb-1">Chebe Hair Butter</p>
2888        <p
2889          data-4oz-id="42447567356082"
2890          data-8oz-id="42447567388850"
2891          data-4ozPrice="$12.80"
2892          data-8ozPrice="$16"
2893          data-unsub4ozPrice="$16"
2894          data-unsub8ozPrice="$20"
2895          
2896          class="productBuyCardPrice text-sm text-black font-semibold mb-2"
2897        >
2898          
2899            $20
2900        </p>
2901        <p class="text-xs text-[#403F36] font-normal">
2902          Moisturize, strengthen and grow your hair with our flagship hair mask.
2903        </p>
2904      </div>
2905    </div>
2906    <div class="productOptSubToggle mt-5 flex items-center justify-between w-full">
2907      <div>
2908        <p class="text-black font-bold text-sm opacity-80">
2909          Subscribe & Save 20% (-$4)
2910        </p>
2911        <p class="text-[10px] text-[#777] font-medium -mt-[6px] text-left">
2912          Cancel anytime | No questions asked
2913        </p>
2914      </div>
2915
2916      
2917      
2918
2919      <label class="productOptSubTogglePeer relative inline-flex items-center cursor-pointer">
2920        <input
2921          data-line="1"
2922          type="checkbox"
2923          value=""
2924          onchange="togglePeer(this)"
2925          
2926          class="sr-only peer"
2927        >
2928        <div
2929          class="w-12 h-7 bg-[#F7F5F1] peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:bg-[#777] after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-[#00634F] peer-checked:after:bg-[#FFF]"
2930        ></div>
2931      </label>
2932    </div>
2933    <div class="flex items-center justify-between mt-2 gap-x-2">
2934      <div class="productOptSelector relative w-[23%]">
2935        <div
2936          class="productOptSelected w-full py-2 px-3 flex items-center justify-between rounded-[6px] border border-[#
2936ECEAE5] cursor-pointer hover:border-[#777]"
2937          onclick="ToggleProductOpt(this)"
2938        >
2939          
2940            <p class="text-black text-sm font-medium">
2941              8oz
2942            </p>
2943          
2944          <img
2945  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
2946  class="w-[24px] h-[24px] pointer-events-none expand-black"
2947  alt="expand arrow">
2948        </div>
2949        <div
2950          class="productOptOptions  flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] py-4 px-3 rounded-[6px] mt-2 bg-white"
2951          style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
2952        >
2953          
2954            
2955            <div
2956              onclick="SelectProductOpt(this)"
2957              class="cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
2958              data-variant-id="42447567356082"
2959              data-handle="chebe-hair-butter"
2960              data-variant-title="4oz"
2961            >
2962              <p class="text-sm text-black font-medium">4oz</p>
2963              <img
2964  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
2965  class="w-[18px] h-[18px]"
2966  alt="expand arrow">
2967            </div>
2968          
2969            
2970            <div
2971              onclick="SelectProductOpt(this)"
2972              class="active cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
2973              data-variant-id="42447567388850"
2974              data-handle="chebe-hair-butter"
2975              data-variant-title="8oz"
2976            >
2977              <p class="text-sm text-black font-medium">8oz</p>
2978              <img
2979  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
2980  class="w-[18px] h-[18px]"
2981  alt="expand arrow">
2982            </div>
2983          
2984            
2985            <div
2986              onclick="SelectProductOpt(this)"
2987              class="cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
2988              data-variant-id="43292577956018"
2989              data-handle="chebe-hair-butter"
2990              data-variant-title="2oz"
2991            >
2992              <p class="text-sm text-black font-medium">2oz</p>
2993              <img
2994  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
2995  class="w-[18px] h-[18px]"
2996  alt="expand arrow">
2997            </div>
2998          
2999        </div>
3000      </div>
3001      <div
3002        class="productOptSelectorSellingPlans relative w-[75%]"
3003        style="display: none;"
3004      >
3005        <div
3006          onclick="TogglePlansOpt(this)"
3007          class="productOptSelectorSellingPlansSelected w-full p-2 md:px-[10px] flex items-center justify-between rounded-[6px] border border-[#ECEAE5] cursor-pointer hover:border-[#777]"
3008        >
3009          
3010            
3011          
3012            
3013          
3014            
3015              
3016              <p>
3017                <span class="text-black font-semibold text-xs md:text-sm"
3018                  >1 Month |
3019                </span>
3020                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3021                  >If used
3022                  twice a week</span>
3023              </p>
3024            
3025          
3026            
3027          
3028          <img
3029  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
3030  class="w-[24px] h-[24px] pointer-events-none expand-black"
3031  alt="expand arrow">
3032        </div>
3033        <div
3034          class="productOptSelectorSellingPlansOptions flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] p-2 md:px-[10px] md:pt-5 md:pb-[18px] rounded-[6px] mt-2 bg-white"
3035          style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
3036        >
3037          
3038            
3039              
3040              
3041                
3042                <div
3043                  onclick="SelectPlanOpt(this)"
3044                  data-index="2595553458"
3045                  class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
3046                >
3047                  <p>
3048                    
3049                      <span class="text-black font-semibold text-xs md:text-sm"
3050                        >1 Week |
3051                      </span>
3052                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3053                        >If used
3054                        3-4 times week</span>
3055                    
3056                  </p>
3057                  <img
3058  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3059  class="w-[18px] h-[18px]"
3060  alt="expand arrow">
3061                </div>
3062              
3063            
3064              
3065              
3066                
3067                <div
3068                  onclick="SelectPlanOpt(this)"
3069                  data-index="2595586226"
3070                  class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
3071                >
3072                  <p>
3073                    
3074                      <span class="text-black font-semibold text-xs md:text-sm"
3075                        >2 Weeks |
3076                      </span>
3077                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3078                        >If used
3079                        twice a week</span>
3080                    
3081                  </p>
3082                  <img
3083  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3084  class="w-[18px] h-[18px]"
3085  alt="expand arrow">
3086                </div>
3087              
3088            
3089              
3090              
3091                
3092                <div
3093                  onclick="SelectPlanOpt(this)"
3094                  data-index="2595618994"
3095                  class="variant-4oz productOptSelectorSellingPlansOption active cursor-pointer"
3096                >
3097                  <p>
3098                    
3099                      <span class="text-black font-semibold text-xs md:text-sm"
3100                        >1 Month |
3101                      </span>
3102                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3103                        >If used
3104                        once a week</span>
3105                    
3106                  </p>
3107                  <img
3108  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3109  class="w-[18px] h-[18px]"
3110  alt="expand arrow">
3111                </div>
3112              
3113            
3114              
3115              
3116            
3117          
3118            
3119              
3120              
3121            
3122              
3123              
3124                
3125                <div
3126                  onclick="SelectPlanOpt(this)"
3127                  data-index="2595586226"
3128                  class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
3129                >
3130                  <p>
3131                    
3132                      <span class="text-black font-semibold text-xs md:text-sm"
3133                        >2 Weeks |
3134                      </span>
3135                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3136                        >If used
3137                        3-4 times week</span>
3138                    
3139                  </p>
3140                  <img
3141  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3142  class="w-[18px] h-[18px]"
3143  alt="expand arrow">
3144                </div>
3145              
3146            
3147              
3148              
3149                
3150                <div
3151                  onclick="SelectPlanOpt(this)"
3152                  data-index="2595618994"
3153                  class="variant-8oz productOptSelectorSellingPlansOption active-var active cursor-pointer"
3154                >
3155                  <p>
3156                    
3157                      <span class="text-black font-semibold text-xs md:text-sm"
3158                        >1 Month |
3159                      </span>
3160                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3161                        >If used
3162                        twice a week</span>
3163                    
3164                  </p>
3165                  <img
3166  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3167  class="w-[18px] h-[18px]"
3168  alt="expand arrow">
3169                </div>
3170              
3171            
3172              
3173              
3174                
3175                <div
3176                  onclick="SelectPlanOpt(this)"
3177                  data-index="2595651762"
3178                  class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
3179                >
3180                  <p>
3181                    
3182                      <span class="text-black font-semibold text-xs md:text-sm"
3183                        >2 Months |
3184                      </span>
3185                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3186                        >If used
3187                        once a week</span>
3188                    
3189                  </p>
3190                  <img
3191  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3192  class="w-[18px] h-[18px]"
3193  alt="expand arrow">
3194                </div>
3195              
3196            
3197          
3198            
3199              
3200              
3201                
3202                <div
3203                  onclick="SelectPlanOpt(this)"
3204                  data-index="2595553458"
3205                  class="variant-2oz productOptSelectorSellingPlansOption cursor-pointer"
3206                >
3207                  <p>
3208                    
3209                      <span class="text-black font-semibold text-xs md:text-sm"
3210                        >1 Week |
3211                      </span>
3212                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3213                        >If used
3214                        3-4 times week</span>
3215                    
3216                  </p>
3217                  <img
3218  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3219  class="w-[18px] h-[18px]"
3220  alt="expand arrow">
3221                </div>
3222              
3223            
3224              
3225              
3226                
3227                <div
3228                  onclick="SelectPlanOpt(this)"
3229                  data-index="2595586226"
3230                  class="variant-2oz productOptSelectorSellingPlansOption cursor-pointer"
3231                >
3232                  <p>
3233                    
3234                      <span class="text-black font-semibold text-xs md:text-sm"
3235                        >2 Weeks |
3236                      </span>
3237                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3238                        >If used
3239                        twice a week</span>
3240                    
3241                  </p>
3242                  <img
3243  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3244  class="w-[18px] h-[18px]"
3245  alt="expand arrow">
3246                </div>
3247              
3248            
3249              
3250              
3251                
3252                <div
3253                  onclick="SelectPlanOpt(this)"
3254                  data-index="2595618994"
3255                  class="variant-2oz productOptSelectorSellingPlansOption active cursor-pointer"
3256                >
3257                  <p>
3258                    
3259                      <span class="text-black font-semibold text-xs md:text-sm"
3260                        >1 Month |
3261                      </span>
3262                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3263                        >If used
3264                        once a week</span>
3265                    
3266                  </p>
3267                  <img
3268  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3269  class="w-[18px] h-[18px]"
3270  alt="expand arrow">
3271                </div>
3272              
3273            
3274              
3275              
3276            
3277          
3278        </div>
3279      </div>
3280    </div>
3281  </div>
3282  <button class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart">
3283    <span>Add to Cart</span>
3284    <svg
3285      aria-hidden="true"
3286      class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
3287      viewBox="0 0 100 101"
3288      fill="none"
3289      xmlns="http://www.w3.org/2000/svg"
3290    >
3291      <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36" />
3292      <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.
32921071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632" />
3293    </svg>
3294    <span class="sr-only">Loading...</span>
3295  </button>
3296
3297  <div
3298    class="works-best-popup hidden absolute top-[-14em] 2xl:top-[-14em]  left-0 w-full bg-gray-100 border border-gray-300 px-3 py-4 flex flex-col items-center gap-3 rounded-[10px]"
3299    style="box-shadow: 0px 3px 20px rgb(0 0 0 / 15%)"
3300  >
3301    <svg
3302      class="works-best-close-btn absolute right-3 top-3"
3303      width="12"
3304      height="12"
3305      viewBox="0 0 12 12"
3306      fill="none"
3307      xmlns="http://www.w3.org/2000/svg"
3308    >
3309      <path
3310        d="M1 11L11 1"
3311        stroke="black"
3312        stroke-width="1.5"
3313        stroke-linecap="round"
3314        stroke-linejoin="round" />
3315      <path
3316        d="M11 11L1 1"
3317        stroke="black"
3318        stroke-width="1.5"
3319        stroke-linecap="round"
3320        stroke-linejoin="round" />
3321    </svg>
3322
3323    <h5 class="text-lg font-body font-bold">This product works best with</h5>
3324
3325    <div class="flex flex-col gap-3 max-h-[10em] md:max-h-[12em] overflow-auto">
3326      
3327        <div class="flex items-center gap-[1.5em] bg-white p-2 rounded-[8px]">
3328          <img
3329            class="w-[45px] h-[45px] object-contain"
3330            src="//chebeauty.com/cdn/shop/files/Chebe_Shampoo_1_300x300.webp?v=1748876622"
3331            alt=""
3332            loading="lazy"
3333          >
3334          <div>
3335            <h6 class="text-sm font-body font-bold">
3336              Chebe Shampoo
3337            </h6>
3338            <ul class="list-disc text-black text-[11px] font-medium">
3339              
3340            </ul>
3341          </div>
3342        </div>
3343      
3344        <div class="flex items-center gap-[1.5em] bg-white p-2 rounded-[8px]">
3345          <img
3346            class="w-[45px] h-[45px] object-contain"
3347            src="//chebeauty.com/cdn/shop/files/Leave-in_Conditioner_1_0f8cc42a-f5fa-4647-8993-0e5b39065a9b_300x300.webp?v=1748876653"
3348            alt=""
3349            loading="lazy"
3350          >
3351          <div>
3352            <h6 class="text-sm font-body font-bold">
3353              Chebe Leave-In Conditioner
3354            </h6>
3355            <ul class="list-disc text-black text-[11px] font-medium">
3356              
3357            </ul>
3358          </div>
3359        </div>
3360      
3361        <div class="flex items-center gap-[1.5em] bg-white p-2 rounded-[8px]">
3362          <img
3363            class="w-[45px] h-[45px] object-contain"
3364            src="//chebeauty.com/cdn/shop/files/Chebe_Hair_Oil_1_300x300.webp?v=1748766478"
3365            alt=""
3366            loading="lazy"
3367          >
3368          <div>
3369            <h6 class="text-sm font-body font-bold">
3370              Chebe Hair Oil
3371            </h6>
3372            <ul class="list-disc text-black text-[11px] font-medium">
3373              
3374            </ul>
3375          </div>
3376        </div>
3377      
3378    </div>
3379
3380    <svg
3381      class="absolute bottom-[-17px] left-[48%]"
3382      width="20"
3383      height="22"
3384      viewBox="0 0 20 22"
3385      fill="none"
3386      xmlns="http://www.w3.org/2000/svg"
3387    >
3388      <path d="M10 20L1.33975 5L18.6603 5L10 20Z" fill="#F7F5F1" />
3389      <path d="M1.5 5L10 20L18.5 5" stroke="#DCD9D4" />
3390    </svg>
3391  </div>
3392</div>
3393
3394                        
3395                    
3396                      
3397                        
3398                          
3399
3400
3401  <style>
3402    .ab_bc_offset .productOptOptions.optOptionDisplayAnyway .cart-product-opt:last-child {
3403      display: flex !important;
3404    }
3405  </style>
3406
3407
3408<div
3409  class="bg-white  ab_bc_offset  border border-solid border-[#ECEAE5] rounded-[10px] p-2 mx-auto relative embla__slide product_opt_wrapper"
3410  data-product-id="7470527545522"
3411>
3412  <div class="custom-upsell-product-data-wrapper">
3413    <div class="flex items-start">
3414      <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
3415        <div
3416          class="absolute inset-0"
3417          style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
3418        ></div>
3419        <img
3420          class="w-full h-full object-contain"
3421          src="//chebeauty.com/cdn/shop/files/Chebe_Hair_Oil_1_300x300.webp?v=1748766478"
3422          alt="Chebe Hair Oil"
3423          loading="lazy"
3424          fetchpriority="low"
3425        >
3426        <div class="absolute left-2 bottom-2 md:bottom-2">
3427          
3428            <div class="flex items-start flex-col-reverse justify-start gap-1">
3429              <p class="text-left text-white text-[10px] font-medium">
3430                11,000+ Happy Customers
3431              </p>
3432              <svg
3433                width="93"
3434                height="16"
3435                viewBox="0 0 93 16"
3436                fill="none"
3437                xmlns="http://www.w3.org/2000/svg"
3438              >
3439                <path d="M7.14303 2.15298C7.29271 1.69232 7.94442 1.69232 8.09409 2.15298L9.21678 5.60826C9.28372 5.81427 9.47569 5.95375 9.69231 5.95375H13.3254C13.8098 5.95375 14.0112 6.57356 13.6193 6.85826L10.6801 8.99374C10.5048 9.12106 10.4315 9.34675 10.4984 9.55276L11.6211 13.008C11.7708 13.4687 11.2435 13.8518 10.8517 13.5671L7.91246 11.4316C7.73721 11.3043 7.49991 11.3043 7.32467 11.4316L4.38543 13.5671C3.99358 13.8518 3.46634 13.4687 3.61601 13.008L4.7387 9.55276C4.80564 9.34674 4.73231 9.12106 4.55707 8.99374L1.61783 6.85826C1.22597 6.57356 1.42736 5.95375 1.91172 5.95375H5.54482C5.76143 5.95375 5.95341 5.81427 6.02035 5.60826L7.14303 2.15298Z" fill="#F6C344" />
3440                <path d="M26.5825 2.15298C26.7322 1.69232 27.3839 1.69232 27.5335 2.15298L28.6562 5.60826C28.7232 5.81427 28.9151 5.95375 29.1318 5.95375H32.7649C33.2492 5.95375 33.4506 6.57356 33.0588 6.85826L30.1195 8.99374C29.9443 9.12106 29.8709 9.34675 29.9379 9.55276L31.0606 13.008C31.2102 13.4687 30.683 13.8518 30.2911 13.5671L27.3519 11.4316C27.1767 11.3043 26.9394 11.3043 26.7641 11.4316L23.8249 13.5671C23.433 13.8518 22.9058 13.4687 23.0555 13.008L24.1782 9.55276C24.2451 9.34674 24.1718 9.12106 23.9965 8.99374L21.0573 6.85826C20.6654 6.57356 20.8668 5.95375 21.3512 5.95375H24.9843C25.2009 5.95375 25.3929 5.81427 25.4598 5.60826L26.5825 2.15298Z" fill="#F6C344" />
3441                <path d="M46.0239 2.15298C46.1736 1.69232 46.8253 1.69232 46.9749 2.15298L48.0976 5.60826C48.1646 5.81427 48.3566 5.95375 48.5732 5.95375H52.2063C52.6906 5.95375 52.892 6.57356 52.5002 6.85826L49.5609 8.99374C49.3857 9.12106 49.3123 9.34675 49.3793 9.55276L50.502 13.008C50.6516 13.4687 50.1244 13.8518 49.7326 13.5671L46.7933 11.4316C46.6181 11.3043 46.3808 11.3043 46.2055 11.4316L43.2663 13.5671C42.8744 13.8518 42.3472 13.4687 42.4969 13.008L43.6196 9.55276C43.6865 9.34674 43.6132 9.12106 43.4379 8.99374L40.4987 6.85826C40.1068 6.57356 40.3082 5.95375 40.7926 5.95375H44.4257C44.6423 5.95375 44.8343 5.81427 44.9012 5.60826L46.0239 2.15298Z" fill="#F6C344" />
3442                <path d="M65.4633 2.15298C65.613 1.69232 66.2647 1.69232 66.4144 2.15298L67.5371 5.60826C67.604 5.81427 67.796 5.95375 68.0126 5.95375H71.6457C72.1301 5.95375 72.3315 6.57356 71.9396 6.85826L69.0004 8.99374C68.8251 9.12106 68.7518 9.34675 68.8187 9.55276L69.9414 13.008C70.0911 13.4687 69.5639 13.8518 69.172 13.5671L66.2328 11.4316C66.0575 11.3043 65.8202 11.3043 65.645 11.4316L62.7057 13.5671C62.3139 13.8518 61.7866 13.4687 61.9363 13.008L63.059 9.55276C63.126 9.34674 63.0526 9.12106 62.8774 8.99374L59.9381 6.85826C59.5463 6.57356 59.7477 5.95375 60.232 5.95375H63.8651C64.0817 5.95375 64.2737 5.81427 64.3407 5.60826L65.4633 2.15298Z" fill="#F6C344" />
3443                <path d="M84.9067 2.15298C85.0564 1.69232 85.7081 1.69232 85.8578 2.15298L86.9805 5.60826C87.0474 5.81427 87.2394 5.95375 87.456 5.95375H91.0891C91.5734 5.95375 91.7748 6.57356 91.383 6.85826L88.4437 8.99374C88.2685 9.12106 88.1952 9.34675 88.2621 9.55276L89.3848 13.008C89.5345 13.4687 89.0072 13.8518 88.6154 13.5671L85.6761 11.4316C85.5009 11.3043 85.2636 11.3043 85.0883 11.4316L82.1491 13.5671C81.7572 13.8518 81.23 13.4687 81.3797 13.008L82.5024 9.55276C82.5693 9.34674 82.496 9.12106 82.3207 8.99374L79.3815 6.85826C78.9896 6.57356 79.191 5.95375 79.6754 5.95375H83.3085C83.5251 5.95375 83.7171 5.81427 83.784 5.60826L84.9067 2.15298Z" fill="#F6C344" />
3444              </svg>
3445            </div>
3446          
3447        </div>
3448      </div>
3449      <div class="ml-2 text-left">
3450        <p class="text-sm text-black font-semibold mb-1">Chebe Hair Oil</p>
3451        <p
3452          data-4oz-id="42447594750130"
3453          data-8oz-id="42447594782898"
3454          data-4ozPrice="$9.60"
3455          data-8ozPrice="$16"
3456          data-unsub4ozPrice="$12"
3457          data-unsub8ozPrice="$20"
3458          
3459            data-2oz-id="43669404418226"
3460            data-2ozPrice="$8"
3461            data-unsub2ozPrice="$10"
3462          
3463          class="productBuyCardPrice text-sm text-black font-semibold mb-2"
3464        >
3465          
3466            $12
3467          
3468        </p>
3469        <p class="text-xs text-[#403F36] font-normal">
3470          Rejuvenate your hair with deep moisturization to protect it from breakage and split ends.
3471        </p>
3472      </div>
3473    </div>
3474    <div class="productOptSubToggle mt-5 flex items-center justify-between w-full">
3475      <div>
3476        <p class="text-black font-bold text-sm opacity-80">
3477          Subscribe & Save 20% (-$4)
3478        </p>
3479        <p class="text-[10px] text-[#777] font-medium -mt-[6px] text-left">
3480          Cancel anytime | No questions asked
3481        </p>
3482      </div>
3483
3484      
3485      
3486
3487      <label class="productOptSubTogglePeer relative inline-flex items-center cursor-pointer">
3488        <input
3489          data-line="1"
3490          type="checkbox"
3491          value=""
3492          onchange="togglePeer(this)"
3493          
3494          class="sr-only peer"
3495        >
3496        <div
3497          class="w-12 h-7 bg-[#F7F5F1] peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:bg-[#777] after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-[#00634F] peer-checked:after:bg-[#FFF]"
3498        ></div>
3499      </label>
3500    </div>
3501    <div class="flex items-center justify-between mt-2 gap-x-2">
3502      <div class="productOptSelector relative w-[23%]">
3503        <div
3504          class="productOptSelected w-full py-2 px-3 flex items-center justify-between rounded-[6px] border border-[#
3504ECEAE5] cursor-pointer hover:border-[#777]"
3505          onclick="ToggleProductOpt(this)"
3506        >
3507          
3508            <p class="text-black text-sm font-medium">
3509              4oz
3510            </p>
3511          
3512          <img
3513  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
3514  class="w-[24px] h-[24px] pointer-events-none expand-black"
3515  alt="expand arrow">
3516        </div>
3517        <div
3518          class="productOptOptions optOptionDisplayAnyway flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] py-4 px-3 rounded-[6px] mt-2 bg-white"
3519          style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
3520        >
3521          
3522            
3523            <div
3524              onclick="SelectProductOpt(this)"
3525              class="active cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
3526              data-variant-id="42447594750130"
3527              data-handle="chebe-hair-oil"
3528              data-variant-title="4oz"
3529            >
3530              <p class="text-sm text-black font-medium">4oz</p>
3531              <img
3532  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3533  class="w-[18px] h-[18px]"
3534  alt="expand arrow">
3535            </div>
3536          
3537            
3538              
3539            
3540            <div
3541              onclick="SelectProductOpt(this)"
3542              class="cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
3543              data-variant-id="43669404418226"
3544              data-handle="chebe-hair-oil"
3545              data-variant-title="2oz"
3546            >
3547              <p class="text-sm text-black font-medium">2oz</p>
3548              <img
3549  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3550  class="w-[18px] h-[18px]"
3551  alt="expand arrow">
3552            </div>
3553          
3554        </div>
3555      </div>
3556      <div
3557        class="productOptSelectorSellingPlans relative w-[75%]"
3558        style="display: none;"
3559      >
3560        <div
3561          onclick="TogglePlansOpt(this)"
3562          class="productOptSelectorSellingPlansSelected w-full p-2 md:px-[10px] flex items-center justify-between rounded-[6px] border border-[#ECEAE5] cursor-pointer hover:border-[#777]"
3563        >
3564          
3565            
3566          
3567            
3568          
3569            
3570              
3571              <p>
3572                <span class="text-black font-semibold text-xs md:text-sm"
3573                  >1 Month |
3574                </span>
3575                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3576                  >If used
3577                  twice a week</span>
3578              </p>
3579            
3580          
3581            
3582          
3583          <img
3584  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
3585  class="w-[24px] h-[24px] pointer-events-none expand-black"
3586  alt="expand arrow">
3587        </div>
3588        <div
3589          class="productOptSelectorSellingPlansOptions flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] p-2 md:px-[10px] md:pt-5 md:pb-[18px] rounded-[6px] mt-2 bg-white"
3590          style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
3591        >
3592          
3593            
3594              
3595              
3596                
3597                <div
3598                  onclick="SelectPlanOpt(this)"
3599                  data-index="2594898098"
3600                  class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
3601                >
3602                  <p>
3603                    
3604                      <span class="text-black font-semibold text-xs md:text-sm"
3605                        >1 Week |
3606                      </span>
3607                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3608                        >If used
3609                        3-4 times week</span>
3610                    
3611                  </p>
3612                  <img
3613  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3614  class="w-[18px] h-[18px]"
3615  alt="expand arrow">
3616                </div>
3617              
3618            
3619              
3620              
3621                
3622                <div
3623                  onclick="SelectPlanOpt(this)"
3624                  data-index="2594930866"
3625                  class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
3626                >
3627                  <p>
3628                    
3629                      <span class="text-black font-semibold text-xs md:text-sm"
3630                        >2 Weeks |
3631                      </span>
3632                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3633                        >If used
3634                        twice a week</span>
3635                    
3636                  </p>
3637                  <img
3638  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3639  class="w-[18px] h-[18px]"
3640  alt="expand arrow">
3641                </div>
3642              
3643            
3644              
3645              
3646                
3647                <div
3648                  onclick="SelectPlanOpt(this)"
3649                  data-index="2594963634"
3650                  class="variant-4oz productOptSelectorSellingPlansOption active cursor-pointer"
3651                >
3652                  <p>
3653                    
3654                      <span class="text-black font-semibold text-xs md:text-sm"
3655                        >1 Month |
3656                      </span>
3657                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3658                        >If used
3659                        once a week</span>
3660                    
3661                  </p>
3662                  <img
3663  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3664  class="w-[18px] h-[18px]"
3665  alt="expand arrow">
3666                </div>
3667              
3668            
3669              
3670              
3671            
3672          
3673            
3674              
3675              
3676            
3677              
3678              
3679                
3680                <div
3681                  onclick="SelectPlanOpt(this)"
3682                  data-index="2594930866"
3683                  class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
3684                >
3685                  <p>
3686                    
3687                      <span class="text-black font-semibold text-xs md:text-sm"
3688                        >2 Weeks |
3689                      </span>
3690                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3691                        >If used
3692                        3-4 times week</span>
3693                    
3694                  </p>
3695                  <img
3696  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3697  class="w-[18px] h-[18px]"
3698  alt="expand arrow">
3699                </div>
3700              
3701            
3702              
3703              
3704                
3705                <div
3706                  onclick="SelectPlanOpt(this)"
3707                  data-index="2594963634"
3708                  class="variant-8oz productOptSelectorSellingPlansOption active-var active cursor-pointer"
3709                >
3710                  <p>
3711                    
3712                      <span class="text-black font-semibold text-xs md:text-sm"
3713                        >1 Month |
3714                      </span>
3715                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3716                        >If used
3717                        twice a week</span>
3718                    
3719                  </p>
3720                  <img
3721  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3722  class="w-[18px] h-[18px]"
3723  alt="expand arrow">
3724                </div>
3725              
3726            
3727              
3728              
3729                
3730                <div
3731                  onclick="SelectPlanOpt(this)"
3732                  data-index="2594996402"
3733                  class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
3734                >
3735                  <p>
3736                    
3737                      <span class="text-black font-semibold text-xs md:text-sm"
3738                        >2 Months |
3739                      </span>
3740                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3741                        >If used
3742                        once a week</span>
3743                    
3744                  </p>
3745                  <img
3746  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3747  class="w-[18px] h-[18px]"
3748  alt="expand arrow">
3749                </div>
3750              
3751            
3752          
3753            
3754              
3755              
3756                
3757                <div
3758                  onclick="SelectPlanOpt(this)"
3759                  data-index="2594898098"
3760                  class="variant-2oz productOptSelectorSellingPlansOption cursor-pointer"
3761                >
3762                  <p>
3763                    
3764                      <span class="text-black font-semibold text-xs md:text-sm"
3765                        >1 Week |
3766                      </span>
3767                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3768                        >If used
3769                        3-4 times week</span>
3770                    
3771                  </p>
3772                  <img
3773  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3774  class="w-[18px] h-[18px]"
3775  alt="expand arrow">
3776                </div>
3777              
3778            
3779              
3780              
3781                
3782                <div
3783                  onclick="SelectPlanOpt(this)"
3784                  data-index="2594930866"
3785                  class="variant-2oz productOptSelectorSellingPlansOption cursor-pointer"
3786                >
3787                  <p>
3788                    
3789                      <span class="text-black font-semibold text-xs md:text-sm"
3790                        >2 Weeks |
3791                      </span>
3792                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3793                        >If used
3794                        twice a week</span>
3795                    
3796                  </p>
3797                  <img
3798  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3799  class="w-[18px] h-[18px]"
3800  alt="expand arrow">
3801                </div>
3802              
3803            
3804              
3805              
3806                
3807                <div
3808                  onclick="SelectPlanOpt(this)"
3809                  data-index="2594963634"
3810                  class="variant-2oz productOptSelectorSellingPlansOption active cursor-pointer"
3811                >
3812                  <p>
3813                    
3814                      <span class="text-black font-semibold text-xs md:text-sm"
3815                        >1 Month |
3816                      </span>
3817                      <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
3818                        >If used
3819                        once a week</span>
3820                    
3821                  </p>
3822                  <img
3823  src="//chebeauty.com/cdn/shop/t/163/assets/check_small.png?v=76823705628261515141781941835"
3824  class="w-[18px] h-[18px]"
3825  alt="expand arrow">
3826                </div>
3827              
3828            
3829              
3830              
3831            
3832          
3833        </div>
3834      </div>
3835    </div>
3836  </div>
3837  <button class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart">
3838    <span>Add to Cart</span>
3839    <svg
3840      aria-hidden="true"
3841      class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
3842      viewBox="0 0 100 101"
3843      fill="none"
3844      xmlns="http://www.w3.org/2000/svg"
3845    >
3846      <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36" />
3847      <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632" />
3848    </svg>
3849    <span class="sr-only">Loading...</span>
3850  </button>
3851
3852  <div
3853    class="works-best-popup hidden absolute top-[-14em] 2xl:top-[-14em]  left-0 w-full bg-gray-100 border border-gray-300 px-3 py-4 flex flex-col items-center gap-3 rounded-[10px]"
3854    style="box-shadow: 0px 3px 20px rgb(0 0 0 / 15%)"
3855  >
3856    <svg
3857      class="works-best-close-btn absolute right-3 top-3"
3858      width="12"
3859      height="12"
3860      viewBox="0 0 12 12"
3861      fill="none"
3862      xmlns="http://www.w3.org/2000/svg"
3863    >
3864      <path
3865        d="M1 11L11 1"
3866        stroke="black"
3867        stroke-width="1.5"
3868        stroke-linecap="round"
3869        stroke-linejoin="round" />
3870      <path
3871        d="M11 11L1 1"
3872        stroke="black"
3873        stroke-width="1.5"
3874        stroke-linecap="round"
3875        stroke-linejoin="round" />
3876    </svg>
3877
3878    <h5 class="text-lg font-body font-bold">This product works best with</h5>
3879
3880    <div class="flex flex-col gap-3 max-h-[10em] md:max-h-[12em] overflow-auto">
3881      
3882        <div class="flex items-center gap-[1.5em] bg-white p-2 rounded-[8px]">
3883          <img
3884            class="w-[45px] h-[45px] object-contain"
3885            src="//chebeauty.com/cdn/shop/files/Chebe_Shampoo_1_300x300.webp?v=1748876622"
3886            alt=""
3887            loading="lazy"
3888          >
3889          <div>
3890            <h6 class="text-sm font-body font-bold">
3891              Chebe Shampoo
3892            </h6>
3893            <ul class="list-disc text-black text-[11px] font-medium">
3894              
3895            </ul>
3896          </div>
3897        </div>
3898      
3899        <div class="flex items-center gap-[1.5em] bg-white p-2 rounded-[8px]">
3900          <img
3901            class="w-[45px] h-[45px] object-contain"
3902            src="//chebeauty.com/cdn/shop/files/Leave-in_Conditioner_1_0f8cc42a-f5fa-4647-8993-0e5b39065a9b_300x300.webp?v=1748876653"
3903            alt=""
3904            loading="lazy"
3905          >
3906          <div>
3907            <h6 class="text-sm font-body font-bold">
3908              Chebe Leave-In Conditioner
3909            </h6>
3910            <ul class="list-disc text-black text-[11px] font-medium">
3911              
3912            </ul>
3913          </div>
3914        </div>
3915      
3916    </div>
3917
3918    <svg
3919      class="absolute bottom-[-17px] left-[48%]"
3920      width="20"
3921      height="22"
3922      viewBox="0 0 20 22"
3923      fill="none"
3924      xmlns="http://www.w3.org/2000/svg"
3925    >
3926      <path d="M10 20L1.33975 5L18.6603 5L10 20Z" fill="#F7F5F1" />
3927      <path d="M1.5 5L10 20L18.5 5" stroke="#DCD9D4" />
3928    </svg>
3929  </div>
3930</div>
3931
3932                        
3933                    
3934                      
3935                        
3936                          
3937
3938
3939
3940<div
3941  class="bg-white  border border-solid border-[#ECEAE5] rounded-[10px] p-2 mx-auto relative embla__slide product_opt_wrapper"
3942  data-product-id=""
3943>
3944  <div class="prod-data-dcb">
3945    <div class="custom-upsell-product-data-wrapper">
3946      <div class="flex items-start">
3947        <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
3948          <div
3949            class="absolute inset-0"
3950            style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
3951          ></div>
3952          
3953          <img
3954            class="w-full h-full object-contain"
3955            src="//chebeauty.com/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12_300x300.gif"
3956            alt=""
3957            loading="lazy"
3958            fetchpriority="low"
3959          >
3960          <div class="absolute left-2 bottom-2 md:bottom-2">
3961            
3962          </div>
3963        </div>
3964        <div class="ml-2 text-left">
3965          <p class="text-sm text-black font-semibold mb-1">
3966            
3967          </p>
3968          <p
3969            data-4oz-id=""
3970            data-8oz-id=""
3971            data-4ozPrice="$0"
3972            data-8ozPrice="$0"
3973            data-unsub4ozPrice=""
3974            data-unsub8ozPrice=""
3975            
3976            class="productBuyCardPrice text-sm text-black font-semibold mb-2"
3977          >
3978            
3979              
3980          </p>
3981          <p class="text-xs text-[#403F36] font-normal">
3982            
3983          </p>
3984        </div>
3985      </div>
3986      <div class="productOptSubToggle mt-5 flex items-center justify-between w-full  hidden ">
3987        <div>
3988          <p class="text-black font-bold text-sm opacity-80">
3989            Subscribe & Save 20% (-$0)
3990          </p>
3991          <p class="text-[10px] text-[#777] font-medium -mt-[6px] text-left">
3992            Cancel anytime | No questions asked
3993          </p>
3994        </div>
3995
3996        
3997        
3998
3999        <label class="productOptSubTogglePeer relative inline-flex items-center cursor-pointer ">
4000          <input
4001            data-line="1"
4002            type="checkbox"
4003            value=""
4004            onchange="togglePeer(this)"
4005            
4006            class="sr-only peer"
4007          >
4008          <div
4009            class="w-12 h-7 bg-[#F7F5F1] peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:bg-[#777] after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-[#00634F] peer-checked:after:bg-[#FFF]"
4010          ></div>
4011        </label>
4012      </div>
4013      <div class="flex items-center justify-between mt-2 gap-x-2  hidden ">
4014        <div class="productOptSelector relative w-[23%]">
4015          <div
4016            class="productOptSelected w-full py-2 px-3 flex items-center justify-between rounded-[6px] border border-[#
4016ECEAE5] cursor-pointer hover:border-[#777]"
4017            onclick="ToggleProductOpt(this)"
4018          >
4019            
4020              <p class="text-black text-sm font-medium">
4021                
4022              </p>
4023            
4024            <img
4025  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
4026  class="w-[24px] h-[24px] pointer-events-none expand-black"
4027  alt="expand arrow">
4028          </div>
4029          <div
4030            class="productOptOptions  flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] py-4 px-3 rounded-[6px] mt-2 bg-white"
4031            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
4032          >
4033            
4034          </div>
4035        </div>
4036        <div
4037          class="productOptSelectorSellingPlans relative w-[75%]"
4038          style="display: none;"
4039        >
4040          <div
4041            onclick="TogglePlansOpt(this)"
4042            class="productOptSelectorSellingPlansSelected w-full p-2 md:px-[10px] flex items-center justify-between rounded-[6px] border border-[#ECEAE5] cursor-pointer hover:border-[#777]"
4043          >
4044            
4045            <img
4046  src="//chebeauty.com/cdn/shop/t/163/assets/expand_more.webp?v=11573335225778024281781941836"
4047  class="w-[24px] h-[24px] pointer-events-none expand-black"
4048  alt="expand arrow">
4049          </div>
4050          <div
4051            class="productOptSelectorSellingPlansOptions flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] p-2 md:px-[10px] md:pt-5 md:pb-[18px] rounded-[6px] mt-2 bg-white"
4052            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
4053          >
4054            
4055          </div>
4056        </div>
4057      </div>
4058    </div>
4059    <button
4060      data-variant-id=""
4061      
4062      data-selling-plan-id=""
4063      
4064      class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart-one-variant-sub"
4065    >
4066      <span>Add to Cart</span>
4067      <svg
4068        aria-hidden="true"
4069        class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
4070        viewBox="0 0 100 101"
4071        fill="none"
4072        xmlns="http://www.w3.org/2000/svg"
4073      >
4074        <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36" />
4075        <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632" />
4076      </svg>
4077      <span class="sr-only">Loading...</span>
4078    </button>
4079
4080    <div
4081      class="works-best-popup hidden absolute top-[-14em] 2xl:top-[-14em]  left-0 w-full bg-gray-100 border border-gray-300 px-3 py-4 flex flex-col items-center gap-3 rounded-[10px]"
4082      style="box-shadow: 0px 3px 20px rgb(0 0 0 / 15%)"
4083    >
4084      <svg
4085        class="works-best-close-btn absolute right-3 top-3"
4086        width="12"
4087        height="12"
4088        viewBox="0 0 12 12"
4089        fill="none"
4090        xmlns="http://www.w3.org/2000/svg"
4091      >
4092        <path
4093          d="M1 11L11 1"
4094          stroke="black"
4095          stroke-width="1.5"
4096          stroke-linecap="round"
4097          stroke-linejoin="round" />
4098        <path
4099          d="M11 11L1 1"
4100          stroke="black"
4101          stroke-width="1.5"
4102          stroke-linecap="round"
4103          stroke-linejoin="round" />
4104      </svg>
4105
4106      <h5 class="text-lg font-body font-bold">This product works best with</h5>
4107
4108      <div class="flex flex-col gap-3 max-h-[10em] md:max-h-[12em] overflow-auto">
4109        
4110      </div>
4111
4112      <svg
4113        class="absolute bottom-[-17px] left-[48%]"
4114        width="20"
4115        height="22"
4116        viewBox="0 0 20 22"
4117        fill="none"
4118        xmlns="http://www.w3.org/2000/svg"
4119      >
4120        <path d="M10 20L1.33975 5L18.6603 5L10 20Z" fill="#F7F5F1" />
4121        <path d="M1.5 5L10 20L18.5 5" stroke="#DCD9D4" />
4122      </svg>
4123    </div>
4124  </div>
4125  <div class="prod-data-co-wash hidden">
4126    <div class="custom-upsell-product-data-wrapper">
4127      <div class="flex items-start">
4128        <div class="min-w-[140px] max-w-[140px] h-[140px] relative rounded-[10px] overflow-hidden">
4129          <div
4130            class="absolute inset-0"
4131            style="background: linear-gradient(180deg, rgba(255, 255, 255, 0) 33.33%, rgba(10, 8, 0, 0.64) 100%);"
4132          ></div>
4133          <img
4134            class="w-full h-full object-contain"
4135            src="//chebeauty.com/cdn/shop/files/Co-Wash_1_1631f515-5d0b-4d61-acbd-8dc8e6049c91_300x300.webp?v=1748767283"
4136            alt="Chebe Co-Wash"
4137            loading="lazy"
4138            fetchpriority="low"
4139          >
4140          <div class="absolute left-2 bottom-2 md:bottom-2">
4141            <div class="flex items-start flex-col-reverse justify-start gap-1">
4142              <p class="text-left text-white text-[10px] font-medium">
4143                1,000+ Happy Customers
4144              </p>
4145              <svg
4146                width="93"
4147                height="16"
4148                viewBox="0 0 93 16"
4149                fill="none"
4150                xmlns="http://www.w3.org/2000/svg"
4151              >
4152                <path d="M7.14303 2.15298C7.29271 1.69232 7.94442 1.69232 8.09409 2.15298L9.21678 5.60826C9.28372 5.81427 9.47569 5.95375 9.69231 5.95375H13.3254C13.8098 5.95375 14.0112 6.57356 13.6193 6.85826L10.6801 8.99374C10.5048 9.12106 10.4315 9.34675 10.4984 9.55276L11.6211 13.008C11.7708 13.4687 11.2435 13.8518 10.8517 13.5671L7.91246 11.4316C7.73721 11.3043 7.49991 11.3043 7.32467 11.4316L4.38543 13.5671C3.99358 13.8518 3.46634 13.4687 3.61601 13.008L4.7387 9.55276C4.80564 9.34674 4.73231 9.12106 4.55707 8.99374L1.61783 6.85826C1.22597 6.57356 1.42736 5.95375 1.91172 5.95375H5.54482C5.76143 5.95375 5.95341 5.81427 6.02035 5.60826L7.14303 2.15298Z" fill="#F6C344"></path>
4153                <path d="M26.5825 2.15298C26.7322 1.69232 27.3839 1.69232 27.5335 2.15298L28.6562 5.60826C28.7232 5.81427 28.9151 5.95375 29.1318 5.95375H32.7649C33.2492 5.95375 33.4506 6.57356 33.0588 6.85826L30.1195 8.99374C29.9443 9.12106 29.8709 9.34675 29.9379 9.55276L31.0606 13.008C31.2102 13.4687 30.683 13.8518 30.2911 13.5671L27.3519 11.4316C27.1767 11.3043 26.9394 11.3043 26.7641 11.4316L23.8249 13.5671C23.433 13.8518 22.9058 13.4687 23.0555 13.008L24.1782 9.55276C24.2451 9.34674 24.1718 9.12106 23.9965 8.99374L21.0573 6.85826C20.6654 6.57356 20.8668 5.95375 21.3512 5.95375H24.9843C25.2009 5.95375 25.3929 5.81427 25.4598 5.60826L26.5825 2.15298Z" fill="#F6C344"></path>
4154                <path d="M46.0239 2.15298C46.1736 1.69232 46.8253 1.69232 46.9749 2.15298L48.0976 5.60826C48.1646 5.81427 48.3566 5.95375 48.5732 5.95375H52.2063C52.6906 5.95375 52.892 6.57356 52.5002 6.85826L49.5609 8.99374C49.3857 9.12106 49.3123 9.34675 49.3793 9.55276L50.502 13.008C50.6516 13.4687 50.1244 13.8518 49.7326 13.5671L46.7933 11.4316C46.6181 11.3043 46.3808 11.3043 46.2055 11.4316L43.2663 13.5671C42.8744 13.8518 42.3472 13.4687 42.4969 13.008L43.6196 9.55276C43.6865 9.34674 43.6132 9.12106 43.4379 8.99374L40.4987 6.85826C40.1068 6.57356 40.3082 5.95375 40.7926 5.95375H44.4257C44.6423 5.95375 44.8343 5.81427 44.9012 5.60826L46.0239 2.15298Z" fill="#F6C344"></path>
4155                <path d="M65.4633 2.15298C65.613 1.69232 66.2647 1.69232 66.4144 2.15298L67.5371 5.60826C67.604 5.81427 67.796 5.95375 68.0126 5.95375H71.6457C72.1301 5.95375 72.3315 6.57356 71.9396 6.85826L69.0004 8.99374C68.8251 9.12106 68.7518 9.34675 68.8187 9.55276L69.9414 13.008C70.0911 13.4687 69.5639 13.8518 69.172 13.5671L66.2328 11.4316C66.0575 11.3043 65.8202 11.3043 65.645 11.4316L62.7057 13.5671C62.3139 13.8518 61.7866 13.4687 61.9363 13.008L63.059 9.55276C63.126 9.34674 63.0526 9.12106 62.8774 8.99374L59.9381 6.85826C59.5463 6.57356 59.7477 5.95375 60.232 5.95375H63.8651C64.0817 5.95375 64.2737 5.81427 64.3407 5.60826L65.4633 2.15298Z" fill="#F6C344"></path>
4156                <path d="M84.9067 2.15298C85.0564 1.69232 85.7081 1.69232 85.8578 2.15298L86.9805 5.60826C87.0474 5.81427 87.2394 5.95375 87.456 5.95375H91.0891C91.5734 5.95375 91.7748 6.57356 91.383 6.85826L88.4437 8.99374C88.2685 9.12106 88.1952 9.34675 88.2621 9.55276L89.3848 13.008C89.5345 13.4687 89.0072 13.8518 88.6154 13.5671L85.6761 11.4316C85.5009 11.3043 85.2636 11.3043 85.0883 11.4316L82.1491 13.5671C81.7572 13.8518 81.23 13.4687 81.3797 13.008L82.5024 9.55276C82.5693 9.34674 82.496 9.12106 82.3207 8.99374L79.3815 6.85826C78.9896 6.57356 79.191 5.95375 79.6754 5.95375H83.3085C83.5251 5.95375 83.7171 5.81427 83.784 5.60826L84.9067 2.15298Z" fill="#F6C344"></path>
4157              </svg>
4158            </div>
4159          </div>
4160        </div>
4161        <div class="ml-2 text-left">
4162          <p class="text-sm text-black font-semibold mb-1">Chebe Co-Wash</p>
4163          <p
4164            data-4oz-id="44662144729266"
4165            data-8oz-id="44662144762034"
4166            data-4ozprice="$12"
4167            data-8ozprice="$16"
4168            data-unsub4ozprice="$15"
4169            data-unsub8ozprice="$20"
4170            class="productBuyCardPrice text-sm text-black font-semibold mb-2"
4171          >
4172            $20
4173          </p>
4174          <p class="text-xs text-[#403F36] font-normal">
4175            Gently cleanse and condition your hair with our Chebe Co-Wash,
4176            perfect for maintaining softness.
4177          </p>
4178        </div>
4179      </div>
4180      <div class="productOptSubToggle mt-5 flex items-center justify-between w-full">
4181        <div>
4182          <p class="text-black font-bold text-sm opacity-80">
4183            Subscribe &amp; Save 20% (-$4)
4184          </p>
4185          <p class="text-[10px] text-[#777] font-medium -mt-[6px] text-left">
4186            Cancel anytime | No questions asked
4187          </p>
4188        </div>
4189
4190        <label class="productOptSubTogglePeer relative inline-flex items-center cursor-pointer">
4191          <input
4192            data-line="1"
4193            type="checkbox"
4194            value=""
4195            onchange="togglePeer(this)"
4196            checked=""
4197            class="sr-only peer"
4198          >
4199          <div
4200            class="w-12 h-7 bg-[#F7F5F1] peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[4px] after:left-[4px] after:bg-[#777] after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-[#00634F] peer-checked:after:bg-[#FFF]"
4201          ></div>
4202        </label>
4203      </div>
4204      <div class="flex items-center justify-between mt-2 gap-x-2">
4205        <div class="productOptSelector relative w-[23%]">
4206          <div
4207            class="productOptSelected w-full py-2 px-3 flex items-center justify-between rounded-[6px] border border-[#
4207ECEAE5] cursor-pointer hover:border-[#777]"
4208            onclick="ToggleProductOpt(this)"
4209          >
4210            <p class="text-black text-sm font-medium">8oz</p>
4211
4212            <img
4213              src="//chebeauty.com/cdn/shop/t/143/assets/expand_more.webp?v=11573335225778024281747819638"
4214              class="w-[24px] h-[24px] pointer-events-none expand-black"
4215              alt="expand arrow"
4216            >
4217          </div>
4218          <div
4219            class="productOptOptions  flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] py-4 px-3 rounded-[6px] mt-2 bg-white"
4220            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
4221          >
4222            <div
4223              onclick="SelectProductOpt(this)"
4224              class="cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
4225              data-variant-id="44662144729266"
4226              data-handle="co-wash"
4227              data-variant-title="4oz"
4228            >
4229              <p class="text-sm text-black font-medium">4oz</p>
4230              <img
4231                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4232                class="w-[18px] h-[18px]"
4233                alt="expand arrow"
4234              >
4235            </div>
4236
4237            <div
4238              onclick="SelectProductOpt(this)"
4239              class="active cart-product-opt productOptOption flex items-center justify-between cursor-pointer"
4240              data-variant-id="44662144762034"
4241              data-handle="co-wash"
4242              data-variant-title="8oz"
4243            >
4244              <p class="text-sm text-black font-medium">8oz</p>
4245              <img
4246                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4247                class="w-[18px] h-[18px]"
4248                alt="expand arrow"
4249              >
4250            </div>
4251          </div>
4252        </div>
4253        <div
4254          class="productOptSelectorSellingPlans relative w-[75%]"
4255          style="display: block;"
4256        >
4257          <div
4258            onclick="TogglePlansOpt(this)"
4259            class="productOptSelectorSellingPlansSelected w-full p-2 md:px-[10px] flex items-center justify-between rounded-[6px] border border-[#ECEAE5] cursor-pointer hover:border-[#777]"
4260          >
4261            <p>
4262              <span class="text-black font-semibold text-xs md:text-sm"
4263                >1 Month |
4264              </span>
4265              <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4266                >If used twice a week</span
4267              >
4268            </p>
4269
4270            <img
4271              src="//chebeauty.com/cdn/shop/t/143/assets/expand_more.webp?v=11573335225778024281747819638"
4272              class="w-[24px] h-[24px] pointer-events-none expand-black"
4273              alt="expand arrow"
4274            >
4275          </div>
4276          <div
4277            class="productOptSelectorSellingPlansOptions flex-col gap-y-4 absolute left-0 z-20 w-full border border-[#F7F5F1] p-2 md:px-[10px] md:pt-5 md:pb-[18px] rounded-[6px] mt-2 bg-white"
4278            style="box-shadow: 0px 2px 12px 0px rgba(10, 8, 0, 0.08);"
4279          >
4280            <div
4281              onclick="SelectPlanOpt(this)"
4282              data-index="2097348786"
4283              class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
4284            >
4285              <p>
4286                <span class="text-black font-semibold text-xs md:text-sm"
4287                  >1 Week |
4288                </span>
4289                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4290                  >If used 3-4 times week</span
4291                >
4292              </p>
4293              <img
4294                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4295                class="w-[18px] h-[18px]"
4296                alt="expand arrow"
4297              >
4298            </div>
4299
4300            <div
4301              onclick="SelectPlanOpt(this)"
4302              data-index="2097381554"
4303              class="variant-4oz productOptSelectorSellingPlansOption cursor-pointer"
4304            >
4305              <p>
4306                <span class="text-black font-semibold text-xs md:text-sm"
4307                  >2 Weeks |
4308                </span>
4309                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4310                  >If used twice a week</span
4311                >
4312              </p>
4313              <img
4314                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4315                class="w-[18px] h-[18px]"
4316                alt="expand arrow"
4317              >
4318            </div>
4319
4320            <div
4321              onclick="SelectPlanOpt(this)"
4322              data-index="2097414322"
4323              class="variant-4oz productOptSelectorSellingPlansOption active cursor-pointer"
4324            >
4325              <p>
4326                <span class="text-black font-semibold text-xs md:text-sm"
4327                  >1 Month |
4328                </span>
4329                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4330                  >If used once a week</span
4331                >
4332              </p>
4333              <img
4334                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4335                class="w-[18px] h-[18px]"
4336                alt="expand arrow"
4337              >
4338            </div>
4339
4340            <div
4341              onclick="SelectPlanOpt(this)"
4342              data-index="2097381554"
4343              class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
4344            >
4345              <p>
4346                <span class="text-black font-semibold text-xs md:text-sm"
4347                  >2 Weeks |
4348                </span>
4349                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4350                  >If used 3-4 times week</span
4351                >
4352              </p>
4353              <img
4354                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4355                class="w-[18px] h-[18px]"
4356                alt="expand arrow"
4357              >
4358            </div>
4359
4360            <div
4361              onclick="SelectPlanOpt(this)"
4362              data-index="2097414322"
4363              class="variant-8oz productOptSelectorSellingPlansOption active-var active cursor-pointer"
4364            >
4365              <p>
4366                <span class="text-black font-semibold text-xs md:text-sm"
4367                  >1 Month |
4368                </span>
4369                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4370                  >If used twice a week</span
4371                >
4372              </p>
4373              <img
4374                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4375                class="w-[18px] h-[18px]"
4376                alt="expand arrow"
4377              >
4378            </div>
4379
4380            <div
4381              onclick="SelectPlanOpt(this)"
4382              data-index="2097447090"
4383              class="variant-8oz productOptSelectorSellingPlansOption active-var cursor-pointer"
4384            >
4385              <p>
4386                <span class="text-black font-semibold text-xs md:text-sm"
4387                  >2 Months |
4388                </span>
4389                <span class="text-[10px] md:text-xs font-medium text-[#403F36] ml-1"
4390                  >If used once a week</span
4391                >
4392              </p>
4393              <img
4394                src="//chebeauty.com/cdn/shop/t/143/assets/check_small.png?v=76823705628261515141747819638"
4395                class="w-[18px] h-[18px]"
4396                alt="expand arrow"
4397              >
4398            </div>
4399          </div>
4400        </div>
4401      </div>
4402    </div>
4403    <button class="w-full mt-5 text-sm flex items-center justify-center gap-x-1 leading-base outline-none border-solid button min-h-[40px] border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] custom-add-to-cart">
4404      <span>Add to Cart</span>
4405      <svg
4406        aria-hidden="true"
4407        class="hidden ml-2 w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
4408        viewBox="0 0 100 101"
4409        fill="none"
4410        xmlns="http://www.w3.org/2000/svg"
4411      >
4412        <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="#403F36"></path>
4413        <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="#FFC632"></path>
4414      </svg>
4415      <span class="sr-only">Loading...</span>
4416    </button>
4417
4418    <div
4419      class="works-best-popup hidden absolute top-[-14em] 2xl:top-[-14em] left-0 w-full bg-gray-100 border border-gray-300 px-3 py-4 flex flex-col items-center gap-3 rounded-[10px]"
4420      style="box-shadow: 0px 3px 20px rgb(0 0 0 / 15%)"
4421    >
4422      <svg
4423        class="works-best-close-btn absolute right-3 top-3"
4424        width="12"
4425        height="12"
4426        viewBox="0 0 12 12"
4427        fill="none"
4428        xmlns="http://www.w3.org/2000/svg"
4429      >
4430        <path d="M1 11L11 1" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
4431        <path d="M11 11L1 1" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
4432      </svg>
4433
4434      <h5 class="text-lg font-body font-bold">This product works best with</h5>
4435
4436      <div
4437        class="flex flex-col gap-3 max-h-[10em] md:max-h-[12em] overflow-auto"
4438      ></div>
4439
4440      <svg
4441        class="absolute bottom-[-17px] left-[48%]"
4442        width="20"
4443        height="22"
4444        viewBox="0 0 20 22"
4445        fill="none"
4446        xmlns="http://www.w3.org/2000/svg"
4447      >
4448        <path d="M10 20L1.33975 5L18.6603 5L10 20Z" fill="#F7F5F1"></path>
4449        <path d="M1.5 5L10 20L18.5 5" stroke="#DCD9D4"></path>
4450      </svg>
4451    </div>
4452  </div>
4453</div>
4454
4455                        
4456                    
4457                  </div>
4458                </div>
4459                
4459<script src="//chebeauty.com/cdn/shop/t/163/assets/works-best-popup.js?v=12427188825078390741781941839" defer></script>
4459
4460              </div>
4461              <!-- Buttons -->
4462              <button
4463                class="embla__button embla__button--prev embla__prev"
4464                type="button"
4465              >
4466                <svg
4467                  class="embla__button__svg"
4468                  viewBox="137.718 -1.001 366.563 643.999"
4469                >
4470                  <path
4471                    d="M428.36 12.5c16.67-16.67 43.76-16.67 60.42 0 16.67 16.67 16.67 43.76 0 60.42L241.7 320c148.25 148.24 230.61 230.6 247.08 247.08 16.67 16.66 16.67 43.75 0 60.42-16.67 16.66-43.76 16.67-60.42 0-27.72-27.71-249.45-249.37-277.16-277.08a42.308 42.308 0 0 1-12.48-30.34c0-11.1 4.1-22.05 12.48-30.42C206.63 234.23 400.64 40.21 428.36 12.5z"
4472                  ></path>
4473                </svg>
4474              </button>
4475              <button
4476                class="embla__button embla__button--next embla__next"
4477                type="button"
4478              >
4479                <svg class="embla__button__svg" viewBox="0 0 238.003 238.003">
4480                  <path
4481                    d="M181.776 107.719L78.705 4.648c-6.198-6.198-16.273-6.198-22.47 0s-6.198 16.273 0 22.47l91.883 91.883-91.883 91.883c-6.198 6.198-6.198 16.273 0 22.47s16.273 6.198 22.47 0l103.071-103.039a15.741 15.741 0 0 0 4.64-11.283c0-4.13-1.526-8.199-4.64-11.313z"
4482                  ></path>
4483                </svg>
4484              </button>
4485            </div>
4486            <!-- Dots -->
4487            <div class="embla__dots cart__dots"></div>
4488  
4489            
4489<script type="text/template" id="embla-dot-template">
4490              <button class="embla__dot" type="button"></button>
4491            </script>
4491
4492          </div>
4493        </upsell>
4494      </div>
4495      <div class="drawer__footer">
4496        <!-- Shipping + Subtotal summary -->
4497        <div class="cart-footer-summary">
4498          <!-- Shipping row -->
4499          <div class="cart-footer-row">
4500            <span class="cart-footer-label">Shipping</span><span class="cart-footer-shipping-calc">$6.90</span></div>
4501
4502          <hr class="cart-footer-divider">
4503
4504          <!-- Subtotal row --><div class="cart-footer-row">
4505            <span class="cart-footer-subtotal-label">Subtotal</span>
4506            <div class="cart-footer-price-group"><span class="cart-footer-current-price">$0</span>
4507            </div>
4508          </div>
4509        </div>
4510
4511        <!-- Secure Checkout button -->
4512        <div class="cart-footer-cta">
4513          <noscript>
4514            <button type="submit" class="cart__update-button button button--secondary" form="CartDrawer-Form">
4515              Checkout
4516            </button>
4517          </noscript>
4518          <button
4519            type="submit"
4520            id="CartDrawer-Checkout"
4521            class="cart-footer-checkout-btn"
4522            name="checkout"
4523            form="CartDrawer-Form"
4524            disabled
4525          >
4526            Secure Checkout
4527<svg xmlns="http://www.w3.org/2000/svg" width="17" height="19" viewBox="0 0 17 19" fill="none">
4528  <path d="M8.2998 11.6609V13.5498M3.6123 7.43812C4.05426 7.41092 4.59911 7.41092 5.2998 7.41092H11.2998C12.0005 7.41092 12.5454 7.41092 12.9873 7.43812M3.6123 7.43812C3.06075 7.47202 2.66945 7.54833 2.33546 7.71975C1.80625 7.99137 1.37599 8.42478 1.10635 8.95792C0.799805 9.56406 0.799805 10.3574 0.799805 11.9442V13.2665C0.799805 14.8533 0.799805 15.6467 1.10635 16.2528C1.37599 16.7859 1.80625 17.2193 2.33546 17.491C2.93708 17.7998 3.72465 17.7998 5.2998 17.7998H11.2998C12.875 17.7998 13.6625 17.7998 14.2642 17.491C14.7934 17.2193 15.2236 16.7859 15.4932 16.2528C15.7998 15.6467 15.7998 14.8533 15.7998 13.2665V11.9442C15.7998 10.3574 15.7998 9.56406 15.4932 8.95792C15.2236 8.42478 14.7934 7.99137 14.2642 7.71975C13.9301 7.54833 13.5388 7.47202 12.9873 7.43812M3.6123 7.43812V5.52203C3.6123 2.91402 5.71097 0.799805 8.2998 0.799805C10.8886 0.799805 12.9873 2.91402 12.9873 5.52203V7.43812" stroke="black" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
4529</svg>
4530          </button>
4531        </div>
4532
4533        <!-- Trust badges -->
4534        <div class="cart-footer-trust">
4535          <div class="cart-footer-trust-item">
4536<svg xmlns="http://www.w3.org/2000/svg" width="17" height="18" viewBox="0 0 17 18" fill="none">
4537<path d="M7.60577 1.76861C7.79881 1.1505 7.89528 0.841452 8.03804 0.755797C8.16153 0.681661 8.31021 0.681661 8.43379 0.755797C8.57646 0.841452 8.67293 1.1505 8.86597 1.76861L10.142 5.85493C10.197 6.03085 10.2244 6.11881 10.2739 6.18431C10.3176 6.24218 10.3734 6.28728 10.4364 6.31568C10.5076 6.34784 10.5912 6.34974 10.7585 6.35353L14.6441 6.44167C15.2319 6.455 15.5257 6.46168 15.643 6.58629C15.7445 6.69414 15.7905 6.85159 15.7653 7.00525C15.7363 7.18283 15.502 7.38044 15.0336 7.77586L11.9366 10.3894C11.8032 10.502 11.7366 10.5582 11.6959 10.6308C11.66 10.6951 11.6387 10.768 11.6339 10.8434C11.6284 10.9288 11.6526 11.0179 11.7011 11.1962L12.8265 15.337C12.9967 15.9634 13.0818 16.2765 13.0116 16.4392C12.9509 16.58 12.8305 16.6773 12.6914 16.6981C12.5308 16.7222 12.2895 16.5353 11.807 16.1615L8.6169 13.6906C8.47956 13.5842 8.41094 13.531 8.33631 13.5103C8.27035 13.4921 8.20139 13.4921 8.13552 13.5103C8.06089 13.531 7.99218 13.5842 7.85484 13.6906L4.66481 16.1615C4.18228 16.5353 3.94101 16.7222 3.78033 16.6981C3.64127 16.6773 3.52094 16.58 3.46016 16.4392C3.38993 16.2765 3.47505 15.9634 3.64528 15.337L4.77069 11.1962C4.81914 11.0179 4.84336 10.9288 4.83791 10.8434C4.83309 10.768 4.8118 10.6951 4.77586 10.6308C4.7352 10.5582 4.66853 10.502 4.53521 10.3894L1.43824 7.77586C0.969783 7.38044 0.735554 7.18283 0.706478 7.00525C0.681304 6.85159 0.727266 6.69414 0.828771 6.58629C0.946044 6.46168 1.23992 6.45501 1.82766 6.44167L5.71326 6.35353C5.88053 6.34974 5.96417 6.34784 6.03543 6.31568C6.09838 6.28728 6.15415 6.24218 6.19787 6.18431C6.24736 6.11881 6.27483 6.03085 6.32977 5.85493L7.60577 1.76861Z" stroke="#1E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
4538</svg>
4539            <span>4.9 stars, 100k+<br> Reviews</span>
4540          </div>
4541          <div class="cart-footer-trust-item">
4542<svg xmlns="http://www.w3.org/2000/svg" width="21" height="16" viewBox="0 0 21 16" fill="none">
4543  <path d="M0 0V1.45455H12.1077V12.3636H8.18468C7.9009 11.1136 6.91515 10.1818 5.73525 10.1818C4.55534 10.1818 3.56959 11.1136 3.28582 12.3636H2.549V8.72727H1.2745V13.8182H3.28582C3.56959 15.0682 4.55534 16 5.73525 16C6.91515 16 7.9009 15.0682 8.18468 13.8182H13.4818C13.7656 15.0682 14.7513 16 15.9312 16C17.1111 16 18.0969 15.0682 18.3807 13.8182H20.392V7.88636L20.3522 7.77273L19.0777 3.40909L18.9383 2.90909H13.3822V0H0ZM0.63725 2.90909V4.36364H6.3725V2.90909H0.63725ZM13.3822 4.36364H18.0222L19.1175 8.09091V12.3636H18.3807C18.0969 11.1136 17.1111 10.1818 15.9312 10.1818C14.7513 10.1818 13.7656 11.1136 13.4818 12.3636H13.3822V4.36364ZM1.2745 5.81818V7.27273H5.098V5.81818H1.2745ZM5.73525 11.6364C6.44717 11.6364 7.00975 12.2784 7.00975 13.0909C7.00975 13.9034 6.44717 14.5455 5.73525 14.5455C5.02332 14.5455 4.46075 13.9034 4.46075 13.0909C4.46075 12.2784 5.02332 11.6364 5.73525 11.6364ZM15.9312 11.6364C16.6432 11.6364 17.2057 12.2784 17.2057 13.0909C17.2057 13.9034 16.6432 14.5455 15.9312 14.5455C15.2193 14.5455 14.6567 13.9034 14.6567 13.0909C14.6567 12.2784 15.2193 11.6364 15.9312 11.6364Z" fill="#1E1E1E"/>
4544</svg>
4545            <span>FREE <br>Shipping</span>
4546          </div>
4547          <div class="cart-footer-trust-item">
4548<svg xmlns="http://www.w3.org/2000/svg" width="10" height="20" viewBox="0 0 10 20" fill="none">
4549  <path d="M1.72555 13.0546C1.72555 12.8256 1.63992 12.6059 1.4875 12.444C1.33509 12.282 1.12837 12.191 0.912822 12.191C0.697274 12.191 0.490555 12.282 0.338139 12.444C0.185724 12.6059 0.100098 12.8256 0.100098 13.0546C0.101388 14.1995 0.529933 15.297 1.29173 16.1065C2.05353 16.9161 3.08638 17.3715 4.16372 17.3728V18.2365C4.16372 18.4655 4.24935 18.6852 4.40176 18.8471C4.55418 19.0091 4.7609 19.1001 4.97644 19.1001C5.19199 19.1001 5.39871 19.0091 5.55113 18.8471C5.70354 18.6852 5.78917 18.4655 5.78917 18.2365V17.3728C6.86691 17.3728 7.9005 16.9179 8.66258 16.1081C9.42466 15.2982 9.85279 14.1999 9.85279 13.0546C9.85279 11.9094 9.42466 10.811 8.66258 10.0012C7.9005 9.19141 6.86691 8.73646 5.78917 8.73646V3.55464C6.43581 3.55464 7.05597 3.82761 7.51322 4.3135C7.97046 4.79939 8.22734 5.4584 8.22734 6.14555C8.22734 6.3746 8.31297 6.59427 8.46538 6.75624C8.6178 6.9182 8.82452 7.00919 9.04006 7.00919C9.25561 7.00919 9.46233 6.9182 9.61475 6.75624C9.76716 6.59427 9.85279 6.3746 9.85279 6.14555C9.8515 5.00072 9.42295 3.90317 8.66116 3.09365C7.89936 2.28413 6.86651 1.82874 5.78917 1.82737V0.963734C5.78917 0.734683 5.70354 0.515014 5.55113 0.353051C5.39871 0.191088 5.19199 0.100098 4.97644 0.100098C4.7609 0.100098 4.55418 0.191088 4.40176 0.353051C4.24935 0.515014 4.16372 0.734683 4.16372 0.963734V1.82737C3.08598 1.82737 2.05238 2.28232 1.2903 3.09214C0.528228 3.90195 0.100098 5.0003 0.100098 6.14555C0.100098 7.29081 0.528228 8.38915 1.2903 9.19897C2.05238 10.0088 3.08598 10.4637 4.16372 10.4637V15.6456C3.51708 15.6456 2.89692 15.3726 2.43967 14.8867C1.98242 14.4008 1.72555 13.7418 1.72555 13.0546ZM5.78917 10.4637C6.43581 10.4637 7.05597 10.7367 7.51322 11.2226C7.97046 11.7085 8.22734 12.3675 8.22734 13.0546C8.22734 13.7418 7.97046 14.4008 7.51322 14.8867C7.05597 15.3726 6.43581 15.6456 5.78917 15.6456V10.4637ZM1.72555 6.14555C1.72555 5.4584 1.98242 4.79939 2.43967 4.3135C2.89692 3.82761 3.51708 3.55464 4.16372 3.55464V8.73646C3.51708 8.73646 2.89692 8.46349 2.43967 7.9776C1.98242 7.49171 1.72555 6.8327 1.72555 6.14555Z" fill="#1E1E1E" stroke="white" stroke-width="0.2"/>
4550</svg>
4551            <span>30-day money<br> back guarantee</span>
4552          </div>
4553        </div>
4554      </div>
4555    </div>
4556  </div>
4557</cart-drawer>
4558
4559<style>
4560  .cart__dots .embla__dot,
4561  .cart-page__dots .embla__dot {
4562    height: 10px;
4563    width: 10px;
4564    border-radius: 100%;
4565    background-color: #eceae5;
4566    transition: 0.3s;
4567  }
4568
4569  .cart__dots .embla__dot.is-selected,
4570  .cart-page__dots .embla__dot.is-selected {
4571    background: linear-gradient(180deg, #f8ca2a 0%, #ffbe32 100%);
4572  }
4573
4574  .cart__dots,
4575  .cart-page__dots {
4576    text-align: center;
4577    margin-top: 5px;
4578  }
4579</style>
4580
4581<script>
4582  
4583  
4584  
4585  
4586  
4587  
4588  function formatNumber(number){
4589    if( Number.isInteger(number)){
4590      return number
4591    }else{
4592      return number.toFixed(2)
4593    }
4594  }
4595  
4596  function getHashNumber() {
4597    let hash_number = localStorage.getItem(`abconvert-seed`)
4598    if (hash_number == null) {
4599        hash_number = Math.floor(Math.random() * 100).toString()
4600        localStorage.setItem(`abconvert-seed`, hash_number)
4601    }
4602    return hash_number
4603}
4604  
4605  //@added by abconvert
4606  function handleAudienceFilter(urlParamsValue, { operator, value, action, groupIndex = 0 }, notMatchAction){
4607    //trun into switch case
4608    switch (operator) {
4609        case AUDIENCE_FILTERING_OPERATOR.CONTAIN:
4610            if (urlParamsValue.includes(value)) {
4611                return handleAction({ action, groupIndex })
4612            } else {
4613                return -1
4614            }
4615        case AUDIENCE_FILTERING_OPERATOR.NOT_CONTAIN:
4616            if (!urlParamsValue.includes(value)) {
4617                return handleAction({ action, groupIndex })
4618            } else {
4619                return -1
4620            }
4621        case AUDIENCE_FILTERING_OPERATOR.EQUAL:
4622            if (urlParamsValue === value) {
4623                return handleAction({ action, groupIndex })
4624            } else {
4625                return -1
4626            }
4627        case AUDIENCE_FILTERING_OPERATOR.NOT_EQUAL:
4628            if (urlParamsValue !== value) {
4629                return handleAction({ action, groupIndex })
4630            } else {
4631                return -1
4632            }
4633        default:
4634            return -1;
4635    }
4636}
4637
4638function handleAction({ action, groupIndex = 0 }){
4639    //rewrite the below code to switch case
4640    switch (action) {
4641        case AUDIENCE_FILTERING_ACTION.ASSIGN_TEST_GROUP:
4642            return groupIndex
4643        case AUDIENCE_FILTERING_ACTION.ASSIGN_RANDOM:
4644            return 'random'
4645        case AUDIENCE_FILTERING_ACTION.EXCLUDE:
4646            return 0
4647        default:
4648            return 0
4649    }
4650
4651}
4652  function getGroupIndex(percentages, isFilteredByCountry = false, filteredCountriesMap = null, isFilteredByAudience = false, audienceFilterList = [], audienceFilterNotMatchAction = null) {
4653    if (isFilteredByCountry) {
4654        const countryCode = getCountryCode()
4655        //@ts-ignore
4656        if (filteredCountriesMap && !filteredCountriesMap[countryCode]) {
4657            return 0
4658        }
4659    }
4660    if (isFilteredByAudience && audienceFilterList.length && audienceFilterNotMatchAction) {
4661        //@type {(number| string)}
4662        let groupIndex;
4663        groupIndex = -1;
4664        for (let i = 0; i < audienceFilterList.length; i++) {
4665            const audienceFilter = audienceFilterList[i]
4666            const trafficSource = audienceFilter.trafficSource
4667            const urlParamsValue = localStorage.getItem(trafficSource)
4668            if (urlParamsValue) {
4669                //check if the url param value match the audience filter and return the group index
4670                groupIndex = handleAudienceFilter(urlParamsValue, audienceFilter, audienceFilterNotMatchAction)
4671            }
4672            if (groupIndex != -1) break
4673        }
4674        if (groupIndex == -1) {
4675            //no match audience filter, return the not match action
4676            groupIndex = handleAction(audienceFilterNotMatchAction)
4677
4678        }
4679        if (groupIndex != 'random') {
4680            //if the group index is not random, return the group index
4681            return groupIndex
4682        }
4683    }
4684
4685    //start randomly assign group
4686    const hash_number = getHashNumber()
4687    let accumulateNumber = 0;
4688    let groupIndex;
4689    for (groupIndex = 0; groupIndex < percentages.length; ++groupIndex) {
4690        accumulateNumber += percentages[groupIndex]
4691        if (Number(hash_number) < accumulateNumber) {
4692            return groupIndex
4693        }
4694    }
4695    return groupIndex
4696}
4697  function getCountryCode() {
4698    return localStorage.getItem('abconvert-country')
4699}
4700function getPreviewCountryCode() {
4701    return window.sessionStorage.getItem('abconvert-country')
4702}
4703  function getPreviewNumber() {
4704    const url = new URLSearchParams(location.search)
4705    const previewNumber = url.get('preview')
4706    const countryCode = url.get('countryCode')
4707    if (countryCode) {
4708        window.sessionStorage.setItem('abconvert-country', countryCode)
4709    }
4710    if (previewNumber && !isNaN(Number(previewNumber))) {
4711        window.sessionStorage.setItem('abconvert-preview-number', previewNumber)
4712        return url.get('preview')
4713    } else {
4714        return window.sessionStorage.getItem('abconvert-preview-number')
4715    }
4716
4717}
4718  function _getGroupIndex(data) {
4719    let groupIndex;
4720    let previewNumber = getPreviewNumber()
4721    if (previewNumber && !isNaN(Number(previewNumber))) {
4722        if (previewNumber >= data.testPercentages.length) {
4723            groupIndex = 0
4724        } else {
4725            let showOriginal = false
4726            if (data.isFilteredByCountry && data.filteredCountriesMap) {
4727                const countryCode = getPreviewCountryCode()
4728                if (countryCode && !data.filteredCountriesMap[countryCode]) {
4729                    showOriginal = true
4730                }
4731            }
4732            if (showOriginal) {
4733                groupIndex = 0
4734            } else {
4735                groupIndex = previewNumber
4736            }
4737        }
4738    } else {
4739        groupIndex = getGroupIndex(data.testPercentages, data.isFilteredByCountry, data.filteredCountriesMap, data.isFilteredByAudience, data.audienceFilterList, data.audienceFilterNotMatchAction)
4740
4741    }
4742    return groupIndex
4743  }
4744    const drawerToggleOptions = (selector) => selector.parentNode.classList.toggle("active");
4745
4746    async function handleSubButtons(subButton, toggleButton) {
4747      let requestObject = {}, loader, quantity;
4748      if (toggleButton) {
4749        loader = toggleButton.closest(".col-span-4").parentNode.querySelector(".custom-item-loader");
4750        quantity = toggleButton.closest(".col-span-4").parentNode.querySelector("input.quantity__input").value;
4751        if (toggleButton.checked) {
4752          const defaultSub = toggleButton.closest(".col-span-4").parentNode.querySelectorAll(".cart-sub-select")[1];
4753          requestObject = {
4754            line: defaultSub.dataset.line,
4755            quantity,
4756            selling_plan: defaultSub.dataset.subid,
4757          }
4758        } else {
4759          requestObject = {
4760            line: toggleButton.dataset.line,
4761            quantity,
4762            selling_plan: null,
4763          }
4764        }
4765      } else {
4766        subButton.parentNode.classList.add("hidden");
4767        loader = subButton.closest(".cart-item").querySelector(".custom-item-loader");
4768        quantity = subButton.closest(".cart-item").querySelector("input.quantity__input").value;
4769        requestObject = {
4770          line: subButton.dataset.line,
4771          quantity,
4772          selling_plan: subButton.dataset.subid,
4773        }
4774      }
4775
4776      requestObject.sections = ["cart-drawer-new", "cart-icon-bubble"];
4777
4778      loader.classList.remove("hidden");
4779      const response = await fetch("/cart/change.js", {
4780        body: JSON.stringify(requestObject),
4781        credentials: "same-origin",
4782        headers: {
4783            "Content-Type": "application/json",
4784            "X-Requested-With": "xmlhttprequest",
4785        },
4786        method: "POST",
4787      }).then(function (response) {
4788          return response;
4789      }).then(async function (res) {
4790        const json = await res.json();
4791        const cartForm = new DOMParser().parseFromString(json.sections['cart-drawer-new'], 'text/html').getElementById('CartDrawer-Form').innerHTML;
4792        const cartBubble = new DOMParser().parseFromString(json.sections['cart-icon-bubble'], 'text/html').getElementById('shopify-section-cart-icon-bubble').innerHTML;
4793        const interestFreePaymentsStrong = new DOMParser().parseFromString(json.sections['cart-drawer-new'], 'text/html').querySelector('.interest_free_payments_strong').innerHTML;
4794
4795        const upsells = new DOMParser().parseFromString(json.sections['cart-drawer-new'], 'text/html').querySelectorAll('upsells .custom-upsell-product-data-wrapper');
4796        document.querySelectorAll("upsells .custom-upsell-product-data-wrapper").forEach((e, i) => {
4797          e.innerHTML = upsells[i].innerHTML;
4798        });
4799
4800        document.querySelector('#CartDrawer-Form').innerHTML = cartForm;
4801        document.querySelector('#cart-icon-bubble').innerHTML = cartBubble;
4802        document.querySelector('.interest_free_payments_strong').innerHTML = interestFreePaymentsStrong;
4803        console.log('inside drawer')
4804        handleShippingProgressbar();
4805        loader.classList.add("hidden");
4806        if (document.querySelector('cart-drawer').classList.contains('is-empty')) {
4807          document.querySelector('cart-drawer').classList.remove('is-empty');
4808          document.querySelector('cart-drawer-items').classList.remove('is-empty');
4809          document.querySelector('#CartDrawer-Checkout').disabled = false;
4810        }
4811
4812        document.querySelector('cart-drawer').open();
4813
4814        document.querySelector('#CartDrawer-Form').scrollIntoView({block: 'start', behavior: 'smooth'});
4815      })
4816      .catch(function (err) {
4817          console.error(err);
4818      });
4819    }
4820
4821    async function addShipping(object) {
4822       console.log('add shipping')
4823      fetch("/cart/add.js", {
4824          body: JSON.stringify(object),
4825          credentials: "same-origin",
4826          headers: {
4827              "Content-Type": "application/json",
4828              "X-Requested-With": "xmlhttprequest",
4829          },
4830          method: "POST",
4831      })
4832      .then(function (response) {
4833          return response.json();
4834      })
4835      .then(function (json) {
4836        document.querySelector('#CartDrawer-Checkout').click();
4837      })
4838      //   .then(getItems())
4839      .catch(function (err) {
4840          console.error(err);
4841      });
4842    }
4843
4844    async function changeShipping(object) {
4845       console.log('change')
4846      fetch("/cart/change.js", {
4847          body: JSON.stringify(object),
4848          credentials: "same-origin",
4849          headers: {
4850              "Content-Type": "application/json",
4851              "X-Requested-With": "xmlhttprequest",
4852          },
4853          method: "POST",
4854      })
4855      .then(function (response) {
4856          return response.json();
4857      })
4858      .then(function (json) {
4859        document.querySelector('#CartDrawer-Checkout').click();
4860      })
4861      //   .then(getItems())
4862      .catch(function (err) {
4863          console.error(err);
4864      });
4865    }
4866
4867    async function addItems(object, svg, target) {
4868      fetch(`${window.Shopify.routes.root}/cart/add.js`, {
4869              body: JSON.stringify(object),
4870              credentials: "same-origin",
4871              headers: {
4872                  "Content-Type": "application/json",
4873                  "X-Requested-With": "xmlhttprequest",
4874              },
4875              method: "POST",
4876          })
4877          .then(function (response) {
4878              return response.json();
4879          })
4880          .then(function (json) {
4881            const cartForm = new DOMParser().parseFromString(json.sections['cart-drawer-new'], 'text/html').getElementById('CartDrawer-Form');
4882            const cartBubble = new DOMParser().parseFromString(json.sections['cart-icon-bubble'], 'text/html').getElementById('shopify-section-cart-icon-bubble').innerHTML;
4883            const interestFreePaymentsStrong = new DOMParser().parseFromString(json.sections['cart-drawer-new'], 'text/html').querySelector('.interest_free_payments_strong').innerHTML;
4884
4885            const upsells = new DOMParser().parseFromString(json.sections['cart-drawer-new'], 'text/html').querySelectorAll('upsells .custom-upsell-product-data-wrapper');
4886            document.querySelectorAll("upsells .custom-upsell-product-data-wrapper").forEach((e, i) => {
4887              e.innerHTML = upsells[i].innerHTML;
4888            });
4889
4890            document.querySelector('#CartDrawer-Form').innerHTML = cartForm.innerHTML;
4891            document.querySelector('#cart-icon-bubble').innerHTML = cartBubble;
4892            console.log('inside drawer 2')
4893            handleShippingProgressbar();
4894            document.querySelector('.interest_free_payments_strong').innerHTML = interestFreePaymentsStrong;
4895            svg.classList.add('hidden');
4896            if(document.querySelector('cart-drawer').classList.contains('is-empty')){
4897              document.querySelector('cart-drawer').classList.remove('is-empty');
4898              document.querySelector('cart-drawer-items').classList.remove('is-empty');
4899              document.querySelector('#CartDrawer-Checkout').disabled = false;
4900            }
4901            document.querySelector('#CartDrawer-Form').scrollIntoView({ block: 'start',  behavior: 'smooth' });
4902    
4903            const itemsInCart = cartForm.querySelectorAll(".cart-item").length;
4904            
4905            if (target.classList.contains("custom-add-to-cart") && itemsInCart > 1) {
4906              const fbwNext = document.querySelector(".fbw-embla-wrapper .embla__button--next");
4907              fbwNext.click();
4908            }
4909          })
4910          //   .then(getItems())
4911          .catch(function (err) {
4912              console.error(err);
4913          });
4914    }
4915      const ToggleProductOpt = selector => {
4916        selector.parentNode.classList.toggle("active");
4917        document.querySelectorAll(".productOptSelectorSellingPlans").forEach(e => e.classList.remove("active"));
4918      };
4919      const TogglePlansOpt = selector => {
4920        selector.parentNode.classList.toggle("active");
4921        document.querySelectorAll(".productOptSelector").forEach(e => e.classList.remove("active"));
4922      };
4923  
4924      function SelectProductOpt(option) {
4925        const selector = option.parentNode.parentNode;
4926        
4927        const prices = selector.closest(".product_opt_wrapper").querySelector(".productBuyCardPrice").dataset;
4928        const priceDiv = selector.closest(".product_opt_wrapper").querySelector(".productBuyCardPrice");
4929
4930        const subToggled = selector.closest(".product_opt_wrapper").querySelector(".productOptSubToggle").querySelector(".sr-only.peer").checked;
4931        if(window.abconvertDict){
4932          const productId = selector.closest(".product_opt_wrapper").dataset.productId;
4933          console.log('productId: ', productId)
4934          const data = window.abconvertDict[productId];
4935          if(data){
4936            
4937            console.log('data exisits', data)
4938            const groupIndex = _getGroupIndex(data);
4939            if(groupIndex!=0){
4940            
4941            const original2ozId = prices['4ozId']
4942            console.log('groupIndex: ', groupIndex)
4943            const original4ozId = prices['4ozId']
4944            console.log('original4ozId: ', original4ozId)
4945            const original8ozId = prices['8ozId'] 
4946            console.log('original8ozId: ', original8ozId)
4947            const replace2ozId = data.variantToVariant[groupIndex][original2ozId]
4948            const replace4ozId = data.variantToVariant[groupIndex][original4ozId]
4949            const replace8ozId = data.variantToVariant[groupIndex][original8ozId]
4950            const replace2ozPrice = data.variantToPrice[replace2ozId]
4951            const replace4ozPrice = data.variantToPrice[replace4ozId]
4952            const replace8ozPrice = data.variantToPrice[replace8ozId]
4953            const sub2ozPrice= replace2ozPrice*0.8
4954            const sub4ozPrice= replace4ozPrice*0.8
4955            const sub8ozPrice= replace8ozPrice*0.8
4956            console.log('repalce 4oz price', replace4ozPrice)
4957            console.log('repalce 8oz price', replace8ozPrice)
4958            console.log('sub 4oz price', sub4ozPrice)
4959            console.log('sub 8oz price', sub8ozPrice)
4960            console.log('prices before change', prices)
4961            prices["2ozprice"] = `$${formatNumber(sub2ozPrice)}`
4962            prices["4ozprice"] = `$${formatNumber(sub4ozPrice)}`
4963            prices["8ozprice"] = `$${formatNumber(sub8ozPrice)}`
4964            prices["unsub2ozprice"] = `$${formatNumber(replace2ozPrice)}`
4965            prices["unsub4ozprice"] = `$${formatNumber(replace4ozPrice)}`
4966            prices["unsub8ozprice"] = `$${formatNumber(replace8ozPrice)}`
4967            console.log('prices after change', prices)
4968            selector.closest(".product_opt_wrapper").querySelector(".productBuyCardPrice").textContent = `$${formatNumber(replace8ozPrice)}`
4969          }
4970          }
4971        }
4972        if (subToggled) {
4973          if (option.innerText.includes("4oz")) {
4974              priceDiv.innerText = prices["4ozprice"];
4975          } else if (option.innerText.includes("8oz")) {
4976            priceDiv.innerText = prices["8ozprice"]
4977          } else {
4978            priceDiv.innerText = prices["2ozprice"]
4979          };
4980        } else {
4981          if (option.innerText.includes("4oz")) {
4982            priceDiv.innerText = prices["unsub4ozprice"];
4983          } else if (option.innerText.includes("8oz")) {
4984            priceDiv.innerText = prices["unsub8ozprice"]
4985          } else {
4986            priceDiv.innerText = prices["unsub2ozprice"]
4987          };
4988        }
4989
4990        selector.querySelector(".productOptSelected p").innerText = option.querySelector("p").innerText;
4991  
4992        option.parentNode.querySelector(".cart-product-opt.active").classList.remove("active");
4993        option.classList.add("active");
4994  
4995        selector.classList.remove("active");
4996
4997        const optSellingPlansParent = option.parentNode.parentNode.nextElementSibling;
4998        const currentlyActive = optSellingPlansParent.querySelector(`.productOptSelectorSellingPlansOption.variant-${option.innerText.trim()}.active`);
4999        optSellingPlansParent.querySelector(".productOptSelectorSellingPlansSelected p").innerHTML = currentlyActive.querySelector("p").innerHTML;
5000        
5001        optSellingPlansParent.querySelector(".productOptSelectorSellingPlansOptions").querySelectorAll(".productOptSelectorSellingPlansOption").forEach(e => {
5002          if (e.classList.contains(`variant-${option.innerText.trim()}`)) {
5003            e.classList.add("active-var");
5004          } else {
5005            e.classList.remove("active-var");
5006          }
5007        });
5008      }
5009
5010      function SelectPlanOpt(option) {
5011        const selector = option.parentNode.parentNode;
5012        selector.querySelector(".productOptSelectorSellingPlansSelected p").innerHTML = option.querySelector("p").innerHTML;
5013
5014        option.parentNode.querySelector(".productOptSelectorSellingPlansOption.active-var.active").classList.remove("active");
5015        option.classList.add("active");
5016
5017        selector.classList.remove("active");
5018      }
5019      function togglePeer(ev) {
5020        const optWrapper = ev.closest(".product_opt_wrapper");
5021        const prices = ev.closest(".product_opt_wrapper").querySelector(".productBuyCardPrice").dataset;
5022        const selectedVariant = ev.closest(".product_opt_wrapper").querySelector(".productOptSelected p").innerText;
5023        const priceDiv = ev.closest(".product_opt_wrapper").querySelector(".productBuyCardPrice");
5024        
5025        if (ev.checked) {
5026          optWrapper.querySelector(".productOptSelectorSellingPlans").style.display = "block";
5027          if (selectedVariant === "4oz") {
5028            priceDiv.innerText = prices["4ozprice"];
5029          } else if (selectedVariant === "8oz") {
5030            priceDiv.innerText = prices["8ozprice"]
5031          } else {
5032            priceDiv.innerText = prices["2ozprice"]
5033          };
5034        } else {
5035          optWrapper.querySelector(".productOptSelectorSellingPlans").style.display = "none";
5036          if (selectedVariant === "4oz") {
5037            priceDiv.innerText = prices["unsub4ozprice"];
5038          } else if (selectedVariant === "8oz") {
5039            priceDiv.innerText = prices["unsub8ozprice"]
5040          } else {
5041            priceDiv.innerText = prices["unsub2ozprice"]
5042          };
5043        }
5044      }
5045
5046      document.addEventListener('DOMContentLoaded', function() {
5047        document.querySelectorAll(".cart-product-opt").forEach((item)=>{
5048          item.addEventListener('click', (e)=>{
5049            item.parentNode.querySelector('.cart-product-opt.active').classList.remove('active');
5050            item.classList.add('active');
5051          })
5052        })
5053
5054        document.querySelectorAll(".custom-add-to-cart-no-sub").forEach((item)=>{
5055            item.addEventListener('click', async (e)=>{
5056            const svg = item.querySelector('svg');
5057            svg.classList.remove('hidden');
5058            const variantId = item.dataset.variantId;
5059
5060            const object = {
5061              items: [
5062                {
5063                  id: variantId,
5064                  quantity: 1,
5065                }
5066              ],
5067              sections: ["cart-drawer-new", "cart-icon-bubble"]
5068            }
5069
5070            addItems(object, svg, item);
5071          })
5072        })
5073
5074        document.querySelectorAll(".custom-add-to-cart-one-variant-sub").forEach((item)=>{
5075            item.addEventListener('click', async (e)=>{
5076            const svg = item.querySelector('svg');
5077            svg.classList.remove('hidden');
5078            const variantId = item.dataset.variantId;
5079            const sellingPlanId = item.dataset.sellingPlanId;
5080
5081            const object = {
5082              items: [
5083                {
5084                  id: variantId,
5085                  quantity: 1,
5086                  selling_plan: sellingPlanId,
5087                }
5088              ],
5089              sections: ["cart-drawer-new", "cart-icon-bubble"]
5090            }
5091
5092            addItems(object, svg, item);
5093          })
5094        })
5095
5096        document.querySelectorAll(".custom-add-to-cart").forEach((item)=>{
5097            item.addEventListener('click', async (e)=>{
5098            const svg = item.querySelector('svg');
5099            svg.classList.remove('hidden');
5100            const variantId = item.parentNode.querySelector(".cart-product-opt.active").dataset.variantId;
5101            const handle = item.parentNode.querySelector(".cart-product-opt.active").dataset.handle;
5102            const variantTitle = item.parentNode.querySelector(".cart-product-opt.active").dataset.variantTitle.replace("*","");
5103
5104            let sellingPlan = null;
5105
5106            if (item.parentNode.querySelector(".productOptSubTogglePeer input").checked) {
5107              sellingPlan = item.parentNode.querySelector(`.productOptSelectorSellingPlansOption.variant-${variantTitle}.active`).dataset.index;
5108            }
5109
5110            const object = {
5111              items: [
5112                {
5113                  id: variantId,
5114                  quantity: 1,
5115                  selling_plan: sellingPlan
5116                }
5117              ],
5118              sections: ["cart-drawer-new", "cart-icon-bubble"]
5119            }
5120
5121            addItems(object, svg, item);
5122          })
5123        })
5124
5125        var emblaNode = document.querySelector('.embla-cart')
5126        var emblaViewport = emblaNode.querySelector('.embla__viewport');
5127        var options = { draggable: true }
5128
5129        // Grab button nodes
5130        const prevButtonNode = document.querySelector('.embla__prev')
5131        const nextButtonNode = document.querySelector('.embla__next')
5132
5133        var embla = EmblaCarousel(emblaViewport, options)
5134
5135        emblaNode.emblaApi = embla;
5136
5137        embla.on("settle", () => {
5138          worksBestPopup.forEach(el => {
5139            el.classList.add("hidden")
5140          })
5141        })
5142
5143
5144        prevButtonNode.addEventListener('click', embla.scrollPrev, false)
5145        nextButtonNode.addEventListener('click', embla.scrollNext, false)
5146
5147        const cartDots = document.querySelector(
5148          ".cart__dots"
5149        );
5150
5151        const cartDotsArray = generateDotBtns(cartDots, embla);
5152        const setSelectedDotBtn = selectDotBtn(cartDotsArray, embla);
5153
5154        setupDotBtns(cartDotsArray, embla);
5155
5156        embla.on("select", setSelectedDotBtn);
5157        embla.on("init", setSelectedDotBtn);
5158
5159        const currTime = new Date();
5160
5161        let arrivalTime;
5162
5163        const weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
5163ay","Saturday"];
5164        const month = ["January","February","March","April","May","June","July","August","September","October","November","December"];
5165
5166        if (currTime.getHours() < 6){
5167          arrivalTime = currTime.setDate(currTime.getDate() + 4);
5168        } else if(currTime.getHours() >= 6){
5169          arrivalTime = currTime.setDate(currTime.getDate() + 5);
5170        }
5171
5172        arrivalTime = new Date(arrivalTime);
5173
5174
5175    document.querySelectorAll(".shipping-date").forEach(el => {
5176      el.innerText = `${weekday[arrivalTime.getDay()]}, ${month[arrivalTime.getMonth()]} ${arrivalTime.getDate()}`;
5177    })
5178
5179
5180        document.querySelector('.submit-overlay')?.addEventListener('click', function(event) {
5181          document.querySelector('#CartDrawer-Checkout svg').classList.remove('hidden');
5182          // Variant Id selected by calculated subtotal
5183          let variantId;
5184          if(Number(document.querySelector('.totals__subtotal-value b').textContent.trim().replace('$', '')) <= 49){
5185            variantId = 42637693583538;
5186          } else{
5187            variantId = 42637693616306;
5188          }
5189
5190          // Navidium Selling Plan names and Ids
5191          const navidiumObject = {
5192            
5193              0: 2593915058,
5194            
5195              0: 2593947826,
5196            
5197              0: 2593980594,
5198            
5199              0: 2594013362,
5200            
5201          }
5202
5203          // Array of Subscroption items in cart
5204          const subCartItems = document.querySelectorAll('.cart-item:not(.isShipping) .selling_plan-id');
5205
5206          // Find Most Frequent Sub in Cart Items
5207
5208          let freqSubCartItem = 100;
5209
5210          subCartItems.forEach((item)=>{
5211            let currNum = Number(item.innerText.match(/\d/g).join(''));
5212            if(freqSubCartItem > currNum){
5213              freqSubCartItem = currNum;
5214            }
5215          })
5216
5217          const subscriptionId = navidiumObject[freqSubCartItem];
5218
5219          if(!document.querySelector('.isShipping')){
5220            if(subCartItems.length > 0){
5221              addShipping({items: [
5222                {
5223                  id: variantId,
5224                  quantity: 1,
5225                  selling_plan: subscriptionId
5226                }
5227              ]})
5228
5229              sessionStorage.setItem("subid", subscriptionId);
5230            } else {
5231              addShipping({items: [
5232                {
5233                  id: variantId,
5234                  quantity: 1,
5235                }
5236              ]})
5237            }
5238          } else {
5239            const cartItems = document.querySelectorAll('.cart-item');
5240            let navidiumLine;
5241
5242            cartItems.forEach((item, index) => {
5243                if(item.classList.contains('isShipping')) {
5244                  navidiumLine = index + 1;
5245                }
5246            });
5247            if(subCartItems.length <= 0){
5248              changeShipping({
5249                'line': navidiumLine,
5250                'selling_plan': null
5251              })
5252
5253              sessionStorage.removeItem("subid");
5254            } else{
5255              const currNavFreq = Number(document.querySelector('.isShipping .selling_plan-id')?.innerText.match(/\d/g).join(''));
5256
5257              if(currNavFreq !== freqSubCartItem){
5258                changeShipping({
5259                  'line': navidiumLine,
5260                  'selling_plan': subscriptionId
5261                })
5262
5263                sessionStorage.setItem("subid", subscriptionId);
5264              } else{
5265                document.querySelector('#CartDrawer-Checkout').click();
5266              }
5267            }
5268          }
5269        });
5270
5271
5272        function isIE() {
5273          const ua = window.navigator.userAgent;
5274          const msie = ua.indexOf('MSIE ');
5275          const trident = ua.indexOf('Trident/');
5276
5277          return (msie > 0 || trident > 0);
5278        }
5279
5280        if (!isIE()) return;
5281        const cartSubmitInput = document.createElement('input');
5282        cartSubmitInput.setAttribute('name', 'checkout');
5283        cartSubmitInput.setAttribute('type', 'hidden');
5284        document.querySelector('#cart').appendChild(cartSubmitInput);
5285        document.querySelector('#checkout').addEventListener('click', function(event) {
5286          document.querySelector('#cart').submit();
5287        });
5288      });
5289</script>
5289
5290</div><section id="shopify-section-custom-announcement-bar" class="shopify-section custom-announcement-bar"><div class="fixed top-0 left-0 w-full z-[100]">
5291  
5292    <div class="upper-header">
5293      <div class="text-center bg-gray-600">
5294        <p class="md:block announcement-mainab  announcement-text text-sm py-2 text-white leading-sm">
5295          Dream Curls Bundle at 60% OFF! -
5296          <a href="/pages/dream-curls-5" class="font-bold">SHOP NOW</a>
5297        </p>
5298      </div>
5299    </div>
5300  
5301</div>
5302
5303
5304</section>
5305    <div id="shopify-section-custom-header" class="shopify-section section-header"><link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-list-menu.css?v=151968516119678728991781941838" media="print" onload="this.media='all'">
5306<link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-search.css?v=166522126541177260421781941836" media="print" onload="this.media='all'">
5307<link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-menu-drawer.css?v=66236251903988809561781941836" media="print" onload="this.media='all'">
5308<link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-cart-notification.css?v=183358051719344305851781941835" media="print" onload="this.media='all'">
5309<link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-cart-items.css?v=165289501879405969861781941834" media="print" onload="this.media='all'"><link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-price.css?v=65402837579211014041781941835" media="print" onload="this.media='all'">
5310  <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-loading-overlay.css?v=167310470843593579841781941835" media="print" onload="this.media='all'"><link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-cart-drawer-new.css?v=113889239336760122541781941837" media="print" onload="this.media='all'">
5311  <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-cart.css?v=93083501925647814601781941835" media="print" onload="this.media='all'">
5312  <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-totals.css?v=86168756436424464851781941838" media="print" onload="this.media='all'">
5313  <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-price.css?v=65402837579211014041781941835" media="print" onload="this.media='all'">
5314  <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-discounts.css?v=152760482443307489271781941837" media="print" onload="this.media='all'">
5315  <link rel="stylesheet" href="//chebeauty.com/cdn/shop/t/163/assets/component-loading-overlay.css?v=167310470843593579841781941835" media="print" onload="this.media='all'">
5316  <noscript>
5317    <link href="//chebeauty.com/cdn/shop/t/163/assets/component-cart-drawer-new.css?v=113889239336760122541781941837" rel="stylesheet" type="text/css" media="all" />
5318    <link href="//chebeauty.com/cdn/shop/t/163/assets/component-cart.css?v=93083501925647814601781941835" rel="stylesheet" type="text/css" media="all" />
5319    <link href="//chebeauty.com/cdn/shop/t/163/assets/component-totals.css?v=86168756436424464851781941838" rel="stylesheet" type="text/css" media="all" />
5320    <link href="//chebeauty.com/cdn/shop/t/163/assets/component-price.css?v=65402837579211014041781941835" rel="stylesheet" type="text/css" media="all" />
5321    <link href="//chebeauty.com/cdn/shop/t/163/assets/component-discounts.css?v=152760482443307489271781941837" rel="stylesheet" type="text/css" media="all" />
5322    <link href="//chebeauty.com/cdn/shop/t/163/assets/component-loading-overlay.css?v=167310470843593579841781941835" rel="stylesheet" type="text/css" media="all" />
5323  </noscript><noscript><link href="//chebeauty.com/cdn/shop/t/163/assets/component-list-menu.css?v=151968516119678728991781941838" rel="stylesheet" type="text/css" media="all" /></noscript>
5324<noscript><link href="//chebeauty.com/cdn/shop/t/163/assets/component-search.css?v=166522126541177260421781941836" rel="stylesheet" type="text/css" media="all" /></noscript>
5325<noscript><link href="//chebeauty.com/cdn/shop/t/163/assets/component-menu-drawer.css?v=66236251903988809561781941836" rel="stylesheet" type="text/css" media="all" /></noscript>
5326<noscript><link href="//chebeauty.com/cdn/shop/t/163/assets/component-cart-notification.css?v=183358051719344305851781941835" rel="stylesheet" type="text/css" media="all" /></noscript>
5327<noscript><link href="//chebeauty.com/cdn/shop/t/163/assets/component-cart-items.css?v=165289501879405969861781941834" rel="stylesheet" type="text/css" media="all" /></noscript>
5328
5329<style>
5330  .custom_mobile_sticky_menu {
5331    transition: transform 0.15s ease-out;
5332  }
5333  header-drawer {
5334    justify-self: start;
5335    margin-left: -1.2rem;
5336  }
5337
5338  .header__heading-logo {
5339    max-width: 100px;
5340  }
5341
5342  @media screen and (min-width: 990px) {
5343    header-drawer {
5344      display: none;
5345    }
5346  }
5347
5348  .menu-drawer-container {
5349    display: flex;
5350  }
5351
5352  .list-menu {
5353    list-style: none;
5354    padding: 0;
5355    margin: 0;
5356  }
5357
5358  .list-menu--inline {
5359    display: inline-flex;
5360    flex-wrap: wrap;
5361  }
5362
5363  summary.list-menu__item {
5364    padding-right: 2.7rem;
5365  }
5366
5367  .list-menu__item {
5368    display: flex;
5369    justify-content: space-between;
5370    align-items: center;
5371    line-height: calc(1 + 0.3 / var(--font-body-scale));
5372  }
5373
5374  .menu-drawer__menu-item.list-menu__item {
5375    opacity: 1 !important;
5376  }
5377
5378  .list-menu__item--link {
5379    text-decoration: none;
5380    padding-bottom: 1rem;
5381    padding-top: 1rem;
5382    line-height: calc(1 + 0.8 / var(--font-body-scale));
5383  }
5384
5385  @media screen and (min-width: 750px) {
5386
5387    .list-menu__item {
5388      }
5389
5390    .list-menu__item--link {
5391      padding-bottom: 0.5rem;
5392      padding-top: 0.5rem;
5393    }
5394  }
5395
5396  .collection_list.active .collection_list_child {
5397    opacity: 1 !important;
5398  }
5399  .collection_list.active .product_dropdown {
5400    display: block !important;
5401  }
5402  .collection_list.active .svg_arrow {
5403    transform: rotate(180deg) !important;
5404  }
5405  .megamenu-product:hover p {
5406    opacity: 1 !important;
5407  }
5408</style><style data-shopify>.header {
5409    padding-top: 10px;
5410    padding-bottom: 5px;
5411  }
5412
5413  .section-header {
5414    margin-bottom: 0px;
5415  }
5416
5417  @media screen and (min-width: 750px) {
5418    .section-header {
5419      margin-bottom: 0px;
5420    }
5421  }
5422
5423  @media screen and (min-width: 990px) {
5424    .header {
5425      padding-top: 10px;
5426      padding-bottom: 10px;
5427    }
5428  }</style><svg xmlns="http://www.w3.org/2000/svg" class="hidden">
5429  <symbol id="icon-search" viewbox="0 0 18 19" fill="none">
5430    <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/>
5431  </symbol>
5432
5433  <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17">
5434    <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
5435  </symbol>
5436</svg>
5437<sticky-header class="header-wrapper color-background-1 gradient header-wrapper--border-bottom">
5438  
5439  <header class="mt-[2.5em] md:mt-[2.35em] header header--middle-left header--mobile-center page-width header--has-menu">
5440    <div class="flex items-center gap-x-2 md:hidden"><header-drawer data-breakpoint="tablet">
5441          <details id="Details-menu-drawer-container" class="menu-drawer-container">
5442            <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu">
5443              <span>
5444                <svg width="28" height="28" viewBox="0 0 28 28" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" xmlns="http://www.w3.org/2000/svg">
5445<path d="M24.5 9.04297H3.5C3.02167 9.04297 2.625 8.6463 2.625 8.16797C2.625 7.68964 3.02167 7.29297 3.5 7.29297H24.5C24.9783 7.29297 25.375 7.68964 25.375 8.16797C25.375 8.6463 24.9783 9.04297 24.5 9.04297Z" fill="#0A0800"/>
5446<path d="M24.5 14.875H3.5C3.02167 14.875 2.625 14.4783 2.625 14C2.625 13.5217 3.02167 13.125 3.5 13.125H24.5C24.9783 13.125 25.375 13.5217 25.375 14C25.375 14.4783 24.9783 14.875 24.5 14.875Z" fill="#0A0800"/>
5447<path d="M24.5 20.707H3.5C3.02167 20.707 2.625 20.3104 2.625 19.832C2.625 19.3537 3.02167 18.957 3.5 18.957H24.5C24.9783 18.957 25.375 19.3537 25.375 19.832C25.375 20.3104 24.9783 20.707 24.5 20.707Z" fill="#0A0800"/>
5448</svg>
5449
5450                
5451              </span>
5452            </summary>
5453            <div id="menu-drawer" class="gradient menu-drawer motion-reduce" tabindex="-1">
5454              <div class="menu-drawer__inner-container">
5455                <div class="menu-drawer__navigation-container">
5456                  <nav class="menu-drawer__navigation">
5457                    <div class="flex items-center flex-row-reverse justify-between px-4 mt-4">
5458                      <svg class="drawer_custom_close" width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
5459                        <mask id="mask0_7549_47265" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="25">
5460                        <rect y="0.5" width="24" height="24" fill="#D9D9D9"/>
5461                        </mask>
5462                        <g mask="url(#mask0_7549_47265)">
5463                        <path d="M12 13.5543L6.92689 18.6274C6.78844 18.7658 6.6144 18.8367 6.40479 18.8399C6.19519 18.8431 6.01795 18.7723 5.87309 18.6274C5.7282 18.4825 5.65576 18.3069 5.65576 18.1005C5.65576 17.8941 5.7282 17.7184 5.87309 17.5736L10.9462 12.5005L5.87309 7.42737C5.73462 7.28892 5.66379 7.11489 5.66059 6.90527C5.65737 6.69568 5.7282 6.51844 5.87309 6.37357C6.01795 6.22869 6.19359 6.15625 6.39999 6.15625C6.60639 6.15625 6.78202 6.22869 6.92689 6.37357L12 11.4466L17.0731 6.37357C17.2115 6.23511 17.3856 6.16427 17.5952 6.16107C17.8048 6.15786 17.982 6.22869 18.1269 6.37357C18.2718 6.51844 18.3442 6.69407 18.3442 6.90047C18.3442 7.10687 18.2718 7.28251 18.1269 7.42737L13.0538 12.5005L18.1269 17.5736C18.2654 17.712 18.3362 17.8861 18.3394 18.0957C18.3426 18.3053 18.2718 18.4825 18.1269 18.6274C17.982 18.7723 17.8064 18.8447 17.6 18.8447C17.3936 18.8447 17.218 18.7723 17.0731 18.6274L12 13.5543Z" fill="#0A0800"/>
5464                        </g>
5465                      </svg>
5466                      <a href="/"><svg width="111" height="31" viewBox="0 0 111 31" fill="none" xmlns="http://www.w3.org/2000/svg">
5467                        <g clip-path="url(#clip0_7549_47268)">
5468                        <path d="M6.9375 12.5625H7.19531C8.53906 12.5625 9.8125 12.9492 11.0156 13.7227L10.8047 15.832C10.7656 16.0742 10.6172 16.1953 10.3594 16.1953H10.3125C10.0938 16.1719 9.93359 16.0391 9.83203 15.7969C9.54297 15.1641 9.16797 14.7109 8.70703 14.4375C8.26172 14.1719 7.71094 14.0391 7.05469 14.0391H6.78516C6.01953 14.0781 5.42969 14.2969 5.01562 14.6953C4.63281 15.0703 4.34766 15.5273 4.16016 16.0664C3.96484 16.6211 3.86719 17.2383 3.86719 17.918C3.86719 18.1445 3.87891 18.3789 3.90234 18.6211C3.98047 19.7461 4.28125 20.6641 4.80469 21.375C5.49219 22.2891 6.24219 22.8047 7.05469 22.9219C7.17969 22.9453 7.3125 22.957 7.45312 22.957C8.09375 22.957 8.81641 22.7344 9.62109 22.2891C10.1211 22.0234 10.4766 21.8906 10.6875 21.8906C10.7969 21.8906 10.8984 21.9219 10.9922 21.9844C11.0625 22.0547 11.0977 22.1406 11.0977 22.2422C11.0977 22.3594 11.043 22.5352 10.9336 22.7695C10.8086 23.0352 10.6523 23.25 10.4648 23.4141C9.99609 23.8359 9.41406 24.125 8.71875 24.2812C8.03125 24.4453 7.38281 24.5273 6.77344 24.5273C5.24219 24.5195 3.95312 24.0938 2.90625 23.25C1.86719 22.4062 1.27734 21.207 1.13672 19.6523C1.10547 19.3086 1.08984 18.9688 1.08984 18.6328C1.08984 18.2031 1.11719 17.7852 1.17188 17.3789C1.28125 16.6602 1.55859 15.9453 2.00391 15.2344C2.47266 14.4766 3.13281 13.8555 3.98438 13.3711C4.84375 12.8789 5.82812 12.6094 6.9375 12.5625ZM15.832 22.2891C15.832 22.6953 16.0273 22.9688 16.418 23.1094C16.8086 23.2422 17.0039 23.457 17.0039 23.7539C17.0039 24.0742 16.8281 24.2344 16.4766 24.2344H12.5039C12.1445 24.2344 11.9648 24.0742 11.9648 23.7539C11.9648 23.457 12.1602 23.2422 12.5508 23.1094C12.9414 22.9688 13.1367 22.6953 13.1367 22.2891V9.26953C13.1367 8.87109 12.9414 8.60156 12.5508 8.46094C12.1602 8.32031 11.9648 8.09766 11.9648 7.79297C11.9648 7.47266 12.1406 7.3125 12.4922 7.3125C12.9766 7.28906 13.4609 7.21484 13.9453 7.08984C14.4375 6.95703 15.0664 6.76172 15.832 6.50391V13.6289C15.9883 13.5742 16.2305 13.4844 16.5586 13.3594C16.8867 13.2344 17.1992 13.1211 17.4961 13.0195C18.2461 12.7539 19.0195 12.582 19.8164 12.5039C19.9258 12.4961 20.0352 12.4922 20.1445 12.4922C20.8789 12.4922 21.5703 12.7383 22.2188 13.2305C23.2266 14.0039 23.7305 15.6172 23.7305 18.0703V22.2891C23.7305 22.6953 23.9258 22.9688 24.3164 23.1094C24.707 23.2422 24.9023 23.457 24.9023 23.7539C24.9023 24.0742 24.7266 24.2344 24.375 24.2344H21.5273C21.1992 24.2344 21.0352 24.1055 21.0352 23.8477V18.0703C21.0352 16.4141 20.7031 15.2617 20.0391 14.6133C19.6406 14.2227 19.1602 14.0273 18.5977 14.0273C18.2617 14.0273 17.8906 14.0938 17.4844 14.2266C17.3125 14.2891 17.0938 14.3711 16.8281 14.4727C16.5703 14.5664 16.3438 14.6523 16.1484 14.7305C15.9688 14.793 15.8633 14.832 15.832 
546814.8477V22.2891ZM26.0391 17.4961C26.2656 16.0039 26.8711 14.8008 27.8555 13.8867C28.8398 12.9727 30.1367 12.5078 31.7461 12.4922H31.793C33.4258 12.4922 34.6797 12.9609 35.5547 13.8984C36.4062 14.8359 36.832 16.043 36.832 17.5195C36.8242 17.8398 36.8086 18.1016 36.7852 18.3047C36.7617 18.5078 36.5078 18.6094 36.0234 18.6094H28.8516C28.875 19.6797 29.1758 20.6094 29.7539 21.3984C30.3398 22.1797 31.0625 22.6562 31.9219 22.8281C32.1719 22.8828 32.4258 22.9102 32.6836 22.9102C33.3711 22.9102 34.0859 22.707 34.8281 22.3008C35.3281 22.0352 35.6836 21.9023 35.8945 21.9023C36.0039 21.9023 36.1055 21.9336 36.1992 21.9961C36.2773 22.0742 36.3164 22.1641 36.3164 22.2656C36.3164 22.3984 36.2578 22.5703 36.1406 22.7812C36.0391 22.9922 35.9531 23.1328 35.8828 23.2031C35.8203 23.2734 35.7617 23.3359 35.707 23.3906C34.793 24.1797 33.5625 24.5742 32.0156 24.5742C29.8594 24.5586 28.2461 23.8711 27.1758 22.5117C26.3477 21.4648 25.9336 20.2305 25.9336 18.8086C25.9336 18.3867 25.9688 17.9492 26.0391 17.4961ZM28.8633 17.2852H34.4414C34.4414 16.5195 34.2344 15.7539 33.8203 14.9883C33.4609 14.3242 32.793 13.9922 31.8164 13.9922H31.6875C30.7109 14.0234 30 14.3945 29.5547 15.1055C29.1172 15.8086 28.8867 16.5352 28.8633 17.2852ZM41.5312 22.0312C41.7734 22.2734 42.1367 22.5117 42.6211 22.7461C43.1055 22.9805 43.5312 23.1016 43.8984 23.1094H43.9688C44.0547 23.1094 44.1602 23.0859 44.2852 23.0391C44.582 22.9297 44.8672 22.8281 45.1406 22.7344C45.4141 22.6328 45.6914 22.5273 45.9727 22.418C46.0977 22.3711 46.2148 22.293 46.3242 22.1836C46.7695 21.707 47.0742 21.1211 47.2383 20.4258C47.3633 19.8633 47.4258 19.3047 47.4258 18.75C47.4258 18.5859 47.4219 18.4297 47.4141 18.2812C47.3281 17.2031 47.043 16.332 46.5586 15.668C46.0586 14.9883 45.4492 14.543 44.7305 14.332C44.4414 14.2539 44.1562 14.2148 43.875 14.2148C43.7969 14.2148 43.7227 14.2188 43.6523 14.2266C43.5039 14.2422 43.3281 14.2852 43.125 14.3555C42.9453 14.4258 42.6641 14.5312 42.2812 14.6719C41.8984 14.8125 41.6484 14.9062 41.5312 14.9531V22.0312ZM41.0859 24.082C40.9297 24.0195 40.7305 23.9492 40.4883 23.8711C40.418 23.8477 40.3555 23.8359 40.3008 23.8359C40.2617 23.8359 40.2305 23.8477 40.207 23.8711C40.0508 24.0039 39.9453 24.1016 39.8906 24.1641C39.7969 24.2969 39.6641 24.3633 39.4922 24.3633C39.4062 24.3633 39.3281 24.3477 39.2578 24.3164C38.9688 24.2148 38.8242 24.0664 38.8242 23.8711V9.26953C38.8242 8.87109 38.6289 8.60156 38.2383 8.46094C37.8477 8.32031 37.6523 8.09766 37.6523 7.79297C37.6523 7.47266 37.8281 7.3125 38.1797 7.3125C38.6641 7.28906 39.1484 7.21484 39.6328 7.08984C40.125 6.95703 40.7578 6.76172 41.5312 6.50391V13.7578L44.3438 12.7148C44.6016 12.6211 44.8398 12.5664 45.0586 12.5508C45.1445 12.5508 45.2266 12.5547 45.3047 12.5625C45.3906 12.5625 45.4805 12.5625 45.5742 12.5625C46.7773 12.625 47.8047 13.1094 48.6562 14.0156C49.4844 14.9219 49.9609 16.0156 50.0859 17.2969C50.1172 17.625 50.1328 17.9492 50.1328 18.2695C50.1328 18.6836 50.1055 19.0859 50.0508 19.4766C49.9492 20.1719 49.6836 20.8594 49.2539 21.5391C49.0117 21.9297 48.6445 22.3125 48.1523 22.6875C47.9492 22.8359 47.7227 22.957 47.4727 23.0508C46.8477 23.2773 46.2227 23.5078 45.5977 23.7422C44.9727 23.9766 44.3438 24.207 43.7109 24.4336C43.5312 24.4961 43.3633 24.5273 43.207 24.5273H43.1484C42.625 24.5039 41.9883 24.3789 41.2383 24.1523C41.1602 24.1211 41.1094 24.0977 41.0859 24.082ZM51.1641 17.4961C51.3906 16.0039 51.9961 14.8008 52.9805 13.8867C53.9648 12.9727 55.2617 12.5078 56.8711 12.4922H56.918C58.5508 12.4922 59.8047 12.9609 60.6797 13.8984C61.5312 14.8359 61.957 16.043 61.957 17.5195C61.9492 17.8398 61.9336 18.1016 61.9102 18.3047C61.8867 18.5078 61.6328 18.6094 61.1484 18.6094H53.9766C54 19.6797 54.3008 20.6094 54.8789 21.3984C55.4648 22.1797 56.1875 22.6562 57.0469 22.8281C57.2969 22.8828 57.5508 22.9102 57.8086 22.9102C58.4961 22.9102 59.2109 22.707 59.9531 22.3008C60.4531 22.0352 60.8086 21.9023 61.0195 21.9023C61.1289 21.9023 61.2305 21.9336 61.3242 21.9961C61.4023 22.0742 61.4414 22.1641 61.4414 22.2656C61.4414 22.3984 61.3828 22.5703 61.2656 22.7812C61.1641 22.9922 61.0781 23.1328 61.0078 23.2031C60.9453 23.2734 60.8867 23.3359 60.832 23.3906C59.918 24.1797 58.6875 24.5742 57.1406 24.5742C54.9844 24.5586 53.3711 23.8711 52.3008 22.5117C51.4727 21.4648 51.0586 20.2305 51.0586 18.8086C51.0586 18.3867 51.0938 17.9492 51.1641 17.4961ZM53.9883 17.2852H59.5664C59.5664 16.5195 59.3594 15.7539 58.9453 14.9883C58.5859 14.3242 57.918 13.9922 56.9414 13.9922H56.8125C55.8359 14.0234 55.125 14.3945 54.6797 15.1055C54.2422 15.8086 54.0117 16.5352 53.9883 17.2852ZM71.3906 23.3438L68.5781 24.375C68.2891 24.4766 68.043 24.5273 67.8398 24.5273H67.3477C66.1445 24.4648 65.1211 23.9883 64.2773 23.0977C63.4258 22.1914 62.9414 21.0938 62.8242 19.8047C62.793 19.4766 62.7773 19.1562 62.7773 18.8438C62.7773 18.4297 62.8047 18.0273 62.8594 17.6367C62.9609 16.9414 63.2305 16.25 63.668 15.5625C63.8789 15.1953 64.2461 14.8125 64.7695 14.4141C64.9648 14.2812 65.1797 14.1641 65.4141 14.0625C66.0469 13.8281 66.6758 13.5938 67.3008 13.3594C67.9336 13.125 68.5664 12.8906 69.1992 12.6562C69.3711 12.5938 69.5352 12.5625 69.6914 12.5625H69.7617C70.293 12.5859 70.9336 12.7188 71.6836 12.9609C71.7617 12.9844 71.8086 13.0039 71.8242 13.0195C71.9805 13.082 72.1797 13.1523 72.4219 13.2305C72.4844 13.2539 72.543 13.2656 72.5977 13.2656C72.6445 13.2656 72.6836 13.2539 72.7148 13.2305C72.8633 13.1055 72.9648 13.0039 73.0195 12.9258C73.1211 12.793 73.2578 12.7266 73.4297 12.7266C73.5156 12.7266 73.5938 12.7422 73.6641 12.7734C73.9531 12.875 74.0977 13.0234 74.0977 13.2188
5468V22.2891C74.0977 22.6953 74.293 22.9688 74.6836 23.1094C75.0742 23.2422 75.2695 23.457 75.2695 23.7539C75.2695 24.0742 75.0898 24.2344 74.7305 24.2344H71.8828C71.5547 24.2344 71.3906 24.1055 71.3906 23.8477V23.3438ZM71.3906 15.0703C71.1406 14.8359 70.7695 14.6016 70.2773 14.3672C69.793 14.1328 69.3711 14.0078 69.0117 13.9922H68.9766C68.8672 13.9922 68.75 14.0156 68.625 14.0625C68.3438 14.1641 68.0625 14.2695 67.7812 14.3789C67.5078 14.4805 67.2305 14.582 66.9492 14.6836C66.8008 14.7461 66.6836 14.8242 66.5977 14.918C66.1445 15.4023 65.8398 15.9922 65.6836 16.6875C65.5508 17.2344 65.4844 17.7734 65.4844 18.3047C65.4844 18.4688 65.4922 18.6406 65.5078 18.8203C65.5938 19.9062 65.8867 20.7852 66.3867 21.457C66.8711 22.1367 67.4727 22.5742 68.1914 22.7695C68.457 22.8477 68.7266 22.8867 69 22.8867C69.0859 22.8867 69.1719 22.8828 69.2578 22.875C69.3984 22.8594 69.5742 22.8164 69.7852 22.7461C69.9648 22.6836 70.2461 22.582 70.6289 22.4414C71.0117 22.293 71.2656 22.1953 71.3906 22.1484V15.0703ZM88.3711 22.2891C88.3711 22.6953 88.5664 22.9688 88.957 23.1094C89.3477 23.2422 89.543 23.457 89.543 23.7539C89.543 24.0742 89.3633 24.2344 89.0039 24.2344H86.1562C85.8281 24.2344 85.6641 24.1055 85.6641 23.8477V23.4609C85.5156 23.5156 85.2734 23.6094 84.9375 23.7422C84.6016 23.8672 84.2852 23.9805 83.9883 24.082C83.2461 24.332 82.4805 24.4961 81.6914 24.5742C81.5664 24.582 81.4492 24.5859 81.3398 24.5859C80.6133 24.5859 79.9297 24.3477 79.2891 23.8711C78.2734 23.0977 77.7656 21.4805 77.7656 19.0195V14.7891C77.7656 14.3984 77.5703 14.1328 77.1797 13.9922C76.7891 13.8516 76.5938 13.6289 76.5938 13.3242C76.5938 13.0039 76.7695 12.8438 77.1211 12.8438C77.6055 12.8203 78.0898 12.7422 78.5742 12.6094C79.0664 12.4766 79.6992 12.2812 80.4727 12.0234V19.0195C80.4727 20.6836 80.8047 21.8359 81.4688 22.4766C81.8672 22.8672 82.3477 23.0625 82.9102 23.0625C83.2461 23.0625 83.625 22.9922 84.0469 22.8516C84.1953 22.8047 84.4023 22.7305 84.668 22.6289C84.9336 22.5273 85.1562 22.4414 85.3359 22.3711C85.3828 22.3555 85.4492 22.332 85.5352 22.3008L85.6641 22.2539V14.7891C85.6641 14.3984 85.4688 14.1328 85.0781 13.9922C84.6875 13.8516 84.4922 13.6289 84.4922 13.3242C84.4922 13.0039 84.668 12.8438 85.0195 12.8438C85.5039 12.8203 85.9883 12.7422 86.4727 12.6094C86.9648 12.4766 87.5977 12.2812 88.3711 12.0234V22.2891ZM92.5547 14.3438C92.4609 14.3438 92.1172 14.3594 91.5234 14.3906H91.4531C91.1172 14.3906 90.9414 14.2344 90.9258 13.9219V13.8984C90.9258 13.6875 91.0508 13.5234 91.3008 13.4062C91.4492 13.3359 91.7656 13.168 92.25 12.9023C92.375 12.8398 92.5039 12.7812 92.6367 12.7266C92.6602 12.7188 92.6719 12.7109 92.6719 12.7031C92.6719 12.6953 92.6328 12.6914 92.5547 12.6914V10.9219C92.5547 10.4766 92.6523 10.1641 92.8477 9.98438C93.043 9.79688 93.4414 9.55859 94.043 9.26953C94.3008 9.14453 94.5195 9.08203 94.6992 9.08203C95.0742 9.08203 95.2617 9.26172 95.2617 9.62109V12.6445L97.7578 12.5977H97.7695C98.082 12.5977 98.2383 12.7773 98.2383 13.1367C98.2383 13.2539 98.2227 13.3984 98.1914 13.5703C98.082 14.0703 97.8086 14.3203 97.3711 14.3203L95.2617 14.3086V21.4219C95.2617 22.0625 95.4805 22.5391 95.918 22.8516C96.3633 23.1641 96.8164 23.3516 97.2773 23.4141V24.2227C95.8867 24.2227 94.75 24.1016 93.8672 23.8594C92.9922 23.6172 92.5547 22.6875 92.5547 21.0703V14.3438ZM100.09 14.6953C99.9805 14.4453 99.8203 14.25 99.6094 14.1094C99.4297 13.9922 99.2188 13.8867 98.9766 13.793C98.7344 13.6914 98.582 13.5547 98.5195 13.3828C98.4883 13.3125 98.4727 13.25 98.4727 13.1953C98.4727 12.9688 98.6211 12.8555 98.918 12.8555H102.762C103.051 12.8555 103.246 12.9766 103.348 13.2188C103.379 13.2734 103.395 13.332 103.395 13.3945C103.395 13.5742 103.281 13.7188 103.055 13.8281C102.945 13.8828 102.867 13.9766 102.82 14.1094C102.805 14.1562 102.797 14.2109 102.797 14.2734C102.797 14.3438 102.816 14.418 102.855 14.4961L105.645 21.3164L108.059 15.5273C108.121 15.3867 108.152 15.25 108.152 15.1172C108.152 14.8906 108.059 14.668 107.871 14.4492L107.355 13.8281L108.574 12.8789C108.668 12.7773 108.781 12.7266 108.914 12.7266C109.062 12.7266 109.199 12.7891 109.324 12.9141L109.98 13.582C110.152 13.7617 110.238 13.9805 110.238 14.2383C110.238 14.3711 110.211 14.5234 110.156 14.6953C110.031 15.0703 109.844 15.5117 109.594 16.0195L103.805 28.9336C103.562 29.4492 103.348 29.8828 103.16 30.2344C102.918 30.6562 102.59 30.8672 102.176 30.8672H102.129L101.168 30.832C100.848 30.7773 100.688 30.625 100.688 30.375L100.605 28.8164L101.496 28.793C101.895 28.7773 102.18 28.5977 102.352 28.2539L104.18 24.457C104.203 24.457 104.215 24.4492 104.215 24.4336C104.215 24.4023 104.188 24.3555 104.133 24.293C104.086 24.2461 104.043 24.1641 104.004 24.0469C103.965 23.9375 103.938 23.8633 103.922 23.8242L100.09 14.6953Z" fill="#0A0800"/>
5469                        </g>
5470                        <defs>
5471                        <clipPath id="clip0_7549_47268">
5472                        <rect width="111" height="31" fill="white"/>
5473                        </clipPath>
5474                        </defs>
5475                      </svg></a>
5476                    </div>
5477                    <ul class="menu-drawer__menu has-submenu list-menu mt-8 px-4" role="list"><li class="header_list_item border-b border-[#DCD9D4]  hidden ">
5478
5479                            <div class="flex items-center gap-x-2 justify-start">
5480                              <div>
5481                                
5482                              </div>
5483                              <a data-name="home" href="/" class="menu-drawer__menu-item list-menu__item link link--text text-black font-semibold text-base uppercase leading-normal focus-inset">
5484                                Home
5485
5486                                
5487                              </a>
5488                            </div>
5489                            
5490                            
5491                          
5492                        </li><li class="header_list_item border-b border-[#DCD9D4]  hidden ">
5493
5494                            <div class="flex items-center gap-x-2 justify-start">
5495                              <div>
5496                                
5497                              </div>
5498                              <a data-name="products" href="javascript:void(0)" class="menu-drawer__menu-item list-menu__item link link--text text-black font-semibold text-base uppercase leading-normal focus-inset">
5499                                Products
5500
5501                                 
5502                                  <svg class="svg_arrow rotate-180" width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
5503                                    <mask id="mask0_7549_47274" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32">
5504                                    <rect width="32" height="32" fill="#D9D9D9"/>
5505                                    </mask>
5506                                    <g mask="url(#mask0_7549_47274)">
5507                                    <path d="M16.001 19.5466C15.8488 19.5466 15.7014 19.521 15.5587 19.4697C15.4159 19.4184 
550715.2822 19.3303 15.1574 19.2056L9.14456 13.1928C8.95141 12.9996 8.85825 12.7688 8.8651 12.5005C8.87192 12.2321 8.97192 12.0013 9.1651 11.8082C9.35825 11.615 9.59243 11.5184 9.86763 11.5184C10.1428 11.5184 10.377 11.615 10.5702 11.8082L16.001 17.239L21.4523 11.7877C21.6454 11.5945 21.8762 11.5013 22.1446 11.5082C22.4129 11.515 22.6437 11.615 22.8368 11.8082C23.03 12.0013 23.1266 12.2355 23.1266 12.5107C23.1266 12.7859 23.03 13.0201 22.8368 13.2133L16.8445 19.2056C16.7198 19.3303 16.5881 19.4184 16.4497 19.4697C16.3112 19.521 16.1617 19.5466 16.001 19.5466Z" fill="#0A0800"/>
5508                                    </g>
5509                                  </svg>
5510                                
5511                              </a>
5512                            </div>
5513                            
5514                            
5515                              
5516                              
5517
5518                              
5519                              
5520
5521                               
5522                                <li class="header_list_item  collection_list  border-b border-[#DCD9D4]">
5523                                  
5524
5525                                    
5526                                    
5527                                    
5528                                    
5529
5530                                    <div class="collection_list_child w-full flex items-center justify-between">
5531                                      <div class="flex items-center gap-x-1">
5532                                        <p class="pointer-events-none menu-drawer__menu-item list-menu__item text-black font-semibold text-base uppercase leading-normal">Bestsellers</p>
5533                                        <svg class="pointer-events-none svg_arrow  rotate-180 " width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5534                                          <mask id="mask0_7549_47238" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5535                                          <rect width="24" height="24" transform="matrix(-1 0 0 1 24 0)" fill="#D9D9D9"/>
5536                                          </mask>
5537                                          <g mask="url(#mask0_7549_47238)">
5538                                          <path d="M12.0001 14.6619C11.886 14.6619 11.7754 14.6427 11.6684 14.6042C11.5613 14.5657 11.461 14.4997 11.3674 14.4061L6.85781 9.89652C6.71295 9.75166 6.64308 9.57858 6.64821 9.3773C6.65333 9.17602 6.72833 9.00294 6.87321 8.85807C7.01808 8.71321 7.19371 8.64078 7.40011 8.64078C7.60651 8.64078 7.78215 8.71321 7.92701 8.85807L12.0001 12.9312L16.0886 8.8427C16.2335 8.69783 16.4065 8.62796 16.6078 8.63307C16.8091 8.63821 16.9821 8.71321 17.127 8.85807C17.2719 9.00294 17.3443 9.17858 17.3443 9.385C17.3443 9.5914 17.2719 9.76703 17.127 9.9119L12.6328 14.4061C12.5392 14.4997 12.4405 14.5657 12.3366 14.6042C12.2328 14.6427 12.1206 14.6619 12.0001 14.6619Z" fill="#0A0800"/>
5539                                          </g>
5540                                        </svg>
5541                                      </div>
5542                                      
5543                                      <img class="w-[75px] h-[40px] object-contain" src="//chebeauty.com/cdn/shop/files/chebeauty-11773_medium.webp?v=1748464685" alt="icon" loading="lazy" fetchpriority="low" width="75" height="40">
5544                                    </div>
5545                                    
5546                                    <div class=" product_dropdown">
5547                                      
5548                                      
5549
5550                                      <ul class="grid grid-cols-2 gap-3 pb-4 border-t border-[#F7F5F1]">
5551                                        
5552                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5553                                              <a href="/products/chebe-hair-butter">
5554                                                <div class="w-[80px] h-[80px] mx-auto">
5555                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/Chebe_Butter_1_4a4f8be7-fc39-4c85-889d-c04ef02ea55e_300x300.webp?v=1749759868" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5556                                                </div>
5557                                                <span class="block mt-2 text-center text-black text-sm font-normal">Chebe Hair Butter</span>
5558                                              </a>
5559                                            </li>
5560                                        
5561                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5562                                              <a href="/products/chebe-hair-oil">
5563                                                <div class="w-[80px] h-[80px] mx-auto">
5564                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/ChebeHairOil1_300x300.webp?v=1748766469" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5565                                                </div>
5566                                                <span class="block mt-2 text-center text-black text-sm font-normal">Chebe Hair Oil</span>
5567                                              </a>
5568                                            </li>
5569                                        
5570                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5571                                              <a href="/products/rice-water-for-hair-growth">
5572                                                <div class="w-[80px] h-[80px] mx-auto">
5573                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/RiceWater1_300x300.webp?v=1748770122" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5574                                                </div>
5575                                                <span class="block mt-2 text-center text-black text-sm font-normal">Rice Water</span>
5576                                              </a>
5577                                            </li>
5578                                        
5579                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5580                                              <a href="/products/bestsellers-bundle-copy">
5581                                                <div class="w-[80px] h-[80px] mx-auto">
5582                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/Bestsellers_Bundle_300x300.webp?v=1748774138" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5583                                                </div>
5584                                                <span class="block mt-2 text-center text-black text-sm font-normal">Bestsellers Bundle</span>
5585                                              </a>
5586                                            </li>
5587                                        
5588                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5589                                              <a href="/products/chebe-shampoo">
5590                                                <div class="w-[80px] h-[80px] mx-auto">
5591                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/ChebeShampoo1_300x300.webp?v=1748765527" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5592                                                </div>
5593                                                <span class="block mt-2 text-center text-black text-sm font-normal">Chebe Shampoo</span>
5594                                              </a>
5595                                            </li>
5596                                        
5597                                        <li class="h-[105px]">
5598                                          <a href="/collections/new-all" class="h-full flex flex-col justify-center items-center gap-y-2">
5599                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5600                                              <mask id="mask0_9278_54681" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5601                                                <rect width="24" height="24" fill="#D9D9D9"/>
5602                                              </mask>
5603                                              <g mask="url(#mask0_9278_54681)">
5604                                                <path d="M16.2496 7.80378L6.94185 17.1173C6.79314 17.266 6.61654 17.3404 6.41205 17.3404C6.20757 17.3404 6.03097 17.266 5.88225 17.1173C5.73354 16.9686 5.65918 16.792 5.65918 16.5875C5.65918 16.383 5.73354 16.2064 5.88225 16.0577L15.1958 6.74995H6.99955C6.78705 6.74995 6.60894 
56046.67805 6.46521 6.53425C6.32146 6.39043 6.24958 6.21223 6.24958 5.99965C6.24958 5.78705 6.32146 5.60896 6.46521 5.46538C6.60894 5.32179 6.78705 5.25 6.99955 5.25H16.8457C17.1018 5.25 17.3164 5.33662 17.4897 5.50985C17.6629 5.68308 17.7495 5.89774 17.7495 6.15383V16C17.7495 16.2125 17.6776 16.3906 17.5338 16.5343C17.39 16.6781 17.2118 16.75 16.9992 16.75C16.7866 16.75 16.6085 16.6781 16.465 16.5343C16.3214 16.3906 16.2496 16.2125 16.2496 16V7.80378Z" fill="#0A0800"/>
5605                                              </g>
5606                                            </svg>
5607                                            <p class="text-black text-sm font-medium underline capitalize leading-normal">
5608                                              
5609                                                  See all bestsellers
5610                                                
5611                                            </p>
5612                                          </a>
5613                                        </li>
5614                                      </ul>
5615                                    </div>
5616                                  
5617                                </li>
5618                               
5619                                <li class="header_list_item  collection_list  border-b border-[#DCD9D4]">
5620                                  
5621
5622                                    
5623                                    
5624                                    
5625                                    
5626
5627                                    <div class="collection_list_child w-full flex items-center justify-between">
5628                                      <div class="flex items-center gap-x-1">
5629                                        <p class="pointer-events-none menu-drawer__menu-item list-menu__item text-black font-semibold text-base uppercase leading-normal">Bundles</p>
5630                                        <svg class="pointer-events-none svg_arrow " width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5631                                          <mask id="mask0_7549_47238" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5632                                          <rect width="24" height="24" transform="matrix(-1 0 0 1 24 0)" fill="#D9D9D9"/>
5633                                          </mask>
5634                                          <g mask="url(#mask0_7549_47238)">
5635                                          <path d="M12.0001 14.6619C11.886 14.6619 11.7754 14.6427 11.6684 14.6042C11.5613 14.5657 11.461 14.4997 11.3674 14.4061L6.85781 9.89652C6.71295 9.75166 6.64308 9.57858 6.64821 9.3773C6.65333 9.17602 6.72833 9.00294 6.87321 8.85807C7.01808 8.71321 7.19371 8.64078 7.40011 8.64078C7.60651 8.64078 7.78215 8.71321 7.92701 8.85807L12.0001 12.9312L16.0886 8.8427C16.2335 8.69783 16.4065 8.62796 16.6078 8.63307C16.8091 8.63821 16.9821 8.71321 17.127 8.85807C17.2719 9.00294 17.3443 9.17858 17.3443 9.385C17.3443 9.5914 17.2719 9.76703 17.127 9.9119L12.6328 14.4061C12.5392 14.4997 12.4405 14.5657 12.3366 14.6042C12.2328 14.6427 12.1206 14.6619 12.0001 14.6619Z" fill="#0A0800"/>
5636                                          </g>
5637                                        </svg>
5638                                      </div>
5639                                      
5640                                      <img class="w-[75px] h-[40px] object-contain" src="//chebeauty.com/cdn/shop/files/Ultimate_Hair_Growth_Bundle_medium.webp?v=1748464684" alt="icon" loading="lazy" fetchpriority="low" width="75" height="40">
5641                                    </div>
5642                                    
5643                                    <div class=" hidden  product_dropdown">
5644                                      
5645                                      
5646
5647                                      <ul class="grid grid-cols-2 gap-3 pb-4 border-t border-[#F7F5F1]">
5648                                        
5649                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5650                                              <a href="/products/bestsellers-bundle-copy">
5651                                                <div class="w-[80px] h-[80px] mx-auto">
5652                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/Bestsellers_Bundle_300x300.webp?v=1748774138" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5653                                                </div>
5654                                                <span class="block mt-2 text-center text-black text-sm font-normal">Bestsellers Bundle</span>
5655                                              </a>
5656                                            </li>
5657                                        
5658                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5659                                              <a href="/products/ultimate-hair-growth-bundle-copy">
5660                                                <div class="w-[80px] h-[80px] mx-auto">
5661                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/UltimateHairGrowthBundle_300x300.webp?v=1748774289" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5662                                                </div>
5663                                                <span class="block mt-2 text-center text-black text-sm font-normal">Ultimate Hair Growth Bundle</span>
5664                                              </a>
5665                                            </li>
5666                                        
5667                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5668                                              <a href="/products/chebeauty-starter-pack-copy">
5669                                                <div class="w-[80px] h-[80px] mx-auto">
5670                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/Chebe_Starter_Pack_300x300.webp?v=1748774236" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5671                                                </div>
5672                                                <span class="block mt-2 text-center text-black text-sm font-normal">Chebeauty Starter Pack</span>
5673                                              </a>
5674                                            </li>
5675                                        
5676                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5677                                              <a href="/products/shampoo-conditioners-set">
5678                                                <div class="w-[80px] h-[80px] mx-auto">
5679                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/Shampoo_ConditionersSet_1_300x300.png?v=1748872554" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5680                                                </div>
5681                                                <span class="block mt-2 text-center text-black text-sm font-normal">Shampoo & Conditioners Set</span>
5682                                              </a>
5683                                            </li>
5684                                        
5685                                            <li class="text-sm my-4 font-normal leading-[16.8px] text-black hover:opacity-100 mb-0">
5686                                              <a href="/products/damage-repair-bundle">
5687                                                <div class="w-[80px] h-[80px] mx-auto">
5688                                                  <img class="w-full h-full rounded-[4px] object-contain" src="//chebeauty.com/cdn/shop/files/DamageRepairBundle_5_300x300.png?v=1748871864" alt="" loading="lazy" fetchpriority="low" width="300" height="300">
5689                                                </div>
5690                                                <span class="block mt-2 text-center text-black text-sm font-normal">Damage Repair Bundle</span>
5691                                              </a>
5692                                            </li>
5693                                        
5694                                        <li class="h-[105px]">
5695                                          <a href="/collections/new-bundles" class="h-full flex flex-col justify-center items-center gap-y-2">
5696                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5697                                              <mask id="mask0_9278_54681" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5698                                                <rect width="24" height="24" fill="#D9D9D9"/>
5699                                              </mask>
5700                                              <g mask="url(#mask0_9278_54681)">
5701                                                <path d="M16.2496 7.80378L6.94185 17.1173C6.79314 17.266 6.61654 17.3404 6.41205 17.3404C6.20757 17.3404 6.03097 17.266 5.88225 17.1173C5.73354 16.9686 5.65918 16.792 5.65918 16.5875C5.65918 16.383 5.73354 16.2064 5.88225 16.0577L15.1958 6.74995H6.99955C6.78705 6.74995 6.60894 
57016.67805 6.46521 6.53425C6.32146 6.39043 6.24958 6.21223 6.24958 5.99965C6.24958 5.78705 6.32146 5.60896 6.46521 5.46538C6.60894 5.32179 6.78705 5.25 6.99955 5.25H16.8457C17.1018 5.25 17.3164 5.33662 17.4897 5.50985C17.6629 5.68308 17.7495 5.89774 17.7495 6.15383V16C17.7495 16.2125 17.6776 16.3906 17.5338 16.5343C17.39 16.6781 17.2118 16.75 16.9992 16.75C16.7866 16.75 16.6085 16.6781 16.465 16.5343C16.3214 16.3906 16.2496 16.2125 16.2496 16V7.80378Z" fill="#0A0800"/>
5702                                              </g>
5703                                            </svg>
5704                                            <p class="text-black text-sm font-medium underline capitalize leading-normal">
5705                                              
5706                                                  See all bundles
5707                                              
5708                                            </p>
5709                                          </a>
5710                                        </li>
5711                                      </ul>
5712                                    </div>
5713                                  
5714                                </li>
5715                               
5716                                <li class="header_list_item  border-b border-[#DCD9D4]">
5717                                   
5718                                    <a class="flex items-center justify-start gap-x-1 menu-drawer__menu-item list-menu__item text-black font-semibold text-base uppercase leading-normal" href="/collections/new-all">
5719                                      <span class="custom-drawer-span">All products</span>
5720                                      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5721                                        <mask id="mask0_9268_53416" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5722                                          <rect width="24" height="24" fill="#D9D9D9"/>
5723                                        </mask>
5724                                        <g mask="url(#mask0_9268_53416)">
5725                                          <path d="M13.5209 17.112C13.3658 16.9569 13.2908 16.7761 13.2959 16.5697C13.3011 16.3633 13.3812 16.1825 13.5363 16.0274L16.8132 12.7504H5.04783C4.83534 12.7504 4.65723 12.6785 4.51348 12.5347C4.36973 12.3909 4.29785 12.2127 4.29785 12.0001C4.29785 11.7875 4.36973 11.6095 4.51348 11.4659C4.65723 11.3223 4.83534 11.2505 5.04783 11.2505H16.8132L13.5113 7.94852C13.3626 7.80152 13.2882 7.62696 13.2882 7.42482C13.2882 7.22269 13.3658 7.04407 13.5209 6.88895C13.676 6.73382 13.8542 6.65625 14.0555 6.65625C14.2568 6.65625 14.435 6.73382 14.5901 6.88895L19.069 11.3678C19.1626 11.4614 19.2286 11.5605 19.2671 11.6652C19.3055 11.7699 19.3247 11.8821 19.3247 12.0017C19.3247 12.1214 19.3055 12.2332 19.2671 12.337C19.2286 12.4408 19.1626 12.5396 19.069 12.6331L14.5651 17.137C14.4299 17.2755 14.2608 17.3447 14.0579 17.3447C13.855 17.3447 13.676 17.2671 13.5209 17.112Z" fill="#0A0800"/>
5726                                        </g>
5727                                      </svg>
5728                                    </a>
5729                                    
5730                                </li>
5731                              
5732                              <li class="header_list_item border-b border-[#DCD9D4]">
5733                                <a href="/pages/quiz" class="menu-drawer__menu-item flex items-center justify-start gap-x-2 list-menu__item text-black font-semibold text-base uppercase leading-normal focus-inset">
5734                                  <span class="custom-drawer-span">Take our hair quiz</span>
5735                                  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5736                                    <mask id="mask0_9268_53392" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5737                                    <rect width="24" height="24" fill="#D9D9D9"/>
5738                                    </mask>
5739                                    <g mask="url(#mask0_9268_53392)">
5740                                    <path d="M13.5209 17.112C13.3658 16.9569 13.2908 16.7761 13.2959 16.5697C13.3011 16.3633 13.3812 16.1825 13.5363 16.0274L16.8132 12.7504H5.04783C4.83534 12.7504 4.65723 12.6785 4.51348 12.5347C4.36973 12.3909 4.29785 12.2127 4.29785 12.0001C4.29785 11.7875 4.36973 11.6095 4.51348 11.4659C4.65723 11.3223 4.83534 11.2505 5.04783 11.2505H16.8132L13.5113 7.94852C13.3626 7.80152 13.2882 7.62696 13.2882 7.42482C13.2882 7.22269 13.3658 7.04407 13.5209 6.88895C13.676 6.73382 13.8542 6.65625 14.0555 6.65625C14.2568 6.65625 14.435 6.73382 14.5901 6.88895L19.069 11.3678C19.1626 11.4614 19.2286 11.5605 19.2671 11.6652C19.3055 11.7699 19.3247 11.8821 19.3247 12.0017C19.3247 12.1214 19.3055 12.2332 19.2671 12.337C19.2286 12.4408 19.1626 12.5396 19.069 12.6331L14.5651 17.137C14.4299 17.2755 14.2608 17.3447 14.0579 17.3447C13.855 17.3447 13.676 17.2671 13.5209 17.112Z" fill="#0A0800"/>
5741                                    </g>
5742                                  </svg>
5743                                </a>
5744                              </li>
5745
5746                              <div class="mt-10 mb-[22px] flex items-stretch justify-center gap-x-2 max-w-[290px] mx-auto">
5747                                
5748                                 
5749                                  <div class="w-1/3 flex flex-col items-center justify-start gap-y-1">
5750                                    <img src="//chebeauty.com/cdn/shop/files/flag_1_100x100.svg?v=1689074354" alt="icon" loading="lazy" fetchpriority="low" width="100" height="100">
5751                                    <p class="text-xs text-center font-medium text-black opacity-60">Made In  The USA</p>
5752                                  </div>
5753                                 
5754                                  <div class="w-1/3 flex flex-col items-center justify-start gap-y-1">
5755                                    <img src="//chebeauty.com/cdn/shop/files/psychiatry_875b72c7-08fa-44ff-aef8-0ebbc5bed7d8_100x100.svg?v=1689074354" alt="icon" loading="lazy" fetchpriority="low" width="100" height="100">
5756                                    <p class="text-xs text-center font-medium text-black opacity-60">All-Natural Ingredients</p>
5757                                  </div>
5758                                 
5759                                  <div class="w-1/3 flex flex-col items-center justify-start gap-y-1">
5760                                    <img src="//chebeauty.com/cdn/shop/files/new_releases_d99d3ff9-99d8-4cb1-b209-ac298b2f4b5a_100x100.svg?v=1689074354" alt="icon" loading="lazy" fetchpriority="low" width="100" height="100">
5761                                    <p class="text-xs text-center font-medium text-black opacity-60">Money-Back Guarantee</p>
5762                                  </div>
5763                                
5764                              </div>
5765                            
5766                          
5767                        </li><li class="header_list_item border-b border-[#DCD9D4] ">
5768
5769                            <div class="flex items-center gap-x-2 justify-start">
5770                              <div>
5771                                
5772                                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5773  <mask id="mask0_9268_53730" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5774    <rect width="24" height="24" fill="#D9D9D9"/>
5775  </mask>
5776  <g mask="url(#mask0_9268_53730)">
5777    <path d="M6.99998 13.75H13C13.2128 13.75 13.391 13.6782 13.5346 13.5346C13.6782 13.391 13.75 13.2128 13.75 13C13.75 12.7872 13.6782 12.609 13.5346 12.4654C13.391 12.3218 13.2128 12.25 13 12.25H6.99998C6.78716 12.25 6.60896 12.3218 6.46538 12.4654C6.32179 12.609 6.25 12.7872 6.25 13C6.25 13.2128 6.32179 13.391 6.46538 13.5346C6.60896 13.6782 6.78716 13.75 6.99998 13.75ZM6.99998 10.75H17C17.2128 10.75 17.391 10.6782 17.5346 10.5346C17.6782 10.391 17.75 10.2128 17.75 9.99998C17.75 9.78716 17.6782 9.60896 17.5346 9.46538C17.391 9.32179 17.2128 9.25 17 9.25H6.99998C6.78716 9.25 6.60896 9.32179 6.46538 9.46538C6.32179 9.60896 6.25 9.78716 6.25 9.99998C6.25 10.2128 6.32179 10.391 6.46538 10.5346C6.60896 10.6782 6.78716 10.75 6.99998 10.75ZM6.99998 7.74995H17C17.2128 7.74995 17.391 7.67816 17.5346 7.53457C17.6782 7.39099 17.75 7.21279 17.75 6.99998C17.75 6.78716 17.6782 6.60896 17.5346 6.46538C17.391 6.32179 17.2128 6.25 17 6.25H6.99998C6.78716 6.25 6.60896 6.32179 6.46538 6.46538C6.32179 6.60896 6.25 6.78716 6.25 6.99998C6.25 7.21279 6.32179 7.39099 6.46538 7.53457C6.60896 7.67816 6.78716 7.74995 6.99998 7.74995ZM6.03845 17.5L4.03655 19.5019C3.75193 19.7865 3.42469 19.8509 3.05483 19.6951C2.68494 19.5393 2.5 19.2589 2.5 18.8538V4.3077C2.5 3.80257 2.675 3.375 3.025 3.025C3.375 2.675 3.8025
57777 2.5 4.3077 2.5H19.6923C20.1974 2.5 20.625 2.675 20.975 3.025C21.325 3.375 21.5 3.80257 21.5 4.3077V15.6923C21.5 16.1974 21.325 16.625 20.975 16.975C20.625 17.325 20.1974 17.5 19.6923 17.5H6.03845ZM4.69233 16H19.6923C19.7692 16 19.8397 15.9679 19.9038 15.9038C19.9679 15.8397 20 15.7692 20 15.6923V4.3077C20 4.23077 19.9679 4.16024 19.9038 4.09613C19.8397 4.03203 19.7692 3.99998 19.6923 3.99998H4.3077C4.23077 3.99998 4.16024 4.03203 4.09613 4.09613C4.03202 4.16024 3.99998 4.23077 3.99998 4.3077V16.6923L4.69233 16Z" fill="#403F36"/>
5778  </g>
5779</svg>
5780                                  
5781                              </div>
5782                              <a data-name="blog" href="/pages/blogs" class="menu-drawer__menu-item list-menu__item link link--text text-black font-semibold text-base uppercase leading-normal focus-inset">
5783                                Blog
5784
5785                                
5786                              </a>
5787                            </div>
5788                            
5789                            
5790                          
5791                        </li><li class="header_list_item border-b border-[#DCD9D4] ">
5792
5793                            <div class="flex items-center gap-x-2 justify-start">
5794                              <div>
5795                                 
5796                                  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5797  <mask id="mask0_9279_52508" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5798    <rect width="24" height="24" fill="#D9D9D9"/>
5799  </mask>
5800  <g mask="url(#mask0_9279_52508)">
5801    <path d="M12.0003 16.75C12.2129 16.75 12.391 16.6781 12.5346 16.5343C12.6782 16.3906 12.75 16.2125 12.75 16V11.75C12.75 11.5375 12.6781 11.3594 12.5343 11.2156C12.3904 11.0719 12.2122 11 11.9997 11C11.7871 11 11.609 11.0719 11.4654 11.2156C11.3218 11.3594 11.25 11.5375 11.25 11.75V16C11.25 16.2125 11.3219 16.3906 11.4657 16.5343C11.6095 16.6781 11.7877 16.75 12.0003 16.75ZM12 9.28845C12.2288 9.28845 12.4207 9.21105 12.5755 9.05625C12.7303 8.90145 12.8077 8.70963 12.8077 8.48078C12.8077 8.25194 12.7303 8.06012 12.5755 7.9053C12.4207 7.7505 12.2288 7.6731 12 7.6731C11.7711 7.6731 11.5793 7.7505 11.4245 7.9053C11.2697 8.06012 11.1923 8.25194 11.1923 8.48078C11.1923 8.70963 11.2697 8.90145 11.4245 9.05625C11.5793 9.21105 11.7711 9.28845 12 9.28845ZM12.0016 21.5C10.6877 21.5 9.45268 21.2506 8.29655 20.752C7.1404 20.2533 6.13472 19.5765 5.2795 18.7217C4.42427 17.8669 3.74721 16.8616 3.24833 15.706C2.74944 14.5504 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45268 3.248 8.29655C3.74667 7.1404 4.42342 6.13472 5.27825 5.2795C6.1331 4.42427 7.13834 3.74721 8.29398 3.24833C9.44959 2.74944 10.6844 2.5 11.9983 2.5C13.3122 2.5 14.5473 2.74933 15.7034 3.248C16.8596 3.74667 17.8652 4.42342 18.7205 5.27825C19.5757 6.1331 20.2527 7.13834 20.7516 8.29398C21.2505 9.44959 21.5 10.6844 21.5 11.9983C21.5 13.3122 21.2506 14.5473 20.752 15.7034C20.2533 16.8596 19.5765 17.8652 18.7217 18.7205C17.8669 19.5757 16.8616 20.2527 15.706 20.7516C14.5504 21.2505 13.3156 21.5 12.0016 21.5ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76664 19.225 7.87498 17.675 6.32498C16.125 4.77498 14.2333 3.99998 12 3.99998C9.76664 3.99998 7.87498 4.77498 6.32498 6.32498C4.77498 7.87498 3.99998 9.76664 3.99998 12C3.99998 14.2333 4.77498 16.125 6.32498 17.675C7.87498 19.225 9.76664 20 12 20Z" fill="#1C1B1F"/>
5802  </g>
5803</svg>
5804                                  
5805                              </div>
5806                              <a data-name="about us" href="/pages/about-us" class="menu-drawer__menu-item list-menu__item link link--text text-black font-semibold text-base uppercase leading-normal focus-inset">
5807                                About Us
5808
5809                                
5810                              </a>
5811                            </div>
5812                            
5813                            
5814                          
5815                        </li><li class="header_list_item border-b border-[#DCD9D4] ">
5816
5817                            <div class="flex items-center gap-x-2 justify-start">
5818                              <div>
5819                                
5820                                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5821  <mask id="mask0_9268_53736" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5822    <rect width="24" height="24" fill="#D9D9D9"/>
5823  </mask>
5824  <g mask="url(#mask0_9268_53736)">
5825    <path d="M6.03845 17.5L3.27307 20.2653C3.12564 20.4127 2.95994 20.4496 2.77598 20.3759C2.59199 20.3022 2.5 20.1615 2.5 19.9538V4.3077C2.5 3.80257 2.675 3.375 3.025 3.025C3.375 2.675 3.8025
58257 2.5 4.3077 2.5H19.6923C20.1974 2.5 20.625 2.675 20.975 3.025C21.325 3.375 21.5 3.80257 21.5 4.3077V15.6923C21.5 16.1974 21.325 16.625 20.975 16.975C20.625 17.325 20.1974 17.5 19.6923 17.5H6.03845ZM4.69233 16H19.6923C19.7692 16 19.8397 15.9679 19.9038 15.9038C19.9679 15.8397 20 15.7692 20 15.6923V4.3077C20 4.23077 19.9679 4.16024 19.9038 4.09613C19.8397 4.03203 19.7692 3.99998 19.6923 3.99998H4.3077C4.23077 3.99998 4.16024 4.03203 4.09613 4.09613C4.03202 4.16024 3.99998 4.23077 3.99998 4.3077V16.6923L4.69233 16ZM12 12.3211L13.7846 13.4038C13.9487 13.5077 14.1128 13.5019 14.2769 13.3865C14.441 13.2711 14.5012 13.1147 14.4577 12.9173L13.9865 10.8865L15.5711 9.5173C15.725 9.38012 15.7718 9.21858 15.7115 9.03268C15.6512 8.84678 15.5173 8.74549 15.3096 8.72883L13.2288 8.55383L12.4115 6.63845C12.3346 6.45768 12.1974 6.3673 12 6.3673C11.8025 6.3673 11.6654 6.45768 11.5885 6.63845L10.7711 8.55383L8.69038 8.72883C8.48269 8.74549 8.34872 8.84678 8.28845 9.03268C8.2282 9.21858 8.275 9.38012 8.42885 9.5173L10.0135 10.8865L9.5423 12.9173C9.49872 13.1147 9.55898 13.2711 9.72308 13.3865C9.88718 13.5019 10.0513 13.5077 10.2154 13.4038L12 12.3211Z" fill="#403F36"/>
5826  </g>
5827</svg>
5828                                  
5829                              </div>
5830                              <a data-name="reviews" href="/pages/reviews" class="menu-drawer__menu-item list-menu__item link link--text text-black font-semibold text-base uppercase leading-normal focus-inset">
5831                                Reviews
5832
5833                                
5834                              </a>
5835                            </div>
5836                            
5837                            
5838                          
5839                        </li><li class="header_list_item border-b border-[#DCD9D4]">
5840                        <div class="flex items-center gap-x-2 justify-start">
5841                          <div>
5842                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
5843  <mask id="mask0_9268_53742" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5844    <rect width="24" height="24" fill="#D9D9D9"/>
5845  </mask>
5846  <g mask="url(#mask0_9268_53742)">
5847    <path d="M6.02308 17.2923C6.87308 16.6615 7.79903 16.1635 8.80095 15.7981C9.80287 15.4327 10.8692 15.25 12 15.25C13.1307 15.25 14.1971 15.4327 15.199 15.7981C16.2009 16.1635 17.1269 16.6615 17.9769 17.2923C18.5987 16.609 19.0913 15.8179 19.4548 14.9192C19.8182 14.0205 20 13.0474 20 12C20 9.78331 19.2208 7.89581 17.6625 6.33748C16.104
58471 4.77914 14.2166 3.99998 12 3.99998C9.78331 3.99998 7.89581 4.77914 6.33748 6.33748C4.77914 7.89581 3.99998 9.78331 3.99998 12C3.99998 13.0474 4.18171 14.0205 4.54518 14.9192C4.90864 15.8179 5.40128 16.609 6.02308 17.2923ZM12.0003 12.75C11.0873 12.75 10.3173 12.4366 9.69038 11.8099C9.06346 11.1831 8.75 10.4133 8.75 9.50028C8.75 8.58726 9.06336 7.81729 9.69008 7.19038C10.3168 6.56346 11.0867 6.25 11.9997 6.25C12.9127 6.25 13.6827 6.56336 14.3096 7.19008C14.9365 7.81681 15.25 8.58668 15.25 9.49968C15.25 10.4127 14.9366 11.1827 14.3099 11.8096C13.6831 12.4365 12.9133 12.75 12.0003 12.75ZM12 21.5C10.6807 21.5 9.44325 21.2519 8.2875 20.7557C7.13173 20.2596 6.12628 19.5839 5.27115 18.7288C4.41603 17.8737 3.7404 16.8682 3.24425 15.7125C2.74808 14.5567 2.5 13.3192 2.5 12C2.5 10.6807 2.74808 9.44325 3.24425 8.2875C3.7404 7.13173 4.41603 6.12628 5.27115 5.27115C6.12628 4.41603 7.13173 3.7404 8.2875 3.24425C9.44325 2.74808 10.6807 2.5 12 2.5C13.3192 2.5 14.5567 2.74808 15.7125 3.24425C16.8682 3.7404 17.8737 4.41603 18.7288 5.27115C19.5839 6.12628 20.2596 7.13173 20.7557 8.2875C21.2519 9.44325 21.5 10.6807 21.5 12C21.5 13.3192 21.2519 14.5567 20.7557 15.7125C20.2596 16.8682 19.5839 17.8737 18.7288 18.7288C17.8737 19.5839 16.8682 20.2596 15.7125 20.7557C14.5567 21.2519 13.3192 21.5 12 21.5ZM12 20C12.9025 20 13.7727 19.8548 14.6105 19.5644C15.4484 19.274 16.1923 18.8679 16.8423 18.3461C16.1923 17.8436 15.458 17.4519 14.6394 17.1711C13.8208 16.8903 12.941 16.75 12 16.75C11.0589 16.75 10.1775 16.8887 9.35573 17.1663C8.53393 17.4439 7.80123 17.8371 7.15765 18.3461C7.80765 18.8679 8.55157 19.274 9.3894 19.5644C10.2272 19.8548 11.0974 20 12 20ZM12 11.25C12.4974 11.25 12.9134 11.0827 13.2481 10.7481C13.5827 10.4134 13.75 9.99741 13.75 9.49998C13.75 9.00254 13.5827 8.58651 13.2481 8.25188C12.9134 7.91726 12.4974 7.74995 12 7.74995C11.5025 7.74995 11.0865 7.91726 10.7519 8.25188C10.4173 8.58651 10.25 9.00254 10.25 9.49998C10.25 9.99741 10.4173 10.4134 10.7519 10.7481C11.0865 11.0827 11.5025 11.25 12 11.25Z" fill="#403F36"/>
5848  </g>
5849</svg>
5850                          </div>
5851                          <a class="menu-drawer__menu-item flex items-center justify-start gap-x-2 list-menu__item text-black font-semibold text-base uppercase leading-normal focus-inset" href="/account">My account</a>
5852                        </div>
5853                      </li>
5854                    </ul>
5855
5856                    
5856<script>
5857                      let index = null;
5858                      document.querySelectorAll(".collection_list .collection_list_child").forEach((e, i, arr) => {
5859                        e.addEventListener("click", function() {
5860                          if (index !== null && index !== i) {
5861                            arr.forEach(el => {
5862                              el.parentNode.querySelector(".product_dropdown").classList.add("hidden");
5863                              el.querySelector(".svg_arrow").classList.remove("rotate-180");
5864                            });
5865                          };
5866                          this.parentNode.querySelector(".product_dropdown").classList.toggle("hidden");
5867                          this.querySelector(".svg_arrow").classList.toggle("rotate-180");
5868                          index = i;
5869                        });
5870                      });
5871                    </script>
5871
5872                    <div class="menu-drawer__utility-links flex-col justify-center items-center py-0 mt-10 pb-[100px]"><a href="/account/login" class="hidden menu-drawer__account link focus-inset h5">
5873                          <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
5874<mask id="mask0_9320_55546" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="25">
5875<rect y="0.5" width="24" height="24" fill="#D9D9D9"/>
5876</mask>
5877<g mask="url(#mask0_9320_55546)">
5878<path d="M6.02308 17.7923C6.87308 17.1616 7.79903 16.6635 8.80095 16.2981C9.80287 15.9327 10.8692 15.75 12 15.75C13.1307 15.75 14.1971 15.9327 15.199 16.2981C16.2009 16.6635 17.1269 17.1616 17.9769 17.7923C18.5987 17.109 19.0913 16.318 19.4548 15.4193C19.8182 14.5205 20 13.5474 20 12.5C20 10.2833 19.2208 8.39584 17.6625 6.83751C16.1041 5.27917 14.2166 4.50001 12 4.50001C9.78331 4.50001 7.89581 5.27917 6.33748 6.83751C4.77914 8.39584 3.99998 10.2833 3.99998 12.5C3.99998 13.5474 4.18171 14.5205 4.54518 15.4193C4.90864 16.318 5.40128 17.109 6.02308 17.7923ZM12.0003 13.25C11.0873 13.25 10.3173 12.9366 9.69038 12.3099C9.06346 11.6832 8.75 10.9133 8.75 10.0003C8.75 9.08729 9.06336 8.31732 9.69008 7.69041C10.3168 7.06349 11.0867 6.75003 11.9997 6.75003C12.9127 6.75003 13.6827 7.06339 14.3096 7.69011C14.9365 8.31684 15.25 9.08671 15.25 9.99971C15.25 10.9127 14.9366 11.6827 14.3099 12.3096C13.6831 12.9365 12.9133 13.25 12.0003 13.25ZM12 22C10.6807 22 9.44325 21.7519 8.2875 21.2557C7.13173 20.7596 6.12628 20.0839 5.27115 19.2288C4.41603 18.3737 3.7404 17.3682 3.24425 16.2125C2.74808 15.0567 2.5 13.8192 2.5 12.5C2.5 11.1808 2.74808 9.94328 3.24425 8.78753C3.7404 7.63176 4.41603 6.62631 5.27115 5.77118C6.12628 4.91606 7.13173 4.24043 8.2875 3.74428C9.44325 3.24811 10.6807 3.00003 12 3.00003C13.3192 3.00003 14.5567 3.24811 15.7125 3.74428C16.8682 4.24043 17.8737 4.91606 18.7288 5.77118C19.5839 6.62631 20.2596 7.63176 20.7557 8.78753C21.2519 9.94328 21.5 11.1808 21.5 12.5C21.5 13.8192 21.2519 15.0567 20.7557 16.2125C20.2596 17.3682 19.5839 18.3737 18.7288 19.2288C17.8737 20.0839 16.8682 20.7596 15.7125 21.2557C14.5567 21.7519 13.3192 22 12 22ZM12 20.5C12.9025 20.5 13.7727 20.3548 14.6105 20.0644C15.4484 19.7741 16.1923 19.368 16.8423 18.8462C16.1923 18.3436 15.458 17.9519 14.6394 17.6712C13.8208 17.3904 12.941 17.25 12 17.25C11.0589 17.25 10.1775 17.3888 9.35573 17.6663C8.53393 17.9439 7.80123 18.3372 7.15765 18.8462C7.80765 19.368 8.5
58785157 19.7741 9.3894 20.0644C10.2272 20.3548 11.0974 20.5 12 20.5ZM12 11.75C12.4974 11.75 12.9134 11.5827 13.2481 11.2481C13.5827 10.9135 13.75 10.4974 13.75 10C13.75 9.50257 13.5827 9.08654 13.2481 8.75191C12.9134 8.41729 12.4974 8.24998 12 8.24998C11.5025 8.24998 11.0865 8.41729 10.7519 8.75191C10.4173 9.08654 10.25 9.50257 10.25 10C10.25 10.4974 10.4173 10.9135 10.7519 11.2481C11.0865 11.5827 11.5025 11.75 12 11.75Z" fill="#1C1B1F"/>
5879</g>
5880</svg>
5881
5882Log in</a><ul class="flex items-center justify-center gap-x-4">
5883                        
5884                         
5885                          <li>
5886                            <a href="#">
5887                              <img src="//chebeauty.com/cdn/shop/files/Facebook_300x300.svg?v=1689079325" alt="social icon" loading="lazy" fetchpriority="low" width="300" height="300">
5888                            </a>
5889                          </li>
5890                         
5891                          <li>
5892                            <a href="#">
5893                              <img src="//chebeauty.com/cdn/shop/files/Instagram_300x300.svg?v=1689079324" alt="social icon" loading="lazy" fetchpriority="low" width="300" height="300">
5894                            </a>
5895                          </li>
5896                         
5897                          <li>
5898                            <a href="#">
5899                              <img src="//chebeauty.com/cdn/shop/files/TikTok_8b058ff5-7ffe-4791-8f20-47f496102f29_300x300.svg?v=1689079328" alt="social icon" loading="lazy" fetchpriority="low" width="300" height="300">
5900                            </a>
5901                          </li>
5902                         
5903                          <li>
5904                            <a href="#">
5905                              <img src="//chebeauty.com/cdn/shop/files/Youtube_300x300.svg?v=1689079325" alt="social icon" loading="lazy" fetchpriority="low" width="300" height="300">
5906                            </a>
5907                          </li>
5908                        
5909                      </ul>
5910                    </div>
5911                  </nav>
5912                </div>
5913              </div>
5914            </div>
5915          </details>
5916        </header-drawer><details-modal class="header__search">
5917          <details>
5918            <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search">
5919              <span>
5920                <svg
5921  width="24"
5922  height="24"
5923  viewBox="0 0 24 24"
5924  fill="none"
5925  class="modal__toggle-open icon icon-search"
5926  xmlns="http://www.w3.org/2000/svg"
5927>
5928  <mask id="mask0_12021_20322" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
5929  <rect width="24" height="24" fill="#D9D9D9"/>
5930  </mask>
5931  <g mask="url(#mask0_12021_20322)">
5932  <path d="M9.51922 15.6154C7.81154 15.6154 6.3654 15.0231 5.1808 13.8385C3.99618 12.6538 3.40387 11.2077 3.40387 9.5C3.40387 7.79232 3.99618 6.34617 5.1808 5.16155C6.3654 3.97695 7.81154 3.38465 9.51922 3.38465C11.2269 3.38465 12.6731 3.97695 13.8577 5.16155C15.0423 6.34617 15.6346 7.79232 15.6346 9.5C15.6346 10.2141 15.5147 10.8962 15.275 11.5462C15.0352 12.1962 14.7153 12.7615 14.3153 13.2423L20.0692 18.9962C20.2077 19.1346 20.2785 19.3087 20.2817 19.5183C20.2849 19.7279 20.2141 19.9051 20.0692 20.05C19.9243 20.1948 19.7487 20.2673 19.5423 20.2673C19.3359 20.2673 19.1603 20.1948 19.0154 20.05L13.2615 14.2961C12.7615 14.7089 12.1865 15.032 11.5365 15.2654C10.8865 15.4987 10.2141 15.6154 9.51922 15.6154ZM9.51922 14.1154C10.8077 14.1154 11.899 13.6683 12.7933 12.7741C13.6875 11.8798 14.1346 10.7885 14.1346 9.5C14.1346 8.21153 13.6875 7.12019 12.7933 6.22595C11.899 5.33172 10.8077 4.8846 9.51922 4.8846C8.23076 4.8846 7.13941 5.33172 6.24517 6.22595C5.35096 7.12019 4.90385 8.21153 4.90385 9.5C4.90385 10.7885 5.35096 11.8798 6.24517 12.7741C7.13941 13.6683 8.23076 14.1154 9.51922 14.1154Z" fill="#0A0800"/>
5933  </g>
5934</svg>
5935
5936                <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false" role="presentation">
5937                  <use href="#icon-close">
5938                </svg>
5939              </span>
5940            </summary>
5941            <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search">
5942              <div class="modal-overlay"></div>
5943              <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
5944                    <div class="field">
5945                      <input class="search__input field__input"
5946                        id="Search-In-Modal"
5947                        type="search"
5948                        name="q"
5949                        value=""
5950                        placeholder="Search"role="combobox"
5951                          aria-expanded="false"
5952                          aria-owns="predictive-search-results-list"
5953                          aria-controls="predictive-search-results-list"
5954                          aria-haspopup="listbox"
5955                          aria-autocomplete="list"
5956                          autocorrect="off"
5957                          autocomplete="off"
5958                          autocapitalize="off"
5959                          spellcheck="false">
5960                      <label class="field__label" for="Search-In-Modal">Search</label>
5961                      <input type="hidden" name="options[prefix]" value="last">
5962                      <button class="search__button field__button" aria-label="Search">
5963                        <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation">
5964                          <use href="#icon-search">
5965                        </svg>
5966                      </button>
5967                    </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
5968                        <div class="predictive-search__loading-state">
5969                          <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
5970                            <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
5971                          </svg>
5972                        </div>
5973                      </div>
5974
5975                      <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close">
5976                  <svg class="icon icon-close" aria-hidden="true" focusable="false" role="presentation">
5977                    <use href="#icon-close">
5978                  </svg>
5979                </button>
5980              </div>
5981            </div>
5982          </details>
5983      </details-modal>
5984    </div><a href="/" class="header__heading-link link link--text focus-inset min-w-[145px] w-[145px]"><img src="//chebeauty.com/cdn/shop/t/163/assets/chebeauty.svg?v=16074486766382050901781941834" alt="logo" loading="lazy" fetchpriority="low" width="145" height="auto"></a><nav class="header__inline-menu">
5985          <ul class="list-menu list-menu--inline" role="list"><li><a data-name="home" href="/" class="header__menu-item list-menu__item link link--text focus-inset">
5986                    <span>Home</span>
5987                  </a></li><li><a data-name="products" href="/collections/new-all" class="header__menu-item list-menu__item link link--text focus-inset">
5988                    <span>Products</span>
5989                  </a></li><li><a data-name="blog" href="/pages/blogs" class="header__menu-item list-menu__item link link--text focus-inset">
5990                    <span>Blog</span>
5991                  </a></li><li><a data-name="about us" href="/pages/about-us" class="header__menu-item list-menu__item link link--text focus-inset">
5992                    <span>About Us</span>
5993                  </a></li><li><a data-name="reviews" href="/pages/reviews" class="header__menu-item list-menu__item link link--text focus-inset">
5994                    <span>Reviews</span>
5995                  </a></li></ul>
5996        </nav><div class="header__icons items-center">
5997      <a href="/pages/quiz">
5998        <button
5999  class="py-3 border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] take-quiz-header mr-6 ml-8 px-6 text-xs">take quiz
6000</button>
6001      </a>
6002      <details-modal class="header__search">
6003        <details>
6004          <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle small-hide" aria-haspopup="dialog" aria-label="Search">
6005            <span>
6006              <svg
6007  width="24"
6008  height="24"
6009  viewBox="0 0 24 24"
6010  fill="none"
6011  class="modal__toggle-open icon icon-search"
6012  xmlns="http://www.w3.org/2000/svg"
6013>
6014  <mask id="mask0_12021_20322" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
6015  <rect width="24" height="24" fill="#D9D9D9"/>
6016  </mask>
6017  <g mask="url(#mask0_12021_20322)">
6018  <path d="M9.51922 15.6154C7.81154 15.6154 6.3654 15.0231 5.1808 13.8385C3.99618 12.6538 3.40387 11.2077 3.40387 9.5C3.40387 7.79232 3.99618 6.34617 5.1808 5.16155C6.3654 3.97695 7.81154 3.38465 9.51922 3.38465C11.2269 3.38465 12.6731 3.97695 13.8577 5.16155C15.0423 6.34617 15.6346 7.79232 15.6346 9.5C15.6346 10.2141 15.5147 10.8962 15.275 11.5462C15.0352 12.1962 14.7153 12.7615 14.3153 13.2423L20.0692 18.9962C20.2077 19.1346 20.2785 19.3087 20.2817 19.5183C20.2849 19.7279 20.2141 19.9051 20.0692 20.05C19.9243 20.1948 19.7487 20.2673 19.5423 20.2673C19.3359 20.2673 19.1603 20.1948 19.0154 20.05L13.2615 14.2961C12.7615 14.7089 12.1865 15.032 11.5365 15.2654C10.8865 15.4987 10.2141 15.6154 9.51922 15.6154ZM9.51922 14.1154C10.8077 14.1154 11.899 13.6683 12.7933 12.7741C13.6875 11.8798 14.1346 10.7885 14.1346 9.5C14.1346 8.21153 13.6875 7.12019 12.7933 6.22595C11.899 5.33172 10.8077 4.8846 9.51922 4.8846C8.23076 4.8846 7.13941 5.33172 6.24517 6.22595C5.35096 7.12019 4.90385 8.21153 4.90385 9.5C4.90385 10.7885 5.35096 11.8798 6.24517 12.7741C7.13941 13.6683 8.23076 14.1154 9.51922 14.1154Z" fill="#0A0800"/>
6019  </g>
6020</svg>
6021
6022              <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false" role="presentation">
6023                <use href="#icon-close">
6024              </svg>
6025            </span>
6026          </summary>
6027          <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search">
6028            <div class="modal-overlay"></div>
6029            <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
6030                  <div class="field">
6031                    <input class="search__input field__input"
6032                      id="Search-In-Modal"
6033                      type="search"
6034                      name="q"
6035                      value=""
6036                      placeholder="Search"role="combobox"
6037                        aria-expanded="false"
6038                        aria-owns="predictive-search-results-list"
6039                        aria-controls="predictive-search-results-list"
6040                        aria-haspopup="listbox"
6041                        aria-autocomplete="list"
6042                        autocorrect="off"
6043                        autocomplete="off"
6044                        autocapitalize="off"
6045                        spellcheck="false">
6046                    <label class="field__label" for="Search-In-Modal">Search</label>
6047                    <input type="hidden" name="options[prefix]" value="last">
6048                    <button class="search__button field__button" aria-label="Search">
6049                      <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation">
6050                        <use href="#icon-search">
6051                      </svg>
6052                    </button>
6053                  </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
6054                      <div class="predictive-search__loading-state">
6055                        <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
6056                          <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
6057                        </svg>
6058                      </div>
6059                    </div>
6060
6061                    <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close">
6062                <svg class="icon icon-close" aria-hidden="true" focusable="false" role="presentation">
6063                  <use href="#icon-close">
6064                </svg>
6065              </button>
6066            </div>
6067          </div>
6068        </details>
6069      </details-modal><a href="/account/login" class="header__icon header__icon--account mr-1 link focus-inset md:mr-3">
6070          <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
6071<mask id="mask0_9320_55546" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="25">
6072<rect y="0.5" width="24" height="24" fill="#D9D9D9"/>
6073</mask>
6074<g mask="url(#mask0_9320_55546)">
6075<path d="M6.02308 17.7923C6.87308 17.1616 7.79903 16.6635 8.80095 16.2981C9.80287 15.9327 10.8692 15.75 12 15.75C13.1307 15.75 14.1971 15.9327 15.199 16.2981C16.2009 16.6635 17.1269 17.1616 17.9769 17.7923C18.5987 17.109 19.0913 16.318 19.4548 15.4193C19.8182 14.5205 20 13.5474 20 12.5C20 10.2833 19.2208 8.39584 17.6625 6.83751C16.1041 5.27917 14.2166 4.50001 12 4.50001C9.78331 4.50001 7.89581 5.27917 6.33748 6.83751C4.77914 8.39584 3.99998 10.2833 3.99998 12.5C3.99998 13.5474 4.18171 14.5205 4.54518 15.4193C4.90864 16.318 5.40128 17.109 6.02308 17.7923ZM12.0003 13.25C11.0873 13.25 10.3173 12.9366 9.69038 12.3099C9.06346 11.6832 8.75 10.9133 8.75 10.0003C8.75 9.08729 9.06336 8.31732 9.69008 7.69041C10.3168 7.06349 11.0867 6.75003 11.9997 6.75003C12.9127 6.75003 13.6827 7.06339 14.3096 7.69011C14.9365 8.31684 15.25 9.08671 15.25 9.99971C15.25 10.9127 14.9366 11.6827 14.3099 12.3096C13.6831 12.9365 12.9133 13.25 12.0003 13.25ZM12 22C10.6807 22 9.44325 21.7519 8.2875 21.2557C7.13173 20.7596 6.12628 20.0839 5.27115 19.2288C4.41603 18.3737 3.7404 17.3682 3.24425 16.2125C2.74808 15.0567 2.5 13.8192 2.5 12.5C2.5 11.1808 2.74808 9.94328 3.24425 8.78753C3.7404 7.63176 4.41603 6.62631 5.27115 5.77118C6.12628 4.91606 7.13173 4.24043 8.2875 3.74428C9.44325 3.24811 10.6807 3.00003 12 3.00003C13.3192 3.00003 14.5567 3.24811 15.7125 3.74428C16.8682 4.24043 17.8737 4.91606 18.7288 5.77118C19.5839 6.62631 20.2596 7.63176 20.7557 8.78753C21.2519 9.94328 21.5 11.1808 21.5 12.5C21.5 13.8192 21.2519 15.0567 20.7557 16.2125C20.2596 17.3682 19.5839 18.3737 18.7288 19.2288C17.8737 20.0839 16.8682 20.7596 15.7125 21.2557C14.5567 21.7519 13.3192 22 12 22ZM12 20.5C12.9025 20.5 13.7727 20.3548 14.6105 20.0644C15.4484 19.7741 16.1923 19.368 16.8423 18.8462C16.1923 18.3436 15.458 17.9519 14.6394 17.6712C13.8208 17.3904 12.941 17.25 12 17.25C11.0589 17.25 10.1775 17.3888 9.35573 17.6663C8.53393 17.9439 7.80123 18.3372 7.15765 18.8462C7.80765 19.368 8.5
60755157 19.7741 9.3894 20.0644C10.2272 20.3548 11.0974 20.5 12 20.5ZM12 11.75C12.4974 11.75 12.9134 11.5827 13.2481 11.2481C13.5827 10.9135 13.75 10.4974 13.75 10C13.75 9.50257 13.5827 9.08654 13.2481 8.75191C12.9134 8.41729 12.4974 8.24998 12 8.24998C11.5025 8.24998 11.0865 8.41729 10.7519 8.75191C10.4173 9.08654 10.25 9.50257 10.25 10C10.25 10.4974 10.4173 10.9135 10.7519 11.2481C11.0865 11.5827 11.5025 11.75 12 11.75Z" fill="#1C1B1F"/>
6076</g>
6077</svg>
6078
6079          <span class="visually-hidden">Log in</span>
6080        </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
6081<mask id="mask0_9320_55549" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="25">
6082<rect y="0.5" width="24" height="24" fill="#D9D9D9"/>
6083</mask>
6084<g mask="url(#mask0_9320_55549)">
6085<path d="M5.3077 22C4.80898 22 4.38302 21.8234 4.02982 21.4701C3.67661 21.1169 3.5 20.691 3.5 20.1923V8.80771C3.5 8.309 3.67661 7.88304 4.02982 7.52984C4.38302 7.17662 4.80898 7.00001 5.3077 7.00001H7.5C7.5 5.75131 7.93782 4.68915 8.81345 3.81351C9.6891 2.93788 10.7513 2.50006 12 2.50006C13.2487 2.50006 14.3109 2.93788 15.1865 3.81351C16.0621 4.68915 16.5 5.75131 16.5 7.00001H18.6923C19.191 7.00001 19.6169 7.17662 19.9701 7.52984C20.3233 7.88304 20.5 8.309 20.5 8.80771V20.1923C20.5 20.691 20.3233 21.1169 19.9701 21.4701C19.6169 21.8234 19.191 22 18.6923 22H5.3077ZM5.3077 20.5H18.6923C18.7692 20.5 18.8397 20.4679 18.9038 20.4038C18.9679 20.3397 19 20.2692 19 20.1923V8.80771C19 8.73078 18.9679 8.66025 18.9038 8.59614C18.8397 8.53204 18.7692 8.49999 18.6923 8.49999H5.3077C5.23077 8.49999 5.16024 8.53204 5.09612 8.59614C5.03202 8.66025 4.99997 8.73078 4.99997 8.80771V20.1923C4.99997 20.2692 5.03202 20.3397 5.09612 20.4038C5.16024 20.4679 5.23077 20.5 5.3077 20.5ZM8.99998 7.00001H15C15 6.16668 14.7083 5.45834 14.125 4.87501C13.5416 4.29168 12.8333 4.00001 12 4.00001C11.1666 4.00001 10.4583 4.29168 9.87498 4.87501C9.29164 5.45834 8.99998 6.16668 8.99998 7.00001ZM11.9846 14C13.1154 14 14.131 13.6173 15.0317 12.8519C15.9323 12.0865 16.3775 11.2179 16.3672 10.2461C16.3672 10.0397 16.298 9.86376 16.1596 9.71826C16.0211 9.57274 15.8455 9.49999 15.6327 9.49999C15.457 9.49999 15.3 9.56056 15.1615 9.68171C15.0231 9.80286 14.925 9.97177 14.8673 10.1884C14.7224 10.8666 14.3769 11.4214 13.8308 11.8529C13.2846 12.2843 12.6692 12.5 11.9846 12.5C11.3 12.5 10.682 12.2843 10.1308 11.8529C9.57947 11.4214 9.23652 10.8666 9.1019 10.1884C9.0442 9.96152 8.95125 9.79004 8.82305 9.67401C8.69485 9.55799 8.54293 9.49999 8.3673 9.49999C8.15448 9.49999 7.97628 9.57274 7.8327 9.71826C7.68912 9.86376 7.61733 10.0397 7.61733 10.2461C7.61733 11.2179 8.06251 12.0865 8.95288 12.8519C9.84326 13.6173 10.8538 14 11.9846 14Z" fill="#1C1B1F"/>
6086</g>
6087</svg>
6088<span class="visually-hidden">Cart</span></a>
6089    </div>
6090  </header>
6091  <div class="bg-[#FFFBEC] absolute hidden lg:block w-full megamenu mega-hidden shadow-[0_4px_8px_#0A080014]" data-name='products'>
6092    <div class="pt-6 pb-6 page-width max-w-[1300px] w-full flex justify-between mx-auto">
6093      <ul class="flex items-start justify-between gap-x-4 w-[60%]">
6094        
6095        
6096
6097        
6098        
6099        
6100          
6101            <a href="/collections/new-all" class="block text-sm text-black leading-[19.4px] py-2 cursor-pointer hover:opacity-100 font-semibold">All products</a>
6102          
6103        
6104           
6105            
6106            
6107            
6108
6109            <li class="mega-titles w-auto text-sm text-black leading-[19.4px] py-2 font-medium cursor-pointer hover:opacity-100">
6110              <a href="/collections/bestsellers" class="font-semibold block mb-[10px]">Bestsellers</a>
6111              <div class="mega-products">
6112                
6113                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/chebe-hair-butter">Chebe Hair Butter</a>
6114                
6115                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/chebe-hair-oil">Chebe Hair Oil</a>
6116                
6117                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/rice-water-for-hair-growth">Rice Water</a>
6118                
6119                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  style="display: none !important;"  href="/products/bestsellers-bundle-copy">Bestsellers Bundle</a>
6120                
6121                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/chebe-shampoo">Chebe Shampoo</a>
6122                
6123              </div>
6124            </li>
6125            
6126        
6127           
6128            
6129            
6130            
6131
6132            <li class="mega-titles w-auto text-sm text-black leading-[19.4px] py-2 font-medium cursor-pointer hover:opacity-100">
6133              <a href="/collections/new-bundles" class="font-semibold block mb-[10px]">Bundles</a>
6134              <div class="mega-products">
6135                
6136                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/bestsellers-bundle-copy">Bestsellers Bundle</a>
6137                
6138                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/ultimate-hair-growth-bundle-copy">Ultimate Hair Growth Bundle</a>
6139                
6140                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/chebeauty-starter-pack-copy">Chebeauty Starter Pack</a>
6141                
6142                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/shampoo-conditioners-set">Shampoo & Conditioners Set</a>
6143                
6144                    <a class="block font-normal text-[#626055] hover:text-black py-[6px]"  href="/products/damage-repair-bundle">
6144Damage Repair Bundle</a>
6145                
6146              </div>
6147            </li>
6148            
6149        
6150      </ul>
6151      <ul class="flex items-start justify-center gap-x-4 pt-2 -mr-[20px]">
6152        
6153         
6154          
6155          <li class="megamenu-product">
6156            <a href="/products/bestsellers-bundle-copy" class="block w-[200px]">
6157              <img class="w-full h-[200px] object-cover object-center rounded-[10px]" src="//chebeauty.com/cdn/shop/files/Bestsellers_Bundle_500x500.webp?v=1748774138" alt="Bestsellers Bundle" width=500 height=500 loading="lazy">
6158              <p class="mt-3 text-sm leading-[19.8px] font-semibold text-black opacity-80">Bestsellers Bundle</p>
6159            </a>
6160          </li>
6161         
6162          
6163          <li class="megamenu-product">
6164            <a href="/products/ultimate-hair-growth-bundle-copy" class="block w-[200px]">
6165              <img class="w-full h-[200px] object-cover object-center rounded-[10px]" src="//chebeauty.com/cdn/shop/files/UltimateHairGrowthBundle_500x500.webp?v=1748774289" alt="Ultimate Hair Growth Bundle" width=500 height=500 loading="lazy">
6166              <p class="mt-3 text-sm leading-[19.8px] font-semibold text-black opacity-80">Ultimate Hair Growth Bundle</p>
6167            </a>
6168          </li>
6169        
6170      </ul>
6171    </div>
6172  </div>
6173  <div class="bg-[#FFFBEC] absolute w-full megamenu mega-hidden" data-name='bundles'>
6174    <div class="py-2 pb-6 page-width">
6175      <ul class="flex justify-around items-end text-center">
6176        
6177          <li>
6178            <a href="/products/hair-growth-booster-bundle">
6179              <img class="max-w-[120px] mx-auto mix-blend-multiply" style="transform: translate3d(0,0,0);" src="//chebeauty.com/cdn/shop/files/8oz-chebe-pastre.png?v=1695294930&width=400" alt="Hair Growth Booster Bundle" width=400 height=400 loading="lazy"/> 
6180              <span class="block font-medium text-sm" href="/products/hair-growth-booster-bundle">Hair Growth Booster Bundle </span> 
6181            </a>
6182          </li>
6183          
6184          <li>
6185            <a href="/products/revitalizing-hair-bundle">
6186              <img class="max-w-[120px] mx-auto mix-blend-multiply" style="transform: translate3d(0,0,0);" src="//chebeauty.com/cdn/shop/products/ChebeHairpaste_KarkarOil_FermentedRiceWater.ChebeHairOil4copy_1.webp?v=1677654775&width=400" alt="Revitalizing Hair Bundle" width=400 height=400 loading="lazy"/> 
6187              <span class="block font-medium text-sm" href="/products/revitalizing-hair-bundle">Revitalizing Hair Bundle </span> 
6188            </a>
6189          </li>
6190          
6191          <li>
6192            <a href="/products/the-ultimate-bundle">
6193              <img class="max-w-[120px] mx-auto mix-blend-multiply" style="transform: translate3d(0,0,0);" src="//chebeauty.com/cdn/shop/products/Chebe-Hair-Butter_-Karkar-Oil_-Fermented-Rice-Water.-Chebe-Hair-Oil-4.jpg?v=1672834305&width=400" alt="Ultimate Hair Growth Bundle" width=400 height=400 loading="lazy"/> 
6194              <span class="block font-medium text-sm" href="/products/the-ultimate-bundle">Ultimate Hair Growth Bundle </span> 
6195            </a>
6196          </li>
6197          
6198          <li>
6199            <a href="/products/the-deluxe-treatment-bundle">
6200              <img class="max-w-[120px] mx-auto mix-blend-multiply" style="transform: translate3d(0,0,0);" src="//chebeauty.com/cdn/shop/products/Chebe-Hair-Butter_-Karkar-Oil_-and-Fermented-Rice-Water-4.jpg?v=1672836380&width=400" alt="Hair Loss Treatment Bundle" width=400 height=400 loading="lazy"/> 
6201              <span class="block font-medium text-sm" href="/products/the-deluxe-treatment-bundle">Hair Loss Treatment Bundle </span> 
6202            </a>
6203          </li>
6204          
6205      </ul>
6206    </div>
6207  </div>
6208</sticky-header>
6209
6210<div class="custom_mobile_sticky_menu md:hidden">
6211<nav class="bg-[#FFFBEC] w-full border-b border-[#ffcb18] z-[100]">
6212  <ul class="flex h-9 items-center gap-3 justify-center whitespace-nowrap text-s px-4"><li>
6213        <a data-name="all products" href="/collections/new-all" class="font-bold text-sm text-black">
6214          <span>All Products</span>
6215        </a>
6216      </li><li>
6217        <a data-name="best sellers" href="/collections/bestsellers" class="font-bold text-sm text-black">
6218          <span>Best Sellers</span>
6219        </a>
6220      </li><li>
6221        <a data-name="bundles" href="/collections/new-bundles" class="font-bold text-sm text-black">
6222          <span>Bundles</span>
6223        </a>
6224      </li><li>
6225        <a data-name="hair quiz" href="/pages/quiz" class="font-bold text-sm text-black">
6226          <span>Hair Quiz</span>
6227        </a>
6228      </li><li>
6229        <a data-name="blogs" href="/pages/blogs" class="font-bold text-sm text-black">
6230          <span>Blogs</span>
6231        </a>
6232      </li></ul>
6233</nav>
6234</div>
6234<script src="//chebeauty.com/cdn/shop/t/163/assets/details-disclosure.js?v=153497636716254413831781941838" defer="defer"></script>
vendor: 1 bytes, line 6234
6234
6235<script src="//chebeauty.com/cdn/shop/t/163/assets/details-modal.js?v=4511761896672669691781941834" defer="defer"></script>
vendor: 1 bytes, line 6235
6235
6236<script src="//chebeauty.com/cdn/shop/t/163/assets/cart-notification.js?v=160453272920806432391781941837" defer="defer"></script>
6236<script src="//chebeauty.com/cdn/shop/t/163/assets/cart-drawer-new.js?v=85249913899454840811781941836" defer="defer"></script>
6236
6237
6238<script src="//chebeauty.com/cdn/shop/t/163/assets/megamenu.js?v=159411836638175399221781941836" defer="defer"></script>
6238
6239
6240<script type="application/ld+json">
6241  {
6242    "@context": "http://schema.org",
6243    "@type": "Organization",
6244    "name": "Chebeauty",
6245    
6246    "sameAs": [
6247      "",
6248      "https:\/\/www.facebook.com\/chebeautybrand",
6249      "",
6250      "https:\/\/www.instagram.com\/chebeautybrand\/",
6251      "",
6252      "",
6253      "",
6254      "",
6255      ""
6256    ],
6257    "url": "https:\/\/chebeauty.com"
6258  }
6259</script>
6259</div>
6260
6261    
6262    <main
6263      id="MainContent"
6264      class="content-for-layout focus-none "
6265      role="main"
6266      tabindex="-1"
6267    >
6268      <div id="shopify-section-template--21461752774834__main" class="shopify-section login-wrapper"><link href="//chebeauty.com/cdn/shop/t/163/assets/customer.css?v=155537055575402212671781941837" rel="stylesheet" type="text/css" media="all" />
6269<link href="//chebeauty.com/cdn/shop/t/163/assets/custom-main-login.css?v=159332010717134991041781941834" rel="stylesheet" type="text/css" media="all" />
6270<style data-shopify>.section-template--21461752774834__main-padding {
6271    padding-top: 27
6272    px;
6273    padding-bottom: 27
6274    px;
6275  }
6276
6277  @media screen and (min-width: 750px) {
6278    .section-template--21461752774834__main-padding {
6279      padding-top: 36
6280      px;
6281      padding-bottom: 36
6282      px;
6283    }
6284  }
6285  .login-wrapper {
6286    background-color: #FFF;
6287    padding-top: 64px;
6288    padding-bottom: 96px;
6289  }
6290  @media screen and (max-width: 990px) {
6291    .login-wrapper {
6292      padding-left: 83px;
6293      padding-right: 83px;
6294    }
6295  }
6296  @media screen and (max-width: 768px) {
6297    .login-wrapper {
6298      padding-top: 48px;
6299      padding-left: 16px;
6300      padding-right: 16px;
6301    }
6302    .errors-wrapper {
6303      margin-top: 20px;
6304    }
6305  }</style><div class="customer login section-template--21461752774834__main-padding custom-login rounded-[10px] bg-creamy py-6 px-4 md:py-8 md:px-20 lg:py-12">
6306  <h1 id="recover" tabindex="-1">
6307    Reset your password
6308  </h1>
6309  <div>
6310    <p>
6311      We will send you an email to reset your password
6312    </p><form method="post" action="/account/recover" accept-charset="UTF-8" class="max-w-[330px] mx-auto"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="✓" />
6313      <div class="field custom_field">
6314        <input
6315          class="bg-white p-4 border border-[#ECEAE5] rounded-[8px]"
6316          type="email"
6317          value=""
6318          name="email"
6319          id="RecoverEmail"
6320          autocorrect="off"
6321          autocapitalize="off"
6322          autocomplete="email"
6323          
6324          placeholder="Email">
6325        <label for="RecoverEmail" class="block text-left font-semibold text-sm text-[#403F36] uppercase">
6326          Email
6327        </label>
6328      </div><button class="custom-login-button border border-[#E0A200] bg-gradient-to-t from-[#FFBA0A] to-[#FFD770] rounded-[10px] hover:border-[#CC9300] hover:from-[#F5B000] hover:to-[#FFD15C] active:border-[#CC9300] active:from-[#FFC632] active:to-[#FFC632] text-center capitalize text-sm font-medium text-black lg:text-base mt-12 mb-2 w-full">
6329        Submit
6330      </button>
6331
6332      <a href="#login" class="w-full">
6333        <button
6334  class="py-3 border border-[#E0A200] bg-[#FFF6E0] text-center hover:border-[#CC9300] hover:bg-[#FFF1CC] active:border-[#CC9300] active:bg-[#FFF6E0] capitalize font-medium text-black rounded-[10px] w-full pointer-events-none m-0">Cancel
6335</button>
6336      </a></form></div>
6337
6338  <div id="login" class="flex flex-col items-center">
6339    <h1 class="font-bold text-black text-2xl md:text-3xl" tabindex="-1">
6340      Welcome Back
6341    </h1>
6342
6343    <p class="text-sm lg:text-base font-normal text-[#403F36] m-0">
6344      Please enter your details below to log in
6345    </p>
6346  </div>
6347  <div class="max-w-[330px] w-full mx-auto"><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" /><label for="CustomerEmail" class="block text-left font-semibold text-sm text-[#403F36] uppercase">
6348        Email
6349      </label>
6350      <div class="field custom_field mt-2 rounded-[8px]">
6351        <input
6352          class="bg-white p-4 border border-[#ECEAE5] rounded-[8px]"
6353          type="email"
6354          name="customer[email]"
6355          id="CustomerEmail"
6356          autocomplete="email"
6357          autocorrect="off"
6358          autocapitalize="off"
6359          
6360          placeholder="Email">
6361      </div>
6362
6363      <label for="CustomerPassword" class="block text-left font-semibold text-sm text-[#403F36] uppercase mt-4">
6364        Password
6365      </label><div class="field custom_field mt-2 rounded-[8px]">
6366          <input
6367            class="bg-white p-4 border border-[#ECEAE5] rounded-[8px]"
6368            type="password"
6369            value=""
6370            name="customer[password]"
6371            id="CustomerPassword"
6372            autocomplete="current-password"
6373            
6374            placeholder="Password">
6375        </div>
6376
6377        <a class="m-0 mt-4" href="#recover">
6378          <button class="underline text-black hover:text-[#524100] active:text-[#7A6200] m-0 min-h-[unset] pointer-events-none">Forgot your password?
6379</button>
6380        </a><button class="custom-login-button border border-[#E0A200] bg-gradient-to-t from-[#FFBA0A] to-[#FFD770] rounded-[10px] hover:border-[#CC9300] hover:from-[#F5B000] hover:to-[#FFD15C] active:border-[#CC9300] active:from-[#FFC632] active:to-[#FFC632] text-center capitalize text-sm font-medium text-black lg:text-base mt-12 lg:mb-4 w-full">
6381        Sign in
6382      </button>
6383
6384      <p class="m-0 text-center text-[#777] text-sm font-normal">Do not have an account?
6385        <a class="text-black inline text-sm" href="/account/register"><button class="underline text-black hover:text-[#524100] active:text-[#7A6200] pointer-events-none m-0 min-h-[unset] inline min-w-[unset]">Sign Up
6386</button></a>
6387      </p><input type="hidden" name="return_url" value="/account" /></form></div></div>
6388
6389</div>
6390    </main>
6391
6392    <footer id="shopify-section-custom-footer" class="shopify-section custom-footer"><style>
6393  input[aria-invalid="true"] {
6394    border-color: red !important;
6395  }
6396  .custom-footer {
6397    position: relative;
6398    z-index: 20;
6399  }
6400  @media screen and (max-width: 768px) {
6401    .custom-footer {
6402      border-top: none;
6403    }
6404  }
6405  .footer-social-urls li svg:hover path:not(.tiktok-custom-path) {
6406    fill: #0A0800;
6407  }
6408</style>
6409
6410<div class="hidden lg:!block">
6411  <div class="bg-[#F7F5F1]">
6412    <p class="page-width h2 font-heading text-[32px] leading-[41.25px] text-black lowercase font-bold pt-4">
6413      Chebeauty
6414    </p>
6415    <div class="page-width pt-6 pb-12 flex gap-16">
6416      <div class="basis-[47%]">
6417        <div class="p-4 rounded-[10px] bg-white">
6418          <b class="block mb-2">Subscribe to our newsletter</b>
6419          <p class="text-sm text-black opacity-[64%] leading-[16.8px] mb-4">
6420            and be the first to know about  
6421            exclusive promotions and expert advice on beauty tips.
6422          </p>
6423          <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
6424            <input
6425              type="hidden"
6426              name="contact[tags]"
6427              value="newsletter">
6428            <div class="newsletter-form__field-wrapper">
6429              <div class="field flex flex-col gap-4 xxl:gap-2 xxl:flex-row items-center">
6430                <input
6431                  id="NewsletterForm--custom-footer"
6432                  type="email"
6433                  name="contact[email]"
6434                  class="field__input border border-[#DCD9D4] rounded-[4px] flex-grow-0 xxl:w-[60%] w-full"
6435                  value=""
6436                  aria-required="true"
6437                  autocorrect="off"
6438                  autocapitalize="off"
6439                  autocomplete="email"
6440                  
6441                  placeholder="Enter Email"
6442                  required>
6443                <label class="field__label text-white" for="NewsletterForm--custom-footer">
6444                  Enter Email
6445                </label>
6446                <button
6447                  onclick="validateEmail(event)"
6448                  style="border: 1px solid #D5AE1D; border-radius: 8px;"
6449                  type="submit"
6450                  class="xxl:absolute xxl:top-1/2 xxl:-translate-y-1/2 static max-w-none rouned min-h-[20px] w-full xxl:max-w-[155px] bg-white font-medium text-black capitalize text-base min-w-[155px] py-7 lg:py-6 newsletter-form__button field__button border border-[#E0A200] bg-gradient-to-t from-[#FFBA0A] to-[#FFD770] rounded-[10px] hover:border-[#CC9300] hover:from-[#F5B000] hover:to-[#FFD15C] active:border-[#CC9300] active:from-[#FFC632] active:to-[#FFC632]"
6451                  name="commit"
6452                  id="Subscribe"
6453                  aria-label="Subscribe">
6454                  Subscribe
6455                </button>
6456              </div></div></form>
6457        </div>
6458      </div>
6459      <div class="basis-1/5 flex flex-col">
6460        <div class="flex flex-col items-start justify-center">
6461          <a href="/collections/bestsellers" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Bestsellers</a><a href="/collections/new-bundles" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Bundles</a><a href="/products/chebe-hair-butter" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Chebe Hair Butter</a><a href="/products/chebe-shampoo" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Chebe Shampoo</a><a href="/products/chebe-leave-in-conditioner" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Chebe Leave-In Conditioner</a><a href="/products/rice-water-for-hair-growth" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Rice Water for Hair Growth</a><a href="/products/rosemary-oil" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer"> Rosemary Oil</a>
6462        </div>
6463      </div>
6464      <div class="basis-1/5 flex flex-col">
6465        <div class="flex flex-col items-start justify-center">
6466          <a href="/pages/blogs" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Blog</a><a href="/pages/quiz" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Quiz</a><a href="/pages/ingredients" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Ingredients</a><a href="/pages/contact" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Contact</a><a href="/policies/refund-policy" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Shipping and Returns</a><a href="/pages/subscription-policy" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Subscription Policy</a><a href="/pages/help-center" class="text-sm leading-[17px] font-medium text-black py-[3px] block cursor-pointer">Help Center</a>
6467        </div>
6468      </div>
6469      <div class="basis-1/5">
6470        <div class="mb-8">
6471          <ul class="flex footer-social-urls gap-3">
6472  <li>
6473    <a href="https://www.facebook.com/profile.php?id=100086513231423" target="_blank">
6474      <svg
6475        width="32"
6476        height="32"
6477        viewBox="0 0 32 32"
6478        fill="none"
6479        xmlns="http://www.w3.org/2000/svg">
6480        <g clip-path="url(#clip0_7265_41663)">
6481          <rect
6482            width="32"
6483            height="32"
6484            rx="16"
6485            fill="white" />
6486          <path
6487            fill-rule="evenodd"
6488            clip-rule="evenodd"
6489            d="M100 0H0V100H100V0ZM20.0506 14.1051L19.5946 16.9994H17.242V24H14.0824V16.9994H11.52V14.1051H14.0824V11.8982C14.0824 9.38836 15.5915 8 17.9031 8C18.6668 8.00933 19.4287 8.07432 20.1828 8.19446V10.6591H18.8879C17.6341 10.6591 17.242 11.4324 17.242 12.2239V14.1051H20.0506Z"
6490            fill="#777777" />
6491        </g>
6492        <defs>
6493          <clipPath id="clip0_7265_41663">
6494            <rect
6495              width="32"
6496              height="32"
6497              rx="16"
6498              fill="white" />
6499          </clipPath>
6500        </defs>
6501      </svg>
6502    </a>
6503  </li>
6504  <li>
6505    <a href="https://www.instagram.com/chebeautybrand/" target="_blank">
6506      <svg
6507        width="32"
6508        height="32"
6509        viewBox="0 0 32 32"
6510        fill="none"
6511        xmlns="http://www.w3.org/2000/svg">
6512        <g clip-path="url(#clip0_7265_41667)">
6513          <rect
6514            width="32"
6515            height="32"
6516            rx="16"
6517            fill="white" />
6518          <path
6519            fill-rule="evenodd"
6520            clip-rule="evenodd"
6521            d="M32 0H0V32H32V0ZM16.1026 13.184C14.4932 13.184 13.1889 14.4882 13.1889 16.0966C13.1889 17.7051 14.4932 19.0093 16.1026 19.0093C17.712 19.0093 19.017 17.7051 19.017 16.0966C19.017 14.4882 17.712 13.184 16.1026 13.184ZM16.1026 20.5831C13.6232 20.5831 11.6134 18.5745 11.6134 16.0966C11.6134 13.6188 13.6232 11.6102 16.1026 11.6102C18.582 11.6102 20.5918 13.6188 20.5918 16.0966C20.5918 18.5745 18.582 20.5831 16.1026 20.5831ZM19.897 12.0148C19.7818 11.8424 19.7203 11.6396 19.7204 11.4323C19.7206 11.1543 19.8313 10.8878 20.028 10.6913C20.2247 10.4948 20.4914 10.3843 20.7695 10.3842H20.7699C20.9774 10.3843 21.1802 10.4459 21.3527 10.5611C21.5252 10.6764 21.6596 10.8402 21.7389 11.0318C21.8182 11.2235 21.8389 11.4343 21.7984 11.6376C21.7578 11.841 21.6578 12.0278 21.511 12.1744C21.3643 12.3209 21.1773 12.4207 20.9738 12.4611C20.7702 12.5015 20.5593 12.4806 20.3676 12.4012C20.176 12.3218 20.0122 12.1873 19.897 12.0148ZM10.9471 22.908C11.255 23.0279 11.7183 23.1698 12.5706 23.2086C13.4919 23.2509 13.7679 23.2594 16.1026 23.2594C18.4373 23.2594 18.7141 23.2509 19.6356 23.2086C20.488 23.1698 20.9514 23.028 21.2592 22.908C21.6673 22.7492 21.959 22.5598 22.2648 22.2545C22.5705 21.9491 22.7598 21.6581 22.9187 21.2502C23.0379 20.9425 23.1806 20.4795 23.2194 19.6276C23.2618 18.7059 23.2703 18.43 23.2703 16.0967C23.2703 13.7634 23.2618 13.4876 23.2194 12.5658C23.1807 11.714 23.0387 11.2508 22.9187 10.9433C22.7598 10.5353 22.571 10.2439 22.2648 9.93827C21.9586 9.63267 21.6673 9.44283 21.2592 9.28472C20.9505 9.16589 20.488 9.02295 19.6356 8.98416C18.7133 8.9425 18.4362 8.93334 16.1026 8.93334C13.769 8.93334 13.4922 8.9418 12.5706 8.98416C11.7183 9.02288 11.2549 9.16477 10.9471 9.28472C10.5383 9.44283 10.2473 9.63225 9.94153 9.93827C9.63575 10.2443 9.44649 10.5353 9.28759 10.9433C9.16869 11.2517 9.02566 11.714 8.98684 12.5658C8.94516 13.4876 8.936 13.7634 8.936 16.0967C8.936 18.43 8.94446 18.7066 8.98684 19.6276C9.02559 20.4795 9.16757 20.9426 9.28759 21.2502C9.44579 21.6581 9.63533 21.9489 9.94153 22.2545C10.2477 22.5601 10.539 22.7492 10.9471 22.908ZM10.3762 7.81812C10.9316 7.60213 11.5676 7.45465 12.4983 7.41229C13.4309 7.36923 13.7291 7.35938 16.1033 7.35938C18.4775 7.35938 18.7755 7.36993 19.7077 7.41229C20.6377 7.45395 21.2733 7.60213 21.8297 7.81812C22.4039 8.04116 22.8919 8.33963 23.3777 8.82591C23.8635 9.31219 24.1623 9.79917 24.3861 10.3737C24.6022 10.9287 24.7498 11.5642 24.7922 12.4944C24.8346 13.426 24.8444 13.7239 24.8444 16.0966C24.8444 18.4694 24.8346 18.7665 24.7922 19.6988C24.7505 20.629 24.6022 21.2642 24.3861 21.8196C24.1623 22.3941 23.8643 22.8819 23.3777 23.3674C22.8911 23.8529 22.4039 24.1515 21.829 24.3752C21.2733 24.5912 20.6377 24.7386 19.707 24.781C18.7748 24.8241 18.4768 24.8339 16.1026 24.8339C13.7284 24.8339 13.4309 24.8234 12.4983 24.781C11.5676 24.7386 10.9326 24.5912 10.3762 24.3752C9.80102 24.1515 9.31402 23.8527 8.82752 23.3674C8.34102 22.8821 8.0423 22.3941 7.81912 21.8196C7.60301 21.2642 7.45544 20.629 7.41305 19.6988C7.36997 18.7672 7.36011 18.4694 7.36011 16.0966C7.36011 13.7239 7.36997 13.426 7.41305 12.4944C7.45544 11.5643 7.60301 10.9291 7.81912 10.3737C8.0423 9.79882 8.34095 9.31142 8.82752 8.82591C9.31409 8.34039 9.80102 8.04116 10.3762 7.81812Z"
6522            fill="#777777" />
6523        </g>
6524        <defs>
6525          <clipPath id="clip0_7265_41667">
6526            <rect
6527              width="32"
6528              height="32"
6529              rx="16"
6530              fill="white" />
6531          </clipPath>
6532        </defs>
6533      </svg>
6534    </a>
6535  </li>
6536  <li>
6537    <a href="https://www.tiktok.com/@chebeautybrand" target="_blank">
6538      <svg
6539        width="32"
6540        height="32"
6541        viewBox="0 0 32 32"
6542        fill="none"
6543        xmlns="http://www.w3.org/2000/svg">
6544        <g clip-path="url(#clip0_7265_41672)">
6545          <rect
6546            width="32"
6547            height="32"
6548            rx="16"
6549            fill="white" />
6550          <path d="M0 0H100V100H0V0Z" fill="#777777" />
6551          <path
6552            fill-rule="evenodd"
6553            clip-rule="evenodd"
6554            d="M19.212 13.9381C20.1934 14.6357 21.3685 15.0084 22.5725 15.0039V12.6177C22.3359 12.6184 22.0998 12.593 21.8686 12.5422V14.4431C20.6619 14.4453 19.485 14.0683 18.5042 13.3654V18.2729C18.5012 19.0782 18.2803 19.8677 17.8651 20.5576C17.4498 21.2475 16.8555 21.8122 16.1453 22.1918C15.4351 22.5714 14.6354 22.7517 13.831 22.7136C13.0266 22.6755 12.2475 22.4204 11.5763 21.9754C12.1972 22.6036 12.9904 23.0333 13.8556 23.2104C14.7209 23.3874 15.6192 23.3036 16.4368 22.9698C17.2544 22.6359 17.9546 22.0669 18.4486 21.3349C18.9426 20.6028 19.2083 19.7407 19.212 18.8575V13.9381ZM20.083 11.5042C19.584 10.9633 19.2778 10.2726 19.212 9.53958V9.22938H18.5439C18.6265 9.6953 18.8062 10.1386 19.0714 10.5306C19.3366 10.9225 19.6812 11.2542 20.083 11.5042ZM13.1234 20.0864C12.8918 19.7836 12.7499 19.4218 12.7138 19.0423C12.6777 18.6628 12.7488 18.2808 12.9192 17.9398C13.0895 17.5987 13.3521 17.3123 13.6772 17.1132C14.0022 16.9141 14.3767 16.8102 14.7579 16.8134C14.9684 16.8133 15.1776 16.8455 15.3783 16.9088V14.4431C15.1437 14.4121 14.907 14.3988 14.6704 14.4034V16.3202C14.1817 16.1658 13.6527 16.2009 13.1887 16.4186C12.7247 16.6364 12.3597 17.0208 12.1662 17.4955C11.9728 17.9701 11.965 18.5002 12.1446 18.9802C12.3242 19.4603 12.6778 19.8552 13.1353 20.0864H13.1234Z"
6555            fill="#777777" />
6556          <path
6557            class="tiktok-custom-path"
6558            fill-rule="evenodd"
6559            clip-rule="evenodd"
6560            d="M18.5038 13.3495C19.4847 14.0524 20.6616 14.4294 21.8683 14.4272V12.5262C21.1808 12.3809 20.5562 12.0234 20.0827 11.5042C19.6809 11.2542 19.3362 10.9225 19.071 10.5306C18.8059 10.1386 18.6262 9.6953 18.5436 9.22938H16.7858V18.8575C16.7841 19.2837 16.6491 19.6987 16.3996 20.0441C16.1501 20.3896 15.7986 20.6483 15.3946 20.7839C14.9905 20.9194 14.5542 20.9251 14.1468 20.8C13.7394 20.6749 13.3814 20.4253 13.123 20.0864C12.7136 19.8798 12.3857 19.5413 12.1923 19.1255C11.9989 18.7098 11.9511 18.2409 12.0568 17.7947C12.1625 17.3485 12.4155 16.9509 12.7749 16.666C13.1343 16.3812 13.5791 16.2258 14.0377 16.2248C14.2481 16.2255 14.4572 16.2576 14.6581 16.3202V14.4034C13.7902 14.4242 12.9472 14.698 12.2327 15.1911C11.5182 15.6843 10.9632 16.3754 10.6359 17.1795C10.3086 17.9836 10.2232 18.8658 10.3902 19.7177C10.5572 20.5697 10.9693 21.3544 11.576 21.9754C12.2473 22.4236 13.0276 22.6813 13.8338 22.7211C14.64 22.7608 15.4419 22.5812 16.154 22.2012C16.8662 21.8213 17.462 21.2553 17.8778 20.5635C18.2937 19.8717 18.5142 19.0801 18.5157 18.2729L18.5038 13.3495Z"
6561            fill="white" />
6562          <path
6563            class="tiktok-custom-path"
6564            fill-rule="evenodd"
6565            clip-rule="evenodd"
6566            d="M21.8683 12.5262L21.8685 12.0131C21.2371 12.0157 20.6181 11.8394 20.083 11.5042C20.5553 12.0249 21.1801 12.3827 21.8683 12.5262ZM18.5439 9.22938C18.5439 9.13791 18.516 9.04229 18.504 8.95083V8.64062H16.0781V18.2727C16.076 18.8121 15.86 19.3286 15.4775 19.7088C15.095 20.0891 14.5773 20.302 14.0379 20.301C13.7204 20.3026 13.4071 20.2291 13.1234 20.0864C13.3817 20.4253 13.7394 20.6749 14.1468 20.8C14.5542 20.9251 14.9905 20.9194 15.3946 20.7839C15.7986 20.6483 16.1501 20.3896 16.3996 20.0441C16.6491 19.6987 16.7841 19.2837 16.7858 18.8575V9.22938H18.5439ZM14.6583 14.3992V13.8544C13.6601 13.7188 12.6453 13.9253 11.7795 14.4402C10.9136 14.9551 10.2477 15.7482 9.89019 16.69C9.53272 17.6319 9.5048 18.6671 9.81098 19.6269C10.1172 20.5866 10.7395 21.4146 11.5763 21.9754C10.9743 21.3529 10.5664 20.5684 10.4028 19.718C10.2393 18.8676 10.3269 17.9879 10.6551 17.1865C10.9832 16.3851 11.5377 15.6966 12.2507 15.2051C12.9638 14.7137 13.8045 14.4406 14.6703 14.4191L14.6583 14.3992Z"
6567            fill="#ECEAE5" />
6568        </g>
6569        <defs>
6570          <clipPath id="clip0_7265_41672">
6571            <rect
6572              width="32"
6573              height="32"
6574              rx="16"
6575              fill="white" />
6576          </clipPath>
6577        </defs>
6578      </svg>
6579    </a>
6580  </li>
6581  <li>
6582    <a href="https://www.youtube.com/channel/UChpYLh7YYkiIu46yK8AI8UA" target="_blank">
6583      <svg
6584        width="32"
6585        height="32"
6586        viewBox="0 0 32 32"
6587        fill="none"
6588        xmlns="http://www.w3.org/2000/svg">
6589        <g clip-path="url(#clip0_7265_41676)">
6590          <rect
6591            width="32"
6592            height="32"
6593            rx="16"
6594            fill="white" />
6595          <path
6596            fill-rule="evenodd"
6597            clip-rule="evenodd"
6598            d="M100 0H0V100H100V0ZM24.5799 11.6001C24.3709 10.8147 23.7529 10.195 22.9665 9.98265C21.5447 9.60156 15.84 9.60156 15.84 9.60156C15.84 9.60156 10.1382 9.60156 8.71343 9.98265C7.92997 10.1921 7.31191 10.8117 7.10009 11.6001C6.71997 13.0256 6.71997 16.0016 6.71997 16.0016C6.71997 16.0016 6.71997 18.9776 7.10009 20.403C7.30901 21.1885 7.92707 21.8081 8.71343 22.0205C10.1382 22.4016 15.84 22.4016 15.84 22.4016C15.84 22.4016 21.5447 22.4016 22.9665 22.0205C23.75 21.811 24.368 21.1914 24.5799 20.403C24.96 18.9776 24.96 16.0016 24.96 16.0016C24.96 16.0016 24.96 13.0256 24.5799 11.6001ZM14.0177 18.7448L18.7562 16.0016L14.0177 13.2583V18.7448Z"
6599            fill="#777777" />
6600        </g>
6601        <defs>
6602          <clipPath id="clip0_7265_41676">
6603            <rect
6604              width="32"
6605              height="32"
6606              rx="16"
6607              fill="white" />
6608          </clipPath>
6609        </defs>
6610      </svg>
6611    </a>
6612  </li>
6613</ul>
6614        </div>
6615        <div>
6616          <p class="text-lg font-bold text-black">Contact Us</p>
6617          <a href="mailto:[email protected]">
6618            <button class="underline text-black hover:text-[#524100] active:text-[#7A6200] ">[email protected]
6619</button>
6620          </a>
6621        </div>
6622      </div>
6623    </div>
6624  </div>
6625  <div class="bg-[#403F36]">
6626    <div class="page-width">
6627      <div class="py-2 flex items-center justify-between text-xs leading-[14.4px] text-white font-normal">
6628        <p>© 2024 Chebeauty LLC</p>
6629        <div class="flex items-center justify-start gap-x-4">
6630          <a target="_blank" href="/policies/privacy-policy">Privacy Policy</a><a target="_blank" href="/pages/cookie-policy">Cookie Policy</a><a target="_blank" href="/policies/terms-of-service">Terms & Conditions</a>
6631        </div>
6632      </div>
6633    </div>
6634  </div>
6635</div>
6636
6637<div class="block lg:hidden">
6638  <div class="bg-[#F7F5F1]">
6639    <div class="page-width py-6 flex flex-col px-4">
6640      <p class="h2 font-heading text-3xl text-black lowercase font-bold mb-4 text-center">
6641        Chebeauty
6642      </p>
6643      <div class="p-4 rounded-[10px] bg-white">
6644        <b class="text-base font-semibold leading-[19.5px] text-black mb-2 block text-center lg:text-left">Subscribe to our newsletter</b>
6645        <p class="text-sm font-normal leading-[16.8px] text-black opacity-[64%] mb-4 text-center lg:text-left">
6646          and be the first to know about  
6647          exclusive promotions and expert advice on beauty tips.
6648        </p>
6649        <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
6650          <input
6651            type="hidden"
6652            name="contact[tags]"
6653            value="newsletter">
6654          <div class="newsletter-form__field-wrapper">
6655            <div class="field flex flex-col gap-2 lg:gap-0 lg:flex-row items-center">
6656              <input
6657                id="NewsletterForm--custom-footer"
6658                type="email"
6659                name="contact[email]"
6660                class="w-full field__input !bg-transparent bg-white border border-solid !border-[#DCD9D4] rounded-[8px] min-h-[20px] text-black"
6661                value=""
6662                aria-required="true"
6663                autocorrect="off"
6664                autocapitalize="off"
6665                autocomplete="email"
6666                
6667                placeholder="Enter Email"
6668                required>
6669              <label class="field__label text-white" for="NewsletterForm--custom-footer">
6670                Enter Email
6671              </label>
6672              <button
6673                onclick="validateEmail(event)"
6674                style="border: 1px solid #D5AE1D; border-radius: 8px;"
6675                type="submit"
6676                class="static leading-[19.41px] rouned h-[50px] w-full bg-white font-medium text-black capitalize text-base py-6 newsletter-form__button field__button border border-[#
6676E0A200] bg-gradient-to-t from-[#FFBA0A] to-[#FFD770] rounded-[10px] hover:border-[#CC9300] hover:from-[#F5B000] hover:to-[#FFD15C] active:border-[#CC9300] active:from-[#FFC632] active:to-[#FFC632]"
6677                name="commit"
6678                id="Subscribe"
6679                aria-label="Subscribe">
6680                Subscribe
6681              </button>
6682            </div></div></form>
6683      </div>
6684      <div class="flex items-top mb-6">
6685        <div class="basis-1/2 flex flex-col pt-4">
6686          <div class="flex flex-col items-center lg:items-start justify-center">
6687            <a href="/collections/bestsellers" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center">Bestsellers</a><a href="/collections/new-bundles" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center">Bundles</a><a href="/products/chebe-hair-butter" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center">Chebe Hair Butter</a><a href="/products/chebe-shampoo" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center">Chebe Shampoo</a><a href="/products/chebe-leave-in-conditioner" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center">Chebe Leave-In Conditioner</a><a href="/products/rice-water-for-hair-growth" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center">Rice Water for Hair Growth</a><a href="/products/rosemary-oil" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer text-center"> Rosemary Oil</a>
6688          </div>
6689        </div>
6690        <div class="basis-1/2 flex flex-col pt-4">
6691          <div class="flex flex-col items-center lg:items-start justify-center">
6692            <a href="/pages/blogs" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Blog</a><a href="/pages/quiz" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Quiz</a><a href="/pages/ingredients" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Ingredients</a><a href="/pages/contact" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Contact</a><a href="/policies/refund-policy" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Shipping and Returns</a><a href="/pages/subscription-policy" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Subscription Policy</a><a href="/pages/help-center" class="text-sm leading-[17px] font-medium text-black py-[6px] block cursor-pointer">Help Center</a>
6693          </div>
6694        </div>
6695      </div>
6696      <div class="flex flex-col justify-center items-center">
6697        <ul class="flex gap-3">
6698  <li>
6699    <a href="https://www.facebook.com/profile.php?id=100086513231423" target="_blank">
6700      <svg
6701        width="32"
6702        height="32"
6703        viewBox="0 0 32 32"
6704        fill="none"
6705        xmlns="http://www.w3.org/2000/svg">
6706        <g clip-path="url(#clip0_7419_43852)">
6707          <rect
6708            width="32"
6709            height="32"
6710            rx="16"
6711            fill="white" />
6712          <path
6713            fill-rule="evenodd"
6714            clip-rule="evenodd"
6715            d="M32 0H0V32H32V0ZM20.5506 14.1051L20.0947 16.9994H17.742V24H14.5824V16.9994H12.02V14.1051H14.5824V11.8982C14.5824 9.38836 16.0915 8 18.4031 8C19.1668 8.00933 19.9288 8.07432 20.6828 8.19446V10.6591H19.388C18.1341 10.6591 17.742 11.4324 17.742 12.2239V14.1051H20.5506Z"
6716            fill="#0A0800" />
6717        </g>
6718        <defs>
6719          <clipPath id="clip0_7419_43852">
6720            <rect
6721              width="32"
6722              height="32"
6723              rx="16"
6724              fill="white" />
6725          </clipPath>
6726        </defs>
6727      </svg>
6728    </a>
6729  </li>
6730  <li>
6731    <a href="https://www.instagram.com/chebeautybrand/" target="_blank">
6732      <svg
6733        width="32"
6734        height="32"
6735        viewBox="0 0 32 32"
6736        fill="none"
6737        xmlns="http://www.w3.org/2000/svg">
6738        <g clip-path="url(#clip0_7419_43856)">
6739          <rect
6740            width="32"
6741            height="32"
6742            rx="16"
6743            fill="white" />
6744          <path
6745            fill-rule="evenodd"
6746            clip-rule="evenodd"
6747            d="M32 0H0V32H32V0ZM16.6026 13.184C14.9932 13.184 13.6889 14.4882 13.6889 16.0966C13.6889 17.7051 14.9932 19.0093 16.6026 19.0093C18.212 19.0093 19.517 17.7051 19.517 16.0966C19.517 14.4882 18.212 13.184 16.6026 13.184ZM16.6026 20.5831C14.1232 20.5831 12.1134 18.5745 12.1134 16.0966C12.1134 13.6188 14.1232 11.6102 16.6026 11.6102C19.082 11.6102 21.0918 13.6188 21.0918 16.0966C21.0918 18.5745 19.082 20.5831 16.6026 20.5831ZM20.397 12.0148C20.2818 11.8424 20.2203 11.6396 20.2204 11.4323C20.2206 11.1543 20.3313 10.8878 20.528 10.6913C20.7247 10.4948 20.9914 10.3843 21.2695 10.3842H21.2699C21.4774 10.3843 21.6802 10.4459 21.8527 10.5611C22.0252 10.6764 22.1596 10.8402 22.2389 11.0318C22.3182 11.2235 22.3389 11.4343 22.2984 11.6376C22.2578 11.841 22.1578 12.0278 22.011 12.1744C21.8643 12.3209 21.6773 12.4207 21.4738 12.4611C21.2702 12.5015 21.0593 12.4806 20.8676 12.4012C20.676 12.3218 20.5122 12.1873 20.397 12.0148ZM11.4471 22.908C11.755 23.0279 12.2183 23.1698 13.0706 23.2086C13.9919 23.2509 14.2679 23.2594 16.6026 23.2594C18.9373 23.2594 19.2141 23.2509 20.1356 23.2086C20.988 23.1698 21.4514 23.028 21.7592 22.908C22.1673 22.7492 22.459 22.5598 22.7648 22.2545C23.0705 21.9491 23.2598 21.6581 23.4187 21.2502C23.5379 20.9425 23.6806 20.4795 23.7194 19.6276C23.7618 18.7059 23.7703 18.43 23.7703 16.0967C23.7703 13.7634 23.7618 13.4876 23.7194 12.5658C23.6807 11.714 23.5387 11.2508 23.4187 10.9433C23.2598 10.5353 23.071 10.2439 22.7648 9.93827C22.4586 9.63267 22.1673 9.44283 21.7592 9.28472C21.4505 9.16589 20.988 9.02295 20.1356 8.98416C19.2133 8.9425 18.9362 8.93334 16.6026 8.93334C14.269 8.93334 13.9922 8.9418 13.0706 8.98416C12.2183 9.02288 11.7549 9.16477 11.4471 9.28472C11.0383 9.44283 10.7473 9.63225 10.4415 9.93827C10.1357 10.2443 9.94649 10.5353 9.78759 10.9433C9.66869 11.2517 9.52566 11.714 9.48684 12.5658C9.44516 13.4876 9.436 13.7634 9.436 16.0967C9.436 18.43 9.44446 18.7066 9.48684 19.6276C9.52559 20.4795 9.66757 20.9426 9.78759 21.2502C9.94579 21.6581 10.1353 21.9489 10.4415 22.2545C10.7477 22.5601 11.039 22.7492 11.4471 22.908ZM10.8762 7.81812C11.4316 7.60213 12.0676 7.45465 12.9983 7.41229C13.9309 7.36923 14.2291 7.35938 16.6033 7.35938C18.9775 7.35938 19.2755 7.36993 20.2077 7.41229C21.1377 7.45395 21.7733 7.60213 22.3297 7.81812C22.9039 8.04116 23.3919 8.33963 23.8777 8.82591C24.3635 9.31219 24.6623 9.79917 24.8861 10.3737C25.1022 10.9287 25.2498 11.5642 25.2922 12.4944C25.3346 13.426 25.3444 13.7239 25.3444 16.0966C25.3444 18.4694 25.3346 18.7665 25.2922 19.6988C25.2505 20.629 25.1022 21.2642 24.8861 21.8196C24.6623 22.3941 24.3643 22.8819 23.8777 23.3674C23.3911 23.8529 22.9039 24.1515 22.329 24.3752C21.7733 24.5912 21.1377 24.7386 20.207 24.781C19.2748 24.8241 18.9768 24.8339 16.6026 24.8339C14.2284 24.8339 13.9309 24.8234 12.9983 24.781C12.0676 24.7386 11.4326 24.5912 10.8762 24.3752C10.301 24.1515 9.81402 23.8527 9.32752 23.3674C8.84102 22.8821 8.5423 22.3941 8.31912 21.8196C8.10301 21.2642 7.95544 20.629 7.91305 19.6988C7.86997 18.7672 7.86011 18.4694 7.86011 16.0966C7.86011 13.7239 7.86997 13.426 7.91305 12.4944C7.95544 11.5643 8.10301 10.9291 8.31912 10.3737C8.5423 9.79882 8.84095 9.31142 9.32752 8.82591C9.81409 8.34039 10.301 8.04116 10.8762 7.81812Z"
6748            fill="#0A0800" />
6749        </g>
6750        <defs>
6751          <clipPath id="clip0_7419_43856">
6752            <rect
6753              width="32"
6754              height="32"
6755              rx="16"
6756              fill="white" />
6757          </clipPath>
6758        </defs>
6759      </svg>
6760    </a>
6761  </li>
6762  <li>
6763    <a href="https://www.tiktok.com/@chebeautybrand" target="_blank">
6764      <svg
6765        width="32"
6766        height="32"
6767        viewBox="0 0 32 32"
6768        fill="none"
6769        xmlns="http://www.w3.org/2000/svg">
6770        <g clip-path="url(#clip0_7419_43861)">
6771          <rect
6772            width="32"
6773            height="32"
6774            rx="16"
6775            fill="white" />
6776          <path d="M-0.5 0H99.5V100H-0.5V0Z" fill="#0A0800" />
6777          <path
6778            fill-rule="evenodd"
6779            clip-rule="evenodd"
6780            d="M19.712 13.9381C20.6934 14.6357 21.8685 15.0084 23.0725 15.0039V12.6177C22.8359 12.6184 22.5998 12.593 22.3686 12.5422V14.4431C21.1619 14.4453 19.985 14.0683 19.0042 13.3654V18.2729C19.0012 19.0782 18.7803 19.8677 18.3651 20.5576C17.9498 21.2475 17.3555 21.8122 16.6453 22.1918C15.9351 22.5714 15.1354 22.7517 14.331 22.7136C13.5266 22.6755 12.7475 22.4204 12.0763 21.9754C12.6972 22.6036 13.4904 23.0333 14.3556 23.2104C15.2209 23.3874 16.1192 23.3036 16.9368 22.9698C17.7544 22.6359 18.4546 22.0669 18.9486 21.3349C19.4426 20.6028 19.7083 19.7407 19.712 18.8575V13.9381ZM20.583 11.5042C20.084 10.9633 19.7778 10.2726 19.712 9.53958V9.22938H19.0439C19.1265 9.6953 19.3062 10.1386 19.5714 10.5306C19.8366 10.9225 20.1812 11.2542 20.583 11.5042ZM13.6234 20.0864C13.3918 19.7836 13.2499 19.4218 13.2138 19.0423C13.1777 18.6628 13.2488 18.2808 13.4192 17.9398C13.5895 17.5987 13.8521 17.3123 14.1772 17.1132C14.5022 16.9141 14.8767 16.8102 15.2579 16.8134C15.4684 16.8133 15.6776 16.8455 15.8783 16.9088V14.4431C15.6437 14.4121 15.407 14.3988 15.1704 14.4034V16.3202C14.6817 16.1658 14.1527 16.2009 13.6887 16.4186C13.2247 16.6364 12.8597 17.0208 12.6662 17.4955C12.4728 17.9701 12.465 18.5002 12.6446 18.9802C12.8242 19.4603 13.1778 19.8552 13.6353 20.0864H13.6234Z"
6781            fill="#0A0800" />
6782          <path
6783            fill-rule="evenodd"
6784            clip-rule="evenodd"
6785            d="M19.0038 13.3495C19.9847 14.0524 21.1616 14.4294 22.3683 14.4272V12.5262C21.6808 12.3809 21.0562 12.0234 20.5827 11.5042C20.1809 11.2542 19.8362 10.9225 19.571 10.5306C19.3059 10.1386 19.1262 9.6953 19.0436 9.22938H17.2858V18.8575C17.2841 19.2837 17.1491 19.6987 16.8996 20.0441C16.6501 20.3896 16.2986 20.6483 15.8946 20.7839C15.4905 20.9194 15.0542 20.9251 14.6468 20.8C14.2394 20.6749 13.8814 20.4253 13.623 20.0864C13.2136 19.8798 12.8857 19.5413 12.6923 19.1255C12.4989 18.7098 12.4511 18.2409 12.5568 17.7947C12.6625 17.3485 12.9155 16.9509 13.2749 16.666C13.6343 16.3812 14.0791 16.2258 14.5377 16.2248C14.7481 16.2255 14.9572 16.2576 15.1581 16.3202V14.4034C14.2902 14.4242 13.4472 14.698 12.7327 15.1911C12.0182 15.6843 11.4632 16.3754 11.1359 17.1795C10.8086 17.9836 10.7232 18.8658 10.8902 19.7177C11.0572 20.5697 11.4693 21.3544 12.076 21.9754C12.7473 22.4236 13.5276 22.6813 14.3338 22.7211C15.14 22.7608 15.9419 22.5812 16.654 22.2012C17.3662 21.8213 17.962 21.2553 18.3778 20.5635C18.7937 19.8717 19.0142 19.0801 19.0157 18.2729L19.0038 13.3495Z"
6786            fill="white" />
6787          <path
6788            fill-rule="evenodd"
6789            clip-rule="evenodd"
6790            d="M22.3683 12.5262L22.3685 12.0131C21.7371 12.0157 21.1181 11.8394 20.583 11.5042C21.0553 12.0249 21.6801 12.3827 22.3683 12.5262ZM19.0439 9.22938C19.0439 9.13791 19.016 9.04229 19.004 8.95083V8.64062H16.5781V18.2727C16.576 18.8121 16.36 19.3286 15.9775 19.7088C15.595 20.0891 15.0773 20.302 14.5379 20.301C14.2204 20.3026 13.9071 20.2291 13.6234 20.0864C13.8817 20.4253 14.2394 20.6749 14.6468 20.8C15.0542 20.9251 15.4905 20.9194 15.8946 20.7839C16.2986 20.6483 16.6501 20.3896 16.8996 20.0441C17.1491 19.6987 17.2841 19.2837 17.2858 18.8575V9.22938H19.0439ZM15.1583 14.3992V13.8544C14.1601 13.7188 13.1453 13.9253 12.2795 14.4402C11.4136 14.9551 10.7477 15.7482 10.3902 16.69C10.0327 17.6319 10.0048 18.6671 10.311 19.6269C10.6172 20.5866 11.2395 21.4146 12.0763 21.9754C11.4743 21.3529 11.0664 20.5684 10.9028 19.718C10.7393 18.8676 10.8269 17.9879 11.1551 17.1865C11.4832 16.3851 12.0377 15.6966 12.7507 15.2051C13.4638 14.7137 14.3045 14.4406 15.1703 14.4191L15.1583 14.3992Z"
6791            fill="#ECEAE5" />
6792        </g>
6793        <defs>
6794          <clipPath id="clip0_7419_43861">
6795            <rect
6796              width="32"
6797              height="32"
6798              rx="16"
6799              fill="white" />
6800          </clipPath>
6801        </defs>
6802      </svg>
6803    </a>
6804  </li>
6805  <li>
6806    <a href="https://www.youtube.com/channel/UChpYLh7YYkiIu46yK8AI8UA" target="_blank">
6807      <svg
6808        width="32"
6809        height="32"
6810        viewBox="0 0 32 32"
6811        fill="none"
6812        xmlns="http://www.w3.org/2000/svg">
6813        <g clip-path="url(#clip0_7419_43865)">
6814          <rect
6815            width="32"
6816            height="32"
6817            rx="16"
6818            fill="white" />
6819          <path
6820            fill-rule="evenodd"
6821            clip-rule="evenodd"
6822            d="M99.5 0H-0.5V100H99.5V0ZM25.0799 11.6001C24.8709 10.8147 24.2529 10.195 23.4665 9.98265C22.0447 9.60156 16.34 9.60156 16.34 9.60156C16.34 9.60156 10.6382 9.60156 9.21343 9.98265C8.42997 10.1921 7.81191 10.8117 7.60009 11.6001C7.21997 13.0256 7.21997 16.0016 7.21997 16.0016C7.21997 16.0016 7.21997 18.9776 7.60009 20.403C7.80901 21.1885 8.42707 21.8081 9.21343 22.0205C10.6382 22.4016 16.34 22.4016 16.34 22.4016C16.34 22.4016 22.0447 22.4016 23.4665 22.0205C24.25 21.811 24.868 21.1914 25.0799 20.403C25.46 18.9776 25.46 16.0016 25.46 16.0016C25.46 16.0016 25.46 13.0256 25.0799 11.6001ZM14.5177 18.7448L19.2562 16.0016L14.5177 13.2583V18.7448Z"
6823            fill="#0A0800" />
6824        </g>
6825        <defs>
6826          <clipPath id="clip0_7419_43865">
6827            <rect
6828              width="32"
6829              height="32"
6830              rx="16"
6831              fill="white" />
6832          </clipPath>
6833        </defs>
6834      </svg>
6835    </a>
6836  </li>
6837</ul>
6838        <div class="text-center mt-6">
6839          <p class="text-base font-bold text-black">Contact Us</p>
6840          <a href="mailto:[email protected]">
6841            <button class="underline text-black hover:text-[#524100] active:text-[#7A6200] ">[email protected]
6842</button>
6843          </a>
6844        </div>
6845      </div>
6846    </div>
6847  </div>
6848  <div class="bg-[#403F36]">
6849    <div class="page-width flex flex-col gap-4 text-[10px] leading-[12px] text-white font-normal text-center p-2">
6850      <div class="flex items-center justify-center gap-x-4">
6851        <a target="_blank" href="/policies/privacy-policy">Privacy Policy</a><a target="_blank" href="/pages/cookie-policy">Cookie Policy</a><a target="_blank" href="/policies/terms-of-service">Terms & Conditions</a>
6852      </div>
6853      <p>© 2024 Chebeauty LLC</p>
6854    </div>
6855  </div>
6856</div>
6857
6858<script>
6859  document.getElementById("contact_form").addEventListener("submit", (e) => validateEmail(e));
6860  function validateEmail(e) {
6861    e.preventDefault();
6862    e.stopImmediatePropagation();
6863
6864    let displayedInput;
6865
6866    document.querySelectorAll('#NewsletterForm--custom-footer').forEach(input => {
6867      if (input.offsetWidth > 0 && input.offsetHeight > 0) {
6868        displayedInput = input;
6869      }
6870    });
6871
6872    if (displayedInput.value === "") {
6873      displayedInput.setAttribute("aria-invalid", true);
6874    } else {
6875      displayedInput.setAttribute("aria-invalid", false);
6876      document.getElementById("contact_form").submit();
6877    }
6878  }
6879</script>
6879
6880
6881</footer>
6882
6883    <ul hidden>
6884      <li id="a11y-refresh-page-message">
6885        Choosing a selection results in a full page refresh.
6886      </li>
6887      <li id="a11y-new-window-message">
6888        Opens in a new window.
6889      </li>
6890    </ul>
6891
6892    
6893
6894    
6894<script>
6895      window.shopUrl = 'https://chebeauty.com';
6896      window.routes = {
6897        cart_add_url: '/cart/add',
6898        cart_change_url: '/cart/change',
6899        cart_update_url: '/cart/update',
6900        cart_url: '/cart',
6901        predictive_search_url: '/search/suggest',
6902      };
6903      window.cartStrings = {
6904        error: `There was an error while updating your cart. Please try again.`,
6905        quantityError: `You can only add [quantity] of this item to your cart.`,
6906      };
6907      window.variantStrings = {
6908        addToCart: `Add to bag`,
6909        soldOut: `Sold out`,
6910        unavailable: `Unavailable`,
6911      };
6912      window.accessibilityStrings = {
6913        imageAvailable: `Image [index] is now available in gallery view`,
6914        shareSuccess: `Link copied to clipboard`,
6915        pauseSlideshow: `Pause slideshow`,
6916        playSlideshow: `Play slideshow`,
6917      };
6918    </script>
6918
6919
6920    <!-- Google Tag Manager (noscript) -->
vendor: 87 bytes, lines 6920-6923
6920
6921    <noscript
6922      ><iframe
6923        src="https://www.googletagmanager.com/ns.html?id=
6923GTM-PMKJGJD
vendor: 123 bytes, lines 6923-6929
6923"
6924        height="0"
6925        width="0"
6926        style="display:none;visibility:hidden"
6927      ></iframe
6928    ></noscript>
6929    
6929<!-- End Google Tag Manager (noscript) -->
6930
6931    <!-- Gorgias Chat Widget Start -->
6932    
6932<script defer>
6933      window.addEventListener('load', () => {
6934        var script = document.createElement('script');
6935        script.id = 'gorgias-chat-widget-install-v2';
6936        script.src = 'https://config.gorgias.chat/gorgias-chat-bundle-loader.js?applicationId=24205';
6937        document.body.appendChild(script);
6938      });
6939    </script>
6939
6940
6941    <!-- Gorgias Chat Widget End -->
6942
6943    
6944
6945    
6945<script src="https://a.klaviyo.com/media/js/onsite/onsite.js" defer></script>
6945
6946    
6946<script src="//chebeauty.com/cdn/shop/t/163/assets/klaviyo-bis-init.js?v=173865280054413172731786105109" defer></script>
6946
6947      <style data-shopify>
6948        body .klaviyo-bis-trigger {
6949          height: 60px;
6950          font-weight: bold;
6951
6952          display: flex;
6953          align-items: center;
6954          justify-content: center;
6955
6956          text-transform: uppercase;
6957          border-radius: 0.75rem;
6958          border: 1px solid #daa015;
6959          background: linear-gradient(180deg, #f8ca2a 0%, #ffbe32 100%) !important;
6960          color: black;
6961
6962          margin-bottom: 1em !important;
6963        }
6964
6965        body .klaviyo-bis-close {
6966          font-family: "Gilroy";
6967        }
6968      </style>
6969    
6970
6971    
6971<script src="//chebeauty.com/cdn/shop/t/163/assets/productCards.js?v=30248107938526044551781941836" defer></script>
6971<script src="//chebeauty.com/cdn/shop/t/163/assets/predictive-search.js?v=153888447267950491301781941834" defer="defer">
6972      </script>
6972<!-- @prettify-ignore -->
6973<script>
6974  let customValue, container, shippingValue, shippingBar;
6975
6976  window.addEventListener("DOMContentLoaded", () => {
6977    container = document.querySelector(".shipping-cont");
6978    shippingValue = container.querySelector(".free-shipping-val");
6979
6980    customValue = Number(shippingValue.dataset.initialvalue);
6981    shippingBar = container.querySelector("#free-shipping-bar");
6982    new MutationObserver((mutations) => {
6983      console.log('new value: ',shippingValue.dataset.initialvalue)
6984      if(shippingValue.dataset.initialvalue!=customValue){
6985        console.log('change shipping value to from: ',customValue,' to: ',shippingValue.dataset.initialvalue)
6986        customValue=Number(shippingValue.dataset.initialvalue);
6987        handleShippingProgressbar()
6988      }
6989    }).observe(shippingValue, {
6990      attributes: true
6991    })
6992    function setInitialShippingbarValue() {
6993      const cartSubtotal = 0.00;
6994      const priceAway = cartSubtotal === 0 ? customValue : (customValue - cartSubtotal).toFixed(0);
6995
6996      if (priceAway > 0) {
6997        const percentOfCustom = Math.ceil((cartSubtotal / customValue) * 100);
6998        shippingBar.style.width = `${percentOfCustom}%`;
6999        shippingValue.innerHTML = `You're <strong>$${priceAway}</strong> away from <strong class="shipping-free-highlight">FREE SHIPPING!</strong>`;
7000      } else {
7001        shippingValue.innerHTML = `Congrats! You've unlocked <strong class="shipping-free-highlight">FREE SHIPPING!</strong>`;
7002        shippingBar.style.width = "100%";
7003      }
7004    }
7005    setInitialShippingbarValue();
7006  });
7007  function handleShippingProgressbar() {
7008    let subTotal = document
7009      .querySelector("cart-drawer .totals__subtotal-value b")
7010      .innerHTML
7011      .trim()
7012      .replace("$", " ");
7013    subTotal = Number(subTotal);
7014    const priceAway = subTotal === 0 ? customValue : (customValue - subTotal).toFixed(0);
7015    if (priceAway > 0) {
7016      const percentOfCustom = Math.ceil((subTotal / customValue) * 100);
7017      shippingBar.style.width = `${percentOfCustom}%`;
7018      shippingValue.innerHTML = `You're <strong>$${priceAway}</strong> away from <strong class="shipping-free-highlight">FREE SHIPPING!</strong>`;
7019    } else {
7020      shippingValue.innerHTML = `Congrats! You've unlocked <strong class="shipping-free-highlight">FREE SHIPPING!</strong>`;
7021      shippingBar.style.width = "100%";
7022    }
7023  }
7024</script>
7024
7025
7026
7027    <!-- subify Snippet Start -->
7028    
7029    <!-- subify Snippet End -->
7030    
7030<script src="https://navidium-static-assets.s3.amazonaws.com/navidium-widgets/extension/navidium-extension-checker.js" defer></script>
7030
7031  
7031<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
7031
7032</body>
7033  
7034  
7034<script defer>
7035    // gather all dropdowns
7036    const dropdownSelectors = document.querySelectorAll(
7037      '.testing-SellingPlansSelector-options, .drawer-options, .productOptOptions, .productOptSelectorSellingPlansOptions'
7038    );
7039
7040    document.addEventListener('click', function (event) {
7041      dropdownSelectors.forEach((selector) => {
7042        if (!selector.contains(event.target) && !selector.parentNode.contains(event.target)) {
7043          selector.parentNode.classList.remove('active');
7044        }
7045      });
7046    });
7047
7048    document
7049      .querySelectorAll('.custom-klarna-icon')
7050      .forEach((icon) =>
7051        icon.addEventListener('mouseleave', () => icon.querySelector('.klarna-info-wrapper').classList.add('hidden'))
7052      );
7053    if (window.innerWidth >= 768) {
7054      document
7055        .querySelectorAll('.custom-klarna-icon')
7056        .forEach((icon) =>
7057          icon.addEventListener('mouseenter', () =>
7058            icon.querySelector('.klarna-info-wrapper').classList.remove('hidden')
7059          )
7060        );
7061    } else {
7062      document
7063        .querySelectorAll('.custom-klarna-icon')
7064        .forEach((icon) =>
7065          icon.addEventListener('touchstart', () =>
7066            icon.querySelector('.klarna-info-wrapper').classList.remove('hidden')
7067          )
7068        );
7069    }
7070  </script>
7070
7071</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.