1<!doctype html> 2<html 3 class="no-js" 4 lang="en" 5> 6<head> 7 <!-- Elevate - 2026-06-02T18:08:38.846Z -->
7<script> 8 const environment = { rootUrl: '/', themeId: 160739885111, themeRole: 'main', activeCurrency: 'USD', template: { suffix: '', type: 'cart' }, isThemePreview: false, customerData: { loggedIn: false } }; 9 try { window.eab_data = { selectors: JSON.parse(`{"settings":{"enableServerEvents":true},"selectorsV2":[]}`) || {}, allTests: JSON.parse(`{"0dcbe98a-2c4b-49e8-88ef-12e676b41ae2":{"44113":{"variationName":"Control","trafficPercentage":20,"isDone":false,"isControl":true,"themeId":134504579127},"44114":{"variationName":"Variation 1","trafficPercentage":80,"isDone":false,"themeId":133927469111},"data":{"name":"Duplicated 06-04-2026 - New Theme Design","isLive":false,"settings":{"afterDiscounts":true},"type":"THEME","filters":[],"isPersonalization":false}},"6e4e4d1d-b3aa-494c-8395-7552d27959c7":{"44115":{"variationName":"Control","trafficPercentage":80,"isDone":false,"isControl":true,"themeId":133927469111},"44116":{"variationName":"Variation 1","trafficPercentage":20,"isDone":false,"themeId":134504579127},"data":{"name":"Theme Test v3","isLive":false,"settings":{"afterDiscounts":true},"type":"THEME","filters":[],"isPersonalization":false}},"662ec467-68ba-49a1-a006-8ad9343876ca":{"44608":{"variationName":"Control","trafficPercentage":50,"isDone":false,"isControl":true,"templateID":""},"44609":{"variationName":"Product Selector","trafficPercentage":50,"isDone":false,"templateID":"eab-OdAYKS7p4j"},"data":{"name":"Vanilla 3in1","isLive":false,"settings":{"afterDiscounts":true},"type":"PAGE","filters":[],"isPersonalization":false,"page":"product","testProducts":["cactus-fruit-3-in-1-styling-cream-vanilla-dae-beam"],"productIds":["7411489701943"]}}}`) || {}, currencyFormat: "${{amount}}", environment: environment }; } catch(error) { console.log(error); window.eab_data = { selectors: {}, allTests: {}, currencyFormat: "${{amount}}", environment: environment }; } 10 </script>
10 11
11<script data-cfasync='false' class='eab-redirect-script'> 12!function(){function e(){var e=r("eabUserId");const t=F(),n=z();if(!e&&(t||n)){e=function(){try{if(window.crypto&&window.crypto.getRandomValues){const e=new Uint8Array(16);window.crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128;const t=Array.from(e).map((e=>e.toString(16).padStart(2,"0")));return[t.slice(0,4).join(""),t.slice(4,6).join(""),t.slice(6,8).join(""),t.slice(8,10).join(""),t.slice(10,16).join("")].join("-")}}catch(e){console.log("Crypto UUID generation failed, falling back to Math.random()",e)}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}();var a=new Date;a.setFullYear(a.getFullYear()+1);var i="; expires="+a.toUTCString();document.cookie="eabUserId="+e+i+"; path=/"}}function t(e,t){var r=new Date;r.setTime(r.getTime()+31536e6);var n="; expires="+r.toUTCString();document.cookie=e+"="+(t||"")+n+"; path=/"}function r(e){for(var t=e+"=",r=document.cookie.split(";"),n=0;n<r.length;n++){for(var a=r[n];" "==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(t))return a.substring(t.length,a.length)}return null}function n(e){var t=r(e);if(t)try{return JSON.parse(t)}catch(e){return console.error("Error parsing JSON from cookie ",e),null}return{}}function a(e){return sessionStorage.getItem(e)}function i(e){var t={};return e.replace(/[?&]+([^=&]+)=([^&]*)/gi,(function(e,r,n){t[r]=n})),t}function o(e){if(!e||!e.trim())return"";const t=e.trim();try{const e=t.replace(/^https?:\/\//,""),r=`https://${e}`.replace(/\/+$/,""),n=new URL(r);return n.hostname.startsWith("www.")&&(n.hostname=n.hostname.substring(4)),n.toString().replace(/\/+$/,"")}catch(r){console.warn("URL parsing failed for:",e,r);return`https://${t.replace(/^https?:\/\//,"")}`.replace(/\/+$/,"")}}function s(e){if("string"==typeof e)try{var t=new URL(e.startsWith("http")?e:"https://"+e),r={};return t.searchParams.forEach((function(e,t){r[t]=e})),{matchUrl:t.origin+t.pathname,matchCondition:"matches",params:r,href:e}}catch{return{matchUrl:e,matchCondition:"matches",params:{},href:e}}return e}function c(e){return/^https?:\/\//i.test(e)}function l(e,t,r,n){var a=s(e),i=a.matchCondition||"matches";try{var l=new URL(o(t)),u=l.pathname.replace(/\/+$/,""),d=n?u.replace(n,"/"):u;if("matches"===i){var f=new URL(o(a.matchUrl)),p=f.pathname.replace(/\/+$/,"");if(c(a.matchUrl)&&l.hostname!==f.hostname)return!1;if(d!==p)return!1;var h=a.params||{};for(var m in h)if("abtr"!==m&&("variant"!==m||r)){var g=h[m],w=l.searchParams.get(m);if(""!==g||""!==w){var v=decodeURIComponent(g||"");if(decodeURIComponent(w||"")!==v)return!1}}return!0}if("startsWith"===i){if(c(a.matchUrl)){var y=o(a.matchUrl).replace(/\/+$/,"");return l.href.replace(/\/+$/,"").startsWith(y)}return d.startsWith(a.matchUrl)}if("contains"===i)return c(a.matchUrl)?l.href.includes(o(a.matchUrl)):d.includes(a.matchUrl);if("endsWith"===i){if(c(a.matchUrl)){y=o(a.matchUrl).replace(/\/+$/,"");return l.href.replace(/\/+$/,"").endsWith(y)}return d.endsWith(a.matchUrl)}if("regex"===i)return c(a.matchUrl)?new RegExp(a.matchUrl).test(l.href):new RegExp(a.matchUrl).test(d)}catch(e){}return!1}const u=window?.Shopify,d=window?.eab_data?.environment,f=u&&u?.routes?.root&&"/"!==u?.routes?.root?u?.routes?.root?.toLowerCase():"",p=d?.rootUrl&&"/"!==d.rootUrl?d.rootUrl.endsWith("/")?d.rootUrl.toLowerCase():(d.rootUrl+"/").toLowerCase():f;function h(){var e=window.location.pathname;p&&e.startsWith(p)&&(e=e.slice(p.length));const t=p.replace(/^\/|\/$/g,"");return t&&e.startsWith(`/${t}`)&&(e=e.slice(t.length+1)),"/"===e||"/index"===e||""===e?"index":/products\//.test(e)?"product":/collections\//.test(e)?"collection":/pages\//.test(e)?"page":e.endsWith("/cart")?"cart":e.endsWith("/search")?"search":"unknown"}localStorage.setItem("eabRootRoute",p||f);var m=window&&window.eab_data?window.eab_data.allTests:{};const g=window&&window.eab_data&&window.eab_data.selectors?window.eab_data.selectors.settings:{};let w=null;function v(){window.Shopify&&window.Shopify.loadFeatures&&window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],(function(e){if(!e&&window.Shopify.customerPrivacy&&window.Shopify.customerPrivacy.getRegion){const e=window.Shopify.customerPrivacy.getRegion();e&&e.length>=2&&(w=e.substring(0,2).toUpperCase(),localStorage.setItem("eabCountryCode",w))}}))}g?.useShopifyGeolocation&&(window.Shopify&&window.Shopify.loadFeatures||"loading"!==document.readyState?v():document.addEventListener("DOMContentLoaded",v,{once:!0}));var y=window.location.search,b=window.location.href,_=i(y);const T=_.abtid||sessionStorage.getItem("abtid");_.abtid&&sessionStorage.setItem("abtid",_.abtid);var U=!(!T||!m[T]||"true"!==r("eabUserPreview")&&"true"!==_.eabUserPreview),S={};for(var P in m)if(m[P]){var I=m[P];"settings"!==P&&(P===T||!U&&P!==T&&I&&I.data&&I.data.isLive)&&(S[P]=I)}for(var O in S){var C=S[O];if(C.data&&"PRODUCT_GROUP"===C.data.type&&!C.data.isV2){var R={data:C.data},k={};for(var x in C)if("data"!==x&&C[x]){var E=C[x],A=E.groupVariationId;k[A]||(k[A]={groupVariationId:A,variationName:E.variationName,trafficPercentage:E.trafficPercentage,isControl:E.isControl,isDone:E.isDone,products:[]}),k[A].products.push({id:E.id,variationId:x,handle:E.handle,groupId:E.groupId,link:E.link,productTitle:E.productTitle,price:E.price,productVariants:E.productVariants,prices:E.prices,originalProductHandle:E.originalProductHandle})}
12for(var L in k)k[L].products.forEach((e=>{e.variationId&&(R[e.variationId]=k[L])}));S[O]=R}}var N,j=n("ABTL")||{},D=((N=a("ABAV"))?JSON.parse(N):null)||{},$=a("eabReferrer"),V=a("eabEntry"),B=n("ABAU")||{};"string"==typeof $||sessionStorage.setItem("eabReferrer",document.referrer),null===V&&sessionStorage.setItem("eabEntry",b);var G=n("eabExcludedTests")||{},W=b.split("?")[0],J=i(b)||"";function H(e){var t,r=o(W),n=decodeURIComponent(r),a=j[e],i=S[e]?.[a]?.groupVariationId,s=S[e];const c=!s.data.isV2,l=window?.__st?.rid;for(var u in s)if(s[u]&&"data"!==u){var d=s[u];if(d.products&&Array.isArray(d.products))for(var f=0;f<d.products.length;f++){var p=d.products[f],h=p.link,m=p.handle,g=Number(p.id);if(h===n||n.endsWith(`products/${m}`)||g===l){t=p;break}}if(t)break}if(!t)return{};for(var w in s)if(s[w]&&"data"!==w){var v=s[w];if(v.products&&Array.isArray(v.products))for(var y=0;y<v.products.length;y++){var b=v.products[y];if(b.groupId===t.groupId&&v.groupVariationId===i)return{...b,variationId:c?b.variationId:w,groupVariationId:v.groupVariationId,variationName:v.variationName}}}return{}}function M(e){var r=j[e];const a=S[e].data.type;var i;S[e][r]||(r=function(e){for(var r=Object.keys(S[e]),n="0",a=0;a<r.length;a++){var i=r[a];if(S[e][i]&&"data"!==i&&!S[e][i].isDone){n=i,j[e]=n,t("ABTL",JSON.stringify(j)),D[e]=!1,B[e]=!1;break}}return n}(e)),"PRODUCT_GROUP"===a&&(i=H(e)),"PRODUCT_GROUP"!==a||S[e].data.isV2?B[e]||(B[e]=!0,t("ABAU",JSON.stringify(B))):(B[e]?B[e][i.variationId]||(B[e][i.variationId]=!0):B[e]={[i.variationId]:!0},t("ABAU",JSON.stringify(B)));var c=r,u=D[e];if("PRODUCT_GROUP"===a&&(c=i.variationId,u=D[i.variationId]),u||("PRODUCT_GROUP"===a?D[c]=!0:D[e]=!0,function(e,t){sessionStorage.setItem(e,JSON.stringify(t))}("ABAV",D)),"THEME"!==a){if("PRICE_PLUS"!==a&&"SUBSCRIPTION_TEST"!==a&&"CONTENT"!==a&&"PRODUCT_TIME"!==a&&"PRODUCT_IMAGE"!==a&&"CHECKOUT"!==a&&"SHIPPING"!==a){var f=function(e,t){var r=S[e].data.type,n=S[e][t].isControl,a=b.split("?")[0],i=b.includes("?")?b.split("?")[1].split("&"):[],o=window.location.origin,c=p&&"/"!==p?p:"/";i=re(i,"abtr","true");var l,u=S[e][t];if("PRODUCT_GROUP"===r){l=o+c+"products/"+H(e).handle}else{if("PAGE"===r)return n||(i=re(i,"view",fe(e,t))),a+"?"+i.join("&");{const e=o+c+"products/"+u.handle,t="SPLIT_URL"===r?u.splitUrlTestLinks?.[0]?s(u.splitUrlTestLinks[0]).href||null:u.link:u.templateID;l="PRODUCT"===r?e:t}}if("SPLIT_URL"===r){var d=new URL(l);if(d.search)i=function(e,t){const r={};return e.forEach((e=>{const[t,n]=e.split("=");r[t]=n})),t.forEach((e=>{const[t,n]=e.split("=");r[t]=n})),Object.entries(r).map((([e,t])=>`${e}=${t}`))}(i,d.search.substring(1).split("&"));if(!d.pathname.startsWith(c)){const e=d.pathname.startsWith("/")?d.pathname.substring(1):d.pathname,t=c.endsWith("/")?c.slice(0,-1):c;l=`${d.origin}${t}/${e}${d.hash}`}l=l.split("?")[0]}return l+(i.length?"?"+i.join("&"):"")}(e,r);!function(e,r,a){var i=h();const s=S[e].data;var c=s.type,u=o(b.split("?")[0]),d=o(a.split("?")[0]);const f=s?.settings?.checkVariant||!1;var m=_.view?_.view:"",g="PAGE"===c&&(ce(s)?!!de(e):i===s.page),w=fe(e,r),v=u!==d,y=m!==w,T="PRODUCT"===c||"SPLIT_URL"===c||"PRODUCT_GROUP"===c;T&&!f&&(a=function(e){try{const t=new URL(e);return t.searchParams.delete("variant"),t.toString()}catch(t){return console.error("Invalid URL provided:",t),e}}(a));"SPLIT_URL"===c&&(v=function({newUrl:e,testID:r,testVar:a}){try{const e=S[r].data,i=e?.redirectBehavior;if("redirectOnlyControlUrl"===i){if(S[r][a].isControl)return!1}if("redirectOnceControlUrlOnly"===i||"redirectOnce"===i){const e="eabRedirectedTests",o=n(e)||{};if(o[r])return!1;if(o[r]=!0,t(e,JSON.stringify(o)),"redirectOnceControlUrlOnly"===i){if(S[r][a].isControl)return!1}}const o=S[r][a];let s=[];if(o.splitUrlTestLinks&&o.splitUrlTestLinks.length>0?s=o.splitUrlTestLinks:o.link&&(s=[o.link]),s.length>0){const t=e?.settings?.checkVariant||!1;for(const e of s)if(l(e,b,t,p))return!1;return!0}return!1}catch(t){return console.error("Error comparing split URLs:",t),o(b.split("?")[0])!==o(e.split("?")[0])}}({newUrl:a,testID:e,testVar:r}));(T&&v||g&&y)&&(window.location.href=a)}(e,r,f)}}else!function(e,r){var a=S[e][r],i=a.themeId,o=d?.themeId||window?.Shopify?.theme?.id;if(!i)return;const s=function(e){const t=n("eabThemeTests")||{};return Object.prototype.hasOwnProperty.call(t,e)}(e);s||function(e){const r=n("eabThemeTests")||{};r[e]=Date.now(),t("eabThemeTests",JSON.stringify(r))}(e);if(o===i)return;const c=new URL(window.location.toString());a.isControl?(c.searchParams.set("preview_theme_id",""),c.searchParams.set("_eab","1"),c.searchParams.delete("view"),c.searchParams.delete("_ab"),c.searchParams.delete("_fd"),c.searchParams.delete("_sc")):(c.searchParams.set("preview_theme_id",i.toString()),c.searchParams.set("_ab","0"),c.searchParams.set("_fd","0"),c.searchParams.set("_sc","1"),c.searchParams.delete("view"));t("eabThemeTest",e),window.location.assign(c.toString())}(e,r)}function q(e,t){for(var r=0;r<e.length;r++)if(t(e[r]))return r;return e.length-1}function F(){const e=navigator.userAgent||navigator.vendor||window.opera;return/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i.test(e)}function z(){const e=navigator.userAgent||navigator.vendor||window.opera;return/(instagram)[\/ ]([-\w\.]+)/i.test(e)}function X(){const e=a("eabEntry")||window.location.href;let t;try{t=new URLSearchParams(new URL(e).search)}catch{t=new URLSearchParams}const r=a("eabReferrer"),n=("string"==typeof r?r:document.referrer||"").toLowerCase(),i=n?new URL(n).hostname.replace("www.",""):"",o=new URL(window.location.href).hostname,s=F(),c=z(),l=function(){const e=navigator.userAgent||navigator.vendor||window.opera;return/musical_ly/i.test(e)}(),u=function(){const e=navigator.userAgent||navigator.vendor||window.opera;return/(pinterest)[\/ ]([-\w\.]+)/i.test(e)}(),d=(t.get("utm_source")?.toLowerCase()||"").split(/[^a-z0-9]+/),f=e=>e.some((e=>d.includes(e)));return s||f(["facebook","fb"])||["facebook.com","fb.com","fb.me","m.facebook.com","l.facebook.com","lm.facebook.com"].includes(i)?"facebook":c||f(["instagram","ig","igshopping"])||i.includes("instagram")?"instagram":l||["tiktok.com","pangleglobal.com","ads.tiktok.com"].includes(i)?"tiktok":f(["pinterest"])||u||i.includes("pinterest")||"pin.it"===i||t.has("epik")?"pinterest":t.has("gclid")||i.includes("google")?"google":t.has("fbclid")?"facebook":n&&o!==i?"other":"direct"}function K(e){const t=a("eabEntry")||window.location.href;if(t)try{return new URLSearchParams(new URL(t).search).get(e)}catch{return null}return null}function Y(){if(w)return w;if(window.Shopify&&window.Shopify.country)return window.Shopify.country;const e=localStorage.getItem("eabCountryCode");return e||(r("localization")||null)}function Z(){return g?.useShopifyGeolocation?w||localStorage.getItem("eabCountryCode"):Y()}function Q(e){const{type:t,operator:n,values:i,parameter:o}=e;let s;switch(t){case"country":if(s=Z(),g?.useShopifyGeolocation&&!s)return!1;break;case"device":s=function(){const e=navigator.userAgent||navigator.vendor||window.opera||"",t=e.toLowerCase();return/windows nt.*tablet pc|pixelbook/i.test(e)||/(?:macintosh|windows nt|win(?:95|98)|linux x86_64)/i.test(e)&&!/android|mobile|tablet|ipad|iphone|ipod/i.test(t)?"desktop":/ipad|playbook|tablet|kindle|nexus (7|10)|xoom|sm-t\d+|galaxy tab|tb-\d+|tb\d+[a-z]+|lenovo.*tb|dtab|ideatab|mediapad|matepad|honor.*pad|pad\s+\d+|mi\s+pad|redmi.*pad|xiaomi.*pad|oppo.*pad|oneplus.*pad|opd\d+|tcl.*tab|9\d{3}[a-z]|kobo|archos.*5(?!\d)|ereader|droipad/i.test(e)||/android(?!.*mobile)/i.test(t)&&!/dalvik.*miui|pocophone|mi\s+mix|edge\s+\d+|sm-g9\d+|pixel\s+\d|pixel\s+fold|advan\s+\d{4}/i.test(e)?"tablet":/android.+mobile|iphone|ipod|windows phone|blackberry|mobile|phone|kaios/i.test(t)||/^mobile;/i.test(e)||/dalvik.*miui|pocophone|mi\s+mix|pixel\s+\d|pixel\s+fold/i.test(e)?"mobile":"desktop"}();break;case"source":s=X();break;case"utm":s=K(o);break;case"visitor":s="true"===r("eabIsFirstVisit")?"first_time":"repeat";break;case"customer_auth":s=window.eab_data?.environment?.customerData?.loggedIn||!1?"logged_in":"not_logged_in";break;case"utm_source":case"utm_medium":case"utm_campaign":case"utm_content":s=K(t);break;case"url_string":s=window.location.href;break;case"referring_domain":try{const e=a("eabReferrer"),t="string"==typeof e?e:document.referrer||"";if(t){s=new URL(t).hostname.replace("www.","")}else s="direct"}catch(e){console.error("Error parsing referrer:",e),s="unknown"}break;case"entry_page":s=a("eabEntry");break;case"page":case"redirectUrls":s=window.location.pathname;break;case"market":s=g?.useShopifyGeolocation?window.Shopify&&window.Shopify.country||r("localization")||null:Y();break;default:return!1}switch(n){case"equals":return(Array.isArray(i)&&1===i.length?i[0]:i)===s;case"includes":return Array.isArray(i)&&i.includes(s);case"not_equals":return i!==s;case"not_includes":return Array.isArray(i)&&!i?.includes(s);case"contains":return!!s&&s.includes(i);case"not_contains":return!s||!s.includes(i);case"startsWith":return!!s&&s.startsWith(i);case"ends_with":return!!s&&s.endsWith(i);default:return!1}}function ee(e){return e.some((e=>e.type?"AND"===e.type?e.conditions.every(Q):"OR"===e.type&&e.conditions.some(Q):e.conditions.every(Q)))}_.eabUserPreview&&t("eabUserPreview","true");var te=function(e){try{var r={};for(var a in j)j[a]&&(r[a]=j[a]);let w=((e,t)=>{let r=!1,n=!1;e.forEach((e=>{const t=S[e];t&&("number"==typeof t.data?.testTrafficPercentage?r=!0:n=!0)}));const a=[],i=[],o=[];let s=0;if(t.forEach((e=>{const t=S[e],r=t.data?.testTrafficPercentage;"number"==typeof r?(a.push(e),s+=r,i.push(s)):o.push(e)})),r)return[];if(n)return o;
12const c=s,l=Math.max(0,100-c);s+=l,i.push(s);const u=Math.random()*s;var d=q(i,(function(e){return u<e}));return d!==i.length-1&&a[d]?[a[d]]:o})(Object.keys(r),e);for(var i=0;i<w.length;i++){var o=w[i],s=S[o];const e=s.data?.filters||[];if(e?.length>0){if(!ee(e))continue}if(U||ye(s.data?.trigger)){if("SHIPPING"===s.data.type){const e=s.data.shippingZones,t=e.countriesToInclude||[],r=e.countriesToExclude||[],n=Z(),a=t.length>0||r.length>0;if(g?.useShopifyGeolocation&&!n&&a)continue;let i=!1;if(i=t.length>0?t.includes(n)&&!r.includes(n):!r.includes(n),!i)continue}var c=Object.keys(s).filter((function(e){return"data"!==e&&!s[e].isDone}));if("PRODUCT_GROUP"===o.type){let e={};c=c.filter((function(t){const r=s[t].groupVariationId;return!e[r]&&(e[r]=!0,!0)}))}if(c.length)if(s.data.isPersonalization){var l=c.find((function(e){return!s[e].isControl}));l&&(r[o]=l)}else{var u=!0;for(let e=0;e<c.length;e++)if("number"!=typeof s[c[e]].trafficPercentage){u=!1;break}var d=[],f=0;if(u)for(let e=0;e<c.length;e++){f+=s[c[e]].trafficPercentage,d.push(f)}else{var p=100/c.length;for(let e=0;e<c.length;e++)f+=p,d.push(f)}var h=Math.random()*f,m=c[q(d,(function(e){return h<e}))];r[o]=m}}}t("ABTL",JSON.stringify(r)),j=n("ABTL")||{}}catch(e){console.error("Error in handleDecideTests",e)}};function re(e,t,r){let n=!1;const a=encodeURIComponent(r);return e=e.map((e=>{const[r]=e.split("=");return r===t?(n=!0,`${t}=${a}`):e})),n||e.push(`${t}=${a}`),e}function ne(){(_.eabUserId&&t("eabUserId",_.eabUserId),_.eab_tests)&&(decodeURIComponent(_.eab_tests).split("~").forEach((function(e){!function(e){var t=e.split("_"),r=t[0],n=t[1],a="1"===t[2];for(var i in m)if(m[i]&&(i===r||i.slice(-5)===r)){j[i]=n,a&&(B[i]=!0);break}}(e)})),t("ABTL",JSON.stringify(j)),t("ABAU",JSON.stringify(B)))}function ae(e){for(var t=e.split("?")[0];"/"===t.charAt(t.length-1);)t=t.slice(0,-1);var r=t.split("/");return r[r.length-1]}function ie(e){if("string"!=typeof e)return null;var t=e.match(/^templates\/(.+)\.(?:json|liquid)$/);if(!t)return null;var r=t[1].split(".");return{type:r[0]||"",suffix:r.slice(1).join(".")}}var oe="MULTI",se={};function ce(e){return!!e&&e.page===oe}function le(e){var t=window&&window.eab_data&&window.eab_data.environment,r=t&&t.template;if(!r)return!1;for(var n=r.type||"",a=r.suffix||"",i=0;i<e.length;i++){var o=ie(e[i]);if(o&&(o.type===n&&o.suffix===a))return!0}return!1}function ue(e){var t=window&&window.eab_data&&window.eab_data.environment,r=t&&t.template&&t.template.suffix||"";if(!r||!e.variations)return!1;for(var n in e.variations){var a=e.variations[n];if(a&&a.templateID===r)return!0}return!1}function de(e){var t=S[e],r=t&&t.data?t.data.pageTargets:null,n=null;if(Array.isArray(r))for(var a=h(),i=o(W),s=window&&window.__st?window.__st.rid:void 0,c=0;c<r.length&&!n;c++){var l=r[c];if(l&&l.pageType===a)if("product"===l.pageType)if("templates"===l.productSelection&&Array.isArray(l.selectedTemplates)&&l.selectedTemplates.length>0)(le(l.selectedTemplates)||ue(l))&&(n=l);else if(Array.isArray(l.testProducts)&&l.testProducts.length>0||Array.isArray(l.productIds)&&l.productIds.length>0){var u=decodeURIComponent(ae(i)),d=Array.isArray(l.testProducts)&&-1!==l.testProducts.indexOf(u),f=Array.isArray(l.productIds)&&null!=s&&-1!==l.productIds.indexOf(s.toString()),p=d||f;("exclude"===l.productSelection?!p:p)&&(n=l)}else n=l;else if("collection"===l.pageType){Array.isArray(l.collections)&&l.collections.length>0||Array.isArray(l.collectionIds)&&l.collectionIds.length>0?Array.isArray(l.collections)&&-1!==l.collections.indexOf(ae(i))&&(n=l):n=l}else if("page"===l.pageType){var m=decodeURIComponent(ae(i));Array.isArray(l.testPages)&&-1!==l.testPages.indexOf(m)&&(n=l)}else n=l}return se[e]=n,n}function fe(e,t){var r=S[e][t];if(ce(S[e].data)){var n=e in se?se[e]:de(e);if(n&&n.variations&&n.variations[t])return n.variations[t].templateID}return r?r.templateID:void 0}function pe(){var e=o(W);const t=window?.__st?.rid;for(var r in S)if(S[r]&&j[r]){var n=S[r],a=n.data.type;if("PRODUCT_IMAGE"!==a&&"PRODUCT_TIME"!==a&&"CONTENT"!==a&&"SHIPPING"!==a&&"PRICE_PLUS"!==a&&"SUBSCRIPTION_TEST"!==a&&"CHECKOUT"!==a){if("PAGE"===a){if(ce(n.data)){if
12(de(r))return r;continue}if(h()!==n.data.page)continue;if("templates"===n.data.productSelection&&Array.isArray(n.data.selectedTemplates)&&n.data.selectedTemplates.length>0){var i=window&&window.eab_data&&window.eab_data.environment,s=i&&i.template;if(!s)continue;for(var c=s.type||"",u=s.suffix||"",f=!1,m=0;m<n.data.selectedTemplates.length;m++){var g=ie(n.data.selectedTemplates[m]);if(g&&(g.type===c&&g.suffix===u)){f=!0;break}}if(f)return r;for(var w in n)if("data"!==w){var v=n[w];if(v&&v.templateID&&v.templateID===u)return r}continue}if(n.data.testProducts){var y=ae(e),_=decodeURIComponent(y),T=t?.toString(),U=Array.isArray(n.data.testProducts)&&n.data.testProducts.includes(_),P=Array.isArray(n.data.productIds)&&n.data.productIds.includes(T);if("exclude"===n.data.productSelection){if(!U&&!P)return r}else if(U||P)return r}else if(n.data.collections){const t=ae(e);if(n.data.collections.includes(t))return r}else{if(!n.data.testPages)return r;{const t=ae(e),a=decodeURIComponent(t);if(Array.isArray(n.data.testPages)&&n.data.testPages.includes(a))return r}}}if("PRODUCT"===a||"PRODUCT_GROUP"===a){if(n.data?.filters?.length>0){if(n.data.filters.some((e=>e?.conditions?.some((e=>"redirectUrls"===e.type))))){if(ee(n.data.filters))return r;continue}}if("PRODUCT_GROUP"===a){const e=H(r);if(e&&e.variationId)return r}else{const a=decodeURIComponent(e);for(var I in n){if(!n[I]||"data"===I)continue;if(n[I].link===a)return r;const e=n[I].handle;if(a.endsWith(`products/${e}`))return r;if(Number(n[I].id)===t)return r}}}if("SPLIT_URL"===a){const e="redirectOnlyControlUrl"===n.data?.redirectBehavior,t="redirectOnceControlUrlOnly"===n.data?.redirectBehavior,a=n.data?.settings?.checkVariant||!1;for(let i in n){if(!n[i]||"data"===i)continue;if((e||t)&&!n[i].isControl)continue;let o=[];n[i].splitUrlTestLinks&&n[i].splitUrlTestLinks.length>0?o=n[i].splitUrlTestLinks:n[i].link&&(o=[n[i].link]);for(let e of o)if(l(e,b,a,p))return r}}if("THEME"===a){const e=Ge(),t=d?.themeId||window?.Shopify?.theme?.id;for(const a in n){if(!n[a]||"data"===a)continue;const i=n[a].themeId;if(i===t)return r;if(e===i)return r}}}}return null}function he(e,t){if(t.startsWith("*")&&t.endsWith("*")){const r=t.slice(1,-1);return e.includes(r)}if(t.startsWith("*")){const r=t.slice(1);return e.endsWith(r)}if(t.endsWith("*")){const r=t.slice(0,-1);return e.startsWith(r)}return t===e||"*"===t}const me="eabFiredTriggers";function ge(){const e=n(me);return Array.isArray(e)?e:[]}function we(e,t){if("string"!=typeof t||!t)return!1;if(t.startsWith("re:"))try{return new RegExp(t.slice(3)).test(e)}catch{return!1}return he(e,t)}function ve(e,t){const r=window.location.pathname;return!!e?.some((e=>we(r,e)))&&!(t||[]).some((e=>we(r,e)))}function ye(e){return!e?.trackingId||(!!ge().includes(e.trackingId)||!!function(e){const t=h();if("product_page_visit"===e.type){if("product"!==t)return!1;const r=(e.productIds||[]).map(String);return!r.length||r.includes(String(window.__st?.rid))}if("product"===t)return!1;if("url_visit"===e.type)return ve(e.pathnames,e.excludePathnames);if("collection_page_visit"===e.type){const t=e.handles||[];return ve(t.length?t.map((e=>`*/collections/${e}`)):["*/collections/*"],e.excludePathnames)}return!1}(e)&&(function(e){const r=ge();r.includes(e)||t(me,JSON.stringify([...r,e]))}(e.trackingId),!0))}function be(){if(g?.disableFbIgUrlParams)return;const e=F(),t=z();("fbclid"in _||e||t)&&function(){var e=n("ABTL"),t=r("eabUserId"),a=Object.keys(e).map((function(t){var r=t.length>=5?t.slice(-5):t,n=B[t]?"1":"0";return r+"_"+e[t]+"_"+n})).join("~"),i=new URL(b),o=new URLSearchParams(i.search);a&&o.set("eab_tests",a),t&&o.set("eabUserId",t),i.search=o.toString(),window.history.replaceState({},"",i.toString())}()}function _e(){var e={};for(var t in S)B[t]&&(e[t]=j[t]);var n=r("eabUserId"),a="true"===r("eabUserPreview");return{_eabTestsList:JSON.stringify(e),_eabUserId:n,_eabList:JSON.stringify(j),_eabPreviewTest:a&&T?T:null}}function Te(e){if(g?.disableNoteAttributes)!function(){var e=new XMLHttpRequest;e.open("GET","/cart.js"),e.setRequestHeader("Content-Type","application/json"),e.onreadystatechange=function(){if(4===e.readyState&&200===e.status){const t=JSON.parse(e.responseText).attributes||{};(t._eabTestsList||t._eabUserId||t._eabList||t._eabPreviewTest)&&function(){var e=new XMLHttpRequest;e.open("POST","/cart/update.js"),e.setRequestHeader("Content-Type","application/json"),e.onreadystatechange=function(){4===e.readyState&&200===e.status?console.log("Successfully cleaned up note attributes"):4===e.readyState&&200!==e.status&&console.log("Error cleaning up note attributes")};const t={_eabTestsList:null,_eabUserId:null,_eabList:null,_eabPreviewTest:null};e.send(JSON.stringify({attributes:t}))}()}},e.send()}();else{var t=new XMLHttpRequest;t.open("POST","/cart/update.js"),t.setRequestHeader("Content-Type","application/json"),t.onreadystatechange=function(){4===t.readyState&&(200===t.status?(console.log("success"),e&&e()):console.log("Error getting cart data"))},t.send(JSON.stringify({attributes:_e()}))}}var Ue=!1;function Se(){Ue||(Ue=!0,setTimeout(Pe,1e3))}function Pe(){var e=_e(),t=new XMLHttpRequest;t.open("GET","/cart.js"),t.setRequestHeader("Content-Type","application/json"),t.onreadystatechange=function(){if(4===t.readyState&&200===t.status)try{var r=JSON.parse(t.responseText);if(function(e,t){for(var r in t){var n=t[r],a=e[r];if(null==n){if(null!=a&&""!==a)return!1}else if(a!==n)return!1}return!0}(r?.attributes||{},e))return;Te()}catch(e){console.error("eabos note attributes verify",e)}},t.send()}function Ie(){localStorage.getItem("eabFirstTimeVisit")||(!function(e,t,r){var n=new Date;n.setTime(n.getTime()+60*r*1e3);var a="; expires="+n.toUTCString();document.cookie=e+"="+(t||"")+a+"; path=/"}("eabIsFirstVisit","true",30),localStorage.setItem("eabFirstTimeVisit",(new Date).valueOf().toString()))}function Oe(e,t){const r=document.createElement("input");return r.type="hidden",r.name=e,r.value=t,r}function Ce(e,t){return e?.isControl?"Control":(e?.variationName||"Variation "+t).substring(0,255)}function Re(e,t){var r=function(e){return String(e).replace(/[^A-Za-z0-9 _\-.:/]/g," ").replace(/\s+/g," ").trim()};return(r(e)+" | "+r(t)).substring(0,250)}
12function ke(){if("true"===r("eabUserPreview"))return!1;if(!(window.location.search.includes("preview_theme_id")||window.location.hostname.includes("shopifypreview.com")||d&&"main"!==d.themeRole||window?.Shopify&&window?.Shopify?.theme&&"main"!==window?.Shopify?.theme?.role))return!1;if("1"===_._eab)return!1;const e=Ge(),t=j&&Object.keys(j).some((t=>{const r=m[t],n=j[t];return"THEME"===r?.data?.type&&r?.data?.isLive&&r[n]?.themeId===e}));if(t)return Be(),!1;if(!g?.forcePublishedThemeRedirect){const e=n("eabThemeTests")||{},t=Object.keys(e).some((e=>j&&Object.prototype.hasOwnProperty.call(j,e)));if(!t)return!1}return function(){const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),e.searchParams.set("_eab","1"),window.location.replace(e.toString())}(),!0}function xe(e){try{for(var t=performance.getEntriesByType("navigation")[0],r=t&&t.serverTiming||[],n=0;n<r.length;n++)if(r[n].name===e)return r[n].description||""}catch(e){}return""}var Ee="00000000-0000-0000-5000-000000000000";function Ae(){var e=r("_shopify_s")||xe("_s");return e===Ee?"":e||""}function Le(){try{var e="/apps/elevateab/analytics/session-proxy",t=JSON.stringify({client_id:(i=r("_shopify_y")||xe("_y"),i===Ee?"":i||""),shopify_s:Ae(),user_agent:navigator.userAgent||"",abtl:r("ABTL")||"",abau:r("ABAU")||"",visitor_id:r("eabUserId")||"",entry_page:a("eabEntry")||"",page_url:window.location.href||"",referrer_url:a("eabReferrer")||"",is_first_visit:"true"===r("eabIsFirstVisit"),shopify_country:r("localization")||"",environment:"prod"});if(navigator.sendBeacon){var n=new Blob([t],{type:"application/json"});if(navigator.sendBeacon(e,n))return}fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},keepalive:!0,body:t})}catch(e){}var i}var Ne=-1!==window.location.hostname.indexOf("shopifypreview.com");const je=(navigator.userAgent||"").toLowerCase(),De=["googlebot","adsbot","headlesschrome","bingbot","storebot","facebookexternalhit","sebot-wa","amazonproductbot","claudebot","yandexbot","applebot","searchbot","inspectiontool","crawler"].some((e=>je.includes(e)));var $e="true"===_.elevate_preview,Ve="true"===_.eabScreenshot;function Be(){const e=Object.entries(j).some((([e,t])=>{const r=m[e];return r&&r.data&&"THEME"===r.data.type&&!r[t]?.isControl}));e&&function(e,t=1e4){return new Promise(((r,n)=>{const a=document.querySelector(e);if(a)return void r(a);const i=new MutationObserver((()=>{const t=document.querySelector(e);if(t)return i.disconnect(),void r(t)}));i.observe(document.documentElement,{childList:!0,subtree:!0}),setTimeout((()=>{i.disconnect(),n(new Error(`Element with selector "${e}" not found within ${t}ms`))}),t)}))}("#PBarNextFrameWrapper",1e4).then((e=>e.remove())).catch((e=>console.error(e)))}function Ge(){const e=new URLSearchParams(window.location.search).get("preview_theme_id");return e?parseInt(e):d?.themeId||window?.Shopify?.theme?.id||null}Ne||$e||De||(Be(),function(){try{if(ke())return;if(e(),Ie(),S&&0===Object.keys(S).length)return void Le();!function(){try{if(_&&(_.eab_tests||_.eabUserId)&&ne(),_&&_.gclid){var e=pe();if(!e)return;var r="PRODUCT"===S[e].data.type||"PRODUCT_GROUP"===S[e].data.type||"PRICE_PLUS"===S[e].data.type||"SUBSCRIPTION_TEST"===S[e].data.type;const n=g?.excludeGoogleTraffic??!0;e&&!B[e]&&r&&n&&(G[e]=!0,t("eabExcludedTests",JSON.stringify(G)))}}catch(e){console.log("Err url params",e)}}();var a=function(){var e=[];for(var t in S)j&&j[t]||G[t]||e.push(t);return e}();a.length>0&&te(a);var i=pe();i&&!("abtr"in J)&&!0!==G[i]&&M(i),Le(),be(),function(){try{if(!g?.trackRT)return;const e=n("ABRT")||{};let r=!1;const a={};for(const e in S)if(S[e]){a[e]={name:S[e].data?.name||"Unknown Test",variants:{}};for(const t in S[e]){if("data"===t||!S[e][t])continue;const r=S[e][t].variationName||`Variation ${t}`;a[e].variants[t]=r}}r=JSON.stringify(e)!==JSON.stringify(a),r&&t("ABRT",JSON.stringify(a))}catch(e){console.error("Error in trackRunningTests:",e)}}(),function(){try{if(!g?.hasClarityEnabled)return;if(!j||0===Object.keys(j).length)return;for(var e in window.clarity=window.clarity||function(){(window.clarity.q=window.clarity.q||[]).push(arguments)},j)if(j[e]&&S[e]){var t=j[e],r=(S[e].data?.name||"Unknown Test").substring(0,255),n=Ce(S[e][t],t);window.clarity("set",r,n)}}catch{}}(),function(){try{if(!g?.hasHeatmapEnabled)return;
12if(!j||0===Object.keys(j).length)return;if(U||"true"===r("eabUserPreview"))return;var e=function(e){var t=[];for(var r in S[e])"data"!==r&&S[e][r]&&t.push({id:String(r),name:Ce(S[e][r],r)});return t},t=function(){var t=window._heatmap_set_event_tag||window.heatmap_set_event_tag;if("function"!=typeof t)return!1;for(var r in j){var n=j[r];if(n&&!0!==G[r]){var a=S[r]?.[n];a&&t({partner:"elevateab_variant",experiment_id:String(r),experiment_name:(S[r].data?.name||"Unknown Test").substring(0,255),variant_id:String(n),variant_friendly_name:Ce(a,n),variations:e(r)})}}return!0};if(t())return;var n=0,a=setInterval((function(){(t()||++n>=32)&&clearInterval(a)}),250)}catch{}}(),function(){try{if(!g?.hasHotjarEnabled)return;if(!j||0===Object.keys(j).length)return;if(U||"true"===r("eabUserPreview"))return;for(var e in window.hj=window.hj||function(){(window.hj.q=window.hj.q||[]).push(arguments)},window._uxa=window._uxa||[],j){var t=j[e];if(t&&!0!==G[e]){var n=S[e]?.[t];if(n){var a=S[e].data?.name||"Unknown Test",i=Ce(n,t);window.hj("event",Re(a,i)),window._uxa.push(["trackDynamicVariable",{key:a.substring(0,512),value:i}])}}}}catch{}}(),window.addEventListener("load",(function(){!function(){const e=Object.keys(S).filter((e=>"SHIPPING"===S[e].data.type));if(0===e?.length||!e)return;const t=document.querySelectorAll('form[action$="/cart/add"]'),n=r("eabUserId"),a="true"===r("eabUserPreview")&&T?T:null;let i=[];for(let t=0;t<e.length;t++){const r=e[t];let n;if(j[r]&&(n=j[r]),!n)for(let e in S[r])if("data"!==e&&S[r][e].isControl){n=e;break}n&&i.push(n)}const o=i.join(",");t.forEach((t=>{t.querySelector('input[name="properties[_eabVisitorId]"]')||t.appendChild(Oe("properties[_eabVisitorId]",n));let r=t.querySelector('input[name="properties[_eabShippingTests]"]');e.length>0?r?r.value=o:t.appendChild(Oe("properties[_eabShippingTests]",o)):r&&t.removeChild(r);let i=t.querySelector('input[name="properties[_eabPreviewTest]"]');a?i?i.value=a:t.appendChild(Oe("properties[_eabPreviewTest]",a)):i&&t.removeChild(i)})),fetch("/cart.js").then((e=>e.json())).then((async t=>{for(let r=0;r<t.items.length;r++){const i=t.items[r],s=i.key;let c=!1,l={...i.properties};if(e.length>0&&(l._eabVisitorId&&l._eabVisitorId===n||(l._eabVisitorId=n,c=!0)),e.length>0)if(l._eabShippingTests){let t=l._eabShippingTests.split(","),r=t.some((t=>!e.includes(t)))||e.some((e=>!t.includes(e)));r&&(l._eabShippingTests=o,c=!0)}else l._eabShippingTests=o,c=!0;else l._eabShippingTests&&(delete l._eabShippingTests,c=!0);if(a?l._eabPreviewTest!==a&&(l._eabPreviewTest=a,c=!0):l._eabPreviewTest&&(delete l._eabPreviewTest,c=!0),c){const e={id:s,properties:l,quantity:i.quantity};await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error(`Failed to update item on line ${s}`);return e.json()})).then((e=>{console.log(`Successfully updated item on line ${s}`)})).catch((e=>{console.error("Error updating cart item:",e)}))}}})).catch((e=>{console.error("Error fetching cart:",e)}))}()})),function(){let e=!1;for(const t in S){if(!j[t]||G[t]||B[t])continue;const r=S[t].data.type;if("PRODUCT_IMAGE"===r||"PRODUCT_TIME"===r||"CONTENT"===r||"PRICE_PLUS"===r||"SUBSCRIPTION_TEST"===r||"CHECKOUT"===r||"CUSTOM_CODE"===r||"SHIPPING"===r){if("PRICE_PLUS"===r||"SUBSCRIPTION_TEST"===r){const e=d?.activeCurrency||window?.Shopify?.currency?.active;if(!(S[t].data.currencies||[]).includes(e))continue}if("CONTENT"===r||"CUSTOM_CODE"===r){const e=S[t].data.pathnames||[],r=window.location.pathname;if(!e.length)continue;const n=S[t].data.excludePathnames||[];if(n.length&&n.some((e=>he(r,e))))continue;if(!e.some((e=>he(r,e))))continue}B[t]=!0,e=!0}}return e&&t("ABAU",JSON.stringify(B)),e}()&&Le(),Te(Se),o=window?.__st?.rid,o?localStorage.setItem("eabProductPageId",o):localStorage.removeItem("eabProductPageId")}catch(e){console.error("eabos",e)}var o}()),window.addEventListener("load",(function(){function e(e,t){var r=function(){try{var e=performance.getEntriesByType("navigation")[0],t=e&&e.responseStatus;return"number"==typeof t&&0!==t?t:null}catch(e){return null}}();null===r?fetch(e,{method:"HEAD",headers:{"Cache-Control":"no-cache, no-store, must-revalidate",Pragma:"no-cache",Expires:"0"}}).then((e=>{404===e.status&&t()})):404===r&&t()}function t(e,t){switch(t){case"index":return`${e}/`;case"collection":return`${e}/collections/all`;case"product":return`${e}/products`;case"page":return`${e}/pages`;case"cart":return`${e}/cart`;default:return e}}if(function(e,t){let r=new URL(window.location.href),n=e[`${r.pathname}::${r.searchParams.get("view")||""}`];n&&t(r.toString(),n)}(function(){const e={},r=window.location.origin,n=window?.eab_data?.allTests||{};
12return Object.keys(n).forEach((a=>{if("settings"===a)return;const i=n[a],{isLive:o,type:c,page:l}=i.data;o&&Object.keys(i).forEach((n=>{if("data"===n)return;let o=[];if(i[n].splitUrlTestLinks?.length>0?o=i[n].splitUrlTestLinks:i[n].link&&(o=[i[n].link]),"PAGE"===c&&0===o.length)if(ce(i.data))(i.data.pageTargets||[]).forEach((e=>{if(!e)return;let a=t(r,e.pageType);const i=e.variations&&e.variations[n];i&&i.templateID&&(a+="?view="+i.templateID),o.push(a)}));else{let e=t(r,l);i[n].templateID&&(e+="?view="+i[n].templateID),o=[e]}o.forEach((t=>{if(!t)return;var r=s(t),i=r.href||("matches"===r.matchCondition?r.matchUrl:null);if(!i)return;let o=new URL(i),c=o.pathname,l=o.searchParams.get("view")||"";e[`${c}::${l}`]={testId:a,variantId:n,pathname:c,view:l,url:i}}))}))})),e}(),((t,r)=>{e(t,(()=>function(e,t){let r={url:e,...t,country:Y()};fetch("/apps/elevateab/handle404",{method:"POST",body:JSON.stringify(r)})}(t,r)))})),"true"===r("eabUserPreview")&&T&&!Ve){var n=document.createElement("script");n.src="https://ds0wlyksfn0sb.cloudfront.net/preview_bar.js",n.async=!0,document.head.appendChild(n)}}))}(); 13</script>
13 14 15<link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin /> 16<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin /> 17<link rel='preconnect dns-prefetch' href='https://whale.camera/' crossorigin />
18<script> 19/* >> TriplePixel :: start*/ 20window.TriplePixelData={TripleName:"daehair.myshopify.com",ver:"2.12",plat:"SHOPIFY",isHeadless:false},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(".txt")?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,a){return void 0===a&&(a=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(a)),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,ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://whale.camera/live/dot.txt",5)))}}("","TriplePixel",localStorage); 21/* << TriplePixel :: end*/ 22</script>
22 23<!-- Google Tag Manager -->
24<script>
vendor: 327 bytes, lines 24-28
24(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 25new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 26j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 27'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 28})(window,document,'script','dataLayer','
28GTM-P2JGDSS
vendor: 3 bytes, line 28
28');
28</script>
28 29<!-- End Google Tag Manager --> 30 31 32 <!-- Google tag (gtag.js) -->
vendor: 64 bytes, line 32
32 <script async src="https://www.googletagmanager.com/gtag/js?id=
32AW-311263344
vendor: 12 bytes, line 32
32"></script>
32<script>
vendor: 127 bytes, line 32
32window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
32AW-311263344
vendor: 4 bytes, line 32
32');
33</script>
vendor: 1 bytes, line 33
33
34<script src="https://www.googleoptimize.com/optimize.js?id=OPT-TNWRP9B"></script>
vendor: 1 bytes, line 34
34
35<script src="//daehair.com/cdn/shop/t/364/assets/marquee3k.min.js?v=59462" defer="defer"></script>
35 36<!-- begin Convert Experiences code--> 37
37<script type="text/javascript" src="//cdn-4.convertexperiments.com/js/10041888-10042249.js"></script>
37 38 <!-- end Convert Experiences code --> 39 40<!-- Begin BlackCrow Script Tag: DO NOT MODIFY! --> 41
41<script type="text/javascript" async src="https://shopify-init.blackcrow.ai/js/core/daehair.js?shopify_app_version=1.0.102&shop=daehair.myshopify.com"></script>
41 42<!-- End BlackCrow Script Tag --><link rel="icon" type="image/png" href="//daehair.com/cdn/shop/files/Footer_Logo.png?crop=center&height=32&v=1643118826&width=32"><meta charset="utf-8"> 43<meta 44 http-equiv="X-UA-Compatible" 45 content="IE=edge" 46> 47<meta 48 name="viewport" 49 content="width=device-width,initial-scale=1" 50> 51<meta 52 name="view-transition" 53 content="same-origin" 54> 55<meta 56 name="theme-color" 57 content="" 58> 59 60<meta 61 property="og:site_name" 62 content="dae" 63> 64<meta 65 property="og:url" 66 content="https://daehair.com/cart" 67> 68<meta 69 property="og:title" 70 content="Your Shopping Cart" 71> 72<meta 73 property="og:type" 74 content="website" 75> 76<meta 77 property="og:description" 78 content="Weâre a haircare line based in sunny Arizona. Our products are made up of the many things that make the desert special, including the scent of orange blossoms in the air, colors of majestic sunsets and nourishing ingredients derived from desert botanicals." 79><meta 80 name="twitter:card" 81 content="summary_large_image" 82> 83<meta 84 name="twitter:title" 85 content="Your Shopping Cart" 86> 87<meta 88 name="twitter:description" 89 content="Weâre a haircare line based in sunny Arizona. Our products are made up of the many things that make the desert special, including the scent of orange blossoms in the air, colors of majestic sunsets and nourishing ingredients derived from desert botanicals." 90> 91 92<title> 93 Your Shopping Cart 94 – dae</title> 95 96<link 97 rel="canonical" 98 href="https://daehair.com/cart" 99> 100 101 102<link href="//daehair.com/cdn/shop/t/364/assets/overflow-list.css?v=168694168152117541881790696530" as="style" rel="preload"> 103<link href="//daehair.com/cdn/shop/t/364/assets/base.css?v=19610978770605848011790696530" rel="stylesheet" type="text/css" media="all" /> 104 105<link 106 rel="preload" 107 as="font" 108 href="//daehair.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2" 109 type="font/woff2" 110 crossorigin 111 fetchpriority="low" 112 ><link 113 rel="preload" 114 as="font" 115 href="//daehair.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2" 116 type="font/woff2" 117 crossorigin 118 fetchpriority="low" 119 ><link 120 rel="preload" 121 as="font" 122 href="//daehair.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" 123 type="font/woff2" 124 crossorigin 125 fetchpriority="low" 126 ><link 127 rel="preload" 128 as="font" 129 href="//daehair.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" 130 type="font/woff2" 131 crossorigin 132 fetchpriority="low" 133 >
134<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 134
134
135<script type="importmap"> 136 { 137 "imports": { 138 "@theme/critical": "//daehair.com/cdn/shop/t/364/assets/critical.js?v=169402557219780209121790696530", 139 "@theme/product-title": "//daehair.com/cdn/shop/t/364/assets/product-title-truncation.js?v=81744426891537421781790696530", 140 "@theme/component": "//daehair.com/cdn/shop/t/364/assets/component.js?v=74239122572524296041790696530", 141 "@theme/dialog": "//daehair.com/cdn/shop/t/364/assets/dialog.js?v=122984339961420548111790696530", 142 "@theme/events": "//daehair.com/cdn/shop/t/364/assets/events.js?v=59172389608566392641790696530", 143 "@theme/focus": "//daehair.com/cdn/shop/t/364/assets/focus.js?v=60436577539430446401790696530", 144 "@theme/morph": "//daehair.com/cdn/shop/t/364/assets/morph.js?v=92630016404903954311790696530", 145 "@theme/paginated-list": "//daehair.com/cdn/shop/t/364/assets/paginated-list.js?v=95298315036233333871790696530", 146 "@theme/performance": "//daehair.com/cdn/shop/t/364/assets/performance.js?v=171015751390534793081790696530", 147 "@theme/product-form": "//daehair.com/cdn/shop/t/364/assets/product-form.js?v=121223240116155512031790696530", 148 "@theme/recently-viewed-products": "//daehair.com/cdn/shop/t/364/assets/recently-viewed-products.js?v=94729125001750262651790696530", 149 "@theme/scrolling": "//daehair.com/cdn/shop/t/364/assets/scrolling.js?v=10957690925586738441790696530", 150 "@theme/section-renderer": "//daehair.com/cdn/shop/t/364/assets/section-renderer.js?v=117273408521114569061790696530", 151 "@theme/section-hydration": "//daehair.com/cdn/shop/t/364/assets/section-hydration.js?v=177651605160027701221790696530", 152 "@theme/utilities": "//daehair.com/cdn/shop/t/364/assets/utilities.js?v=2628875420026591481790696530", 153 "@theme/variant-picker": "//daehair.com/cdn/shop/t/364/assets/variant-picker.js?v=76280749947262196151790696530", 154 "@theme/media-gallery": "//daehair.com/cdn/shop/t/364/assets/media-gallery.js?v=111441960308641931071790696530", 155 "@theme/quick-add": "//daehair.com/cdn/shop/t/364/assets/quick-add.js?v=102040698639320169661790696530", 156 "@theme/paginated-list-aspect-ratio": "//daehair.com/cdn/shop/t/364/assets/paginated-list-aspect-ratio.js?v=25254270272143792451790696530", 157 "@theme/popover-polyfill": "//daehair.com/cdn/shop/t/364/assets/popover-polyfill.js?v=119029313658895111201790696530" 158 } 159 } 160</script>
160 161 162 163 164
164<script 165 src="//daehair.com/cdn/shop/t/364/assets/view-transitions.js?v=84877080446900032951790696530" 166 async 167 blocking="render" 168 ></script>
168 169 170 171 172<link 173 rel="modulepreload" 174 href="//daehair.com/cdn/shop/t/364/assets/critical.js?v=169402557219780209121790696530" 175> 176 177<link 178 rel="modulepreload" 179 href="//daehair.com/cdn/shop/t/364/assets/utilities.js?v=2628875420026591481790696530" 180 fetchpriority="low" 181> 182<link 183 rel="modulepreload" 184 href="//daehair.com/cdn/shop/t/364/assets/component.js?v=74239122572524296041790696530" 185 fetchpriority="low" 186> 187<link 188 rel="modulepreload" 189 href="//daehair.com/cdn/shop/t/364/assets/section-renderer.js?v=117273408521114569061790696530" 190 fetchpriority="low" 191> 192<link 193 rel="modulepreload" 194 href="//daehair.com/cdn/shop/t/364/assets/section-hydration.js?v=177651605160027701221790696530" 195 fetchpriority="low" 196> 197<link 198 rel="modulepreload" 199 href="//daehair.com/cdn/shop/t/364/assets/morph.js?v=92630016404903954311790696530" 200 fetchpriority="low" 201> 202 203 204 205<link 206 rel="modulepreload" 207 href="//daehair.com/cdn/shop/t/364/assets/focus.js?v=60436577539430446401790696530" 208 fetchpriority="low" 209> 210<link 211 rel="modulepreload" 212 href="//daehair.com/cdn/shop/t/364/assets/recently-viewed-products.js?v=94729125001750262651790696530" 213 fetchpriority="low" 214> 215<link 216 rel="modulepreload" 217 href="//daehair.com/cdn/shop/t/364/assets/scrolling.js?v=10957690925586738441790696530" 218 fetchpriority="low" 219> 220<link 221 rel="modulepreload" 222 href="//daehair.com/cdn/shop/t/364/assets/events.js?v=59172389608566392641790696530" 223 fetchpriority="low" 224>
225<script 226 src="//daehair.com/cdn/shop/t/364/assets/popover-polyfill.js?v=119029313658895111201790696530" 227 type="module" 228 fetchpriority="low" 229></script>
vendor: 1 bytes, line 229
229
230<script 231 src="//daehair.com/cdn/shop/t/364/assets/quick-add.js?v=102040698639320169661790696530" 232 type="module" 233 fetchpriority="low" 234></script>
234 235 236
236<script 237 src="//daehair.com/cdn/shop/t/364/assets/cart-discount.js?v=107077853990124422021790696530" 238 type="module" 239 fetchpriority="low" 240 ></script>
240 241
242<script 243 src="//daehair.com/cdn/shop/t/364/assets/dialog.js?v=122984339961420548111790696530" 244 type="module" 245 fetchpriority="low" 246></script>
vendor: 1 bytes, line 246
246
247<script 248 src="//daehair.com/cdn/shop/t/364/assets/variant-picker.js?v=76280749947262196151790696530" 249 type="module" 250 fetchpriority="low" 251></script>
vendor: 1 bytes, line 251
251
252<script 253 src="//daehair.com/cdn/shop/t/364/assets/product-card.js?v=84089801565227384841790696530" 254 type="module" 255 fetchpriority="low" 256></script>
vendor: 1 bytes, line 256
256
257<script 258 src="//daehair.com/cdn/shop/t/364/assets/product-form.js?v=121223240116155512031790696530" 259 type="module" 260 fetchpriority="low" 261></script>
vendor: 1 bytes, line 261
261
262<script 263 src="//daehair.com/cdn/shop/t/364/assets/accordion-custom.js?v=99000499017714805851790696530" 264 type="module" 265 fetchpriority="low" 266></script>
vendor: 1 bytes, line 266
266
267<script 268 src="//daehair.com/cdn/shop/t/364/assets/disclosure-custom.js?v=168050880623268140331790696530" 269 type="module" 270 fetchpriority="low" 271></script>
vendor: 1 bytes, line 271
271
272<script 273 src="//daehair.com/cdn/shop/t/364/assets/media.js?v=37825095869491791421790696530" 274 type="module" 275 fetchpriority="low" 276></script>
vendor: 1 bytes, line 276
276
277<script 278 src="//daehair.com/cdn/shop/t/364/assets/product-price.js?v=30079423257668675401790696530" 279 type="module" 280 fetchpriority="low" 281></script>
vendor: 1 bytes, line 281
281
282<script 283 src="//daehair.com/cdn/shop/t/364/assets/product-title-truncation.js?v=81744426891537421781790696530" 284 type="module" 285 fetchpriority="low" 286></script>
vendor: 1 bytes, line 286
286
287<script 288 src="//daehair.com/cdn/shop/t/364/assets/product-inventory.js?v=16343734458933704981790696530" 289 type="module" 290 fetchpriority="low" 291></script>
vendor: 1 bytes, line 291
291
292<script 293 src="//daehair.com/cdn/shop/t/364/assets/show-more.js?v=94563802205717136101790696530" 294 type="module" 295 fetchpriority="low" 296></script>
vendor: 1 bytes, line 296
296
297<script 298 src="//daehair.com/cdn/shop/t/364/assets/slideshow.js?v=174196859041972252411790696530" 299 type="module" 300 fetchpriority="low" 301></script>
vendor: 1 bytes, line 301
301
302<script 303 src="//daehair.com/cdn/shop/t/364/assets/anchored-popover.js?v=95953304814728754461790696530" 304 type="module" 305 fetchpriority="low" 306></script>
vendor: 1 bytes, line 306
306
307<script 308 src="//daehair.com/cdn/shop/t/364/assets/floating-panel.js?v=128677600744947036551790696530" 309 type="module" 310 fetchpriority="low" 311></script>
vendor: 1 bytes, line 311
311
312<script 313 src="//daehair.com/cdn/shop/t/364/assets/video-background.js?v=25237992823806706551790696530" 314 type="module" 315 fetchpriority="low" 316></script>
vendor: 1 bytes, line 316
316
317<script 318 src="//daehair.com/cdn/shop/t/364/assets/component-quantity-selector.js?v=139522331572640643951790696530" 319 type="module" 320 fetchpriority="low" 321></script>
vendor: 1 bytes, line 321
321
322<script 323 src="//daehair.com/cdn/shop/t/364/assets/media-gallery.js?v=111441960308641931071790696530" 324 type="module" 325 fetchpriority="low" 326></script>
vendor: 1 bytes, line 326
326
327<script 328 src="//daehair.com/cdn/shop/t/364/assets/rte-formatter.js?v=101420294193111439321790696530" 329 type="module" 330 fetchpriority="low" 331></script>
vendor: 1 bytes, line 331
331
332<script 333 src="//daehair.com/cdn/shop/t/364/assets/gift-card-recipient-form.js?v=129634859299628245901790696530" 334 type="module" 335 fetchpriority="low" 336></script>
336 337 338 339 340 341 342 343
343<script 344 src="//daehair.com/cdn/shop/t/364/assets/product-card-link.js?v=97122579314620396511790696530" 345 type="module" 346 fetchpriority="low" 347 ></script>
347 348 349
350<script 351 src="//daehair.com/cdn/shop/t/364/assets/auto-close-details.js?v=58350291535404441581790696530" 352 defer="defer" 353></script>
353 354
355<script> 356 const basePath = 'https://cdn.shopify.com/static/themes/horizon/placeholders'; 357 const Theme = { 358 placeholders: { 359 general: [ 360 `${basePath}/general-1.png`, 361 `${basePath}/general-2.png`, 362 `${basePath}/general-3.png`, 363 `${basePath}/general-4.png`, 364 `${basePath}/general-5.png`, 365 `${basePath}/general-6.png`, 366 `${basePath}/general-7.png`, 367 ], 368 product: [`${basePath}/product-ball.png`, `${basePath}/product-cone.png`, `${basePath}/product-cube.png`], 369 }, 370 translations: { 371 placeholder_image: `Placeholder image`, 372 added: `Added`, 373 recipient_form_fields_visible: `Recipient form fields are now visible`, 374 recipient_form_fields_hidden: `Recipient form fields are now hidden`, 375 recipient_form_error: `There was an error with the form submission`, 376 }, 377 routes: { 378 cart_add_url: '/cart/add.js', 379 cart_change_url: '/cart/change', 380 cart_update_url: '/cart/update', 381 cart_url: '/cart', 382 predictive_search_url: '/search/suggest', 383 search_url: '/search', 384 }, 385 template: { 386 name: 'cart', 387 }, 388 }; 389</script>
389 390<style data-shopify> 391/* ========================================================= 392 CUSTOM FONTS (replaces Shopify font_picker/font_face logic) 393 ========================================================= */ 394 395/* GT America - Regular (400) */ 396@font-face { 397 font-family: "GT America"; 398 src: 399 url('//daehair.com/cdn/shop/t/364/assets/GTAmerica-Regular.woff2?v=36217314632653755721790696530') format('woff2'), 400 url('//daehair.com/cdn/shop/t/364/assets/GTAmerica-Regular.woff?v=10615562750652749441790696530') format('woff'); 401 font-weight: 400; 402 font-style: normal; 403 font-display: swap; 404} 405 406/* GT America - Bold (700) */ 407@font-face { 408 font-family: "GT America Bold"; 409 src: 410 url('//daehair.com/cdn/shop/t/364/assets/GTAmerica-Bold.woff2?v=114585123679605821191790696530') format('woff2'), 411 url('//daehair.com/cdn/shop/t/364/assets/GTAmerica-Bold.woff?v=66503614344099227541790696530') format('woff'); 412 font-weight: 700; 413 font-style: normal; 414 font-display: swap; 415} 416 417/* GT America Mono - Regular (400) */ 418@font-face { 419 font-family: "GT America Mono"; 420 src: 421 url('//daehair.com/cdn/shop/t/364/assets/GTAmericaMono-Regular.woff2?v=6771885268495039001790696530') format('woff2'), 422 url('//daehair.com/cdn/shop/t/364/assets/GTAmericaMono-Regular.woff?v=52940026684260454151790696530') format('woff'); 423 font-weight: 400; 424 font-style: normal; 425 font-display: swap; 426} 427 428/* GT America Extended - Bold (700) */ 429@font-face { 430 font-family: "GT America Extended"; 431 src: 432 url('//daehair.com/cdn/shop/t/364/assets/GT-America-Extended-Bold.woff2?v=59462') format('woff2'), 433 url('//daehair.com/cdn/shop/t/364/assets/GT-America-Extended-Bold.woff?v=59462') format('woff'); 434 font-weight: 700; 435 font-style: normal; 436 font-display: swap; 437} 438 439/* Louize Display - Regular (400) */ 440@font-face { 441 font-family: "Louize Display"; 442 src: 443 url('//daehair.com/cdn/shop/t/364/assets/LouizeDisplay.woff2?v=126243270597535736501790696530') format('woff2'), 444 url('//daehair.com/cdn/shop/t/364/assets/LouizeDisplay.woff?v=35542232346160753961790696530') format('woff'); 445 font-weight: 400; 446 font-style: normal; 447 font-display: swap; 448} 449 450/* GT Eesti Pro Display Medium */ 451@font-face { 452 font-family: "GTEesti Display Medium"; 453 src: 454 url('//daehair.com/cdn/shop/t/364/assets/GTEesti-Display-Medium.woff2?v=81382275819654744151790696530') format('woff2'), 455 url('//daehair.com/cdn/shop/t/364/assets/GTEesti-Display-Medium.woff?v=125034822196542707671790696530') format('woff'); 456 font-weight: 500; 457 font-style: normal; 458 font-display: swap; 459} 460 461/* ========================================================= 462 FONT MAPPING (Theme Editor dropdown -> CSS family stacks) 463 ========================================================= */:root { 464 /* Page Layout */ 465 --sidebar-width: 25rem; 466 --narrow-content-width: 36rem; 467 --normal-content-width: 42rem; 468 --wide-content-width: 46rem; 469 --narrow-page-width: 90rem; 470 --normal-page-width: 120rem; 471 --wide-page-width: 150rem; 472 473 /* Section Heights */ 474 --section-height-small: 15rem; 475 --section-height-medium: 25rem; 476 --section-height-large: 35rem; 477 478 /* @media screen and (min-width: 40em) { 479 --section-height-small: 40svh; 480 --section-height-medium: 55svh; 481 --section-height-large: 70svh; 482 } 483 484 @media screen and (min-width: 60em) { 485 --section-height-small: 50svh; 486 --section-height-medium: 65svh; 487 --section-height-large: 80svh; 488 } */ 489 490 /* Letter spacing */ 491 --letter-spacing-sm: 0.06em; 492 --letter-spacing-md: 0.13em; 493 494 /* Font families */ 495 --font-body--family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 496 --font-body--style: normal; 497 --font-body--weight: 400; 498 499 --font-subheading--family: "GT America Extended Bold", "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 500 --font-subheading--style: normal; 501 --font-subheading--weight: 700; 502 503 --font-heading--family: "Louize Display", Georgia, "Times New Roman", serif; 504 --font-heading--style: normal; 505 --font-heading--weight: 400; 506 507 --font-accent--family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 508 --font-accent--style: normal; 509 --font-accent--weight: 400; 510 511 /* Margin sizes */ 512 --font-h1--spacing: 0.25em; 513 --font-h2--spacing: 0.25em; 514 --font-h3--spacing: 0.25em; 515 --font-h4--spacing: 0.25em; 516 --font-h5--spacing: 0.25em; 517 --font-h6--spacing: 0.25em; 518 --font-paragraph--spacing: 0.5em; 519 520 /* Heading colors */ 521 --font-h1--color: var(--color-foreground-heading); 522 --font-h2--color: var(--color-foreground-heading); 523 --font-h3--color: var(--color-foreground-heading); 524 --font-h4--color: var(--color-foreground-heading); 525 --font-h5--color: var(--color-foreground-heading); 526 --font-h6--color: var(--color-foreground-heading); 527 528 /** Z-Index / Layering */ 529 --layer-section-background: -2; 530 --layer-lowest: -1; 531 --layer-base: 0; 532 --layer-flat: 1; 533 --layer-raised: 2; 534 --layer-heightened: 4; 535 --layer-sticky: 8; 536 --layer-window-overlay: 10; 537 --layer-header-menu: 12; 538 --layer-overlay: 16; 539 --layer-menu-drawer: 18; 540 --layer-temporary: 20; 541 542 /* Max-width / Measure */ 543 --max-width--body-normal: 50ch; 544 --max-width--body-narrow: 35ch; 545 546 --max-width--heading-normal: 50ch; 547 --max-width--heading-narrow: 30ch; 548 549 --max-width--display-normal: 20ch; 550 --max-width--display-narrow: 15ch; 551 --max-width--display-tight: 5ch; 552 553 /* Letter-spacing / Tracking */ 554 --letter-spacing--display-tight: -0.03em; 555 --letter-spacing--display-normal: 0em; 556 --letter-spacing--display-loose: 0.03em; 557 558 --letter-spacing--heading-tight: -0.03em; 559 --letter-spacing--heading-normal: 0em; 560 --letter-spacing--heading-loose: 0.03em; 561 562 --letter-spacing--body-tight: -0.03em; 563 --letter-spacing--body-normal: 0em; 564 --letter-spacing--body-loose: 0.03em; 565 566 /* Line height / Leading */ 567 --line-height: 1; 568 569 --line-height--display-tight: 1; 570 --line-height--display-normal: 1.1; 571 --line-height--display-loose: 1.2; 572 573 --line-height--heading-tight: 1.15; 574 --line-height--heading-normal: 1.25; 575 --line-height--heading-loose: 1.35; 576 577 --line-height--body-tight: 1.2; 578 --line-height--body-normal: 1.4; 579 --line-height--body-loose: 1.6; 580 581 /* Typography presets */ 582 --font-size--paragraph: 0.875rem;--font-size--h1: clamp(2.25rem, 5.6vw, 3.5rem);--font-size--h2: 2.0rem;--font-size--h3: 2.0rem;--font-size--h4: 1.125rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose); 583 584 /* Hardcoded font sizes */ 585 --font-size--2xs: 0.625rem; 586 --font-size--xs: 0.8125rem; 587 --font-size--sm: 0.875rem; 588 --font-size--md: 1rem; 589 --font-size--lg: 1.125rem; 590 --font-size--xl: 1.25rem; 591 --font-size--2xl: 1.5rem; 592 --font-size--3xl: 2rem; 593 --font-size--4xl: 2.5rem; 594 --font-size--5xl: 3rem; 595 --font-size--6xl: 3.5rem; 596 597 /* Menu font sizes */ 598 --menu-font-sm--size: 0.875rem; 599 --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14)); 600 --menu-font-md--size: 1rem; 601 --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16)); 602 --menu-font-lg--size: 1.125rem; 603 --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18)); 604 --menu-font-xl--size: 1.25rem; 605 --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20)); 606 --menu-font-2xl--size: 1.75rem; 607 --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28)); 608 609 /* Colors */ 610 --color-error: #8B0000; 611 --color-success: #006400; 612 --color-white: #FFFFFF; 613 --color-white-rgb: 255 255 255; 614 --color-black: #000000; 615 --color-instock: #3ED660; 616 --color-lowstock: #EE9441; 617 --color-outofstock: #C8C8C8; 618 619 /* Opacity */ 620 --opacity-5: 0.05; 621 --opacity-8: 0.08; 622 --opacity-10: 0.1; 623 --opacity-15: 0.15; 624 --opacity-20: 0.2;
625 --opacity-25: 0.25; 626 --opacity-30: 0.3; 627 --opacity-40: 0.4; 628 --opacity-50: 0.5; 629 --opacity-60: 0.6; 630 --opacity-70: 0.7; 631 --opacity-80: 0.8; 632 --opacity-85: 0.85; 633 --opacity-90: 0.9; 634 --opacity-subdued-text: var(--opacity-70); 635 636 --shadow-button: 0 2px 3px rgb(0 0 0 / 20%); 637 --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent); 638 639 /* Spacing */ 640 --margin-3xs: 0.125rem; 641 --margin-2xs: 0.3rem; 642 --margin-xs: 0.5rem; 643 --margin-sm: 0.7rem; 644 --margin-md: 0.8rem; 645 --margin-lg: 1rem; 646 --margin-xl: 1.25rem; 647 --margin-2xl: 1.5rem; 648 --margin-3xl: 1.75rem; 649 --margin-4xl: 2rem; 650 --margin-5xl: 3rem; 651 --margin-6xl: 5rem; 652 653 --scroll-margin: 50px; 654 655 --padding-3xs: 0.125rem; 656 --padding-2xs: 0.25rem; 657 --padding-xs: 0.5rem; 658 --padding-sm: 0.7rem; 659 --padding-md: 0.8rem; 660 --padding-lg: 1rem; 661 --padding-xl: 1.25rem; 662 --padding-2xl: 1.5rem; 663 --padding-3xl: 1.75rem; 664 --padding-4xl: 2rem; 665 --padding-5xl: 3rem; 666 --padding-6xl: 4rem; 667 668 --gap-3xs: 0.125rem; 669 --gap-2xs: 0.3rem; 670 --gap-xs: 0.5rem; 671 --gap-sm: 0.7rem; 672 --gap-md: 0.9rem; 673 --gap-lg: 1rem; 674 --gap-xl: 1.25rem; 675 --gap-2xl: 2rem; 676 --gap-3xl: 3rem; 677 678 --spacing-scale-sm: 0.6; 679 --spacing-scale-md: 0.7; 680 --spacing-scale-default: 1.0; 681 682 /* Checkout buttons gap */ 683 --checkout-button-gap: 10px; 684 685 /* Borders */ 686 --style-border-width: 1px; 687 --style-border-radius-xs: 0.2rem; 688 --style-border-radius-sm: 0.6rem; 689 --style-border-radius-md: 0.8rem; 690 --style-border-radius-50: 50%; 691 --style-border-radius-lg: 1rem; 692 --style-border-radius-pills: 30px; 693 --style-border-radius-inputs: 4px; 694 --style-border-radius-buttons-primary: 0px; 695 --style-border-radius-buttons-secondary: 0px; 696 --style-border-width-primary: 0px; 697 --style-border-width-secondary: 1px; 698 --style-border-width-inputs: 1px; 699 --style-border-radius-popover: 14px; 700 --style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%); 701 --style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%); 702 --style-border-swatch-opacity: 10%; 703 --style-border-swatch-width: 1px; 704 --style-border-swatch-style: solid; 705 706 /* Animation */ 707 --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1); 708 --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1); 709 --animation-speed-fast: 0.0625s; 710 --animation-speed: 0.125s; 711 --animation-speed-slow: 0.2s; 712 --animation-speed-medium: 0.15s; 713 --animation-easing: ease-in-out; 714 --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1); 715 --drawer-animation-speed: 0.2s; 716 --animation-values-slow: var(--animation-speed-slow) var(--animation-easing); 717 --animation-values: var(--animation-speed) var(--animation-easing); 718 --animation-values-fast: var(--animation-speed-fast) var(--animation-easing); 719 --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete; 720 --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94); 721 --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0); 722 --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); 723 --animation-timing-default: cubic-bezier(0, 0, 0.2, 1); 724 --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1); 725 --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1); 726 727 /* View transitions */ 728 --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut; 729 --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition; 730 731 /* Focus */ 732 --focus-outline-width: 0.09375rem; 733 --focus-outline-offset: 0.2em; 734 735 /* Badges */ 736 --badge-blob-padding-block: 1px; 737 --badge-blob-padding-inline: 12px 8px; 738 --badge-rectangle-padding-block: 1px; 739 --badge-rectangle-padding-inline: 6px; 740 @media screen and (min-width: 750px) { 741 --badge-blob-padding-block: 4px; 742 --badge-blob-padding-inline: 16px 12px; 743 --badge-rectangle-padding-block: 4px; 744 --badge-rectangle-padding-inline: 10px; 745 } 746 747 /* Icons */ 748 --icon-size-2xs: 0.6rem; 749 --icon-size-xs: 0.85rem; 750 --icon-size-sm: 1.25rem; 751 --icon-size-md: 1.375rem; 752 --icon-size-lg: 1.5rem; 753 --icon-stroke-width: 1.5px; 754 755 /* Input */ 756 --input-email-min-width: 200px; 757 --input-search-max-width: 650px; 758 --input-padding-y: 0.8rem; 759 --input-padding-x: 0.8rem; 760 --input-padding: var(--input-padding-y) var(--input-padding-x); 761 --input-box-shadow-width: var(--style-border-width-inputs); 762 --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border); 763 --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border); 764 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 765 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 766 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
767 --input-textarea-min-height: 55px; 768 769 --color-accent-button: ; 770 --color-on-accent-button: ; 771 --color-accent-button-border: ; 772 --color-accent-button-hover: ; 773 --color-on-accent-button-hover: ; 774 --color-accent-button-border-hover: ; 775 776 777 /* Button size */ 778 --button-size-sm: 30px; 779 --button-size-md: 36px; 780 --button-size: var(--minimum-touch-target); 781 --button-padding-inline: 24px; 782 --button-padding-block: 16px; 783 784 /* Button font-family */ 785 --button-font-family-primary: var(--font-body--family); 786 --button-font-family-secondary: var(--font-body--family); 787 --button-font-family-accent: var(--font-body--family); 788 789 /* Button text case */ 790 /* NOTE: keep the legacy var if it's used elsewhere, but set it explicitly */ 791 --button-text-case: uppercase; 792 --button-text-case-primary: uppercase; 793 --button-text-case-secondary: default; 794 --button-text-case-accent: uppercase; 795 796 /* Button borders + radius */ 797 --button-border-width-primary: 0px; 798 --button-border-width-secondary: 1px; 799 --button-border-width-accent: 1px; 800 801 --button-border-radius-primary: 0px; 802 --button-border-radius-secondary: 0px; 803 --button-border-radius-accent: 100px; 804 805 806 /* Borders */ 807 --border-color: rgb(var(--color-border-rgb) / var(--opacity-50)); 808 --border-width-sm: 1px; 809 --border-width-md: 2px; 810 --border-width-lg: 5px; 811 812 /* Drawers */ 813 --drawer-inline-padding: 25px; 814 --drawer-menu-inline-padding: 2.5rem; 815 --drawer-header-block-padding: 20px; 816 --drawer-content-block-padding: 10px; 817 --drawer-header-desktop-top: 0rem; 818 --drawer-padding: calc(var(--padding-sm) + 7px); 819 --drawer-height: 100dvh; 820 --drawer-width: 95vw; 821 --drawer-max-width: 500px; 822 823 /* Variant Picker Swatches */ 824 --variant-picker-swatch-width-unitless: 34; 825 --variant-picker-swatch-height-unitless: 34; 826 --variant-picker-swatch-width: 34px; 827 --variant-picker-swatch-height: 34px; 828 --variant-picker-swatch-radius: 32px; 829 --variant-picker-border-width: 1px; 830 --variant-picker-border-style: solid; 831 --variant-picker-border-opacity: 10%; 832 833 /* Variant Picker Buttons */ 834 --variant-picker-button-radius: 14px; 835 --variant-picker-button-border-width: 1px; 836 837 /* Slideshow */ 838 --slideshow-controls-size: 3.5rem; 839 --slideshow-controls-icon: 2rem; 840 --peek-next-slide-size: 3rem; 841 842 /* Utilities */ 843 --backdrop-opacity: 0.15; 844 --backdrop-color-rgb: var(--color-shadow-rgb); 845 --minimum-touch-target: 44px; 846 --disabled-opacity: 0.5; 847 --skeleton-opacity: 0.025; 848 849 /* Shapes */ 850 --shape--circle: circle(50% at center); 851 --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%); 852 --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 853 --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
853% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%); 854 855 /* Buy buttons */ 856 --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm)); 857 858 /* Card image width and height variables */ 859 --card-width-small: 10rem; 860 861 --height-small: 10rem; 862 --height-medium: 11.5rem; 863 --height-large: 13rem; 864 --height-full: 100vh; 865 866 @media screen and (min-width: 750px) { 867 --height-small: 17.5rem; 868 --height-medium: 21.25rem; 869 --height-large: 25rem; 870 } 871 872 /* Modal */ 873 --modal-max-height: 65dvh; 874 875 /* Card styles for search */ 876 --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 877 --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30)); 878 --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 879 880 /* Cart */ 881 --cart-primary-font-family: var(--font-body--family); 882 --cart-primary-font-style: var(--font-body--style); 883 --cart-primary-font-weight: var(--font-body--weight); 884 --cart-secondary-font-family: var(--font-secondary--family); 885 --cart-secondary-font-style: var(--font-secondary--style); 886 --cart-secondary-font-weight: var(--font-secondary--weight); 887} 888 889 890/* â media queries at top level */ 891@media screen and (min-width: 40em) { 892 :root { 893 --section-height-small: 40svh; 894 --section-height-medium: 55svh; 895 --section-height-large: 70svh; 896 } 897} 898 899@media screen and (min-width: 60em) { 900 :root { 901 --section-height-small: 50svh; 902 --section-height-medium: 65svh; 903 --section-height-large: 80svh; 904 } 905} 906 907/* Base button */ 908.button, 909button.button, 910a.button { 911 display: inline-flex; 912 align-items: center; 913 justify-content: center; 914 gap: .5rem; 915 916 min-height: var(--button-size); 917 padding-block: var(--button-padding-block); 918 padding-inline: var(--button-padding-inline); 919 920 border-style: solid; 921 border-color: transparent; 922 923 border-radius: 9999px; /* fallback; variants override */ 924 text-decoration: none; 925 cursor: pointer; 926 927 transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .05s ease; 928} 929 930.button:focus-visible { 931 outline: 2px solid currentColor; 932 outline-offset: 2px; 933} 934 935.button:disabled, 936.button[aria-disabled="true"] { 937 opacity: .5; 938 cursor: not-allowed; 939 pointer-events: none; 940} 941 942/* Shared mapping hook */ 943.button[data-style="primary"], 944.button--primary { 945 font-family: var(--button-font-family-primary); 946 text-transform: var(--button-text-case-primary); 947 border-width: var(--button-border-width-primary); 948 border-radius: var(--button-border-radius-primary); 949 background: var(--color-primary-button); 950 color: var(--color-on-primary-button); 951 border-color: var(--color-primary-button-border); 952} 953 954.button[data-style="primary"]:hover, 955.button--primary:hover { 956 background: var(--color-primary-button-hover); 957 color: var(--color-on-primary-button-hover); 958 border-color: var(--color-primary-button-border-hover); 959} 960 961.button[data-style="secondary"], 962.button--secondary { 963 font-family: var(--button-font-family-secondary); 964 text-transform: var(--button-text-case-secondary); 965 border-width: var(--button-border-width-secondary); 966 border-radius: var(--button-border-radius-secondary); 967 background: var(--color-secondary-button); 968 color: var(--color-on-secondary-button); 969 border-color: var(--color-secondary-button-border); 970} 971 972.button[data-style="secondary"]:hover, 973.button--secondary:hover { 974 background: var(--color-secondary-button-hover); 975 color: var(--color-on-secondary-button-hover); 976 border-color: var(--color-secondary-button-border-hover); 977} 978 979/* Accent */ 980.button[data-style="accent"], 981.button--accent { 982 font-family: var(--button-font-family-accent); 983 text-transform: var(--button-text-case-accent); 984 border-width: var(--button-border-width-accent); 985 border-radius: var(--button-border-radius-accent); 986 background: var(--color-accent-button); 987 color: var(--color-on-accent-button); 988 border-color: var(--color-accent-button-border); 989} 990 991.button[data-style="accent"]:hover, 992.button--accent:hover { 993 background: var(--color-accent-button-hover); 994 color: var(--color-on-accent-button-hover); 995 border-color: var(--color-accent-button-border-hover); 996} 997 998</style> 999<style data-shopify> 1000 1001 1002 :root, 1003 1004 1005 1006 .color-scheme-1 { 1007 --color-background: rgb(255 252 245 / 1.0); 1008 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1009 --color-background-rgb: 255 252 245; 1010 --opacity-5-15: 0.05; 1011 --opacity-10-25: 0.1; 1012 --opacity-35-55: 0.35; 1013 --opacity-40-60: 0.4; 1014 --opacity-30-60: 0.3; 1015 --color-foreground: rgb(190 106 20 / 1.0); 1016 --color-foreground-rgb: 190 106 20; 1017 --color-foreground-heading: rgb(190 106 20 / 1.0); 1018 --color-foreground-heading-rgb: 190 106 20; 1019 --color-primary: rgb(251 82 115 / 1.0); 1020 --color-primary-rgb: 251 82 115; 1021 --color-primary-hover: rgb(190 106 20 / 1.0); 1022 --color-primary-hover-rgb: 190 106 20; 1023 --color-border: rgb(0 0 0 / 0.01); 1024 --color-border-rgb: 0 0 0; 1025 --color-shadow: rgb(0 0 0 / 1.0); 1026 --color-shadow-rgb: 0 0 0; 1027 --color-primary-button-text: rgb(255 252 245 / 1.0); 1028 --color-primary-button-background: rgb(251 82 115 / 1.0); 1029 --color-primary-button-border: rgb(251 82 115 / 1.0); 1030 --color-primary-button-hover-text: rgb(255 252 245 / 1.0); 1031 --color-primary-button-hover-background: rgb(190 106 20 / 1.0); 1032 --color-primary-button-hover-border: rgb(190 106 20 / 1.0); 1033 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1034 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1035 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1036 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1037 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1038 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1039 --color-input-background: rgb(255 255 255 / 0.78); 1040 --color-input-text: rgb(51 51 51 / 1.0); 1041 --color-input-text-rgb: 51 51 51; 1042 --color-input-border: rgb(223 223 223 / 1.0); 1043 --color-input-hover-background: rgb(0 0 0 / 0.01); 1044 --color-variant-background: rgb(255 255 255 / 1.0); 1045 --color-variant-border: rgb(0 0 0 / 0.13); 1046 --color-variant-text: rgb(0 0 0 / 1.0); 1047 --color-variant-text-rgb: 0 0 0; 1048 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1049 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1050 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1051 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1052 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1053 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1054 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1055 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1056 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1057 1058 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1059 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1060 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1061 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1062 --font-h1--color: var(--color-foreground-heading); 1063 --font-h2--color: var(--color-foreground-heading); 1064 --font-h3--color: var(--color-foreground-heading); 1065 --font-h4--color: var(--color-foreground-heading); 1066 --font-h5--color: var(--color-foreground-heading); 1067 --font-h6--color: var(--color-foreground-heading); 1068 1069 /* Shadows */ 1070 1071 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1072 1073 1074 --shadow-blur: 20px; 1075 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1076 1077 } 1078 1079 1080 1081 1082 .color-scheme-2 {
1083 --color-background: rgb(245 245 245 / 1.0); 1084 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1085 --color-background-rgb: 245 245 245; 1086 --opacity-5-15: 0.05; 1087 --opacity-10-25: 0.1; 1088 --opacity-35-55: 0.35; 1089 --opacity-40-60: 0.4; 1090 --opacity-30-60: 0.3; 1091 --color-foreground: rgb(0 0 0 / 0.81); 1092 --color-foreground-rgb: 0 0 0; 1093 --color-foreground-heading: rgb(0 0 0 / 1.0); 1094 --color-foreground-heading-rgb: 0 0 0; 1095 --color-primary: rgb(0 0 0 / 0.81); 1096 --color-primary-rgb: 0 0 0; 1097 --color-primary-hover: rgb(255 255 255 / 1.0); 1098 --color-primary-hover-rgb: 255 255 255; 1099 --color-border: rgb(223 223 223 / 1.0); 1100 --color-border-rgb: 223 223 223; 1101 --color-shadow: rgb(0 0 0 / 1.0); 1102 --color-shadow-rgb: 0 0 0; 1103 --color-primary-button-text: rgb(255 255 255 / 1.0); 1104 --color-primary-button-background: rgb(0 0 0 / 1.0); 1105 --color-primary-button-border: rgb(0 0 0 / 1.0); 1106 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1107 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1108 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1109 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1110 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1111 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1112 --color-secondary-button-hover-text: rgb(0 0 0 / 1.0); 1113 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1114 --color-secondary-button-hover-border: rgb(51 51 51 / 0.73); 1115 --color-input-background: rgb(0 0 0 / 0.0); 1116 --color-input-text: rgb(0 0 0 / 0.53); 1117 --color-input-text-rgb: 0 0 0; 1118 --color-input-border: rgb(0 0 0 / 0.13); 1119 --color-input-hover-background: rgb(255 255 255 / 0.36); 1120 --color-variant-background: rgb(255 255 255 / 1.0); 1121 --color-variant-border: rgb(230 230 230 / 1.0); 1122 --color-variant-text: rgb(0 0 0 / 1.0); 1123 --color-variant-text-rgb: 0 0 0; 1124 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1125 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1126 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1127 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1128 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1129 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1130 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1131 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1132 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1133 1134 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1135 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1136 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1137 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1138 --font-h1--color: var(--color-foreground-heading); 1139 --font-h2--color: var(--color-foreground-heading); 1140 --font-h3--color: var(--color-foreground-heading); 1141 --font-h4--color: var(--color-foreground-heading); 1142 --font-h5--color: var(--color-foreground-heading); 1143 --font-h6--color: var(--color-foreground-heading); 1144 1145 /* Shadows */ 1146 1147 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1148 1149 1150 --shadow-blur: 20px; 1151 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1152 1153 } 1154 1155 1156 1157 1158 .color-scheme-3 { 1159 --color-background: rgb(238 241 234 / 1.0); 1160 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1161 --color-background-rgb: 238 241 234; 1162 --opacity-5-15: 0.05; 1163 --opacity-10-25: 0.1; 1164 --opacity-35-55: 0.35; 1165 --opacity-40-60: 0.4; 1166 --opacity-30-60: 0.3; 1167 --color-foreground: rgb(0 0 0 / 0.81); 1168 --color-foreground-rgb: 0 0 0; 1169 --color-foreground-heading: rgb(0 0 0 / 1.0); 1170 --color-foreground-heading-rgb: 0 0 0; 1171 --color-primary: rgb(0 0 0 / 0.81); 1172 --color-primary-rgb: 0 0 0; 1173 --color-primary-hover: rgb(0 0 0 / 1.0); 1174 --color-primary-hover-rgb: 0 0 0; 1175 --color-border: rgb(0 0 0 / 0.81); 1176 --color-border-rgb: 0 0 0; 1177 --color-shadow: rgb(0 0 0 / 1.0); 1178 --color-shadow-rgb: 0 0 0; 1179 --color-primary-button-text: rgb(255 255 255 / 1.0); 1180 --color-primary-button-background: rgb(0 0 0 / 1.0); 1181 --color-primary-button-border: rgb(0 0 0 / 1.0); 1182 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1183 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1184 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1185 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1186 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1187 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1188 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1189 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1190 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1191 --color-input-background: rgb(0 0 0 / 0.0); 1192 --color-input-text: rgb(0 0 0 / 0.81); 1193 --color-input-text-rgb: 0 0 0; 1194 --color-input-border: rgb(0 0 0 / 0.81); 1195 --color-input-hover-background: rgb(255 255 255 / 0.36); 1196 --color-variant-background: rgb(255 255 255 / 1.0); 1197 --color-variant-border: rgb(230 230 230 / 1.0); 1198 --color-variant-text: rgb(0 0 0 / 1.0); 1199 --color-variant-text-rgb: 0 0 0; 1200 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1201 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1202 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1203 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1204 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1205 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1206 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1207 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1208 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1209 1210 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1211 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1212 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1213 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1214 --font-h1--color: var(--color-foreground-heading); 1215 --font-h2--color: var(--color-foreground-heading); 1216 --font-h3--color: var(--color-foreground-heading); 1217 --font-h4--color: var(--color-foreground-heading); 1218 --font-h5--color: var(--color-foreground-heading); 1219 --font-h6--color: var(--color-foreground-heading); 1220 1221 /* Shadows */ 1222 1223 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1224 1225 1226 --shadow-blur: 20px; 1227 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1228 1229 } 1230 1231 1232 1233 1234 .color-scheme-4 { 1235 --color-background: rgb(225 237 245 / 1.0); 1236 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1237 --color-background-rgb: 225 237 245; 1238 --opacity-5-15: 0.05; 1239 --opacity-10-25: 0.1; 1240 --opacity-35-55: 0.35; 1241 --opacity-40-60: 0.4; 1242 --opacity-30-60: 0.3; 1243 --color-foreground: rgb(0 0 0 / 0.81); 1244 --color-foreground-rgb: 0 0 0; 1245 --color-foreground-heading: rgb(0 0 0 / 1.0); 1246 --color-foreground-heading-rgb: 0 0 0; 1247 --color-primary: rgb(0 0 0 / 0.81); 1248 --color-primary-rgb: 0 0 0; 1249 --color-primary-hover: rgb(0 0 0 / 1.0); 1250 --color-primary-hover-rgb: 0 0 0; 1251 --color-border: rgb(29 54 134 / 0.5); 1252 --color-border-rgb: 29 54 134; 1253 --color-shadow: rgb(0 0 0 / 1.0); 1254 --color-shadow-rgb: 0 0 0; 1255 --color-primary-button-text: rgb(255 255 255 / 1.0); 1256 --color-primary-button-background: rgb(0 0 0 / 1.0); 1257 --color-primary-button-border: rgb(29 54 134 / 1.0); 1258 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1259 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1260 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1261 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1262 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1263 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1264 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1265 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1266 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1267 --color-input-background: rgb(0 0 0 / 0.0); 1268 --color-input-text: rgb(0 0 0 / 0.81); 1269 --color-input-text-rgb: 0 0 0; 1270 --color-input-border: rgb(0 0 0 / 0.81); 1271 --color-input-hover-background: rgb(255 255 255 / 0.36); 1272 --color-variant-background: rgb(255 255 255 / 1.0); 1273 --color-variant-border: rgb(230 230 230 / 1.0); 1274 --color-variant-text: rgb(0 0 0 / 1.0); 1275 --color-variant-text-rgb: 0 0 0; 1276 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1277 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1278 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1279 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1280 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1281 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1282 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1283 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1284 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1285 1286 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1287 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1288 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1289 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1290 --font-h1--color: var(--color-foreground-heading); 1291 --font-h2--color: var(--color-foreground-heading); 1292 --font-h3--color: var(--color-foreground-heading); 1293 --font-h4--color: var(--color-foreground-heading); 1294 --font-h5--color: var(--color-foreground-heading); 1295 --font-h6--color: var(--color-foreground-heading); 1296 1297 /* Shadows */ 1298 1299 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1300 1301 1302 --shadow-blur: 20px; 1303 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1304 1305 } 1306 1307 1308 1309 1310 .color-scheme-5 { 1311 --color-background: rgb(255 252 245 / 1.0); 1312 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1313 --color-background-rgb: 255 252 245; 1314 --opacity-5-15: 0.05; 1315 --opacity-10-25: 0.1; 1316 --opacity-35-55: 0.35; 1317 --opacity-40-60: 0.4; 1318 --opacity-30-60: 0.3; 1319 --color-foreground: rgb(255 255 255 / 1.0); 1320 --color-foreground-rgb: 255 255 255; 1321 --color-foreground-heading: rgb(255 255 255 / 1.0); 1322 --color-foreground-heading-rgb: 255 255 255; 1323 --color-primary: rgb(255 255 255 / 1.0); 1324 --color-primary-rgb: 255 255 255; 1325 --color-primary-hover: rgb(255 255 255 / 0.69); 1326 --color-primary-hover-rgb: 255 255 255; 1327 --color-border: rgb(255 255 255 / 0.69); 1328 --color-border-rgb: 255 255 255; 1329 --color-shadow: rgb(0 0 0 / 1.0); 1330 --color-shadow-rgb: 0 0 0; 1331 --color-primary-button-text: rgb(0 0 0 / 1.0); 1332 --color-primary-button-background: rgb(255 255 255 / 1.0); 1333 --color-primary-button-border: rgb(255 255 255 / 1.0); 1334 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1335 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1336 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1337 --color-secondary-button-text: rgb(255 255 255 / 1.0); 1338 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1339 --color-secondary-button-border: rgb(255 255 255 / 0.69); 1340 --color-secondary-button-hover-text: rgb(255 255 255 / 0.93); 1341 --color-secondary-button-hover-background: rgb(255 255 255 / 0.04); 1342 --color-secondary-button-hover-border: rgb(255 255 255 / 0.69); 1343 --color-input-background: rgb(51 51 51 / 1.0); 1344 --color-input-text: rgb(255 255 255 / 0.93); 1345 --color-input-text-rgb: 255 255 255; 1346 --color-input-border: rgb(255 255 255 / 0.69); 1347 --color-input-hover-background: rgb(255 255 255 / 0.04); 1348 --color-variant-background: rgb(255 255 255 / 1.0); 1349 --color-variant-border: rgb(230 230 230 / 1.0); 1350 --color-variant-text: rgb(0 0 0 / 1.0); 1351 --color-variant-text-rgb: 0 0 0; 1352 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1353 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1354 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1355 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1356 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1357 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1358 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1359 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1360 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1361 1362 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1363 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1364 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1365 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1366 --font-h1--color: var(--color-foreground-heading); 1367 --font-h2--color: var(--color-foreground-heading); 1368 --font-h3--color: var(--color-foreground-heading); 1369 --font-h4--color: var(--color-foreground-heading); 1370 --font-h5--color: var(--color-foreground-heading); 1371 --font-h6--color: var(--color-foreground-heading); 1372 1373 /* Shadows */ 1374 1375 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1376 1377 1378 --shadow-blur: 20px; 1379 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1380 1381 } 1382 1383 1384 1385 1386 .color-scheme-6 { 1387 --color-background: rgb(0 0 0 / 0.0); 1388 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1389 --color-background-rgb: 0 0 0; 1390 --opacity-5-15: 0.15; 1391 --opacity-10-25: 0.25; 1392 --opacity-35-55: 0.55; 1393 --opacity-40-60: 0.6; 1394 --opacity-30-60: 0.6; 1395 --color-foreground: rgb(255 255 255 / 1.0); 1396 --color-foreground-rgb: 255 255 255; 1397 --color-foreground-heading: rgb(255 255 255 / 1.0); 1398 --color-foreground-heading-rgb: 255 255 255; 1399 --color-primary: rgb(255 255 255 / 1.0); 1400 --color-primary-rgb: 255 255 255; 1401 --color-primary-hover: rgb(255 255 255 / 0.69); 1402 --color-primary-hover-rgb: 255 255 255; 1403 --color-border: rgb(230 230 230 / 1.0); 1404 --color-border-rgb: 230 230 230; 1405 --color-shadow: rgb(0 0 0 / 1.0); 1406 --color-shadow-rgb: 0 0 0; 1407 --color-primary-button-text: rgb(0 0 0 / 1.0); 1408 --color-primary-button-background: rgb(255 255 255 / 1.0); 1409 --color-primary-button-border: rgb(255 255 255 / 1.0); 1410 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1411 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1412 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1413 --color-secondary-button-text: rgb(255 255 255 /
14131.0); 1414 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1415 --color-secondary-button-border: rgb(255 255 255 / 1.0); 1416 --color-secondary-button-hover-text: rgb(255 255 255 / 1.0); 1417 --color-secondary-button-hover-background: rgb(255 255 255 / 0.08); 1418 --color-secondary-button-hover-border: rgb(255 255 255 / 1.0); 1419 --color-input-background: rgb(255 255 255 / 1.0); 1420 --color-input-text: rgb(0 0 0 / 0.53); 1421 --color-input-text-rgb: 0 0 0; 1422 --color-input-border: rgb(0 0 0 / 0.13); 1423 --color-input-hover-background: rgb(250 250 250 / 1.0); 1424 --color-variant-background: rgb(255 255 255 / 1.0); 1425 --color-variant-border: rgb(230 230 230 / 1.0); 1426 --color-variant-text: rgb(0 0 0 / 1.0); 1427 --color-variant-text-rgb: 0 0 0; 1428 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1429 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1430 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1431 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1432 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1433 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1434 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1435 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1436 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1437 1438 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1439 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1440 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1441 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1442 --font-h1--color: var(--color-foreground-heading); 1443 --font-h2--color: var(--color-foreground-heading); 1444 --font-h3--color: var(--color-foreground-heading); 1445 --font-h4--color: var(--color-foreground-heading); 1446 --font-h5--color: var(--color-foreground-heading); 1447 --font-h6--color: var(--color-foreground-heading); 1448 1449 /* Shadows */ 1450 1451 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1452 1453 1454 --shadow-blur: 20px; 1455 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1456 1457 } 1458 1459 1460 1461 1462 .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 { 1463 --color-background: rgb(0 0 0 / 0.0); 1464 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1465 --color-background-rgb: 0 0 0; 1466 --opacity-5-15: 0.15; 1467 --opacity-10-25: 0.25; 1468 --opacity-35-55: 0.55; 1469 --opacity-40-60: 0.6; 1470 --opacity-30-60: 0.6; 1471 --color-foreground: rgb(0 0 0 / 1.0); 1472 --color-foreground-rgb: 0 0 0; 1473 --color-foreground-heading: rgb(0 0 0 / 1.0); 1474 --color-foreground-heading-rgb: 0 0 0; 1475 --color-primary: rgb(0 0 0 / 1.0); 1476 --color-primary-rgb: 0 0 0; 1477 --color-primary-hover: rgb(0 0 0 / 0.53); 1478 --color-primary-hover-rgb: 0 0 0; 1479 --color-border: rgb(230 230 230 / 1.0); 1480 --color-border-rgb: 230 230 230; 1481 --color-shadow: rgb(0 0 0 / 1.0); 1482 --color-shadow-rgb: 0 0 0; 1483 --color-primary-button-text: rgb(255 255 255 / 1.0); 1484 --color-primary-button-background: rgb(0 0 0 / 1.0); 1485 --color-primary-button-border: rgb(0 0 0 / 1.0); 1486 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1487 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1488 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1489 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1490 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1491 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1492 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1493 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1494 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1495 --color-input-background: rgb(255 255 255 / 1.0); 1496 --color-input-text: rgb(0 0 0 / 0.53); 1497 --color-input-text-rgb: 0 0 0; 1498 --color-input-border: rgb(0 0 0 / 0.13); 1499 --color-input-hover-background: rgb(250 250 250 / 1.0); 1500 --color-variant-background: rgb(255 255 255 / 1.0); 1501 --color-variant-border: rgb(230 230 230 / 1.0); 1502 --color-variant-text: rgb(0 0 0 / 1.0); 1503 --color-variant-text-rgb: 0 0 0; 1504 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1505 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1506 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1507 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1508 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1509 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1510 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1511 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1512 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1513 1514 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1515 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1516 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1517 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1518 --font-h1--color: var(--color-foreground-heading); 1519 --font-h2--color: var(--color-foreground-heading); 1520 --font-h3--color: var(--color-foreground-heading); 1521 --font-h4--color: var(--color-foreground-heading); 1522 --font-h5--color: var(--color-foreground-heading); 1523 --font-h6--color: var(--color-foreground-heading); 1524 1525 /* Shadows */ 1526 1527 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1528 1529 1530 --shadow-blur: 20px; 1531 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1532 1533 } 1534 1535 1536 1537 1538 .color-scheme-11c6eda6-4028-4f79-a408-acc49acb462e { 1539 --color-background: rgb(251 82 115 / 1.0); 1540 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1541 --color-background-rgb: 251 82 115; 1542 --opacity-5-15: 0.05; 1543 --opacity-10-25: 0.1; 1544 --opacity-35-55: 0.35; 1545 --opacity-40-60: 0.4; 1546 --opacity-30-60: 0.3; 1547 --color-foreground: rgb(255 252 245 / 1.0); 1548 --color-foreground-rgb: 255 252 245; 1549 --color-foreground-heading: rgb(0 0 0 / 1.0); 1550 --color-foreground-heading-rgb: 0 0 0; 1551 --color-primary: rgb(0 0 0 / 0.81); 1552 --color-primary-rgb: 0 0 0; 1553 --color-primary-hover: rgb(0 0 0 / 1.0); 1554 --color-primary-hover-rgb: 0 0 0; 1555 --color-border: rgb(0 0 0 / 0.06); 1556 --color-border-rgb: 0 0 0; 1557 --color-shadow: rgb(0 0 0 / 1.0); 1558 --color-shadow-rgb: 0 0 0; 1559 --color-primary-button-text: rgb(255 252 245 / 1.0); 1560 --color-primary-button-background: rgb(251 82 115 / 1.0); 1561 --color-primary-button-border: rgb(0 0 0 / 1.0); 1562 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1563 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1564 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1565 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1566 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1567 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1568 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1569 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1570 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1571 --color-input-background: rgb(255 255 255 / 0.78); 1572 --color-input-text: rgb(51 51 51 / 1.0); 1573 --color-input-text-rgb: 51 51 51; 1574 --color-input-border: rgb(223 223 223 / 1.0); 1575 --color-input-hover-background: rgb(0 0 0 / 0.01); 1576 --color-variant-background: rgb(255 255 255 / 1.0); 1577 --color-variant-border: rgb(0 0 0 / 0.13); 1578 --color-variant-text: rgb(0 0 0 / 1.0); 1579 --color-variant-text-rgb: 0 0 0; 1580 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1581 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1582 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1583 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1584 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1585 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1586 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1587 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1588 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1589 1590 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1591 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1592 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1593 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1594 --font-h1--color: var(--color-foreground-heading); 1595 --font-h2--color: var(--color-foreground-heading); 1596 --font-h3--color: var(--color-foreground-heading); 1597 --font-h4--color: var(--color-foreground-heading); 1598 --font-h5--color: var(--color-foreground-heading); 1599 --font-h6--color: var(--color-foreground-heading); 1600 1601 /* Shadows */ 1602 1603 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1604 1605 1606 --shadow-blur: 20px; 1607 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1608 1609 } 1610 1611 1612 1613 1614 .color-scheme-bc7428e2-c95e-45cc-8116-2123bddd454c { 1615 --color-background: rgb(255 252 245 / 1.0); 1616 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1617 --color-background-rgb: 255 252 245; 1618 --opacity-5-15: 0.05; 1619 --opacity-10-25: 0.1; 1620 --opacity-35-55: 0.35; 1621 --opacity-40-60: 0.4; 1622 --opacity-30-60: 0.3; 1623 --color-foreground: rgb(0 0 0 / 0.81); 1624 --color-foreground-rgb: 0 0 0; 1625 --color-foreground-heading: rgb(0 0 0 / 1.0); 1626 --color-foreground-heading-rgb: 0 0 0; 1627 --color-primary: rgb(0 0 0 / 0.81); 1628 --color-primary-rgb: 0 0 0; 1629 --color-primary-hover: rgb(0 0 0 / 1.0); 1630 --color-primary-hover-rgb: 0 0 0; 1631 --color-border: rgb(0 0 0 / 0.06); 1632 --color-border-rgb: 0 0 0; 1633 --color-shadow: rgb(0 0 0 / 1.0); 1634 --color-shadow-rgb: 0 0 0; 1635 --color-primary-button-text: rgb(255 255 255 / 1.0); 1636 --color-primary-button-background: rgb(0 0 0 / 1.0); 1637 --color-primary-button-border: rgb(0 0 0 / 1.0); 1638 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1639 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1640 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1641 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1642 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1643 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1644 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1645 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1646 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1647 --color-input-background: rgb(255 255 255 / 0.78); 1648 --color-input-text: rgb(51 51 51 / 1.0); 1649 --color-input-text-rgb: 51 51 51; 1650 --color-input-border: rgb(223 223 223 / 1.0); 1651 --color-input-hover-background: rgb(0 0 0 / 0.01); 1652 --color-variant-background: rgb(255 255 255 / 1.0); 1653 --color-variant-border: rgb(0 0 0 / 0.13); 1654 --color-variant-text: rgb(0 0 0 / 1.0); 1655 --color-variant-text-rgb: 0 0 0; 1656 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1657 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1658 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1659 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1660 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1661 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1662 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1663 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1664 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1665 1666 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1667 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1668 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1669 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1670 --font-h1--color: var(--color-foreground-heading); 1671 --font-h2--color: var(--color-foreground-heading); 1672 --font-h3--color: var(--color-foreground-heading); 1673 --font-h4--color: var(--color-foreground-heading); 1674 --font-h5--color: var(--color-foreground-heading); 1675 --font-h6--color: var(--color-foreground-heading); 1676 1677 /* Shadows */ 1678 1679 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1680 1681 1682 --shadow-blur: 20px; 1683 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1684 1685 } 1686 1687 1688 1689 1690 .color-scheme-fca89763-c587-4f95-897d-33af3a147f63 { 1691 --color-background: rgb(209 138 119 / 1.0); 1692 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1693 --color-background-rgb: 209 138 119; 1694 --opacity-5-15: 0.05; 1695 --opacity-10-25: 0.1; 1696 --opacity-35-55: 0.35; 1697 --opacity-40-60: 0.4; 1698 --opacity-30-60: 0.3; 1699 --color-foreground: rgb(0 0 0 / 0.81); 1700 --color-foreground-rgb: 0 0 0; 1701 --color-foreground-heading: rgb(255 255 255 / 1.0); 1702 --color-foreground-heading-rgb: 255 255 255; 1703 --color-primary: rgb(0 0 0 / 0.81); 1704 --color-primary-rgb: 0 0 0; 1705 --color-primary-hover: rgb(0 0 0 / 1.0); 1706 --color-primary-hover-rgb: 0 0 0; 1707 --color-border: rgb(0 0 0 / 0.06); 1708 --color-border-rgb: 0 0 0; 1709 --color-shadow: rgb(0 0 0 / 1.0); 1710 --color-shadow-rgb: 0 0 0; 1711 --color-primary-button-text: rgb(255 255 255 / 1.0); 1712 --color-primary-button-background: rgb(0 0 0 / 1.0); 1713 --color-primary-button-border: rgb(0 0 0 / 1.0); 1714 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1715 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1716 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1717 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1718 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1719 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1720 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1721 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1722 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1723 --color-input-background: rgb(255 255 255 / 0.78); 1724 --color-input-text: rgb(51 51 51 / 1.0); 1725 --color-input-text-rgb: 51 51 51; 1726 --color-input-border: rgb(223 223 223 / 1.0); 1727 --color-input-hover-background: rgb(0 0 0 / 0.01); 1728 --color-variant-background: rgb(255 255 255 / 1.0); 1729 --color-variant-border: rgb(0 0 0 / 0.13); 1730 --color-variant-text: rgb(0 0 0 / 1.0); 1731 --color-variant-text-rgb: 0 0 0; 1732 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1733 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1734 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1735 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1736 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1737 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1738 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1739 --color-selected-variant-hover-text: rgb(255 255 2
173955 / 1.0); 1740 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1741 1742 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1743 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1744 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1745 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1746 --font-h1--color: var(--color-foreground-heading); 1747 --font-h2--color: var(--color-foreground-heading); 1748 --font-h3--color: var(--color-foreground-heading); 1749 --font-h4--color: var(--color-foreground-heading); 1750 --font-h5--color: var(--color-foreground-heading); 1751 --font-h6--color: var(--color-foreground-heading); 1752 1753 /* Shadows */ 1754 1755 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1756 1757 1758 --shadow-blur: 20px; 1759 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1760 1761 } 1762 1763 1764 1765 1766 .color-scheme-f311f7b1-22dc-48ee-8ce1-97be4ea44356 { 1767 --color-background: rgb(255 255 255 / 1.0); 1768 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1769 --color-background-rgb: 255 255 255; 1770 --opacity-5-15: 0.05; 1771 --opacity-10-25: 0.1; 1772 --opacity-35-55: 0.35; 1773 --opacity-40-60: 0.4; 1774 --opacity-30-60: 0.3; 1775 --color-foreground: rgb(255 252 245 / 1.0); 1776 --color-foreground-rgb: 255 252 245; 1777 --color-foreground-heading: rgb(0 0 0 / 1.0); 1778 --color-foreground-heading-rgb: 0 0 0; 1779 --color-primary: rgb(0 0 0 / 0.81); 1780 --color-primary-rgb: 0 0 0; 1781 --color-primary-hover: rgb(0 0 0 / 1.0); 1782 --color-primary-hover-rgb: 0 0 0; 1783 --color-border: rgb(0 0 0 / 0.06); 1784 --color-border-rgb: 0 0 0; 1785 --color-shadow: rgb(0 0 0 / 1.0); 1786 --color-shadow-rgb: 0 0 0; 1787 --color-primary-button-text: rgb(255 255 255 / 1.0); 1788 --color-primary-button-background: rgb(0 0 0 / 1.0); 1789 --color-primary-button-border: rgb(0 0 0 / 1.0); 1790 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1791 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1792 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1793 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1794 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1795 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1796 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1797 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1798 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1799 --color-input-background: rgb(255 255 255 / 0.78); 1800 --color-input-text: rgb(51 51 51 / 1.0); 1801 --color-input-text-rgb: 51 51 51; 1802 --color-input-border: rgb(223 223 223 / 1.0); 1803 --color-input-hover-background: rgb(0 0 0 / 0.01); 1804 --color-variant-background: rgb(255 255 255 / 1.0); 1805 --color-variant-border: rgb(0 0 0 / 0.13); 1806 --color-variant-text: rgb(0 0 0 / 1.0); 1807 --color-variant-text-rgb: 0 0 0; 1808 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1809 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1810 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1811 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1812 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1813 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1814 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1815 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1816 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1817 1818 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1819 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1820 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1821 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1822 --font-h1--color: var(--color-foreground-heading); 1823 --font-h2--color: var(--color-foreground-heading); 1824 --font-h3--color: var(--color-foreground-heading); 1825 --font-h4--color: var(--color-foreground-heading); 1826 --font-h5--color: var(--color-foreground-heading); 1827 --font-h6--color: var(--color-foreground-heading); 1828 1829 /* Shadows */ 1830 1831 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1832 1833 1834 --shadow-blur: 20px; 1835 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1836 1837 } 1838 1839 1840 1841 1842 .color-scheme-9dcd45a5-6e49-4a10-b5f5-cebdb88b74e6 { 1843 --color-background: rgb(232 96 117 / 1.0); 1844 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1845 --color-background-rgb: 232 96 117; 1846 --opacity-5-15: 0.05; 1847 --opacity-10-25: 0.1; 1848 --opacity-35-55: 0.35; 1849 --opacity-40-60: 0.4; 1850 --opacity-30-60: 0.3; 1851 --color-foreground: rgb(255 255 255 / 1.0); 1852 --color-foreground-rgb: 255 255 255; 1853 --color-foreground-heading: rgb(255 255 255 / 1.0); 1854 --color-foreground-heading-rgb: 255 255 255; 1855 --color-primary: rgb(0 0 0 / 0.81); 1856 --color-primary-rgb: 0 0 0; 1857 --color-primary-hover: rgb(0 0 0 / 1.0); 1858 --color-primary-hover-rgb: 0 0 0; 1859 --color-border: rgb(0 0 0 / 0.06); 1860 --color-border-rgb: 0 0 0; 1861 --color-shadow: rgb(0 0 0 / 1.0); 1862 --color-shadow-rgb: 0 0 0; 1863 --color-primary-button-text: rgb(255 255 255 / 1.0); 1864 --color-primary-button-background: rgb(0 0 0 / 1.0); 1865 --color-primary-button-border: rgb(0 0 0 / 1.0); 1866 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1867 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1868 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1869 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1870 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1871 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1872 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1873 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1874 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1875 --color-input-background: rgb(255 255 255 / 0.78); 1876 --color-input-text: rgb(51 51 51 / 1.0); 1877 --color-input-text-rgb: 51 51 51; 1878 --color-input-border: rgb(223 223 223 / 1.0); 1879 --color-input-hover-background: rgb(0 0 0 / 0.01); 1880 --color-variant-background: rgb(255 255 255 / 1.0); 1881 --color-variant-border: rgb(0 0 0 / 0.13); 1882 --color-variant-text: rgb(0 0 0 / 1.0); 1883 --color-variant-text-rgb: 0 0 0; 1884 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1885 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1886 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1887 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1888 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1889 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1890 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1891 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1892 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1893 1894 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1895 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1896 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1897 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1898 --font-h1--color: var(--color-foreground-heading); 1899 --font-h2--color: var(--color-foreground-heading); 1900 --font-h3--color: var(--color-foreground-heading); 1901 --font-h4--color: var(--color-foreground-heading); 1902 --font-h5--color: var(--color-foreground-heading); 1903 --font-h6--color: var(--color-foreground-heading); 1904 1905 /* Shadows */ 1906 1907 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1908 1909 1910 --shadow-blur: 20px; 1911 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1912 1913 } 1914 1915 1916 1917 1918 .color-scheme-fe080dae-01c4-431e-a13a-d267d9db607d { 1919 --color-background: rgb(237 214 196 / 1.0); 1920 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1921 --color-background-rgb: 237 214 196; 1922 --opacity-5-15: 0.05; 1923 --opacity-10-25: 0.1; 1924 --opacity-35-55: 0.35; 1925 --opacity-40-60: 0.4; 1926 --opacity-30-60: 0.3; 1927 --color-foreground: rgb(190 106 20 / 1.0); 1928 --color-foreground-rgb: 190 106 20; 1929 --color-foreground-heading: rgb(0 0 0 / 1.0); 1930 --color-foreground-heading-rgb: 0 0 0; 1931 --color-primary: rgb(0 0 0 / 0.81); 1932 --color-primary-rgb: 0 0 0; 1933 --color-primary-hover: rgb(0 0 0 / 1.0); 1934 --color-primary-hover-rgb: 0 0 0; 1935 --color-border: rgb(0 0 0 / 0.06); 1936 --color-border-rgb: 0 0 0; 1937 --color-shadow: rgb(0 0 0 / 1.0); 1938 --color-shadow-rgb: 0 0 0; 1939 --color-primary-button-text: rgb(255 255 255 / 1.0); 1940 --color-primary-button-background: rgb(0 0 0 / 1.0); 1941 --color-primary-button-border: rgb(0 0 0 / 1.0); 1942 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1943 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1944 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1945 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1946 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1947 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1948 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1949 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1950 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1951 --color-input-background: rgb(255 255 255 / 0.78); 1952 --color-input-text: rgb(51 51 51 / 1.0); 1953 --color-input-text-rgb: 51 51 51; 1954 --color-input-border: rgb(223 223 223 / 1.0); 1955 --color-input-hover-background: rgb(0 0 0 / 0.01); 1956 --color-variant-background: rgb(255 255 255 / 1.0); 1957 --color-variant-border: rgb(0 0 0 / 0.13); 1958 --color-variant-text: rgb(0 0 0 / 1.0); 1959 --color-variant-text-rgb: 0 0 0; 1960 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1961 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1962 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1963 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1964 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1965 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1966 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1967 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1968 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1969 1970 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1971 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1972 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1973 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1974 --font-h1--color: var(--color-foreground-heading); 1975 --font-h2--color: var(--color-foreground-heading); 1976 --font-h3--color: var(--color-foreground-heading); 1977 --font-h4--color: var(--color-foreground-heading); 1978 --font-h5--color: var(--color-foreground-heading); 1979 --font-h6--color: var(--color-foreground-heading); 1980 1981 /* Shadows */ 1982 1983 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1984 1985 1986 --shadow-blur: 20px; 1987 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1988 1989 } 1990 1991 1992 1993 1994 .color-scheme-ea86371d-85e6-4e23-9894-cf1ffd62587e { 1995 --color-background: rgb(244 140 139 / 1.0); 1996 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1997 --color-background-rgb: 244 140 139; 1998 --opacity-5-15: 0.05; 1999 --opacity-10-25: 0.1; 2000 --opacity-35-55: 0.35; 2001 --opacity-40-60: 0.4; 2002 --opacity-30-60: 0.3; 2003 --color-foreground: rgb(0 0 0 / 0.81); 2004 --color-foreground-rgb: 0 0 0; 2005 --color-foreground-heading: rgb(0 0 0 / 1.0); 2006 --color-foreground-heading-rgb: 0 0 0; 2007 --color-primary: rgb(0 0 0 / 0.81); 2008 --color-primary-rgb: 0 0 0; 2009 --color-primary-hover: rgb(0 0 0 / 1.0); 2010 --color-primary-hover-rgb: 0 0 0; 2011 --color-border: rgb(0 0 0 / 0.06); 2012 --color-border-rgb: 0 0 0; 2013 --color-shadow: rgb(0 0 0 / 1.0); 2014 --color-shadow-rgb: 0 0 0; 2015 --color-primary-button-text: rgb(255 255 255 / 1.0); 2016 --color-primary-button-background: rgb(0 0 0 / 1.0); 2017 --color-primary-button-border: rgb(0 0 0 / 1.0); 2018 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 2019 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 2020 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 2021 --color-secondary-button-text: rgb(0 0 0 / 1.0); 2022 --color-secondary-button-background: rgb(0 0 0 / 0.0); 2023 --color-secondary-button-border: rgb(0 0 0 / 1.0); 2024 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 2025 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 2026 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 2027 --color-input-background: rgb(255 255 255 / 0.78); 2028 --color-input-text: rgb(51 51 51 / 1.0); 2029 --color-input-text-rgb: 51 51 51; 2030 --color-input-border: rgb(223 223 223 / 1.0); 2031 --color-input-hover-background: rgb(0 0 0 / 0.01); 2032 --color-variant-background: rgb(255 255 255 / 1.0); 2033 --color-variant-border: rgb(0 0 0 / 0.13); 2034 --color-variant-text: rgb(0 0 0 / 1.0); 2035 --color-variant-text-rgb: 0 0 0; 2036 --color-variant-hover-background: rgb(245 245 245 / 1.0); 2037 --color-variant-hover-text: rgb(0 0 0 / 1.0); 2038 --color-variant-hover-border: rgb(230 230 230 / 1.0); 2039 --color-selected-variant-background: rgb(0 0 0 / 1.0); 2040 --color-selected-variant-border: rgb(0 0 0 / 1.0); 2041 --color-selected-variant-text: rgb(255 255 255 / 1.0); 2042 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 2043 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 2044 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 2045 2046 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 2047 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 2048 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 2049 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 2050 --font-h1--color: var(--color-foreground-heading); 2051 --font-h2--color: var(--color-foreground-heading); 2052 --font-h3--color: var(--color-foreground-heading); 2053 --font-h4--color: var(--color-foreground-heading); 2054 --font-h5--color: var(--color-foreground-heading); 2055 --font-h6--color: var(--color-foreground-heading); 2056 2057 /* Shadows */ 2058 2059 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 2060 2061 2062 --shadow-blur: 20px; 2063 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 2064 2065 } 2066 2067 2068 2069 2070 .color-scheme-d8bef307-a4c5-4b60-b479-e5446de3cdbd { 2071 --color-background: rgb(251 205 195 / 1.0); 2072 /* RGB values only to apply different opacities - Relative color values are
2072not supported in iOS < 16.4 */ 2073 --color-background-rgb: 251 205 195; 2074 --opacity-5-15: 0.05; 2075 --opacity-10-25: 0.1; 2076 --opacity-35-55: 0.35; 2077 --opacity-40-60: 0.4; 2078 --opacity-30-60: 0.3; 2079 --color-foreground: rgb(0 0 0 / 0.81); 2080 --color-foreground-rgb: 0 0 0; 2081 --color-foreground-heading: rgb(0 0 0 / 1.0); 2082 --color-foreground-heading-rgb: 0 0 0; 2083 --color-primary: rgb(0 0 0 / 0.81); 2084 --color-primary-rgb: 0 0 0; 2085 --color-primary-hover: rgb(0 0 0 / 1.0); 2086 --color-primary-hover-rgb: 0 0 0; 2087 --color-border: rgb(0 0 0 / 0.06); 2088 --color-border-rgb: 0 0 0; 2089 --color-shadow: rgb(0 0 0 / 1.0); 2090 --color-shadow-rgb: 0 0 0; 2091 --color-primary-button-text: rgb(255 255 255 / 1.0); 2092 --color-primary-button-background: rgb(0 0 0 / 1.0); 2093 --color-primary-button-border: rgb(0 0 0 / 1.0); 2094 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 2095 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 2096 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 2097 --color-secondary-button-text: rgb(0 0 0 / 1.0); 2098 --color-secondary-button-background: rgb(0 0 0 / 0.0); 2099 --color-secondary-button-border: rgb(0 0 0 / 1.0); 2100 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 2101 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 2102 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 2103 --color-input-background: rgb(255 255 255 / 0.78); 2104 --color-input-text: rgb(51 51 51 / 1.0); 2105 --color-input-text-rgb: 51 51 51; 2106 --color-input-border: rgb(223 223 223 / 1.0); 2107 --color-input-hover-background: rgb(0 0 0 / 0.01); 2108 --color-variant-background: rgb(255 255 255 / 1.0); 2109 --color-variant-border: rgb(0 0 0 / 0.13); 2110 --color-variant-text: rgb(0 0 0 / 1.0); 2111 --color-variant-text-rgb: 0 0 0; 2112 --color-variant-hover-background: rgb(245 245 245 / 1.0); 2113 --color-variant-hover-text: rgb(0 0 0 / 1.0); 2114 --color-variant-hover-border: rgb(230 230 230 / 1.0); 2115 --color-selected-variant-background: rgb(0 0 0 / 1.0); 2116 --color-selected-variant-border: rgb(0 0 0 / 1.0); 2117 --color-selected-variant-text: rgb(255 255 255 / 1.0); 2118 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 2119 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 2120 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 2121 2122 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 2123 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 2124 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 2125 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 2126 --font-h1--color: var(--color-foreground-heading); 2127 --font-h2--color: var(--color-foreground-heading); 2128 --font-h3--color: var(--color-foreground-heading); 2129 --font-h4--color: var(--color-foreground-heading); 2130 --font-h5--color: var(--color-foreground-heading); 2131 --font-h6--color: var(--color-foreground-heading); 2132 2133 /* Shadows */ 2134 2135 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 2136 2137 2138 --shadow-blur: 20px; 2139 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 2140 2141 } 2142 2143 2144 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-6, .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7, .color-scheme-11c6eda6-4028-4f79-a408-acc49acb462e, .color-scheme-bc7428e2-c95e-45cc-8116-2123bddd454c, .color-scheme-fca89763-c587-4f95-897d-33af3a147f63, .color-scheme-f311f7b1-22dc-48ee-8ce1-97be4ea44356, .color-scheme-9dcd45a5-6e49-4a10-b5f5-cebdb88b74e6, .color-scheme-fe080dae-01c4-431e-a13a-d267d9db607d, .color-scheme-ea86371d-85e6-4e23-9894-cf1ffd62587e, .color-scheme-d8bef307-a4c5-4b60-b479-e5446de3cdbd { 2145 color: var(--color-foreground); 2146 background-color: var(--color-background); 2147 } 2148</style> 2149<link href="//daehair.com/cdn/shop/t/364/assets/slick.css?v=98340474046176884051790696530" rel="stylesheet" type="text/css" media="all" /> 2150 <link href="//daehair.com/cdn/shop/t/364/assets/slick-theme.css?v=111566387709569418871790696530" rel="stylesheet" type="text/css" media="all" /> 2151 2152
2152<script src="//daehair.com/cdn/shop/t/364/assets/slick.min.js?v=119177116428520753221790696530" defer></script>
2152 2153
2153<script src="//daehair.com/cdn/shop/t/364/assets/featured-products-slider.js?v=20618755531969836811790696530" defer></script>
2153 2154
2154<script src="//daehair.com/cdn/shop/t/364/assets/jquery-3.6.0.min.js?v=115860211936397945481790696530" defer></script>
2154 2155
2155<script src="//daehair.com/cdn/shop/t/364/assets/marquee.js?v=74946541691193139871790696530" type="module"></script>
2155 2156
2156<script src="//daehair.com/cdn/shop/t/364/assets/curved-marquee-banner.js?v=67274378344389746281790696530" defer></script>
2156 2157 2158 <!-- â Your Custom CSS --> 2159 2160 <style> 2161 :root{ 2162 /* Actual font name tokens */ 2163 --font-gt-america: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 2164 --font-gt-america-extended-bold: "GT America Extended Bold", "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 2165 --font-gt-america-mono-regular: "GT America Mono Regular", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 2166 --font-louize-display: "Louize Display", Georgia, "Times New Roman", serif; 2167 2168 /* Optional convenience aliases */ 2169 --font-sans: var(--font-gt-america); 2170 --font-serif: var(--font-louize-display); 2171 --font-mono: var(--font-gt-america-mono-regular); 2172 2173 /* Theme mappings (if any existing CSS expects these) */ 2174 --font-body: var(--font-gt-america); 2175 --font-subheading: var(--font-gt-america-extended-bold); 2176 --font-heading: var(--font-louize-display); 2177 --font-accent: var(--font-gt-america); 2178 2179 --font-primary--family: var(--font-louize-display); 2180 --font-secondary--family: var(--font-gt-america); 2181 --font-accent--family: var(--font-gt-america); 2182 --font-subheading--family: var(--font-gt-america-extended-bold); 2183 2184 } 2185 .gbbProductAddButton { 2186 display: flex !important; 2187 justify-content: center !important; 2188 align-items: center !important; 2189 } 2190 </style> 2191 2192 2193 2194
2194<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
2194<meta name="google-site-verification" content="-Fu9jxE_EhoO6HMKdPCW6BomukUh-HjxWwcqZKezE2U"> 2195<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/10257858615/digital_wallets/dialog"> 2196<meta id="in-context-paypal-metadata" data-shop-id="10257858615" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 2197<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
2197<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2517598263"></script>
2197 2198<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
2199<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2517598263&shop_id=10257858615" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2199
2199
2200<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":10257858615,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/10257858615","merchantName":"dae","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"dae","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 2200
2200
2201<script id="shopify-features" type="application/json">{"accessToken":"8bdc5b37c2c8fd5dffc20a36e1dead29","betas":["rich-media-storefront-analytics"],"domain":"daehair.com","predictiveSearch":true,"shopId":10257858615,"locale":"en"}</script>
vendor: 1 bytes, line 2201
2201
2202<script>var Shopify = Shopify || {}; 2203Shopify.shop = "daehair.myshopify.com"; 2204Shopify.locale = "en"; 2205Shopify.currency = {"active":"USD","rate":"1.0"}; 2206Shopify.country = "US"; 2207Shopify.theme = {"name":"Holidae Kits- Oct 2026","id":160739885111,"schema_name":"Horizon","schema_version":"3.0.1","theme_store_id":2481,"role":"main"}; 2208Shopify.theme.handle = "null"; 2209Shopify.theme.style = {"id":null,"handle":null}; 2210Shopify.cdnHost = "daehair.com/cdn"; 2211Shopify.routes = Shopify.routes || {}; 2212Shopify.routes.root = "/"; 2213Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 2214Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 2215Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 2216Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 2216
2216
2217<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 2217
2217
2218<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 2218
2218
2219<script> 2220 window.ShopifyPay = window.ShopifyPay || {}; 2221 window.ShopifyPay.apiHost = "shop.app\/pay"; 2222 window.ShopifyPay.redirectState = null; 2223</script>
vendor: 1 bytes, line 2223
2223
2224<script> 2225 window.Shopify = window.Shopify || {}; 2226 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 2227 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 2228 window.Shopify.SignInWithShop.eligible = true; 2229</script>
vendor: 1 bytes, line 2229
2229
2230<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 2230
2230
2231<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 2231
2231
2232<script type="module"> 2233 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 2234 2235 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 2236 2237</script>
vendor: 1 bytes, line 2237
2237
2238<script> 2239 window.Shopify = window.Shopify || {}; 2240 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 2241 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"]}; 2242</script>
vendor: 1 bytes, line 2242
2242
2243<script>(function() { 2244 var isLoaded = false; 2245 function asyncLoad() { 2246 if (isLoaded) return; 2247 isLoaded = true; 2248 var urls = ["https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=TUz4wy\u0026shop=daehair.myshopify.com","https:\/\/cdn-loyalty.yotpo.com\/loader\/_MvDGu0l4Lu9Cf8sWF7Mtw.js?shop=daehair.myshopify.com","https:\/\/ecom-app.rakutenadvertising.io\/rakuten_advertising.js?shop=daehair.myshopify.com","https:\/\/tag.rmp.rakuten.com\/121470.ct.js?shop=daehair.myshopify.com","https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=daehair.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=daehair.myshopify.com","https:\/\/app.octaneai.com\/7l6nlrngbch12z2x\/shopify.js?x=GWcX9aY8IqhWgh92\u0026shop=daehair.myshopify.com","https:\/\/app.electricsms.com\/cart-widget\/widget.min.js?shop=daehair.myshopify.com","https:\/\/ds0wlyksfn0sb.cloudfront.net\/elevateab.app.txt?shop=daehair.myshopify.com","https:\/\/service.goaudience.com\/cdn\/pixel-loader.js?label=574\u0026webhook=https:\/\/service.goaudience.com\u0026shop=daehair.myshopify.com","https:\/\/service.goaudience.com\/cdn\/capture-events.js?label=574\u0026webhook=https:\/\/service.goaudience.com\u0026shop=daehair.myshopify.com","\/\/backinstock.useamp.com\/widget\/50971_1783061810.js?category=bis\u0026v=6\u0026shop=daehair.myshopify.com"]; 2249 for (var i = 0; i < urls.length; i++) { 2250 var s = document.createElement('script'); 2251 s.type = 'text/javascript'; 2252 s.async = true; 2253 s.src = urls[i]; 2254 var x = document.getElementsByTagName('script')[0]; 2255 x.parentNode.insertBefore(s, x); 2256 } 2257 }; 2258 if(window.attachEvent) { 2259 window.attachEvent('onload', asyncLoad); 2260 } else { 2261 window.addEventListener('load', asyncLoad, false); 2262 } 2263})();</script>
vendor: 1 bytes, line 2263
2263
2264<script id="__st">var __st={"a":10257858615,"offset":-25200,"reqid":"991cb3b8-1cb8-4cd8-a3e7-65124c818698-1791116212","pageurl":"daehair.com\/cart","u":"36df64c07564","p":"cart"};</script>
vendor: 1 bytes, line 2264
2264
2265<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 2265
2265
2266<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 2266
2266
2267<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//daehair.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2267
2267
2268<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 = "//daehair.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>
2268<script crossorigin="anonymous" defer="defer" src="//daehair.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 2268
2268
2269<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 2269
2269
2270<script> 2271 window.Shopify = window.Shopify || {}; 2272 window.Shopify.MCP = window.Shopify.MCP || {}; 2273 window.Shopify.MCP.enabled = true; 2274 window.Shopify.MCP.shop = "daehair.myshopify.com"; 2275 window.Shopify.MCP.mcpEndpoint = "https:\/\/daehair.com\/api\/mcp"; 2276 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"]}}]; 2277</script>
vendor: 1 bytes, line 2277
2277
2278<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("\/\/daehair.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 2279</script>
vendor: 1 bytes, line 2279
2279
2280<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://daehair.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 2281</script>
vendor: 1 bytes, line 2281
2281
2282<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 2283 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); 2284</script>
vendor: 1 bytes, line 2284
2284
2285<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})}})); 2286</script>
2286 2287<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://daehair.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 2288<style id="shopify-accelerated-checkout-cart"> 2289 #shopify-buyer-consent { 2290 margin-top: 1em; 2291 display: inline-block; 2292 width: 100%; 2293} 2294 2295#shopify-buyer-consent.hidden { 2296 display: none; 2297} 2298 2299#shopify-subscription-policy-button { 2300 background: none; 2301 border: none; 2302 padding: 0; 2303 text-decoration: underline; 2304 font-size: inherit; 2305 cursor: pointer; 2306} 2307 2308#shopify-subscription-policy-button::before { 2309 box-shadow: none; 2310} 2311 2312 </style> 2313<link rel="stylesheet" media="screen" href="//daehair.com/cdn/shop/t/364/compiled_assets/styles.css?v=11290339372445148691790698610">
2314<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
2314 2315 2316<!-- BEGIN app block: shopify://apps/cookieyes/blocks/app-embed/44e5ef64-bf2c-4188-838c-6f3b0716b8e4 --> 2317 2318 2319
2319<script 2320 async 2321 id="cookieyes" 2322 type="text/javascript" 2323 src="https://cdn-cookieyes.com/client_data/9b4e0a72d4851295d10e2b484166aae3/script.js" 2324 ></script>
2324 2325 2326 2327 <!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-loyalty-rewards/blocks/loader-app-embed-block/2f9660df-5018-4e02-9868-ee1fb88d6ccd --> 2328
2328<script src="https://cdn-widgetsrepository.yotpo.com/v1/loader/_MvDGu0l4Lu9Cf8sWF7Mtw" async></script>
2328 2329 2330 2331 2332 2333 2334 2335 2336<!-- END app block --><!-- BEGIN app block: shopify://apps/rebuy-personalization-engine/blocks/rebuy-global-embed/a26ae9b9-933b-40bf-bbc6-bf1220bbc4dc -->
2337<script> 2338 window.Rebuy = window.Rebuy || {}; 2339 window.Rebuy.customer = window.Rebuy.customer || {}; 2340 2341 window.Rebuy.market = window.Rebuy.market || {}; 2342 2343 window.Rebuy.market.country = "US"; 2344 2345 2346 window.Rebuy.market.locale = "en"; 2347 2348</script>
2348 2349 2350 2351 2352 2353 2354<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367
2367<script async src="https://static.klaviyo.com/onsite/js/NYTBJh/klaviyo.js?company_id=NYTBJh"></script>
2367 2368
2368<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>
2368 2369 2370 2371 2372 2373 2374 2375
2375<script> 2376 window.klaviyoReviewsProductDesignMode = false 2377 </script>
2377 2378 2379 2380 2381 <!-- BEGIN app snippet: customer-hub-data -->
2381<script> 2382 if (!window.customerHub) { 2383 window.customerHub = {}; 2384 } 2385 window.customerHub.storefrontRoutes = { 2386 login: "https://daehair.com/customer_authentication/redirect?locale=en®ion_country=US?return_url=%2F%23k-hub", 2387 register: "https://shopify.com/10257858615/account?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkYWVoYWlyLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTcyMTAxMiwibmJmIjoxNzkxMTE2MjEyfQ.-xmbJ-3qbaKcAv-zPrVXig0-Lt_GJFV66izFzhA5LBo?return_url=%2F%23k-hub", 2388 logout: "/account/logout", 2389 profile: "/account", 2390 addresses: "/account/addresses", 2391 }; 2392 2393 window.customerHub.userId = null; 2394 2395 window.customerHub.storeDomain = "daehair.myshopify.com"; 2396 2397 2398 2399 2400 window.customerHub.storeLocale = { 2401 currentLanguage: 'en', 2402 currentCountry: 'US', 2403 availableLanguages: [ 2404 2405 { 2406 iso_code: 'en', 2407 endonym_name: 'English' 2408 } 2409 2410 ], 2411 availableCountries: [ 2412 2413 { 2414 iso_code: 'US', 2415 name: 'United States', 2416 currency_code: 'USD' 2417 } 2418 2419 ] 2420 }; 2421 2422</script>
2422 2423<!-- END app snippet --> 2424 2425 2426 2427 <!-- BEGIN app snippet: customer-hub-replace-links -->
2428<script> 2429 function replaceAccountLinks() { 2430 const selector = 2431 'a[href$="/account/login"], a[href$="/account"], a[href^="https://shopify.com/"][href*="/account"], a[href*="/customer_identity/redirect"], a[href*="/customer_authentication/redirect"], a[href$="/account'; 2432 const accountLinksNodes = document.querySelectorAll(selector); 2433 for (const node of accountLinksNodes) { 2434 const ignore = node.dataset.kHubIgnore !== undefined && node.dataset.kHubIgnore !== 'false'; 2435 if (!ignore) { 2436 // Any login links to Shopify's account system, point them at the customer hub instead. 2437 node.href = '#k-hub'; 2438 /** 2439 * There are some themes which apply a page transition on every click of an anchor tag (usually a fade-out) that's supposed to be faded back in when the next page loads. 2440 * However, since clicking the k-hub link doesn't trigger a page load, the page gets stuck on a blank screen. 2441 * Luckily, these themes usually have a className you can add to links to skip the transition. 2442 * Let's hope that all such themes are consistent/copy each other and just proactively add those classNames when we replace the link. 2443 **/ 2444 node.classList.add('no-transition', 'js-no-transition'); 2445 } 2446 } 2447 } 2448 2449 2450 if (document.readyState === 'complete') { 2451 replaceAccountLinks(); 2452 } else { 2453 const controller = new AbortController(); 2454 document.addEventListener( 2455 'readystatechange', 2456 () => { 2457 replaceAccountLinks(); // try to replace links both during `interactive` state and `complete` state 2458 if (document.readyState === 'complete') { 2459 // readystatechange can fire with "complete" multiple times per page load, so make sure we're not duplicating effort 2460 // by removing the listener afterwards. 2461 controller.abort(); 2462 } 2463 }, 2464 { signal: controller.signal }, 2465 ); 2466 } 2467 2468</script>
2468 2469<!-- END app snippet --> 2470 2471 2472 2473 2474 2475<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf --> 2476 2477 2478
2478<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/JW6hOWUf5CIg8gbeZ02aJV2TodE46I6yDXICYwnJ?languageCode=en" async></script>
2478 2479 2480 2481 2482 2483<!-- END app block --><!-- BEGIN app block: shopify://apps/gempages-builder/blocks/embed-gp-script-head/20b379d4-1b20-474c-a6ca-665c331919f3 --> 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
2499<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/daehair.myshopify.com"></script>
2499 2500 2501
2502<script defer data-gorgias-loader-convert src="https://content.9gtb.com/loader.js"></script>
2502 2503 2504
2505<script defer data-gorgias-loader-mailto-replace src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=daehair"></script>
2505 2506 2507 2508<!-- 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 /> 2509<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
2510<script> 2511/* >> TriplePixel :: start*/ 2512window.TriplePixelData={TripleName:"daehair.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{ }},search:"",collection:"",cart:"page",template:"cart",curr:"USD" || "USD", market:"8257591"},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); 2513/* << TriplePixel :: end*/ 2514</script>
2514 2515 2516 2517 2518<!-- END app block -->
2518<script src="https://cdn.shopify.com/extensions/01a0cc49-fcb9-7efe-8598-d361e150772f/cookieyes-12/assets/shopify.js" type="text/javascript" defer="defer"></script>
2518 2519<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2520<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: 10257858615,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 2520
2520
2521<script> 2522 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2523</script>
vendor: 1 bytes, line 2523
2523
2524<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}
2524).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: 10257858615,storefrontBaseUrl: "https://daehair.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://daehair.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1312227383","configuration":"{\"token\":\"5a5894fc-29ea-40ab-b69f-04253e3dd450\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a11948d157c1c71bab368db7465b61ce","type":"APP","apiClientId":149080899585,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
2524,{"id":"1286570039","configuration":"{\"store\":\"daehair.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c0f63799ab70093f169178d8d3580a1c","type":"APP","apiClientId":3135504385,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1217495095","configuration":"{\"storeId\":\"daehair.myshopify.com\",\"token\":\"_x_t_bU2FsdGVkX19wAAXrPc+9\/RBv92EMCNnHJqIE8pX5nPSOpkNI6xAfnicdU+9mwUBj2gMrBm+W7jfHC1zbN+uGvA==\",\"flags\":\"{\\\"ga4_enabled\\\":false,\\\"clickTrackingConfig\\\":{}}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"331127a50698838ce4e38ca81311e481","type":"APP","apiClientId":4623321,"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"},{"id":"1068073015","configuration":"{\"pixelCode\":\"CKJD2QJC77UB8D1ASFFG\"}","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":"unrestricted"},{"id":"960725047","configuration":"{\"mntnAID\":\"48791\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b8ecc2eedc793aefdb0d20e94c7addf0","type":"APP","apiClientId":27490025473,"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":"unrestricted"},{"id":"901316663","configuration":"{\"accountID\":\"NYTBJh\",\"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"685604919","configuration":"{\"shopId\":\"daehair.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":"unrestricted"},{"id":"582418487","configuration":"{\"store_id\":\"149835\",\"environment\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"10c4f173702937db6fa4bf871600cafd","type":"APP","apiClientId":294517,"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":"unrestricted"},{"id":"327614519","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\",\\\"GT-TNCSL3JB\\\",\\\"GT-PHRKC9M\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/IbAYCP7_xKMYEPCAtpQB\\\",\\\"MC-HYXB8BV2DC\\\"]}
2524,{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/ziiECISAxaMYEPCAtpQB\\\",\\\"MC-HYXB8BV2DC\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-L6XL7RF8ZE\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/3BEHCPv_xKMYEPCAtpQB\\\",\\\"MC-QRH8SJLT1D\\\",\\\"MC-HYXB8BV2DC\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/W8qGCPX_xKMYEPCAtpQB\\\",\\\"MC-QRH8SJLT1D\\\",\\\"MC-HYXB8BV2DC\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-L6XL7RF8ZE\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/4LWZCPj_xKMYEPCAtpQB\\\",\\\"MC-QRH8SJLT1D\\\",\\\"MC-HYXB8BV2DC\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-L6XL7RF8ZE\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/aL4_CIeAxaMYEPCAtpQB\\\",\\\"MC-HYXB8BV2DC\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-L6XL7RF8ZE\\\",\\\"AW-311263344\\\/QtiECIGAxaMYEPCAtpQB\\\",\\\"MC-HYXB8BV2DC\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-L6XL7RF8ZE\\\"}],\\\"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"198639671","configuration":"{\"loggingEnabled\":\"true\", \"ranMid\":\"47903\", \"serverPixelEnabled\":\"true\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"67876d85c0116003a8f8eee2de1601f3","type":"APP","apiClientId":2531653,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"162398263","configuration":"{\"pixel_id\":\"1167297373615420\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","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":"74743863","configuration":"{\"botID\":\"7l6nlrngbch12z2x\",\"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":"unrestricted"},{"id":"35979319","configuration":"{\"tagID\":\"2614039033162\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"7634999","configuration":"{\"myshopifyDomain\":\"daehair.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
2524,"dataSharingState":"unrestricted"},{"id":"13893687","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Convert.com"},{"id":"129630263","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Amazon Ad Tag"},{"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":"dae","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"daehair.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/daehair.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"6911354634295","handle":"slick-back-duo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40495197093943","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7358591729719","handle":"taming-wand-duo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41949355769911","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6798102233143","handle":"agave-dry-heat-hold-styling-mist-5oz","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40155490484279","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7054153711671","handle":"agave-dry-heat-hold-styling-mist-mini","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41049699647543","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://daehair.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"160739885111","themeStoreId":"2481","themePublished":"true","eventMetadataId":"3222a381-d957-452f-ae1c-ac50927f9f6c","pageType":"cart","shopId":"10257858615","storefrontBaseUrl":"https:\/\/daehair.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>
2524<script> 2525 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2526 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2527 window.ShopifyAnalytics.meta.currency = 'USD'; 2528 var meta = {"page":{"pageType":"cart","requestId":"991cb3b8-1cb8-4cd8-a3e7-65124c818698-1791116212"}}; 2529 for (var attr in meta) { 2530 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2531 } 2532</script>
vendor: 1 bytes, line 2532
2532
2533<script class="analytics"> 2534 (function () { 2535 var customDocumentWrite = function(content) { 2536 var jquery = null; 2537 2538 if (window.jQuery) { 2539 jquery = window.jQuery; 2540 } else if (window.Checkout && window.Checkout.$) { 2541 jquery = window.Checkout.$; 2542 } 2543 2544 if (jquery) { 2545 jquery('body').append(content); 2546 } 2547 }; 2548 2549 var hasLoggedConversion = function(token) { 2550 if (token) { 2551 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2552 } 2553 return false; 2554 } 2555 2556 var setCookieIfConversion = function(token) { 2557 if (token) { 2558 var twoMonthsFromNow = new Date(Date.now()); 2559 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2560 2561 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2562 } 2563 } 2564 2565 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2566 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2567 if (trekkie.integrations) { 2568 return; 2569 } 2570 trekkie.methods = [ 2571 'identify', 2572 'page', 2573 'ready', 2574 'track', 2575 'trackForm', 2576 'trackLink' 2577 ]; 2578 trekkie.factory = function(method) { 2579 return function() { 2580 var args = Array.prototype.slice.call(arguments); 2581 args.unshift(method); 2582 trekkie.push(args); 2583 if (method == 'track' || method == 'page') { 2584 var pageUrl; 2585 try { 2586 pageUrl = window.location.href; 2587 } catch (e) {} 2588 var pageReferrer; 2589 try { 2590 pageReferrer = document.referrer; 2591 } catch (e) {} 2592 try { 2593 if (window.__TREKKIE_SHIM_QUEUE == null) { 2594 window.__TREKKIE_SHIM_QUEUE = []; 2595 } 2596 window.__TREKKIE_SHIM_QUEUE.push({ 2597 from: 'trekkie-stub', 2598 method: method, 2599 args: args.slice(1), 2600 pageContext: { 2601 url: pageUrl, 2602 referrer: pageReferrer 2603 } 2604 }); 2605 } catch (e) { 2606 // no-op 2607 } 2608 } 2609 return trekkie; 2610 }; 2611 }; 2612 for (var i = 0; i < trekkie.methods.length; i++) { 2613 var key = trekkie.methods[i]; 2614 trekkie[key] = trekkie.factory(key); 2615 } 2616 trekkie.load = function(config) { 2617 trekkie.config = config || {}; 2618 trekkie.config.initialDocumentCookie = document.cookie; 2619 var first = document.getElementsByTagName('script')[0]; 2620var script = document.createElement('script'); 2621script.type = 'text/javascript'; 2622script.onerror = function(e) { 2623 var scriptFallback = document.createElement('script'); 2624 scriptFallback.type = 'text/javascript'; 2625 scriptFallback.onerror = function(error) { 2626 var Monorail = { 2627 produce: function produce(monorailDomain, schemaId, payload) { 2628 var currentMs = new Date().getTime(); 2629 var event = { 2630 schema_id: schemaId, 2631 payload: payload, 2632 metadata: { 2633 event_created_at_ms: currentMs, 2634 event_sent_at_ms: currentMs 2635 } 2636 }; 2637 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2638 }, 2639 sendRequest: function sendRequest(endpointUrl, payload) { 2640 // Try the sendBeacon API 2641 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2642 var blobData = new window.Blob([payload], { 2643 type: 'text/plain' 2644 }); 2645 2646 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2647 return true; 2648 } // sendBeacon was not successful 2649 2650 } // XHR beacon 2651 2652 var xhr = new XMLHttpRequest(); 2653 2654 try { 2655 xhr.open('POST', endpointUrl); 2656 xhr.setRequestHeader('Content-Type', 'text/plain'); 2657 xhr.send(payload); 2658 } catch (e) { 2659 console.log(e); 2660 } 2661 2662 return false; 2663 }, 2664 isIos12: function isIos12() { 2665 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2666 } 2667 }; 2668 Monorail.produce('monorail-edge.shopifysvc.com', 2669 'trekkie_storefront_load_errors/1.1', 2670 {shop_id: 10257858615, 2671 theme_id: 160739885111, 2672 app_name: "storefront", 2673 context_url: window.location.href, 2674 source_url: "//daehair.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2675 2676 }; 2677 scriptFallback.async = true; 2678 scriptFallback.src = '//daehair.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2679 first.parentNode.insertBefore(scriptFallback, first); 2680}; 2681script.async = true; 2682script.src = '//daehair.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2683first.parentNode.insertBefore(script, first); 2684 2685 }; 2686 trekkie.load( 2687 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":10257858615,"isMerchantRequest":null,"themeId":160739885111,"themeCityHash":"4486491428521443684","contentLanguage":"en","currency":"USD","eventMetadataId":"3222a381-d957-452f-ae1c-ac50927f9f6c"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2688 ); 2689 2690 var loaded = false;
2691 trekkie.ready(function() { 2692 if (loaded) return; 2693 loaded = true; 2694 2695 window.ShopifyAnalytics.lib = window.trekkie; 2696 2697 var originalDocumentWrite = document.write; 2698 document.write = customDocumentWrite; 2699 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2700 document.write = originalDocumentWrite; 2701 2702 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2703 var token = match? match[1]: undefined; 2704 if (!hasLoggedConversion(token)) { 2705 setCookieIfConversion(token); 2706 2707 } 2708 }); 2709 2710 window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"991cb3b8-1cb8-4cd8-a3e7-65124c818698-1791116212","shopifyEmitted":true}); 2711 2712 var eventsListenerScript = document.createElement('script'); 2713 eventsListenerScript.async = true; 2714 eventsListenerScript.src = "//daehair.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2715 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2716})();</script>
2716 2717
2717<script> 2718 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 2719 window.ga = function ga() { 2720 (window.ga.q = window.ga.q || []).push(arguments); 2721 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2722 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 2723 } 2724 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 2725 }; 2726 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2727 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 2728 } 2729 } 2730</script>
vendor: 1 bytes, line 2730
2730
2731<script 2732 defer 2733 src="https://daehair.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 2734 data-application="storefront-renderer" 2735 data-shop-id="10257858615" 2736 data-render-region="gcp-us-central1" 2737 data-page-type="cart" 2738 data-theme-instance-id="160739885111" 2739 data-theme-name="Horizon" 2740 data-theme-version="3.0.1" 2741 data-monorail-region="shop_domain" 2742 data-resource-timing-sampling-rate="10" 2743 data-shs="true" 2744 data-shs-beacon="true" 2745 data-shs-export-with-fetch="true" 2746 data-shs-logs-sample-rate="1" 2747 data-shs-beacon-endpoint="https://daehair.com/api/collect" 2748></script>
2748 2749<meta name="shopify-y" content="aabe0345-4a73-4074-9e9d-0ff52492970e" data-expiration="1822673812000"><meta name="shopify-s" content="799cbae1-04ee-4ea4-9196-7883ca07ba3a" data-expiration="1791118012000"><meta name="new-cookie-storage-activated" content="t"> 2750</head> 2751 2752<body 2753 2754 2755 class="page-width-narrow" 2756 id="cart" 2757> 2758 2759<div id="header-group"> 2760 <!-- BEGIN sections: header-group --> 2761<div id="shopify-section-sections--23030427418679__header_announcements_9jGBFp" class="shopify-section shopify-section-group-header-group"> 2762 2763 2764
2764<script 2765 src="//daehair.com/cdn/shop/t/364/assets/announcement-bar.js?v=34024675399582161451790696530" 2766 type="module" 2767 fetchpriority="low" 2768 ></script>
2768 2769 2770 2771<div class="section-background color-scheme-11c6eda6-4028-4f79-a408-acc49acb462e"></div> 2772<aside 2773 class="announcement-bar spacing-style section section--page-width color-scheme-11c6eda6-4028-4f79-a408-acc49acb462e" 2774 style="--padding-block-start: 15px; --padding-block-end:15px; 2775--padding-inline-start:0px; --padding-inline-end:0px; 2776; --border-bottom-width: 1px;" 2777> 2778 2779 2780 <announcement-bar-component 2781 class="announcement-bar__slider" 2782 2783 autoplay="5" aria-live="polite" 2784 2785 > 2786 2787 <slideshow-arrows 2788 position="center" 2789 2790><button 2791 class=" 2792 slideshow-control slideshow-control--previous 2793 2794 2795 slideshow-control--style-chevron 2796 button button-unstyled button-unstyled--transparent 2797 flip-x 2798 " 2799 2800 aria-label="Previous slide" 2801 2802 on:click="/previous" 2803 ref="previous" 2804> 2805 <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2806 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2807</svg> 2808</span> 2809</button> 2810<button 2811 class=" 2812 slideshow-control slideshow-control--next 2813 2814 2815 slideshow-control--style-chevron 2816 button button-unstyled button-unstyled--transparent 2817 2818 " 2819 2820 aria-label="Next slide" 2821 2822 on:click="/next" 2823 ref="next" 2824> 2825 <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2826 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2827</svg> 2828</span> 2829</button> 2830</slideshow-arrows> 2831 2832 2833 2834 <div class="announcement-bar__slides"> 2835 2836<slideshow-slide 2837 ref="slides[]" 2838 class=" 2839 announcement-bar__slide 2840 text-block 2841 text-block--AYitUOE90K1pybEVNS__announcement_6qJymE 2842 text-block--align-center 2843 text-block--full-width 2844 custom-typography 2845 custom-font-size 2846 2847 " 2848 style=" 2849 2850--color: ;--font-size: 0.75rem; --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family); --text-transform: none; --text-wrap: ; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2851 --width: 100%; 2852 --text-align: center; 2853 --line-height: 1; 2854 " 2855 2856 aria-hidden="false" 2857 > 2858 <p class="announcement-bar__text"> 2859 Free Detox Shampoo Sample on $60+ Orders! 2860 </p> 2861 2862 2863 <a 2864 class="announcement-bar__link" 2865 href="/pages/shop-all" 2866 > 2867 <span class="visually-hidden"> 2868 Free Detox Shampoo Sample on $60+ Orders! 2869 </span> 2870 </a> 2871 2872 </slideshow-slide> 2873 2874 2875 2876<slideshow-slide 2877 ref="slides[]" 2878 class=" 2879 announcement-bar__slide 2880 text-block 2881 text-block--ASjZuY01SODN5TFJYR__announcement_N7NMxg 2882 text-block--align-center 2883 text-block--full-width 2884 custom-typography 2885 custom-font-size 2886 2887 " 2888 style=" 2889 2890--color: ;--font-size: 0.75rem; --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family); --text-transform: none; --text-wrap: ; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-normal); 2891 --width: 100%; 2892 --text-align: center; 2893 --line-height: 1; 2894 " 2895 2896 aria-hidden="true" 2897 > 2898 <p class="announcement-bar__text"> 2899 Free Shipping on orders $30+! 2900 </p> 2901 2902 2903 <a 2904 class="announcement-bar__link" 2905 href="/pages/shop-all" 2906 > 2907 <span class="visually-hidden"> 2908 Free Shipping on orders $30+! 2909 </span> 2910 </a> 2911 2912 </slideshow-slide> 2913 2914 2915 2916 </div> 2917 </announcement-bar-component> 2918</aside> 2919 2920 2921 2922 2923</div><header id="shopify-section-sections--23030427418679__header_section" class="shopify-section shopify-section-group-header-group header-section"> 2924
2925<script type="application/ld+json"> 2926 { 2927 "@context": "http://schema.org", 2928 "@type": "Organization", 2929 "name": "dae", 2930 2931 "logo": "https:\/\/daehair.com\/cdn\/shop\/files\/logo.webp?v=1654236441\u0026width=500", 2932 2933 "url": "https:\/\/daehair.com" 2934 } 2935</script>
2935 2936 2937<header-component 2938 id="header-component" 2939 class="header" 2940 2941 2942 sticky="always" 2943 2944 data-skip-node-update 2945 data-scroll-direction="none" 2946> 2947 2948 2949 2950 2951 2952 2953 <div 2954 class="header__row header__row--top color-scheme-bc7428e2-c95e-45cc-8116-2123bddd454c section section--full-width-margin section--page-width" 2955 ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px;"> 2956 <div class="header__columns spacing-style"> 2957 <div 2958 class="header__column header__column--left" 2959 data-testid="header-top-left" 2960 > 2961 2962 2963 2964 2965 2966 2967 2968 <div 2969 class="header__drawer desktop:hidden" 2970 ref="headerDrawerContainer" 2971 2972 > 2973 2974
2975<script 2976 src="//daehair.com/cdn/shop/t/364/assets/header-drawer.js?v=160607022407653843031790696530" 2977 type="module" 2978 fetchpriority="low" 2979></script>
2979 2980 2981<header-drawer 2982 class="header-drawer header__drawer--mobile" 2983 style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;" 2984> 2985 <details 2986 id="Details-menu-drawer-container" 2987 data-skip-node-update="true" 2988 class="menu-drawer-container" 2989 ref="details" 2990 scroll-lock 2991 > 2992 <summary 2993 class="header__icon header__icon--menu header__icon--summary" 2994 aria-label="Menu" 2995 on:click="/toggle" 2996 > 2997 <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2998 <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2999 <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 3000</svg> 3001</span> 3002 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3003 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3004 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3005</svg> 3006</span> 3007 </summary> 3008 <div 3009 data-header-drawer 3010 class=" 3011 menu-drawer 3012 motion-reduce 3013 color-scheme-1 3014 " 3015 > 3016 <button 3017 class="button button-unstyled close-button menu-drawer__close-button" 3018 type="button" 3019 aria-label="Close" 3020 on:click="/close" 3021 > 3022 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3023 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3024 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3025</svg> 3026</span> 3027 </button> 3028 3029 <nav 3030 class="menu-drawer__navigation" 3031 style=" 3032 --menu-top-level-font-family: var(--font-accent--family) 3033 3034--menu-top-level-font-size-desktop: 0.875rem; 3035--menu-top-level-font-style: var(--font-accent--style); 3036--menu-top-level-font-weight: var(--font-accent--weight); 3037--menu-top-level-font-case: 3038 uppercase 3039; 3040 3041 --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height: 3042 var(--menu-font-2xl--line-height); 3043 3044--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 3045 3046--menu-parent-font-family: var(--font-accent--family); --menu-parent-font-style: 3047var(--font-accent--style); --menu-parent-font-weight: var(--font-accent--weight); --menu-parent-font-case: 3048uppercase; 3049 3050 --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: 3051 var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / 3052 var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); 3053 3054--menu-child-font-family: var(--font-accent--family); --menu-child-font-style: 3055var(--font-accent--style); --menu-child-font-weight: var(--font-accent--weight); --menu-child-font-case: 3056uppercase; 3057 3058 --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); 3059 --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / 3060 var(--opacity-subdued-text)); 3061 3062 3063 " 3064 > 3065 <ul 3066 class="menu-drawer__menu has-submenu" 3067 role="list" 3068 > 3069 3070 3071 <li 3072 class="menu-drawer__list-item" 3073 style="--menu-drawer-animation-index: 1;" 3074 ><details 3075 id="Details-menu-drawer-menu-item-1" 3076 class="menu-drawer__menu-container" 3077 > 3078 <summary 3079 id="HeaderDrawer-shop" 3080 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3081 on:click="header-drawer/open" 3082 >
3083 <span class="menu-drawer__menu-item-text wrap-text">Shop</span> 3084 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3085 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3086</svg> 3087</span> 3088 </summary> 3089 <div 3090 id="link-shop" 3091 class="menu-drawer__submenu has-submenu gradient motion-reduce" 3092 tabindex="-1" 3093 style="--menu-drawer-animation-index: 1;" 3094 > 3095 <div class="menu-drawer__inner-submenu"> 3096 <div class="menu-drawer__nav-buttons"> 3097 <button 3098 class="button menu-drawer__back-button focus-inset" 3099 aria-expanded="true" 3100 on:click="header-drawer/back" 3101 aria-label="Back" 3102 > 3103 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3104 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3105</svg> 3106</span> 3107 <span class="menu-drawer__menu-item-text wrap-text">Shop</span> 3108 </button> 3109 <button 3110 class="button close-button menu-drawer__close-button" 3111 type="button" 3112 aria-label="Close" 3113 on:click="header-drawer/close" 3114 > 3115 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3116 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3117 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3118</svg> 3119</span> 3120 </button> 3121 </div> 3122 3123 <ul 3124 class="menu-drawer__menu menu-drawer__menu--childlist" 3125 role="list" 3126 tabindex="-1" 3127 > 3128 <li 3129 class=" 3130 menu-drawer__list-item 3131 3132 " 3133 ><a 3134 id="HeaderDrawer-shop-shop-all" 3135 href="/pages/shop-all" 3136 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3137 3138 > 3139 3140 <span class="menu-drawer__menu-item-text wrap-text">SHOP ALL</span> 3141 </a></li><li 3142 class=" 3143 menu-drawer__list-item 3144 menu-drawer__list-item--flat 3145 " 3146 > 3147 3148<a 3149 id="HeaderDrawer-shop-shop-by-category" 3150 href="#" 3151 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3152 > 3153 <span class="menu-drawer__menu-item-text wrap-text">Shop By Category</span> 3154 </a> 3155 3156 <ul 3157 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3158 role="list" 3159 tabindex="-1" 3160 ><li 3161 class="menu-drawer__list-item" 3162 style="--menu-drawer-animation-index: 1;" 3163 > 3164 <a 3165 id="HeaderDrawer-shop-shop-by-category-styling" 3166 href="/collections/styling" 3167 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3168 3169 > 3170
3171 <span class="menu-drawer__menu-item-text wrap-text">Styling</span> 3172 </a> 3173 </li><li 3174 class="menu-drawer__list-item" 3175 style="--menu-drawer-animation-index: 2;" 3176 > 3177 <a 3178 id="HeaderDrawer-shop-shop-by-category-shampoos-conditioners" 3179 href="/collections/shampoos-conditioners" 3180 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3181 3182 > 3183 3184 <span class="menu-drawer__menu-item-text wrap-text">Shampoos + Conditioners</span> 3185 </a> 3186 </li><li 3187 class="menu-drawer__list-item" 3188 style="--menu-drawer-animation-index: 3;" 3189 > 3190 <a 3191 id="HeaderDrawer-shop-shop-by-category-treatments-masks" 3192 href="/collections/treatments-masks" 3193 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3194 3195 > 3196 3197 <span class="menu-drawer__menu-item-text wrap-text">Treatments + Masks</span> 3198 </a> 3199 </li><li 3200 class="menu-drawer__list-item" 3201 style="--menu-drawer-animation-index: 4;" 3202 > 3203 <a 3204 id="HeaderDrawer-shop-shop-by-category-brushes-tools" 3205 href="/collections/brushes-tools" 3206 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3207 3208 > 3209 3210 <span class="menu-drawer__menu-item-text wrap-text">Brushes + Tools</span> 3211 </a> 3212 </li><li 3213 class="menu-drawer__list-item" 3214 style="--menu-drawer-animation-index: 5;" 3215 > 3216 <a 3217 id="HeaderDrawer-shop-shop-by-category-scalp-care" 3218 href="/collections/scalp-care" 3219 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3220 3221 > 3222 3223 <span class="menu-drawer__menu-item-text wrap-text">Scalp Care</span> 3224 </a> 3225 </li><li 3226 class="menu-drawer__list-item" 3227 style="--menu-drawer-animation-index: 6;" 3228 > 3229 <a 3230 id="HeaderDrawer-shop-shop-by-category-kits-bundles" 3231 href="/collections/kits" 3232 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3233 3234 > 3235
3236 <span class="menu-drawer__menu-item-text wrap-text">Kits & Bundles</span> 3237 </a> 3238 </li><li 3239 class="menu-drawer__list-item" 3240 style="--menu-drawer-animation-index: 7;" 3241 > 3242 <a 3243 id="HeaderDrawer-shop-shop-by-category-mini-size" 3244 href="/collections/mini-size" 3245 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3246 3247 > 3248 3249 <span class="menu-drawer__menu-item-text wrap-text">Mini Size</span> 3250 </a> 3251 </li><li 3252 class="menu-drawer__list-item" 3253 style="--menu-drawer-animation-index: 8;" 3254 > 3255 <a 3256 id="HeaderDrawer-shop-shop-by-category-fragrance-body" 3257 href="/collections/fragrance-body" 3258 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3259 3260 > 3261 3262 <span class="menu-drawer__menu-item-text wrap-text">Fragrance + Body</span> 3263 </a> 3264 </li></ul></li><li 3265 class=" 3266 menu-drawer__list-item 3267 menu-drawer__list-item--flat 3268 " 3269 > 3270 3271<a 3272 id="HeaderDrawer-shop-shop-by-scent" 3273 href="#" 3274 class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset" 3275 > 3276 <span class="menu-drawer__menu-item-text wrap-text">Shop By Scent</span> 3277 </a> 3278 3279 <ul 3280 class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content" 3281 role="list" 3282 tabindex="-1" 3283 ><li 3284 class="menu-drawer__list-item" 3285 style="--menu-drawer-animation-index: 1;" 3286 > 3287 <a 3288 id="HeaderDrawer-shop-shop-by-scent-vanilla-dae-beam" 3289 href="/collections/vanilla-dae-beam" 3290 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3291 3292 > 3293 3294 <span class="menu-drawer__menu-item-text wrap-text">Vanilla Dae Beam</span> 3295 </a> 3296 </li><li 3297 class="menu-drawer__list-item" 3298 style="--menu-drawer-animation-index: 2;" 3299 > 3300 <a 3301 id="HeaderDrawer-shop-shop-by-scent-signature-citrus-scent" 3302 href="/collections/signature-citrus-scent" 3303 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3304 3305 > 3306
3307 <span class="menu-drawer__menu-item-text wrap-text">Signature Citrus Scent</span> 3308 </a> 3309 </li><li 3310 class="menu-drawer__list-item" 3311 style="--menu-drawer-animation-index: 3;" 3312 > 3313 <a 3314 id="HeaderDrawer-shop-shop-by-scent-prickly-pear-scent" 3315 href="/collections/prickly-pear-scent" 3316 class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset" 3317 3318 > 3319 3320 <span class="menu-drawer__menu-item-text wrap-text">Prickly Pear Scent</span> 3321 </a> 3322 </li></ul></li></ul> 3323 3324 3325 </div> 3326 </div> 3327 </details></li> 3328 <li 3329 class="menu-drawer__list-item" 3330 style="--menu-drawer-animation-index: 2;" 3331 ><a 3332 id="HeaderDrawer-online-exclusives" 3333 href="/collections/online-exclusives" 3334 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3335 3336 > 3337 <span class="menu-drawer__menu-item-text wrap-text">Online Exclusives</span> 3338 </a></li> 3339 <li 3340 class="menu-drawer__list-item" 3341 style="--menu-drawer-animation-index: 3;" 3342 ><a 3343 id="HeaderDrawer-build-your-own-bundle" 3344 href="https://daehair.com/pages/choose-your-bundle" 3345 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3346 3347 > 3348 <span class="menu-drawer__menu-item-text wrap-text">Build Your Own Bundle</span> 3349 </a></li> 3350<hr class="menu-horizon"> 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 <li 3361 style="--menu-drawer-animation-index: 4;" 3362 class="menu-drawer__list-item--flat" 3363 > 3364 3365<a 3366 id="HeaderDrawer-bottom-about-us" 3367 href="/pages/about" 3368 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3369 3370 > 3371 <span class="menu-drawer__menu-item-text wrap-text">About US</span> 3372 </a> 3373 3374 </li> 3375 3376 <li 3377 style="--menu-drawer-animation-index: 5;" 3378 class="menu-drawer__list-item--flat" 3379 > 3380 3381<a 3382 id="HeaderDrawer-bottom-subscribe-save" 3383 href="/pages/subscribe-save-1" 3384 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3385 3386 > 3387 <span class="menu-drawer__menu-item-text wrap-text">Subscribe + Save</span> 3388 </a> 3389 3390 </li> 3391 3392 <li 3393 style="--menu-drawer-animation-index: 6;" 3394 class="menu-drawer__list-item--flat" 3395 > 3396 3397<a 3398 id="HeaderDrawer-bottom-daedreamer-rewards" 3399 href="https://daehair.com/pages/rewards" 3400 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3401 3402 > 3403 <span class="menu-drawer__menu-item-text wrap-text">Daedreamer Rewards</span> 3404 </a> 3405 3406 </li> 3407 3408</ul> 3409 </nav> 3410 <hr class="menu-horizon bottom-horizon"><div class="menu-drawer__perks"> 3411 <div class="menu-drawer__perks-divider"></div> 3412 3413 <h3 class="menu-drawer__perks-title">Exclusive Perks</h3> 3414 3415 <div class="menu-drawer__perks-grid"> 3416 <a class="menu-drawer__perks-card" href="/pages/build-your-bundle">
3417 <span class="menu-drawer__perks-icon" aria-hidden="true"> 3418 <!-- simple icon --> 3419 <svg viewBox="0 0 24 24" fill="none"> 3420 <path d="M7 7h10M7 12h10M7 17h10" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 3421 </svg> 3422 </span> 3423 <span class="menu-drawer__perks-text">Build Your Bundle<br>& Save 10%</span> 3424 </a> 3425 3426 <a class="menu-drawer__perks-card" href="/pages/hair-quiz"> 3427 <span class="menu-drawer__perks-icon" aria-hidden="true"> 3428 <svg viewBox="0 0 24 24" fill="none"> 3429 <path d="M7 8h10M7 12h6M7 16h8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 3430 <path d="M17 6h3v3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 3431 </svg> 3432 </span> 3433 <span class="menu-drawer__perks-text">Personalized Hair<br>Quiz</span> 3434 </a> 3435 3436 <a class="menu-drawer__perks-card" href="/pages/rewards"> 3437 <span class="menu-drawer__perks-icon" aria-hidden="true"> 3438 <svg viewBox="0 0 24 24" fill="none"> 3439 <path d="M12 3l2.2 4.6L19 8.3l-3.5 3.4.8 4.8L12 14.9 7.7 16.5l.8-4.8L5 8.3l4.8-.7L12 3z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/> 3440 </svg> 3441 </span> 3442 <span class="menu-drawer__perks-text">Daedreamers<br>Rewards Club</span> 3443 </a> 3444 </div> 3445</div> 3446 3447 <div 3448 class="menu-drawer__utility-links menu-drawer__animated-element" 3449 style="--menu-drawer-animation-index: 3;" 3450 > 3451 3452 3453 <a class="menu-drawer__account" href="/account/login"> 3454 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg> 3455 3456 <span>Log in</span> 3457 </a> 3458 </div> 3459 3460 3461 </div> 3462 3463 <div 3464 class="menu-drawer__backdrop" 3465 on:click="header-drawer/close" 3466 ></div> 3467 3468 </details> 3469 3470</header-drawer> 3471 3472 3473 3474 </div> 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493<header-menu 3494 ref="headerMenu" 3495 class="header-menu mobile:hidden" 3496 data-animation-delay="200" 3497 data-mega-drawer-trigger-scope 3498 3499 style=" 3500 --submenu-animation-speed: 200ms; 3501 --menu-link-color: #be6a14; 3502 --menu-link-hover-color: #fb5273; 3503 " 3504 > 3505 <div class="header-menu__inner"> 3506 3507 3508 3509<nav header-menu> 3510 <div 3511 class="menu-list" 3512 style=" 3513 --menu-top-level-font-family: var(--font-accent--family) 3514 3515--menu-top-level-font-size-desktop: 0.875rem; 3516--menu-top-level-font-style: var(--font-accent--style); 3517--menu-top-level-font-weight: var(--font-accent--weight); 3518--menu-top-level-font-case: 3519 uppercase 3520; 3521 3522 --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: 3523 var(--menu-font-sm--line-height); 3524 3525--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 3526" 3527 > 3528 3529 <overflow-list 3530 3531 ref="overflowMenu" 3532 3533 3534 class="overflow-menu color-scheme-1 color-scheme-matches-parent" 3535 3536 3537 minimum-items="2" 3538 3539 3540 defer 3541 3542> 3543 <template shadowrootmode="open"> 3544 <link href="//daehair.com/cdn/shop/t/364/assets/overflow-list.css?v=168694168152117541881790696530" rel="stylesheet" type="text/css" media="all" /> 3545 3546 <ul part="list"> 3547 <slot></slot> 3548 <slot 3549 name="more" 3550 part="more" 3551 hidden 3552 3553 > 3554 <li 3555 part="more" 3556 > 3557 <button 3558 class="button" 3559 type="button" 3560 tabindex="0" 3561 > 3562 More 3563 </button> 3564 </li> 3565 </slot> 3566 <li 3567 part="placeholder" 3568 hidden 3569 ></li> 3570 </ul> 3571 3572 <div part="overflow"> 3573 <ul part="overflow-list"> 3574 <slot name="overflow"></slot> 3575 </ul> 3576 </div> 3577 </template> 3578 3579 3580 3581 <li 3582 role="presentation" 3583 class="menu-list__list-item" 3584 on:focus="/activate" 3585 on:blur="/deactivate"
3586 on:pointerenter="/activate" 3587 on:pointerleave="/deactivate" 3588 > 3589 <a 3590 href="/pages/shop-all" 3591 data-skip-node-update="true" 3592 class="menu-list__link"aria-controls="submenu-1" 3593 aria-haspopup="true" 3594 aria-expanded="false"ref="menuitem" 3595 > 3596 <span class="menu-list__link-title">Shop</span> 3597 </a><div class="menu-list__submenu color-scheme-1 color-scheme-matches-parent" ref="submenu[]"> 3598 <div 3599 id="submenu-1" 3600 class="menu-list__submenu-inner" 3601 style="--menu-parent-font-family: var(--font-accent--family); --menu-parent-font-style: 3602var(--font-accent--style); --menu-parent-font-weight: var(--font-accent--weight); --menu-parent-font-case: 3603uppercase; 3604 3605 --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: 3606 var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / 3607 var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); 3608 3609--menu-child-font-family: var(--font-accent--family); --menu-child-font-style: 3610var(--font-accent--style); --menu-child-font-weight: var(--font-accent--weight); --menu-child-font-case: 3611uppercase; 3612 3613 --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); 3614 --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / 3615 var(--opacity-subdued-text)); 3616 3617" 3618 > 3619 3620 <div class="mega-menu section section--full-width-margin section--page-width"> 3621 <div 3622 class="mega-menu__grid" 3623 data-menu-grid-id="MegaMenuList-1" 3624 > 3625 3626<ul 3627 data-menu-list-id="MegaMenuList-1" 3628 class="mega-menu__list list-unstyled" 3629 style="--menu-image-border-radius: 0px;" 3630> 3631 3632 <li class="mega-menu__column mega-menu__column--span-1"> 3633 <div> 3634 <a 3635 href="/pages/shop-all" 3636 class="mega-menu__link " 3637 > 3638 3639 <span 3640 class="mega-menu__link-title wrap-text" 3641 >SHOP ALL</span> 3642 </a> 3643 3644 </div> 3645 3646 </li> 3647 3648 <li class="mega-menu__column mega-menu__column--span-1"> 3649 <div> 3650 <a 3651 href="#" 3652 class="mega-menu__link mega-menu__link--parent" 3653 > 3654 3655 <span 3656 class="mega-menu__link-title wrap-text" 3657 >Shop By Category</span> 3658 </a> 3659 3660 <ul 3661 class="list-unstyled" 3662 3663 style="column-count: 1;" 3664 3665 > 3666 3667 3668 <li 3669 3670 > 3671 <a 3672 href="/collections/styling" 3673 class="mega-menu__link" 3674 > 3675 <span class="mega-menu__link-title wrap-text">Styling</span> 3676 </a> 3677 </li> 3678 3679 3680 <li 3681 3682 > 3683 <a 3684 href="/collections/shampoos-conditioners" 3685 class="mega-menu__link" 3686 > 3687 <span class="mega-menu__link-title wrap-text">Shampoos + Conditioners</span> 3688 </a> 3689 </li> 3690 3691 3692 <li 3693 3694 > 3695 <a 3696 href="/collections/treatments-masks" 3697 class="mega-menu__link" 3698 > 3699 <span class="mega-menu__link-title wrap-text">Treatments + Masks</span> 3700 </a> 3701 </li> 3702 3703 3704 <li 3705 3706 > 3707 <a 3708 href="/collections/brushes-tools" 3709 class="mega-menu__link" 3710 > 3711 <span class="mega-menu__link-title wrap-text">Brushes + Tools</span> 3712 </a> 3713 </li> 3714 3715 3716 <li 3717 3718 > 3719 <a 3720 href="/collections/scalp-care" 3721 class="mega-menu__link" 3722 > 3723 <span class="mega-menu__link-title wrap-text">Scalp Care</span> 3724 </a> 3725 </li> 3726 3727 3728 <li 3729 3730 > 3731 <a 3732 href="/collections/kits" 3733 class="mega-menu__link" 3734 >
3735 <span class="mega-menu__link-title wrap-text">Kits & Bundles</span> 3736 </a> 3737 </li> 3738 3739 3740 <li 3741 3742 > 3743 <a 3744 href="/collections/mini-size" 3745 class="mega-menu__link" 3746 > 3747 <span class="mega-menu__link-title wrap-text">Mini Size</span> 3748 </a> 3749 </li> 3750 3751 3752 <li 3753 3754 > 3755 <a 3756 href="/collections/fragrance-body" 3757 class="mega-menu__link" 3758 > 3759 <span class="mega-menu__link-title wrap-text">Fragrance + Body</span> 3760 </a> 3761 </li> 3762 3763 </ul> 3764 3765 </div> 3766 3767 </li> 3768 3769 <li class="mega-menu__column mega-menu__column--span-1"> 3770 <div> 3771 <a 3772 href="#" 3773 class="mega-menu__link mega-menu__link--parent" 3774 > 3775 3776 <span 3777 class="mega-menu__link-title wrap-text" 3778 >Shop By Scent</span> 3779 </a> 3780 3781 <ul 3782 class="list-unstyled" 3783 3784 style="column-count: 1;" 3785 3786 > 3787 3788 3789 <li 3790 3791 > 3792 <a 3793 href="/collections/vanilla-dae-beam" 3794 class="mega-menu__link" 3795 > 3796 <span class="mega-menu__link-title wrap-text">Vanilla Dae Beam</span> 3797 </a> 3798 </li> 3799 3800 3801 <li 3802 3803 > 3804 <a 3805 href="/collections/signature-citrus-scent" 3806 class="mega-menu__link" 3807 > 3808 <span class="mega-menu__link-title wrap-text">Signature Citrus Scent</span> 3809 </a> 3810 </li> 3811 3812 3813 <li 3814 3815 > 3816 <a 3817 href="/collections/prickly-pear-scent" 3818 class="mega-menu__link" 3819 > 3820 <span class="mega-menu__link-title wrap-text">Prickly Pear Scent</span> 3821 </a> 3822 </li> 3823 3824 </ul> 3825 3826 </div> 3827 3828 </li> 3829 3830</ul> 3831 3832 3833 3834<style data-shopify> 3835 [data-menu-grid-id="MegaMenuList-1"] { 3836 3837 --menu-columns-desktop: 6; 3838 --menu-columns-tablet: 4; 3839 3840 } 3841 3842 [data-menu-list-id="MegaMenuList-1"] { 3843 3844 --menu-columns-desktop: 6; 3845 --menu-columns-tablet: 4; 3846 3847 } 3848</style> 3849 3850 3851 3852 </div> 3853</div> 3854 3855 </div> 3856 </div></li> 3857 3858 <li 3859 role="presentation" 3860 class="menu-list__list-item" 3861 on:focus="/activate" 3862 on:blur="/deactivate" 3863 on:pointerenter="/activate" 3864 on:pointerleave="/deactivate" 3865 > 3866 <a 3867 href="/collections/online-exclusives" 3868 data-skip-node-update="true" 3869 class="menu-list__link"ref="menuitem" 3870 > 3871 <span class="menu-list__link-title">Online Exclusives</span> 3872 </a></li> 3873 3874 <li 3875 role="presentation" 3876 class="menu-list__list-item" 3877 on:focus="/activate" 3878 on:blur="/deactivate" 3879 on:pointerenter="/activate" 3880 on:pointerleave="/deactivate" 3881 > 3882 <a 3883 href="https://daehair.com/pages/choose-your-bundle" 3884 data-skip-node-update="true" 3885 class="menu-list__link"ref="menuitem" 3886 > 3887 <span class="menu-list__link-title">Build Your Own Bundle</span> 3888 </a></li> 3889 3890 <li 3891 class="menu-list__list-item" 3892 role="presentation" 3893 slot="more" 3894 on:focus="/activate" 3895 on:blur="/deactivate" 3896 on:pointerenter="/activate" 3897 on:pointerleave="/deactivate" 3898 > 3899 <button role="menuitem" class="button menu-list__link button-unstyled"> 3900 <span class="menu-list__link-title">More</span> 3901 </button> 3902 </li> 3903 3904</overflow-list> 3905 3906 </div> 3907</nav> 3908 3909 3910 3911 </div> 3912 3913
3913<script 3914 src="//daehair.com/cdn/shop/t/364/assets/header-menu.js?v=139817731358134509621790696530" 3915 type="module" 3916 fetchpriority="low" 3917 ></script>
3917 3918 </header-menu><div 3919 class="mega-drawer" 3920 data-mega-drawer 3921 aria-hidden="true" 3922 tabindex="-1" 3923 > 3924 <button class="mega-drawer__close" type="button" aria-label="Close menu"> 3925 <span aria-hidden="true">â</span> 3926 </button> 3927 3928 <div class="mega-drawer__inner"> 3929 <nav class="mega-drawer__nav" aria-label="Site menu"> 3930 <ul class="mega-drawer__sections list-unstyled" role="list"> 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 <li class="mega-drawer__section" id="MegaDrawer-shop"> 3941 <a 3942 class="mega-drawer__section-title" 3943 href="/pages/shop-all" 3944 3945 data-mega-drawer-parent="shop" 3946 3947 > 3948 Shop 3949 </a> 3950 3951 3952 <ul class="mega-drawer__links list-unstyled" role="list"> 3953 3954 3955 3956 3957 3958 3959 3960 <li class="mega-drawer__link-item"> 3961 <a class="mega-drawer__link" href="/pages/shop-all"> 3962 SHOP ALL 3963 </a> 3964 3965 3966 </li> 3967 3968 3969 3970 3971 3972 3973 3974 <li class="mega-drawer__link-item"> 3975 <a class="mega-drawer__link" href="#"> 3976 Shop By Category 3977 </a> 3978 3979 3980 <ul class="mega-drawer__sub-links list-unstyled" role="list"> 3981 3982 3983 3984 3985 <li class="mega-drawer__sub-link-item"> 3986 <a class="mega-drawer__sub-link" href="/collections/styling"> 3987 Styling 3988 </a> 3989 </li> 3990 3991 3992 3993 3994 <li class="mega-drawer__sub-link-item"> 3995 <a class="mega-drawer__sub-link" href="/collections/shampoos-conditioners"> 3996 Shampoos + Conditioners 3997 </a> 3998 </li> 3999 4000 4001 4002 4003 <li class="mega-drawer__sub-link-item"> 4004 <a class="mega-drawer__sub-link" href="/collections/treatments-masks"> 4005 Treatments + Masks 4006 </a> 4007 </li> 4008 4009 4010 4011 4012 <li class="mega-drawer__sub-link-item"> 4013 <a class="mega-drawer__sub-link" href="/collections/brushes-tools"> 4014 Brushes + Tools 4015 </a> 4016 </li> 4017 4018 4019 4020 4021 <li class="mega-drawer__sub-link-item"> 4022 <a class="mega-drawer__sub-link" href="/collections/scalp-care"> 4023 Scalp Care 4024 </a> 4025 </li> 4026 4027 4028 4029 4030 <li class="mega-drawer__sub-link-item"> 4031 <a class="mega-drawer__sub-link" href="/collections/kits"> 4032 Kits & Bundles 4033 </a> 4034 </li> 4035 4036 4037 4038 4039 <li class="mega-drawer__sub-link-item"> 4040 <a class="mega-drawer__sub-link" href="/collections/mini-size"> 4041 Mini Size 4042 </a> 4043 </li> 4044 4045 4046 4047 4048 <li class="mega-drawer__sub-link-item"> 4049 <a class="mega-drawer__sub-link" href="/collections/fragrance-body"> 4050 Fragrance + Body 4051 </a> 4052 </li> 4053 4054 </ul> 4055 4056 </li> 4057 4058 4059 4060 4061 4062 4063 4064 <li class="mega-drawer__link-item"> 4065 <a class="mega-drawer__link" href="#"> 4066 Shop By Scent 4067 </a> 4068 4069 4070 <ul class="mega-drawer__sub-links list-unstyled" role="list"> 4071 4072 4073 4074 4075 <li class="mega-drawer__sub-link-item"> 4076 <a class="mega-drawer__sub-link" href="/collections/vanilla-dae-beam"> 4077 Vanilla Dae Beam 4078 </a> 4079 </li> 4080 4081 4082 4083 4084 <li class="mega-drawer__sub-link-item"> 4085 <a class="mega-drawer__sub-link" href="/collections/signature-citrus-scent">
4086 Signature Citrus Scent 4087 </a> 4088 </li> 4089 4090 4091 4092 4093 <li class="mega-drawer__sub-link-item"> 4094 <a class="mega-drawer__sub-link" href="/collections/prickly-pear-scent"> 4095 Prickly Pear Scent 4096 </a> 4097 </li> 4098 4099 </ul> 4100 4101 </li> 4102 4103 </ul> 4104 4105 </li> 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 <li class="mega-drawer__section" id="MegaDrawer-online-exclusives"> 4116 <a 4117 class="mega-drawer__section-title" 4118 href="/collections/online-exclusives" 4119 4120 > 4121 Online Exclusives 4122 </a> 4123 4124 4125 </li> 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 <li class="mega-drawer__section" id="MegaDrawer-build-your-own-bundle"> 4136 <a 4137 class="mega-drawer__section-title" 4138 href="https://daehair.com/pages/choose-your-bundle" 4139 4140 > 4141 Build Your Own Bundle 4142 </a> 4143 4144 4145 </li> 4146 4147 </ul> 4148 </nav> 4149 </div> 4150 </div> 4151 4152
4152<script> 4153 (function () { 4154 var drawer = document.querySelector('[data-mega-drawer]'); 4155 var closeBtn = drawer ? drawer.querySelector('.mega-drawer__close') : null; 4156 var triggerScope = document.querySelector('[data-mega-drawer-trigger-scope]'); 4157 if (!drawer || !triggerScope) return; 4158 4159 function openDrawer() { 4160 drawer.classList.add('is-open'); 4161 drawer.setAttribute('aria-hidden', 'false'); 4162 document.documentElement.classList.add('mega-drawer-open'); 4163 document.body.classList.add('mega-drawer-open'); 4164 try { drawer.focus(); } catch (e) {} 4165 } 4166 4167 function closeDrawer() { 4168 drawer.classList.remove('is-open'); 4169 drawer.setAttribute('aria-hidden', 'true'); 4170 document.documentElement.classList.remove('mega-drawer-open'); 4171 document.body.classList.remove('mega-drawer-open'); 4172 } 4173 4174 // Click top-level links on the HEADER menu to open drawer (instead of hover dropdown) 4175 // Only intercept items that have a submenu (aria-expanded or submenu sibling). 4176 triggerScope.addEventListener('click', function (e) { 4177 var link = e.target && e.target.closest ? e.target.closest('.menu-list__link') : null; 4178 if (!link) return; 4179 4180 // Determine if this top-level item has a submenu (theme markup pattern) 4181 var hasSubmenu = false; 4182 var next = link.nextElementSibling; 4183 if (next && next.classList && next.classList.contains('menu-list__submenu')) { 4184 hasSubmenu = true; 4185 } 4186 if (link.getAttribute('aria-expanded') !== null) { 4187 hasSubmenu = true; 4188 } 4189 4190 if (!hasSubmenu) return; 4191 4192 e.preventDefault(); 4193 openDrawer(); 4194 4195 // Scroll drawer to matching section by handle (we rely on id="MenuItem-<handle>") 4196 var id = link.id || ''; 4197 var handle = id.replace('MenuItem-', ''); 4198 if (handle) { 4199 var target = drawer.querySelector('#MegaDrawer-' + CSS.escape(handle)); 4200 if (target) { 4201 try { target.scrollIntoView({ block: 'start' }); } catch (err) {} 4202 } 4203 } 4204 }); 4205 4206 if (closeBtn) { 4207 closeBtn.addEventListener('click', closeDrawer); 4208 } 4209 4210 document.addEventListener('keydown', function (e) { 4211 if (e.key === 'Escape' && drawer.classList.contains('is-open')) { 4212 closeDrawer(); 4213 } 4214 }); 4215 4216 drawer.addEventListener('click', function (e) { 4217 if (e.target === drawer) closeDrawer(); 4218 }); 4219 })(); 4220 </script>
4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 <search-button class="search-action desktop:hidden"> 4236 <button 4237 on:click="#search-modal/showDialog" 4238 class="button button-unstyled search-modal__button header-actions__action" 4239 aria-label="Search" 4240 aria-haspopup="dialog" 4241 > 4242 <span 4243 aria-hidden="true" 4244 class="svg-wrapper" 4245 > 4246 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 4247 4248 </span> 4249 </button> 4250 </search-button> 4251 4252 4253 4254 4255 4256 4257 4258 4259 </div><div 4260 class="header__column header__column--center" 4261 data-testid="header-top-center" 4262 > 4263 4264 4265 4266 4267 4268 4269 4270 4271<a 4272 4273 href="/" 4274 class="size-style spacing-style header-logo" 4275 style=" 4276 --size-style-width: ;--size-style-height: ; 4277 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 4278 --font-family: var(--font-body--family); 4279 --font-style: var(--font-body--style); 4280 --font-weight: 600; 4281 " 4282 4283> 4284 4285 4286 <span 4287 class="header-logo__image-container header-logo__image-container--original" 4288 data-testid="header-logo" 4289 > 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 <img src="//daehair.com/cdn/shop/files/logo.webp?height=36&v=1654236441" alt="" width="77" height="36" class="header-logo__image" srcset="//daehair.com/cdn/shop/files/logo.webp?height=36&v=1654236441 1x, //daehair.com/cdn/shop/files/logo.webp?height=72&v=1654236441 2x, //daehair.com/cdn/shop/files/logo.webp?height=108&v=1654236441 3x" style="--header-logo-image-width: 77px;--header-logo-image-width-mobile: 60px; --header-logo-image-height: 36px; --header-logo-image-height-mobile: 28px;"> 4302 4303 4304 </span> 4305 4306 4307</a> 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 </div><div 4318 class="header__column header__column--right" 4319 data-testid="header-top-right" 4320 > 4321 4322 4323 4324 4325 4326 4327 <header-menu 4328 ref="headerMenu" 4329 class="header-menu mobile:hidden" 4330 data-animation-delay="200" 4331 4332 style=" 4333 --submenu-animation-speed: 200ms; 4334 --menu-link-color: #be6a14; 4335 --menu-link-hover-color: #fb5273; 4336 " 4337 > 4338 <div class="header-menu__inner"> 4339 4340 4341 4342<nav header-menu> 4343 <div 4344 class="menu-list" 4345 style=" 4346 --menu-top-level-font-family: var(--font-accent--family) 4347 4348--menu-top-level-font-size-desktop: 0.875rem; 4349--menu-top-level-font-style: var(--font-accent--style); 4350--menu-top-level-font-weight: var(--font-accent--weight); 4351--menu-top-level-font-case: 4352 uppercase 4353; 4354 4355 --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: 4356 var(--menu-font-sm--line-height); 4357 4358--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 4359" 4360 > 4361 4362 <overflow-list 4363 4364 ref="overflowMenu" 4365 4366 4367 class="overflow-menu color-scheme-1 color-scheme-matches-parent" 4368 4369 4370 minimum-items="2" 4371 4372 4373 defer 4374 4375> 4376 <template shadowrootmode="open"> 4377 <link href="//daehair.com/cdn/shop/t/364/assets/overflow-list.css?v=168694168152117541881790696530" rel="stylesheet" type="text/css" media="all" /> 4378 4379 <ul part="list"> 4380 <slot></slot> 4381 <slot 4382 name="more" 4383 part="more" 4384 hidden 4385 4386 > 4387 <li 4388 part="more" 4389 > 4390 <button 4391 class="button" 4392 type="button" 4393 tabindex="0" 4394 > 4395 More 4396 </button> 4397 </li> 4398 </slot> 4399 <li 4400 part="placeholder" 4401 hidden 4402 ></li> 4403 </ul> 4404 4405 <div part="overflow"> 4406 <ul part="overflow-list"> 4407 <slot name="overflow"></slot> 4408 </ul> 4409 </div> 4410 </template> 4411 4412 4413 4414 <li 4415 role="presentation" 4416 class="menu-list__list-item" 4417 on:focus="/activate" 4418 on:blur="/deactivate"
4419 on:pointerenter="/activate" 4420 on:pointerleave="/deactivate" 4421 > 4422 <a 4423 href="/pages/about" 4424 data-skip-node-update="true" 4425 class="menu-list__link"ref="menuitem" 4426 > 4427 <span class="menu-list__link-title">About US</span> 4428 </a></li> 4429 4430 <li 4431 role="presentation" 4432 class="menu-list__list-item" 4433 on:focus="/activate" 4434 on:blur="/deactivate" 4435 on:pointerenter="/activate" 4436 on:pointerleave="/deactivate" 4437 > 4438 <a 4439 href="/pages/subscribe-save-1" 4440 data-skip-node-update="true" 4441 class="menu-list__link"ref="menuitem" 4442 > 4443 <span class="menu-list__link-title">Subscribe + Save</span> 4444 </a></li> 4445 4446 <li 4447 role="presentation" 4448 class="menu-list__list-item" 4449 on:focus="/activate" 4450 on:blur="/deactivate" 4451 on:pointerenter="/activate" 4452 on:pointerleave="/deactivate" 4453 > 4454 <a 4455 href="https://daehair.com/pages/rewards" 4456 data-skip-node-update="true" 4457 class="menu-list__link"ref="menuitem" 4458 > 4459 <span class="menu-list__link-title">Daedreamer Rewards</span> 4460 </a></li> 4461 4462 <li 4463 class="menu-list__list-item" 4464 role="presentation" 4465 slot="more" 4466 on:focus="/activate" 4467 on:blur="/deactivate" 4468 on:pointerenter="/activate" 4469 on:pointerleave="/deactivate" 4470 > 4471 <button role="menuitem" class="button menu-list__link button-unstyled"> 4472 <span class="menu-list__link-title">More</span> 4473 </button> 4474 </li> 4475 4476</overflow-list> 4477 4478 </div> 4479</nav> 4480 4481 4482 4483 </div> 4484 4485
4485<script 4486 src="//daehair.com/cdn/shop/t/364/assets/header-menu.js?v=139817731358134509621790696530" 4487 type="module" 4488 fetchpriority="low" 4489 ></script>
4489 4490 </header-menu> 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 <search-button class="search-action"> 4511 <button 4512 on:click="#search-modal/showDialog" 4513 class="button button-unstyled search-modal__button header-actions__action" 4514 aria-label="Search" 4515 aria-haspopup="dialog" 4516 > 4517 <span 4518 aria-hidden="true" 4519 class="svg-wrapper" 4520 > 4521 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 4522 4523 </span> 4524 </button> 4525 </search-button> 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536
4536<script 4537 type="module" 4538 src="//daehair.com/cdn/shop/t/364/assets/cart-icon.js?v=110811840255404869801790696530" 4539 fetchpriority="low" 4540></script>
4540 4541 4542<header-actions> 4543 4544 4545 4546 <a 4547 href="/cart" 4548 id="cart-icon" 4549 class="header-actions__action action__cart" 4550 aria-label="Cart" 4551 aria-describedby="cart-bubble-text" 4552 > 4553 <cart-icon 4554 id="cart-icon" 4555 class=" 4556 header-actions__cart-icon 4557 4558 " 4559 data-testid="cart-icon" 4560> 4561 <span 4562 class="svg-wrapper" 4563 aria-hidden="true" 4564 > 4565 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg> 4566 4567 </span> 4568 4569 <div 4570 ref="cartBubble" 4571 class="cart-bubble visually-hidden" 4572 4573 4574 data-maintain-ratio 4575 4576> 4577 <span class="cart-bubble__background"></span> 4578 <span 4579 ref="cartBubbleText" 4580 id="cart-bubble-text" 4581 class="cart-bubble__text" 4582 4583 role="status" 4584 4585 > 4586 <span class="visually-hidden">Total items in cart: 0 4587 </span> 4588 <span 4589 class="cart-bubble__text-count" 4590 ref="cartBubbleCount" 4591 aria-hidden="true" 4592 data-testid="cart-bubble" 4593 > 45940</span> 4595 </span> 4596</div> 4597 4598</cart-icon> 4599 4600 4601 4602 </a> 4603 4604</header-actions> 4605 4606<style data-shopify> 4607 #shopify-section-sections--23030427418679__header_section .cart-bubble__background { 4608 background-color: #fb5373; 4609 } 4610</style> 4611 4612 4613
4614<script> 4615 document.addEventListener("DOMContentLoaded", function() { 4616 const cartIcon = document.querySelector('#cart-icon'); 4617 4618 if (cartIcon) { 4619 cartIcon.addEventListener('click', function(e) { 4620 e.preventDefault(); 4621 if (window.Rebuy && Rebuy.SmartCart) { 4622 Rebuy.SmartCart.show(); 4623 } 4624 }); 4625 } 4626 }); 4627 4628</script>
4628 4629 4630 4631 4632 4633 </div> 4634 </div> 4635 </div> 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647</header-component> 4648
4649<script 4650 src="//daehair.com/cdn/shop/t/364/assets/header.js?v=78043468934677320351790696530" 4651 type="module" 4652></script>
4652 4653 4654 4655 4656 4657
4657<script type="module"> 4658 import { hydrate } from '@theme/section-hydration'; 4659 const url = new URL(window.location.href); 4660 url.searchParams.delete('page'); 4661 hydrate('sections--23030427418679__header_section', url); 4662 </script>
4662 4663 4664 4665 4666 4667</header> 4668<!-- END sections: header-group --> 4669</div> 4670 4671<main id="MainContent" class="content-for-layout"> 4672 <div id="shopify-section-template--23030433120311__cart-section" class="shopify-section"> 4673 4674<cart-items-component 4675 class="cart-items-component" 4676 data-section-id="template--23030433120311__cart-section" 4677> 4678 <div class="section-background color-scheme-1"></div> 4679 <div 4680 class="section color-scheme-1 section--page-width" 4681 > 4682 <div 4683 class="cart-page spacing-style cart-page--empty" 4684 style="--padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: 0px;" 4685 > 4686 <div class="cart-page__title"> 4687 4688 4689 4690<div 4691 class="cart-title spacing-style text-left" 4692 style="--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 4693 4694> 4695 <h1 class="h4">Your cart is empty 4696</h1> 4697</div> 4698 4699 4700 4701 4702 4703 </div> 4704 4705 <div class="cart-page__items"> 4706 4707 4708
4709<script 4710 src="//daehair.com/cdn/shop/t/364/assets/component-cart-items.js?v=95720873921622680421790696530" 4711 type="module" 4712 fetchpriority="low" 4713></script>
4713 4714 4715<div 4716 4717 class="cart-items__wrapper" 4718 4719> 4720 4721<a 4722 class="button cart-items__empty-button" 4723 href="/collections/all" 4724 > 4725 Continue shopping 4726 </a></div> 4727 4728 4729 4730 4731 4732 4733 4734 4735 </div><div class="cart-page__more-blocks"></div> 4736 </div> 4737 </div> 4738</cart-items-component> 4739 4740 4741 4742 4743</div><div id="shopify-section-template--23030433120311__product_list_NNFgcy" class="shopify-section ui-test-product-list"> 4744 4745<div class="section-background color-scheme-1"></div> 4746<div 4747 class=" 4748 section 4749 section--page-width 4750 color-scheme-1 4751 section-resource-list 4752 spacing-style 4753 gap-style 4754 " 4755 style=" 4756 --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); 4757 --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 4758 " 4759> 4760 <div class="section-resource-list__header"> 4761<div 4762 class=" 4763 group-block 4764 group-block--height-fit 4765 group-block--width-fill 4766 border-style 4767 spacing-style 4768 size-style 4769 4770 4771 " 4772 style=" 4773 --border-width: 1px; --border-style: none; --border-color: 4774rgb(var(--color-border-rgb) / 1.0); --border-radius: 47750px; 4776 4777 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 4778 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 4779 4780 " 4781 4782 data-testid="group-block" 4783><div class="group-block__media-wrapper"> 4784 4785 4786 4787 </div> 4788 4789 <div 4790 class=" 4791 group-block-content 4792 4793 layout-panel-flex 4794 layout-panel-flex--row 4795 4796 " 4797 style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 4798 4799--gap: 12px; 4800 4801--horizontal-alignment: space-between; --vertical-alignment: last baseline; 4802--vertical-alignment-mobile: last baseline; 4803" 4804 > 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 <div 4816 class=" spacing-style text-block text-block--ATWpjZ216OS9aR0F2e__product_list_text_fifeh4 h4 4817 4818 " 4819 4820 style=" 4821 --padding-block-start: 0px; --padding-block-end:0px; 4822--padding-inline-start:0px; --padding-inline-end:0px; 4823 4824 4825--color: var(--color-foreground); 4826 --width: fit-content; 4827 --max-width: var(--max-width--body-normal); 4828 4829 4830 4831 " 4832 4833 4834> 4835 <h3>You may also like</h3> 4836 </div> 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851<a 4852 4853 href="/collections/all" 4854 4855 class=" 4856 size-style 4857 link 4858 link--AWU5XNUlGTXF5cGpGT__product_list_button_eibbma 4859 " 4860 style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;" 4861> 4862 View all 4863</a> 4864 4865 4866 4867 4868 4869 4870</div> 4871</div> 4872 4873 4874 4875</div> 4876 4877 4878 4879 4880 4881 4882 4883<div 4884 class=" 4885 resource-list 4886 4887 4888 resource-list--grid 4889 " 4890 style="--resource-list-column-gap-desktop: 8px;--resource-list-row-gap-desktop: 24px;--resource-list-columns: repeat(4, 1fr);--resource-list-columns-mobile: repeat(2, 1fr);--column-count-mobile: 2;" 4891 4892 data-testid="resource-list-grid" 4893 4894> 4895 4896 4897 4898 4899 4900 <div 4901 class="resource-list__item" 4902 > 4903 4904 4905 4906 4907 4908 4909 4910<style data-shopify> 4911 4912</style> 4913 4914 4915<product-card-link 4916 data-product-id="6911354634295" 4917 data-featured-media-url="//daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=500" 4918 data-product-transition="true" 4919 4920 ><product-card 4921 class="product-card" 4922 data-product-id="6911354634295" 4923 data-product-variants-size="1" 4924 id="product-card-ASTNBeHRpTytoSTBZW__static-product-card" 4925 data-product-transition="true" 4926 4927 4928 4929> 4930 <a 4931 id="8a885b3c8c4c5572c8ce756c6f421cd0" 4932 4933 href="/products/slick-back-duo?variant=40495197093943" 4934 4935 class="product-card__link" 4936 ref="productCardLink" 4937 > 4938 <span class="visually-hidden"> 4939 3-in-1 Slick Back Styling Duo 4940 4941 4942 </span> 4943 </a> 4944 4945 4946 <div 4947 class=" 4948 product-card__content 4949 layout-panel-flex 4950 layout-panel-flex--column 4951 product-grid__card 4952 spacing-style 4953 border-style 4954 gap-style 4955 4956 " 4957 style=" 4958 --border-width: 1px; --border-style: none; --border-color: 4959rgb(var(--color-border-rgb) / 1.0); --border-radius: 49600px; 4961 4962 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 4963 4964 4965 4966--horizontal-alignment: ; --vertical-alignment: ; 4967--vertical-alignment-mobile: ; 4968 4969 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 4970 --product-card-gap: 4px; 4971 --quick-add-display: none; 4972 --quick-add-mobile-display: none; 4973 4974 4975 4976 4977 " 4978 > 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988<div 4989 ref="cardGallery" 4990 class="card-gallery card-gallery-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq spacing-style border-style" 4991 style=" 4992 --border-width: 1px; --border-style: none; --border-color: 4993rgb(var(--color-border-rgb) / 1.0); --border-radius: 49940px; 4995 4996 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 4997 --gallery-aspect-ratio: 1.0; 4998 " 4999 data-product-id="6911354634295" 5000
5001 on:pointerenter="/previewImage" 5002 on:pointerleave="/resetImage" 5003 5004 5005 data-view-transition-to-main-product 5006 5007 data-image-ratio="adapt" 5008 5009> 5010 <a 5011 class="contents" 5012 ref="cardGalleryLink" 5013 href=" 5014/products/slick-back-duo?variant=40495197093943" 5015 aria-label="3-in-1 Slick Back Styling Duo" 5016 > 5017 5018 5019 5020<slideshow-component 5021 5022 ref="slideshow" 5023 5024 5025 style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7;" 5026 5027 initial-slide="0" 5028 5029 5030 infinite 5031 5032 5033 data-generic-media-size="7" 5034> 5035 5036 <slideshow-container ref="slideshowContainer"> 5037 5038 <slideshow-arrows 5039 position="center" 5040 5041><button 5042 class=" 5043 slideshow-control slideshow-control--previous 5044 5045 5046 slideshow-control--style-arrow 5047 button button-unstyled button-unstyled--transparent 5048 flip-x 5049 " 5050 5051 aria-label="Previous slide" 5052 5053 on:click="/previous" 5054 ref="previous" 5055> 5056 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 5057</span> 5058</button> 5059<button 5060 class=" 5061 slideshow-control slideshow-control--next 5062 5063 5064 slideshow-control--style-arrow 5065 button button-unstyled button-unstyled--transparent 5066 5067 " 5068 5069 aria-label="Next slide" 5070 5071 on:click="/next" 5072 ref="next" 5073> 5074 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 5075</span> 5076</button> 5077</slideshow-arrows> 5078 5079 5080 5081 <slideshow-slides 5082 tabindex="-1" 5083 ref="scroller" 5084 5085 5086 > 5087 <slideshow-slide 5088 ref="slides[]" 5089 aria-hidden="true" 5090 style="view-timeline-name: --slide-1; --product-media-fit: cover;" 5091 5092 class="product-media-container media-fit product-media-container--image" 5093 5094 5095 5096 5097 slide-id="25795044540471" 5098 5099 5100 5101> 5102 5103 5104<div 5105 class="product-media" 5106 style="--ratio: 1.0" 5107 data-media-id="25795044540471" 5108> 5109 5110 <img src="//daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=3840" alt="3-in-1 Slick Back Styling Duo" srcset="//daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=240 240w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=352 352w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=832 832w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=1200 1200w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=1600 1600w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=1920 1920w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=2560 2560w, //daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/3-in-1Bundle_116-retouch_1200x1200_4f94f801-4e58-4a08-8b0d-2ec4cb6af9fc.jpg?v=1759169204&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5111 5112 5113</div> 5114 5115 5116 5117</slideshow-slide> 5118<slideshow-slide 5119 ref="slides[]" 5120 aria-hidden="true" 5121 style="view-timeline-name: --slide-2; --product-media-fit: cover;" 5122 5123 class="product-media-container media-fit product-media-container--image" 5124 5125 5126 5127 5128 slide-id="25795044573239" 5129 5130 5131 5132> 5133 5134 5135<div 5136 class="product-media" 5137 style="--ratio: 1.0" 5138 data-media-id="25795044573239" 5139> 5140 5141 <img src="//daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=3840" alt="3-in-1 Slick Back Styling Duo" srcset="//daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=240 240w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=352 352w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=832 832w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=1200 1200w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=1600 1600w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=1920 1920w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=2560 2560w, //daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/CZ0A2588_1200x1200_638d6e88-834a-4721-8f21-2d6659b768a0.jpg?v=1759169204&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5142 5143 5144</div> 5145 5146 5147 5148</slideshow-slide> 5149<slideshow-slide 5150 ref="slides[]" 5151 aria-hidden="true" 5152 style="view-timeline-name: --slide-3; --product-media-fit: cover;" 5153 5154 class="product-media-container media-fit product-media-container--image" 5155 5156 5157 5158 5159 slide-id="25795044704311" 5160 5161 5162 5163> 5164 5165 5166<div 5167 class="product-media" 5168 style="--ratio: 1.0" 5169 data-media-id="25795044704311" 5170> 5171 5172 <img src="//daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=3840" alt="3-in-1 Slick Back Styling Duo" srcset="//daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=240 240w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=352 352w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=832 832w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=1200 1200w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=1600 1600w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=1920 1920w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=2560 2560w, //daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/Slick-Duo_Desktop_1200x1200_c7ca8169-21ba-47b0-921f-b0e69102ecba.jpg?v=1759169227&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5173 5174 5175</div> 5176 5177 5178 5179</slideshow-slide> 5180<slideshow-slide 5181 ref="slides[]" 5182 aria-hidden="true" 5183 style="view-timeline-name: --slide-4; --product-media-fit: cover;" 5184 5185 class="product-media-container media-fit product-media-container--image" 5186 5187 5188 5189 5190 slide-id="25795044606007" 5191
5192 5193 5194> 5195 5196 5197<div 5198 class="product-media" 5199 style="--ratio: 1.0" 5200 data-media-id="25795044606007" 5201> 5202 5203 <img src="//daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=3840" alt="3-in-1 Slick Back Styling Duo" srcset="//daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=240 240w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=352 352w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=832 832w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=1200 1200w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=1600 1600w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=1920 1920w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=2560 2560w, //daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/dae_dual-edge-brush_1200x1200_901f0401-b188-4d64-b7ab-d09749cc497e.jpg?v=1759169227&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5204 5205 5206</div> 5207 5208 5209 5210</slideshow-slide> 5211<slideshow-slide 5212 ref="slides[]" 5213 aria-hidden="true" 5214 style="view-timeline-name: --slide-5; --product-media-fit: cover;" 5215 5216 class="product-media-container media-fit product-media-container--image" 5217 5218 5219 5220 5221 slide-id="25795044638775" 5222 5223 5224 5225> 5226 5227 5228<div 5229 class="product-media" 5230 style="--ratio: 1.0" 5231 data-media-id="25795044638775" 5232> 5233 5234 <img src="//daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=3840" alt="3-in-1 Slick Back Styling Duo" srcset="//daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=240 240w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=352 352w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=832 832w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=1200 1200w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=1600 1600w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=1920 1920w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=2560 2560w, //daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/newslickbackpack_1200x1200_18298b35-df7f-4ff1-a524-0506812a54d9.jpg?v=1759169227&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5235 5236 5237</div> 5238 5239 5240 5241</slideshow-slide> 5242 5243 </slideshow-slides> 5244 </slideshow-container> 5245 5246</slideshow-component> 5247 5248 </a> 5249 5250 5251 <div 5252 class="product-badges product-badges--top-left" 5253 style=" 5254 --badge-border-radius: 100px; 5255 --badge-font-family: var(--font-body--family); 5256 --badge-font-weight: var(--font-body--weight); 5257 --badge-text-transform: none; 5258 " 5259> 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273</div> 5274 5275 5276 5277 5278 5279 5280<quick-add-component 5281 class="quick-add color-scheme-1 " 5282 ref="quickAdd" 5283 data-product-title="3-in-1 Slick Back Styling Duo" 5284> 5285 <product-form-component 5286 data-section-id="template--23030433120311__product_list_NNFgcy" 5287 data-product-id="6911354634295" 5288 on:submit="/handleSubmit" 5289 class=" 5290 quick-add__product-form-component 5291 quick-add__product-form-component--single-option 5292 quick-add__product-form-component--single-variant 5293 " 5294 > 5295 <div 5296 class="visually-hidden"
5297 aria-live="assertive" 5298 role="status" 5299 aria-atomic="true" 5300 ref="liveRegion" 5301 ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-6911354634295-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 5302 type="hidden" 5303 name="id" 5304 ref="variantId" 5305 value="40495197093943" 5306 5307 > 5308 <input 5309 type="hidden" 5310 name="quantity" 5311 value="1" 5312 > 5313 5314 5315 5316 5317 5318 <button 5319 type="submit" 5320 name="add" 5321 class="custom-shop-btn" 5322 data-variant-id="40495197093943" 5323 > 5324 <span class="text">Add to bag</span> 5325 <span class="price">$38.00</span> 5326 </button> 5327 5328 5329 5330<style> 5331 .custom-shop-btn { 5332 display: flex; 5333 justify-content: space-between; 5334 align-items: center; 5335 width: 100%; 5336 padding: 10px 24px; 5337 border: 1px solid #be6a14; 5338 border-radius: 30px; 5339 color: #be6a14; 5340 background-color: transparent; 5341 font-size: 14px; 5342 font-family: 'GT America', sans-serif; 5343 text-decoration: none; 5344 transition: background-color 0.3s, color 0.3s; 5345 font-weight: 500; 5346 cursor: pointer; 5347 min-height: 45px; /* Ensure consistent height */ 5348 } 5349 5350 .custom-shop-btn:hover:not(:disabled) { 5351 background-color: #be6a14; 5352 color: #fff; 5353 } 5354 5355 .custom-shop-btn .price { 5356 font-weight: 600; 5357 } 5358 5359 .custom-shop-btn .text { 5360 font-weight: 600; 5361 } 5362 5363 .custom-shop-btn:disabled { 5364 cursor: not-allowed; 5365 opacity: 0.7; 5366 } 5367 .custom-shop-btn:hover:disabled .text { 5368 cursor: not-allowed; 5369 color: rgb(190 106 20 / 70%) !important; 5370 } 5371 .custom-shop-btn:disabled:hover { 5372 cursor: not-allowed; 5373 transition: none; 5374 } 5375</style> 5376
5377<script> 5378 // Ensure this script runs only once, even if the snippet is included multiple times. 5379 if (typeof window.customAddToCartInitialized === 'undefined') { 5380 window.customAddToCartInitialized = true; 5381 5382 document.addEventListener('click', function (event) { 5383 const button = event.target.closest('.custom-shop-btn'); 5384 5385 if (button && button.name === 'add') { 5386 event.preventDefault(); 5387 5388 const variantId = button.getAttribute('data-variant-id'); 5389 if (!variantId) return; 5390 5391 const priceElement = button.querySelector('.price'); 5392 const originalPriceHTML = priceElement ? priceElement.innerHTML : ''; 5393 const textElement = button.querySelector('.text'); 5394 const originalTextHTML = textElement ? textElement.innerHTML : ''; 5395 5396 button.disabled = true; 5397 button.innerHTML = 'Adding...'; 5398 5399 const sellingPlanInput = document.querySelector('[name="selling_plan"]'); 5400 const sellingPlanId = sellingPlanInput?.value; 5401 5402 const payload = { 5403 id: variantId, 5404 quantity: 1 5405 }; 5406 5407 if (sellingPlanId) { 5408 payload.selling_plan = sellingPlanId; 5409 } 5410 5411 fetch('/cart/add.js', { 5412 method: 'POST', 5413 headers: { 5414 'Content-Type': 'application/json', 5415 Accept: 'application/json', 5416 }, 5417 body: JSON.stringify(payload) 5418 }) 5419 .then((response) => { 5420 if (!response.ok) throw new Error('Network error'); 5421 return response.json(); 5422 }) 5423 .then(() => { 5424 button.innerHTML = 'Added â'; 5425 button.style.backgroundColor = '#be6a14'; 5426 button.style.color = '#fff'; 5427 button.style.justifyContent = 'center'; 5428 5429 document.dispatchEvent(new CustomEvent('cart:refresh')); 5430 document.dispatchEvent(new CustomEvent('cart:open')); 5431 5432 setTimeout(() => { 5433 button.disabled = false; 5434 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 5435 button.style.backgroundColor = ''; 5436 button.style.color = ''; 5437 button.style.justifyContent = ''; 5438 }, 2000); 5439 }) 5440 .catch((error) => { 5441 console.error('Add to cart error:', error); 5442 button.disabled = false; 5443 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 5444 // Optionally show an error message to the user 5445 }); 5446 } 5447 }); 5448 } 5449</script>
5449 5450 5451<input type="hidden" name="product-id" value="6911354634295" /><input type="hidden" name="section-id" value="template--23030433120311__product_list_NNFgcy" /></form></product-form-component> 5452</quick-add-component> 5453 5454 5455 5456 5457 5458 5459</div> 5460 5461 5462 5463 5464 5465<div class="product-grid-view-zoom-out--details"> 5466 5467 <h3 class="h4">3-in-1 Slick Back Styling Duo</h3> 5468 <div class="h6"> 5469 <product-price data-product-id="6911354634295"> 5470 <div class="price-container" ref="priceContainer"> 5471 5472 5473 5474 <span class="price">$38.00</span> 5475 5476 5477 5478</div> 5479 5480 </product-price> 5481 </div> 5482 5483</div> 5484 5485 5486 5487 5488 <a 5489 class="contents user-select-text" 5490 ref="productTitleLink" 5491 href=" 5492/products/slick-back-duo?variant=40495197093943" 5493 > 5494 5495 5496 5497 5498 5499 5500 <div 5501 class=" spacing-style text-block text-block--AMkorbGh5UllSVmhEb__product_title_WNMpHe rte 5502 text-block--align-left rte 5503 " 5504 5505 style=" 5506 --padding-block-start: 4px; --padding-block-end:0px; 5507--padding-inline-start:0px; --padding-inline-end:0px; 5508 5509 5510 5511 --width: 100%; 5512 --max-width: var(--max-width--body-normal); 5513 5514 --text-align: left; 5515 5516 5517 5518 " 5519 5520 5521> 5522 <p>3-in-1 Slick Back Styling Duo</p> 5523 </div> 5524 5525 5526 5527 5528 </a><div class="product-benefit"> 5529 5530 <div class="metafield-rich_text_field"><p>Smooth Styling + Defines Curls</p></div> 5531 5532 </div> 5533 5534 5535 5536 5537 5538 5539 5540 5541<product-price 5542 class="text-block text-block--align-left text-left h6 spacing-style" 5543 data-block-id="AOStUem43RWNsRlJBb__price_yXfkPX" 5544 data-product-id="6911354634295" 5545 style=" 5546 5547--color: var(--color-foreground); 5548 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 5549 --width: 100%; 5550 " 5551 5552> 5553 <div class="price-container" ref="priceContainer"> 5554 5555 5556 5557 <span class="price">$38.00</span> 5558 5559 5560 5561</div> 5562 5563 5564 5565</product-price> 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 </div> 5576</product-card></product-card-link> 5577
5578<script> 5579(function () { 5580 const CARD_SELECTOR = 'product-card.product-card'; 5581 const TITLE_SELECTOR = 'a[ref="productTitleLink"] .text-block'; 5582 // Optional: if the orange line is a separate element, add its selector here too 5583 const SUBTITLE_SELECTOR = '.product-grid-view-zoom-out--details .h6, .product-grid-view-zoom-out--details .subtitle, .product-card__subtitle'; 5584 5585 let rafId = null; 5586 5587 function equalizeHeights() { 5588 cancelAnimationFrame(rafId); 5589 rafId = requestAnimationFrame(() => { 5590 const cards = Array.from(document.querySelectorAll(CARD_SELECTOR)); 5591 if (!cards.length) return; 5592 5593 // Reset heights before measuring 5594 const titles = []; 5595 const subtitles = []; 5596 5597 cards.forEach(card => { 5598 const t = card.querySelector(TITLE_SELECTOR); 5599 if (t) { 5600 t.style.minHeight = ''; 5601 t.style.height = ''; 5602 titles.push(t); 5603 } 5604 5605 const s = card.querySelector(SUBTITLE_SELECTOR); 5606 if (s) { 5607 s.style.minHeight = ''; 5608 s.style.height = ''; 5609 subtitles.push(s); 5610 } 5611 }); 5612 5613 // Measure max heights 5614 const maxTitle = titles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 5615 const maxSubtitle = subtitles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 5616 5617 // Apply minHeight so longer items can still wrap if needed
5618 titles.forEach(el => { el.style.minHeight = `${Math.ceil(maxTitle)}px`; }); 5619 subtitles.forEach(el => { el.style.minHeight = `${Math.ceil(maxSubtitle)}px`; }); 5620 }); 5621 } 5622 5623 // Run on initial load 5624 if (document.readyState === 'loading') { 5625 document.addEventListener('DOMContentLoaded', equalizeHeights); 5626 } else { 5627 equalizeHeights(); 5628 } 5629 5630 // Run after fonts load (titles can change height) 5631 if (document.fonts && document.fonts.ready) { 5632 document.fonts.ready.then(equalizeHeights).catch(() => {}); 5633 } 5634 5635 // Run on resize (debounced via rAF) 5636 window.addEventListener('resize', equalizeHeights, { passive: true }); 5637 5638 // Run when collection grid changes (filters, infinite scroll, quick view) 5639 const observer = new MutationObserver((mutations) => { 5640 // Only rerun if product cards were added/removed/changed 5641 if (mutations.some(m => m.addedNodes.length || m.removedNodes.length)) { 5642 equalizeHeights(); 5643 } 5644 }); 5645 5646 observer.observe(document.documentElement, { childList: true, subtree: true }); 5647})(); 5648</script>
5648 5649 5650 5651 5652 5653 5654 </div> 5655 5656 5657 <!--@list/split--> 5658 5659 5660 <div 5661 class="resource-list__item" 5662 > 5663 5664 5665 5666 5667 5668 5669 5670<style data-shopify> 5671 5672</style> 5673 5674 5675<product-card-link 5676 data-product-id="7358591729719" 5677 data-featured-media-url="//daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=500" 5678 data-product-transition="true" 5679 5680 ><product-card 5681 class="product-card" 5682 data-product-id="7358591729719" 5683 data-product-variants-size="1" 5684 id="product-card-ASTNBeHRpTytoSTBZW__static-product-card-1" 5685 data-product-transition="true" 5686 5687 5688 5689> 5690 <a 5691 id="792b0e1aa27928c02013c55bddf011c2" 5692 5693 href="/products/taming-wand-duo?variant=41949355769911" 5694 5695 class="product-card__link" 5696 ref="productCardLink" 5697 > 5698 <span class="visually-hidden"> 5699 3-in-1 Taming Wand Duo 5700 5701 5702 </span> 5703 </a> 5704 5705 5706 <div 5707 class=" 5708 product-card__content 5709 layout-panel-flex 5710 layout-panel-flex--column 5711 product-grid__card 5712 spacing-style 5713 border-style 5714 gap-style 5715 5716 " 5717 style=" 5718 --border-width: 1px; --border-style: none; --border-color: 5719rgb(var(--color-border-rgb) / 1.0); --border-radius: 57200px; 5721 5722 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 5723 5724 5725 5726--horizontal-alignment: ; --vertical-alignment: ; 5727--vertical-alignment-mobile: ; 5728 5729 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 5730 --product-card-gap: 4px; 5731 --quick-add-display: none; 5732 --quick-add-mobile-display: none; 5733 5734 5735 5736 5737 " 5738 > 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748<div 5749 ref="cardGallery" 5750 class="card-gallery card-gallery-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq-1 spacing-style border-style" 5751 style=" 5752 --border-width: 1px; --border-style: none; --border-color: 5753rgb(var(--color-border-rgb) / 1.0); --border-radius: 57540px; 5755 5756 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 5757 --gallery-aspect-ratio: 1.0; 5758 " 5759 data-product-id="7358591729719" 5760 5761 on:pointerenter="/previewImage" 5762 on:pointerleave="/resetImage" 5763 5764 5765 data-view-transition-to-main-product 5766 5767 data-image-ratio="adapt" 5768 5769> 5770 <a 5771 class="contents" 5772 ref="cardGalleryLink" 5773 href=" 5774/products/taming-wand-duo?variant=41949355769911" 5775 aria-label="3-in-1 Taming Wand Duo" 5776 > 5777 5778 5779 5780<slideshow-component 5781 5782 ref="slideshow" 5783 5784 5785 style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10;" 5786 5787 initial-slide="0" 5788 5789 5790 infinite 5791 5792 5793 data-generic-media-size="10" 5794> 5795 5796 <slideshow-container ref="slideshowContainer"> 5797 5798 <slideshow-arrows 5799 position="center" 5800 5801><button 5802 class=" 5803 slideshow-control slideshow-control--previous 5804 5805 5806 slideshow-control--style-arrow 5807 button button-unstyled button-unstyled--transparent 5808 flip-x 5809 " 5810 5811 aria-label="Previous slide" 5812 5813 on:click="/previous" 5814 ref="previous" 5815> 5816 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 5817</span> 5818</button> 5819<button 5820 class=" 5821 slideshow-control slideshow-control--next 5822 5823 5824 slideshow-control--style-arrow 5825 button button-unstyled button-unstyled--transparent 5826 5827 " 5828 5829 aria-label="Next slide" 5830 5831 on:click="/next" 5832 ref="next" 5833> 5834 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 5835</span> 5836</button> 5837</slideshow-arrows> 5838 5839 5840 5841 <slideshow-slides 5842 tabindex="-1" 5843 ref="scroller" 5844 5845 5846 > 5847 <slideshow-slide 5848 ref="slides[]" 5849 aria-hidden="true" 5850 style="view-timeline-name: --slide-1; --product-media-fit: cover;" 5851 5852 class="product-media-container media-fit product-media-container--image" 5853 5854 5855 5856 5857 slide-id="25901665779767" 5858
5859 5860 5861> 5862 5863 5864<div 5865 class="product-media" 5866 style="--ratio: 1.0" 5867 data-media-id="25901665779767" 5868> 5869 5870 <img src="//daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=3840" alt="3-in-1 Taming Wand Duo" srcset="//daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=240 240w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=352 352w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=832 832w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=1200 1200w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=1600 1600w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=1920 1920w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=2560 2560w, //daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/taming_wand_bundle.jpg?v=1760985517&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5871 5872 5873</div> 5874 5875 5876 5877</slideshow-slide> 5878<slideshow-slide 5879 ref="slides[]" 5880 aria-hidden="true" 5881 style="view-timeline-name: --slide-2; --product-media-fit: cover;" 5882 5883 class="product-media-container media-fit product-media-container--image" 5884 5885 5886 5887 5888 slide-id="25794659516471" 5889 5890 5891 5892> 5893 5894 5895<div 5896 class="product-media" 5897 style="--ratio: 1.0" 5898 data-media-id="25794659516471" 5899> 5900 5901 <img src="//daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=3840" alt="3-in-1 Taming Wand Duo" srcset="//daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=240 240w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=352 352w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=832 832w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=1200 1200w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=1600 1600w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=1920 1920w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=2560 2560w, //daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/3_1200x1200_8477da3c-d8b5-4bd9-86b1-6bd4383968f0.jpg?v=1760985517&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5902 5903 5904</div> 5905 5906 5907 5908</slideshow-slide> 5909<slideshow-slide 5910 ref="slides[]" 5911 aria-hidden="true" 5912 style="view-timeline-name: --slide-3; --product-media-fit: cover;" 5913 5914 class="product-media-container media-fit product-media-container--image" 5915 5916 5917 5918 5919 slide-id="25616300277815" 5920 5921 5922 5923> 5924 5925 5926<div 5927 class="product-media" 5928 style="--ratio: 1.0" 5929 data-media-id="25616300277815" 5930> 5931 5932 <img src="//daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=3840" alt="3-in-1 Taming Wand Duo" srcset="//daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=240 240w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=352 352w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=832 832w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=1200 1200w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=1600 1600w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=1920 1920w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=2560 2560w, //daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/25_Peach_DTC_PDP_06.jpg?v=1760985517&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5933 5934 5935</div> 5936 5937 5938 5939</slideshow-slide> 5940<slideshow-slide 5941 ref="slides[]" 5942 aria-hidden="true" 5943 style="view-timeline-name: --slide-4; --product-media-fit: cover;" 5944 5945 class="product-media-container media-fit product-media-container--image" 5946 5947 5948 5949 5950 slide-id="25794659549239" 5951 5952 5953 5954> 5955 5956 5957<div 5958 class="product-media" 5959 style="--ratio: 1.0" 5960 data-media-id="25794659549239" 5961> 5962 5963 <img src="//daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=3840" alt="3-in-1 Taming Wand Duo" srcset="//daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=240 240w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=352 352w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=832 832w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=1200 1200w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=1600 1600w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=1920 1920w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=2560 2560w, //daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/4_1200x1200_18b7ee81-f373-4b43-b285-bef9a60314b6.jpg?v=1760985612&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5964 5965 5966</div> 5967 5968 5969 5970</slideshow-slide> 5971<slideshow-slide 5972 ref="slides[]" 5973 aria-hidden="true" 5974 style="view-timeline-name: --slide-5; --product-media-fit: cover;" 5975 5976 class="product-media-container media-fit product-media-container--image" 5977 5978 5979 5980 5981 slide-id="25794659582007" 5982 5983 5984 5985> 5986 5987 5988<div 5989 class="product-media" 5990 style="--ratio: 1.0" 5991 data-media-id="25794659582007" 5992> 5993 5994 <img src="//daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=3840" alt="3-in-1 Taming Wand Duo" srcset="//daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=240 240w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=352 352w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=832 832w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=1200 1200w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=1600 1600w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=1920 1920w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=2560 2560w, //daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/5_1200x1200_16200e76-1a6c-4aaa-9575-30d5d05af3f5.jpg?v=1760985612&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5995 5996 5997</div> 5998 5999 6000 6001</slideshow-slide> 6002 6003 </slideshow-slides> 6004 </slideshow-container> 6005 6006</slideshow-component> 6007 6008 </a> 6009 6010 6011 <div 6012 class="product-badges product-badges--top-left" 6013 style=" 6014 --badge-border-radius: 100px; 6015 --badge-font-family: var(--font-body--family);
6016 --badge-font-weight: var(--font-body--weight); 6017 --badge-text-transform: none; 6018 " 6019> 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 <span class="badge-text badge-exclusive"> 6033 Online Exclusive 6034 </span> 6035 6036 6037</div> 6038 6039 6040 6041 6042 6043 6044<quick-add-component 6045 class="quick-add color-scheme-1 " 6046 ref="quickAdd" 6047 data-product-title="3-in-1 Taming Wand Duo" 6048> 6049 <product-form-component 6050 data-section-id="template--23030433120311__product_list_NNFgcy" 6051 data-product-id="7358591729719" 6052 on:submit="/handleSubmit" 6053 class=" 6054 quick-add__product-form-component 6055 quick-add__product-form-component--single-option 6056 quick-add__product-form-component--single-variant 6057 " 6058 > 6059 <div 6060 class="visually-hidden" 6061 aria-live="assertive" 6062 role="status" 6063 aria-atomic="true" 6064 ref="liveRegion" 6065 ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-7358591729719-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq-1" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 6066 type="hidden" 6067 name="id" 6068 ref="variantId" 6069 value="41949355769911" 6070 6071 > 6072 <input 6073 type="hidden" 6074 name="quantity" 6075 value="1" 6076 > 6077 6078 6079 6080 6081 6082 <button 6083 type="submit" 6084 name="add" 6085 class="custom-shop-btn" 6086 data-variant-id="41949355769911" 6087 > 6088 <span class="text">Add to bag</span> 6089 <span class="price">$36.00</span> 6090 </button> 6091 6092 6093 6094<style> 6095 .custom-shop-btn { 6096 display: flex; 6097 justify-content: space-between; 6098 align-items: center; 6099 width: 100%; 6100 padding: 10px 24px; 6101 border: 1px solid #be6a14; 6102 border-radius: 30px; 6103 color: #be6a14; 6104 background-color: transparent; 6105 font-size: 14px; 6106 font-family: 'GT America', sans-serif; 6107 text-decoration: none; 6108 transition: background-color 0.3s, color 0.3s; 6109 font-weight: 500; 6110 cursor: pointer; 6111 min-height: 45px; /* Ensure consistent height */ 6112 } 6113 6114 .custom-shop-btn:hover:not(:disabled) { 6115 background-color: #be6a14; 6116 color: #fff; 6117 } 6118 6119 .custom-shop-btn .price { 6120 font-weight: 600; 6121 } 6122 6123 .custom-shop-btn .text { 6124 font-weight: 600; 6125 } 6126 6127 .custom-shop-btn:disabled { 6128 cursor: not-allowed; 6129 opacity: 0.7; 6130 } 6131 .custom-shop-btn:hover:disabled .text { 6132 cursor: not-allowed; 6133 color: rgb(190 106 20 / 70%) !important; 6134 } 6135 .custom-shop-btn:disabled:hover { 6136 cursor: not-allowed; 6137 transition: none; 6138 } 6139</style> 6140
6141<script> 6142 // Ensure this script runs only once, even if the snippet is included multiple times. 6143 if (typeof window.customAddToCartInitialized === 'undefined') { 6144 window.customAddToCartInitialized = true; 6145 6146 document.addEventListener('click', function (event) { 6147 const button = event.target.closest('.custom-shop-btn'); 6148 6149 if (button && button.name === 'add') { 6150 event.preventDefault(); 6151 6152 const variantId = button.getAttribute('data-variant-id'); 6153 if (!variantId) return; 6154 6155 const priceElement = button.querySelector('.price'); 6156 const originalPriceHTML = priceElement ? priceElement.innerHTML : ''; 6157 const textElement = button.querySelector('.text'); 6158 const originalTextHTML = textElement ? textElement.innerHTML : ''; 6159 6160 button.disabled = true; 6161 button.innerHTML = 'Adding...'; 6162 6163 const sellingPlanInput = document.querySelector('[name="selling_plan"]'); 6164 const sellingPlanId = sellingPlanInput?.value; 6165 6166 const payload = { 6167 id: variantId, 6168 quantity: 1 6169 }; 6170 6171 if (sellingPlanId) { 6172 payload.selling_plan = sellingPlanId; 6173 } 6174 6175 fetch('/cart/add.js', { 6176 method: 'POST', 6177 headers: { 6178 'Content-Type': 'application/json', 6179 Accept: 'application/json', 6180 }, 6181 body: JSON.stringify(payload) 6182 }) 6183 .then((response) => { 6184 if (!response.ok) throw new Error('Network error'); 6185 return response.json(); 6186 }) 6187 .then(() => { 6188 button.innerHTML = 'Added â'; 6189 button.style.backgroundColor = '#be6a14'; 6190 button.style.color = '#fff'; 6191 button.style.justifyContent = 'center'; 6192 6193 document.dispatchEvent(new CustomEvent('cart:refresh')); 6194 document.dispatchEvent(new CustomEvent('cart:open')); 6195 6196 setTimeout(() => { 6197 button.disabled = false; 6198 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 6199 button.style.backgroundColor = ''; 6200 button.style.color = ''; 6201 button.style.justifyContent = ''; 6202 }, 2000); 6203 }) 6204 .catch((error) => { 6205 console.error('Add to cart error:', error); 6206 button.disabled = false; 6207 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 6208 // Optionally show an error message to the user 6209 }); 6210 } 6211 }); 6212 } 6213</script>
6213 6214 6215<input type="hidden" name="product-id" value="7358591729719" /><input type="hidden" name="section-id" value="template--23030433120311__product_list_NNFgcy" /></form></product-form-component> 6216</quick-add-component> 6217 6218 6219 6220 6221 6222 6223</div> 6224 6225 6226 6227 6228 6229<div class="product-grid-view-zoom-out--details"> 6230 6231 <h3 class="h4">3-in-1 Taming Wand Duo</h3> 6232 <div class="h6"> 6233 <product-price data-product-id="7358591729719"> 6234 <div class="price-container" ref="priceContainer"> 6235 6236 6237 6238 <span class="price">$36.00</span> 6239 6240 6241 6242</div> 6243 6244 </product-price> 6245 </div> 6246 6247</div> 6248 6249 6250 6251 6252 <a 6253 class="contents user-select-text" 6254 ref="productTitleLink" 6255 href=" 6256/products/taming-wand-duo?variant=41949355769911" 6257 > 6258 6259 6260 6261 6262 6263 6264 <div 6265 class=" spacing-style text-block text-block--AMkorbGh5UllSVmhEb__product_title_WNMpHe-1 rte 6266 text-block--align-left rte 6267 " 6268 6269 style=" 6270 --padding-block-start: 4px; --padding-block-end:0px; 6271--padding-inline-start:0px; --padding-inline-end:0px; 6272 6273 6274 6275 --width: 100%; 6276 --max-width: var(--max-width--body-normal); 6277 6278 --text-align: left; 6279 6280 6281 6282 " 6283 6284 6285> 6286 <p>3-in-1 Taming Wand Duo</p> 6287 </div> 6288 6289 6290 6291 6292 </a><div class="product-benefit"> 6293 6294 <div class="metafield-rich_text_field"><p>Smooths Frizz + Slicks Flyaways</p></div> 6295 6296 </div> 6297 6298 6299 6300 6301 6302 6303 6304 6305<product-price 6306 class="text-block text-block--align-left text-left h6 spacing-style" 6307 data-block-id="AOStUem43RWNsRlJBb__price_yXfkPX-1" 6308 data-product-id="7358591729719" 6309 style=" 6310 6311--color: var(--color-foreground); 6312 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6313 --width: 100%; 6314 " 6315 6316> 6317 <div class="price-container" ref="priceContainer"> 6318 6319 6320 6321 <span class="price">$36.00</span> 6322 6323 6324 6325</div> 6326 6327 6328 6329</product-price> 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 </div> 6340</product-card></product-card-link> 6341
6342<script> 6343(function () { 6344 const CARD_SELECTOR = 'product-card.product-card'; 6345 const TITLE_SELECTOR = 'a[ref="productTitleLink"] .text-block'; 6346 // Optional: if the orange line is a separate element, add its selector here too 6347 const SUBTITLE_SELECTOR = '.product-grid-view-zoom-out--details .h6, .product-grid-view-zoom-out--details .subtitle, .product-card__subtitle'; 6348 6349 let rafId = null; 6350 6351 function equalizeHeights() { 6352 cancelAnimationFrame(rafId); 6353 rafId = requestAnimationFrame(() => { 6354 const cards = Array.from(document.querySelectorAll(CARD_SELECTOR)); 6355 if (!cards.length) return; 6356 6357 // Reset heights before measuring 6358 const titles = []; 6359 const subtitles = []; 6360 6361 cards.forEach(card => { 6362 const t = card.querySelector(TITLE_SELECTOR); 6363 if (t) { 6364 t.style.minHeight = ''; 6365 t.style.height = ''; 6366 titles.push(t); 6367 } 6368 6369 const s = card.querySelector(SUBTITLE_SELECTOR); 6370 if (s) { 6371 s.style.minHeight = ''; 6372 s.style.height = ''; 6373 subtitles.push(s); 6374 } 6375 }); 6376 6377 // Measure max heights 6378 const maxTitle = titles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 6379 const maxSubtitle = subtitles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 6380 6381 // Apply minHeight so longer items can still wrap if needed
6382 titles.forEach(el => { el.style.minHeight = `${Math.ceil(maxTitle)}px`; }); 6383 subtitles.forEach(el => { el.style.minHeight = `${Math.ceil(maxSubtitle)}px`; }); 6384 }); 6385 } 6386 6387 // Run on initial load 6388 if (document.readyState === 'loading') { 6389 document.addEventListener('DOMContentLoaded', equalizeHeights); 6390 } else { 6391 equalizeHeights(); 6392 } 6393 6394 // Run after fonts load (titles can change height) 6395 if (document.fonts && document.fonts.ready) { 6396 document.fonts.ready.then(equalizeHeights).catch(() => {}); 6397 } 6398 6399 // Run on resize (debounced via rAF) 6400 window.addEventListener('resize', equalizeHeights, { passive: true }); 6401 6402 // Run when collection grid changes (filters, infinite scroll, quick view) 6403 const observer = new MutationObserver((mutations) => { 6404 // Only rerun if product cards were added/removed/changed 6405 if (mutations.some(m => m.addedNodes.length || m.removedNodes.length)) { 6406 equalizeHeights(); 6407 } 6408 }); 6409 6410 observer.observe(document.documentElement, { childList: true, subtree: true }); 6411})(); 6412</script>
6412 6413 6414 6415 6416 6417 6418 </div> 6419 6420 6421 <!--@list/split--> 6422 6423 6424 <div 6425 class="resource-list__item" 6426 > 6427 6428 6429 6430 6431 6432 6433 6434<style data-shopify> 6435 6436</style> 6437 6438 6439<product-card-link 6440 data-product-id="6798102233143" 6441 data-featured-media-url="//daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=500" 6442 data-product-transition="true" 6443 6444 ><product-card 6445 class="product-card" 6446 data-product-id="6798102233143" 6447 data-product-variants-size="1" 6448 id="product-card-ASTNBeHRpTytoSTBZW__static-product-card-2" 6449 data-product-transition="true" 6450 6451 6452 6453> 6454 <a 6455 id="d443c8c54492a83c6762d6d3c7d351e4" 6456 6457 href="/products/agave-dry-heat-hold-styling-mist-5oz?variant=40155490484279" 6458 6459 class="product-card__link" 6460 ref="productCardLink" 6461 > 6462 <span class="visually-hidden"> 6463 Agave Dry Heat Protection Spray 6464 6465 6466 </span> 6467 </a> 6468 6469 6470 <div 6471 class=" 6472 product-card__content 6473 layout-panel-flex 6474 layout-panel-flex--column 6475 product-grid__card 6476 spacing-style 6477 border-style 6478 gap-style 6479 6480 " 6481 style=" 6482 --border-width: 1px; --border-style: none; --border-color: 6483rgb(var(--color-border-rgb) / 1.0); --border-radius: 64840px; 6485 6486 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 6487 6488 6489 6490--horizontal-alignment: ; --vertical-alignment: ; 6491--vertical-alignment-mobile: ; 6492 6493 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6494 --product-card-gap: 4px; 6495 --quick-add-display: none; 6496 --quick-add-mobile-display: none; 6497 6498 6499 6500 6501 " 6502 > 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512<div 6513 ref="cardGallery" 6514 class="card-gallery card-gallery-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq-2 spacing-style border-style" 6515 style=" 6516 --border-width: 1px; --border-style: none; --border-color: 6517rgb(var(--color-border-rgb) / 1.0); --border-radius: 65180px; 6519 6520 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6521 --gallery-aspect-ratio: 1.0; 6522 " 6523 data-product-id="6798102233143" 6524 6525 on:pointerenter="/previewImage" 6526 on:pointerleave="/resetImage" 6527 6528 6529 data-view-transition-to-main-product 6530 6531 data-image-ratio="adapt" 6532 6533> 6534 <a 6535 class="contents" 6536 ref="cardGalleryLink" 6537 href=" 6538/products/agave-dry-heat-hold-styling-mist-5oz?variant=40155490484279" 6539 aria-label="Agave Dry Heat Protection Spray" 6540 > 6541 6542 6543 6544<slideshow-component 6545 6546 ref="slideshow" 6547 6548 6549 style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7;" 6550 6551 initial-slide="0" 6552 6553 6554 infinite 6555 6556 6557 data-generic-media-size="7" 6558> 6559 6560 <slideshow-container ref="slideshowContainer"> 6561 6562 <slideshow-arrows 6563 position="center" 6564 6565><button 6566 class=" 6567 slideshow-control slideshow-control--previous 6568 6569 6570 slideshow-control--style-arrow 6571 button button-unstyled button-unstyled--transparent 6572 flip-x 6573 " 6574 6575 aria-label="Previous slide" 6576 6577 on:click="/previous" 6578 ref="previous" 6579> 6580 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 6581</span> 6582</button> 6583<button 6584 class=" 6585 slideshow-control slideshow-control--next 6586 6587 6588 slideshow-control--style-arrow 6589 button button-unstyled button-unstyled--transparent 6590 6591 " 6592 6593 aria-label="Next slide" 6594 6595 on:click="/next" 6596 ref="next" 6597> 6598 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 6599</span> 6600</button> 6601</slideshow-arrows> 6602 6603 6604 6605 <slideshow-slides 6606 tabindex="-1" 6607 ref="scroller" 6608 6609 6610 > 6611 <slideshow-slide 6612 ref="slides[]" 6613 aria-hidden="true" 6614 style="view-timeline-name: --slide-1; --product-media-fit: cover;" 6615 6616 class="product-media-container media-fit product-media-container--image" 6617 6618 6619 6620 6621 slide-id="25794641461303" 6622 6623 6624 6625> 6626 6627 6628<div 6629 class="product-media" 6630 style="--ratio: 1.0" 6631 data-media-id="25794641461303" 6632> 6633 6634 <img src="//daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=3840" alt="Agave Dry Heat Protection Spray" srcset="//daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=240 240w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=352 352w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=832 832w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=1200 1200w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=1600 1600w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=1920 1920w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=2560 2560w, //daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/dae_dhsm_1200x1200_9e7698a1-929e-4872-aea9-acb8617da309.jpg?v=1759163069&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 6635 6636 6637</div> 6638 6639 6640 6641</slideshow-slide> 6642<slideshow-slide 6643 ref="slides[]" 6644 aria-hidden="true" 6645 style="view-timeline-name: --slide-2; --product-media-fit: cover;" 6646 6647 class="product-media-container media-fit product-media-container--image" 6648 6649 6650 6651 6652 slide-id="25794770206775"
6653 6654 6655 6656> 6657 6658 6659<div 6660 class="product-media" 6661 style="--ratio: 1.0" 6662 data-media-id="25794770206775" 6663> 6664 6665 <img src="//daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=3840" alt="Agave Dry Heat Protection Spray" srcset="//daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=240 240w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=352 352w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=832 832w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=1200 1200w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=1600 1600w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=1920 1920w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=2560 2560w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 6666 6667 6668</div> 6669 6670 6671 6672</slideshow-slide> 6673<slideshow-slide 6674 ref="slides[]" 6675 aria-hidden="true" 6676 style="view-timeline-name: --slide-3; --product-media-fit: cover;" 6677 6678 class="product-media-container media-fit product-media-container--image" 6679 6680 6681 6682 6683 slide-id="25794641494071" 6684 6685 6686 6687> 6688 6689 6690<div 6691 class="product-media" 6692 style="--ratio: 1.0" 6693 data-media-id="25794641494071" 6694> 6695 6696 <img src="//daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=3840" alt="Agave Dry Heat Protection Spray" srcset="//daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=240 240w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=352 352w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=832 832w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=1200 1200w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=1600 1600w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=1920 1920w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=2560 2560w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_be6d9d32-2e47-47d6-bb56-1cb464ff7cf6.jpg?v=1767987781&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 6697 6698 6699</div> 6700 6701 6702 6703</slideshow-slide> 6704<slideshow-slide 6705 ref="slides[]" 6706 aria-hidden="true" 6707 style="view-timeline-name: --slide-4; --product-media-fit: cover;" 6708 6709 class="product-media-container media-fit product-media-container--image" 6710 6711 6712 6713 6714 slide-id="25794641592375" 6715 6716 6717 6718> 6719 6720 6721<div 6722 class="product-media" 6723 style="--ratio: 1.0" 6724 data-media-id="25794641592375" 6725> 6726 6727 <img src="//daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=3840" alt="Agave Dry Heat Protection Spray" srcset="//daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=240 240w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=352 352w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=832 832w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=1200 1200w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=1600 1600w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=1920 1920w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=2560 2560w, //daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/DHM_1200x1200_937dfb29-775d-45ff-9aee-6ab11f925ec6.gif?v=1767987781&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 6728 6729 6730</div> 6731 6732 6733 6734</slideshow-slide> 6735<slideshow-slide 6736 ref="slides[]" 6737 aria-hidden="true" 6738 style="view-timeline-name: --slide-5; --product-media-fit: cover;" 6739 6740 class="product-media-container media-fit product-media-container--image" 6741 6742 6743 6744 6745 slide-id="25794641526839" 6746 6747 6748 6749> 6750 6751 6752<div 6753 class="product-media" 6754 style="--ratio: 1.0" 6755 data-media-id="25794641526839" 6756> 6757 6758 <img src="//daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=3840" alt="Agave Dry Heat Protection Spray" srcset="//daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=240 240w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=352 352w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=832 832w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=1200 1200w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=1600 1600w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=1920 1920w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=2560 2560w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_5d4002cf-8ba9-41bb-9d6f-912080686f72.jpg?v=1767987781&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 6759 6760 6761</div> 6762 6763 6764 6765</slideshow-slide> 6766 6767 </slideshow-slides> 6768 </slideshow-container> 6769 6770</slideshow-component> 6771 6772 </a> 6773 6774 6775 <div 6776 class="product-badges product-badges--top-left" 6777 style=" 6778 --badge-border-radius: 100px; 6779 --badge-font-family: var(--font-body--family);
6780 --badge-font-weight: var(--font-body--weight); 6781 --badge-text-transform: none; 6782 " 6783> 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 <span class="badge-text badge-exclusive"> 6797 Online Exclusive 6798 </span> 6799 6800 6801</div> 6802 6803 6804 6805 6806 6807 6808<quick-add-component 6809 class="quick-add color-scheme-1 " 6810 ref="quickAdd" 6811 data-product-title="Agave Dry Heat Protection Spray" 6812> 6813 <product-form-component 6814 data-section-id="template--23030433120311__product_list_NNFgcy" 6815 data-product-id="6798102233143" 6816 on:submit="/handleSubmit" 6817 class=" 6818 quick-add__product-form-component 6819 quick-add__product-form-component--single-option 6820 quick-add__product-form-component--single-variant 6821 " 6822 > 6823 <div 6824 class="visually-hidden" 6825 aria-live="assertive" 6826 role="status" 6827 aria-atomic="true" 6828 ref="liveRegion" 6829 ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-6798102233143-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq-2" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 6830 type="hidden" 6831 name="id" 6832 ref="variantId" 6833 value="40155490484279" 6834 6835 > 6836 <input 6837 type="hidden" 6838 name="quantity" 6839 value="1" 6840 > 6841 6842 6843 6844 6845 6846 <button 6847 type="submit" 6848 name="add" 6849 class="custom-shop-btn" 6850 data-variant-id="40155490484279" 6851 > 6852 <span class="text">Add to bag</span> 6853 <span class="price">$30.00</span> 6854 </button> 6855 6856 6857 6858<style> 6859 .custom-shop-btn { 6860 display: flex; 6861 justify-content: space-between; 6862 align-items: center; 6863 width: 100%; 6864 padding: 10px 24px; 6865 border: 1px solid #be6a14; 6866 border-radius: 30px; 6867 color: #be6a14; 6868 background-color: transparent; 6869 font-size: 14px; 6870 font-family: 'GT America', sans-serif; 6871 text-decoration: none; 6872 transition: background-color 0.3s, color 0.3s; 6873 font-weight: 500; 6874 cursor: pointer; 6875 min-height: 45px; /* Ensure consistent height */ 6876 } 6877 6878 .custom-shop-btn:hover:not(:disabled) { 6879 background-color: #be6a14; 6880 color: #fff; 6881 } 6882 6883 .custom-shop-btn .price { 6884 font-weight: 600; 6885 } 6886 6887 .custom-shop-btn .text { 6888 font-weight: 600; 6889 } 6890 6891 .custom-shop-btn:disabled { 6892 cursor: not-allowed; 6893 opacity: 0.7; 6894 } 6895 .custom-shop-btn:hover:disabled .text { 6896 cursor: not-allowed; 6897 color: rgb(190 106 20 / 70%) !important; 6898 } 6899 .custom-shop-btn:disabled:hover { 6900 cursor: not-allowed; 6901 transition: none; 6902 } 6903</style> 6904
6905<script> 6906 // Ensure this script runs only once, even if the snippet is included multiple times. 6907 if (typeof window.customAddToCartInitialized === 'undefined') { 6908 window.customAddToCartInitialized = true; 6909 6910 document.addEventListener('click', function (event) { 6911 const button = event.target.closest('.custom-shop-btn'); 6912 6913 if (button && button.name === 'add') { 6914 event.preventDefault(); 6915 6916 const variantId = button.getAttribute('data-variant-id'); 6917 if (!variantId) return; 6918 6919 const priceElement = button.querySelector('.price'); 6920 const originalPriceHTML = priceElement ? priceElement.innerHTML : ''; 6921 const textElement = button.querySelector('.text'); 6922 const originalTextHTML = textElement ? textElement.innerHTML : ''; 6923 6924 button.disabled = true; 6925 button.innerHTML = 'Adding...'; 6926 6927 const sellingPlanInput = document.querySelector('[name="selling_plan"]'); 6928 const sellingPlanId = sellingPlanInput?.value; 6929 6930 const payload = { 6931 id: variantId, 6932 quantity: 1 6933 }; 6934 6935 if (sellingPlanId) { 6936 payload.selling_plan = sellingPlanId; 6937 } 6938 6939 fetch('/cart/add.js', { 6940 method: 'POST', 6941 headers: { 6942 'Content-Type': 'application/json', 6943 Accept: 'application/json', 6944 }, 6945 body: JSON.stringify(payload) 6946 }) 6947 .then((response) => { 6948 if (!response.ok) throw new Error('Network error'); 6949 return response.json(); 6950 }) 6951 .then(() => { 6952 button.innerHTML = 'Added â'; 6953 button.style.backgroundColor = '#be6a14'; 6954 button.style.color = '#fff'; 6955 button.style.justifyContent = 'center'; 6956 6957 document.dispatchEvent(new CustomEvent('cart:refresh')); 6958 document.dispatchEvent(new CustomEvent('cart:open')); 6959 6960 setTimeout(() => { 6961 button.disabled = false; 6962 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 6963 button.style.backgroundColor = ''; 6964 button.style.color = ''; 6965 button.style.justifyContent = ''; 6966 }, 2000); 6967 }) 6968 .catch((error) => { 6969 console.error('Add to cart error:', error); 6970 button.disabled = false; 6971 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 6972 // Optionally show an error message to the user 6973 }); 6974 } 6975 }); 6976 } 6977</script>
6977 6978 6979<input type="hidden" name="product-id" value="6798102233143" /><input type="hidden" name="section-id" value="template--23030433120311__product_list_NNFgcy" /></form></product-form-component> 6980</quick-add-component> 6981 6982 6983 6984 6985 6986 6987</div> 6988 6989 6990 6991 6992 6993<div class="product-grid-view-zoom-out--details"> 6994 6995 <h3 class="h4">Agave Dry Heat Protection Spray</h3> 6996 <div class="h6"> 6997 <product-price data-product-id="6798102233143"> 6998 <div class="price-container" ref="priceContainer"> 6999 7000 7001 7002 <span class="price">$30.00</span> 7003 7004 7005 7006</div> 7007 7008 </product-price> 7009 </div> 7010 7011</div> 7012 7013 7014 7015 7016 <a 7017 class="contents user-select-text" 7018 ref="productTitleLink" 7019 href=" 7020/products/agave-dry-heat-hold-styling-mist-5oz?variant=40155490484279" 7021 > 7022 7023 7024 7025 7026 7027 7028 <div 7029 class=" spacing-style text-block text-block--AMkorbGh5UllSVmhEb__product_title_WNMpHe-2 rte 7030 text-block--align-left rte 7031 " 7032 7033 style=" 7034 --padding-block-start: 4px; --padding-block-end:0px; 7035--padding-inline-start:0px; --padding-inline-end:0px; 7036 7037 7038 7039 --width: 100%; 7040 --max-width: var(--max-width--body-normal); 7041 7042 --text-align: left; 7043 7044 7045 7046 " 7047 7048 7049> 7050 <p>Agave Dry Heat Protection Spray</p> 7051 </div> 7052 7053 7054 7055 7056 </a><div class="product-benefit"> 7057 7058 <div class="metafield-rich_text_field"><p>Heat protects + Detangles</p></div> 7059 7060 </div> 7061 7062 7063 7064 7065 7066 7067 7068 7069<product-price 7070 class="text-block text-block--align-left text-left h6 spacing-style" 7071 data-block-id="AOStUem43RWNsRlJBb__price_yXfkPX-2" 7072 data-product-id="6798102233143" 7073 style=" 7074 7075--color: var(--color-foreground); 7076 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 7077 --width: 100%; 7078 " 7079 7080> 7081 <div class="price-container" ref="priceContainer"> 7082 7083 7084 7085 <span class="price">$30.00</span> 7086 7087 7088 7089</div> 7090 7091 7092 7093</product-price> 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 </div> 7104</product-card></product-card-link> 7105
7106<script> 7107(function () { 7108 const CARD_SELECTOR = 'product-card.product-card'; 7109 const TITLE_SELECTOR = 'a[ref="productTitleLink"] .text-block'; 7110 // Optional: if the orange line is a separate element, add its selector here too 7111 const SUBTITLE_SELECTOR = '.product-grid-view-zoom-out--details .h6, .product-grid-view-zoom-out--details .subtitle, .product-card__subtitle'; 7112 7113 let rafId = null; 7114 7115 function equalizeHeights() { 7116 cancelAnimationFrame(rafId); 7117 rafId = requestAnimationFrame(() => { 7118 const cards = Array.from(document.querySelectorAll(CARD_SELECTOR)); 7119 if (!cards.length) return; 7120 7121 // Reset heights before measuring 7122 const titles = []; 7123 const subtitles = []; 7124 7125 cards.forEach(card => { 7126 const t = card.querySelector(TITLE_SELECTOR); 7127 if (t) { 7128 t.style.minHeight = ''; 7129 t.style.height = ''; 7130 titles.push(t); 7131 } 7132 7133 const s = card.querySelector(SUBTITLE_SELECTOR); 7134 if (s) { 7135 s.style.minHeight = ''; 7136 s.style.height = ''; 7137 subtitles.push(s); 7138 } 7139 }); 7140 7141 // Measure max heights 7142 const maxTitle = titles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 7143 const maxSubtitle = subtitles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 7144 7145 // Apply minHeight so longer items can still wrap if needed
7146 titles.forEach(el => { el.style.minHeight = `${Math.ceil(maxTitle)}px`; }); 7147 subtitles.forEach(el => { el.style.minHeight = `${Math.ceil(maxSubtitle)}px`; }); 7148 }); 7149 } 7150 7151 // Run on initial load 7152 if (document.readyState === 'loading') { 7153 document.addEventListener('DOMContentLoaded', equalizeHeights); 7154 } else { 7155 equalizeHeights(); 7156 } 7157 7158 // Run after fonts load (titles can change height) 7159 if (document.fonts && document.fonts.ready) { 7160 document.fonts.ready.then(equalizeHeights).catch(() => {}); 7161 } 7162 7163 // Run on resize (debounced via rAF) 7164 window.addEventListener('resize', equalizeHeights, { passive: true }); 7165 7166 // Run when collection grid changes (filters, infinite scroll, quick view) 7167 const observer = new MutationObserver((mutations) => { 7168 // Only rerun if product cards were added/removed/changed 7169 if (mutations.some(m => m.addedNodes.length || m.removedNodes.length)) { 7170 equalizeHeights(); 7171 } 7172 }); 7173 7174 observer.observe(document.documentElement, { childList: true, subtree: true }); 7175})(); 7176</script>
7176 7177 7178 7179 7180 7181 7182 </div> 7183 7184 7185 <!--@list/split--> 7186 7187 7188 <div 7189 class="resource-list__item" 7190 > 7191 7192 7193 7194 7195 7196 7197 7198<style data-shopify> 7199 7200</style> 7201 7202 7203<product-card-link 7204 data-product-id="7054153711671" 7205 data-featured-media-url="//daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=500" 7206 data-product-transition="true" 7207 7208 ><product-card 7209 class="product-card" 7210 data-product-id="7054153711671" 7211 data-product-variants-size="1" 7212 id="product-card-ASTNBeHRpTytoSTBZW__static-product-card-3" 7213 data-product-transition="true" 7214 7215 7216 7217> 7218 <a 7219 id="4eb27d87d6d37757bdc3d5ad3fc4abc8" 7220 7221 href="/products/agave-dry-heat-hold-styling-mist-mini?variant=41049699647543" 7222 7223 class="product-card__link" 7224 ref="productCardLink" 7225 > 7226 <span class="visually-hidden"> 7227 Agave Dry Heat Protection Spray - Mini 7228 7229 7230 </span> 7231 </a> 7232 7233 7234 <div 7235 class=" 7236 product-card__content 7237 layout-panel-flex 7238 layout-panel-flex--column 7239 product-grid__card 7240 spacing-style 7241 border-style 7242 gap-style 7243 7244 " 7245 style=" 7246 --border-width: 1px; --border-style: none; --border-color: 7247rgb(var(--color-border-rgb) / 1.0); --border-radius: 72480px; 7249 7250 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 7251 7252 7253 7254--horizontal-alignment: ; --vertical-alignment: ; 7255--vertical-alignment-mobile: ; 7256 7257 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 7258 --product-card-gap: 4px; 7259 --quick-add-display: none; 7260 --quick-add-mobile-display: none; 7261 7262 7263 7264 7265 " 7266 > 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276<div 7277 ref="cardGallery" 7278 class="card-gallery card-gallery-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq-3 spacing-style border-style" 7279 style=" 7280 --border-width: 1px; --border-style: none; --border-color: 7281rgb(var(--color-border-rgb) / 1.0); --border-radius: 72820px; 7283 7284 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 7285 --gallery-aspect-ratio: 1.0; 7286 " 7287 data-product-id="7054153711671" 7288 7289 on:pointerenter="/previewImage" 7290 on:pointerleave="/resetImage" 7291 7292 7293 data-view-transition-to-main-product 7294 7295 data-image-ratio="adapt" 7296 7297> 7298 <a 7299 class="contents" 7300 ref="cardGalleryLink" 7301 href=" 7302/products/agave-dry-heat-hold-styling-mist-mini?variant=41049699647543" 7303 aria-label="Agave Dry Heat Protection Spray - Mini" 7304 > 7305 7306 7307 7308<slideshow-component 7309 7310 ref="slideshow" 7311 7312 7313 style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7;" 7314 7315 initial-slide="0" 7316 7317 7318 infinite 7319 7320 7321 data-generic-media-size="7" 7322> 7323 7324 <slideshow-container ref="slideshowContainer"> 7325 7326 <slideshow-arrows 7327 position="center" 7328 7329><button 7330 class=" 7331 slideshow-control slideshow-control--previous 7332 7333 7334 slideshow-control--style-arrow 7335 button button-unstyled button-unstyled--transparent 7336 flip-x 7337 " 7338 7339 aria-label="Previous slide" 7340 7341 on:click="/previous" 7342 ref="previous" 7343> 7344 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 7345</span> 7346</button> 7347<button 7348 class=" 7349 slideshow-control slideshow-control--next 7350 7351 7352 slideshow-control--style-arrow 7353 button button-unstyled button-unstyled--transparent 7354 7355 " 7356 7357 aria-label="Next slide" 7358 7359 on:click="/next" 7360 ref="next" 7361> 7362 <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg> 7363</span> 7364</button> 7365</slideshow-arrows> 7366 7367 7368 7369 <slideshow-slides 7370 tabindex="-1" 7371 ref="scroller" 7372 7373 7374 > 7375 <slideshow-slide 7376 ref="slides[]" 7377 aria-hidden="true" 7378 style="view-timeline-name: --slide-1; --product-media-fit: cover;" 7379 7380 class="product-media-container media-fit product-media-container--image" 7381 7382 7383 7384 7385 slide-id="25794644901943" 7386 7387 7388 7389> 7390 7391 7392<div 7393 class="product-media" 7394 style="--ratio: 1.0" 7395 data-media-id="25794644901943" 7396> 7397 7398 <img src="//daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=3840" alt="Agave Dry Heat Protection Spray - Mini" srcset="//daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=240 240w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=352 352w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=832 832w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=1200 1200w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=1600 1600w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=1920 1920w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=2560 2560w, //daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/Agave_DryHeat_Travel_083-retouch_1200x1200_9e3d110e-beae-439d-bafb-27a9f9f32949.jpg?v=1759163162&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 7399 7400 7401</div> 7402 7403 7404 7405</slideshow-slide> 7406<slideshow-slide 7407 ref="slides[]" 7408 aria-hidden="true" 7409 style="view-timeline-name: --slide-2; --product-media-fit: cover;" 7410 7411 class="product-media-container media-fit product-media-container--image" 7412 7413 7414 7415 7416 slide-id="25794770206775"
7417 7418 7419 7420> 7421 7422 7423<div 7424 class="product-media" 7425 style="--ratio: 1.0" 7426 data-media-id="25794770206775" 7427> 7428 7429 <img src="//daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=3840" alt="Agave Dry Heat Protection Spray - Mini" srcset="//daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=240 240w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=352 352w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=832 832w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=1200 1200w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=1600 1600w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=1920 1920w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=2560 2560w, //daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/13_1200x1200_ea27c72b-e433-4915-8bac-ab1637ff8798.jpg?v=1767987837&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 7430 7431 7432</div> 7433 7434 7435 7436</slideshow-slide> 7437<slideshow-slide 7438 ref="slides[]" 7439 aria-hidden="true" 7440 style="view-timeline-name: --slide-3; --product-media-fit: cover;" 7441 7442 class="product-media-container media-fit product-media-container--image" 7443 7444 7445 7446 7447 slide-id="25794643525687" 7448 7449 7450 7451> 7452 7453 7454<div 7455 class="product-media" 7456 style="--ratio: 1.0" 7457 data-media-id="25794643525687" 7458> 7459 7460 <img src="//daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=3840" alt="Agave Dry Heat Protection Spray - Mini" srcset="//daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=240 240w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=352 352w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=832 832w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=1200 1200w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=1600 1600w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=1920 1920w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=2560 2560w, //daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/dae_dryheat_2_1200x1200_1e5c6fe6-f653-425c-acce-4d9b8bb98458.jpg?v=1767987837&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 7461 7462 7463</div> 7464 7465 7466 7467</slideshow-slide> 7468<slideshow-slide 7469 ref="slides[]" 7470 aria-hidden="true" 7471 style="view-timeline-name: --slide-4; --product-media-fit: cover;" 7472 7473 class="product-media-container media-fit product-media-container--image" 7474 7475 7476 7477 7478 slide-id="25794643623991" 7479 7480 7481 7482> 7483 7484 7485<div 7486 class="product-media" 7487 style="--ratio: 1.0" 7488 data-media-id="25794643623991" 7489> 7490 7491 <img src="//daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=3840" alt="Agave Dry Heat Protection Spray - Mini" srcset="//daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=240 240w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=352 352w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=832 832w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=1200 1200w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=1600 1600w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=1920 1920w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=2560 2560w, //daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/DHM_1200x1200_19a833f1-3ee4-42bb-8cda-79b51ac704d6.gif?v=1767987837&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 7492 7493 7494</div> 7495 7496 7497 7498</slideshow-slide> 7499<slideshow-slide 7500 ref="slides[]" 7501 aria-hidden="true" 7502 style="view-timeline-name: --slide-5; --product-media-fit: cover;" 7503 7504 class="product-media-container media-fit product-media-container--image" 7505 7506 7507 7508 7509 slide-id="25794643558455" 7510 7511 7512 7513> 7514 7515 7516<div 7517 class="product-media" 7518 style="--ratio: 1.0" 7519 data-media-id="25794643558455" 7520> 7521 7522 <img src="//daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=3840" alt="Agave Dry Heat Protection Spray - Mini" srcset="//daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=240 240w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=352 352w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=832 832w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=1200 1200w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=1600 1600w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=1920 1920w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=2560 2560w, //daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="true" data_max_resolution="//daehair.com/cdn/shop/files/dae_dryheat_3_1200x1200_bc76a63c-c3f2-47d4-9435-98cd1dd65bc3.jpg?v=1767987837&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 7523 7524 7525</div> 7526 7527 7528 7529</slideshow-slide> 7530 7531 </slideshow-slides> 7532 </slideshow-container> 7533 7534</slideshow-component> 7535 7536 </a> 7537 7538 7539 <div 7540 class="product-badges product-badges--top-left" 7541 style=" 7542 --badge-border-radius: 100px; 7543 --badge-font-family: var(--font-body--family);
7544 --badge-font-weight: var(--font-body--weight); 7545 --badge-text-transform: none; 7546 " 7547> 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561</div> 7562 7563 7564 7565 7566 7567 7568<quick-add-component 7569 class="quick-add color-scheme-1 " 7570 ref="quickAdd" 7571 data-product-title="Agave Dry Heat Protection Spray - Mini" 7572> 7573 <product-form-component 7574 data-section-id="template--23030433120311__product_list_NNFgcy" 7575 data-product-id="7054153711671" 7576 on:submit="/handleSubmit" 7577 class=" 7578 quick-add__product-form-component 7579 quick-add__product-form-component--single-option 7580 quick-add__product-form-component--single-variant 7581 " 7582 > 7583 <div 7584 class="visually-hidden" 7585 aria-live="assertive" 7586 role="status" 7587 aria-atomic="true" 7588 ref="liveRegion" 7589 ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-7054153711671-AeWkvSytYMnlFZW4wW__product_card_gallery_PEPpfq-3" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 7590 type="hidden" 7591 name="id" 7592 ref="variantId" 7593 value="41049699647543" 7594 7595 > 7596 <input 7597 type="hidden" 7598 name="quantity" 7599 value="1" 7600 > 7601 7602 7603 7604 7605 7606 <button 7607 type="submit" 7608 name="add" 7609 class="custom-shop-btn" 7610 data-variant-id="41049699647543" 7611 > 7612 <span class="text">Add to bag</span> 7613 <span class="price">$16.00</span> 7614 </button> 7615 7616 7617 7618<style> 7619 .custom-shop-btn { 7620 display: flex; 7621 justify-content: space-between; 7622 align-items: center; 7623 width: 100%; 7624 padding: 10px 24px; 7625 border: 1px solid #be6a14; 7626 border-radius: 30px; 7627 color: #be6a14; 7628 background-color: transparent; 7629 font-size: 14px; 7630 font-family: 'GT America', sans-serif; 7631 text-decoration: none; 7632 transition: background-color 0.3s, color 0.3s; 7633 font-weight: 500; 7634 cursor: pointer; 7635 min-height: 45px; /* Ensure consistent height */ 7636 } 7637 7638 .custom-shop-btn:hover:not(:disabled) { 7639 background-color: #be6a14; 7640 color: #fff; 7641 } 7642 7643 .custom-shop-btn .price { 7644 font-weight: 600; 7645 } 7646 7647 .custom-shop-btn .text { 7648 font-weight: 600; 7649 } 7650 7651 .custom-shop-btn:disabled { 7652 cursor: not-allowed; 7653 opacity: 0.7; 7654 } 7655 .custom-shop-btn:hover:disabled .text { 7656 cursor: not-allowed; 7657 color: rgb(190 106 20 / 70%) !important; 7658 } 7659 .custom-shop-btn:disabled:hover { 7660 cursor: not-allowed; 7661 transition: none; 7662 } 7663</style> 7664
7665<script> 7666 // Ensure this script runs only once, even if the snippet is included multiple times. 7667 if (typeof window.customAddToCartInitialized === 'undefined') { 7668 window.customAddToCartInitialized = true; 7669 7670 document.addEventListener('click', function (event) { 7671 const button = event.target.closest('.custom-shop-btn'); 7672 7673 if (button && button.name === 'add') { 7674 event.preventDefault(); 7675 7676 const variantId = button.getAttribute('data-variant-id'); 7677 if (!variantId) return; 7678 7679 const priceElement = button.querySelector('.price'); 7680 const originalPriceHTML = priceElement ? priceElement.innerHTML : ''; 7681 const textElement = button.querySelector('.text'); 7682 const originalTextHTML = textElement ? textElement.innerHTML : ''; 7683 7684 button.disabled = true; 7685 button.innerHTML = 'Adding...'; 7686 7687 const sellingPlanInput = document.querySelector('[name="selling_plan"]'); 7688 const sellingPlanId = sellingPlanInput?.value; 7689 7690 const payload = { 7691 id: variantId, 7692 quantity: 1 7693 }; 7694 7695 if (sellingPlanId) { 7696 payload.selling_plan = sellingPlanId; 7697 } 7698 7699 fetch('/cart/add.js', { 7700 method: 'POST', 7701 headers: { 7702 'Content-Type': 'application/json', 7703 Accept: 'application/json', 7704 }, 7705 body: JSON.stringify(payload) 7706 }) 7707 .then((response) => { 7708 if (!response.ok) throw new Error('Network error'); 7709 return response.json(); 7710 }) 7711 .then(() => { 7712 button.innerHTML = 'Added â'; 7713 button.style.backgroundColor = '#be6a14'; 7714 button.style.color = '#fff'; 7715 button.style.justifyContent = 'center'; 7716 7717 document.dispatchEvent(new CustomEvent('cart:refresh')); 7718 document.dispatchEvent(new CustomEvent('cart:open')); 7719 7720 setTimeout(() => { 7721 button.disabled = false; 7722 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 7723 button.style.backgroundColor = ''; 7724 button.style.color = ''; 7725 button.style.justifyContent = ''; 7726 }, 2000); 7727 }) 7728 .catch((error) => { 7729 console.error('Add to cart error:', error); 7730 button.disabled = false; 7731 button.innerHTML = `<span class="text">${originalTextHTML}</span><span class="price">${originalPriceHTML}</span>`; 7732 // Optionally show an error message to the user 7733 }); 7734 } 7735 }); 7736 } 7737</script>
7737 7738 7739<input type="hidden" name="product-id" value="7054153711671" /><input type="hidden" name="section-id" value="template--23030433120311__product_list_NNFgcy" /></form></product-form-component> 7740</quick-add-component> 7741 7742 7743 7744 7745 7746 7747</div> 7748 7749 7750 7751 7752 7753<div class="product-grid-view-zoom-out--details"> 7754 7755 <h3 class="h4">Agave Dry Heat Protection Spray - Mini</h3> 7756 <div class="h6"> 7757 <product-price data-product-id="7054153711671"> 7758 <div class="price-container" ref="priceContainer"> 7759 7760 7761 7762 <span class="price">$16.00</span> 7763 7764 7765 7766</div> 7767 7768 </product-price> 7769 </div> 7770 7771</div> 7772 7773 7774 7775 7776 <a 7777 class="contents user-select-text" 7778 ref="productTitleLink" 7779 href=" 7780/products/agave-dry-heat-hold-styling-mist-mini?variant=41049699647543" 7781 > 7782 7783 7784 7785 7786 7787 7788 <div 7789 class=" spacing-style text-block text-block--AMkorbGh5UllSVmhEb__product_title_WNMpHe-3 rte 7790 text-block--align-left rte 7791 " 7792 7793 style=" 7794 --padding-block-start: 4px; --padding-block-end:0px; 7795--padding-inline-start:0px; --padding-inline-end:0px; 7796 7797 7798 7799 --width: 100%; 7800 --max-width: var(--max-width--body-normal); 7801 7802 --text-align: left; 7803 7804 7805 7806 " 7807 7808 7809> 7810 <p>Agave Dry Heat Protection Spray - Mini</p> 7811 </div> 7812 7813 7814 7815 7816 </a><div class="product-benefit"> 7817 7818 <div class="metafield-rich_text_field"><p>Heat protects + Detangles</p></div> 7819 7820 </div> 7821 7822 7823 7824 7825 7826 7827 7828 7829<product-price 7830 class="text-block text-block--align-left text-left h6 spacing-style" 7831 data-block-id="AOStUem43RWNsRlJBb__price_yXfkPX-3" 7832 data-product-id="7054153711671" 7833 style=" 7834 7835--color: var(--color-foreground); 7836 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 7837 --width: 100%; 7838 " 7839 7840> 7841 <div class="price-container" ref="priceContainer"> 7842 7843 7844 7845 <span class="price">$16.00</span> 7846 7847 7848 7849</div> 7850 7851 7852 7853</product-price> 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 </div> 7864</product-card></product-card-link> 7865
7866<script> 7867(function () { 7868 const CARD_SELECTOR = 'product-card.product-card'; 7869 const TITLE_SELECTOR = 'a[ref="productTitleLink"] .text-block'; 7870 // Optional: if the orange line is a separate element, add its selector here too 7871 const SUBTITLE_SELECTOR = '.product-grid-view-zoom-out--details .h6, .product-grid-view-zoom-out--details .subtitle, .product-card__subtitle'; 7872 7873 let rafId = null; 7874 7875 function equalizeHeights() { 7876 cancelAnimationFrame(rafId); 7877 rafId = requestAnimationFrame(() => { 7878 const cards = Array.from(document.querySelectorAll(CARD_SELECTOR)); 7879 if (!cards.length) return; 7880 7881 // Reset heights before measuring 7882 const titles = []; 7883 const subtitles = []; 7884 7885 cards.forEach(card => { 7886 const t = card.querySelector(TITLE_SELECTOR); 7887 if (t) { 7888 t.style.minHeight = ''; 7889 t.style.height = ''; 7890 titles.push(t); 7891 } 7892 7893 const s = card.querySelector(SUBTITLE_SELECTOR); 7894 if (s) { 7895 s.style.minHeight = ''; 7896 s.style.height = ''; 7897 subtitles.push(s); 7898 } 7899 }); 7900 7901 // Measure max heights 7902 const maxTitle = titles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 7903 const maxSubtitle = subtitles.reduce((max, el) => Math.max(max, el.getBoundingClientRect().height), 0); 7904 7905 // Apply minHeight so longer items can still wrap if needed
7906 titles.forEach(el => { el.style.minHeight = `${Math.ceil(maxTitle)}px`; }); 7907 subtitles.forEach(el => { el.style.minHeight = `${Math.ceil(maxSubtitle)}px`; }); 7908 }); 7909 } 7910 7911 // Run on initial load 7912 if (document.readyState === 'loading') { 7913 document.addEventListener('DOMContentLoaded', equalizeHeights); 7914 } else { 7915 equalizeHeights(); 7916 } 7917 7918 // Run after fonts load (titles can change height) 7919 if (document.fonts && document.fonts.ready) { 7920 document.fonts.ready.then(equalizeHeights).catch(() => {}); 7921 } 7922 7923 // Run on resize (debounced via rAF) 7924 window.addEventListener('resize', equalizeHeights, { passive: true }); 7925 7926 // Run when collection grid changes (filters, infinite scroll, quick view) 7927 const observer = new MutationObserver((mutations) => { 7928 // Only rerun if product cards were added/removed/changed 7929 if (mutations.some(m => m.addedNodes.length || m.removedNodes.length)) { 7930 equalizeHeights(); 7931 } 7932 }); 7933 7934 observer.observe(document.documentElement, { childList: true, subtree: true }); 7935})(); 7936</script>
7936 7937 7938 7939 7940 7941 7942 </div> 7943 7944 7945 7946 7947 7948 7949 7950 7951</div> 7952 7953 7954 7955 7956 7957 <div 7958 class="section-resource-list__content" 7959 style="--horizontal-alignment: flex-start;" 7960 ></div> 7961</div> 7962 7963<style data-shopify> 7964 #shopify-section-template--23030433120311__product_list_NNFgcy ol.slideshow-controls__dots { 7965 list-style: none; 7966 display: inline-flex; 7967 margin-bottom: 0; 7968 height: 20px; 7969 margin-block-start: 0; 7970 margin-block-end: 0; 7971 padding-inline-start: 0; 7972 line-height: unset; 7973 } 7974 #shopify-section-template--23030433120311__product_list_NNFgcy slideshow-controls.desktop\:hidden.media-gallery__mobile-controls { 7975 height: 10px; 7976 position: relative; 7977 min-height: unset; 7978 margin-bottom: 12px; 7979 } 7980 #shopify-section-template--23030433120311__product_list_NNFgcy .slideshow-controls__dots li { 7981 margin: 0 5px; 7982 display: inline-block; 7983 list-style-position: unset; 7984 } 7985 #shopify-section-template--23030433120311__product_list_NNFgcy .slideshow-controls__dots button, 7986 #shopify-section-template--23030433120311__product_list_NNFgcy .slideshow-controls__dots .button { 7987 padding-inline-end: 0; 7988 padding-inline-start: 0; 7989 padding-block-end: 0; 7990 padding-block-start: 0; 7991 padding-top: 2px !important; 7992 padding-bottom: 2px !important; 7993 width: 8px !important; 7994 height: 8px !important; 7995 column-gap: 0 !important; 7996 font-size: 0; 7997 min-height: unset; 7998 color: transparent; 7999 background-color: #e0b9a9; 8000 } 8001 #shopify-section-template--23030433120311__product_list_NNFgcy .slideshow-controls__dots .slideshow-control[aria-selected="true"] { 8002 outline: 0px !important; 8003 background-color: #fb5273; 8004 } 8005</style> 8006 8007 8008 8009</div> 8010</main> 8011 8012<!-- BEGIN sections: footer-group --> 8013<div id="shopify-section-sections--23030426894391__custom_footer_FCkbqk" class="shopify-section shopify-section-group-footer-group"> 8014 8015 <div class=""> 8016 <div class="svg-container"> 8017 <svg viewBox="0 0 1000 200" preserveAspectRatio="xMidYMid meet"> 8018 8019 <defs> 8020 <path id="wavePathText" 8021 d="M0,100 C 350,30 750,390 1000,60" 8022 stroke="none" fill="none"/> 8023 8024 <path id="waveShape" 8025 d="M0,100 C 350,30 750,390 1000,60 L1000,220 L0,220 Z" 8026 class="color-wave"/> 8027 </defs> 8028 8029 <use href="#waveShape"/> 8030 8031 <text class="curved-marquee-text"> 8032 <textPath href="#wavePathText" startOffset="0%" id="scrollingTextPath"> 8033 8034  dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style â¢Â dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style â¢Â dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠dae ⢠hair ⢠beauty ⢠style ⢠8035 8036 </textPath> 8037 </text> 8038 8039 8040 </svg> 8041 </div> 8042 8043 <footer class="dae-footer"> 8044 8045 8046 <!-- Main Footer --> 8047<div class="footer-main"> 8048 <div class="footer-left"> 8049 <div class="footer-logo"> 8050 8051 8052 <img 8053 src="//daehair.com/cdn/shop/files/dae_logo_5468a49f-154c-4e6d-bd12-856ca2aa8b3a.png?v=1761567348" 8054 alt="DAE Logo" 8055 class="footer-logo-img" 8056 loading="lazy" 8057 > 8058 8059 8060 8061 <p class="footer_des">
8061Your new self-care starts here</p> 8062 8063 8064 </div> 8065 8066 8067 8068 <div 8069 class="yotpo yotpo-pictures-widget" 8070 data-gallery-id="6601b3ae07e2f22ae8191cec"> 8071</div> 8072 <div class="footer-gallery"> 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084</div> 8085 </div> 8086 8087 <!-- Footer Menus + Newsletter --> 8088 8089 <div class="footer-links-section"> 8090 <div class="footer-newsletter"> 8091 <h4 class="newsletter_heading"> 8092 8093 Stay up to date! 8094 8095 </h4> 8096 <p class="newsletter_des"> 8097 8098 Sign up for exclusive offers and updates. 8099 8100 </p> 8101<form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 8102 <input 8103 type="email" 8104 name="contact[email]" 8105 id="NewsletterEmail" 8106 class="newsletter-input" 8107 placeholder="Enter your email" 8108 aria-label="Email address" 8109 required 8110 > 8111 8112 <button type="submit" class="newsletter-btn"> 8113 Subscribe 8114 </button> 8115 8116 8117</form> 8118 8119 8120 </div> 8121 8122 8123 8124<div class="custom_mobile_faq_menu"> 8125 <div class="faq-item"><span>SHOP</span><span class="icon">+</span></div> 8126 <div class="faq-content"> 8127 <a href="#">New Arrivals</a> 8128 <a href="/collections/best-sellers">Best Sellers</a> 8129 <a href="/products/gift-card">Gift Cards</a> 8130 </div> 8131 8132 <div class="faq-item"><span>REWARDS</span><span class="icon">+</span></div> 8133 <div class="faq-content"> 8134 <a href="#">How It Works</a> 8135 <a href="#">Earn Points</a> 8136 <a href="/pages/rewards"> Redeem Rewards</a> 8137 </div> 8138 8139 <div class="faq-item"><span>SUPPORT</span><span class="icon">+</span></div> 8140 <div class="faq-content"> 8141 <a href="/pages/contact-us">Contact Us</a> 8142 <a href="/pages/tracking">Track Order</a> 8143 <a href="/pages/return-policy">Returns & Exchanges</a> 8144 </div> 8145 8146 <div class="faq-item"><span>POLICIES</span><span class="icon">+</span></div> 8147 <div class="faq-content"> 8148 <a href="/pages/privacy-policy">Privacy Policy</a> 8149 <a href="/pages/terms-and-conditions">Terms & Conditions</a> 8150 <a href="#">Shipping Policy</a> 8151 </div> 8152</div> 8153 8154 8155 <div class="footer-links"> 8156 8157 8158 <div class="footer-menu"> 8159 8160 <h4>Shop</h4> 8161 8162 8163 8164 8165 <ul> 8166 8167 <li><a href="/collections/shop-all">Shop All</a></li> 8168 8169 <li><a href="/products/gift-card">Gift Cards</a></li> 8170 8171 <li><a href="/pages/subscribe-save-1">Subscribe + Save</a></li> 8172 8173 <li><a href="https://daehair.com/pages/rewards">Daedreamers Club</a></li> 8174 8175 </ul> 8176 8177 </div> 8178 8179 8180 8181 <div class="footer-menu"> 8182 8183 <h4>About</h4> 8184 8185 8186 8187 8188 <ul> 8189 8190 <li><a href="/pages/meet-dae">About Us</a></li> 8191 8192 <li><a href="/pages/sustainability">Sustainability</a></li> 8193 8194 <li><a href="/pages/faqs">FAQ</a></li> 8195 8196 </ul> 8197 8198 </div> 8199 8200 8201 8202 <div class="footer-menu"> 8203 8204 <h4>Support</h4> 8205 8206 8207 8208 8209 <ul> 8210 8211 <li><a href="/pages/privacy-policy">Privacy Policy</a></li> 8212 8213 <li><a href="/pages/ca-privacy-rights">Other States' Privacy Policies</a></li> 8214 8215 <li><a href="/pages/do-not-sell-my-information">Do Not Sell</a></li> 8216 8217 <li><a href="https://daehair.com/pages/dae-accessibility-statement">Accessibility Statement</a></li> 8218 8219 <li><a href="/pages/terms-and-conditions">Terms of Use</a></li> 8220 8221 <li><a href="/pages/return-policy">Return Policy</a></li> 8222 8223 </ul> 8224 8225 </div> 8226 8227 8228 8229 8230 8231 8232 </div> 8233 8234 8235 8236 </div> 8237 8238<div class="footer-bottom-bar"> 8239 8240 8241 <div class="footer-social"> 8242 8243 8244 8245 8246 8247 8248 8249 8250 <a href="https://www.instagram.com/daehair/" target="_blank"> 8251 <i class="fab fa-instagram"></i> 8252 </a> 8253 8254 8255 8256 <a href="https://www.tiktok.com/@daehair?lang=en" target="_blank"> 8257 <i class="fab fa-tiktok""></i> 8258 </a> 8259 8260 8261 </div> 8262 8263 8264 8265 <div class="footer-credit"> 8266 8267 8268 <p class="footer-credit-text"> © 2026 DaehairâAll rights reserved </p> 8269 8270 </div> 8271</div> 8272</div> 8273</footer> 8274 8275 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.css"/> 8276<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick-theme.css"/> 8277<style> 8278 8279.footer-links-section .faq-item { 8280 display: flex; 8281 justify-content: space-between; 8282} 8283 .dae-footer { 8284 background-color: #d8a58a; 8285 font-family: "Poppins", sans-serif; 8286 position: relative; 8287 overflow: hidden; 8288 } 8289 8290 /* Main Footer */ 8291 .footer-main { 8292 padding: 0px 40px; 8293 max-width:1482px;
8294 margin:0 auto; 8295 } 8296 .footer-left { 8297 flex: 1 1 200px; 8298 } 8299 .footer-logo { 8300 font-size: 42px; 8301 margin: 0; 8302 } 8303 .footer-gallery { 8304 display: flex; 8305 gap: 15px; 8306 flex-wrap: wrap; 8307 } 8308 .footer-links-section { 8309 display: flex; 8310 flex-wrap: wrap; 8311 justify-content: space-between; 8312 padding: 40px 0px; 8313 text-align: left; 8314 } 8315 8316 .footer-links{ 8317 width: 35%; 8318 display: flex; 8319 gap: 24px; 8320 } 8321 .footer-newsletter { 8322 width: 40%; 8323 } 8324 .footer-logo-img { 8325 width: 160px; 8326 height: auto; 8327 margin-bottom: 30px; 8328 display: block; 8329 } 8330 8331 .footer-menu h4 { 8332 font-size: 18px; 8333 margin-bottom: 10px; 8334 color: #fffcf5; 8335 font-family: "GT America Extended Bold", "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8336 } 8337 .footer-menu ul { 8338 list-style: none; 8339 padding: 0; 8340 } 8341 .footer-menu ul li { 8342 margin-bottom: 6px; 8343 } 8344 .footer-menu ul li a { 8345 text-decoration: none; 8346 color: #fffcf5; 8347 font-weight: 500; 8348 font-family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8349 } 8350 .footer-menu ul li a:hover { 8351 text-decoration: underline; 8352 } 8353 8354 .footer-logo { 8355 padding-bottom: 20px; 8356 } 8357 8358 .footer-logo p { 8359 font-size: 18px; 8360 color: #fffcf5; 8361 font-family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8362} 8363 .footer-newsletter h4 { 8364 margin: 0px; 8365 font-size: 34px; 8366 color: #fffcf5; 8367 font-family: var(--font-louize-display); 8368 } 8369 8370 .footer-newsletter p { 8371 color: #fffcf5; 8372 font-size: 16px; 8373 font-family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8374 } 8375 8376 .footer-newsletter input { 8377 width: 65%; 8378 padding: 10px 10px 10px 20px; 8379 background: transparent; 8380 border: 2px solid #fffcf5; 8381 border-radius: 31px; 8382 } 8383 8384 .footer-newsletter input::placeholder { 8385 color: #fffcf5; 8386 font-family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8387 } 8388 8389 .footer-newsletter button { 8390 padding: 12px 45px; 8391 background: #fb5273; 8392 border: 2px solid #fb5273; 8393 border-radius: 31px; 8394 color: #fffcf5; 8395 width: 200px; 8396 font-size: 16px; 8397 letter-spacing: 0.2px; 8398 cursor: pointer; 8399 font-weight: 600; 8400 font-family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8401 transition: all 0.3s ease; 8402} 8403 8404 .footer-gallery img { 8405 flex: 1; 8406 height: 300px; 8407 width: 100%; 8408 object-fit: cover; 8409 margin-right:10px; 8410 } 8411 8412 .footer-newsletter button:hover { 8413 background: #BE6A14; 8414 border-color: #BE6A14; 8415 } 8416 8417 .footer-bottom-bar { 8418 display: flex; 8419 justify-content: space-between; 8420 padding-bottom: 50px; 8421 } 8422 8423 .footer-social { 8424 display: flex; 8425 gap: 10px; 8426 } 8427 8428 .footer-social a i { 8429 color: #fffcf5; 8430 font-size: 18px; 8431 } 8432 8433 .footer-credit p { 8434 color: #fffcf5; 8435 font-size: 16px; 8436 font-family: "GT America", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; 8437 } 8438 8439 8440 .container { 8441 width: 100%; 8442 max-width:100%; 8443 } 8444 8445 .header-text { 8446 text-align: center; 8447 font-size: 1.5em; 8448 color: #8b4513; 8449 margin-bottom: 10px; 8450 } 8451 8452 .svg-container { 8453 width: 100%; 8454 height: auto; 8455 overflow: hidden; 8456 position: relative; 8457 } 8458 8459 .svg-container svg { 8460 width: 100%; 8461 height: auto; 8462 display: block; 8463 } 8464 8465 .color-wave { 8466 fill: #d8a58a; 8467 stroke: none; 8468 } 8469 8470 .curved-marquee-text { 8471 font-family: "GT Eesti Display Medium", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, "Inter", Helvetica, Arial, sans-serif !important; 8472 font-size: 10px; 8473 font-weight: 500; 8474 text-transform: uppercase; 8475 8476 fill: #c6947e; 8477 transform: translateY(-5px); /* ð¹ fine adjustment */ 8478 } 8479 8480 div#shopify-section-sections--17061127520311__custom_footer_FCkbqk { 8481 position: relative; 8482 margin-top: -150px; 8483 } 8484 8485 8486 8487 8488 8489 8490 8491 @media (max-width: 767px){ 8492 8493 div#shopify-section-sections--17061127520311__custom_footer_FCkbqk { 8494 position: relative; 8495 margin-top: -100px; 8496 } 8497 .curved-marquee-text { 8498 display:none !important; 8499 } 8500 8501 8502 .footer-newsletter input { 8503 width: 60%; 8504 padding: 10px 10px 10px 20px; 8505 background: transparent; 8506 border: 2px solid #fffcf5; 8507 border-radius: 31px; 8508 margin-bottom: 10px; 8509 } 8510 8511 .footer-newsletter { 8512 width: 100%; 8513 } 8514 8515 .footer-links { 8516 display:none; 8517 } 8518 8519 .footer-links-section { 8520 padding-top: 0;
8521 } 8522 .footer-logo-img { 8523 width: 100px; 8524 margin-bottom: 16px; 8525 } 8526 .footer-logo p { 8527 font-size: 16px; 8528 } 8529 8530 .custom_mobile_faq_menu { 8531 color: #fffcf5; 8532 max-width: 100%; 8533 margin: 0 auto; 8534 width: 100%; 8535 padding-top: 20px; 8536 8537 } 8538 8539stom_mobile_faq_menu .faq-item { 8540 border-bottom: 1px solid #f5d5c2; 8541 padding: 14px 0px; 8542 display: flex; 8543 justify-content: space-between; 8544 align-items: center; 8545 cursor: pointer; 8546 font-size: 14px; 8547 font-weight: 500; 8548 letter-spacing: 0.5px; 8549} 8550.custom_mobile_faq_menu .faq-content { 8551 display: none; 8552 padding:10px 0px; 8553 font-size: 13px; 8554 opacity: 0.9; 8555} 8556div.faq-content a { 8557 color: #fff; 8558 display: block; 8559} 8560div.faq-content a:hover { 8561 color: #fff; 8562 text-decoration: underline; 8563} 8564} 8565 8566@media (min-width: 768px){ 8567 .custom_mobile_faq_menu{ 8568 display:none !important;} 8569} 8570 8571#footer-newsletter { 8572 display: flex; 8573 flex-direction: row; 8574 gap: 10px; 8575} 8576 8577@media (max-width: 767px) { 8578 #footer-newsletter { 8579 flex-direction: column; 8580 width: 100%; 8581 gap: 6px; 8582 } 8583 8584 #footer-newsletter * { 8585 width: 100%; 8586 } 8587 8588 .footer-bottom-bar { 8589 display: flex; 8590 flex-direction: column; 8591 justify-content: center; 8592 align-items: center; 8593 gap: 10px; 8594 padding-bottom: 50px; 8595 } 8596} 8597 8598/* Yotpo "Load More" button wrapper */ 8599.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white { 8600 display: inline-flex; 8601 align-items: center; 8602 justify-content: center; 8603 8604 border-radius: 999px; 8605 border: 2px solid var(--yotpo-btn-border, #fffcf5); 8606 background: var(--yotpo-btn-bg, transparent); 8607 8608 /* match your pill button vibe */ 8609 transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease; 8610} 8611 8612/* Yotpo "Load More" button wrapper */ 8613.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white { 8614 display: inline-flex; 8615 align-items: center; 8616 justify-content: center; 8617 8618 border-radius: 999px; 8619 border: 2px solid var(--yotpo-btn-border, #fffcf5); 8620 background: var(--yotpo-btn-bg, transparent); 8621 8622 /* match your pill button vibe */ 8623 transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease; 8624} 8625 8626/* Make the span behave like the clickable button */ 8627.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white 8628 .yotpo-icon-button-text { 8629 display: inline-flex; 8630 align-items: center; 8631 justify-content: center; 8632 min-width: 200px; 8633 8634 /* full hit area */ 8635 padding: 12px 45px; 8636 width: 100%; 8637 8638 /* typography */ 8639 font-family: var(--font-body--family, inherit); 8640 font-size: 16px; 8641 font-weight: 600; 8642 letter-spacing: 0.2px; 8643 line-height: 1; 8644 text-transform: none; 8645 8646 color: var(--yotpo-btn-text, #fffcf5); 8647 8648 cursor: pointer; 8649 user-select: none; 8650} 8651 8652/* Hover on wrapper (covers mouse hover + span hover) */ 8653.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white:hover, 8654.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white:has(.yotpo-icon-button-text:hover) { 8655 background: var(--yotpo-btn-hover-bg, #6b3b2b); 8656 border-color: var(--yotpo-btn-hover-border, #6b3b2b); 8657 transform: translateY(-1px); 8658} 8659 8660.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white:hover 8661 .yotpo-icon-button-text { 8662 color: var(--yotpo-btn-hover-text, #ffffff); 8663} 8664 8665.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white:active { 8666 transform: translateY(0); 8667} 8668 8669/* Accessible focus ring on the actual interactive element (span) */ 8670.yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white 8671 .yotpo-icon-button-text:focus-visible { 8672 outline: 2px solid currentColor; 8673 outline-offset: 3px; 8674 border-radius: 999px; 8675} 8676 8677/* Mobile tweak */ 8678@media (max-width: 639px) { 8679 .yotpo-default-button.yotpo-icon-btn.yotpo-load-more-button.load-btn-white 8680 .yotpo-icon-button-text { 8681 font-size: 15px; 8682 padding: 11px 28px; 8683 } 8684} 8685 8686 8687</style> 8688 8689
8690<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
vendor: 2 bytes, line 8690
8690
8691<script src="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
vendor: 2 bytes, line 8691
8691
8692<script> 8693 const textPath = document.getElementById('scrollingTextPath'); 8694 8695 let offset = 0; 8696 const speed = 0.06; // ð¹ Slower speed (was 0.2) 8697 const resetPoint = -100; // ð¹ Adjusted loop for smooth continuous scroll 8698 8699 function animateMarquee() { 8700 offset -= speed; 8701 8702 // Smooth infinite loop (no visible jump) 8703 if (offset <= resetPoint) { 8704 offset = 0; 8705 } 8706 8707 textPath.setAttribute('startOffset', offset + '%'); 8708 8709 requestAnimationFrame(animateMarquee); 8710 } 8711 8712 animateMarquee(); 8713 8714$('.footer-gallery').slick({ 8715 infinite: true, 8716 slidesToShow: 4, 8717 slidesToScroll: 1, 8718 autoplay: true, 8719 autoplaySpeed: 2000, 8720 arrows: false, 8721 responsive: [ 8722 { 8723 breakpoint: 768, 8724 settings: { 8725 slidesToShow: 2 8726 } 8727 }, 8728 { 8729 breakpoint: 480, 8730 settings: { 8731 slidesToShow: 1 8732 } 8733 } 8734 ] 8735}); 8736 8737document.querySelectorAll('.custom_mobile_faq_menu .faq-item').forEach(item => { 8738 item.addEventListener('click', () => { 8739 const icon = item.querySelector('.icon'); 8740 const content = item.nextElementSibling; 8741 const open = icon.textContent === 'â'; 8742 icon.textContent = open ? '+' : 'â'; 8743 content.style.display = open ? 'none' : 'block'; 8744 }); 8745}); 8746 8747</script>
8747 8748 8749 8750<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> 8751 8752<style data-shopify> 8753#shopify-section-sections--23030426894391__custom_footer_FCkbqk .svg-container svg { 8754 margin-top: -90px; 8755 } 8756 @media (max-width: 1380px) { 8757 #shopify-section-sections--23030426894391__custom_footer_FCkbqk .svg-container svg { 8758 margin-top: -70px; 8759 } 8760} 8761 @media (max-width: 1024px) { 8762 #shopify-section-sections--23030426894391__custom_footer_FCkbqk .svg-container svg { 8763 margin-top: -40px; 8764 } 8765} 8766@media (max-width: 860px) { 8767 #shopify-section-sections--23030426894391__custom_footer_FCkbqk .svg-container svg { 8768 margin-top: -40px; 8769 } 8770} 8771@media (max-width: 768px) { 8772 #shopify-section-sections--23030426894391__custom_footer_FCkbqk .svg-container svg { 8773 margin-top: -20px; 8774 } 8775} 8776 8777</style> 8778 8779 8780 8781 8782</div> 8783<!-- END sections: footer-group -->
8784<script 8785 src="//daehair.com/cdn/shop/t/364/assets/dialog.js?v=122984339961420548111790696530" 8786 type="module" 8787></script>
8787 8788 8789<dialog-component 8790 id="search-modal" 8791 class="search-modal" 8792 8793> 8794 <dialog 8795 ref="dialog" 8796 on:click="/closeDialogOnClickOutside" 8797 on:keydown="/closeDialogOnEscapePress" 8798 class="search-modal__content dialog-modal" 8799 scroll-lock 8800 aria-labelledby="search-modal-heading" 8801 > 8802 <h2 8803 id="search-modal-heading" 8804 class="visually-hidden" 8805 > 8806 Search 8807 </h2> 8808
8808<script 8809 src="//daehair.com/cdn/shop/t/364/assets/predictive-search.js?v=130823810796441435661790696530" 8810 type="module" 8811 fetchpriority="low" 8812></script>
8812 8813 8814<predictive-search-component 8815 class="predictive-search color-scheme-1" 8816 style="--product-corner-radius: 0px; --card-corner-radius: 4px;" 8817 data-section-id="predictive-search" 8818 data-testid="search-component--modal" 8819 role="search" 8820 aria-label="Search" 8821> 8822 <form 8823 action="/search" 8824 method="get" 8825 role="search" 8826 class="predictive-search-form" 8827 ref="form" 8828 on:keydown="/onSearchKeyDown" 8829 > 8830 <div 8831 class="predictive-search-form__header" 8832 > 8833 <div class="predictive-search-form__header-inner"> 8834 <label 8835 for="cmdk-input" 8836 class="visually-hidden" 8837 >Search</label> 8838 <input 8839 class="search-input" 8840 id="cmdk-input" 8841 type="search" 8842 name="q" 8843 role="combobox" 8844 aria-expanded="false" 8845 aria-owns="predictive-search-results" 8846 aria-controls="predictive-search-results" 8847 aria-haspopup="listbox" 8848 aria-autocomplete="list" 8849 autocomplete="off" 8850 placeholder="Search" 8851 ref="searchInput" 8852 on:input="/search" 8853 on:keydown="/onSearchKeyDown" 8854 > 8855 <input 8856 name="options[prefix]" 8857 type="hidden" 8858 value="last" 8859 > 8860 <span class="svg-wrapper predictive-search__icon"> 8861 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 8862 8863 </span> 8864 <button 8865 type="button" 8866 class="button-unstyled predictive-search__reset-button" 8867 ref="resetButton" 8868 hidden 8869 on:click="/resetSearch" 8870 > 8871 Clear 8872 </button> 8873 </div> 8874 <button 8875 type="button" 8876 class="button predictive-search__close-modal-button" 8877 aria-label="Close dialog" 8878 on:click="dialog-component/closeDialog" 8879 ref="closeModalButton" 8880 > 8881 <span 8882 class="svg-wrapper svg-wrapper--small" 8883 title="Close" 8884 > 8885 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 8886 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 8887 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 8888</svg> 8889 8890 </span> 8891 </button> 8892 </div> 8893 8894 <div class="predictive-search-form__content-wrapper"> 8895 <div 8896 class="predictive-search-form__content" 8897 tabindex="-1" 8898 ref="predictiveSearchResults" 8899 on:click="/handleModalClick" 8900 > 8901 8902 8903<div 8904 id="predictive-search-results" 8905 class="predictive-search-dropdown" 8906 role="listbox" 8907 aria-expanded="true" 8908 style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" 8909> 8910 8911</div> 8912 8913 </div> 8914 8915 <div class="predictive-search-form__footer"> 8916 <button 8917 class="button button-primary predictive-search__search-button" 8918 ref="viewAllButton" 8919 > 8920 View all 8921 </button> 8922 </div> 8923 </div> 8924 </form> 8925</predictive-search-component> 8926 8927 8928 8929 </dialog> 8930</dialog-component> 8931 8932 8933 8934 8935 <quick-add-dialog id="quick-add-dialog"> 8936 <dialog 8937 class="quick-add-modal dialog-modal color-scheme-1" 8938 ref="dialog" 8939 scroll-lock 8940 > 8941 <button 8942 ref="closeButton" 8943 on:click="/closeDialog" 8944 class="button button-unstyled close-button quick-add-modal__close" 8945 aria-label="Close dialog" 8946 ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 8947 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 8948 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 8949</svg> 8950</button> 8951 <div 8952 id="quick-add-modal-content" 8953 class="quick-add-modal__content" 8954 ></div> 8955 </dialog> 8956</quick-add-dialog> 8957 8958 8959 8960 8961 8962<!-- Widget : General GWP --> 8963<div data-rebuy-id="292419"></div> 8964<!-- End Widget : General GWP --> 8965<!-- May Sampling --> 8966<div data-rebuy-id="212016"></div> 8967<div data-rebuy-id="268775"></div> 8968<div data-rebuy-id="297218"></div> 8969<div data-rebuy-id="298532"></div> 8970<div data-rebuy-id="287932"></div> 8971<div data-rebuy-id="301743"></div> 8972<div data-rebuy-id="304181"></div> 8973<div data-rebuy-id="307077"></div> 8974<div data-rebuy-id="309236"></div> 8975<div data-rebuy-id="312933"></div> 8976<div data-rebuy-id="169974" data-rebuy-shopify-product-ids=""></div> 8977 8978<!-- End Widget : GWP --> 8979 8980<!-- Klaviyo Back In Stock Popup--> 8981
8982<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=NYTBJh"></script>
8982 8983<!-- Back in Stock popup form HTML --> 8984<div class="bis-popup-overlay" style="display:none;"></div> 8985<div class="back-in-stock-popup" style="display:none;"> 8986 <button class="close">×</button> 8987 <form> 8988 <h2> We'll let you know when this item is back in stock. </h2> 8989 <p>Register to receive a notification when this item comes back in stock.</p> 8990 <label for="back-in-stock-email" aria-hidden="true">Enter your email address:</label> 8991 <input required type="email" id="back-in-stock-email" placeholder="Enter your email address" required> 8992 <input required type="hidden" id="back-in-stock-product-id" value=""> 8993 <button class="button button--secondary" type="submit">Notify Me</button> 8994 </form> 8995 <div class="success" style="display:none;"> 8996 <h2>Thank you!</h2> 8997 <p>We will notify you when this product becomes available.</p> 8998 </div> 8999</div> 9000 9001<style> 9002/* Overlay */ 9003.bis-popup-overlay { 9004 content: ""; 9005 position: fixed; 9006 top: 0; 9007 left: 0; 9008 width: 100%; 9009 height: 100%; 9010 z-index: 9999; 9011 background-color: rgba(0, 0, 0, 0.5); 9012 } 9013 /* Popup */ 9014 .back-in-stock-popup { 9015 position: fixed; 9016 top: 50%; 9017 left: 50%; 9018 transform: translate(-50%, -50%); 9019 z-index: 10000; 9020 width: 90%; 9021 max-width: 600px; 9022 background-color: #FFFCF5; 9023 box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); 9024 padding: 30px; 9025 text-align: center; 9026 font-family: sans-serif; 9027 9028 } 9029 9030 button.close { 9031 position: absolute; 9032 top: 0px; 9033 right: 10px; 9034 font-size: 30px; 9035 font-weight: light; 9036 background-color: transparent; 9037 border: none; 9038 cursor: pointer; 9039 color: #FF9683; 9040 } 9041 9042 @media screen and (min-width: 768px) { 9043 button.close { 9044 right: 0px; 9045 } 9046 } 9047 9048 9049 .product-info .title { 9050 margin-top: 0; 9051 font-family: 'GT America'; 9052 font-size: 18px; 9053 font-weight: 600; 9054 font-stretch: normal; 9055 font-style: normal; 9056 line-height: 1; 9057 letter-spacing: 0px; 9058 text-align: left; 9059 color: #000; 9060} 9061 9062 .back-in-stock-popup label { 9063 display: block; 9064 font-size: 15px; 9065 font-color: #C06B13; 9066 display: none; 9067 margin-bottom: 5px; 9068 } 9069 9070 .back-in-stock-popup form { 9071 display: flex; 9072 flex-direction: column; 9073 align-items: center; 9074 justify-content: center; 9075 9076} 9077 9078 .back-in-stock-popup input[type="email"] { 9079 width: 100%; 9080 padding: 10px; 9081 margin-bottom: 10px; 9082 border: 1px solid #C06B13; 9083 border-radius: 0px; 9084 font-size: 12px; 9085 } 9086 9087 .back-in-stock-popup button[type="submit"] { 9088 background-color: #FF9683; 9089 border-color: #FF9683; 9090 color: #FFFCF5; 9091 font-size: 12px; 9092 display: block; 9093 text-align: center; 9094 text-transform: uppercase; 9095 font-family: "GT America Bold"; 9096 display: flex; 9097 flex-direction: column; 9098 align-items: center; 9099 justify-content: center; 9100 border-radius: 30px; 9101 letter-spacing: 0.5px; 9102 transition: all .3s ease; 9103 margin: auto; 9104 9105 } 9106 9107 .back-in-stock-popup button[type="submit"]:hover { 9108 background-color: #3078b8; 9109 } 9110 9111 input.is-disabled + label::after { 9112 content: ""; 9113 position: absolute; 9114 top: 0; 9115 right: 0; 9116 width: 50px; 9117 height: 2px; 9118 transform: rotate(45deg); 9119 display: block; 9120 background: black; 9121 transform-origin: 14px 20px; 9122 } 9123 9124 button.btn.back-in-stock-trigger { 9125 font-size: clamp(20px, 5vw, 30px); 9126 line-height: 1; 9127 width: 100%; 9128 max-width: 440px; 9129 } 9130 9131 .product-sticky_button button[disabled="disabled"] { 9132 display: none !important; 9133 } 9134 .product-sticky_button button:not([disabled="disabled"]) + button.back-in-stock-trigger { 9135 display: none !important; 9136 } 9137 9138 .product-sticky-bar .product-sticky-container .product-sticky_button { 9139 position: relative; 9140 width: 400px; 9141 display: -ms-flexbox; 9142 display: flex; 9143 -ms-flex-pack: center; 9144 justify-content: center; 9145 } 9146 @media screen and (max-width: 640px) { 9147 .product-sticky-bar .product-sticky-container { 9148 flex-wrap: wrap; 9149 } 9150 .product-sticky-bar { 9151 height: 160px!important; 9152 } 9153 } 9154 9155 .product-option.least-stocked { 9156 order: 10; 9157 } 9158</style> 9159
9160<script> 9161 document.addEventListener('DOMContentLoaded', function () { 9162 var apiKey = 'NYTBJh'; // Klaviyo company / public API key 9163 9164 var popup = document.querySelector('.back-in-stock-popup'); 9165 var overlay = document.querySelector('.bis-popup-overlay'); 9166 if (!popup || !overlay) return; 9167 9168 var form = popup.querySelector('form'); 9169 var success = popup.querySelector('.success'); 9170 var emailInput = popup.querySelector('#back-in-stock-email'); 9171 var variantInput = popup.querySelector('#back-in-stock-product-id'); 9172 var closeButton = popup.querySelector('button.close'); 9173 9174 function openPopup(variantId) { 9175 // Use the variant the shopper actually clicked, not a hardcoded id. 9176 if (variantId) variantInput.value = variantId; 9177 form.style.display = 'flex'; 9178 success.style.display = 'none'; 9179 popup.style.display = 'block'; 9180 overlay.style.display = 'block'; 9181 } 9182 9183 function closePopup() { 9184 popup.style.display = 'none'; 9185 overlay.style.display = 'none'; 9186 form.style.display = 'flex'; 9187 } 9188 9189 // Open when a sold-out / "Notify me" trigger is clicked. 9190 // Matches the sold-out button rendered by add-to-cart-button.liquid 9191 // (`.klaviyo-bis-trigger`) and the legacy anchor selector, for safety. 9192 document.addEventListener('click', function (event) { 9193 var trigger = event.target.closest('.klaviyo-bis-trigger, a[href="#klaviyo-back-in-stock"]'); 9194 if (!trigger) return; 9195 event.preventDefault(); 9196 openPopup(trigger.getAttribute('data-variant-id')); 9197 }); 9198 9199 // Submit the back-in-stock form and trigger the Klaviyo BIS flow. 9200 form.addEventListener('submit', function (event) { 9201 event.preventDefault(); 9202 9203 var formData = { 9204 a: apiKey, 9205 email: emailInput.value, 9206 variant: variantInput.value, 9207 platform: 'shopify', 9208 }; 9209 9210 fetch('https://a.klaviyo.com/onsite/components/back-in-stock/subscribe', { 9211 method: 'POST', 9212 headers: { 9213 'Content-Type': 'application/x-www-form-urlencoded', 9214 'Cache-Control': 'no-cache', 9215 }, 9216 body: new URLSearchParams(formData), 9217 }) 9218 .then(function (response) { return response.json(); }) 9219 .then(function (data) { console.log('Klaviyo BIS:', data); }) 9220 .catch(function (error) { console.error('Klaviyo BIS error:', error); }); 9221 9222 // Show the success message. 9223 form.style.display = 'none'; 9224 success.style.display = 'block'; 9225 emailInput.value = ''; 9226 }); 9227 9228 // Close interactions. 9229 closeButton.addEventListener('click', function (event) { 9230 event.preventDefault(); 9231 closePopup(); 9232 }); 9233 overlay.addEventListener('click', closePopup); 9234 }); 9235</script>
9235 9236<!-- End Klaviyo Back In Stock--> 9237 9238
9239<script id="rebuy-cart-template" type="text/template"> 9240<div 9241 id="rebuy-cart" 9242 class="rebuy-cart" 9243 v-cloak 9244 v-bind:class="[visible ? 'is-visible' : '', 'currency-' + currency() ]" 9245 role="dialog" 9246 aria-modal="true" 9247 aria-labelledby="SmartCart_title" 9248 v-bind:aria-hidden="!visible ? 'true' : 'false'" 9249> 9250 <div class="rebuy-cart__flyout"> 9251 <div class="rebuy-cart__flyout-header"> 9252 <div v-html="renderHeader()"></div> 9253 <button 9254 class="rebuy-cart__flyout-close" 9255 type="button" 9256 v-on:click="hide()" 9257 aria-label="Close Cart" 9258 > 9259 <i class="fal fa-times" aria-hidden="true"></i> 9260 </button> 9261 </div> 9262 <div class="rebuy-cart__flyout-body"> 9263 <div 9264 class="rebuy-cart__flyout-announcement-bar" 9265 id="rebuy-smart-cart-announcement-bar" 9266 v-if="announcementBarEnabled()" 9267 > 9268 <div 9269 class="rebuy-cart__flyout-announcement-bar-message" 9270 v-for="message in settings.announcement_bar.messages" 9271 v-html="message" 9272 ></div> 9273 </div> 9274 9275 <div 9276 class="rebuy-cart__flyout-shipping-bar" 9277 v-if="freeShippingEnabled()" 9278 v-bind:class="[ freeShippingHelperMessage() ? 'has-helper' : '', hasFreeShipping() ? 'has-free-shipping': '' ]" 9279 > 9280 <div 9281 class="rebuy-cart__flyout-shipping-bar-message" 9282 v-if="!hasFreeShipping()" 9283 v-html="freeShippingRemainingMessage()" 9284 ></div> 9285 <div 9286 class="rebuy-cart__flyout-shipping-bar-message" 9287 v-if="hasFreeShipping()" 9288 v-html="freeShippingCompleteMessage()" 9289 ></div> 9290 <div 9291 class="rebuy-cart__flyout-shipping-bar-meter" 9292 v-bind:class="[hasFreeShippingProgress() ? 'has-progress' : 'no-progress']" 9293 > 9294 <span id="free-shipping-progress-label" class="rebuy-cart__flyout-shipping-bar-meter-fill-text"> 9295 Progress to free shipping: {{ freeShippingPercentComplete() }} 9296 </span> 9297 <div 9298 class="rebuy-cart__flyout-shipping-bar-meter-fill" 9299 v-bind:style="{ width: freeShippingPercentComplete() }" 9300 role="progressbar" 9301 tabindex="0" 9302 aria-valuemin="0" 9303 aria-valuemax="100" 9304 v-bind:aria-valuenow="freeShippingPercentComplete(false, true)" 9305 aria-labelledby="free-shipping-progress-label" 9306 ></div> 9307 </div> 9308 <div 9309 class="rebuy-cart__flyout-shipping-bar-helper" 9310 v-if="freeShippingHelperMessage()" 9311 v-html="freeShippingHelperMessage()" 9312 ></div> 9313 </div> 9314 9315 <div v-else-if="progressBarEnabled()" class="rebuy-cart__progress-bar-container above"> 9316 <div v-for="bar in settings.progress_bar.bars" v-if="isValidBar(bar)"> 9317 <div class="rebuy-cart__progress-step-wrapper" v-bind:class="[ 'count-' + bar.tiers.length ]"> 9318 <div v-for="tier in bar.tiers" class="rebuy-cart__progress-step" v-bind:style="{ width: progressStepMaxWidth(bar) }" v-bind:class="[ progressTierReached(tier) ? 'complete' : '' ]"> 9319 <div class="rebuy-cart__progress-step-icon" v-html="progressTierIcon(tier)"></div> 9320 <span class="rebuy-cart__progress-step-label">{{ getTierLabel(tier)}}</span> 9321 </div> 9322 </div> 9323 9324 <div class="rebuy-cart__progress-bar-wrapper"> 9325 <div class="rebuy-cart__progress-bar-meter" v-bind:class="[hasTierProgress() ? 'has-progress' : 'no-progress']"> 9326 <div 9327 class="rebuy-cart__progress-bar-meter-fill" 9328 v-bind:style="{ width: tiersPercentageComplete(bar) }" 9329 role="progressbar" 9330 tabindex="0" 9331 aria-valuemin="0" 9332 aria-valuemax="100" 9333 v-bind:aria-valuenow="tiersPercentageComplete(bar, true)" 9334 aria-labelledby="rebuy-cart__progress-bar-meter-label" 9335 > 9336 <span class="sr-only"></span> 9337 </div> 9338 </div> 9339 9340 <div id="rebuy-cart__progress-bar-meter-label" class="rebuy-cart__progress-bar-prompt" v-if="hasProgressPrompt(bar)" v-html="getTierFeedbackText(bar)"></div> 9341 </div> 9342 9343 <div class="rebuy-cart__progress-free-products" v-if="getBarLayout(bar) == 'above' && earnedProducts(bar).length > 0"> 9344 <div class="rebuy-cart__progress-free-products-title">Free Gifts</div> 9345 <div class="rebuy-cart__progress-free-products-list" ref="freeProductList"> 9346 <div v-for="product in earnedProducts(bar)" class="rebuy-cart__progress-free-product" v-bind:style="[ freeProductTileStyle(bar) ]"> 9347 <div class="rebuy-cart__progress-free-product-image" v-bind:style="freeProductStyles(product)"></div> 9348 <div class="rebuy-cart__progress-free-product-info"> 9349 <div> 9350 <p class="rebuy-cart__progress-free-product-title" v-html="product.title"></p>
9351 <span v-if="product.chosen_variant" class="rebuy-cart__progress-free-product-variant-title" v-html="getFreeVariantTitle(product)"></span> 9352 </div> 9353 <div v-if="!product.chosen_variant" class="rebuy-cart__progress-free-product-variant-select-container"> 9354 <select class="rebuy-cart__progress-free-product-variant-select" v-on:change="selectFreeProductVariant($event, product)"> 9355 <option value="" disabled selected>Select Variant</option> 9356 <option v-for="variant in freeProductOptions(product)" v-bind:value="variant.id">{{ variant.title }}</option> 9357 </select> 9358 <div class="rebuy-cart__progress-free-product-variant-select-prompt" v-html="freeProductPrompt(product)"></div> 9359 </div> 9360 </div> 9361 <button 9362 v-show="product.chosen_variant" 9363 class="rebuy-cart__progress-free-product-remove" 9364 v-on:click="removeFreeProduct(product)" 9365 > 9366 <i class="fal fa-times" aria-hidden="true"></i> 9367 <span class="sr-only">Remove {{ product.title }} {{ product.chosen_variant?.title ? product.chosen_variant.title : '' }} from Cart</span> 9368 </button> 9369 </div> 9370 </div> 9371 </div> 9372 </div> 9373 </div> 9374 9375 <div 9376 class="rebuy-cart__flyout-content" 9377 v-bind:class="[ hasItems() ? 'has-items' : 'no-items' ]" 9378 > 9379 <ul class="rebuy-cart__flyout-items" v-if="hasItems()" data-smartcart-items tabindex="0"> 9380 <li 9381 class="rebuy-cart__flyout-item" 9382 v-for="item in items()" 9383 v-if="!isHiddenItem(item)" 9384 :key="item.key" 9385 v-bind:class="[ 'product-' + item.handle, itemProductTagsClasses(item), itemPropertyClasses(item) ]" 9386 role="group" 9387 aria-label="product" 9388 > 9389 <div class="rebuy-cart__flyout-item-media"> 9390 <a v-bind:href="itemURL(item)" tabindex="-1"> 9391 <img 9392 v-bind:src="sizeImage(item.image, '240x240')" 9393 v-bind:alt="item.featured_image?.alt" 9394 /> 9395 </a> 9396 </div> 9397 <div class="rebuy-cart__flyout-item-info"> 9398 <a 9399 role="heading" 9400 aria-level="5" 9401 class="rebuy-cart__flyout-item-product-title" 9402 v-bind:href="itemURL(item)" 9403 v-html="item.product_title" 9404 v-bind:alt="'View ' + item.product_title" 9405 ></a> 9406 <div 9407 class="rebuy-cart__flyout-item-variant-title" 9408 v-html="item.variant_title" 9409 v-if="item.variant_title" 9410 ></div> 9411 9412 <div 9413 class="rebuy-cart__flyout-item-discount-message" 9414 v-if="hasLineItemDiscount(item)" 9415 v-html="lineItemDiscountMessage(item)" 9416 ></div> 9417 9418 <div 9419 class="rebuy-cart__flyout-item-properties" 9420 v-if="hasItemProperties(item)" 9421 > 9422 <div 9423 class="rebuy-cart__flyout-item-property rebuy-cart__flyout-item-property--delivery-frequency" 9424 v-if="itemDeliveryFrequency(item)" 9425 v-html="itemDeliveryFrequency(item)" 9426 ></div> 9427 <div 9428 class="rebuy-cart__flyout-item-property" 9429 v-for="property in itemProperties(item)" 9430 v-bind:class="[ itemPropertyKeyClass(property), itemPropertyValueClass(property) ]" 9431 > 9432 <span 9433 class="rebuy-cart__flyout-item-property-name" 9434 v-html="property.key" 9435 ></span> 9436 <span class="rebuy-cart__flyout-item-property-separator"> 9437 : 9438 </span> 9439 <span 9440 class="rebuy-cart__flyout-item-property-value" 9441 v-html="property.value" 9442 ></span> 9443 </div> 9444 </div> 9445 9446 <button 9447 class="rebuy-cart__flyout-item-remove" 9448 type="button" 9449 v-bind:alt="'Remove ' + item.product_title" 9450 v-bind:aria-label="'Remove ' + item.product_title" 9451 v-on:click="removeItem(item)" 9452 > 9453 <i 9454 class="far" 9455 v-bind:class="[(item.status == 'removing') ? 'fa-sync-alt fa-fast-spin' : 'fa-tras
9455h']" 9456 aria-hidden="true" 9457 ></i> 9458 </button> 9459 9460 <div class="rebuy-cart__flyout-item-quantity"> 9461 <div 9462 class="rebuy-cart__flyout-item-quantity-widget" 9463 v-if="hideQuantitySelectors && !hideQuantitySelectors(item)" 9464 > 9465 <button 9466 class="rebuy-cart__flyout-item-quantity-widget-button" 9467 v-bind:alt="'Decrease quantity of ' + item.product_title" 9468 v-bind:aria-label="'Decrease quantity of ' + item.product_title" 9469 v-on:click="decreaseItem(item)" 9470 type="button" 9471 > 9472 <i 9473 class="far" 9474 v-bind:class="[(item.status == 'decreasing') ? 'fa-sync-alt fa-fast-spin' : 'fa-minus']" 9475 aria-hidden="true" 9476 ></i> 9477 </button> 9478 9479 <span 9480 class="rebuy-cart__flyout-item-quantity-widget-label" 9481 > 9482 <span class="sr-only">Quantity of {{ item.product_title }}</span> 9483 {{ item.quantity }} 9484 </span> 9485 9486 <button 9487 class="rebuy-cart__flyout-item-quantity-widget-button" 9488 v-bind:alt="'Increase quantity of ' + item.product_title" 9489 v-bind:aria-label="'Increase quantity of ' + item.product_title" 9490 v-on:click="increaseItem(item)" 9491 type="button" 9492 > 9493 <i 9494 class="far" 9495 v-bind:class="[(item.status == 'increasing') ? 'fa-sync-alt fa-fast-spin' : 'fa-plus']" 9496 aria-hidden="true" 9497 ></i> 9498 </button> 9499 </div> 9500 </div> 9501 9502 <div class="rebuy-cart__flyout-item-price"> 9503 <div v-if="itemHasDiscount(item)"> 9504 <span 9505 class="rebuy-money sale" 9506 > 9507 <span class="sr-only">Sale price</span> 9508 <span v-html="formatMoney(itemPrice(item))"></span> 9509 </span> 9510 <span 9511 class="rebuy-money compare-at" 9512 > 9513 <span class="sr-only">Original price</span> 9514 <span v-html="formatMoney(compareAtPrice(item))"></span> 9515 </span> 9516 </div> 9517 <div v-if="!itemHasDiscount(item)"> 9518 <span 9519 class="rebuy-money" 9520 > 9521 <span class="sr-only">Price</span> 9522 <span v-html="formatMoney(itemPrice(item))"></span> 9523 </span> 9524 </div> 9525 </div> 9526 9527 <div class="rebuy-cart__flyout-item-bundle" v-if="itemIsBundle(item)"> 9528 <button 9529 class="rebuy-cart__flyout-item-bundle-show-button" 9530 v-if="itemBundleLength(item) > 0 && !isSeeingBundle(item)" 9531 v-on:click="toggleActiveBundle(item)" 9532 type="button" 9533 v-bind:alt="'Expand bundle of ' + item.product_title" 9534 v-bind:aria-label="'Expand bundle of ' + item.product_title" 9535 > 9536 Show 9537 <span v-html="itemBundleLength(item)"></span> 9538 items 9539 <span class="rebuy-cart__flyout-bundle-chev-icon"><i class="fas fa-chevron-down"></i></span> 9540 </button> 9541 9542 <button 9543 class="rebuy-cart__flyout-item-bundle-hide-button" 9544 v-if="itemBundleLength(item) > 0 && isSeeingBundle(item)" 9545 v-on:click="toggleActiveBundle(item)" 9546 type="button" 9547 v-bind:alt="'Collapse bundle of ' + item.product_title" 9548 v-bind:aria-label="'Collapse bundle of ' + item.product_title" 9549 > 9550 Hide
9551 <span v-html="itemBundleLength(item)"></span> 9552 items 9553 <span class="rebuy-cart__flyout-bundle-chev-icon"><i class="fas fa-chevron-up"></i></span> 9554 </button> 9555 9556 <ul 9557 class="rebuy-cart__flyout-item-bundle-children" 9558 v-if="itemBundleLength(item) > 0 && isSeeingBundle(item)" 9559 tabindex="0" 9560 > 9561 <li class="rebuy-cart__flyout-item-bundle-child" v-for="(option, index) in item.options_with_values"> 9562 <div class="rebuy-cart__flyout-item-bundle-child-left"> 9563 <div class="rebuy-cart__flyout-item-bundle-image-container"> 9564 <img 9565 v-bind:src="getBundleOptionImage(item.product, option, index)" 9566 v-bind:alt="childBundleTitle(option)" 9567 class="rebuy-cart__flyout-item-bundle-image" 9568 /> 9569 </div> 9570 </div> 9571 9572 <div class="rebuy-cart__flyout-item-bundle-child-right"> 9573 <h5 v-html="childBundleTitle(option)" class="rebuy-cart__flyout-item-bundle-title"></h5> 9574 <p v-html="option.value" class="rebuy-cart__flyout-item-bundle-value"></p> 9575 </div> 9576 </li> 9577 <ul> 9578 </div> 9579 </div> 9580 9581 <div 9582 v-if="itemHasBMSM(item) && bMSMFinalTierNotReached(item)" 9583 class="rebuy-cart__flyout-item-buy-more-save-more" 9584 > 9585 <div 9586 v-if="hasBMSMButtons()" 9587 class="rebuy-cart__flyout-item-buy-more-save-more-container" 9588 > 9589 <div 9590 v-for="tier in getBMSMTiers()" 9591 class="rebuy-cart__flyout-item-buy-more-save-more-button-container" 9592 v-if="tier.quantity > item.quantity" 9593 > 9594 <button 9595 v-on:click="adjustBMSMQuantity(item, tier)" 9596 class="rebuy-button rebuy-cart__flyout-item-buy-more-save-more-button" 9597 v-bind:alt="getBMSMButtonText(tier)" 9598 > 9599 <span v-html="getBMSMButtonText(tier)"></span> 9600 </button> 9601 </div> 9602 </div> 9603 9604 <span 9605 v-if="!hasBMSMButtons()" 9606 class="rebuy-cart__flyout-buy-more-save-more-dynamic-message-text" 9607 v-html="buyMoreSaveMoreDynamicText(item)" 9608 ></span> 9609 </div> 9610 9611 <div 9612 class="rebuy-cart__flyout-item-subscription" 9613 v-if="hasSwitchToSubscription(item)" 9614 > 9615 <button 9616 class="rebuy-button outline" 9617 v-if="!item.product.subscription || item.status == 'downgrading' || item.status == 'upgrading'" 9618 v-bind:alt="'Switch ' + item.product_title + ' to a Subscription'" 9619 v-bind:disabled="(item.status == 'downgrading' || item.status == 'upgrading')" 9620 v-on:click="updateItemDeliveryFrequency(item, selectedSubscriptionFrequency(item, 0), 'onetime')" 9621 type="button" 9622 > 9623 <span v-html="switchToSubscriptionLabel(item)"></span> 9624 </button> 9625 9626 <select 9627 class="rebuy-select muted" 9628 aria-label="subscription frequency" 9629 v-if="item.product.subscription && item.status != 'downgrading'" 9630 v-model="item.product.subscription_frequency" 9631 v-on:change="updateItemDeliveryFrequency(item)" 9632 > 9633 <optgroup 9634 v-if="!item.product.is_subscription_only && !subscriptionDowngradeDisabled()" 9635 v-bind:label="onetimeOptionGroupLabel(item)" 9636 > 9637 <option 9638 v-bind:value="'onetime'" 9639 v-html="onetimeOptionLabel(item)" 9640 ></option> 9641 </optgroup> 9642 <optgroup v-bind:label="subscriptionOptionGroupLabel(item)"> 9643 <option 9644 v-for="frequency in subscriptionFrequencies(item)" 9645 v-bind:value="frequency" 9646 v-html="subscriptionOptionLabel(item, frequency, item.product.subscription_interval)" 9647 ></option> 9648 </optgroup> 9649 </select> 9650 </div> 9651 </li> 9652 </ul> 9653 <div class="rebuy-cart__flyout-note" v-if="notesEnabled()"> 9654 <label class="rebuy-cart__flyout-note-toggle"> 9655 <input 9656 class="rebuy-cart__flyout-note-toggle-input rebuy-checkbox" 9657 type="checkbox" 9658 v-model="notes.visible" 9659 v-on:click="notesToggle()" 9660 />
9661 <span 9662 class="rebuy-cart__flyout-note-toggle-label" 9663 v-html="settings.language.notes_label" 9664 ></span> 9665 </label> 9666 <div 9667 class="rebuy-cart__flyout-note-content" 9668 v-if="notesIsVisible()" 9669 > 9670 <textarea 9671 id="rebuy-cart-notes" 9672 class="rebuy-textarea rebuy-cart__flyout-note-textarea" 9673 v-model="notes.value" 9674 v-on:keyup="notesChange($event)" 9675 v-on:keydown="notesChange($event)" 9676 v-on:change="notesChange($event)" 9677 v-bind:placeholder="settings.language.notes_placeholder" 9678 ></textarea> 9679 <small 9680 id="rebuy-cart-characters-remaining" 9681 v-html="notesRemainingCharacters()" 9682 ></small> 9683 </div> 9684 </div> 9685 9686 9687 <div class="rebuy-cart__flyout-empty-cart" v-html="emptyCartMessage()" v-if="!hasItems()"></div> 9688 <div class="rebuy-cart__flyout-empty-cart-footer" v-if="!hasItems()"> 9689 <div data-app-target="empty_cart"></div> 9690 </div> 9691 9692 <div class="rebuy-cart__flyout-recommendations" v-if="hasCrossSells()"> 9693 <div 9694 v-for="widget_id in settings.cross_sells" 9695 v-bind:data-rebuy-id="widget_id" 9696 ></div> 9697 </div> 9698 9699 <div class="rebuy-cart__upsells" v-if="hasPrePurchase()"> 9700 <div v-bind:data-rebuy-id="settings.pre_purchase.id"></div> 9701 </div> 9702 </div> 9703 9704 <div v-if="progressBarEnabled()" class="rebuy-cart__progress-bar-container below"> 9705 <div class="rebuy-cart__progress-free-products" v-for="bar in settings.progress_bar.bars" v-if="isValidBar(bar) && getBarLayout(bar) == 'below' && earnedProducts(bar).length > 0"> 9706 <div class="rebuy-cart__progress-free-products-title">Free Gifts</div> 9707 <div class="rebuy-cart__progress-free-products-list" ref="freeProductList"> 9708 <div v-for="product in earnedProducts(bar)" class="rebuy-cart__progress-free-product" v-bind:style="[ freeProductTileStyle(bar) ]"> 9709 <div class="rebuy-cart__progress-free-product-image" v-bind:style="freeProductStyles(product)"></div> 9710 <div class="rebuy-cart__progress-free-product-info"> 9711 <div> 9712 <p class="rebuy-cart__progress-free-product-title" v-html="product.title"></p> 9713 <span v-if="product.chosen_variant" class="rebuy-cart__progress-free-product-variant-title" v-html="product.chosen_variant.title"></span> 9714 </div> 9715 <div v-if="!product.chosen_variant" class="rebuy-cart__progress-free-product-variant-select-container"> 9716 <select class="rebuy-cart__progress-free-product-variant-select" v-on:change="selectFreeProductVariant($event, product)"> 9717 <option value="" disabled selected>Select Variant</option> 9718 <option v-for="variant in freeProductOptions(product)" v-bind:value="variant.id">{{ variant.title }}</option> 9719 </select> 9720 <div class="rebuy-cart__progress-free-product-variant-select-prompt" v-html="freeProductPrompt(product)"></div> 9721 </div> 9722 </div> 9723 <button 9724 v-show="product.chosen_variant" 9725 class="rebuy-cart__progress-free-product-remove" 9726 v-on:click="removeFreeProduct(product)" 9727 v-bind:aria-label="'Remove ' + product.title + ' ' + (product.chosen_variant?.title)" 9728 > 9729 <i class="fal fa-times" aria-hidden="true"></i> 9730 </button> 9731 </div> 9732 </div> 9733 </div> 9734 </div> 9735 </div> 9736 9737 <div class="rebuy-cart__flyout-footer" v-show="hasItems()"> 9738 9739 <div class="rebuy-cart__flyout-discount-container" v-if="discountEnabled()"> 9740 9741 <form class="rebuy-cart__flyout-discount-form" v-if="shouldShowDiscountInput()" v-on:submit="applyDiscount(null, $event)"> 9742 <div 9743 class="rebuy-input-wrapper rebuy-input-wrapper--floating-label" 9744 v-bind:class="[discount.inputValue ? 'show-label' : '' ]" 9745 >
9746 <span 9747 class="rebuy-input-label" 9748 v-html="settings.language.discount_code_label" 9749 ></span> 9750 <input 9751 class="rebuy-input" 9752 v-model="discount.inputValue" 9753 v-bind:placeholder="settings.language.discount_code_label" 9754 v-bind:disabled="discount.loading" 9755 id="rebuy-discount-input" 9756 aria-label="Input Discount" 9757 autocomplete 9758 /> 9759 </div> 9760 <button 9761 class="rebuy-button" 9762 v-bind:disabled="discount.loading" 9763 > 9764 <span v-html="discountButtonLabel()"></span> 9765 </button> 9766 </form> 9767 9768 <div class="rebuy-cart__flyout-discount-error-message" v-if="discount.hasError()" v-html="discount.errorMessage()"></div> 9769 9770 <div class="rebuy-cart__flyout-discount-tag" v-if="shouldShowDiscountSubtotal()"> 9771 <span class="rebuy-cart__flyout-discount-tag-icon"><i class="fas fa-tags"></i></span> 9772 <span class="rebuy-cart__flyout-discount-tag-text" v-html="discount.code"></span> 9773 <span 9774 class="rebuy-cart__flyout-discount-tag-remove" 9775 v-on:click="removeDiscount()" 9776 > 9777 <i class="far fa-times"></i> 9778 </span> 9779 </div> 9780 9781 <div class="rebuy-cart__flyout-discount-amount" v-if="shouldShowDiscountSubtotal()"> 9782 <span v-html="discountTotal()"></span> 9783 </div> 9784 </div> 9785 9786 <div 9787 class="rebuy-cart__flyout-integration" 9788 v-if="settings.integrations && settings.integrations.enabled" 9789 ></div> 9790 <div class="rebuy-cart__flyout-apps"> 9791 <div data-app-target="above_subtotal"></div> 9792 </div> 9793 9794 <div class="rebuy-cart__flyout-subtotal"> 9795 <div class="rebuy-cart__flyout-subtotal-label"> 9796 <span v-html="subtotalLabel()"></span> 9797 </div> 9798 <div 9799 class="rebuy-cart__flyout-subtotal-amount" 9800 v-html="subtotal()" 9801 ></div> 9802 </div> 9803 <div data-app-target="below_subtotal"></div> 9804 9805 9806 <div class="rebuy-cart__flyout-actions"> 9807 <div 9808 v-if="settings.terms && settings.terms.enabled" 9809 class="rebuy-cart__flyout-terms" 9810 > 9811 <input 9812 class="rebuy-cart__flyout-terms-checkbox rebuy-checkbox" 9813 id="rebuy-terms-checkbox" 9814 name="rebuy-terms-checkbox" 9815 type="checkbox" 9816 v-model="termsAccepted" 9817 v-on:click="updateTermsCheck()" 9818 /> 9819 <label 9820 class="rebuy-cart__flyout-terms-label" 9821 for="rebuy-terms-checkbox" 9822 v-html="settings.terms.disclaimer" 9823 ></label> 9824 </div> 9825 9826 <button 9827 v-show="hasCheckoutButton()" 9828 class="rebuy-button rebuy-cart__checkout-button block" 9829 type="button" 9830 v-on:click="checkout()" 9831 v-bind:disabled="hasTermsEnabled() && !hasAcceptedTerms()" 9832 > 9833 <span v-html="checkoutLabel()"></span> 9834 </button> 9835 9836 <button 9837 v-if="hasViewCartButton()" 9838 class="rebuy-button rebuy-cart__view-cart-button block" 9839 v-bind:class="{'outline': hasCheckoutButton()}" 9840 type="button" 9841 v-on:click="viewCart()" 9842 > 9843 <span v-html="viewCartLabel()"></span> 9844 </button> 9845 9846 <button 9847 v-if="hasContinueShoppingButton()" 9848 class="rebuy-button rebuy-cart__continue-shopping-button block outline" 9849 type="button" 9850 v-on:click="hide()" 9851 > 9852 <span v-html="continueShoppingLabel()"></span> 9853 </button> 9854 9855 <button 9856 v-if="hasShopPayButton()" 9857 class="rebuy-button rebuy-cart__shop-pay-button block" 9858 v-on:click="shopPayCheckout()" 9859 aria-label="Checkout with Shop Pay" 9860 > 9861 <svg 9862 width="80" 9863 height="30"
9864 viewBox="0 0 4317 1037" 9865 fill="none" 9866 xmlns="http://www.w3.org/2000/svg" 9867 > 9868 <g clip-path="url(#clip0)"> 9869 <path 9870 d="M1105.96 326.186C1071.34 253.553 1005.7 206.635 906.786 206.635C876.426 207.164 846.593 214.661 819.588 228.543C792.585 242.427 769.128 262.328 751.033 286.711L747.423 291.109V6.44337C747.423 4.7982 746.77 3.22051 745.606 2.05722C744.443 0.8939 742.864 0.240234 741.219 0.240234H601.367C599.742 0.269795 598.194 0.936325 597.055 2.09644C595.915 3.25656 595.277 4.81756 595.277 6.44337V822.999C595.277 824.614 595.92 826.162 597.062 827.304C598.204 828.447 599.752 829.089 601.367 829.089H751.145C752.771 829.089 754.332 828.452 755.492 827.311C756.652 826.172 757.318 824.624 757.348 822.999V474.835C757.348 407.165 802.461 359.231 874.643 359.231C953.592 359.231 973.555 424.195 973.555 490.398V822.999C973.555 824.614 974.196 826.162 975.338 827.304C976.48 828.447 978.03 829.089 979.645 829.089H1129.08C1130.71 829.089 1132.27 828.452 1133.43 827.311C1134.59 826.172 1135.26 824.624 1135.29 822.999V470.549C1135.29 458.481 1135.29 446.638 1133.71 435.135C1131.14 397.437 1121.74 360.519 1105.96 326.186Z" 9871 fill="white" 9872 /> 9873 <path 9874 d="M358.093 447.206C358.093 447.206 281.851 429.273 253.768 422.055C225.684 414.837 176.623 399.498 176.623 362.392C176.623 325.286 216.21 313.443 256.362 313.443C296.513 313.443 341.176 323.143 344.672 367.693C344.813 369.299 345.552 370.791 346.742 371.879C347.933 372.965 349.488 373.563 351.1 373.558L498.734 372.994C499.603 372.996 500.463 372.819 501.26 372.474C502.057 372.129 502.774 371.623 503.367 370.987C503.96 370.353 504.416 369.602 504.705 368.783C504.994 367.963 505.113 367.093 505.05 366.226C495.915 223.668 370.837 172.69 255.459 172.69C118.652 172.69 18.6132 262.917 18.6132 362.392C18.6132 435.025 39.1399 503.147 200.533 550.516C228.842 558.749 267.302 569.463 300.912 578.825C341.288 590.104 363.055 607.134 363.055 633.976C363.055 665.104 317.942 686.758 273.618 686.758C209.444 686.758 163.879 662.961 160.157 620.215C159.963 618.652 159.202 617.212 158.016 616.172C156.831 615.132 155.305 614.564 153.728 614.576L6.43255 615.253C5.569 615.253 4.71432 615.426 3.91928 615.764C3.12425 616.101 2.40528 616.594 1.80527 617.216C1.20527 617.836 0.736446 618.572 0.426968 619.378C0.11749 620.185 -0.0263401 621.045 0.00395994 621.908C6.77099 756.459 136.698 828.978 257.829 828.978C438.283 828.978 519.825 727.474 519.825 632.397C520.051 587.734 509.787 486.003 358.093 447.206Z" 9875 fill="white" 9876 /> 9877 <path 9878 d="M2257.37 206.409C2182.38 206.409 2119.55 247.913 2079.06 297.991V212.274C2079.06 210.678 2078.43 209.145 2077.31 208.007C2076.21 206.868 2074.68 206.213 2073.08 206.185H1933.01C1931.4 206.185 1929.84 206.825 1928.7 207.967C1927.56 209.11 1926.91 210.66 1926.91 212.274V1013.04C1926.95 1014.63 1927.61 1016.16 1928.75 1017.27C1929.89 1018.39 1931.42 1019.02 1933.01 1019.02H2082.9C2084.48 1019.02 2086 1018.39 2087.12 1017.27C2088.24 1016.15 2088.87 1014.62 2088.87 1013.04V749.802H2091.13C2114.92 786.117 2180 829.653 2265.05 829.653C2424.96 829.653 2558.28 697.019 2558.28 517.806C2558.4 345.811 2425.76 206.409 2257.37 206.409ZM2243.5 677.057C2211.94 677.841 2180.83 669.2 2154.2 652.238C2127.57 635.274 2106.58 610.759 2093.93 581.82C2081.29 552.88 2077.55 520.829 2083.21 489.757C2088.85 458.685 2103.64 430.002 2125.66 407.369C2147.69 384.733 2175.96 369.175 2206.87 362.679C2237.77 356.183 2269.91 359.042 2299.18 370.893C2328.46 382.743 2353.53 403.048 2371.22 429.215C2388.9 455.383 2398.38 486.224 2398.47 517.806C2398.79 538.449 2395.03 558.955 2387.42 578.145C2379.81 597.335 2368.47 614.831 2354.07 629.628C2339.68 644.425 2322.5 656.232 2303.51 664.371C2284.54 672.511 2264.15 676.821 2243.5 677.057Z" 9879 fill="white" 9880 /> 9881 <path 9882 d="M1483.34 171.229C1343.6 171.229 1273.9 218.711 1217.95 256.72L1216.26 257.847C1213.38 259.821 1211.35 262.813 1210.57 266.221C1209.8 269.63 1210.34 273.204 1212.09 276.231L1267.35 371.419C1268.39 373.201 1269.81 374.732 1271.5 375.901C1273.2 377.071 1275.13 377.852 1277.17 378.187C1279.16 378.546 1281.2 378.459 1283.15 377.932C1285.1 377.405 1286.91 376.454 1288.45 375.141L1292.84 371.533C1321.6 347.397 1367.73 315.14 1479.39 306.343C1541.53 301.382 1595.22 317.622 1634.8 354.615C1678.34 394.767 1704.4 459.617 1704.4 528.077C1704.4 654.057 1630.18 733.23 1510.97 734.81C1412.73 734.246 1346.75 683.042 1346.75 607.364C1346.75 567.212 1364.91 541.047 1400.33 514.881C1403.03 512.947 1404.94 510.1 1405.71 506.866C1406.48 503.632 1406.05 500.229 1404.5 497.287L1354.87 403.45C1353.96 401.771 1352.72 400.289 1351.23 399.089C1349.74 397.889 1348.03 396.995 1346.19 396.458C1344.31 395.899 1342.34 395.741 1340.4 395.992C1338.45 396.245 1336.58 396.903 1334.91 397.925C1279.2 430.97 1210.85 491.422 1214.57 607.59C1219.08 755.449 1342.02 868.345 1501.83 872.97H1509.84H1520.78C1710.7 866.766 1847.85 725.787 1847.85 534.619C1847.85 359.126 1719.95 171.229 1483.34 171.229Z" 9883 fill="white" 9884 /> 9885 <path 9886 d="M3148.93 261.455H3053.73C3051.51 261.484 3049.37 262.385 3047.79 263.964C3046.2 265.544 3045.3 267.679 3045.29 269.914V469.653C3045.3 471.878 3046.21 473.999 3047.8 475.561C3049.38 477.123 3051.51 478 3053.73 478H3148.93C3206.9 478 3249.65 432.322 3249.65 369.727C3249.65 307.132 3206.9 261.455 3148.93 261.455Z" 9887 fill="white" 9888 /> 9889 <path 9890 d="M3441.38 614.802C3441.38 643.787 3465.85 659.915 3508.48 659.915C3566.45 659.915 3600.73 628.561 3600.73 572.958V556.944L3513.9 561.455C3468.1 563.71 3441.38 582.772 3441.38 614.802Z" 9891 fill="white" 9892 /> 9893 <path 9894 d="M4146.27 2.04983H2867.3C2846.33 2.04981 2825.54 6.18442 2806.17 14.2172C2786.78 22.25 2769.17 34.0237 2754.35 48.8653C2739.51 63.707 2727.75 81.3258 2719.73 100.715C2711.7 120.104 2707.59 140.883 2707.61 161.865V862.026C2707.61 904.392 2724.43 945.025 2754.38 974.992C2784.33 1004.96 2824.95 1021.81 2867.3 1021.84H4146.27C4167.28 1021.9 4188.1 1017.82 4207.53 1009.83C4226.95 1001.84 4244.61 990.093 4259.5 975.273C4274.37 960.45 4286.2 942.839 4294.28 923.445C4302.35 904.052 4306.51 883.258 4306.55 862.252V162.09C4306.58 141.042 4302.47 120.192 4294.43 100.74C4286.39 81.2884 4274.58 63.6179 4259.69 48.7448C4244.8 33.8719 4227.11 22.0899 4207.65 14.0763C4188.19 6.06265 4167.33 1.97545 4146.27 2.04983ZM3153.77 556.609H3053.17C3050.93 556.609 3048.79 557.499 3047.19 559.085C3045.61 560.672 3044.71 562.824 3044.71 565.068V708.3
989402C3044.71 710.545 3043.82 712.697 3042.24 714.283C3040.65 715.87 3038.5 716.761 3036.26 716.761H2965.42C2963.2 716.732 2961.05 715.831 2959.47 714.25C2957.89 712.672 2957.01 710.537 2956.97 708.302V191.639C2956.97 189.397 2957.86 187.245 2959.46 185.658C2961.04 184.072 2963.18 183.181 2965.42 183.181H3153.77C3260.47 183.181 3336.82 260.889 3336.82 369.951C3336.82 479.013 3261.03 556.833 3154.35 556.833L3153.77 556.609ZM3683.86 708.19C3683.88 709.31 3683.68 710.421 3683.25 711.461C3682.83 712.5 3682.21 713.447 3681.43 714.244C3680.63 715.041 3679.7 715.675 3678.66 716.107C3677.64 716.538 3676.52 716.761 3675.4 716.761H3608.52C3607.4 716.761 3606.29 716.538 3605.26 716.107C3604.22 715.675 3603.28 715.041 3602.5 714.244C3601.72 713.447 3601.09 712.5 3600.68 711.461C3600.26 710.421 3600.05 709.31 3600.07 708.19V692.739C3600.17 691.382 3599.85 690.026 3599.12 688.874C3598.41 687.72 3597.34 686.829 3596.06 686.334C3594.8 685.84 3593.41 685.769 3592.1 686.131C3590.77 686.491 3589.62 687.266 3588.79 688.34C3568.82 710.107 3536.34 725.896 3484.57 725.896C3408.34 725.896 3357.91 686.197 3357.91 617.624C335
98947.18 600.904 3360.63 584.265 3367.96 569.216C3375.28 554.17 3386.26 541.19 3399.88 531.458C3427.39 510.818 3470.02 500.104 3533.29 497.622L3600.39 495.367V475.741C3600.39 436.154 3573.78 419.35 3531.03 419.35C3488.29 419.35 3461.33 434.463 3455.03 459.163C3454.52 460.907 3453.45 462.433 3451.97 463.496C3450.51 464.56 3448.72 465.098 3446.9 465.027H3380.7C3379.48 465.058 3378.27 464.82 3377.15 464.334C3376.05 463.846 3375.04 463.12 3374.23 462.206C3373.43 461.291 3372.83 460.214 3372.49 459.044C3372.14 457.875 3372.05 456.646 3372.24 455.441C3382.17 396.793 3430.66 352.243 3534.09 352.243C3643.94 352.243 3683.52 403.335 3683.52 500.892L3683.86 708.19ZM4100.49 372.995L3951.62 770.108C3917.78 862.364 3858.56 886.05 3793.71 886.05C3781.5 886.348 3769.3 884.866 3757.51 881.652C3755.67 881.157 3754.06 880.073 3752.88 878.563C3751.73 877.056 3751.1 875.208 3751.08 873.305V812.965C3751.08 811.703 3751.35 810.455 3751.88 809.311C3752.42 808.167 3753.19 807.154 3754.16 806.347C3755.14 805.538 3756.27 804.955 3757.49 804.637C3758.71 804.319 3759.99 804.274 3761.23 804.506C3771.46 806.446 3781.84 807.428 3792.25 807.44C3810.18 808.339 3827.9 803.193 3842.57 792.825C3857.22 782.457 3867.98 767.467 3873.11 750.258L3877.52 736.385C3878.2 734.529 3878.2 732.491 3877.52 730.633L3738.33 373.109C3737.91 371.831 3737.79 370.469 3737.99 369.137C3738.2 367.804 3738.71 366.537 3739.47 365.439C3740.26 364.341 3741.29 363.442 3742.48 362.814C3743.67 362.187 3745 361.849 3746.34 361.83H3814.02C3815.75 361.847 3817.43 362.381 3818.86 363.367C3820.29 364.351 3821.39 365.741 3822.02 367.357L3916.54 619.542C3917.17 621.189 3918.27 622.608 3919.72 623.609C3921.18 624.612 3922.89 625.147 3924.66 625.147C3926.41 625.147 3928.15 624.612 3929.59 623.609C3931.04 622.608 3932.16 621.189 3932.77 619.542L4014.78 368.034C4015.32 366.319 4016.41 364.825 4017.87 363.77C4019.33 362.714 4021.08 362.153 4022.88 362.169H4092.26C4093.59 362.163 4094.91 362.475 4096.12 363.073C4097.31 363.673 4098.36 364.545 4099.16 365.62C4099.96 366.695 4100.49 367.942 4100.72 369.263C4100.96 370.582 4100.88 371.938 4100.49 373.221V372.995Z" 9895 fill="white" 9896 /> 9897 </g> 9898 <defs> 9899 <clipPath id="clip0"> 9900 <rect 9901 width="4317" 9902 height="1036.76" 9903 fill="white" 9904 transform="translate(0 0.240234)" 9905 /> 9906 </clipPath> 9907 </defs> 9908 </svg> 9909 </button> 9910 </div> 9911 9912 <div 9913 class="rebuy-cart__flyout-installments" 9914 v-if="installmentsEnabled()" 9915 v-html="installmentsMessage()" 9916 ></div> 9917 9918 <div data-app-target="below_checkout"></div> 9919 </div> 9920 </div> 9921 9922 <div class="rebuy-cart__background" v-on:click="hide()"></div> 9923 <div id="rebuy-cart-live-region" class="sr-only" aria-live="polite"></div> 9924</div> 9925</script>
9925 9926 9927 9928<!-- Rebuy Cart Continue Shopping Button -->
9929<script> 9930$(document).on('click', 'button.continue-shopping', function() { 9931 Rebuy.SmartCart.hide(); 9932 console.log('hide smartcart'); 9933}); 9934</script>
9934 9935 9936<!-- â Your custom JS goes LAST -->
9937<script src="//daehair.com/cdn/shop/t/364/assets/custom.js?v=59462" defer></script>
vendor: 1 bytes, line 9937
9937
9938<script> 9939window.addEventListener("pageshow", function (event) { 9940 if (event.persisted) { 9941 location.reload(); 9942 } 9943}); 9944</script>
9944 9945
9946<script>window.nvdStopRedirect = true</script>
9946 9947<style> </style> 9948<div id="shopify-block-AdEpnM0MycHo4NzBoN__2699851813924348007" class="shopify-block shopify-app-block">
9948<script> 9949 const nvdConsentConfig= {"landing_popup":{"general":{"headline":"General","section_content":{"max_width":"830px"},"section_style":{"background_color":"#F8F8F8","border_color":"#F8F8F8"},"initial_style":{"bg_color":"#F8F8F8","border_color":"#F8F8F8"}},"user_behavior":{"headline":"User behavior","section_content":{"after_scrolling_x%":50,"is_after_scrolling_x%_enable":true,"after_scrolling_x_seconds":50,"is_after_scrolling_x_seconds_enable":true}},"custom_css":{"headline":"Custom css","section_content":{"style":""}},"store_credit":{"headline":"Store credit","section_content":{"store_credit":false,"choose_credit_type":"static","amount":5}},"heading":{"headline":"Heading","section_content":{"title":"Choose The Best Way To Shop","is_title_enable":true,"subtitle":"Get exclusive perks, lower costs, and full shipping protection and {store_credit_amount} store credit.","is_subtitle_enable":true},"section_style":{"title_color":"#00070B","title_size":"24px","title_weight":600,"subtitle_color":"#374144","subtitle_size":"14px","subtitle_weight":400},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"subtitle_color":"#374144","subtitle_size":13,"subtitle_weight":400}},"benefits":{"headline":"Benefits","section_content":{"title":"Get exclusive benefits","benefits_content":[{"title":"Claims"},{"title":"Guaranteed Safe Delivery"},{"title":"Priority Customer Support"}]},"section_style":{"title_color":"#00070B","title_size":"16px","title_weight":600},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":500}},"with_protection":{"headline":"With protection","section_content":{"title":"With shipping protection","subtitle":"You will get {store_credit_amount} Store credit","img":""},"section_style":{"background_color":"#FE5C36","title_color":"#FFFFFF","subtitle_color":"#FFFFFF","title_size":"16px","title_weight":600,"subtitle_size":"12px","subtitle_weight":400},"initial_style":{"background_color":"#FE5C36","title_color":"#FFFFFF","subtitle_color":"#FFFFFF","title_size":14,"title_weight":500,"subtitle_size":12,"subtitle_weight":400}},"without_protection":{"headline":"Without protection","section_content":{"title":"Without shipping protection","subtitle":"Regular price","img":""},"section_style":{"background_color":"#EBEBEB","title_color":"#000000","subtitle_color":"#000000","title_size":"16px","title_weight":600,"subtitle_size":"12px","subtitle_weight":400},"initial_style":{"background_color":"#FE5C36","title_color":"#FFFFFF","subtitle_color":"#FFFFFF","title_size":14,"title_weight":500,"subtitle_size":12,"subtitle_weight":400}},"cta_button":{"headline":"CTA Button","section_content":{"button_text":"Checkout with shipping protection","secondary_button_text":"Not Now, Iâll Risk It"},"section_style":{"button_color":"#FFFFFF","button_background_color":"#FE5C36","secondary_button_color":"#00070B"},"initial_style":{"button_color":"#FFFFFF","button_background_color":"#FFEFEB","secondary_button_color":"#00070B"}},"shipping_protection":{"headline":"Shipping protection","section_content":{"description":"Protect your shipments and profits with Navidium's self-funded shipping protection plan. You keep 100% of the fees, manage claims directly, and ensure a seamless experience for your customers. Offset costs from lost or damaged shipments, upsell digital products, and boost conversionsâall while maintaining full control.","is_description_enable":true},"section_style":{"description_color":"#00070B","background_color":"#FFEFEB","description_size":13,"description_weight":400},"initial_style":{"description_color":"#00070B","background_color":"#FFEFEB","description_size":13,"description_weight":400}},"widget_settings":{"id":1,"headline":"Widget settings","section_content":{"title":"Shipping Protection","subtitle":"Get dedicated concierge help with refunds and replacements. We\n are here to help resolve shipping issues like loss, damage, or\n theft.","img":""},"section_style":{"background_color":"#ffffff","title_color":"#00070B","subtitle_color":"#00070B","icon_color":"#FE5C36","protection_amount_color":"#00070B"},"initial_style":{"description_color":"#00070B","background_color":"#FFEFEB","de
9949scription_size":13,"description_weight":400}}},"reminder_popup":{"general":{"headline":"General","section_content":{"max_width":"830px"},"section_style":{"background_color":"#F8F8F8","border_color":"#F8F8F8"},"initial_style":{"bg_color":"#F8F8F8","border_color":"#F8F8F8"}},"user_behavior":{"headline":"User behavior","section_content":{"after_scrolling_x%":50,"is_after_scrolling_x%_enable":true,"after_scrolling_x_seconds":50,"is_after_scrolling_x_seconds_enable":true}},"custom_css":{"headline":"Custom css","section_content":{"style":""}},"store_credit":{"headline":"Store credit","section_content":{"store_credit":false,"choose_credit_type":"static","amount":5}},"hero_section":{"headline":"Hero Section","section_content":{"title":"Protect Your Order Before You Checkout!","is_title_enable":true,"subtitle":"Donât let unexpected mishaps ruin your","is_subtitle_enable":true,"logo":""},"section_style":{"from_background_color":"#34073d","to_background_color":" #ef745c","title_color":"#ffffff","title_size":"28px","title_weight":600,"subtitle_color":"#ffffff","subtitle_size":"16px","subtitle_weight":400},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"subtitle_color":"#374144","subtitle_size":13,"subtitle_weight":400}},"heading":{"headline":"Heading ","section_content":{"title":"Did you protect your order?","is_title_enable":true,"subtitle":"Protect your order and get exclusive *benefits*","is_subtitle_enable":true},"section_style":{"title_color":"#00070B","title_size":"24px","title_weight":600,"subtitle_color":"#374144","subtitle_size":"16px","subtitle_weight":400},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"subtitle_color":"#374144","subtitle_size":13,"subtitle_weight":400}},"timer":{"headline":"Timer ","section_content":{"title":"Ends in","is_on_off_enable":true,"is_title_enable":true,"on_off":{"minutes":0,"second":10},"actions_when_timer_ends":["Re-direct to checkout"]},"section_style":{"title_color":"#00070B","title_size":"24px","title_weight":600,"timer_color":"#ffffff","timer_size":"20px","timer_weight":400},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"timer_color":"#ffffff","timer_size":13,"timer_weight":400}},"benefits":{"headline":"Benefits","section_content":{"title":"Get exclusive benefits","subtitle":"","img":"","benefits_content":[{"title":"Guaranteed Safe Delivery"},{"title":"Refund and Reorder"},{"title":"Hassle-Free Claims"}]},"section_style":{"title_color":"#00070B","title_size":"18px","title_weight":600,"subtitle_color":"#374144","subtitle_size":"12px","subtitle_weight":400},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"subtitle_color":"#374144","subtitle_size":13,"subtitle_weight":400}},"cta_button":{"headline":"CTA Button","section_content":{"button_text":"Protect My Order for {protection_price} now","secondary_button_text":"Not Now, Iâll Risk It"},"section_style":{"button_color":"#FFFFFF","button_background_color":"#FE5C36","secondary_button_color":"#00070B"},"initial_style":{"button_color":"#FFFFFF","button_background_color":"#FFEFEB","secondary_button_color":"#00070B"}},"upsell":{"headline":"Upsell","section_content":{"show_upsell":true,"title":"Recommended for you","products":{"select_from":"shopify_recommendation","recommendation_intent":"related","products":[]},"enable_slider":true,"show_badge":false,"badge_text":"Most Purchased","provide_discount":false,"discount_type":"percentage","discount_amount":10,"button_text":"Add to cart"},"section_style":{"title_color":"#00070B","title_size":"24px","title_weight":600,"product_title_color":"#374144","product_title_size":"18px","button_background_color":"#000000","button_color":"#FFFFFF"},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"subtitle_color":"#374144","subtitle_size":13,"subtitle_weight":400}},"sale_badge":{"headline":"Sale Badge","section_style":{"badge_border_radius":"14px","badge_text_weight":600,"badge_background_color":"#FE5C36","badge_text_color":"#FFFFFF"},"initial_style":{"badge_border_radius":10,"badge_text_weight":600,"badge_background_color":"#FE5C36","badge_text_color":"#FFFFFF"}}},"standard_widget":{"templateId":3,"general":{"headline":"General","section_content":{"logo":"","hide_logo":true},"section_style":{"background_color":"#fffdf5","border_color":"#fffdf5","icon_color":"#fffdf5","icon_background_color":"#fffdf5","protection_amount_color":"#bd6a16"},"initial_style":{"background_color":"#ffffff","title_color":"#00070B","subtitle_color":"#00070B","icon_color":"#FE5C36","protection_amount_color":"#00070B"}},"heading":{"headline":"Heading","section_content":{"title":"Package Protection ⢠","subtitle":"Get peace of mind with Shipping Protection in the event your delivery is Lost, Stolen or Damaged during transit.","learn_more":false,"learn_more_text":"","learn_more_destination":"","show_popup_on_learn_more":false},"section_style":{"title_color":"#bd6a16","subtitle_color":"#bd6a16","learn_more_color":"#bd6a16"},"initial_style":{"title_color":"#00070B","title_size":24,"title_weight":600,"subtitle_color":"#374144","subtitle_size":13,"subtitle_weight":400}},"learn_more_popup":{"headline":"Learn More Popup","section_content":{"popup_heading":"Let Navidium Cover It","popup_subheading":"Help the environment by reducing 100% of this order's shipping carbon. Also, you don't have to worry if anything happens to your package during shipping. Get instant priority support from our shipping protection portal.","popup_features":[{"title":"Add Shipping Protection","description":"Covers loss, damage, theft, missing or wrong items, return to
9949sender and other carrier mistakes.","icon":"https://d10pwglna6up6p.cloudfront.net/navidium-extension/assets/delivery-box.png"},{"title":"Get Priority Support","description":"Our friendly team has seen it all, and they have a 97% customer satisfaction store","icon":"https://d10pwglna6up6p.cloudfront.net/navidium-extension/assets/support-message.png"},{"title":"Receive an Instant Replacement","description":"Get immediate replacements or refunds on approved claims with a 99% approval rate","icon":"https://d10pwglna6up6p.cloudfront.net/navidium-extension/assets/truck-delivery.png"}],"show_bullet_points":false,"footer_links":[{"text":"Privacy Policy","url":"#"},{"text":"Claim","url":"#"},{"text":"Terms","url":"#"},{"text":"Support","url":"#"}],"footer_description":"","popup_logo":""},"section_style":{"popup_heading_color":"#00070B","popup_heading_size":"24px","popup_heading_weight":600,"popup_subheading_color":"#374144","popup_subheading_size":"13px","popup_subheading_weight":400,"feature_title_color":"#00070B","feature_title_size":"16px","feature_title_weight":600,"feature_description_color":"#374144","feature_description_size":"13px","feature_description_weight":400,"footer_link_color":"#374144","footer_link_size":"12px","footer_link_weight":400,"footer_description_color":"#374144","footer_description_size":"12px","footer_description_weight":400,"popup_background_color":"#ffffff","popup_border_radius":"8px"},"initial_style":{"popup_heading_color":"#00070B","popup_heading_size":"24px","popup_heading_weight":600,"popup_subheading_color":"#374144","popup_subheading_size":"13px","popup_subheading_weight":400,"feature_title_color":"#00070B","feature_title_size":"16px","feature_title_weight":600,"feature_description_color":"#374144","feature_description_size":"13px","feature_description_weight":400,"footer_link_color":"#374144","footer_link_size":"12px","footer_link_weight":400,"footer_description_color":"#374144","footer_description_size":"12px","footer_description_weight":400,"popup_background_color":"#ffffff","popup_border_radius":"8px"}},"cta_button":{"headline":"CTA Button","section_content":{"img":"","button_text":"Protected Checkout ⢠{price}","is_secondary_button_enable":true,"secondary_button_text":"Checkout without protection ","show_subtotal":false,"show_additional_checkout_button":false,"show_popup_when_clicked_on_secondary_button":false},"section_style":{"button_color":"#FFFFFF","button_background_color":"#fa5273","button_font_size":"14px","button_font_weight":600,"secondary_button_color":"#fa5273","secondary_button_background_color":"transparent","secondary_button_font_size":"14px","secondary_button_font_weight":400},"initial_style":{"button_color":"#FFFFFF","button_background_color":"#FFEFEB","secondary_button_color":"#00070B","secondary_button_background_color":"transparent"}}}} 9950 const nvdWidgetConfig= {"success":true,"nvd_name":"Shipping Protection","nvd_subtitle":"from Damage, Loss & Theft for ","nvd_description":"Get peace of mind with Delivery Guarantee in the event your delivery is damaged, stolen, or lost during transit.","nvd_message":"By Deselecting Shipping Protection, we will not be liable for lost or stolen packages.","nvd_show_cart":"1","nvd_show_checkout":"0","nvd_auto_insurance":"0","nvd_protection_type":"0","nvd_protection_type_value":"2","product_exclusion":"Example-Product","exclusion_action":"1","widget_location":"shipping_method","nvd_widget_style":"{\"titleColor\":\"#6D7175\",\"sloganColor\":\"#6D7175\",\"amountColor\":\"#6D7175\",\"optMessageColor\":\"#6D7175\",\"topBgColor\":\"#FFFFFF\",\"logoBg\":\"#FFFFFF\",\"cornerRadius\":\"0px\",\"learnMoreColor\":\"#000\",\"switchColor\":\"#008060\",\"switchColorOptOut\":\"#6D7175\"}","nvd_widget_template":"widget-6","min_protection_value":"0.75","max_protection_value":"74","min_variant_id":"41871155658807","min_variant_price":"0.98","max_variant_id":"41871158870071","max_variant_price":"74","nvd_learn_more":"#","threshold_value":999999,"rounding_value":"rounding_up","nvd_preview_mode":"0","nvd_claim_widget":"{\"customData\":{\"isUpdated\":1,\"attachment_page\":{\"page_name\":\"Attachment page\",\"content\":{\"short_title\":\"Explain issue \",\"damaged_notice\":\"This is only for packages that are damaged upon arrival caused by the courier (cuts, water or humidity damage, etc.).\",\"lost_notice\":\"This applies to packages with the correct shipping address but were lost by the courier while in transit. Incorrect/insufficient addresses will not be handled by this policy.\",\"stolen_notice\":\"Stolen packages must be reported to the authority (police) first. Once a police report is available, please upload a copy to the drop box below.\",\"file_upload_text\":\"Upload damaged product\",\"issue_text_title\":\"Explain your issue\",\"is_issue_text_required\":true,\"is_file_upload_required\":true,\"show_notice\":false,\"required_field_reasons\":[\"Damaged\",\"Lost\",\"Stolen\"],\"image_required_reasons\":[\"Damaged\",\"Lost\",\"Stolen\"],\"check_required_reasons\":[\"Damaged\",\"Lost\",\"Stolen\"]},\"style\":{\"notice_bg\":\"#FEEBC8\",\"icon_bg\":\"#cc7e3e\",\"notice_text_color\":\"#000000\"}},\"claim_successful_page\":{\"page\":\"Claim Successful\",\"content\":{\"customInReviewTitle\":\"Thank you for reporting this claim.\",\"customInReviewParagraph\":\"Your claim has been forwarded for review. We will get back to you as soon as possible.\",\"claim_success_page_button\":\"Go Home\"}},\"global_data\":{\"page\":\"Global Page\",\"content\":{\"mainTitle\":\"Resolve Shipping Problems\",\"customParagraph\":\"Was your package lost, damaged or stolen while being shipped? Then letâs get it taken care of.\",\"companyEmail\":\"\",\"headingFont\":\"Satoshi\",\"paragraphFont\":\"Satoshi\",\"requireOtp\":true,\"limitClaim\":true,\"next_button_text\":\"Next\",\"back_button_text\":\"Back\",\"find_order_button_text\":\"Find your order\"},\"style\":{\"bg\":\"#fffdf5\",\"bg_overlay\":\"\",\"body\":\"#FFFDF5\",\"main_title\":\"#ac6e37\",\"short_description\":\"#AC6E37\",\"card_border_radius\":15,\"card_border_color\":\"#FFFDF5\",\"card_body_color\":\"#fffdf5\",\"next_button_background\":\"#F39396\",\"next_button_text_color\":\"#FFFDF5\",\"next_button_hover_color\":\"#AC6E37\",\"next_button_hover_text_color\":\"#FFFDF5\",\"back_button_background\":\"#F39396\",\"back_button_text_color\":\"#FFFDF5\",\"back_button_hover_color\":\"#AC6E37\",\"back_button_hover_text_color\":\"#AC6E37\",\"short_title\":\"#000000\",\"button_radius\":31,\"title_font_weight\":\"700\",\"paragraph_font_weight\":\"400\",\"short_description_font_weight\":\"400\",\"t
9950itle_font_transform\":\"capitalize\",\"paragraph_font_transform\":\"none\",\"short_description_font_transform\":\"none\"}},\"order_list_page\":{\"page\":\"Order List\",\"content\":{\"orderListShortTitle\":\"Select an order\"},\"style\":{\"body\":\"#FFFFFF\"}},\"order_details_page\":{\"page\":\"Order Details\",\"content\":{\"orderDetailsShortTitle\":\"Select faulty products\"}},\"reason_page\":{\"page\":\"Reason Page\",\"content\":{\"reasonTitle\":\"Select an issue\",\"something_else_text\":\"Something else\",\"reasons\":[\"Damaged\",\"Lost\",\"Stolen\"],\"hide\":false},\"style\":{\"reason_btn_background_color\":\"#FFFFFF\",\"reason_btn_text_color\":\"#000000\",\"reason_btn_active_bg_color\":\"#FFF3DD\",\"reason_btn_active_text_color\":\"#000000\",\"reason_btn_border_color\":\"#B1B1B1\",\"reason_btn_border_active_color\":\"#FE5C36\"}},\"refund_reorder_page\":{\"page_name\":\"Refund reorder page\",\"content\":{\"refundReorderShortTitle\":\"What would you like to receive?\",\"showRefund\":true,\"refund_text\":\"Refund\",\"showRefundOnTop\":false,\"showReorder\":true,\"reorder_text\":\"Reorder\",\"submitClaimButtonText\":\"submit\",\"new_button\":[]},\"style\":{\"reorder_btn_background_color\":\"#FFFFFF\",\"reorder_btn_text_color\":\"#000000\",\"refund_btn_text_color\":\"#000000\",\"refund_btn_background_color\":\"#FFFFFF\",\"submit_claim_btn_text\":\"#000000\",\"submit_claim_btn_background\":\"#f5f5f5\",\"refund_border_color\":\"#B1B1B1\",\"refund_border_active_color\":\"#FE5C36\"}},\"reorder_submit_page\":{\"page_name\":\"Reorder submit page\",\"content\":{\"description\":\"Please review your shipping address to ensure it is correct.\",\"mainTitle\":\"You Qualify For An Instant Replacement\",\"next_button_text\":\"Get Replacement\",\"back_button_text\":\"Back\"},\"style\":{\"mainTitle_text_color\":\"#000000\",\"description_text_color\":\"#000000\",\"text_color\":\"#000000\",\"next_button_background\":\"#000000\",\"next_button_hover_color\":\"#FE5C36\",\"next_button_text_color\":\"#fff\",\"next_button_hover_text_color\":\"#fff\",\"back_button_background\":\"#000000\",\"back_button_hover_color\":\"#FE5C36\",\"back_button_text_color\":\"#fff\",\"back_button_hover_text_color\":\"#fff\"}},\"search_order_page\":{\"page_name\":\"Default page\",\"content\":{\"homeShortTitle\":\"Start by entering your order details.\",\"emailPlaceholderText\":\"Email Address\",\"orderPlaceholderText\":\"Order number\"},\"style\":{\"input_background_color\":\"#FFFFFF\",\"input_text_color\":\"#000000\",\"input_placeholder_color\":\"#ADA9A9\",\"input_border_radius\":10}}},\"logoUrl\":\"https://d10pwglna6up6p.cloudfront.net/navidium-widgets/image-files/logo_80x.png-68d43899ec914.png\",\"bgUrl\":\"\"}","nvd_nations":"[{\"name\":\"United States\",\"flag\":\"https://flagcdn.com/w320/us.png\"}]","nvd_international":"1","nvd_international_fee":"2","nvd_international_fee_active":"0","nvd_claim_email":"0","nvd_widget_icon_alt":"https://d10pwglna6up6p.cloudfront.net/assets/navidium-shipping-icon.png","store_currency":"USD","disclaimer_properties":"{\"status\":true,\"property_name\":\"Disclaimer\",\"property_value\":\"This is an optional additional service for expedited replacements and is not a shipping fee.\"}","nvd_variants":{"0.98":"41871155658807","1.13":"41871155724343","3.14":"41871155757111","7.52":"41871155789879","3.75":"41871155822647","4.5":"41871155855415","5.25":"41871155888183","6":"41871155920951","6.75":"41871155953719","7.5":"41871155986487","8.25":"41871156019255","9":"41871156052023","9.75":"41871156084791","10.5":"41871156117559","11.25":"41871156150327","12":"41871156183095","12.75":"41871156215863","13.5":"41871156248631","14.25":"41871156281399","15":"41871156314167","15.75":"41871156346935","16.5":"41871156379703","17.25":"41871156412471","18":"41871156445239","18.75":"41871156478007","19.5":"41871156510775","20.25":"41871156543543","21":"41871156576311","21.75":"41871156609079","22.5":"41871156641847","23.25":"41871156674615","24":"41871156707383","24.75":"41871156740151","25.5":"41871156772919","26.25":"41871156805687","27":"41871156838455","27.75":"41871156871223","28.5":"41871156903991","29.25":"41871156936759","30":"41871156969527","30.75":"41871157002295","31.5":"41871157035063","32.25":"41871157067831","33":"41871157100599","33.75":"41871157133367","34.5":"41871157166135","35.25":"41871157198903","36":"41871157231671","36.75":"41871157264439","37.5":"41871157297207","38.25":"41871157329975","39":"41871157362743","39.75":"41871157395511","40.5":"41871157428279","41.25":"41871157461047","42":"41871157493815","42.75":"41871157526583","43.5":"41871157559351","44.25":"41871157592119","45":"41871157624887","45.75":"41871157657655","46.5":"41871157690423","47.25":"41871157723191","48":"41871157755959","48.75":"41871157788727","49.5":"41871157821495","50.25":"41871157854263","51":"41871157887031","51.75":"41871157919799","52.5":"41871157952567","53.25":"41871157985335","54":"41871158018103","54.75":"41871158050871","55.5":"41871158083639","56.25":"41871158116407","57":"41871158149175","57.75":"41871158181943","58.5":"41871158214711","59.25":"41871158247479","60":"41871158280247","60.75":"41871158313015","61.5":"41871158345783","62.25":"41871158378551","63":"41871158411319","63.75":"41871158444087","64.5":"41871158476855","65.25":"41871158509623","66":"41871158542391","66.75":"41871158575159","67.5":"41871158607927","68.25":"41871158640695","69":"41871158673463","69.75":"41871158706231","70.5":"41871158738999","71.25":"41871158771767","72":"41871158804535","72.75":"41871158837303","74":"41871158870071","74.25":"41871158902839"},"nvd_static_rules":[{"id":"41871155789879","from":250,"to":9999,"price":"7.52"},{"id":"41871155757111","from":120,"to":249.99,"price":"3.14"},{"id":"41871155724343","from":60,"to":119.99,"price":"1.13"},{"id":"41871155691575","from":30,"to":59.99,"price":"0.98"},{"id":"41871155658807","from":0,"to":29.99,"price":"0.98"}],"time":"2026-06-10 12:59:45","nvd_single_variant":"0","nvd_widget_icon":"https://d10pwglna6up6p.cloudfront.net/assets/navidium-shipping-icon.png","product_ids":["7339650056247","7345337466935","7345337499703","7345337532471"],"is_custom_setting":0,"custom_setting_operator":null,"custom_setting_price":null,"custom_setting_type":null,"custom_setting_fee":null,"smart_mode":false} 9951 const isNvdLandingPopupOn = false 9952 const isNvdReminderPopupOn = false 9953 const nvdWidgetAutoInstall = true 9954 9955 const nvdWidgetHelpers = { 9956 product_handle: 'navidium-shipping-protection', 9957 subtotal_element: 'navidium', 9958 click_triggers: '#cart-icon-bubble', 9959 checkout_section: '.rebuy-cart__checkout-button,auto-install-to-theme', 9960 store_checkout_button: '.rebuy-cart__checkout-button', 9961 }; 9962 if(nvdWidgetAutoInstall) { 9963 nvdWidgetHelpers.checkout_section = nvdWidgetHelpers.checkout_section + ',[name="checkout"],auto-install-to-theme'; 9964 } 9965 const nvdReminderPopupOpen = () =>{ 9966 document.body.classList.add('nvd-scroll-lock') 9967 document.getElementById('nvd-reminder-modal').style.display='block' 9968 } 9969</script>
vendor: 1 bytes, line 9969
9969
9970<script> 9971 let nvdShopCurrency = window.nvdShopCurrency ? window.nvdShopCurrency : ''; 9972 if (nvdShopCurrency == '') { 9973 nvdShopCurrency = '${{amount}}'; 9974 } 9975</script>
vendor: 1 bytes, line 9975
9975
9976<script> 9977 window.nvdCartItems = [ 9978 ]; 9979</script>
vendor: 1 bytes, line 9979
9979
9980<script> 9981 window.addEventListener('DOMContentLoaded', function () { 9982 9983 try { 9984 9985 if (nvdWidgetHelpers.checkout_section.includes('auto-install-to-theme')) { 9986 window.needToInjectNvd = true; 9987 window.injectNvdToCart = () => { 9988 document.querySelectorAll(nvdWidgetHelpers.checkout_section).forEach((checkoutBtn) => { 9989 if (!checkoutBtn) return; 9990 const parent = checkoutBtn.parentNode; 9991 if (!parent) return; 9992 9993 // Prevent duplicate injection in this container 9994 if (parent.querySelector('.nvd-mini')) return; 9995 9996 const nvdDiv = document.createElement('div'); 9997 nvdDiv.className = 'nvd-mini w-nvd-100'; 9998 9999 parent.insertBefore(nvdDiv, checkoutBtn); 10000 console.info('[NVD] Mini injected before checkout button:', checkoutBtn); 10001 }); 10002 }; 10003 10004 // Run immediately 10005 injectNvdToCart(); 10006 10007 // Retry for delayed carts (like Rebuy) 10008 let tries = 0; 10009 const interval = setInterval(() => { 10010 injectNvdToCart(); 10011 if (++tries > 12) clearInterval(interval); // stop after ~6s 10012 }, 500); 10013 } 10014 } catch (error) { 10015 console.error('Error injecting NVD:', error); 10016 } 10017 }); 10018</script>
10018 10019<style> 10020 .nvd-mini button:disabled { 10021 cursor: not-allowed !important; 10022 } 10023 div#nvd-standard-widget-container { 10024 min-width: 100%; 10025} 10026 10027.nvd-mini.w-nvd-100 { 10028 min-width: 100%; 10029} 10030</style> 10031<div id="nvd-consent"></div> 10032 10033
10033<script src="https://cdn.shopify.com/extensions/01a0f69e-ad26-75be-b729-61bbada23299/navidium-shipping-protection-528/assets/jQuery.js"></script>
10033 10034 10035
10036<script defer src="https://cdn.shopify.com/extensions/01a0f69e-ad26-75be-b729-61bbada23299/navidium-shipping-protection-528/assets/nvd-widget-with-consent.js"></script>
10036 10037
10038<script defer src="https://cdn.shopify.com/extensions/01a0f69e-ad26-75be-b729-61bbada23299/navidium-shipping-protection-528/assets/learn-more-popup.js"></script>
10038 10039 10040 10041</div><div id="shopify-block-AS2hTanRhTzNEeHp5a__14257673941758180001" class="shopify-block shopify-app-block"> 10042 10043 10044</div><div id="shopify-block-AMXlNNXM5SWtGZ0cxR__17151115064775110295" class="shopify-block shopify-app-block"><style data-recharge-theme='{"has_theme_customization": true, "design_mode": false }'> 10045 .recharge-theme { 10046 /* App */ 10047 --recharge-app-background: #F9F8F4; 10048 --recharge-app-container: 1200px; 10049 --recharge-app-vertical-padding: 32px; 10050 10051 /* Brand colors */ 10052 10053--recharge-color-brand: #467C99; 10054 10055 /* Tints */ 10056 --recharge-color-brand-120: #38637a; 10057 --recharge-color-brand-20: #6b96ad; 10058 --recharge-color-brand-40: #90b0c2; 10059 --recharge-color-brand-60: #b5cbd6; 10060 --recharge-color-brand-75: #d1dee6; 10061 --recharge-color-brand-85: #e3ebf0; 10062 10063 /* Neutral */ 10064 --recharge-color-neutral: hsl(201, 35%, 7%); 10065 --recharge-color-neutral-80: hsl(201, 7%, 25%); 10066 --recharge-color-neutral-70: hsl(201, 5%, 35%); 10067 --recharge-color-neutral-40: hsl(201, 3%, 63%); 10068 --recharge-color-neutral-10: hsl(201, 2%, 91%); 10069 10070 10071 /* Links */ 10072 --recharge-button-secondary: #467C99; 10073 --recharge-button-secondary-120: #38637a; 10074 --recharge-button-secondary-60: #90b0c2; 10075 10076 /* Images */ 10077 --recharge-images-ratio: 1; 10078 10079 /* Cards */ 10080 10081 --recharge-cards-background: #FFFFFF; 10082 10083 10084 10085 --recharge-cards-border-color: RGBA(0,0,0,0); 10086 10087 10088 /* Fonts */ 10089 --recharge-typography-scale: 16px; 10090 --recharge-typography-size-1: calc(3 * var(--recharge-typography-scale)); 10091 --recharge-typography-size-2: calc(2.25 * var(--recharge-typography-scale)); 10092 --recharge-typography-size-3: calc(1.625 * var(--recharge-typography-scale)); 10093 --recharge-typography-size-4: calc(1.25 * var(--recharge-typography-scale)); 10094 --recharge-typography-size-5: calc(1 * var(--recharge-typography-scale)); 10095 --recharge-typography-size-6: calc(.875 * var(--recharge-typography-scale)); 10096 10097 /** Text **/ 10098 --recharge-typography-light: #FFFFFF; 10099 --recharge-typography-primary: var(--recharge-color-neutral); 10100 --recharge-typography-secondary: var(--recharge-color-neutral-70); 10101 10102 /* Corners */ 10103 --recharge-corners-radius: 8px; 10104 10105 --recharge-button-border-radius: 8px; 10106 10107 10108 /* Views */ 10109 10110 --recharge-views-background: #F9F8F4; 10111 10112 10113 /* Buttons */ 10114 --recharge-button-font-family: inherit; 10115 --recharge-button-brand: var(--recharge-color-brand); 10116 --recharge-button-color: #FFFFFF; 10117 } 10118</style> 10119 10120</div>
10120<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
10120 10121</body> 10122</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.