1<!doctype html> 2<html class="no-js " lang="en"> 3 <head> 4 <!-- Start of TrueVault Code Block -->
5<script> 6 window.polarisOptions = {hideCookieButton: true}; 7</script>
7 8
8<script src="https://polaris.truevaultcdn.com/static/pc/MPB7VLTCT/polaris.js"> 9</script>
9 10<!-- End of TrueVault Code Block --> 11 <meta charset="utf-8"> 12 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 13 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 14 <link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/helveticaneue-regular.woff2?v=10634716634017319331782709393" as="font" type="font/woff2" crossorigin="anonymous" fetchpriority="high"> 15<link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/helveticaneue-medium.woff2?v=61111921842405311921782709412" as="font" type="font/woff2" crossorigin="anonymous"> 16<link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/helveticaneue-mediumcondensed.woff2?v=66957520220898995211782709418" as="font" type="font/woff2" crossorigin="anonymous"> 17 18<style> 19 /* ââ @font-face ââ 20 Same family name with non-overlapping weight RANGES so the browser always 21 resolves to a real file and never synthesizes (faux-bolds) a missing weight. 22 <=450 -> Regular, >=451 -> Medium. */ 23 @font-face { 24 font-family: 'Helvetica Neue'; 25 src: url('//calistatools.com/cdn/shop/t/144/assets/helveticaneue-regular.woff2?v=10634716634017319331782709393') format('woff2'); 26 font-weight: 1 450; 27 font-style: normal; 28 font-display: swap; 29 } 30 @font-face { 31 font-family: 'Helvetica Neue'; 32 src: url('//calistatools.com/cdn/shop/t/144/assets/helveticaneue-medium.woff2?v=61111921842405311921782709412') format('woff2'); 33 font-weight: 451 1000; 34 font-style: normal; 35 font-display: swap; 36 } 37 @font-face { 38 font-family: 'Helvetica Neue Cond'; 39 src: url('//calistatools.com/cdn/shop/t/144/assets/helveticaneue-mediumcondensed.woff2?v=66957520220898995211782709418') format('woff2'); 40 font-weight: 1 1000; 41 font-style: normal; 42 font-display: swap; 43 } 44 45 /* ââ Metric-matched fallback ââ 46 Tuned to Helvetica Neue Regular's real metrics (upm 1000: asc 952 / desc 213 / 47 gap 28; size-adjust from avg advance vs Arial). Makes the system fallback occupy 48 the exact same space as HN, so the swap causes no layout shift (protects CLS). */ 49 @font-face { 50 font-family: 'HN Fallback'; 51 src: local('Arial'), local('Helvetica Neue'), local('Helvetica'), local('Arimo'); 52 ascent-override: 94.01%; 53 descent-override: 21.03%; 54 line-gap-override: 2.76%; 55 size-adjust: 101.27%; 56 } 57 58 /* ââ Repoint Eurus's global font variables ââ 59 The whole theme reads from these two custom properties, so this swaps fonts 60 site-wide with no fork. !important on a custom property wins regardless of 61 where this snippet renders relative to the theme's own variable block. */ 62 :root { 63 --font-body-family: 'Helvetica Neue', 'HN Fallback', Arial, sans-serif !important; 64 --font-heading-family: 'Helvetica Neue', 'HN Fallback', Arial, sans-serif !important; 65 } 66 67 /* ââ Large headlines -> condensed face ââ 68 Targets the heading element directly (the theme sets font-family on .h1/.h2, 69 so the wrapper alone won't win). Comment out any binding that over-applies, 70 and use .headline-condensed to add the condensed face anywhere else. */ 71 .x-container-slideshow .h1, 72 .x-container-slideshow .h2, 73 .collection-title .h1, 74 .collection-title h1, 75 .headline-condensed { 76 font-family: 'Helvetica Neue Cond', 'Arial Narrow', Arial, sans-serif !important; 77 font-weight: 500 !important; 78 letter-spacing: 0 !important; 79 } 80 81 /* End: Calista Self-hosted Helvetica Neue */ 82</style> 83 84 <meta name="theme-color" content=""> 85 86 <link rel="canonical" href="https://calistatools.com/products/gloss-caramel-color-enhancement"> 87 88<link rel="icon" type="image/png" href="//calistatools.com/cdn/shop/files/calista-favicon-black.png?crop=center&height=32&v=1776903326&width=32"><title> 89 GLOSS Caramel Color Enhancement 90 – Calista Tools</title> 91 92 <meta name="description" content="Created to brighten hair and add glassy shine, GLOSS Purple Color Enhancement is a temporary color treatment that neutralizes brassy tones and deep conditions hair. Lasting between 6-8 shampoos, this enriching formula offers a blend of reflective pigments that enhance and brighten all natural and color-treated shades. Paraben & sulfate free."> 93 94 <link href="//calistatools.com/cdn/shop/t/144/assets/theme.css?v=57024371248
9414258051782330849" rel="stylesheet" type="text/css" media="all" /> 95 96 97 <link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/secondary-css.css?v=124842348671814217191782330849" as="style" onload="this.onload=null;this.rel='stylesheet'"> 98 <noscript> 99 <link rel="stylesheet" href="//calistatools.com/cdn/shop/t/144/assets/secondary-css.css?v=124842348671814217191782330849"> 100 </noscript> 101 <link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/theme-md.css?v=151260671671375736911782330849" as="style" media="(min-width: 768px)"> 102 <link rel="stylesheet" href="//calistatools.com/cdn/shop/t/144/assets/theme-md.css?v=151260671671375736911782330849" type="text/css" media="(min-width: 768px)"> 103 <link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/theme-lg.css?v=86808408100825652321782330849" as="style" media="(min-width: 1024px)"> 104 <link rel="stylesheet" href="//calistatools.com/cdn/shop/t/144/assets/theme-lg.css?v=86808408100825652321782330849" type="text/css" media="(min-width: 1024px)"> 105 <link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/theme-xl.css?v=32779135562416466511782330849" as="style" media="(min-width: 1280px)"> 106 <link rel="stylesheet" href="//calistatools.com/cdn/shop/t/144/assets/theme-xl.css?v=32779135562416466511782330849" type="text/css" media="(min-width: 1280px)"> 107 108 109 110<link rel="preload" href="" as="font" type="font/woff2" crossorigin="anonymous" fetchpriority="high" /> 111 112 113 114 115<meta property="og:site_name" content="Calista Tools"> 116<meta property="og:url" content="https://calistatools.com/products/gloss-caramel-color-enhancement"> 117<meta property="og:title" content="GLOSS Caramel Color Enhancement"> 118<meta property="og:type" content="product"> 119<meta property="og:description" content="Created to brighten hair and add glassy shine, GLOSS Purple Color Enhancement is a temporary color treatment that neutralizes brassy tones and deep conditions hair. Lasting between 6-8 shampoos, this enriching formula offers a blend of reflective pigments that enhance and brighten all natural and color-treated shades. Paraben & sulfate free."><meta property="og:image" content="http://calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597"> 120 <meta property="og:image:secure_url" content="https://calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597"> 121 <meta property="og:image:width" content="2083"> 122 <meta property="og:image:height" content="2083"><meta property="og:price:amount" content="39"> 123 <meta property="og:price:currency" content="USD"><meta name="twitter:card" content="summary_large_image"> 124<meta name="twitter:title" content="GLOSS Caramel Color Enhancement"> 125<meta name="twitter:description" content="Created to brighten hair and add glassy shine, GLOSS Purple Color Enhancement is a temporary color treatment that neutralizes brassy tones and deep conditions hair. Lasting between 6-8 shampoos, this enriching formula offers a blend of reflective pigments that enhance and brighten all natural and color-treated shades. Paraben & sulfate free."> 126<style data-shopify> 127 128 129 130 131 132 133 134 135 �</style> 136<style data-shopify>:root, 137 *:before { 138 --base-font-size: 0.875rem; 139 --font-size-medium-mobile: 0.9rem; 140 --font-size-medium: 1.0rem; 141 --font-size-small: 0.625rem; 142 --font-size-small-mobile: 0.5625rem; 143 --font-size-normal: 0.75rem; 144 --font-size-normal-mobile: 0.675rem; 145 --font-size-large: 1.25rem; 146 --font-size-large-mobile: 1.125rem; 147 --heading-highlight-font-size: 100%; 148 --h1-font-size: 3.825rem; 149 --h2-font-size: 2.25rem; 150 --h3-font-size: 1.35rem; 151 --h4-font-size: 1.2375rem; 152 --h5-font-size: 1.125rem; 153 --h6-font-size: 1.0125rem; 154 --base-font-size-mobile: 0.7875rem; 155 --h1-font-size-mobile: 1.9125rem; 156 --h2-font-size-mobile: 1.35rem; 157 --h3-font-size-mobile: 0.945rem; 158 --h4-font-size-mobile: 0.86625rem; 159 --h5-font-size-mobile: 0.7875rem; 160 --h6-font-size-mobile: 0.70875rem; 161 --rating-star-size: 0.7rem; 162 --border-radius: 0; 163 --page-width: 1400px; 164 --width-countdown: 7.875rem; 165 --font-menu: Helvetica, Arial, sans-serif; 166 --font-menu-weight: 400; 167 --font-menu-style: normal; 168 --font-button: Helvetica, Arial, sans-serif; 169 --font-button-weight: 400; 170 --font-button-style: normal; 171 --font-body-family: Helvetica, Arial, sans-serif; 172 --font-body-style: normal; 173 --font-body-weight: 400; 174 --font-heading-family: Helvetica, Arial, sans-serif; 175 --font-heading-highlight: Helvetica, Arial, sans-serif; 176 --font-heading-highlight-style: normal;
177 --font-heading-highlight-weight: 400; 178 --font-heading-style: normal; 179 --font-heading-weight: 700; 180 --heading-text-tranform: none; 181 --advanced-sections-spacing: 0px; 182 --divider-spacing: -0; 183 184 --colors-pulse-speech: 166, 88, 107; 185 --image-treatment-overlay: 0, 0, 0; 186 --image-treatment-text: 255, 255, 255; 187 --colors-line-and-border: 225, 227, 225; 188 --colors-line-and-border-base: 225, 227, 225; 189 --colors-line-header: 225, 227, 225; 190 --colors-line-footer: 52, 54, 52; 191 --colors-background: 255, 255, 255; 192 --colors-text: 51, 50, 46; 193 --colors-text-base: 51, 50, 46; 194 --colors-heading: 51, 50, 46; 195 --colors-heading-base: 51, 50, 46; 196 --colors-background-secondary: 253, 241, 237; 197 --colors-text-secondary: 51, 50, 46; 198 --colors-heading-secondary: 51, 50, 46; 199 --colors-text-link: 51, 50, 46; 200 --background-color: 255, 255, 255; 201 --background-color-base: 255, 255, 255; 202 --background-color-header: 255, 255, 255; 203 --colors-text-header: 51, 50, 46; 204 --background-color-footer: 51, 50, 46; 205 --colors-text-footer: 208, 208, 208; 206 --colors-heading-footer: 255, 255, 255; 207 --colors-text-link-footer: 255, 255, 255; 208 --color-error: 169, 0, 51; 209 --color-success: 96, 107, 87; 210 --colors-price: 51, 50, 46; 211 --colors-price-sale: 166, 88, 107; 212 --colors-button-text: 255, 255, 255; 213 --colors-button: 51, 50, 46; 214 --colors-button-text-hover: 255, 255, 255; 215 --colors-secondary-button: 51, 50, 46; 216 --colors-button-hover: rgb(16, 16, 16); 217 --colors-cart: 166, 88, 107; 218 --colors-cart-text: 255, 255, 255; 219 --colors-icon-rating: 51, 50, 46; 220 --colors-transition-arrows: 0, 0, 0; 221 --color-highlight: rgb(51, 50, 46); 222 --background-pagination-slideshow: 40, 41, 40; 223 --text-color-pagination-slideshow: 255, 255, 255; 224 225 --background-secondary-button: transparent; 226 --colors-line-secondary-button: 51, 50, 46; 227 228 229 --button-width: 120%; 230 --button-height: 100%; 231 --button-transform: rotate3d(0,0,1,10deg) translate3d(-1.2em,110%,0); 232 --button-transform-origin: 0% 100%; 233 234 235 --height-parallax: 100%; 236 237 238 --image-zoom: 1.05; 239 240 --card-product-bg: rgba(0,0,0,0); 241 --card-product-padding: 20px; 242 --card-product-padding-mobile: 3px; 243 --card-product-alignment: left; 244 245 --width-scrollbar: 0; 246 --card-product-ratio: 100.0%; 247 --card-product-img-position: absolute; 248 --card-product-img-height: 0; 249 --card-product-img-zoom: scale(1.1); 250 --height-header: 0px; 251 --transition-card-loading: 500ms; 252 --transition-card-image-hover: 400ms;
253 --transition-slideshow: 500ms; 254 --transition-image-hover: 500ms; 255 } 256 .dark, 257 .dark *:before { 258 --image-treatment-overlay: 0, 0, 0; 259 --image-treatment-text: 255, 255, 255; 260 --colors-line-and-border: 49, 49, 49; 261 --colors-line-and-border-base: 49, 49, 49; 262 --colors-line-header: 52, 54, 52; 263 --colors-line-footer: 52, 54, 52; 264 --colors-background: 40, 41, 40; 265 --colors-text: 225, 227, 225; 266 --colors-text-base: 225, 227, 225; 267 --colors-heading: 255, 255, 255; 268 --colors-heading-base: 255, 255, 255; 269 --background-color: 40, 41, 40; 270 --background-color-base: 40, 41, 40; 271 --colors-text-link: 145, 180, 116; 272 --color-error: 229, 105, 15; 273 --color-success: 145, 180, 116; 274 --background-color-header: 40, 41, 40; 275 --colors-text-header: 255, 255, 255; 276 --background-color-footer: 40, 41, 40; 277 --colors-text-footer: 225, 227, 225; 278 --colors-heading-footer: 255, 255, 255; 279 --colors-text-link-footer: 145, 180, 116; 280 --colors-price: 250, 250, 250; 281 --colors-price-sale: 229, 105, 15; 282 --colors-button-text: 40, 41, 40; 283 --colors-button: 255, 255, 255; 284 --colors-button-text-hover: 40, 41, 40; 285 --colors-secondary-button: 255, 255, 255; 286 --colors-button-hover: rgb(255, 255, 255); 287 --colors-cart: 145, 180, 116; 288 --colors-cart-text: 250, 250, 250; 289 --colors-background-secondary: 47, 48, 47; 290 --colors-text-secondary: 225, 227, 225; 291 --colors-heading-secondary: 255, 255, 255; 292 --colors-icon-rating: 229, 105, 15; 293 --colors-pulse-speech: 166, 88, 107; 294 --colors-transition-arrows: 0, 0, 0; 295 --color-highlight: rgb(145, 180, 116); 296 297 --background-secondary-button: transparent; 298 --colors-line-secondary-button: 255, 255, 255; 299 300 --card-product-bg: rgba(0,0,0,0); 301 } 302 shopify-accelerated-checkout { 303 --shopify-accelerated-checkout-button-border-radius: 0; 304 } 305 shopify-accelerated-checkout-cart { 306 --shopify-accelerated-checkout-button-border-radius: 0; 307 --shopify-accelerated-checkout-inline-alignment: end; 308 --shopify-accelerated-checkout-button-block-size: 48px; 309 --shopify-accelerated-checkout-button-inline-size: 48px; 310 } 311 shopify-account { 312 --shopify-account-color-accent: rgba(var(--colors-button)); 313 --shopify-account-color-accent-text: rgb(var(--colors-button-text)); 314 --shopify-account-color-background: rgb(var(--background-color-base)); 315 --shopify-account-color-background-subdued: rgba(var(--colors-text-base), .3); 316 --shopify-account-color-text-subdued: rgba(var(--colors-text-base), 1); 317 --shopify-account-radius-button-small: 9999px; 318 --shopify-account-color-control-text: rgba(var(--colors-text-base), 1); 319 --shopify-account-color-border: rgba(var(--colors-line-and-border-base), 1); 320 --shopify-account-color-control-background: rgb(var(--background-color-base)); 321 --shopify-account-color-text: rgba(var(--colors-text-base), 1); 322 --shopify-account-color-text-subdued: rgba(var(--colors-text-base), 1); 323 --shopify-account-dialog-position-top: 30px; 324 --shopify-account-font-body: var(--font-body-family); 325 --shopify-account-font-body-weight: var(--font-body-weight); 326 --shopify-account-font-heading: var(--font-heading-family); 327 --shopify-account-font-heading-weight: var(--font-heading-weight); 328 --shopify-account-radius-base: 0px; 329 --shopify-account-radius-button: 0; 330 --shopify-account-radius-dialog: 0px; 331 --shopify-account-radius-input: 0px; 332 --shopify-account-signed-in-avatar-color-background: rgba(var(--colors-text), 1); 333 --shopify-account-signed-in-avatar-color-text: rgb(var(--background-color)); 334 } 335 336 [role="button"], 337 [type="button"], 338 .button { 339 color: rgb(var(--colors-button-text)); 340 } 341 button.button-solid, 342 .button.button-solid { 343 border: none; 344 background-color: rgba(var(--colors-button)); 345 } 346 button.button-disable-effect, 347 .button.button-disable-effect { 348 color: rgb(var(--colors-button-text)); 349 background-color: rgba(var(--colors-button)); 350 } 351 .button-action { 352 border: none; 353 color: rgb(var(--colors-button-text)); 354 background-color: rgba(var(--colors-button)); 355 } 356 357 .header, .header *::before { 358 --colors-text: var(--colors-text-header); 359 --colors-heading: var(--colors-text-header); 360 --colors-price: var(--colors-text-header); 361 --colors-line-and-border: var(--colors-line-header); 362 } 363 #sticky-header-content .divider { 364 --colors-line-and-border: var(--colors-line-header); 365 } 366 .paginate-slide-image {
367 background: rgba(var(--background-pagination-slideshow)); 368 color: rgba(var(--text-color-pagination-slideshow)); 369 } 370 body { 371 touch-action: manipulation; 372 } 373 @media (min-width: 1024px) { 374 .paginate-slide-image { 375 color: rgba(var(--text-color-pagination-slideshow)); 376 } 377 .paginate-slide-image:hover { 378 color: rgba(var(--text-color-pagination-slideshow)); 379 } 380 } 381 382 .section-quick-links, 383 .section-quick-links *::before, 384 .section-footer, 385 .section-footer *::before { 386 --colors-text: var(--colors-text-footer); 387 --colors-heading: var(--colors-heading-footer); 388 --colors-text-link: var(--colors-text-link-footer); 389 --colors-line-and-border: var(--colors-line-footer); 390 } 391 .sticky-header { 392 --font-body-weight: 700; 393 } 394 395 .scrollbar-horizontal { 396 position: relative; 397 -ms-overflow-style: none; 398 } 399 .scrollbar-horizontal::-webkit-scrollbar-track { 400 background-color: #ececec; 401 } 402 .scrollbar-horizontal::-webkit-scrollbar { 403 height: 3px; 404 } 405 406 .scrollbar-horizontal::-webkit-scrollbar-track { 407 -webkit-box-shadow: inset 0 0 0px rgba(0, 0, 0, 0); 408 } 409 410 .scrollbar-horizontal::-webkit-scrollbar-thumb { 411 visibility: visible; 412 background-color: #747474; 413 } 414 415 .scrollbar-horizontal::-webkit-scrollbar-thumb:hover { 416 background-color: #747474; 417 } 418 body.scrollbar-body::-webkit-scrollbar{ 419 width: 5px; 420 } 421 .scrollbar-body::-webkit-scrollbar-track{ 422 background: #ececec; 423 } 424 .scrollbar-horizontal { 425 position: relative; 426 -ms-overflow-style: none; 427 } 428 .scrollbar-horizontal::-webkit-scrollbar-track { 429 background-color: #ececec; 430 } 431 .scrollbar-horizontal::-webkit-scrollbar {
432 height: 3px; 433 } 434 435 .scrollbar-horizontal::-webkit-scrollbar-track { 436 -webkit-box-shadow: inset 0 0 0px rgba(0, 0, 0, 0); 437 } 438 439 .scrollbar-horizontal::-webkit-scrollbar-thumb { 440 visibility: visible; 441 background-color: #747474; 442 } 443 444 .scrollbar-horizontal::-webkit-scrollbar-thumb:hover { 445 background-color: #747474; 446 } 447 .scrollbar-body::-webkit-scrollbar{ 448 width: 3px; 449 } 450 .scrollbar-body::-webkit-scrollbar-track{ 451 background: #ececec; 452 } 453 .scrollbar-body.scrollbar-visible:active::-webkit-scrollbar-thumb, 454 .scrollbar-body.scrollbar-visible:focus::-webkit-scrollbar-thumb, 455 .scrollbar-body.scrollbar-visible:hover::-webkit-scrollbar-thumb { 456 background: #747474; 457 visibility: visible; 458 } 459 .scrollbar-body.scrollbar-visible::-webkit-scrollbar-track{ 460 background: transparent; 461 } 462 .scrollbar-body.scrollbar-visible::-webkit-scrollbar-thumb{ 463 background: transparent; 464 visibility: visible; 465 } 466 .scrollbar-body::-webkit-scrollbar-thumb{ 467 background: #747474; 468 } 469 .animate-scroll-banner { 470 animation: scrollX var(--duration, 10s) linear infinite var(--play-state, running) var(--direction); 471 } 472 .padding-scrollbar, .padding-scrollbar-header { 473 padding-right: min(var(--width-scrollbar), 20px); 474 } 475 476 477 .des-block iframe { 478 width: 100%; 479 height: 100%; 480 } 481 .toggle-compare + label span:first-child, 482 .toggle-compare:checked + label span:last-child { 483 display: block 484 } 485 .toggle-compare + label span:last-child, 486 .toggle-compare:checked + label span:first-child { 487 display: none; 488 } 489 .card-product:not(.recommendations) {} 490 .dark .card-product:not(.recommendations) {background: transparent;} 491 .card-product:not(.recommendations) .card-info, 492 .card-product:not(.recommendations) .x-variants-data { 493 padding-left: 3px; 494 padding-right: 3px; 495 } 496 .card-product:not(.recommendations) .x-variants-separator::before { 497 content: var(--tw-content); 498 position: absolute; 499 width: calc(100% - 2 * 3px); 500 top: 0; 501 left: 0; 502 margin-left: 3px; 503 margin-right: 3px; 504 } 505 .card-product:not(.recommendations) .card-info .x-variants-data 506 { 507 padding-left: 0; 508 padding-right: 0; 509 } 510 .card-product:not(.recommendations) .card-info .x-variants-separator::before { 511 width: 100%; 512 margin-left: 0; 513 margin-right: 0; 514 } 515 .card-product-slideshow { 516 background: rgb(253, 241, 237);} 517 .dark .card-product-slideshow { 518 background: rgb(47, 48, 47);} 519 button.shopify-payment-button__more-options { 520 color: rgba(var(--colors-text)); 521 } 522 .group-discount:before,.group-discount:after { 523 background-color: rgba(var(--colors-price-sale), 5%); 524 content: ""; 525 position: absolute; 526 right: 100%; 527 height: 100%; 528 top: 0; 529 width: 1.25rem; 530 } 531 .shipping_insurance.group-discount:before,.shipping_insurance.group-discount:after { 532 background-color: rgb(var(--colors-background-secondary)); 533 } 534 .group-discount:after { 535 left: 100%; 536 right: auto; 537 } 538 @media (min-width: 768px){ 539 .list-layout .card-product:not(.recommendations) { 540 padding-bottom: 0; 541 } 542 .list-layout .card-product:not(.recommendations) .card-info, 543 .list-layout .card-product:not(.recommendations) .x-variants-data{ 544 padding-left: 0; 545 padding-right: 0; 546 } 547 .list-layout .card-product:not(.recommendations) .x-variants-separator::before { 548 width: 100%; 549 margin-left: 0; 550 margin-right: 0; 551 } 552 shopify-accelerated-checkout-cart { 553 --shopify-accelerated-checkout-button-block-size: 46px; 554 --shopify-accelerated-checkout-button-inline-size: 46px; 555 } 556 } 557 @media (min-width: 1024px){ 558 .group-discount:before,.group-discount:after { 559 width: 0; 560 } 561 .card-product:not(.recommendations) .card-info, 562 .card-product:not(.recommendations) .x-variants-data { 563 padding-left: 20px; 564 padding-right: 20px; 565 } 566 .card-product:not(.recommendations) .x-variants-separator::before { 567 width: calc(100% - 2 * 20px); 568 margin-left: 20px; 569 margin-right: 20px; 570 } 571 [role="button"], 572 [type="button"], 573 .button { 574 color: rgba(var(--colors-button-text)); 575 } 576 button.button-solid, 577 .button.button-solid { 578 border: none; 579 box-shadow: none; 580 color: rgb(var(--colors-button-text)); 581 background-color: rgba(var(--colors-button)); 582 overflow: hidden; 583 background-origin: border-box; 584 } 585 button.button-solid:hover, 586 .button.button-solid:hover { 587 588 transition-delay: 0.5s; 589 590 transition-property: background-color; 591 background-color: var(--colors-button-hover); 592 color: rgba(var(--colors-button-text-hover)); 593 background-origin: border-box; 594 } 595 .button-action { 596 border: none; 597 color: rgba(var(--colors-button-text-hover)); 598 background-color: var(--colors-button-hover); 599 } 600 button.button-disable-effect, 601 .button.button-disable-effect { 602 color: rgb(var(--colors-button-text)); 603 background-color: rgba(var(--colors-button)); 604 } 605 button.button-disable-effect:hover, 606 .button.button-disable-effect:hover { 607 color: rgba(var(--colors-button-text-hover)); 608 background-color: var(--colors-button-hover); 609 } 610 611 button.button-solid:before, 612 .button.button-solid:before { 613 content: ""; 614 z-index: -1; 615 position: absolute; 616 top: 0; 617 right: 0; 618 bottom: 0; 619 left: 0; 620 width: var(--button-width); 621 height: var(--button-height); 622 background-color: var(--colors-button-hover); 623 backface-visibility: hidden; 624 will-change: transform; 625 transform: var(--button-transform); 626 transform-origin: var(--button-transform-origin); 627 transition: transform 0.5s ease; 628 } 629 button.button-solid:hover:before, 630 .button.button-solid:hover:before {
631 transform: rotate3d(0,0,1,0) translateZ(0); 632 } 633 634 635 } 636 .inventory-low-stock-status { 637 638 --stock-color: rgba(166, 88, 107); 639 640 color: var(--stock-color); 641 } 642 .dark .inventory-low-stock-status { 643 644 --stock-color: rgba(191, 18, 42); 645 646 } 647 .inventory-in-stock-status { 648 649 --stock-color: rgba(51, 50, 46); 650 651 color: var(--stock-color); 652 } 653 .dark .inventory-in-stock-status { 654 655 --stock-color: rgba(133, 143, 77); 656 657 } 658 .inventory-out-of-stock-status { 659 660 --stock-color: rgba(166, 88, 107); 661 662 color: var(--stock-color); 663 } 664 .dark .inventory-out-of-stock-status { 665 666 --stock-color: rgba(134, 127, 127); 667 668 } 669 .inventory-status { 670 background-color: var(--stock-color); 671 } 672 .card-testimonial { 673 background: #FDF1ED;} 674 .dark .card-testimonial { 675 background: #2f302f;} 676 /* App Shopify Subscription */ 677 .shopify_subscriptions_app_policy a { 678 position: relative; 679 margin-top: .5rem; 680 margin-bottom: .5rem; 681 color: rgba(var(--colors-text-link)) !important; 682 text-decoration-thickness: 1px; 683 background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(to right, rgba(var(--colors-text-link), 1), rgba(var(--colors-text-link), 1), rgba(var(--colors-text-link), 1)); 684 background-size: 100% 0.1em, 0 0.1em; 685 background-position: 100% 100%,100% 100%; 686 background-repeat: no-repeat; 687 transition: background-size 250ms; 688 } 689 .shopify_subscriptions_app_policy:after { 690 clear: both; 691 content: var(--tw-content); 692 display: block; 693 } 694 @media (min-width: 1024px) { 695 .shopify_subscriptions_app_policy a:hover { 696 background-size: 0 .1em, 100% .1em; 697 background-position: 100% 100%, 0% 100%; 698 } 699 } 700 701 /* Recurpay Subscription App */ 702 #recurpay-account-widget { 703 margin-top: 1rem; 704 } 705 706 /* Seal Subscriptions */ 707 .sls-widget-branding { 708 z-index: 20 !important; 709 } 710 .card .sealsubs-target-element, .card-product-fbt .sealsubs-target-element { 711 display: none !important; 712 } 713 .seal-portal-link a { 714 position: relative; 715 margin-top: .5rem; 716 margin-bottom: .5rem; 717 color: rgba(var(--colors-text-link)) !important; 718 text-decoration-thickness: 1px; 719 background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(to right, rgba(var(--colors-text-link), 1), rgba(var(--colors-text-link), 1), rgba(var(--colors-text-link), 1)); 720 background-size: 100% 0.1em, 0 0.1em; 721 background-position: 100% 100%,100% 100%; 722 background-repeat: no-repeat; 723 transition: background-size 250ms; 724 } 725 .seal-portal-link:after { 726 clear: both; 727 content: var(--tw-content); 728 display: block; 729 } 730 @media (min-width: 1024px) { 731 .seal-portal-link a:hover { 732 background-size: 0 .1em, 100% .1em; 733 background-position: 100% 100%, 0% 100%; 734 } 735 } 736 .x-card-title { 737 font-size: 0.81rem; 738 font-family: var(--font-heading-family); 739 font-weight: var(--font-heading-weight); 740 } 741 .x-card-price, .x-card-price-init { 742 font-size: 0.72rem; 743 font-family: var(--font-body-family); 744 font-weight: var(--font-body-weight); 745 } 746 @media (min-width: 768px) { 747 .x-card-title { 748 font-size: 0.9rem; 749 } 750 .x-card-price, .x-card-price-init { 751 font-size: 0.8rem; 752 } 753 } 754 .dbtap-overlay{ 755 display: none 756 } 757 @media (max-width: 1024px) and (pointer: coarse) and (hover: none) { 758 .dbtap-overlay{ 759 display: block 760 } 761 } 762 .swatch-count-small { 763 min-height: 28px; 764 min-width: 28px; 765 } 766 .swatch-count-medium { 767 min-height: 32px; 768 min-width: 32px; 769 } 770 .swatch-count-large { 771 min-height: 38px; 772 min-width: 38px; 773 } 774 .paginate-testimonial { 775 background: rgba(16, 16, 16, 0.2); 776 } 777 .dark .paginate-testimonial { 778 background: rgba(255, 255, 255, 0.2); 779 }</style><style data-shopify> 780 781.card-product .yotpo-sr-bottom-line-summary { 782 display: block !important; 783 } 784 .card-product .yotpo-sr-bottom-line-summary > div { 785 float: left !important; 786 } 787 .card-product .yotpo-sr-vertical-border { 788 margin-top: 10px !important; 789 }</style><style data-shopify> 790 .body-text-base-size { 791 font-size: 0.7875rem; 792 } 793 .text-pickup-availability { 794 font-size: 0.875rem; 795 } 796 .text-result-filter { 797 font-size: 0.9625rem; 798 } 799 .text-filter { 800 font-size: 0.70875rem; 801 } 802 .heading-text-base-h3 { 803 font-size: 1.125rem; 804 } 805 .heading-text-base-h2 { 806 font-size: 1.35rem; 807 } 808 .text-suggest-search { 809 font-size: 0.875rem; 810 } 811 .text-review-count { 812 font-size: 0.7rem; 813 } 814 @media (min-width: 768px) { 815 .body-text-base-size { 816 font-size: 0.875rem; 817 } 818 .text-pickup-availability { 819 font-size: 0.9625rem; 820 } 821 .text-filter { 822 font-size: 0.7875rem; 823 } 824 .heading-text-base-h3 { 825 font-size: 1.35rem; 826 } 827 .heading-text-base-h2 { 828 font-size: 2.25rem; 829 } 830 .text-suggest-search { 831 font-size: 1.0rem; 832 } 833 } 834</style> 835 836
836<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
836<meta name="google-site-verification" content="bwUbnF8vyr8XHHzgl9wrAa_VBenL3RNOsoX-Hqr8i6s"> 837<meta name="google-site-verification" content="bwUbnF8vyr8XHHzgl9wrAa_VBenL3RNOsoX-Hqr8i6s"> 838<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/6764757061/digital_wallets/dialog"> 839<meta id="in-context-paypal-metadata" data-shop-id="6764757061" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 840<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/54557956276534:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://calistatools.com/products/gloss-caramel-color-enhancement.oembed">
841<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=4598333750"></script>
841 842<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
843<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=4598333750&shop_id=6764757061" crossorigin="anonymous"></script>
vendor: 1 bytes, line 843
843
844<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":6764757061,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/6764757061","merchantName":"Calista Tools","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Calista Tools","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 844
844
845<script id="shopify-features" type="application/json">{"accessToken":"87592d3b1453bad22f1334cf22031e32","betas":["rich-media-storefront-analytics"],"domain":"calistatools.com","predictiveSearch":true,"shopId":6764757061,"locale":"en"}</script>
vendor: 1 bytes, line 845
845
846<script>var Shopify = Shopify || {}; 847Shopify.shop = "calista-tools.myshopify.com"; 848Shopify.locale = "en"; 849Shopify.currency = {"active":"USD","rate":"1.0"}; 850Shopify.country = "US"; 851Shopify.theme = {"name":"[Loop Checkout+ v2] v10 Eurus","id":186329760054,"schema_name":"Eurus","schema_version":"10.0.0","theme_store_id":2048,"role":"main"}; 852Shopify.theme.handle = "null"; 853Shopify.theme.style = {"id":null,"handle":null}; 854Shopify.cdnHost = "calistatools.com/cdn"; 855Shopify.routes = Shopify.routes || {}; 856Shopify.routes.root = "/"; 857Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 858Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 859Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 860Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 860
860
861<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 861
861
862<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 862
862
863<script> 864 window.ShopifyPay = window.ShopifyPay || {}; 865 window.ShopifyPay.apiHost = "shop.app\/pay"; 866 window.ShopifyPay.redirectState = null; 867</script>
vendor: 1 bytes, line 867
867
868<script> 869 window.Shopify = window.Shopify || {}; 870 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 871 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 872 window.Shopify.SignInWithShop.eligible = true; 873</script>
vendor: 1 bytes, line 873
873
874<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 874
874
875<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 875
875
876<script type="module"> 877 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 878 879 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 880 881</script>
vendor: 1 bytes, line 881
881
882<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.payment-terms.en.esm.js"></script>
vendor: 1 bytes, line 882
882
883<script type="module"> 884 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.payment-terms.en.esm.js"); 885 886 887</script>
vendor: 1 bytes, line 887
887
888<script> 889 window.Shopify = window.Shopify || {}; 890 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 891 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"]}; 892</script>
vendor: 1 bytes, line 892
892
893<script>(function() { 894 var isLoaded = false; 895 function asyncLoad() { 896 if (isLoaded) return; 897 isLoaded = true; 898 var urls = ["https:\/\/services.nofraud.com\/js\/device.js?shop=calista-tools.myshopify.com","https:\/\/static-us.afterpay.com\/shopify\/afterpay-attract\/afterpay-attract-widget.js?shop=calista-tools.myshopify.com","https:\/\/cdn.attn.tv\/calista\/dtag.js?shop=calista-tools.myshopify.com","https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=calista-tools.myshopify.com","\/\/backinstock.useamp.com\/widget\/18675_1787667501.js?category=bis\u0026v=6\u0026shop=calista-tools.myshopify.com"]; 899 for (var i = 0; i < urls.length; i++) { 900 var s = document.createElement('script'); 901 s.type = 'text/javascript'; 902 s.async = true; 903 s.src = urls[i]; 904 var x = document.getElementsByTagName('script')[0]; 905 x.parentNode.insertBefore(s, x); 906 } 907 }; 908 if(window.attachEvent) { 909 window.attachEvent('onload', asyncLoad); 910 } else { 911 window.addEventListener('load', asyncLoad, false); 912 } 913})();</script>
vendor: 1 bytes, line 913
913
914<script id="__st">var __st={"a":6764757061,"offset":-14400,"reqid":"5623fe74-2a3f-4de9-9cde-6ff2b656e4e1-1791062272","pageurl":"calistatools.com\/products\/gloss-caramel-color-enhancement","u":"5d87a5ad0792","p":"product","rtyp":"product","rid":10847775850806};</script>
vendor: 1 bytes, line 914
914
915<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 915
915
916<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 916
916
917<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//calistatools.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 917
917
918<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 = "//calistatools.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>
918<script crossorigin="anonymous" defer="defer" src="//calistatools.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 918
918
919<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 919
919
920<script> 921 window.Shopify = window.Shopify || {}; 922 window.Shopify.MCP = window.Shopify.MCP || {}; 923 window.Shopify.MCP.enabled = true; 924 window.Shopify.MCP.shop = "calista-tools.myshopify.com"; 925 window.Shopify.MCP.mcpEndpoint = "https:\/\/calistatools.com\/api\/mcp"; 926 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"]}}]; 927</script>
vendor: 1 bytes, line 927
927
928<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("\/\/calistatools.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 929</script>
vendor: 1 bytes, line 929
929
930<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://calistatools.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 931</script>
vendor: 1 bytes, line 931
931
932<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 933 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); 934</script>
vendor: 1 bytes, line 934
934
935<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})}})); 936</script>
936 937<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://calistatools.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 938<style id="shopify-accelerated-checkout-cart"> 939 #shopify-buyer-consent { 940 margin-top: 1em; 941 display: inline-block; 942 width: 100%; 943} 944 945#shopify-buyer-consent.hidden { 946 display: none; 947} 948 949#shopify-subscription-policy-button { 950 background: none; 951 border: none; 952 padding: 0; 953 text-decoration: underline; 954 font-size: inherit; 955 cursor: pointer; 956} 957 958#shopify-subscription-policy-button::before { 959 box-shadow: none; 960} 961 962 </style> 963
964<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
964 965 966 <!-- BEGIN app block: shopify://apps/intelligems-a-b-testing/blocks/intelligems-script/fa83b64c-0c77-4c0c-b4b2-b94b42f5ef19 -->
966<script> 967 window._template = { 968 directory: "", 969 name: "product", 970 suffix: "sibling-products-rtu" 971 }; 972 window.__productIdFromTemplate = 10847775850806; 973 window.__plpCollectionIdFromTemplate = null; 974 window.igProductData = (function() { 975 const data = {};data["10847775850806"] = { 976 productId: 10847775850806, 977 handle: "gloss-caramel-color-enhancement", 978 tags: ["Color maintenance","exclude-coverage","new","symprosis","treatment"], 979 collectionIds: [166997852220,539792703798,482898739510,150929145925,137844064325,137909567557,525372293430], 980 inventory: 555, 981 lowestVariantPrice: 3900 982 };return data; 983 })(); 984</script>
984 985
986<script type="module" blocking="render" fetchpriority="high" src="https://cdn.intelligems.io/esm/28cfea53e3b0/bundle.js" data-em-disable async></script>
986 987 988 989<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
990<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/calista-tools.myshopify.com"></script>
990 991 992
993<script defer data-gorgias-loader-convert src="https://content.9gtb.com/loader.js"></script>
993 994 995
996<script defer data-gorgias-loader-mailto-replace src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=calista-tools"></script>
996 997 998 999<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf --> 1000 1001 1002
1002<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/MomWoy2px304xCd0DXnL78lDcNDRxS7bv5Ok7bW8?languageCode=en" async></script>
1002 1003 1004 1005 1006 1007<!-- END app block --><!-- BEGIN app block: shopify://apps/ignite-formerly-fueled/blocks/fueled-embed/b7733e10-32a6-41fd-a62d-3195dc211aa9 --><!-- BEGIN app snippet: index -->
1007<script type="module" src="/apps/fueled/client.js?track=true&rand=1"></script>
1007 1008
1009<script> 1010 { 1011 const getPage = () => "product.sibling-products-rtu"; 1012 const getSearchTerms = () => ""; 1013 const getCart = () => ({"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}); 1014 1015 const getCollection = () => ({ 1016 list_id: "", 1017 category: null || null, 1018 currency: "USD", 1019 }); 1020 1021 const getCustomer = () => ({ 1022 name: [null, null].filter(Boolean).join(" ") || null, 1023 externalCustomerId: "", 1024 email: "", 1025 phone: "", 1026 firstName: null, 1027 lastName: null, 1028 lifetimeValue: null, 1029 orderCount: null, 1030 address: { 1031 street: null, 1032 city: null, 1033 state: null, 1034 stateCode: null, 1035 postalCode: "", 1036 country: "", 1037 province: "", 1038 countryCode: "", 1039 } 1040 }); 1041 1042 const getProduct = () => ({ 1043 productId: "10847775850806", 1044 variant: "54557956276534", 1045 variantId: "54557956276534", 1046 variantName: "Default Title", 1047 sku: "GLOSS-CARA", 1048 brand: "Calista Tools", 1049 category: null || "Cleanse + Condition" || "All Products", 1050 name: "GLOSS Caramel Color Enhancement", 1051 price: 39.0, 1052 url: "/products/gloss-caramel-color-enhancement", 1053 1054 imageUrl: "https://calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597", 1055 1056 currency: "USD", 1057 collections: ["All Products","gloss sibling products","Hair Treatments","New Arrivals","Products for Color-Treated Hair","Shop All Products","The Gloss Line"], 1058 tags: ["Color maintenance","exclude-coverage","new","symprosis","treatment"] 1059 }); 1060 1061 const getProducts = () => { 1062 1063 }; 1064 window.addEventListener('fueled-load', () => { 1065 window.Fueled.setDataLayerItem('page', getPage()); 1066 1067 window.Fueled.setDataLayerItem('cart', getCart()); 1068 1069 1070 1071 1072 1073 1074 window.Fueled.setDataLayerItem('product', getProduct()); 1075 1076 1077 1078 1079 1080 }); 1081 } 1082</script>
1082 1083<!-- END app snippet --> 1084 1085 1086<!-- END app block --><!-- BEGIN app block: shopify://apps/xo-insert-code/blocks/insert-code-header/72017b12-3679-442e-b23c-5c62460717f5 --><!-- XO-InsertCode Header --> 1087 1088 1089<style> 1090/* ============================================================ 1091 calista-custom.css - Calista global override stylesheet 1092 Single source of truth for ALL CSS overrides (Layer 2). 1093 Loaded via XO Insert Code (head) or settings.additional_head. 1094 NEVER edit native Eurus files - override them here. 1095 1096 House style: 1097 - Each block opens with a descriptive comment and closes with an END comment. 1098 - Use [id^="..."] / [class*="..."] + !important to beat Eurus 1099 per-section inline style blocks (dynamic IDs). 1100 - Group by surface: GLOBAL | PDP | COLLECTION | CARDS | FOOTER 1101 ============================================================ */ 1102 1103 1104/* ============================================================ 1105 PDP 1106 ============================================================ */ 1107 1108.x-announcement-bar-block-data { 1109 font-size: 12px; 1110} 1111 1112/* -- PDP Desktop Media/Content Split 60/40 -- */ 1113@media (min-width: 768px) { 1114 .product-media-container.md\:w-1\/2 { 1115 width: 60% !important; 1116 } 1117 .product-content-container.md\:w-1\/2 { 1118 width: 40% !important; 1119 } 1120} 1121/* -- END PDP Desktop Media/Content Split 60/40 -- */ 1122 1123/* -- PDP Section Top Padding -- */ 1124@media (min-width: 768px) { 1125 [class*="section-padding-"].flex { 1126 padding-top: 0px !important; 1127 } 1128} 1129/* -- END PDP Section Top Padding -- */ 1130 1131/* -- PDP Media Column Alignment -- */ 1132@media (min-width: 768px) { 1133 .product-media-container, 1134 .product-media-container .splide-image, 1135 .product-media-container [id^="x-product-thumbnail-"] { 1136 margin-top: 0 !important; 1137 padding-top: 0 !important; 1138 } 1139} 1140/* -- END PDP Media Column Alignment -- */ 1141 1142/* -- PDP Mobile refinements (media gap / swatch->buy gap) -- 1143 Mobile-only layout settings. Shop Pay sizing is handled separately in 1144 the installment block below; do not reintroduce transform: scale(). */ 1145@media (max-width: 767px) { 1146 /* Tighten the gap between the product image and the content below it. */ 1147 .product-media-container { 1148 padding-bottom: 12px !important; 1149 } 1150 .product-content-container { 1151 padding-top: 0 !important; 1152 } 1153 1154 /* Preserve the existing gap above the quantity/buy row. */ 1155 .x-variant-picker + .x-block-buy-buttons { 1156 margin-top: 24px !important; 1157 } 1158} 1159/* -- END PDP Mobile refinements -- */ 1160 1161/* -- PDP Benefit Bullets: product metaobject + summary fallback -- 1162 V6: add a NEW native HTML block in place of the top summary Text block. 1163 Product metafield: custom.pdp_benefit_set (ONE metaobject reference). 1164 Metaobject type: pdp_benefit_set. 1165 Fields: internal_name (admin label), bullets (list of single-line text). 1166 The HTML block falls back to custom.pdp_product_snippet for products that 1167 do not yet have usable bullets. Hide the old summary Text block in the 1168 editor, but keep its metafield data and the lower Description accordion. 1169 No changes to Shop Pay, trust messages, videos, tabs, or native theme files. */ 1170 1171/* Match the old top summary's 16px bottom gap, without double spacing. */ 1172.product-content-container .custom-html:has(.calista-pdp-benefits) { 1173 box-sizing: border-box; 1174 width: 100%; 1175 min-width: 0; 1176 margin: 0 0 16px !important; 1177 padding: 0 !important; 1178} 1179 1180/* Hide the native wrapper as well when neither bullets nor a summary exist. */ 1181.product-content-container .custom-html:has(.calista-pdp-benefits[hidden]), 1182.product-content-container .calista-pdp-benefits[hidden] { 1183 display: none !important; 1184} 1185 1186.product-content-container .calista-pdp-benefits { 1187 box-sizing: border-box; 1188 width: 100%; 1189 min-width: 0; 1190 margin: 0 !important; 1191 padding: 0 !important; 1192 font-family: var(--font-body-family, 'Helvetica Neue', 'HN Fallback', Arial, sans-serif) !important; 1193 font-size: var(--base-font-size-mobile, 0.7875rem); 1194 font-weight: 400 !important; 1195 line-height: 1.5; 1196 letter-spacing: 0; 1197 text-transform: none; 1198 text-align: left !important; 1199 color: #33322E; 1200} 1201 1202/* Remove Eurus's native .custom-html ul disc styling for this list only. */ 1203.product-content-container .calista-pdp-benefits .calista-pdp-benefits__list { 1204 display: grid; 1205 grid-template-columns: minmax(0, 1fr); 1206 row-gap: 6px; 1207 width: 100%; 1208 margin: 0 !important; 1209 padding: 0 !important; 1210 list-style: none !important; 1211} 1212 1213/* Keep wrapped lines aligned with their text, not beneath the checkmark. */ 1214.product-content-container .calista-pdp-benefits .calista-pdp-benefits__item { 1215 box-sizing: border-box; 1216 display: grid; 1217 grid-template-columns: 16px minmax(0, 1fr); 1218 column-gap: 8px; 1219 align-items: start; 1220 min-width: 0; 1221 margin: 0 !important; 1222 padding: 0 !important; 1223 border: 0; 1224 list-style: none !important; 1225 font: inherit; 1226 color: inherit; 1227 text-align: left !important; 1228} 1229 1230/* Decorative SVG: not a checkbox, link, or additional focus target. */ 1231.product-content-container .calista-pdp-benefits .calista-pdp-benefits__check { 1232 display: block !important; 1233 width: 16px !important; 1234 height: 16px !important; 1235 margin: 0.15em 0 0; 1236 padding: 0; 1237 color: inherit; 1238 fill: none; 1239} 1240 1241.product-content-container .calista-pdp-benefits .calista-pdp-benefits__text { 1242 display: block; 1243 min-width: 0; 1244 font: inherit; 1245 font-weight: 400 !important; 1246 color: inherit; 1247 white-space: normal;
1248 overflow-wrap: anywhere; 1249} 1250 1251/* The fallback reuses the existing summary data, not newly written copy. */ 1252.product-content-container .calista-pdp-benefits .calista-pdp-benefits__fallback { 1253 margin: 0; 1254 padding: 0; 1255 font: inherit; 1256 color: inherit; 1257} 1258.product-content-container .calista-pdp-benefits .calista-pdp-benefits__fallback > :first-child, 1259.product-content-container .calista-pdp-benefits .calista-pdp-benefits__fallback p:first-child { 1260 margin-top: 0; 1261} 1262.product-content-container .calista-pdp-benefits .calista-pdp-benefits__fallback > :last-child, 1263.product-content-container .calista-pdp-benefits .calista-pdp-benefits__fallback p:last-child { 1264 margin-bottom: 0; 1265} 1266 1267@media (min-width: 768px) { 1268 .product-content-container .calista-pdp-benefits { 1269 font-size: var(--base-font-size, 0.875rem); 1270 } 1271} 1272/* -- END PDP Benefit Bullets -- */ 1273 1274/* -- Product Title -- */ 1275/* Casing rule: never force uppercase. Titles render as authored 1276 (title case). text-transform:none neutralizes any theme default. */ 1277.product__title, 1278.product-title { 1279 text-transform: none !important; 1280 letter-spacing: 0; 1281 font-size: 1.1rem !important; 1282} 1283@media (min-width: 768px) { 1284 .product__title, 1285 .product-title { 1286 font-size: 1.4rem !important; 1287 } 1288} 1289/* -- END Product Title -- */ 1290 1291/* -- Price -- */ 1292[id^="price-"].flex { 1293 font-size: 0.9rem !important; 1294} 1295@media (min-width: 768px) { 1296 [id^="price-"].flex { 1297 font-size: 1.25rem !important; 1298 } 1299} 1300/* -- END Price -- */ 1301 1302/* -- Shop Pay installments: centered full-width text + compact trust spacing -- 1303 The existing calista-custom.js moves this node below Buy buttons. 1304 Keep Shopify's original payment component, wording, logo, and disclosure. 1305 1306 Replace the old visual scale(0.85) with real font sizing. A transform 1307 shrinks an already-laid-out box: it does not give the words more room 1308 to fit on one line and leaves the original layout height behind. 1309 1310 The HTML block emits a <style> element BEFORE its .custom-html wrapper. 1311 The trust-spacing selector must therefore tolerate an intervening style 1312 node. Use a following-sibling match, not an immediate + match. 1313 1314 Center the wrapper, installment form, and component host on ALL screen sizes. 1315 The center reference is the full purchase column, including the quantity control. 1316 Typography: 12px desktop, 11px mobile. Leave natural wrapping enabled for 1317 longer Shopify messages and accessibility rather than clipping text. */ 1318.product-content-container .shopify-payment-terms { 1319 --cal-installment-font-size: 12px; 1320 --cal-installment-line-height: 1.4; 1321 box-sizing: border-box; 1322 display: block !important; 1323 flex: 0 0 100% !important; 1324 width: 100% !important; 1325 max-width: 100% !important; 1326 min-width: 0 !important; 1327 height: auto !important; 1328 min-height: 0 !important; 1329 padding: 0 !important; 1330 transform: none !important; 1331 scale: none !important; 1332 font-family: inherit !important; 1333 font-size: var(--cal-installment-font-size) !important; 1334 font-weight: 400 !important; 1335 line-height: var(--cal-installment-line-height) !important; 1336 letter-spacing: 0 !important; 1337 text-transform: none !important; 1338 text-align: center !important; 1339 white-space: normal !important; 1340 overflow: visible !important; 1341} 1342 1343/* Remove both the product form's and the component host's outside spacing. 1344 Font sizing on the host can inherit into the payment component's shadow 1345 DOM; no private shadow selectors, content rewriting, or custom logo. */ 1346.product-content-container .shopify-payment-terms .installment, 1347.product-content-container .shopify-payment-terms shopify-payment-terms { 1348 box-sizing: border-box; 1349 display: block; 1350 width: 100% !important; 1351 max-width: 100% !important; 1352 min-width: 0 !important; 1353 height: auto !important; 1354 min-height: 0 !important; 1355 margin: 0 !important; 1356 padding: 0 !important; 1357 transform: none !important; 1358 scale: none !important; 1359 font-family: inherit !important; 1360 font-size: var(--cal-installment-font-size) !important; 1361 font-weight: 400 !important; 1362 line-height: var(--cal-installment-line-height) !important; 1363 letter-spacing: 0 !important; 1364 text-transform: none !important; 1365 text-align: center !important; 1366 white-space: normal !important; 1367 overflow: visible !important; 1368} 1369 1370/* Respect Shopify's explicit hidden state. */ 1371.product-content-container .shopify-payment-terms shopify-payment-terms[hidden], 1372.product-content-container .shopify-payment-terms[hidden] { 1373 display: none !important; 1374} 1375 1376.product-content-container .x-block-buy-buttons:has(+ .shopify-payment-terms) { 1377 margin-bottom: 0 !important; 1378} 1379 1380.product-content-container .x-block-buy-buttons + .shopify-payment-terms { 1381 margin-top: 4px !important; 1382 margin-bottom: 44px !important; /* preserve pages WITHOUT the new trust line */ 1383} 1384 1385/* The trust component supplies the ONLY gap below installments (8px). 1386 ~ still matches when Eurus inserts a <style> tag between these blocks. */ 1387.product-content-container .shopify-payment-terms:has(~ .custom-html .calista-pdp-trust:not([hidden])) { 1388 margin-bottom: 0 !important; 1389 padding-bottom: 0 !important; 1390} 1391 1392@media (max-width: 767px) { 1393 .product-content-container .shopify-payment-terms { 1394 --cal-installment-font-size: 11px; 1395 } 1396} 1397/* -- END Shop Pay installments -- */ 1398 1399/* -- PDP Trust Messages: native HTML block + product metaobjects -- 1400 Data: custom.pdp_trust_messages (list of PDP Trust Message references). 1401 Visible field: short_label. 1402 Add a NEW HTML block immediately after Buy buttons on each used PDP 1403 template. Its Custom HTML setting supports Liquid in this Eurus export. 1404 Keep the existing Best for HTML block unchanged. 1405
1406 All selectors are scoped to the new trust component or its immediate 1407 neighbors. They do not resize product-feature icons or alter checkout. 1408 The existing Shop Pay script can continue inserting installments between 1409 Buy buttons and this native HTML block. No new JavaScript is required. */ 1410 1411/* Remove the native HTML block's mb-4 / md:mb-6 spacing for THIS block only. */ 1412.product-content-container .custom-html:has(.calista-pdp-trust) { 1413 width: 100% !important; 1414 min-width: 0; 1415 margin: 0 !important; 1416 padding: 0 !important; 1417} 1418 1419/* Hide the native wrapper too when no accessible, nonblank labels exist. */ 1420.product-content-container .custom-html:has(.calista-pdp-trust[hidden]), 1421.product-content-container .calista-pdp-trust[hidden] { 1422 display: none !important; 1423} 1424 1425/* Typography and spacing knobs for this component only. 1426 V3: regular 400 weight (previously 500); centered at every breakpoint. */ 1427.product-content-container .calista-pdp-trust { 1428 --cal-trust-font-size: 13px; 1429 --cal-trust-font-weight: 400; 1430 --cal-trust-gap-top: 8px; 1431 --cal-trust-gap-bottom: 16px; 1432 --cal-trust-item-padding: 10px; 1433 box-sizing: border-box; 1434 width: 100%; 1435 margin: 0; 1436 padding: var(--cal-trust-gap-top) 0 var(--cal-trust-gap-bottom); 1437 font-family: inherit; 1438 font-size: var(--cal-trust-font-size); 1439 font-weight: var(--cal-trust-font-weight) !important; 1440 line-height: 1.45; 1441 letter-spacing: 0; 1442 text-transform: none; 1443 text-align: center !important; 1444 color: #33322E; 1445} 1446 1447/* Override Eurus's native '.custom-html ul { list-style: disc; }'. 1448 Keep entries on one row; individual labels can wrap at narrow widths. */ 1449.product-content-container .calista-pdp-trust .calista-pdp-trust__list { 1450 display: flex; 1451 align-items: center; 1452 justify-content: center !important; 1453 flex-wrap: nowrap; 1454 gap: 0; 1455 width: 100%; 1456 margin: 0 !important; 1457 padding: 0 !important; 1458 list-style: none !important; 1459} 1460 1461.product-content-container .calista-pdp-trust .calista-pdp-trust__item { 1462 box-sizing: border-box; 1463 display: block; 1464 flex: 0 1 auto; 1465 min-width: 0; 1466 max-width: 100%; 1467 margin: 0 !important; 1468 padding: 0 var(--cal-trust-item-padding) !important; 1469 list-style: none !important; 1470 font: inherit; 1471 font-weight: var(--cal-trust-font-weight) !important; 1472 color: inherit; 1473 white-space: normal; 1474 overflow-wrap: anywhere; 1475 text-align: center !important; 1476} 1477 1478/* Borders separate the actual rendered labels, with no dangling pipes. */ 1479.product-content-container .calista-pdp-trust .calista-pdp-trust__item + .calista-pdp-trust__item { 1480 border-inline-start: 1px solid rgba(51, 50, 46, 0.3); 1481} 1482 1483/* Also handle a PDP with no installment node between Buy buttons and trust. 1484 Match through the HTML block's preceding inline <style> element. */ 1485.product-content-container .x-block-buy-buttons:has(~ .custom-html .calista-pdp-trust:not([hidden])) { 1486 margin-bottom: 0 !important; 1487} 1488 1489/* Prevent the existing negative mobile feature-icon margin pulling the next 1490 icon block upward into the trust text. Tolerate the theme's style node. */ 1491.product-content-container .custom-html:has(.calista-pdp-trust:not([hidden])) + .x-block-feature-icons, 1492.product-content-container .custom-html:has(.calista-pdp-trust:not([hidden])) + style + .x-block-feature-icons { 1493 margin-top: 0 !important; 1494} 1495 1496@media (max-width: 767px) { 1497 .product-content-container .calista-pdp-trust { 1498 --cal-trust-font-size: 12px; 1499 --cal-trust-gap-top: 8px; 1500 --cal-trust-gap-bottom: 14px; 1501 --cal-trust-item-padding: 6px; 1502 } 1503} 1504/* -- END PDP Trust Messages -- */ 1505 1506 1507/* -- Breadcrumbs -- */ 1508.x-block-breadcrumb { 1509 font-size: 12px; 1510 font-weight: 400; 1511 text-transform: none; 1512 letter-spacing: 0; 1513} 1514.x-block-breadcrumb .nav-link { 1515 color: #6b6960 !important; 1516} 1517.x-block-breadcrumb .nav-link:hover { 1518 color: #33322E !important; 1519} 1520.x-block-breadcrumb .breadcrumb__divider { 1521 color: #6b6960 !important; 1522} 1523/* Shorten: drop Home (+divider) and the trailing product name (+divider), 1524 leaving "All products > [Collection]". Position-based so it holds whether 1525 the collection crumb is native (collection entry) or injected by 1526 calista-custom.js -> injectBreadcrumbCollection (direct/homepage entry). */ 1527.x-block-breadcrumb > :first-child, /* Home link */ 1528.x-block-breadcrumb >
1528 :nth-child(2), /* divider after Home */ 1529.x-block-breadcrumb > :nth-last-child(2), /* divider before product title */ 1530.x-block-breadcrumb > :last-child { /* current product title */ 1531 display: none !important; 1532} 1533/* -- END Breadcrumbs -- */ 1534 1535/* -- Sticky ATC (full-width bar): white bar, charcoal button -- 1536 Inverted from the prior charcoal/pink treatment. Native bar background is 1537 --background-color; pinned to white with a thin brand divider on top so it 1538 separates cleanly over page content (the native drop shadow stays). Text = 1539 charcoal. Variant <select> = charcoal text on a sharp, divider-bordered field 1540 (Fenty-style). Button = charcoal fill / white label, sharp; the native 1541 button-solid animated fill overlay (::before + .button-text::after) is 1542 disabled so the flat charcoal fill + white label render cleanly (same pattern 1543 as the cards / comparison table). */ 1544[id^="sticky-add-to-cart-"] { 1545 background: #FFFFFF !important; 1546 border-top: 1px solid #e9e8e8 !important; /* brand divider (knob) */ 1547} 1548[id^="sticky-add-to-cart-"] .h6, 1549[id^="sticky-add-to-cart-"] p, 1550[id^="sticky-add-to-cart-"] .pricearea { 1551 color: #33322E !important; 1552} 1553/* Variant dropdown(s) -> sharp, charcoal (native selector, styled) */ 1554[id^="sticky-add-to-cart-"] select { 1555 border-radius: 0 !important; 1556 border-color: #c4c3c0 !important; 1557 color: #33322E !important; 1558 background: transparent !important; 1559} 1560[id^="sticky-add-to-cart-"] select:focus { 1561 border-color: #33322E !important; 1562} 1563[id^="sticky-add-to-cart-"] .select span { 1564 color: #33322E !important; /* caret glyph in the select */ 1565} 1566/* ATC button -> charcoal fill, white label, sharp */ 1567[id^="sticky-add-to-cart-"] .add_to_cart_button { 1568 border-radius: 0 !important; 1569 background: #33322E !important; 1570 letter-spacing: 0.02em; 1571 text-transform: none; 1572 font-size: 11px; 1573 font-weight: 500; 1574} 1575[id^="sticky-add-to-cart-"] .add_to_cart_button, 1576[id^="sticky-add-to-cart-"] .add_to_cart_button .x-atc-text, 1577[id^="sticky-add-to-cart-"] .add_to_cart_button .button-text { 1578 color: #FFFFFF !important; 1579} 1580[id^="sticky-add-to-cart-"] .add_to_cart_button:hover { 1581 background: #45433E !important; /* slightly lifted charcoal */ 1582 color: #FFFFFF !important; 1583} 1584/* kill the native button-solid animated fill overlay so the flat fill shows */ 1585[id^="sticky-add-to-cart-"] .add_to_cart_button.button-solid::before, 1586[id^="sticky-add-to-cart-"] .add_to_cart_button.button-solid .button-text::after { 1587 display: none !important; 1588} 1589/* -- END Sticky ATC (full-width bar) -- */ 1590 1591/* -- Sticky ATC: star rating (desktop only) -- 1592 Rendered inside the bar by the product-template.liquid fork (grep marker 1593 "Calista: sticky ATC rating"), via {% render 'review-product' %} placed 1594 OUTSIDE the product link (mirrors card-product-list-layout -> no nested 1595 anchors). The injected wrapper carries `hidden md:flex`, so it is desktop 1596 only. It sits inline to the right of the title/price and hugs that cluster; 1597 margin-right:auto pushes the variant dropdown to the far right. The review 1598 widget's default block margin/width are neutralized so it centers in the bar. */ 1599.x-sticky-rating-calista { 1600 margin-left: 20px !important; 1601 margin-right: auto !important; 1602} 1603.x-sticky-rating-calista .x-review-product { 1604 width: auto !important; 1605 margin: 0 !important; 1606} 1607/* -- END Sticky ATC: star rating -- */ 1608 1609/* -- Sticky ATC: sibling selector (native product_sibling, forced dropdown) -- 1610 The bar reuses the native sibling engine as a dropdown via the 1611 product-template.liquid fork (PDP keeps its button swatches). This strips the 1612 native block's big margins + full width, hides its "Option: value" label (the 1613 <select> already shows the current value), and caps the width so long shade 1614 names truncate cleanly. The <select> itself inherits the sharp/charcoal field 1615 styling from the [id^="sticky-add-to-cart-"] select rules above. Shows on both 1616 breakpoints (matches the native variant dropdown), unlike the desktop-only 1617 rating. */ 1618.x-sticky-sibling-calista { 1619 display: flex; 1620 align-items: center; 1621} 1622@media (min-width: 768px) { 1623 .x-sticky-sibling-calista { margin-right: 12px; } /* gap to the variant dropdown */ 1624} 1625.x-sticky-sibling-calista .x-block-product-sibling { 1626 margin: 0 !important; 1627 width: auto !important; 1628} 1629.x-sticky-sibling-calista .x-block-product-sibling > p { /* "Shade: â¦" label */ 1630 display: none !important; 1631} 1632.x-sticky-sibling-calista .x-block-product-sibling > div { 1633 margin-top: 0 !important; 1634} 1635.x-sticky-sibling-calista .x-block-product-sibling select { 1636 margin: 0 !important; 1637 width: 100% !important; 1638 min-width: 120px !important; 1639 max-width: 200px !important; 1640 text-overflow: ellipsis; 1641} 1642/* -- END Sticky ATC: sibling selector -- */ 1643 1644/* -- Sticky ATC: hide the mobile detail toggle caret -- 1645 openDetailOnMobile now defaults ON (sticky-atc.js fork), so the detail area 1646 (title/price + sibling/variant dropdowns) is always shown on mobile and the 1647 tap-to-expand caret is unnecessary. Hide ONLY that toggle - it's a direct 1648 child of the bar's row wrapper - so the dropdown carets deeper inside (also 1649 span.absolute) are untouched. */ 1650[id^="sticky-add-to-cart-"] > div > span.absolute { 1651 display: none !important; 1652} 1653/* -- END Sticky ATC: hide toggle caret -- */ 1654 1655/* -- Sticky ATC Mobile: dropdown(s) + button only (no image/title/price) -- 1656 Spec: mobile bar shows NO product image, title, or price. If the product has 1657 no variants and no siblings, show just the Add-to-cart button; if it has a 1658 variant or sibling selector, show the dropdown(s) + button on one row. 1659 1660 Detection: the ONLY <select> elements in the bar are the variant/sibling 1661 dropdowns (quantity is a number input), so :has(select) distinguishes the two 1662 cases with no per-product logic. 1663 1664 Structure: the bar is [id] > div (row A) > { .grow (detail B) , xProductCart 1665 (button C) }. B holds the product link (image+title+price) + rating + 1666 dropdown(s); we hide the link + rating on mobile so B carries only dropdowns. */ 1667@media (max-width: 767px) { 1668 /* Remove image / title / price everywhere in the mobile bar */ 1669 [id^="sticky-add-to-cart-"] a[href] { 1670 display: none !important;
1670 /* product link = image + title + price */ 1671 } 1672 [id^="sticky-add-to-cart-"] .product_form [id^="price-sticky-"] { 1673 display: none !important; /* price rendered next to the button */ 1674 } 1675 1676 /* ---- CASE 1: no variants & no siblings (no <select>) -> button only ---- */ 1677 [id^="sticky-add-to-cart-"]:not(:has(select)) .add_to_cart_button, 1678 [id^="sticky-add-to-cart-"]:not(:has(select)) [id^="x-atc-button-sticky-"], 1679 [id^="sticky-add-to-cart-"]:not(:has(select)) .product_form, 1680 [id^="sticky-add-to-cart-"]:not(:has(select)) .sticky_add_to_cart form { 1681 width: 100% !important; 1682 } 1683 1684 /* ---- CASE 2: has a variant or sibling -> dropdown(s) + button, one row ---- */ 1685 /* row-align the bar (native is flex-col on mobile) */ 1686 [id^="sticky-add-to-cart-"]:has(select) > div { 1687 flex-direction: row !important; 1688 align-items: center !important; 1689 gap: 10px !important; 1690 } 1691 /* detail wrapper (now just the dropdowns) grows; lay dropdowns in a wrapping row */ 1692 [id^="sticky-add-to-cart-"]:has(select) > div > .grow { 1693 flex: 1 1 auto !important; 1694 min-width: 0 !important; 1695 display: flex !important; 1696 flex-direction: row !important; 1697 flex-wrap: wrap !important; 1698 align-items: center !important; 1699 gap: 8px !important; 1700 } 1701 /* sibling cell stretches to fill; its select goes full-width */ 1702 [id^="sticky-add-to-cart-"]:has(select) > div > .grow > .x-sticky-sibling-calista { 1703 flex: 1 1 auto !important; 1704 min-width: 0 !important; 1705 margin: 0 !important; 1706 } 1707 .x-sticky-sibling-calista .x-block-product-sibling, 1708 .x-sticky-sibling-calista .x-block-product-sibling select { 1709 width: 100% !important; 1710 max-width: none !important; 1711 } 1712 /* button stays compact on the right */ 1713 [id^="sticky-add-to-cart-"]:has(select) .product_form, 1714 [id^="sticky-add-to-cart-"]:has(select) .sticky_add_to_cart form { 1715 width: auto !important; 1716 flex: 0 0 auto !important; 1717 flex-grow: 0 !important; 1718 } 1719 [id^="sticky-add-to-cart-"]:has(select) .add_to_cart_button, 1720 [id^="sticky-add-to-cart-"]:has(select) [id^="x-atc-button-sticky-"] { 1721 width: auto !important; 1722 min-width: 120px !important; 1723 } 1724} 1725/* -- END Sticky ATC Mobile -- */ 1726 1727/* -- Yotpo Rating Block -- */ 1728.star-container.yotpo-sr-star-full, 1729.star-container.yotpo-sr-star-half, 1730.star-container.yotpo-sr-star-empty { 1731 width: 12px !important; 1732 height: 12px !important; 1733} 1734.yotpo-sr-bottom-line-button span[style*="height: 28px"] { 1735 height: 18px !important; 1736} 1737.yotpo-sr-bottom-line-text { 1738 font-size: 12px !important; 1739 line-height: 18px !important; 1740 font-family: 'Barlow', Helvetica, Arial, sans-serif !important; 1741} 1742/* -- END Yotpo Rating Block -- */ 1743 1744/* -- Sibling Best For -- */ 1745.x-sibling-best-for { 1746 font-size: 11px; 1747 font-weight: 400; 1748 color: #33322E; 1749 margin-top: -8px; 1750} 1751@media (min-width: 768px) { 1752 .x-sibling-best-for { 1753 font-size: 12px; 1754 margin-top: -16px; 1755 } 1756} 1757/* -- END Sibling Best For -- */ 1758 1759/* -- Sibling Color Swatches - full bleed -- */ 1760.color-watches.swatch-medium { 1761 border: 2px solid transparent !important; 1762 box-shadow: none !important; 1763 padding: 0 !important; 1764} 1765.color-watches.swatch-medium::before { 1766 inset: 0 !important; 1767 border-radius: 50% !important; 1768 border: none !important; 1769} 1770.input-radio:checked + .color-watches.swatch-medium { 1771 border-color: #33322E !important; 1772 outline: none !important; 1773} 1774/* -- END Sibling Color Swatches -- */ 1775 1776/* -- Mobile Gallery: hide arrows, show dots -- */ 1777@media (max-width: 767px) { 1778 .product-media-container .splide__arrows { 1779 display: none !important; 1780 } 1781 .product-media-container .splide__pagination { 1782 display: flex !important; 1783 } 1784} 1785/* -- END Mobile Gallery -- */ 1786 1787/* -- Mobile Gallery Pagination Dots -- */ 1788/* (dot DOM is built by calista-custom.js - see that file) */ 1789@media (max-width: 767px) { 1790 .product-media-container { 1791 position: relative !important; 1792 } 1793 .x-calista-dots { 1794 position: absolute !important; 1795 bottom: 48px !important; 1796 left: 50% !important; 1797 transform: translateX(-50%) !important; 1798 top: auto !important; 1799 display: flex !important; 1800 justify-content: center;
1801 align-items: center; 1802 gap: 6px; 1803 z-index: 10; 1804 pointer-events: none; 1805 } 1806 .x-calista-dot { 1807 width: 6px; 1808 height: 6px; 1809 border-radius: 50%; 1810 background: rgba(51,50,46,0.4); 1811 border: none; 1812 padding: 0; 1813 cursor: pointer; 1814 pointer-events: auto; 1815 transition: background 0.2s ease; 1816 } 1817 .x-calista-dot.is-active { 1818 background: #33322E; 1819 } 1820} 1821/* -- END Mobile Gallery Pagination Dots -- */ 1822 1823/* -- Feature Icons - shared wrapper + padding -- */ 1824.x-block-feature-icons { 1825 border-top: 1px solid var(--light); 1826 border-bottom: 1px solid var(--light); 1827 padding: 12px 0 !important; 1828 margin-top: -12px !important; 1829 margin-bottom: 12px !important; 1830} 1831@media (min-width: 768px) { 1832 .x-block-feature-icons { 1833 margin-top: 4px !important; 1834 } 1835} 1836.feature-icon-item .pl-3, 1837.feature-icon-item .pr-3, 1838.feature-icon-item .pt-3, 1839.feature-icon-item .pb-3 { 1840 padding: 4px 6px !important; 1841} 1842/* -- END Feature Icons - shared -- */ 1843 1844/* -- Feature Icons - mobile spacing -- 1845 On mobile the badges stretch to fill the row (native .feature-icon-item has 1846 flex-1), so shrinking the gap alone does nothing - the items just re-expand to 1847 fill the freed space. Stop them stretching so they size to their content; the 1848 row is already justify-center on mobile, so they pack to the middle and the 1849 column-gap below then controls the actual space between badges. */ 1850@media (max-width: 767px) { 1851 .x-block-feature-icons .feature-icon-item { 1852 flex: 0 0 auto !important; /* stop each badge filling the row */ 1853 width: auto !important; 1854 min-width: 0 !important; 1855 } 1856 .x-block-feature-icons { 1857 column-gap: 4px !important; /* <- space between badges on mobile */ 1858 row-gap: 10px !important; /* <- space if they wrap to a 2nd row */ 1859 } 1860} 1861/* -- END Feature Icons - mobile spacing -- */ 1862 1863/* -- Trust Strip - icon-bearing items only -- 1864 :has() scopes this to items that actually contain an icon, so the 1865 text-only attribute columns (BENEFITS / SKIN TYPES / SCENT PROFILE) 1866 in the same block stay left-aligned and untouched. Matches the 1867 warranty / returns / shipping design: centered, charcoal, 40px. */ 1868.feature-icon-item:has([class*="size-icon-"]) { 1869 text-align: center !important; 1870} 1871.feature-icon-item:has([class*="size-icon-"]) .flex.justify-start { 1872 justify-content: center !important; 1873} 1874.feature-icon-item [class*="size-icon-"] { 1875 color: #33322E !important; 1876} 1877.feature-icon-item:has([class*="size-icon-"]) [class*="title--"] { 1878 font-size: 14px !important; 1879 font-weight: 500 !important; 1880 line-height: 1.3 !important; 1881 letter-spacing: 0 !important; 1882 color: #33322E !important; 1883 text-align: center !important; 1884 margin-top: 6px !important; 1885} 1886/* -- END Trust Strip - icon-bearing items -- */ 1887 1888 1889/* -- PDP Video Shopping: block heading size -- 1890 Match the Description / Benefits / Features tab headers using Eurus's 1891 existing responsive body-size variables, not the previous fixed 16px. 1892 With the exported text_base_size setting of 100: 12.6px mobile, 14px desktop 1893 at the standard 16px browser root size. Respects changes to theme text size. 1894 Scope to the Video shopping block inside Product information only. 1895 Keep the existing brand font, weight, color, alignment, and spacing. 1896 Does not change tab headers, captions, popup headings, or other sections. */ 1897.product-content-container .x-block-shoppable-video > .x-block-heading { 1898 font-size: var(--base-font-size-mobile, 0.7875rem) !important; 1899} 1900@media (min-width: 768px) { 1901 .product-content-container .x-block-shoppable-video > .x-block-heading { 1902 font-size: var(--base-font-size, 0.875rem) !important; 1903 } 1904} 1905/* -- END PDP Video Shopping: block heading size -- */ 1906 1907/* -- PDP Video Shopping: per-video caption -- 1908 Visible label injected below each shoppable video by calista-custom.js 1909 (sourced from the block's "Video alt text" field). */ 1910.x-video-caption { 1911 margin-top: 8px; 1912 text-align: center; 1913 font-size: 13px; 1914 font-weight: 500; 1915 line-height: 1.3; 1916 color: #33322E; 1917 text-transform: none; 1918} 1919/* -- END PDP Video Shopping: per-video caption -- */ 1920 1921/* ============================================================ 1922 COLLECTION 1923 ============================================================ */ 1924
1925/* -- Mobile: page gutter 8px (Eurus default ~20px) -- 1926 NOTE: .x-pgw.page-width is SITEWIDE - this narrows the mobile gutter 1927 on every page. The collection grid gets a wider 16px gutter via the 1928 override block below (full-bleed was retired with the Shop Now button). */ 1929@media screen and (max-width: 767px) { 1930 .x-pgw.page-width { 1931 padding-left: 8px; 1932 padding-right: 8px; 1933 } 1934} 1935/* -- END Mobile: page gutter 8px -- */ 1936 1937/* -- Mobile: collection grid gutter 16px -- 1938 With full-bleed removed, the grid would inherit the sitewide 8px gutter; 1939 bump only the collection grid wrapper to 16px for the clean, inset Fenty 1940 look (cards inset from the edge with a gap between columns). Other pages 1941 keep 8px. */ 1942@media screen and (max-width: 767px) { 1943 .x-pgw.page-width:has(#items-grid) { 1944 padding-left: 16px !important; 1945 padding-right: 16px !important; 1946 } 1947} 1948/* -- END Mobile: collection grid gutter 16px -- */ 1949 1950/* -- Collection filter/sort bar: drop top border (de-bar) -- 1951 Eurus boxes the toolbar in border-y; drop the top so only the bottom 1952 line remains, reading as a divider above the grid. */ 1953#FacetsWrapperDesktop { 1954 border-top: 0 !important; 1955} 1956/* -- END Collection filter/sort bar -- */ 1957 1958/* -- Hide list/grid view toggle -- */ 1959button[aria-label="list layout"], 1960button[aria-label="grid layout"] { 1961 display: none !important; 1962} 1963/* -- END Hide list/grid view toggle -- */ 1964 1965/* -- Collection card: hide Yotpo review count (stars only) -- 1966 Spec: card rating shows stars with NO count. Yotpo renders the count 1967 client-side, so this hides just the count text beside the stars on cards. 1968 PDP rating still shows the count (and calista-custom.js still formats its 1969 thousands separator there). */ 1970.card-product .yotpo-sr-bottom-line-text { 1971 display: none !important; 1972} 1973/* -- END Collection card review count -- */ 1974 1975 1976/* ============================================================ 1977 CARDS - Fenty-style clean card. 1978 Order: image -> title -> stars (no count) -> 1979 sibling/variant name -> count line -> price -> 1980 native quick-add button (filled). 1981 Mobile: button full-width at card bottom. 1982 Desktop: button reveals on image hover. 1983 ============================================================ */ 1984 1985/* -- Card: consistent text color (charcoal across the whole card) -- 1986 Title, rating, name/count lines, and price all render in charcoal; the 1987 title's native hover->link-color is overridden so color stays uniform. */ 1988.card-product .x-card-title, 1989.card-product .x-card-title:hover, 1990.card-product .x-review-product, 1991.card-product .cal-card-variant-name, 1992.card-product .cal-card-variant-count, 1993.card-product .x-card-price, 1994.card-product .x-card-price * { 1995 color: #33322E !important; 1996} 1997/* -- END Card: consistent text color -- */ 1998 1999/* -- Card: sibling/variant name + count lines (Fenty-style) -- 2000 Rendered by snippets/card-sibling-swatch-calista.liquid between the rating 2001 and price. Charcoal, sentence case, tight. Count line ("4 Colors") sits just 2002 under the value name ("Floral"). Single-option products emit nothing. */ 2003.card-product .cal-card-variant { 2004 margin: 0 0 8px; 2005 line-height: 1.3; 2006} 2007.card-product .cal-card-variant-name { 2008 font-size: 13px; 2009 color: #33322E; 2010} 2011.card-product .cal-card-variant-count { 2012 font-size: 13px; 2013 color: #33322E; 2014} 2015/* -- END Card: sibling/variant name + count lines -- */ 2016 2017/* -- Card: native quick-add button -> Calista filled CTA -- 2018 Replaces the retired .x-shop-now. Native Quick View settings drive 2019 placement: quickadd_mobile_position=bottom (full-width under the card on 2020 mobile) + quickadd_position=image (slides up on image hover on desktop). 2021 This styles BOTH the mobile bottom button (.card-info.bottom_atc) and the 2022 desktop on-image button (.quick-view-container) - both use .button--quickview: 2023 charcoal fill, white text, 1px radius, sentence case. The visible label is 2024 forced to a uniform "Shop Now" via font-size:0 + ::after (structure-agnostic); 2025 the button keeps its native aria-label for assistive tech. We also neutralize 2026 the button-solid ::before / .button-text::after fill overlay (same pattern as 2027 the comparison table) so the fill + swapped label render cleanly. */ 2028.card-product .button--quickview.button-solid { 2029 background: #33322E !important; 2030 color: #FFFFFF !important; 2031 border: 1px solid #33322E !important; 2032 border-radius: 1px !important; 2033 text-transform: none !important; 2034 letter-spacing: 0.04em !important; 2035 font-weight: 400 !important; 2036 width: 100% !important; 2037 height: auto !important; /* defeat h-full so it doesn't stretch tall */ 2038 min-height: 0 !important; 2039 line-height: 1.2 !important; /* tighten so the fill hugs the label */ 2040 padding-top: 7px !important; /* compact internal padding (was pt-2.5 ~10px) */ 2041 padding-bottom: 7px !important; 2042 font-size: 0 !important; /* blank native label text; ::after supplies ours */ 2043} 2044.card-product .button--quickview.button-solid:hover, 2045.card-product .button--quickview.button-solid:focus { 2046 background: #45433E !important; /* slightly lifted charcoal */ 2047 color: #FFFFFF !important; 2048} 2049.card-product .button--quickview.button-solid::before, 2050.card-product .button--quickview.button-solid .button-text::after { 2051 display: none !important; /* kill the animated fill overlay */ 2052} 2053.card-product .button--quickview.button-solid::after {
2054 content: "SHOP NOW"; 2055 font-size: 11px; 2056 font-weight: 400; 2057 letter-spacing: 0.04em; 2058} 2059/* keep the bottom button's form/wrapper from forcing height (tall-button fix) */ 2060.card-product .card-info.bottom_atc, 2061.card-product .card-info.bottom_atc .form, 2062.card-product .card-info.bottom_atc form { 2063 height: auto !important; 2064} 2065/* -- END Card: native quick-add button -- */ 2066 2067/* -- Card: hide the native quick-VIEW launcher (magnifier) -- 2068 Spec 5/6: no magnifier icon on the image, desktop or mobile - the Shop Now 2069 quick-add already covers it. The launcher is distinguished by 2070 .label-btn-quickview (the quick-add Shop Now button uses .button-solid, which 2071 is why the styling above is scoped to .button-solid only). You can also set 2072 the Quick View section's "Enable quick view" OFF natively; this CSS guarantees 2073 it regardless of that toggle. */ 2074.card-product .label-btn-quickview { 2075 display: none !important; 2076} 2077/* -- END Card: hide quick-view launcher -- */ 2078 2079/* -- Card: equal height + pin Shop Now to the bottom (collection grid) -- 2080 The list-layout snippet (used by the collection grid) builds .card-product as 2081 TWO wrappers: an upper one (image + title/rating/price) and a lower 2082 #x-product-template-... one whose LAST child is the mobile Shop Now button 2083 (it is NOT a .bottom_atc element, which is why margin-auto on that class did 2084 nothing here). So: stretch each .grid-item to the row height, let .card-product 2085 fill it as a flex column, let the lower #x-product-template wrapper grow as a 2086 flex column, and push its last child (the button) down with margin-top:auto. 2087 Buttons then line up across the row no matter which cards have the sibling/count 2088 line. Scoped to #items-grid so other surfaces and list view are untouched. */ 2089#items-grid { 2090 align-items: stretch !important; 2091} 2092#items-grid .grid-item { 2093 display: flex !important; 2094 flex-direction: column !important; 2095} 2096#items-grid .grid-item > .card-product { 2097 flex: 1 1 auto !important; 2098 display: flex !important; 2099 flex-direction: column !important; 2100} 2101#items-grid .grid-item > .card-product > [id^="x-product-template-"] { 2102 flex: 1 1 auto !important; 2103 display: flex !important; 2104 flex-direction: column !important; 2105} 2106#items-grid .grid-item > .card-product > [id^="x-product-template-"] > div:last-child { 2107 margin-top: auto !important; /* the Shop Now button block -> pinned to bottom */ 2108} 2109/* -- END Card: equal height + pin Shop Now to the bottom -- */ 2110 2111/* -- Featured Collection (homepage): pin Shop Now to card bottom (mobile) -- 2112 The homepage Featured Collection renders cards via card-product.liquid inside 2113 a .splide__list slider (section root .x-container-featured-collection) - NOT 2114 #items-grid, so the collection-grid anchor block above doesn't reach it. The 2115 slider already stretches slides to equal height, but the card's detail wrapper 2116 doesn't grow, so the mobile Shop Now (.card-info.bottom_atc, the last child of 2117 #x-product-template) floats up under the price on shorter cards (e.g. ones 2118 without a "3 Sizes" line). Make the card a flex column, let the detail wrapper 2119 grow, and push the Shop Now button down with margin-top:auto. Scoped to this 2120 section + mobile so other card-product carousels (recommendations, etc.) and 2121 desktop are untouched. */ 2122@media (max-width: 767px) { 2123 .x-container-featured-collection .splide__list { 2124 align-items: stretch !important; /* equal-height slides (insurance) */ 2125 } 2126 .x-container-featured-collection .card-product { 2127 display: flex !important; 2128 flex-direction: column !important; 2129 } 2130 .x-container-featured-collection .card-product > [id^="x-product-template-"] { 2131 flex: 1 1 auto !important; 2132 display: flex !important; 2133 flex-direction: column !important; 2134 } 2135 .x-container-featured-collection .card-product .card-info.bottom_atc { 2136 margin-top: auto !important; /* pin Shop Now to the card bottom */ 2137 } 2138} 2139/* -- END Featured Collection: pin Shop Now to card bottom -- */ 2140 2141/* -- Card: align media + copy to a shared left edge -- 2142 The native card insets the copy (.card-info gets pl-5/pr-5 when full-width) 2143 while the image (.x-labels-data) is flush, so they don't share a left edge. 2144 Zero the horizontal padding on both within the collection grid so image, title, 2145 rating, name/count, price, and the Shop Now button all line up to the card edge 2146 (the grid's own gutter provides the margin from the screen). */ 2147#items-grid .card-product .x-labels-data, 2148#items-grid .card-product .card-info { 2149 padding-left: 0 !important; 2150 padding-right: 0 !important; 2151} 2152/* -- END Card: align media + copy -- */ 2153 2154/* -- Featured Collection (homepage): align media + copy to a shared left edge -- 2155 Same misalignment as the collection grid above, but on the full-width homepage 2156 Featured Collection slider (section root .x-container-featured-collection; cards 2157 render via card-product.liquid inside a .splide__list - NOT #items-grid, so the 2158 grid block above doesn't reach it). The image (.x-labels-data) bleeds to the card 2159 edge while the copy (.card-info) keeps its pl-5/pr-5 gutter, so title/rating/
2160 name-count/price sit ~20px in from the image on desktop. Zero the horizontal 2161 padding on both so they share one left edge, mirroring the grid fix. No media 2162 query: keeps image + copy moving together on mobile too. */ 2163.x-container-featured-collection .card-product .x-labels-data, 2164.x-container-featured-collection .card-product .card-info { 2165 padding-left: 0 !important; 2166 padding-right: 0 !important; 2167} 2168/* -- END Featured Collection: align media + copy -- */ 2169 2170/* -- Card: condense vertical spacing (Fenty-style) -- 2171 Eurus spaces every card element with mb-2.5 (~10px) and the info block with 2172 pt-5 (~20px), which reads loose next to the Fenty reference. Tighten the 2173 image->title gap and the gaps between title / rating / sibling-count / price 2174 so the stack is denser. Price bottom margin is 0 because the gap below it (to 2175 the bottom-anchored Shop Now) is handled by the flex anchor, not margin. */ 2176#items-grid .grid-item > .card-product > div:first-child > .card-info { 2177 padding-top: 12px !important; /* image -> title (was pt-5 ~20px) */ 2178} 2179#items-grid .card-product .card__heading, 2180#items-grid .card-product .x-review-product, 2181#items-grid .card-product .cal-card-variant { 2182 margin-bottom: 6px !important; 2183} 2184#items-grid .card-product .cal-card-variant { 2185 margin-top: 0 !important; 2186} 2187#items-grid .card-product .x-card-price { 2188 margin-bottom: 0 !important; 2189} 2190/* -- END Card: condense vertical spacing -- */ 2191 2192/* -- Card image rounding (design system: 1px on card media) -- */ 2193.card-product img, 2194.card-product .splide, 2195.card-product .splide__track, 2196.card-product picture { 2197 border-radius: 1px !important; 2198} 2199/* -- END Card image rounding -- */ 2200 2201 2202/* ============================================================ 2203 COMPARISON TABLE (native product-comparison-table, styled) 2204 Rebuilt on the NATIVE v10 section - no fork. The section handles 2205 the Calista palette via its own color settings (background / 2206 criteria / heading / text / line-border), horizontal scroll, and 2207 object-cover images. This pass adds only the polish native config 2208 can't reach: sharp media, the Calista button, title casing, and 2209 typography sizing. 2210 ============================================================ */ 2211 2212/* Sharp media (design system: 1px radius on card-style images) */ 2213#product-comparison-table .preview-img, 2214#product-comparison-table picture, 2215.section-product-comparison-tablet .preview-img, 2216.section-product-comparison-tablet picture { 2217 border-radius: 1px !important; 2218} 2219 2220/* Product title: never force uppercase; Calista sizing */ 2221#product-comparison-table .product-title, 2222.section-product-comparison-tablet .product-title { 2223 text-transform: none !important; 2224 letter-spacing: 0 !important; 2225 font-size: 13px !important; 2226 line-height: 1.3 !important; 2227} 2228 2229/* Price */ 2230#product-comparison-table .price, 2231.section-product-comparison-tablet .price { 2232 font-size: 13px !important; 2233 font-weight: 500 !important; 2234} 2235 2236/* Criteria (row-label) cells: medium weight, sentence case */ 2237.compare-block [class*="bg-col-"] { 2238 font-weight: 500 !important; 2239 text-transform: none !important; 2240 letter-spacing: 0 !important; 2241} 2242 2243/* "View detail" button -> Calista card-ATC aesthetic: 2244 charcoal fill, white text, sharp, sentence case, compact (not full width). */ 2245.compare-button-block .button, 2246.button-block a.button { 2247 display: inline-block !important; 2248 width: auto !important; 2249 background: #33322E !important; 2250 color: #FFFFFF !important; 2251 border: 1px solid #33322E !important; 2252 border-radius: 1px !important; 2253 text-transform: none !important; 2254 letter-spacing: 0.02em !important; 2255 font-size: 12px !important; 2256 font-weight: 500 !important; 2257 padding: 9px 22px !important; 2258 transition: background-color 0.15s ease, color 0.15s ease !important; 2259} 2260/* Eurus fills button-solid hover via an animated ::before overlay (+ a 2261 .button-text::after), which sits on top of the <a> - so a plain 2262 background:hover never shows (the label recolors, the fill doesn't). 2263 Disable that animation on these buttons (mirrors .disable-btn-animation) 2264 so the brand hover colors apply directly. */ 2265#product-comparison-table .compare-button-block .button.button-solid::before, 2266#product-comparison-table .button-block .button.button-solid::before, 2267.compare-button-block .button.button-solid::before, 2268.button-block .button.button-solid::before { 2269 display: none !important; 2270} 2271#product-comparison-table .compare-button-block .button.button-solid:hover .button-text::after, 2272#product-comparison-table .button-block .button.button-solid:hover .button-text::after, 2273.compare-button-block .button.button-solid:hover .button-text::after, 2274.button-block .button.button-solid:hover .button-text::after { 2275 display: none !important; 2276} 2277#product-comparison-table .compare-button-block .button:hover, 2278#product-comparison-table .button-block a.button:hover, 2279.compare-button-block .button:hover, 2280.button-block a.button:hover { 2281 background: #FADCD4 !important; 2282 color: #33322E !important; 2283} 2284#product-comparison-table .compare-button-block .button:hover *, 2285#product-comparison-table .button-block a.button:hover *, 2286.compare-button-block .button:hover *, 2287.button-block a.button:hover * { 2288 color: #33322E !important; 2289} 2290 2291/* Image-metafield rows: rendered as <img class="x-compare-img"> by the 2292 forked card-product-compare.liquid (native emits the raw GID). Tidy tile. */ 2293.metafield-block .x-compare-img { 2294 display: block; 2295 margin: 0 auto; 2296 width: 100%; 2297 max-width: 160px; 2298 height: auto; 2299 border-radius: 1px; 2300} 2301 2302/* Row labels injected into each cell for the mobile column layout (below). 2303 Hidden by default - on desktop the row structure supplies the labels. */ 2304.x-compare-m-label { 2305 display: none; 2306} 2307 2308/* Mobile: rebuild as 9.10-style stacked COLUMNS instead of the native rows. 2309 Native renders per-product source columns (.section-product-comparison-tablet, 2310 each a full vertical stack) as siblings of the row structure inside 2311 #product-comparison-table, and only copies their HTML into the rows - the 2312 columns survive intact. We hide the row structure + native accordion and 2313 reveal the source columns side by side (2-up, horizontal scroll).
2314 Flush dividers are handled by a shared min-height on wrap-prone cells 2315 (NOT subgrid - subgrid reordered the cells because the parent rows 2316 aren't explicitly defined). */ 2317@media (max-width: 1023px) { 2318 .x-container-product-comparison-table .product-recommendations.hidden { 2319 display: block !important; 2320 } 2321 .x-container-product-comparison-table #product-comparison-table-mobile { 2322 display: none !important; 2323 } 2324 #product-comparison-table { 2325 display: flex !important; 2326 gap: 12px; 2327 overflow-x: auto; 2328 scroll-snap-type: x proximity; 2329 text-align: left; 2330 } 2331 /* hide the native row structure (label rows + scattered value cells) */ 2332 #product-comparison-table > .compare-block { 2333 display: none !important; 2334 } 2335 /* reveal each product's source column: 2 visible, scroll for the rest */ 2336 #product-comparison-table > .section-product-comparison-tablet { 2337 display: block !important; 2338 flex: 0 0 calc(50% - 6px); 2339 scroll-snap-align: start; 2340 min-width: 0; 2341 } 2342 /* cells fill the column width */ 2343 #product-comparison-table .section-product-comparison-tablet .content-tablet > div { 2344 width: 100% !important; 2345 } 2346 /* show the per-value row labels inside each column */ 2347 .section-product-comparison-tablet .x-compare-m-label { 2348 display: block; 2349 font-weight: 600; 2350 font-size: 12px; 2351 letter-spacing: 0; 2352 color: #33322E; 2353 margin-bottom: 2px; 2354 } 2355 /* button fills its cell */ 2356 .section-product-comparison-tablet .button-block .button { 2357 width: 100% !important; 2358 } 2359 /* Flush rows without subgrid: floor wrap-prone cells at a shared height so 2360 a 1-line and a 2-line value occupy the same height across columns, landing 2361 their dividers level. Tune to just above your tallest value per row type. */ 2362 .section-product-comparison-tablet .metafield-block { 2363 min-height: 92px; 2364 } 2365} 2366/* End: COMPARISON TABLE */ 2367 2368 2369/* ============================================================ 2370 HOMEPAGE 2371 ============================================================ */ 2372 2373/* -- Trust Strip (native Multicolumn / text-with-icon columns) -- 2374 This is the live trust row (Free Shipping / 30-Day Returns / 1-Year Warranty 2375 / Stylist-Created). It is the native MULTICOLUMN section's column blocks - 2376 NOT the PDP feature_icon block (.feature-icon-item) up in the PDP group. 2377 Live hooks (per rendered DOM): .text-with-icon-item (the column), an mb-2 2378 icon row stacked above a pt-2 text wrapper (the icon->text gap), and .rte 2379 (the subtext). 2380 2381 Native already covers, set these in the theme editor (no CSS): 2382 - Icon size -> the section's "Icon size" slider 2383 - Headline -> each column's "Heading size" slider 2384 No native setting exists for the icon->text gap or the subtext size, so the 2385 two knobs below handle those. 2386 2387 SCOPE NOTE: targets .text-with-icon-item, i.e. every Multicolumn "text with 2388 icon" column site-wide. If you add other Multicolumn sections you don't want 2389 touched, say so and I'll scope this to just this section. */ 2390 2391/* KNOB 1 - icon -> headline gap. 2392 Native stacks an mb-2 (~8px) icon row above a pt-2 (~8px) text wrapper 2393 (~16px total). Zero the icon row's bottom margin and drive the whole gap 2394 from the text wrapper's padding-top here. Lower = tighter, raise = looser. */ 2395.text-with-icon-item div:has(> span[class*="size-icon-"]) { 2396 margin-bottom: 0 !important; 2397} 2398.text-with-icon-item div:has(> [class*="heading-"]) { 2399 padding-top: 4px !important; /* <- icon-to-text spacing */ 2400} 2401 2402/* KNOB 2 - subtext size ("On orders $75+", etc.). 2403 The column's native "Heading size" slider sizes the headline; the subtext 2404 (.rte) has no native size control, so set it here. Targets the inner <p> too 2405 so it beats the theme's .rte p rule. */ 2406.text-with-icon-item .rte, 2407.text-with-icon-item .rte p { 2408 font-size: 13px !important; /* <- subtext size */ 2409} 2410/* -- END Trust Strip (Multicolumn) -- */ 2411 2412/* -- Image with text: condense the feature checklist + one-line labels -- 2413 The native columns blocks wrap each item in pt-5 pb-5 pl-5 pr-5 (20px every 2414 side) plus a pl-2.5/pr-2.5 text wrapper, and the icon defaults large â so rows 2415 sit far apart (mobile) and labels wrap to two lines in the narrow 2-col grid 2416 (desktop). None of that padding is a native setting, so: trim the item padding 2417 (condenses the row gap on mobile AND desktop), trim the text wrapper's side 2418 padding, tighten the grid row gap, cap the icon, and keep the label on one 2419 line. Pair with the native Icon size set to ~30. Scoped to .image-with-text so 2420 no other multicolumn surface is affected. */ 2421.image-with-text .x-block-columns { 2422 padding: 4px 0 !important; /* was pt-5 pb-5 pl-5 pr-5 (~20px each) */ 2423} 2424.image-with-text .x-block-columns-container { 2425 margin-top: 0 !important; 2426 gap: 12px 16px !important; /* row-gap 12, column-gap 16 */ 2427} 2428.image-with-text .x-block-columns > div { 2429 padding-left: 10px !important; /* small gap between icon and label */ 2430 padding-right: 0 !important; 2431} 2432.image-with-text .x-block-columns [class*="icon--"] { 2433 width: 28px !important; 2434 height: 28px !important; 2435 min-width: 28px !important; 2436 min-height: 28px !important; 2437} 2438.image-with-text .x-block-columns [class*="heading-"] { 2439 white-space: nowrap !important;
2439 /* one line per label on desktop */ 2440} 2441/* Mobile: force a true single column with tight rows (defeats the 2-col 2442 columns_mobile span that leaves the rows loose). */ 2443@media (max-width: 767px) { 2444 .image-with-text .x-block-columns-container { 2445 grid-template-columns: 1fr !important; 2446 gap: 6px !important; 2447 } 2448 .image-with-text .x-block-columns { 2449 grid-column: auto !important; /* ignore any mobile col-span */ 2450 padding: 2px 0 !important; 2451 min-height: 0 !important; 2452 } 2453} 2454/* -- END Image with text: feature checklist -- */ 2455 2456/* -- Video looping: show full 9:16 frame (no crop) -- 2457 The card container is already locked to aspect-[9/16], but the native 2458 <video> (and its poster .img-thumbnail) use object-cover, which crops a 2459 source that isn't exactly 9:16. Switch to object-contain so the FULL 2460 frame shows inside the 9:16 card. Any letterbox gap (when a clip isn't 2461 exactly 9:16) is filled with the brand background so it reads as 2462 intentional rather than a gap. Cleanest long-term fix is exporting the 2463 source clips at true 9:16 - then there's zero letterbox and the fill 2464 never shows; this CSS works either way. 2465 Scoped to .x-container-video-looping (section root) so it can't bleed 2466 onto .video / .img-thumbnail / .external-video used by other sections. */ 2467.x-container-video-looping .video, 2468.x-container-video-looping .img-thumbnail { 2469 object-fit: contain !important; 2470} 2471.x-container-video-looping .external-video { 2472 background-color: #f7f6f4; 2473} 2474/* -- END Video looping: show full 9:16 frame -- */ 2475 2476/* -- Video looping: hide quickview icon -- 2477 The search-quickview magnifier button (renders when product card 2478 position = "on" and autoplay is off) is the only element in the section 2479 carrying the mobile-device-class markup class - a safe, scoped target. 2480 Removing it also removes that tap-to-open-product affordance on the 2481 videos; revisit if those cards still need to be shoppable. */ 2482.x-container-video-looping .mobile-device-class { 2483 display: none !important; 2484} 2485/* -- END Video looping: hide quickview icon -- */ 2486 2487/* -- Testimonial + product showcase (Tatcha-style) -- 2488 Built on the NATIVE "Testimonials with card" section - no fork. Each block 2489 supplies a quote (Text), a lifestyle image (Image), and a Product (the chip). 2490 The section auto-rotates. This restyles the native split slide into the 2491 reference: quote on a plain panel left, full-bleed image right, product chip 2492 pinned to the image's top-left corner. 2493 2494 Native settings to set in the editor (no CSS): 2495 - Section > Auto rotate ON (+ speed); Make section full width ON 2496 - Colors: Background #f7f6f4 | Item background + Item border = transparent 2497 (alpha 0) | Heading/Text #33322E 2498 Per block: Text = quote (include the curly quote marks), Image = lifestyle 2499 photo, Product = the product to feature. Leave Title/Author blank, Show 2500 author image OFF. Add 2+ blocks so it rotates. 2501 Scope: .x-container-testimonials-with-card (every instance of this section); 2502 say the word to lock it to one section id instead. */ 2503 2504/* Anchor for the product-chip overlay */ 2505.x-container-testimonials-with-card .scale-item { 2506 position: relative; 2507} 2508 2509/* De-card the content side (belt-and-suspenders with the transparent item colors) */ 2510.x-container-testimonials-with-card .x-testimonial-content > div { 2511 border: 0 !important; 2512 background: transparent !important; 2513} 2514 2515/* Hide the author row for the clean quote look (delete to show author/avatar). 2516 Stars ARE shown - pick the count per block (block > "Number of stars") and the 2517 star color follows the theme's rating color (Colors > Star rating icon). */ 2518.x-container-testimonials-with-card .x-testimonial-author-container { 2519 display: none !important; 2520} 2521 2522/* Quote: drop the native scroll cap, go large + charcoal */ 2523.x-container-testimonials-with-card .x-testimonial-main-content { 2524 max-height: none !important; 2525 overflow: visible !important; 2526} 2527/* === Quote font size (knobs) === 2528 Change these two numbers to resize the quote text everywhere. */ 2529.x-container-testimonials-with-card { 2530 --cal-quote-size-mobile: 22px; /* viewports < 768px */ 2531 --cal-quote-size: 30px; /* viewports >= 768px */ 2532} 2533.x-container-testimonials-with-card .x-content-text, 2534.x-container-testimonials-with-card .x-content-text * { 2535 font-family: 'Helvetica Neue', 'HN Fallback', Arial, sans-serif !important; 2536 font-weight: 400 !important; /* 400 = Regular; 500+ selects the Medium cut */ 2537 font-size: var(--cal-quote-size-mobile) !important; 2538 line-height: 1.35 !important; 2539 color: #33322E !important; 2540} 2541 2542/* Product chip -> clean white pill */ 2543.x-container-testimonials-with-card .x-testimonial-product-card { 2544 margin: 0 !important; 2545 padding: 0 !important; 2546} 2547.x-container-testimonials-with-card .card-testimonial { 2548 background: #FFFFFF !important; 2549 border-radius: 1px !important; 2550 box-shadow: 0 2px 14px rgba(51,50,46,0.12) !important; 2551 padding: 12px 16px !important; 2552} 2553.x-container-testimonials-with-card .card-testimonial p, 2554.x-container-testimonials-with-card .card-testimonial .price { 2555 color: #33322E !important; 2556} 2557 2558/* Image fills its half */ 2559.x-container-testimonials-with-card .x-testimonial-image img { 2560 width: 100% !important; 2561 height: 100% !important; 2562 object-fit: cover !important; 2563} 2564 2565@media (min-width: 768px) { 2566 /* Seamless 50/50 split, quote LEFT / image RIGHT, real height */ 2567 .x-container-testimonials-with-card .scale-item { 2568 gap: 0 !important; 2569 min-height: 520px; 2570 align-items: stretch !important; 2571 } 2572 .x-container-testimonials-with-card .x-testimonial-image { order: 2; } 2573 .x-container-testimonials-with-card .x-testimonial-content { 2574 order: 1; 2575 justify-content: center !important; 2576 padding: 0 48px 0 8px; 2577 } 2578 .x-container-testimonials-with-card .x-content-text, 2579 .x-container-testimonials-with-card .x-content-text * { 2580 font-size: var(--cal-quote-size) !important; 2581 } 2582 2583 /* Chip pinned to the image's top-left corner (image is the right half) */ 2584 .x-container-testimonials-with-card .x-testimonial-product-card { 2585 position: absolute !important; 2586 top: 24px; 2587 left: calc(50% + 24px); 2588 width: auto !important; 2589 z-index: 5; 2590 } 2591 .x-container-testimonials-with-card .card-testimonial { 2592 width: max-content; 2593 max-width: 320px; 2594 } 2595} 2596/* -- END Testimonial + product showcase -- */ 2597 2598 2599/* -- Footer: newsletter position -- 2600 Handled natively by block ORDER (newsletter placed first = left on 2601 desktop, top on mobile). No CSS needed - intentionally left empty so 2602 we don't fight the native layout or the mobile accordions. */ 2603/* -- END Footer: newsletter position -- */ 2604 2605/* -- Footer: newsletter submit as text label -- 2606 v10 ships an arrow icon; restore a "Subscribe" text label. */ 2607.footer__newsletter button[type="submit"] { 2608 width: auto !important; 2609 padding: 0 14px !important; 2610 white-space: nowrap; 2611} 2612.footer__newsletter button[type="submit"] span { 2613 display: none !important; /* hide arrow icon */ 2614} 2615.footer__newsletter button[type="submit"]::after {
2616 content: "Subscribe"; 2617 font-size: 13px; 2618 font-weight: 500; 2619 text-transform: none; /* no forced uppercase */ 2620 color: currentColor; 2621} 2622/* -- END Footer: newsletter submit -- */ 2623 2624/* -- Footer: typography (light Inter weights) -- 2625 Starting values - fine-tune after first look. Uses the 200/300 2626 weights loaded by the font-face Custom Liquid block. */ 2627.section-footer .h6 { 2628 font-weight: 300 !important; 2629 font-size: 14px !important; 2630 letter-spacing: 0.02em !important; 2631 text-transform: none !important; 2632} 2633.section-footer ul a, 2634.section-footer .footer-col--1 a, 2635.section-footer [class*="footer-col--"] a { 2636 font-weight: 300 !important; 2637 font-size: 13px !important; 2638} 2639/* -- END Footer: typography -- */ 2640 2641/* -- Footer: copyright + newsletter subtext (match footer body) -- */ 2642/* Center the copyright row and bring it to footer weight/size. */ 2643.section-footer .additional-footer, 2644.section-footer .additional-footer > div { 2645 justify-content: center !important; 2646 text-align: center !important; 2647} 2648.section-footer .additional-footer .base-link, 2649.section-footer .additional-footer .base-link p, 2650.section-footer .additional-footer p { 2651 text-align: center !important; 2652 font-weight: 300 !important; 2653 font-size: 13px !important; 2654} 2655/* Newsletter sub-text ("Plus get 15% off...") to match footer body. */ 2656.section-footer .x-block-email .rte { 2657 font-weight: 300 !important; 2658 font-size: 13px !important; 2659} 2660/* -- END Footer: copyright + newsletter subtext -- */ 2661 2662/* -- Footer: policy links bar (standalone Custom Liquid section) -- 2663 The footer has no Custom Liquid block, so the menu-driven bar lives in 2664 its own section below the footer. Match the footer's background + text 2665 color (via the theme's footer vars) so it reads as one unit, and pull 2666 it flush. Wrap the menu loop in <span class="cal-footer-policy">. */ 2667.shopify-section:has(.cal-footer-policy), 2668.shopify-section:has(.cal-footer-policy) > div { 2669 background: rgb(var(--background-color-footer)) !important; 2670} 2671.shopify-section:has(.cal-footer-policy) { 2672 margin-top: 0 !important; 2673 padding-top: 0 !important; 2674} 2675.cal-footer-policy { 2676 display: block; 2677 text-align: center; 2678 font-size: 12px; 2679 font-weight: 300; 2680 color: rgb(var(--colors-text-footer)); 2681 padding-bottom: 16px; 2682} 2683.cal-footer-policy a { 2684 color: rgb(var(--colors-text-footer)) !important; 2685 text-decoration: none; 2686 font-size: 12px; 2687 font-weight: 300; 2688} 2689.cal-footer-policy a:hover { 2690 text-decoration: underline; 2691} 2692/* -- END Footer: policy links bar -- */ 2693 2694 2695/* ============================================================ 2696 HEADER / NAV 2697 ============================================================ */ 2698 2699/* -- Menu: charcoal highlight for active items, NO underline -- 2700 The open/current top-level item ("Shop") and the active dropdown parents 2701 (Product Type / Hair Concern / Collections) are highlighted natively via 2702 .effect-inline / .link-active, which the theme colors with the mauve Text 2703 link variable, plus a Tailwind border-b on active child links. 2704 2705 Design decision: keep the charcoal highlight, remove ALL underlines in the 2706 menu (the .rte a paragraph-copy underline in the GLOBAL block is a separate, 2707 intentional treatment and is untouched). 2708 2709 Step 1 - colour: redefine --colors-text-link inside the header so highlighted 2710 items read charcoal instead of mauve (rest of the site keeps its mauve links; 2711 sale price / cart dot / low-stock are separate settings, unaffected). 2712 Step 2 - no static underline: this block previously ADDED a text-decoration 2713 underline on active items; that is now removed (was the visible line under 2714 Shop / Product Type / Hair Concern / Collections). 2715 Step 3 - no hover underline: suppress the theme's animated ::after underline 2716 on every header nav link so hover can't reintroduce a line. 2717 Step 4 - no border line: zero the native Tailwind border-b (a 1px 2718 --colors-line-and-border line) the theme puts on active/current child links. */ 2719.section-header { 2720 --colors-text-link: 51, 50, 46; /* #33322E charcoal (R, G, B triplet) */ 2721} 2722/* Step 2 - kill the static underline on highlighted items */ 2723.section-header .effect-inline, 2724.section-header .link-active { 2725 text-decoration: none !important; 2726} 2727/* Step 3 - kill the theme's animated hover underline on menu links */
2728.section-header a.nav-link::after, 2729.section-header a.effect-inline::after { 2730 display: none !important; 2731} 2732/* Step 4 - kill the native border-b line on active/current child links */ 2733.section-header a.nav-link.effect-inline, 2734.section-header a.nav-link.link-active, 2735.section-header a.nav-link.border-b { 2736 border-bottom: 0 !important; 2737} 2738/* -- END Menu: charcoal highlight, no underline -- */ 2739 2740 2741/* ============================================================ 2742 GLOBAL 2743 ============================================================ */ 2744 2745/* -- Content links: consistent thin underline (RTE / product descriptions) -- 2746 Eurus draws rich-text links (.rte a) with an animated gradient underline that 2747 only grows in on hover, so body links read inconsistently. Swap it for a 2748 clean, always-on 1px underline that matches the thin-line treatment used in 2749 the menu. The link keeps its own color (mauve, site-wide) and the underline 2750 follows it via currentColor - set text-decoration-color to #33322E instead if 2751 you'd rather the line be charcoal. Thickness + offset are the knobs. 2752 Scope: .rte a (rich-text content). Button-style links (.button-link) keep 2753 their own treatment - say the word to bring them in too. */ 2754.rte a { 2755 background-image: none !important; /* remove the gradient underline */ 2756 text-decoration: underline !important; 2757 text-decoration-thickness: 1px !important; /* thin */ 2758 text-underline-offset: 2px !important; 2759 text-decoration-color: currentColor !important; 2760} 2761/* -- END Content links: consistent thin underline -- */ 2762 2763 2764/* End: calista-custom.css */ 2765</style> 2766 2767 2768 2769<!-- End: XO-InsertCode Header --> 2770 2771 2772<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
2773<script type="text/javascript"> 2774 (function (c, l, a, r, i, t, y) { 2775 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 2776 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 2777 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 2778 2779 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 2780 if (error) { 2781 console.error("Error loading Shopify features:", error); 2782 return; 2783 } 2784 2785 c[a]('consentv2', { 2786 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 2787 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 2788 source: 101, 2789 }); 2790 }); 2791 2792 l.addEventListener("visitorConsentCollected", function (e) { 2793 c[a]('consentv2', { 2794 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 2795 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 2796 source: 101, 2797 }); 2798 }); 2799 })(window, document, "clarity", "script", "v40vh3q5cb"); 2800</script>
2800 2801 2802 2803 2804<!-- END app block --><!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
2804<script type="text/javascript" src="https://cdn.attn.tv/calista/dtag.js?source=app-embed" defer="defer"></script>
2804 2805 2806 2807<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820
2820<script async src="https://static.klaviyo.com/onsite/js/RfeaaG/klaviyo.js?company_id=RfeaaG"></script>
2820 2821
2821<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>
2821 2822 2823 2824
2824<script id="viewed_product"> 2825 if (item == null) { 2826 var _learnq = _learnq || []; 2827 2828 var MetafieldReviews = null 2829 var MetafieldYotpoRating = null 2830 var MetafieldYotpoCount = null 2831 var MetafieldLooxRating = null 2832 var MetafieldLooxCount = null 2833 var okendoProduct = null 2834 var okendoProductReviewCount = null 2835 var okendoProductReviewAverageValue = null 2836 try { 2837 // The following fields are used for Customer Hub recently viewed in order to add reviews. 2838 // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items 2839 MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"4.5"},"rating_count":35}; 2840 MetafieldYotpoRating = "4.5" 2841 MetafieldYotpoCount = "35" 2842 MetafieldLooxRating = null 2843 MetafieldLooxCount = null 2844 2845 okendoProduct = null 2846 // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data 2847 if (okendoProduct && 'error' in okendoProduct) { 2848 okendoProduct = null 2849 } 2850 okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null 2851 okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null 2852 } catch (error) { 2853 console.error('Error in Klaviyo onsite reviews tracking:', error); 2854 } 2855 2856 var item = { 2857 Name: "GLOSS Caramel Color Enhancement", 2858 ProductID: 10847775850806, 2859 Categories: ["All Products","gloss sibling products","Hair Treatments","New Arrivals","Products for Color-Treated Hair","Shop All Products","The Gloss Line"], 2860 ImageURL: "https://calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1_grande.jpg?v=1789574597", 2861 URL: "https://calistatools.com/products/gloss-caramel-color-enhancement", 2862 Brand: "Calista Tools", 2863 Price: "$39", 2864 Value: "39", 2865 CompareAtPrice: "$0" 2866 }; 2867 _learnq.push(['track', 'Viewed Product', item]); 2868 _learnq.push(['trackViewedItem', { 2869 Title: item.Name, 2870 ItemId: item.ProductID, 2871 Categories: item.Categories, 2872 ImageUrl: item.ImageURL, 2873 Url: item.URL, 2874 Metadata: { 2875 Brand: item.Brand, 2876 Price: item.Price, 2877 Value: item.Value, 2878 CompareAtPrice: item.CompareAtPrice 2879 }, 2880 metafields:{ 2881 reviews: MetafieldReviews, 2882 yotpo:{ 2883 rating: MetafieldYotpoRating, 2884 count: MetafieldYotpoCount, 2885 }, 2886 loox:{ 2887 rating: MetafieldLooxRating, 2888 count: MetafieldLooxCount, 2889 }, 2890 okendo: { 2891 rating: okendoProductReviewAverageValue, 2892 count: okendoProductReviewCount, 2893 } 2894 } 2895 }]); 2896 } 2897 </script>
2897 2898 2899 2900 2901 2902 2903
2903<script> 2904 window.klaviyoReviewsProductDesignMode = false 2905 </script>
2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915<!-- END app block -->
2915<script src="https://cdn.shopify.com/extensions/01a101d9-652a-7b73-904c-cf9ed89a9db5/2026-10-03-12-58-30-UTC--0fc6178/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 2915
2915
2916<script src="https://cdn.shopify.com/extensions/01a0fd28-d85d-7cb1-8bb9-fbf695683afb/loop-returns-506/assets/order-protection-storefront.js" type="text/javascript" defer="defer"></script>
2916 2917<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2918<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: 6764757061,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};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 2918
2918
2919<script> 2920 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2921</script>
vendor: 1 bytes, line 2921
2921
2922<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}
2922).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: 6764757061,storefrontBaseUrl: "https://calistatools.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://calistatools.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2875785526","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-5MGPZG6\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-R5SG38PSX8\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-R5SG38PSX8\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-R5SG38PSX8\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2803597622","configuration":"{\"store_id\":\"91634\",\"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"]}
2922,"dataSharingState":"unrestricted"},{"id":"2321514806","configuration":"{\"debug\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a9a83cf44fb282052ff936f7ab101058","type":"APP","apiClientId":4539653,"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":"2192605494","configuration":"{\"projectId\":\"v40vh3q5cb\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1835598134","configuration":"{\"accountID\":\"RfeaaG\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1196327222","configuration":"{\"shopId\":\"calista-tools.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"31536d5a2ef62c1887054e49fd58dba0","type":"APP","apiClientId":4845829,"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":"1090650422","configuration":"{\"yotpoStoreId\":\"MomWoy2px304xCd0DXnL78lDcNDRxS7bv5Ok7bW8\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c5c2579aac465eb24ca7bc0501a6000d","type":"APP","apiClientId":70132,"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":"857211190","configuration":"{\"ti\":\"211052367\",\"endpoint\":\"https:\/\/bat.bing.com\/action\/0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5ee93563fe31b11d2d65e2f09a5229dc","type":"APP","apiClientId":2997493,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"444170550","configuration":"{\"tagID\":\"2612999592956\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"278855990","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
2922,{"id":"137396534","configuration":"{\"accountID\":\"3931\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5257eba551dec701a89c7ebf33f9b427","type":"APP","apiClientId":5043673,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"154927414","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"ShareaSale"},{"id":"173572406","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Fueled v2 Pixel"},{"id":"173703478","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Fueled - AdWords Supplemental "},{"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":"Calista Tools","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"calista-tools.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/calistatools.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":39.0,"currencyCode":"USD"},"product":{"title":"GLOSS Caramel Color Enhancement","vendor":"Calista Tools","id":"10847775850806","untranslatedTitle":"GLOSS Caramel Color Enhancement","url":"\/products\/gloss-caramel-color-enhancement","type":"Cleanse + Condition"},"id":"54557956276534","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597"},"sku":"GLOSS-CARA","title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"10847775850806","handle":"gloss-caramel-color-enhancement","isCollective":null,"title":"GLOSS Caramel Color Enhancement","type":"Cleanse + Condition","untranslatedTitle":"GLOSS Caramel Color Enhancement","url":"\/products\/gloss-caramel-color-enhancement","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"54557956276534","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597"},"price":{"amount":39.0,"currencyCode":"USD"},"sku":"GLOSS-CARA","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10192307224886","handle":"gloss-purple-color-enhancement","isCollective":null,"title":"GLOSS Purple Color Enhancement","type":"Cleanse + Condition","untranslatedTitle":"GLOSS Purple Color Enhancement","url":"\/products\/gloss-purple-color-enhancement","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51863232545078","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-06_426b1d9b-b2c4-4886-acc4-11ff0cf7e1fd.jpg?v=1787160966"},"price":{"amount":39.0,"currencyCode":"USD"},"sku":"GLOSS-PURP","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10465332592950","handle":"gloss-clear-color-enhancement","isCollective":null,"title":"GLOSS Clear Color Enhancement","type":"Cleanse + Condition","untranslatedTitle":"GLOSS Clear Color Enhancement","url":"\/products\/gloss-clear-color-enhancement","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53389850607926","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-01_d17796cb-a60a-47aa-a039-d13631fadeb7.jpg?v=1787160993"},"price":{"amount":39.0,"currencyCode":"USD"},"sku":"GLOSS-CLEAR","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10603065803062","handle":"eliteair-multi-style-dryer-gen-2","isCollective":null,"title":"EliteAir Multi-Style Dryer Gen 2","type":"Styling Tools","untranslatedTitle":"EliteAir Multi-Style Dryer Gen 2","url":"\/products\/eliteair-multi-style-dryer-gen-2","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53708547391798","
2922image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/6.1.2026_EliteAirStyleDryerGen2-09.jpg?v=1781276861"},"price":{"amount":159.0,"currencyCode":"USD"},"sku":"ELITEAIR-2-PINK","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10521272713526","handle":"ion-hot-rollers-long-set-gen-2","isCollective":null,"title":"Ion Hot Rollers Long Set Gen 2","type":"Styling Tools","untranslatedTitle":"Ion Hot Rollers Long Set Gen 2","url":"\/products\/ion-hot-rollers-long-set-gen-2","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53470087971126","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.13.2026HotRollers-01.jpg?v=1787159362"},"price":{"amount":115.0,"currencyCode":"USD"},"sku":"HOTROLLERS-2-L","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6917843583036","handle":"jousse-vitality-heat-protectant-spray","isCollective":null,"title":"JOUSSE Vitality Spray","type":"Styling Products","untranslatedTitle":"JOUSSE Vitality Spray","url":"\/products\/jousse-vitality-heat-protectant-spray","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"40150874292284","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/JOUSSE_VITALITY_SPRAY_6.8OZ.png?v=1784044709"},"price":{"amount":27.0,"currencyCode":"USD"},"sku":"JSEVITALITY","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10192339075382","handle":"gloss-restorative-shine-serum","isCollective":null,"title":"GLOSS Shine Recovery Serum","type":"Styling Products","untranslatedTitle":"GLOSS Shine Recovery Serum","url":"\/products\/gloss-restorative-shine-serum","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51863312466230","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-01_74ffcc31-5b26-491f-bdff-8ead68f4194c.jpg?v=1787160834"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"GLOSS-SER","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10521160843574","handle":"ion-hot-rollers-short-set-gen-2","isCollective":null,"title":"Ion Hot Rollers Short Set Gen 2","type":"Styling Tools","untranslatedTitle":"Ion Hot Rollers Short Set Gen 2","url":"\/products\/ion-hot-rollers-short-set-gen-2","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53469608313142","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.13.2026HotRollers-02.jpg?v=1787159388"},"price":{"amount":115.0,"currencyCode":"USD"},"sku":"HOTROLLERS-2-S","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"1797342068805","handle":"gogo-mini-round-brush","isCollective":null,"title":"GoGo Mini Round Brush","type":"Styling Tools","untranslatedTitle":"GoGo Mini Round Brush","url":"\/products\/gogo-mini-round-brush","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53297881514294","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026GoGoMiniRoundBrush-03.jpg?v=1777486135"},"price":{"amount":40.0,"currencyCode":"USD"},"sku":"MINI-B BURST","title":"Berry Burst","untranslatedTitle":"Berry Burst"}]},{"id":"10837713879350","handle":"75-perfecter-pro-heated-round-brush-gen-4","isCollective":null,"title":"0.75\" Perfecter Pro Heated Round Brush Gen 4","type":"Styling Tools","untranslatedTitle":"0.75\" Perfecter Pro Heated Round Brush Gen 4","url":"\/products\/75-perfecter-pro-heated-round-brush-gen-4","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"54522982662454","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/1.28.2025_Perfecter-01.jpg?v=1788824855"},"price":{"amount":115.0,"currencyCode":"USD"},"sku":"PPG GEN4 ROSE GOLD .75","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10837665906998","handle":"perfecter-pro-heated-round-brush-1-gen-4","isCollective":null,"title":"1\" Perfecter Pro Heated Round Brush Gen 4","type":"Styling Tools","untranslatedTitle":"1\" Perfecter Pro Heated Round Brush Gen 4","url":"\/products\/perfecter-pro-heated-round-brush-1-gen-4","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"54522340442422","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/1.28.2025Perfecter-02.jpg?v=1788817224"},"price":{"amount":115.0,"currencyCode":"USD"},"sku":"PPG GEN4 ROSE GOLD 1.0","title":"Default Title","untranslatedTitle":"Default Title"}]}
2922,{"id":"10837728395574","handle":"1-5-perfecter-pro-heated-round-brush-gen-4","isCollective":null,"title":"1.5\" Perfecter Pro Heated Round Brush Gen 4","type":"Styling Tools","untranslatedTitle":"1.5\" Perfecter Pro Heated Round Brush Gen 4","url":"\/products\/1-5-perfecter-pro-heated-round-brush-gen-4","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"54523081359670","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/1.28.2025_Perfecter-03.jpg?v=1788826986"},"price":{"amount":115.0,"currencyCode":"USD"},"sku":"PPG GEN4 ROSE GOLD 1.5","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"15401658646838","handle":"bewitching-blowout","isCollective":null,"title":"Bewitching Blowout","type":"Kits + Sets","untranslatedTitle":"Bewitching Blowout","url":"\/products\/bewitching-blowout","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"67610215448886","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Halloween_2026_Bundle_PDPs-05.jpg?v=1790785784"},"price":{"amount":165.0,"currencyCode":"USD"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"8689389175094","handle":"bodywaver-large-wave-hair-styler","isCollective":null,"title":"BodyWaver","type":"Styling Tools","untranslatedTitle":"BodyWaver","url":"\/products\/bodywaver-large-wave-hair-styler","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51167307628854","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026Bodywaver-07_86adab0b-07d2-4a00-a0ca-8b9d63876114.jpg?v=1781115121"},"price":{"amount":80.0,"currencyCode":"USD"},"sku":"BodyWaver-VV","title":"Vintage Violet","untranslatedTitle":"Vintage Violet"}]},{"id":"15402465689910","handle":"boo-tifully-big-hair","isCollective":null,"title":"Boo-tifully Big Hair","type":"Kits + Sets","untranslatedTitle":"Boo-tifully Big Hair","url":"\/products\/boo-tifully-big-hair","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"67614439637302","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Halloween_2026_Bundle_PDPs-07.jpg?v=1790785784"},"price":{"amount":129.0,"currencyCode":"USD"},"sku":null,"title":"Short Set","untranslatedTitle":"Short Set"}]},{"id":"8014509867318","handle":"calista-beauty-case","isCollective":null,"title":"Calista Beauty Case","type":"Accessories","untranslatedTitle":"Calista Beauty Case","url":"\/products\/calista-beauty-case","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"44012747522358","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/6.1.2026CalistaCase-02.jpg?v=1782759901"},"price":{"amount":89.0,"currencyCode":"USD"},"sku":"CLCASE1BL","title":"Pink Sand","untranslatedTitle":"Pink Sand"}]},{"id":"9571056910646","handle":"calista-claw-clip","isCollective":null,"title":"Calista Claw Clip","type":"Accessories","untranslatedTitle":"Calista Claw Clip","url":"\/products\/calista-claw-clip","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"49557389181238","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/ClawClip1.jpg?v=1762447971"},"price":{"amount":9.99,"currencyCode":"USD"},"sku":"CLAWCLIP-P","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9940586463542","handle":"calista-refillable-travel-bottle-set","isCollective":null,"title":"Calista Refillable Travel Bottle Set","type":"Accessories","untranslatedTitle":"Calista Refillable Travel Bottle Set","url":"\/products\/calista-refillable-travel-bottle-set","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51219341115702","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/TravelBottleSetPDPs-01.jpg?v=1782760666"},"price":{"amount":25.0,"currencyCode":"USD"},"sku":"TRAVEL-BOTTLES","title":"Default Title","untranslatedTitle":"Default Title"}]}
2922,{"id":"15401665888566","handle":"drop-dead-gorgeous-hair","isCollective":null,"title":"Drop Dead Gorgeous Hair","type":"Kits + Sets","untranslatedTitle":"Drop Dead Gorgeous Hair","url":"\/products\/drop-dead-gorgeous-hair","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"67610239205686","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Halloween_2026_Bundle_PDPs-02.jpg?v=1790785784"},"price":{"amount":85.0,"currencyCode":"USD"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9942042837302","handle":"microfiber-hair-towel","isCollective":null,"title":"Duet Satin-Microfiber Twist Towel","type":"Accessories","untranslatedTitle":"Duet Satin-Microfiber Twist Towel","url":"\/products\/microfiber-hair-towel","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51220885995830","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/6.1.2026DuetHairTowel-01.jpg?v=1782759819"},"price":{"amount":26.0,"currencyCode":"USD"},"sku":"TOWEL-WRAP","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10821877694774","handle":"embellish-finishing-spray-7oz","isCollective":null,"title":"EMBELLISH Finishing Spray","type":"Styling Products","untranslatedTitle":"EMBELLISH Finishing Spray","url":"\/products\/embellish-finishing-spray-7oz","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"54455626301750","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/EMBELLISHFinishingSpray_08-2026.jpg?v=1787717669"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"EVS113-7oz","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"8272124412214","handle":"embellish-flex-spray","isCollective":null,"title":"EMBELLISH Flex Spray","type":"Styling Products","untranslatedTitle":"EMBELLISH Flex Spray","url":"\/products\/embellish-flex-spray","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"45037774209334","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.22.2026FlexSpray-06_177b5990-933d-4b35-bba9-6dee72d6e150.jpg?v=1787160155"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"EMBFLX750","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685914934","handle":"embellish-root-touch-up-black","isCollective":null,"title":"EMBELLISH Root Touch-Up Black","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Black","url":"\/products\/embellish-root-touch-up-black","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121008013622","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-19.jpg?v=1777474189"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-BLACK","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685554486","handle":"embellish-root-touch-up-blonde","isCollective":null,"title":"EMBELLISH Root Touch-Up Blonde","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Blonde","url":"\/products\/embellish-root-touch-up-blonde","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007653174","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-08.jpg?v=1777474639"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-BLONDE","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685685558","handle":"embellish-root-touch-up-dark-brown","isCollective":null,"title":"EMBELLISH Root Touch-Up Dark Brown","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Dark Brown","url":"\/products\/embellish-root-touch-up-dark-brown","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007784246","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-07.jpg?v=1777474394"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-DKBROWN","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685587254","handle":"embellish-root-touch-up-light-blonde","isCollective":null,"title":"EMBELLISH Root Touch-Up Light Blonde","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Light Blonde","url":"\/products\/embellish-root-touch-up-light-blonde","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007685942","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-06.jpg?v=1777474577"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-LBLONDE","title":"Default Title","untranslatedTitle":"Default Title"}]}
2922,{"id":"10215685718326","handle":"embellish-root-touch-up-light-brown","isCollective":null,"title":"EMBELLISH Root Touch-Up Light Brown","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Light Brown","url":"\/products\/embellish-root-touch-up-light-brown","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007817014","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-05.jpg?v=1777474357"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-LBROWN","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685620022","handle":"embellish-root-touch-up-medium-blonde","isCollective":null,"title":"EMBELLISH Root Touch-Up Medium Blonde","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Medium Blonde","url":"\/products\/embellish-root-touch-up-medium-blonde","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007751478","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-04.jpg?v=1777474477"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-ASHBLND","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685751094","handle":"embellish-root-touch-up-medium-brown","isCollective":null,"title":"EMBELLISH Root Touch-Up Medium Brown","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Medium Brown","url":"\/products\/embellish-root-touch-up-medium-brown","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007849782","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-03.jpg?v=1777474308"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-MDBROWN","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685521718","handle":"embellish-root-touch-up-salt-and-pepper","isCollective":null,"title":"EMBELLISH Root Touch-Up Salt and Pepper","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up Salt and Pepper","url":"\/products\/embellish-root-touch-up-salt-and-pepper","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007620406","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-02.jpg?v=1777474697"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-SLTPEP","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10215685816630","handle":"embellish-root-touch-up-white-platinum","isCollective":null,"title":"EMBELLISH Root Touch-Up White\/Platinum","type":"Styling Products","untranslatedTitle":"EMBELLISH Root Touch-Up White\/Platinum","url":"\/products\/embellish-root-touch-up-white-platinum","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52121007915318","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.27.2026EmbellishRootTouchUp-01.jpg?v=1777474261"},"price":{"amount":31.0,"currencyCode":"USD"},"sku":"ROOT-TUP-WHITE","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"8952529518902","handle":"embellish-styling-cream","isCollective":null,"title":"EMBELLISH Styling Cream","type":"Styling Products","untranslatedTitle":"EMBELLISH Styling Cream","url":"\/products\/embellish-styling-cream","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"47568607248694","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/EMBELLISHStylingCream_4.22.2026-01_e14723d0-7041-4fcd-a2ee-8e6617f25ae0.jpg?v=1787160400"},"price":{"amount":27.0,"currencyCode":"USD"},"sku":"EMBSTYLCR4.0","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10563106832694","handle":"embellish-texturizing-definer-copy","isCollective":null,"title":"EMBELLISH Texturizing Definer","type":"Styling Products","untranslatedTitle":"EMBELLISH Texturizing Definer","url":"\/products\/embellish-texturizing-definer-copy","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53594437189942","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/EMBELLISHTexturingDefiner_4.13.2026-01_a896efb7-ad68-4023-aa5b-d4d94308a75f.jpg?v=1787159739"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"EMB100","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"4498254659644","handle":"embellish-foam","isCollective":null,"title":"EMBELLISH Texturizing Foam","type":"Styling Products","untranslatedTitle":"EMBELLISH Texturizing Foam","url":"\/products\/embellish-foam","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"31961628835900","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/EMBELLISHTexturingFoam_4.13.2026-01_22c5e1f5-0a7f-438f-a121-8ba2b5496c0d.jpg?v=1787159972"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"EMBFOAM7","title":"Default Title","untranslatedTitle":"Default Title"}]}
2922,{"id":"10179463053622","handle":"fauxblo-thermal-blowout-brush-mid-length-hair","isCollective":null,"title":"FAUXblo Thermal Blowout Brush 1.5\"","type":"Styling Tools","untranslatedTitle":"FAUXblo Thermal Blowout Brush 1.5\"","url":"\/products\/fauxblo-thermal-blowout-brush-mid-length-hair","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51817318351158","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.13.2026_FAUXblo-01.jpg?v=1777407701"},"price":{"amount":109.0,"currencyCode":"USD"},"sku":"A661713 849 B11","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10179463643446","handle":"fauxblo-thermal-blowout-brush-long-hair","isCollective":null,"title":"FAUXblo Thermal Blowout Brush 1.77\"","type":"Styling Tools","untranslatedTitle":"FAUXblo Thermal Blowout Brush 1.77\"","url":"\/products\/fauxblo-thermal-blowout-brush-long-hair","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"54393777226038","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.13.2026FAUXblo_VAULT.jpg?v=1782760324"},"price":{"amount":109.0,"currencyCode":"USD"},"sku":"A504329 848 B12","title":"Pink Lemonade","untranslatedTitle":"Pink Lemonade"}]},{"id":"9592776589622","handle":"flipclip-hair-clip","isCollective":null,"title":"FlipClip","type":"Accessories","untranslatedTitle":"FlipClip","url":"\/products\/flipclip-hair-clip","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"50412568346934","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.12.2026FlipClips-05.jpg?v=1779133795"},"price":{"amount":21.0,"currencyCode":"USD"},"sku":"FLIPCLIP-W-BRN","title":"Single \/ Wood","untranslatedTitle":"Single \/ Wood"}]}
2922,{"id":"15402467721526","handle":"frightfully-fabulous-hair","isCollective":null,"title":"Frightfully Fabulous Hair","type":"Kits + Sets","untranslatedTitle":"Frightfully Fabulous Hair","url":"\/products\/frightfully-fabulous-hair","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"67614442160438","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Halloween_2026_Bundle_PDPs-03.jpg?v=1790785783"},"price":{"amount":129.0,"currencyCode":"USD"},"sku":null,"title":"0.75\"","untranslatedTitle":"0.75\""}]},{"id":"8113641423158","handle":"gogo-mini-hair-dryer","isCollective":null,"title":"GoGo Mini Hair Dryer","type":"Styling Tools","untranslatedTitle":"GoGo Mini Hair Dryer","url":"\/products\/gogo-mini-hair-dryer","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"47552034210102","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.14.2026GogoMiniHairdryer-01.jpg?v=1779133866"},"price":{"amount":49.0,"currencyCode":"USD"},"sku":"GOGO DRYER1","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10360453038390","handle":"smoothie-original-mini-duo","isCollective":null,"title":"Home \u0026 Away Smooth Duo","type":"Accessories","untranslatedTitle":"Home \u0026 Away Smooth Duo","url":"\/products\/smoothie-original-mini-duo","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53099948278070","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.14.2026smoothieadditions-06.jpg?v=1783004088"},"price":{"amount":30.0,"currencyCode":"USD"},"sku":null,"title":"Violet","untranslatedTitle":"Violet"}]},{"id":"10188305695030","handle":"ion-hot-rollers-replacement-pack-long","isCollective":null,"title":"Ion Hot Rollers Replacement Pack Long","type":"Accessories","untranslatedTitle":"Ion Hot Rollers Replacement Pack Long","url":"\/products\/ion-hot-rollers-replacement-pack-long","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51849359556918","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Ion_Hot_Rollers_Replacement_Pack_LONG.jpg?v=1762449413"},"price":{"amount":25.0,"currencyCode":"USD"},"sku":"LRL113","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10188305662262","handle":"ion-hot-rollers-replacement-pack-medium","isCollective":null,"title":"Ion Hot Rollers Replacement Pack Medium","type":"Accessories","untranslatedTitle":"Ion Hot Rollers Replacement Pack Medium","url":"\/products\/ion-hot-rollers-replacement-pack-medium","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51849359524150","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Ion_Hot_Rollers_Replacement_Pack_MEDIUM_66e1a7b3-637a-4c6c-9a3f-6a86a3458a78.jpg?v=1762449413"},"price":{"amount":25.0,"currencyCode":"USD"},"sku":"MRL111","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10188305727798","handle":"ion-hot-rollers-replacement-pack-short","isCollective":null,"title":"Ion Hot Rollers Replacement Pack Short","type":"Accessories","untranslatedTitle":"Ion Hot Rollers Replacement Pack Short","url":"\/products\/ion-hot-rollers-replacement-pack-short","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"51849359589686","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/Ion_Hot_Rollers_Replacement_Pack_SHORT.jpg?v=1762439479"},"price":{"amount":25.0,"currencyCode":"USD"}
2922,"sku":"SRL112","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10188303860022","handle":"ion-hot-rollers-short-set","isCollective":null,"title":"Ion Hot Rollers Short Set - Gen 1 - Final Sale","type":"Styling Tools","untranslatedTitle":"Ion Hot Rollers Short Set - Gen 1 - Final Sale","url":"\/products\/ion-hot-rollers-short-set","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"52380554232118","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/ION_HOT_ROLLER_SHORT_PINK_VERBENA_bfd1a267-ef93-4ff7-bd95-ea44e5c60383.png?v=1775852161"},"price":{"amount":109.0,"currencyCode":"USD"},"sku":"HOTROLLERS-S PV","title":"Pink Verbena","untranslatedTitle":"Pink Verbena"}]},{"id":"10661051957558","handle":"essential-minis","isCollective":null,"title":"Jet-Set Styling On The GoGo","type":"Kits + Sets","untranslatedTitle":"Jet-Set Styling On The GoGo","url":"\/products\/essential-minis","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53892332847414","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/MiniTravelKitsMerchandising_4.20.2026-04.jpg?v=1776704426"},"price":{"amount":55.0,"currencyCode":"USD"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10420701397302","handle":"jousse-cleanse-8oz","isCollective":null,"title":"JOUSSE Cleanse","type":"Cleanse + Condition","untranslatedTitle":"JOUSSE Cleanse","url":"\/products\/jousse-cleanse-8oz","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53301618311478","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.04.20268ozJousseCleanse_Condition-02_24f3891e-5a02-4c6e-a759-3b58762e7ef6.jpg?v=1787161231"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"8 JOUSSE S HM","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"3927326818373","handle":"jousse-duo-honeymint-8oz","isCollective":null,"title":"JOUSSE Cleanse \u0026 Condition Duo","type":"Cleanse + Condition","untranslatedTitle":"JOUSSE Cleanse \u0026 Condition Duo","url":"\/products\/jousse-duo-honeymint-8oz","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"39842465611836","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.04.20268ozJousseCleanse_Condition-01_ceaab708-265e-4330-93e2-7916a890f81e.jpg?v=1787161326"},"price":{"amount":53.0,"currencyCode":"USD"},"sku":"JOUSSE 8 COMBO HM","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10420904263990","handle":"jousse-cleanse-condition-duo-1","isCollective":null,"title":"Jousse Cleanse + Condition Duo 32 oz","type":"Cleanse + Condition","untranslatedTitle":"Jousse Cleanse + Condition Duo 32 oz","url":"\/products\/jousse-cleanse-condition-duo-1","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53301903655222","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.22.202632ozJousseCleanse_Condition-01_1.jpg?v=1776885763"},"price":{"amount":126.0,"currencyCode":"USD"},"sku":"A630464 848 000","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"4706727100476","handle":"jousse-condition-32-oz","isCollective":null,"title":"JOUSSE Condition","type":"Cleanse + Condition","untranslatedTitle":"JOUSSE Condition","url":"\/products\/jousse-condition-32-oz","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"39844872388668","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/4.22.202632ozJousseCleanse_Condition-03_0b33b6b9-3b90-419d-84c9-464330fec263.jpg?v=1782760709"},"price":{"amount":70.0,"currencyCode":"USD"},"sku":"32 JOUSSE C HM","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10420571078966","handle":"jousse-condition-8oz","isCollective":null,"title":"JOUSSE Condition","type":"Cleanse + Condition","untranslatedTitle":"JOUSSE Condition","url":"\/products\/jousse-condition-8oz","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"53301458731318","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.04.20268ozJousseCleanse_Condition-03_0e98c506-84fd-420c-801e-d6135e9414ae.jpg?v=1787161263"},"price":{"amount":29.0,"currencyCode":"USD"},"sku":"8 JOUSSE C HM","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"2010003734597","handle":"jousse-mend-masque","isCollective":null,"title":"JOUSSE Mend Mask","type":"Cleanse + Condition","untranslatedTitle":"JOUSSE Mend Mask","url":"\/products\/jousse-mend-masque","vendor":"Calista Tools","remoteShopId":null,"variants":[{"id":"
292219066768851013","image":{"src":"\/\/calistatools.com\/cdn\/shop\/files\/MendMask_4.16.2026-01_72856bad-a43b-477b-8871-80866ead98ee.jpg?v=1787161094"},"price":{"amount":36.0,"currencyCode":"USD"},"sku":"MEND8","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://calistatools.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"186329760054","themeStoreId":"2048","themePublished":"true","eventMetadataId":"2bceb7c7-7006-4c69-ac05-d0f95c6c44f9","pageType":"product","resourceId":"10847775850806","shopId":"6764757061","storefrontBaseUrl":"https:\/\/calistatools.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\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":39.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"GLOSS Caramel Color Enhancement\",\"vendor\":\"Calista Tools\",\"id\":\"10847775850806\",\"untranslatedTitle\":\"GLOSS Caramel Color Enhancement\",\"url\":\"\/products\/gloss-caramel-color-enhancement\",\"type\":\"Cleanse + Condition\"},\"id\":\"54557956276534\",\"image\":{\"src\":\"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597\"},\"sku\":\"GLOSS-CARA\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
2922<script> 2923 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2924 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2925 window.ShopifyAnalytics.meta.currency = 'USD'; 2926 var meta = {"product":{"id":10847775850806,"gid":"gid:\/\/shopify\/Product\/10847775850806","vendor":"Calista Tools","type":"Cleanse + Condition","handle":"gloss-caramel-color-enhancement","variants":[{"id":54557956276534,"price":3900,"name":"GLOSS Caramel Color Enhancement","public_title":null,"sku":"GLOSS-CARA"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":10847775850806,"requestId":"5623fe74-2a3f-4de9-9cde-6ff2b656e4e1-1791062272"}}; 2927 for (var attr in meta) { 2928 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2929 } 2930</script>
vendor: 1 bytes, line 2930
2930
2931<script class="analytics"> 2932 (function () { 2933 var customDocumentWrite = function(content) { 2934 var jquery = null; 2935 2936 if (window.jQuery) { 2937 jquery = window.jQuery; 2938 } else if (window.Checkout && window.Checkout.$) { 2939 jquery = window.Checkout.$; 2940 } 2941 2942 if (jquery) { 2943 jquery('body').append(content); 2944 } 2945 }; 2946 2947 var hasLoggedConversion = function(token) { 2948 if (token) { 2949 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2950 } 2951 return false; 2952 } 2953 2954 var setCookieIfConversion = function(token) { 2955 if (token) { 2956 var twoMonthsFromNow = new Date(Date.now()); 2957 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2958 2959 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2960 } 2961 } 2962 2963 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2964 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2965 if (trekkie.integrations) { 2966 return; 2967 } 2968 trekkie.methods = [ 2969 'identify', 2970 'page', 2971 'ready', 2972 'track', 2973 'trackForm', 2974 'trackLink' 2975 ]; 2976 trekkie.factory = function(method) { 2977 return function() { 2978 var args = Array.prototype.slice.call(arguments); 2979 args.unshift(method); 2980 trekkie.push(args); 2981 if (method == 'track' || method == 'page') { 2982 var pageUrl; 2983 try { 2984 pageUrl = window.location.href; 2985 } catch (e) {} 2986 var pageReferrer; 2987 try { 2988 pageReferrer = document.referrer; 2989 } catch (e) {} 2990 try { 2991 if (window.__TREKKIE_SHIM_QUEUE == null) { 2992 window.__TREKKIE_SHIM_QUEUE = []; 2993 } 2994 window.__TREKKIE_SHIM_QUEUE.push({ 2995 from: 'trekkie-stub', 2996 method: method, 2997 args: args.slice(1), 2998 pageContext: { 2999 url: pageUrl, 3000 referrer: pageReferrer 3001 } 3002 }); 3003 } catch (e) { 3004 // no-op 3005 } 3006 } 3007 return trekkie; 3008 }; 3009 }; 3010 for (var i = 0; i < trekkie.methods.length; i++) { 3011 var key = trekkie.methods[i]; 3012 trekkie[key] = trekkie.factory(key); 3013 } 3014 trekkie.load = function(config) { 3015 trekkie.config = config || {}; 3016 trekkie.config.initialDocumentCookie = document.cookie; 3017 var first = document.getElementsByTagName('script')[0]; 3018var script = document.createElement('script'); 3019script.type = 'text/javascript'; 3020script.onerror = function(e) { 3021 var scriptFallback = document.createElement('script'); 3022 scriptFallback.type = 'text/javascript'; 3023 scriptFallback.onerror = function(error) { 3024 var Monorail = { 3025 produce: function produce(monorailDomain, schemaId, payload) { 3026 var currentMs = new Date().getTime(); 3027 var event = { 3028 schema_id: schemaId, 3029 payload: payload, 3030 metadata: { 3031 event_created_at_ms: currentMs, 3032 event_sent_at_ms: currentMs 3033 } 3034 }; 3035 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 3036 }, 3037 sendRequest: function sendRequest(endpointUrl, payload) { 3038 // Try the sendBeacon API 3039 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 3040 var blobData = new window.Blob([payload], { 3041 type: 'text/plain' 3042 }); 3043 3044 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 3045 return true; 3046 } // sendBeacon was not successful 3047 3048 } // XHR beacon 3049 3050 var xhr = new XMLHttpRequest(); 3051 3052 try { 3053 xhr.open('POST', endpointUrl); 3054 xhr.setRequestHeader('Content-Type', 'text/plain'); 3055 xhr.send(payload); 3056 } catch (e) { 3057 console.log(e); 3058 } 3059 3060 return false; 3061 }, 3062 isIos12: function isIos12() { 3063 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 3064 } 3065 }; 3066 Monorail.produce('monorail-edge.shopifysvc.com', 3067 'trekkie_storefront_load_errors/1.1', 3068 {shop_id: 6764757061, 3069 theme_id: 186329760054, 3070 app_name: "storefront", 3071 context_url: window.location.href, 3072 source_url: "//calistatools.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 3073 3074 }; 3075 scriptFallback.async = true; 3076 scriptFallback.src = '//calistatools.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 3077 first.parentNode.insertBefore(scriptFallback, first); 3078}; 3079script.async = true; 3080script.src = '//calistatools.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 3081first.parentNode.insertBefore(script, first); 3082 3083 }; 3084 trekkie.load( 3085 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":6764757061,"isMerchantRequest":null,"themeId":186329760054,"themeCityHash":"17766827571745324288","contentLanguage":"en","currency":"USD","eventMetadataId":"2bceb7c7-7006-4c69-ac05-d0f95c6c44f9"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 3086 ); 3087 3088 var loaded = false;
3089 trekkie.ready(function() { 3090 if (loaded) return; 3091 loaded = true; 3092 3093 window.ShopifyAnalytics.lib = window.trekkie; 3094 3095 var originalDocumentWrite = document.write; 3096 document.write = customDocumentWrite; 3097 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 3098 document.write = originalDocumentWrite; 3099 3100 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 3101 var token = match? match[1]: undefined; 3102 if (!hasLoggedConversion(token)) { 3103 setCookieIfConversion(token); 3104 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":54557956276534,"productId":10847775850806,"productGid":"gid:\/\/shopify\/Product\/10847775850806","name":"GLOSS Caramel Color Enhancement","price":"39.00","sku":"GLOSS-CARA","brand":"Calista Tools","variant":null,"category":"Cleanse + Condition","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 3105 } 3106 }); 3107 3108 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":10847775850806,"requestId":"5623fe74-2a3f-4de9-9cde-6ff2b656e4e1-1791062272","shopifyEmitted":true}); 3109 3110 var eventsListenerScript = document.createElement('script'); 3111 eventsListenerScript.async = true; 3112 eventsListenerScript.src = "//calistatools.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 3113 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 3114})();</script>
vendor: 1 bytes, line 3114
3114
3115<script 3116 defer 3117 src="https://calistatools.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 3118 data-application="storefront-renderer" 3119 data-shop-id="6764757061" 3120 data-render-region="gcp-us-central1" 3121 data-page-type="product" 3122 data-theme-instance-id="186329760054" 3123 data-theme-name="Eurus" 3124 data-theme-version="10.0.0" 3125 data-monorail-region="shop_domain" 3126 data-resource-timing-sampling-rate="10" 3127 data-shs="true" 3128 data-shs-beacon="true" 3129 data-shs-export-with-fetch="true" 3130 data-shs-logs-sample-rate="1" 3131 data-shs-beacon-endpoint="https://calistatools.com/api/collect" 3132></script>
vendor: 1 bytes, line 3132
3132
3133<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
3133<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"6764757061","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
3133 3134<meta name="shopify-y" content="11438a8d-aa40-4f48-9295-5bf2861f6f1e" data-expiration="1822619872000"><meta name="shopify-s" content="d80dd2af-8a4e-4869-b606-37e85d78c206" data-expiration="1791064072000"><meta name="new-cookie-storage-activated" content="t"> 3135</head> 3136 <body 3137 class="gradient scrollbar-body overflow-x-hidden body-text-base-size" 3138 x-data 3139 :class="($store.xPopup.open || $store.xPopup.openVideoShopping) && 'overflow-hidden padding-scrollbar'" 3140 3141 x-intersect.once="$store.xPopup.setWidthScrollbar();" 3142 ><div class="main-container flex flex-col min-h-screen relative"> 3143 <a class="skip-to-content absolute -z-10 button button-solid hidden lg:block pt-2.5 pb-2.5 pl-6 pr-6 lg:pt-3 lg:pb-3 mt-0.5 ml-0.5 leading-normal justify-center cursor-pointer focus-visible:z-60" href="#MainContent"> 3144 Skip to content 3145 </a> 3146 3147 3148 <!-- BEGIN sections: header-group --> 3149<div id="shopify-section-sections--26875466350902__announcement-bar" class="shopify-section shopify-section-group-header-group section-announcement"><style data-shopify> 3150 @media (min-width: 1024px) { 3151 .announcement-bar-toolbar #localization_form button { 3152 padding-bottom: 0.375rem; 3153 padding-top: 0.375rem; 3154 } 3155 .announcement-bar-toolbar #localization_form ul { 3156 z-index: 100; 3157 } 3158 .announcement-bar-right .menu-position-left, 3159 .announcement-bar-left .menu-position-left { 3160 padding-left: 1.25rem; 3161 } 3162 .announcement-bar-right .menu-position-right, 3163 .announcement-bar-left .menu-position-right { 3164 padding-right: 1.25rem; 3165 } 3166 } 3167 .announcement-bar-toolbar #localization_form > .localization-form-child { 3168 width: -moz-max-content; 3169 width: max-content; 3170 } 3171 .announcement-bar-toolbar .social-list a { 3172 height: 1.5rem; 3173 padding-top: 0.125rem; 3174 padding-right: 0.375rem; 3175 padding-left: 0.375rem; 3176 padding-bottom: 0.125rem; 3177 width: 30px; 3178 } 3179 .announcement-bar-toolbar.toolbar-align-left #selector-social { 3180 flex-direction: row-reverse; 3181 } 3182 .announcement-bar-toolbar .social-list { 3183 max-width: 200px; 3184 } 3185 @media (max-width: 767px) { 3186 .announcement-bar-toolbar .social-list { 3187 max-width: unset; 3188 } 3189 } 3190</style> 3191<style data-shopify>#shopify-section-sections--26875466350902__announcement-bar { 3192 contain: style; 3193 } 3194 #x-announcement-bar .arrow { 3195 background: transparent; 3196 border: 0; 3197 box-shadow: none; 3198 color: #ffffff; 3199 } 3200 .dark #x-announcement-bar .arrow { 3201 color: rgba(0,0,0,0); 3202 } 3203 .announcement-bar_container-sections--26875466350902__announcement-bar { 3204 3205 background: #33322e; 3206 3207 3208 } 3209 .dark .announcement-bar_container-sections--26875466350902__announcement-bar { 3210 3211 background: rgba(var(--colors-background-secondary)); 3212 3213 3214 --colors-text-link: 145, 180, 116; 3215 3216 } 3217 .announcement-bar_text { 3218 3219 color: #ffffff; 3220 --colors-line-and-border: 255,255,255; 3221 3222 } 3223 .dark .announcement-bar_text { 3224 3225 color: rgb(var(--colors-text)); 3226 --colors-line-and-border: 225, 227, 225; 3227 3228 } 3229 3230</style><div 3231 id="x-announcement" 3232 class="announcement-bar_container-sections--26875466350902__announcement-bar ltr mr-auto ml-auto flex items-center lg:pl-5 lg:pr-5" 3233 3234 > 3235 3236 <div id="x-slide-announcement-bar" class="disable-effect-hover grow flex-1 x-splide splide cursor-grab lg:pl-12 lg:pr-12 overflow-hidden visible relative"x-intersect.once='$store.xSplide.load($el, { 3237 "type": "loop", 3238 "speed": 1000, 3239 "pagination": false, 3240 "interval": 5000, 3241"autoplay": true, 3242 "classes": { 3243 "arrows" : "block " 3244 } 3245 })'> 3246 <div class="splide__track x-pgw page-width mr-auto ml-auto pl-0 pr-0"> 3247 <div class="splide__list w-full flex "><style data-shopify>.text--announcement_PYDcbn .width-countdown { 3248 width: 6.3rem; 3249 }.text--announcement_PYDcbn, 3250 .btn--announcement_PYDcbn { 3251 font-size: 0.63rem; 3252 } 3253 @media (min-width: 768px) { 3254 .text--announcement_PYDcbn, 3255 .btn--announcement_PYDcbn { 3256 font-size: 0.7rem; 3257 } 3258 }.icon--announcement_PYDcbn { 3259 width: 0.7rem; 3260 height: 0.7rem; 3261 } 3262 .button.text_button_announ--announcement_PYDcbn { 3263 3264 color: rgb(var(--colors-button-text)); 3265 3266 3267 background: rgba(var(--colors-button)); 3268 3269 } 3270 .dark .button.text_button_announ--announcement_PYDcbn { 3271 3272 color: rgb(var(--colors-button-text)); 3273 3274 3275 background: rgba(var(--colors-button)); 3276 3277 } 3278 @media(min-width: 768px){ 3279 .button.text_button_announ--announcement_PYDcbn { 3280 3281 color: rgba(var(--colors-button-text-hover)); 3282 3283 3284 background: rgba(var(--colors-button)); 3285 3286 } 3287 .dark .button.text_button_announ--announcement_PYDcbn { 3288 3289 color: rgba(var(--colors-button-text-hover)); 3290 3291 3292 background: rgba(var(--colors-button)); 3293 3294 } 3295 } 3296 .text-link-with-arrow--announcement_PYDcbn { 3297 3298 color: rgb(var(--colors-text-link)); 3299 3300 } 3301 .dark .text-link-with-arrow--announcement_PYDcbn { 3302 3303 color: rgb(var(--colors-text-link)); 3304 3305 } 3306 .hyperlink-circle-color--announcement_PYDcbn { 3307 3308 background-color: rgba(var(--colors-text-link)); 3309 3310 } 3311 .dark .hyperlink-circle-color--announcement_PYDcbn { 3312 3313 background-color: rgba(var(--colors-button-text-hover)); 3314 3315 }</style><div x-slide-index="0" class="h-auto w-full flex items-center md:flex justify-center splide__slide x-splide-slide gradient text-center pt-3 pb-3 pl-5 pr-5 lg:pr-5 lg:pl-5" ><div 3316 3317 class="flex items-center flex-wrap justify-center gap-x-3 gap-y-2 ltr"> 3318 3319 <div class="text--announcement_PYDcbn announcement-bar_text flex rtl:order-1"> 3320<p> 3321 <a href="/collections/hair-styling-kits-sets" class="button-link relative hover-text-link x-announcement-bar-block-data leading-[initial]" 3322 >EXTRA 10% OFF VALUE SETS</a> 3323 </p></div></div></div><style data-shopify>.text--announcement_KJTazA .width-countdown { 3324 width: 7.0875rem; 3325 }.text--announcement_KJTazA, 3326 .btn--announcement_KJTazA { 3327 font-size: 0.70875rem; 3328 } 3329 @media (min-width: 768px) { 3330 .text--announcement_KJTazA, 3331 .btn--announcement_KJTazA { 3332 font-size: 0.7875rem; 3333 } 3334 }.icon--announcement_KJTazA { 3335 width: 0.7875rem; 3336 height: 0.7875rem; 3337 } 3338 .button.text_button_announ--announcement_KJTazA { 3339 3340 color: rgb(var(--colors-button-text)); 3341 3342 3343 background: rgba(var(--colors-button)); 3344 3345 } 3346 .dark .button.text_button_announ--announcement_KJTazA { 3347 3348 color: rgb(var(--colors-button-text)); 3349 3350 3351 background: rgba(var(--colors-button)); 3352 3353 } 3354 @media(min-width: 768px){ 3355 .button.text_button_announ--announcement_KJTazA { 3356 3357 color: rgba(var(--colors-button-text-hover)); 3358 3359 3360 background: rgba(var(--colors-button)); 3361 3362 } 3363 .dark .button.text_button_announ--announcement_KJTazA { 3364 3365 color: rgba(var(--colors-button-text-hover)); 3366 3367 3368 background: rgba(var(--colors-button)); 3369 3370 } 3371 } 3372 .text-link-with-arrow--announcement_KJTazA { 3373 3374 color: rgb(var(--colors-text-link)); 3375 3376 } 3377 .dark .text-link-with-arrow--announcement_KJTazA { 3378 3379 color: rgb(var(--colors-text-link)); 3380 3381 } 3382 .hyperlink-circle-color--announcement_KJTazA { 3383 3384 background-color: rgba(var(--colors-text-link)); 3385 3386 } 3387 .dark .hyperlink-circle-color--announcement_KJTazA { 3388 3389 background-color: rgba(var(--colors-button-text-hover)); 3390 3391 }</style><div x-slide-index="1" class="h-auto w-full flex items-center md:flex justify-center splide__slide x-splide-slide gradient text-center pt-3 pb-3 pl-5 pr-5 lg:pr-5 lg:pl-5" ><div 3392 3393 class="flex items-center flex-wrap justify-center gap-x-3 gap-y-2 ltr"> 3394 3395 <div class="text--announcement_KJTazA announcement-bar_text flex rtl:order-1"> 3396<p> 3397 <a href="/products/gloss-caramel-color-enhancement" class="button-link relative hover-text-link x-announcement-bar-block-data leading-[initial]" 3398 >NEW: GLOSS COLOR ENHANCEMENT IN CARAMEL</a> 3399 </p></div></div></div><style data-shopify>.text--announcement_TiPcRy .width-countdown { 3400 width: 6.3rem; 3401 }.text--announcement_TiPcRy, 3402 .btn--announcement_TiPcRy { 3403 font-size: 0.63rem; 3404 } 3405 @media (min-width: 768px) { 3406 .text--announcement_TiPcRy, 3407 .btn--announcement_TiPcRy { 3408 font-size: 0.7rem; 3409 } 3410 }.icon--announcement_TiPcRy { 3411 width: 0.7rem; 3412 height: 0.7rem; 3413 } 3414 .button.text_button_announ--announcement_TiPcRy { 3415 3416 color: rgb(var(--colors-button-text)); 3417 3418 3419 background: rgba(var(--colors-button)); 3420 3421 } 3422 .dark .button.text_button_announ--announcement_TiPcRy { 3423 3424 color: rgb(var(--colors-button-text)); 3425 3426 3427 background: rgba(var(--colors-button)); 3428 3429 } 3430 @media(min-width: 768px){ 3431 .button.text_button_announ--announcement_TiPcRy { 3432 3433 color: rgba(var(--colors-button-text-hover)); 3434 3435 3436 background: rgba(var(--colors-button)); 3437 3438 } 3439 .dark .button.text_button_announ--announcement_TiPcRy { 3440 3441 color: rgba(var(--colors-button-text-hover)); 3442 3443 3444 background: rgba(var(--colors-button)); 3445 3446 } 3447 } 3448 .text-link-with-arrow--announcement_TiPcRy { 3449 3450 color: rgb(var(--colors-text-link)); 3451 3452 } 3453 .dark .text-link-with-arrow--announcement_TiPcRy { 3454 3455 color: rgb(var(--colors-text-link)); 3456 3457 } 3458 .hyperlink-circle-color--announcement_TiPcRy { 3459 3460 background-color: rgba(var(--colors-text-link)); 3461 3462 } 3463 .dark .hyperlink-circle-color--announcement_TiPcRy { 3464 3465 background-color: rgba(var(--colors-button-text-hover)); 3466 3467 }</style><div x-slide-index="2" class="h-auto w-full flex items-center md:flex justify-center splide__slide x-splide-slide gradient text-center pt-3 pb-3 pl-5 pr-5 lg:pr-5 lg:pl-5" ><div 3468 3469 class="flex items-center flex-wrap justify-center gap-x-3 gap-y-2 ltr"> 3470 3471 <div class="text--announcement_TiPcRy announcement-bar_text flex rtl:order-1"> 3472<p> 3473 <a href="/collections/hair-products" class="button-link relative hover-text-link x-announcement-bar-block-data leading-[initial]" 3474 >FREE SHIPPING ON ORDERS $75+</a> 3475 </p></div></div></div></div> 3476 </div><div class="hidden lg:block splide__arrows"> 3477 <button class="splide__arrow splide__arrow--prev announcement-bar_text absolute none_border z-10 top-1/2 opacity-70 -translate-y-1/2 rtl:md:right-3 rtl:lg:right-4 rtl:-rotate-90 rtl:left-auto md:left-3 lg:left-4 rotate-90 disabled:cursor-not-allowed bg-none bg-inherit pt-2.5 pr-2.5 pb-2.5 pl-2.5" aria-label="previous slide">
3478 <span class="block w-4 h-4"> 3479 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3480 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 3481 </svg> 3482</span> 3483 </button> 3484 <button class="splide__arrow splide__arrow--next announcement-bar_text absolute none_border z-10 top-1/2 opacity-70 -translate-y-1/2 rtl:md:left-3 rtl:lg:left-4 rtl:rotate-90 rtl:right-auto md:right-3 lg:right-4 -rotate-90 disabled:cursor-not-allowed bg-none bg-inherit pt-2.5 pr-2.5 pb-2.5 pl-2.5" aria-label="next slide"> 3485 <span class="block w-4 h-4"> 3486 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3487 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 3488 </svg> 3489</span> 3490 </button> 3491 </div></div> 3492 3493 3494</div> 3495</div><div id="shopify-section-sections--26875466350902__header" class="shopify-section shopify-section-group-header-group section-header z-50"><style data-shopify> 3496 #x-header-container { 3497 contain: style layout; 3498 } 3499 3500 3501 .w-logo-header { 3502 width: 60px; 3503 min-width: 60px; 3504 } 3505 @media(min-width: 768px) { 3506 .w-logo-header { 3507 width: 90px; 3508 min-width: 90px; 3509 } 3510 } 3511 3512 3513 .section-header.is-sticky { 3514 position: sticky; 3515 z-index: 50; 3516 top: var(--announcement-height); 3517 } 3518 .is-sticky #x-header-container:not(.on-scroll-up-animation) { 3519 box-shadow: 0 5px 15px rgba(var(--colors-text), .1); 3520 } 3521 #x-header-container { 3522 transform: translateY(0); 3523 transition: transform 0.4s ease-in-out 0.1s; 3524 will-change: transform; 3525 } 3526 #x-header-container.on-scroll-up-animation { 3527 transform: translateY(var(--header-sticky-transform)); 3528 } 3529 .section-header:has(#x-header-container.on-scroll-up-animation) { 3530 pointer-events: none 3531 } 3532 3533 @media (min-width: 768px) { 3534 .scroll-sticky-popup-cart { 3535 transform: translateY(0); 3536 transition: transform 0.4s ease-in-out 0.1s; 3537 } 3538 .section-header:has(#x-header-container.on-scroll-up-animation) .scroll-sticky-popup-cart { 3539 transform: translateY(var(--header-sticky-transform)); 3540 } 3541 } 3542 3543 3544.logo-name { 3545 font-size: 1.125rem; 3546 } 3547 header { 3548 grid-template-areas: "drawer heading icons"; 3549 3550 } 3551 @media (min-width: 1024px) { 3552 header { 3553 grid-template-areas: "heading navigation icons" ". . ."; 3554 grid-template-columns: 1fr 4fr 1fr; 3555 } 3556 .logo-name { 3557 font-size: 2.25rem; 3558 } 3559 .pt-header { 3560 padding-top: 24px; 3561 } 3562 .pb-header { 3563 padding-bottom: 24px; 3564 } 3565 } 3566 .h-hamburger { 3567 height: var(--hamburger-menu-height); 3568 } 3569 @media (max-width: 1023px) { 3570 .section-padding-sections--26875466350902__header { 3571 padding-top: 8px; 3572 padding-bottom: 8px; 3573 } 3574 }</style><div x-show="$store.xHeaderMenu.overlay" 3575 x-transition:enter="ease-in-out duration-300" 3576 x-transition:enter-start="opacity-0" 3577 x-transition:enter-end="opacity-100" 3578 x-transition:leave="transition-all ease-in-out duration-300" 3579 x-transition:leave-end="opacity-0" 3580 class="bg-[rgba(0,0,0,0.4)] hidden lg:flex fixed top-0 right-0 bottom-0 left-0" x-cloak></div> 3581<div 3582 id="x-header-container" 3583 class="relative text-[rgb(var(--colors-text-header))] background-header" 3584 3585 3586 data-is-sticky="true" 3587 data-section-index="2" 3588 3589 x-init='() => { 3590 $store.xHeaderMenu.sectionId = "sections--26875466350902__header"; 3591 $store.xHeaderMenu.mobileHeaderLayout = "center-left"; 3592 $store.xHeaderMenu.initSticky($el, "on-scroll-up"); 3593 3594 }' 3595 3596 :class="($store.xMiniCart.open || $store.xHeaderMenu.show) && 'z-[60]'" 3597 3598 @click.away="$store.xHeaderMenu.openHamburgerMenu = false;" 3599 3600> 3601 <div 3602 id="sticky-header-content" 3603 class="sticky-header-content background-header sticky-header-active z-20 w-full top-0 3604 header-full-width" 3605 :class="{ 'padding-scrollbar-header': $store.xHeaderMenu.isSticky && ($store.xPopup.open || $store.xPopup.openVideoShopping), 'static': $store.xHeaderMenu.overlay, 'relative': !$store.xHeaderMenu.overlay}" 3606 3607 > 3608 <header 3609 class="header lg:pb-0 section-padding-sections--26875466350902__header pt-header lg:pb-0 full-width grid lg:mr-auto lg:ml-auto gap-x-2" :class="{ ' lg:pt-5': !$store.xHeaderMenu.isSticky, 'open-menu': $store.xHeaderMenu.overlay }" 3610 x-on:mouseleave="$store.xHeaderMenu.closeMenu()" 3611 > 3612 <div data-breakpoint="tablet" class="x-container-header-mobile-nav [grid-area:drawer] lg:hidden flex items-center w-full"> 3613 3614 3615 <style data-shopify> 3616 3617 .mobile-navigation-modern-icon-bg { 3618 background: rgba(var(--colors-line-header),1); 3619 } 3620 3621 </style> 3622 <div 3623 id="mobile-navigation" 3624 @click="setTimeout(() => { $store.xMobileNav.open() }, 0)" 3625 class="relative pt-2 pb-2 pl-2 pr-2 mobile-navigation-modern-icon-bg rounded-full cursor-pointer " 3626 > 3627 <div class="w-5 h-5">
3628 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3629 <path d="M1 7H23 M1 17H23" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 3630 </svg> 3631 3632</div> 3633 </div> 3634 </div> 3635 <div class="flex logo-name p-break-words lg:order-2 top-4 text-center [grid-area:heading] mr-auto ml-auto justify-center pb-header flex items-center lg:relative lg:left-0 lg:translate-x-0 lg:mt-0 lg:top-0 lg:ml-0 lg:justify-left lg:[grid-area:auto]" 3636 > 3637 3638 3639 3640<div class="flex"> 3641 <a href="/" class="w-logo-header h-auto disable-effect inline-block"><span class="hidden dark:block h-0 dark:h-auto mr-auto ml-auto md:ml-0">Calista Tools</span><img 3642 src="//calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=525" 3643 alt="Calista Tools" 3644 sizes="(min-width: 768px) 90px, 60px" 3645 srcset="//calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=50 50w, 3646 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=100 100w, 3647 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=150 150w, 3648 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=200 200w, 3649 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=250 250w, 3650 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=300 300w, 3651 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=400 400w, 3652 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=500 500w, 3653 //calistatools.com/cdn/shop/files/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880&width=600 600w" 3654 width="525" 3655 height="300" 3656 class="header-logo w-full block dark:hidden dark:absolute mr-auto ml-auto md:ml-0" 3657 loading="lazy" 3658 /></a> 3659</div> 3660 3661 </div> 3662 <div 3663 class="x-container-header-icons justify-end lg:order-4 [grid-area:icons] lg:[grid-area:auto] pb-header flex" 3664 > 3665 <div class="x-header-store-selector-container self-center md:block hidden md:mr-2.5 md:ml-3 empty:hidden"></div> 3666 3667 3668<style data-shopify> 3669 3670 @media (max-width: 767px) { 3671 .mobile-center-left #SearchOpen { 3672 left: 3.5rem; 3673 } 3674 .mobile-center-right #SearchOpen { 3675 right: 3.5rem; 3676 } 3677 } 3678 3679 </style> 3680 <div class="x-header-icon-search flex items-center justify-center mobile-center-left" @init-run.window="$store.xHeaderMenu.renderAjax($el, 'header-search-block', '#ajax-loading-header-search');"> 3681 <a 3682 id="SearchOpen" 3683 href="/search" 3684 aria-label="search" 3685 class="flex items-center cursor-pointer justify-center link focus-inset bg-none" 3686 @click.prevent="setTimeout(() => { $store.xModal.setActiveElement('SearchOpen'); }, 0)"> 3687 <span class="w-11 h-10 pl-3 pr-3 pt-2.5 pb-2"> 3688 <svg class="icon-animation icon-animation" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none"> 3689 <path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M11.192 20.223C16.5 20.223 20.803 15.92 20.803 10.612S16.5 1 11.192 1 1.58 5.303 1.58 10.612s4.304 9.611 9.612 9.611 M17.706 18.301 22.405 23"/> 3690 </svg> 3691 3692</span> 3693 </a> 3694 </div><shopify-store store-domain="https://calistatools.com" country="US" language="en"></shopify-store> 3695<shopify-account class="header-icon-account hidden lg:flex relative items-center justify-center" menu="customer-account-main-menu"> 3696 <div slot="signed-out-avatar"> 3697 <span class="w-11 h-10 pl-3 pr-2.5 pt-2.5 pb-2 block"> 3698 3699 <svg class="icon-animation" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
3699ox="0 0 24 24" fill="none"> 3700 <path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M21.776 23v-2.444a4.889 4.889 0 0 0-4.889-4.889H7.109a4.889 4.889 0 0 0-4.889 4.889V23 M11.998 10.778a4.889 4.889 0 1 0 0-9.778 4.889 4.889 0 0 0 0 9.778"/> 3701 </svg> 3702 3703 3704 </span> 3705 </div> 3706 </shopify-account><a 3707 id="cart-icon" 3708 href="/cart" 3709 class="relative flex items-center header-icon-cart cursor-pointer" 3710 3711 aria-controls="CartDrawer" 3712 aria-expanded="false" 3713 aria-label="icon-cart" 3714 > 3715 <span class="relative w-11 h-10 md:pl-3 inline-block pl-3 pr-0 md:pr-2.5 pt-2.5 pb-2"> 3716 3717 <svg class="icon-animation" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none"> 3718 <path fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M21.912 21.122a2.2 2.2 0 0 1-.423 1.32 2.16 2.16 0 0 1-1.269.558H3.703a2.16 2.16 0 0 1-1.269-.558 2.2 2.2 0 0 1-.423-1.32L3.5 7.77h16.923l1.489 13.353ZM7.731 7.769V5.231a4.23 4.23 0 1 1 8.462 0v2.538"/> 3719 </svg> 3720 3721 <div id="cart-icon-bubble" > 3722 <div 3723 class="count_item absolute text-center place-content-center -top-0.5 -right-1.5 md:right-0 bg-[rgba(var(--colors-cart))] text-[rgba(var(--colors-cart-text))] font-medium h-5 w-5 rounded-full text-[9px] hidden" 3724 data-value="0" 3725 >0</div> 3726 </div> 3727 </span> 3728 </a></div> 3729 3730 3731 3732 3733 3734 3735<style data-shopify> 3736 .svg-highlight-sections--26875466350902__header { 3737 --color-highlight: #aa0167; 3738 } 3739 .dark .svg-highlight-sections--26875466350902__header { 3740 --color-highlight: rgb(145, 180, 116); 3741 } 3742 3743 .x-icon-caret svg { 3744 color: var(--colors-text-header); 3745 --tw-rotate: 0deg; 3746 transform: rotate(var(--tw-rotate)); 3747 transition: transform 0.5s ease 0.1s; 3748 } 3749 .is-focus .x-icon-caret svg { 3750 color: var(--colors-text-link); 3751 --tw-rotate: 180deg; 3752 } 3753</style><nav 3754 x-on:click.away="$store.xHeaderMenu.closeMenu()" 3755 class="x-container-header-nav [grid-area:navigation] w-full order-3 hidden header__inline-menu lg:flex items-center pb-header lg:[grid-area:auto] justify-center" 3756> 3757 <ul class="list-menu inline-flex flex-wrap gap-x-10 items-center justify-center" 3758 > 3759 3760 3761<li 3762 id="tree_menu_CTY9mU" 3763 class="tree-menu " 3764 3765 3766 :class="$store.xHeaderMenu.show === 1 && 'is-focus'" 3767 3768 > 3769 <div class=" relative cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" x-data='{ active: false }' 3770 3771 > 3772 <div class=" flex items-center"> 3773 <div class="relative x-anm"> 3774 <a 3775 href="/collections/best-sellers" 3776 class=" cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" 3777 3778 > 3779 3780 3781 3782 3783 3784 Bestsellers 3785 3786 3787 3788 </a></div> 3789 </div></div></li> 3790<li class="simple_menu has-dropdown" 3791 3792 @mouseover="$store.xHeaderMenu.openMenu(2, true);" 3793 @focusin="$store.xHeaderMenu.openMenu(2, true)" 3794 :class="$store.xHeaderMenu.show === 2 && 'is-focus'" 3795 3796 > 3797 <div class=" simple_menu_item relative cursor-pointer flex items-center p-break-words justify-center pt-1 pb-1 hover-text-link is-focus:link-active" 3798 3799 3800 x-intersect.once="$store.xHeaderMenu.isTouch && $store.xHeaderMenu.touchItem($el, false, 2)" 3801 3802 3803 > 3804 <div class=" flex items-center mr-2"> 3805 <div class="relative x-anm"> 3806 <a href="#" 3807 class=" cursor-pointer flex items-center p-break-words justify-center pt-1 pb-1 hover-text-link
3807is-focus:link-active" 3808 > 3809 3810 3811 3812 3813 3814 Hair Tools 3815 3816 3817 3818 </a> 3819 3820 </div> 3821 </div><span class="x-icon-caret duration-500 w-3"> 3822 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3823 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 3824 </svg> 3825</span></div> 3826 3827<template x-if="!$store.xInit.runDispatch"> 3828 <div 3829 id="menu-2" 3830 :class="{ 'toggle-menu-hidden': $store.xHeaderMenu.show !== 2, 'toggle-menu-show': $store.xHeaderMenu.show === 2, 'active': $store.xHeaderMenu.initIndex.has(2) }" 3831 class="toggle-menu top-full text-[rgba(var(--colors-text))] mega-menu-horizontal main-nav-child-right is-focus:text-[rgba(var(--colors-text))] absolute w-full background-header left-0 z-50 shadow-md ltr" 3832 > 3833 <div class="toggle-menu-child x-pgw page-width mr-auto ml-auto flex promotion-horizontal image-count-2"><ul class="mega-nav md:max-h-[calc(80vh-4rem)] justify-left order-2 scrollbar-body scrollbar-visible flex-wrap relative gap-5 xl:gap-8 flex pt-7 pb-8 flex-row z-50 left-0 right-0 w-1/2 top-full"><style data-shopify> 3834</style><li class="relative w-col-menu"> 3835 <div class="font-semibold"> 3836 3837 3838 <a href="/collections/hair-styling-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 3839 3840 3841 3842 3843 3844 <span class="p-break-words">Hair Tools</span> 3845 3846 3847 3848 </a> 3849 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3850 3851 3852 <span class="flex-1"> 3853 <a href="/collections/hair-curling-irons" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3854 3855 3856 3857 3858 3859 <span class="p-break-words">Curling Brushes</span> 3860 3861 3862 3863 </a> 3864 </span> 3865 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3866 3867 3868 <span class="flex-1"> 3869 <a href="/collections/rollers" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3870 3871 3872 3873 3874 3875 <span class="p-break-words">Hot Rollers</span> 3876 3877 3878 3879 </a> 3880 </span> 3881 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3882 3883 3884 <span class="flex-1"> 3885 <a href="/collections/hair-straighteners" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3886 3887 3888 3889 3890
3891 <span class="p-break-words">Straightening Tools</span> 3892 3893 3894 3895 </a> 3896 </span> 3897 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3898 3899 3900 <span class="flex-1"> 3901 <a href="/collections/hair-dryers" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3902 3903 3904 3905 3906 3907 <span class="p-break-words">Hair Dryers</span> 3908 3909 3910 3911 </a> 3912 </span> 3913 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3914 3915 3916 <span class="flex-1"> 3917 <a href="/products/eliteair-multi-style-dryer-gen-2" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3918 3919 3920 3921 3922 3923 <span class="p-break-words">Multi-Stylers</span> 3924 3925 3926 3927 </a> 3928 </span> 3929 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3930 3931 3932 <span class="flex-1"> 3933 <a href="/collections/gogo-mini-styling-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3934 3935 3936 3937 3938 3939 <span class="p-break-words">Travel-Size</span> 3940 3941 3942 3943 </a> 3944 </span> 3945 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3946 3947 3948 <span class="flex-1"> 3949 <a href="/products/bodywaver-large-wave-hair-styler" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3950 3951 3952 3953 3954 3955 <span class="p-break-words">Bodywavers</span> 3956 3957 3958 3959 </a> 3960 </span> 3961 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3962 3963 3964 <span class="flex-1"> 3965 <a href="/collections/vault-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3966 3967 3968 3969 3970 3971 <span class="p-break-words">Vault Tools</span> 3972 3973 3974 3975 </a> 3976 </span> 3977 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3978 3979
3980 <span class="flex-1"> 3981 <a href="/collections/refurbished-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3982 3983 3984 3985 3986 3987 <span class="p-break-words">Refurbished</span> 3988 3989 3990 3991 </a> 3992 </span> 3993 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 3994 3995 3996 <span class="flex-1"> 3997 <a href="/collections/hair-styling-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 3998 3999 4000 4001 4002 4003 <span class="p-break-words">Shop All Tools</span> 4004 4005 4006 4007 </a> 4008 </span> 4009 </li></ul></li><li class="relative w-col-menu"> 4010 <div class="font-semibold"> 4011 4012 4013 <a href="/collections/best-sellers" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 4014 4015 4016 4017 4018 4019 <span class="p-break-words">Bestsellers</span> 4020 4021 4022 4023 </a> 4024 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4025 4026 4027 <span class="flex-1"> 4028 <a href="/collections/perfecters" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4029 4030 4031 4032 4033 4034 <span class="p-break-words">Perfecter Pro</span> 4035 4036 4037 4038 </a> 4039 </span> 4040 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4041 4042 4043 <span class="flex-1"> 4044 <a href="/products/ion-hot-rollers-long-set-gen-2" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4045 4046 4047 4048 4049 4050 <span class="p-break-words">Ion Hot Rollers</span> 4051 4052 4053 4054 </a> 4055 </span> 4056 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4057 4058 4059 <span class="flex-1">
4060 <a href="/products/gogo-mini-round-brush" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4061 4062 4063 4064 4065 4066 <span class="p-break-words">GoGo Mini Round Brush</span> 4067 4068 4069 4070 </a> 4071 </span> 4072 </li></ul></li></ul><div class="relative md:max-h-[calc(80vh-4rem)] overflow-hidden float-right md:right-5 lg:right-0 pt-8 pb-8 w-1/2 order-4" 4073 > 4074 <div class="mega-nav-promotions md:max-h-[calc(80vh-6rem)] pb-4 scrollbar-body scrollbar-visible overflow-y-auto flex gap-5"><style data-shopify> 4075 .image-simple_menu_TAHeat-1 { 4076 height: 300px; 4077 } 4078 </style> 4079 4080 <div class="mega-menu-card w-full group relative background-color-simple_menu_TAHeat-1 ltr" 4081 > 4082 4083<div 4084 4085 class="w-full relative z-0 before:h-0 before:block promotion-header image-simple_menu_TAHeat-1 pb-[%] overflow-hidden" 4086 4087 > 4088 4089 4090 <a 4091 aria-label="Image link" 4092 href="/products/eliteair-multi-style-dryer-gen-2" 4093 4094 class="animate_transition_card__image animate-Xpulse skeleton-image w-full h-full top-0 left-0 overflow-hidden absolute md:absolute" 4095 > 4096 4097 <img 4098 srcset="//calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=225 225w, 4099 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=375 375w, 4100 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=450 450w, 4101 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=750 750w, 4102 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=900 900w, 4103 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=1100 1100w, 4104 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=1500 1500w, 4105 //calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=1780 1780w" 4106 src="//calistatools.com/cdn/shop/files/eiteair-billie-hpCallout-3x4.webp?v=1782769812&width=1780" 4107 4108 4109 4110 loading="lazy" 4111 4112 4113 4114 sizes="(min-width: 1400px) 350px, (min-width: 768px) calc(100vw/4), 100vw" 4115 alt="" 4116 width="1000" 4117 height="1333" 4118 style="object-position: 31.738% 62.695%;" 4119 class="w-full h-full object-cover z-10 image-hover " 4120 onload="requestAnimationFrame(() => { 4121 this?.classList.add('active'); 4122 this.closest('.animate_transition_card__image')?.classList.remove('animate-Xpulse', 'skeleton-image'); 4123 setTimeout(() => { this.closest('.animate_transition_card__image')?.classList.add('lazy_active', 'active'); }, 250); 4124 });" 4125 /> 4126 </a> 4127 4128 <span class="absolute top-0 left-0 bottom-0 right-0 pointer-events-none image-treatment-overlay opacity-0"></span></div><style data-shopify> 4129.title-color-simple_menu_TAHeat-1 { 4130 color: ; 4131 --colors-heading: , , ; 4132 }.button--simple_menu_TAHeat-1.button-solid, 4133 .button--simple_menu_TAHeat-1.button-solid:before {--colors-line-and-border: var(--colors-button);} 4134 4135 </style> 4136 4137 <a 4138 aria-label="Image link" 4139 href="/products/eliteair-multi-style-dryer-gen-2" 4140 4141 > 4142 4143 <div class="promotion-content background-color-simple_menu_TAHeat-1 text-center rtl:text-center 4144 pt-3 pb-3 pr-4 pl-4 4145 left-0 right-0 grow" 4146 ><style data-shopify> 4147 .text-simple_menu_TAHeat-1 { 4148 font-size: 0.86625rem; 4149 } 4150 @media (min-width: 768px) { 4151 .text-simple_menu_TAHeat-1 { 4152 font-size: 0.9625rem; 4153 } 4154 } 4155 </style> 4156 <div class="mb-1 leading-tight rte text-color-simple_menu_TAHeat-1 text-simple_menu_TAHeat-1 p-break-words pointer-events-auto">EliteAir Multi-Style Dryer</div> 4157 </div> 4158 4159 </a> 4160 4161 4162 4163 </div><style data-shopify> 4164 .image-simple_menu_TAHeat-2 {
4165 height: 300px; 4166 } 4167 </style> 4168 4169 <div class="mega-menu-card w-full group relative background-color-simple_menu_TAHeat-2 ltr" 4170 > 4171 4172<div 4173 4174 class="w-full relative z-0 before:h-0 before:block promotion-header image-simple_menu_TAHeat-2 pb-[%] overflow-hidden" 4175 4176 > 4177 4178 4179 <a 4180 aria-label="Image link" 4181 href="/products/ion-hot-rollers-long-set-gen-2" 4182 4183 class="animate_transition_card__image animate-Xpulse skeleton-image w-full h-full top-0 left-0 overflow-hidden absolute md:absolute" 4184 > 4185 4186 <img 4187 srcset="//calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=225 225w, 4188 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=375 375w, 4189 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=450 450w, 4190 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=750 750w, 4191 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=900 900w, 4192 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=1100 1100w, 4193 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=1500 1500w, 4194 //calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=1780 1780w" 4195 src="//calistatools.com/cdn/shop/files/ionRollers-hp-quote-2400x2400.webp?v=1782863005&width=1780" 4196 4197 4198 4199 loading="lazy" 4200 4201 4202 4203 sizes="(min-width: 1400px) 350px, (min-width: 768px) calc(100vw/4), 100vw" 4204 alt="" 4205 width="2400" 4206 height="2400" 4207 style="object-position: 29.297% 75.586%;" 4208 class="w-full h-full object-cover z-10 image-hover " 4209 onload="requestAnimationFrame(() => { 4210 this?.classList.add('active'); 4211 this.closest('.animate_transition_card__image')?.classList.remove('animate-Xpulse', 'skeleton-image'); 4212 setTimeout(() => { this.closest('.animate_transition_card__image')?.classList.add('lazy_active', 'active'); }, 250); 4213 });" 4214 /> 4215 </a> 4216 4217 <span class="absolute top-0 left-0 bottom-0 right-0 pointer-events-none image-treatment-overlay opacity-0"></span></div><style data-shopify> 4218.title-color-simple_menu_TAHeat-2 { 4219 color: ; 4220 --colors-heading: , , ; 4221 }.button--simple_menu_TAHeat-2.button-solid, 4222 .button--simple_menu_TAHeat-2.button-solid:before {--colors-line-and-border: var(--colors-button);} 4223 4224 </style> 4225 4226 <a 4227 aria-label="Image link" 4228 href="/products/ion-hot-rollers-long-set-gen-2" 4229 4230 > 4231 4232 <div class="promotion-content background-color-simple_menu_TAHeat-2 text-center rtl:text-center 4233 pt-3 pb-3 pr-4 pl-4 4234 left-0 right-0 grow" 4235 ><style data-shopify> 4236 .text-simple_menu_TAHeat-2 { 4237 font-size: 0.86625rem; 4238 } 4239 @media (min-width: 768px) { 4240 .text-simple_menu_TAHeat-2 { 4241 font-size: 0.9625rem; 4242 } 4243 } 4244 </style> 4245 <div class="mb-1 leading-tight rte text-color-simple_menu_TAHeat-2 text-simple_menu_TAHeat-2 p-break-words pointer-events-auto">Ion Hot Rollers Gen 2</div> 4246 </div> 4247 4248 </a> 4249 4250 4251 4252 </div></div> 4253 </div></div> 4254 4255 </div> 4256 </template></li> 4257<li class="simple_menu has-dropdown" 4258 4259 @mouseover="$store.xHeaderMenu.openMenu(3, true);" 4260 @focusin="$store.xHeaderMenu.openMenu(3, true)" 4261 :class="$store.xHeaderMenu.show === 3 && 'is-focus'" 4262 4263 > 4264 <div class=" simple_menu_item relative cursor-pointer flex items-center p-break-words justify-center pt-1 pb-1 hover-text-link is-focus:link-active" 4265 4266 4267 x-intersect.once="$store.xHeaderMenu.isTouch && $store.xHeaderMenu.touchItem($el, false, 3)" 4268 4269 4270 > 4271 <div class=" flex items-center mr-2"> 4272 <div class="relative x-anm"> 4273 <a href="#" 4274 class=" cursor-pointer flex items-center p-break-words justify-center pt-1 pb-1 hover-text-link
4274is-focus:link-active" 4275 > 4276 4277 4278 4279 4280 4281 Styling Products 4282 4283 4284 4285 </a> 4286 4287 </div> 4288 </div><span class="x-icon-caret duration-500 w-3"> 4289 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4290 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4291 </svg> 4292</span></div> 4293 4294<template x-if="!$store.xInit.runDispatch"> 4295 <div 4296 id="menu-3" 4297 :class="{ 'toggle-menu-hidden': $store.xHeaderMenu.show !== 3, 'toggle-menu-show': $store.xHeaderMenu.show === 3, 'active': $store.xHeaderMenu.initIndex.has(3) }" 4298 class="toggle-menu top-full text-[rgba(var(--colors-text))] mega-menu-horizontal main-nav-child-right is-focus:text-[rgba(var(--colors-text))] absolute w-full background-header left-0 z-50 shadow-md ltr" 4299 > 4300 <div class="toggle-menu-child x-pgw page-width mr-auto ml-auto flex promotion-horizontal image-count-2"><ul class="mega-nav md:max-h-[calc(80vh-4rem)] justify-left order-2 scrollbar-body scrollbar-visible flex-wrap relative gap-5 xl:gap-8 flex pt-7 pb-8 flex-row z-50 left-0 right-0 w-1/2 top-full"><style data-shopify> 4301</style><li class="relative w-col-menu"> 4302 <div class="font-semibold"> 4303 4304 4305 <a href="/collections/hair-styling-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 4306 4307 4308 4309 4310 4311 <span class="p-break-words">by Category</span> 4312 4313 4314 4315 </a> 4316 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4317 4318 4319 <span class="flex-1"> 4320 <a href="/collections/hair-spray" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4321 4322 4323 4324 4325 4326 <span class="p-break-words">Hairsprays</span> 4327 4328 4329 4330 </a> 4331 </span> 4332 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4333 4334 4335 <span class="flex-1"> 4336 <a href="/collections/hair-products-for-texture" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4337 4338 4339 4340 4341 4342 <span class="p-break-words">Texturizers</span> 4343 4344 4345 4346 </a> 4347 </span> 4348 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4349 4350 4351 <span class="flex-1"> 4352 <a href="/collections/hair-treatments" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4353 4354 4355 4356 4357
4358 <span class="p-break-words">Treatments</span> 4359 4360 4361 4362 </a> 4363 </span> 4364 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4365 4366 4367 <span class="flex-1"> 4368 <a href="/products/embellish-root-touch-up-dark-brown" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4369 4370 4371 4372 4373 4374 <span class="p-break-words">Root Touch-Up</span> 4375 4376 4377 4378 </a> 4379 </span> 4380 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4381 4382 4383 <span class="flex-1"> 4384 <a href="/collections/hair-styling-creams-and-paste" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4385 4386 4387 4388 4389 4390 <span class="p-break-words">Creams & Foams</span> 4391 4392 4393 4394 </a> 4395 </span> 4396 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4397 4398 4399 <span class="flex-1"> 4400 <a href="/collections/hair-styling-kits-sets" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4401 4402 4403 4404 4405 4406 <span class="p-break-words">Value Sets</span> 4407 4408 4409 4410 </a> 4411 </span> 4412 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4413 4414 4415 <span class="flex-1"> 4416 <a href="/collections/hair-styling-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4417 4418 4419 4420 4421 4422 <span class="p-break-words">All Styling Products</span> 4423 4424 4425 4426 </a> 4427 </span> 4428 </li></ul></li><li class="relative w-col-menu"> 4429 <div class="font-semibold"> 4430 4431 4432 <a href="/collections/hair-styling-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 4433 4434 4435 4436 4437 4438 <span class="p-break-words">by Collection</span> 4439 4440 4441 4442 </a> 4443 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4444 4445
4446 <span class="flex-1"> 4447 <a href="/collections/embellish-styling-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4448 4449 4450 4451 4452 4453 <span class="p-break-words">EMBELLISH</span> 4454 4455 4456 4457 </a> 4458 </span> 4459 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4460 4461 4462 <span class="flex-1"> 4463 <a href="/collections/stratosphere-hair-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4464 4465 4466 4467 4468 4469 <span class="p-break-words">STRATOSPHERE</span> 4470 4471 4472 4473 </a> 4474 </span> 4475 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4476 4477 4478 <span class="flex-1"> 4479 <a href="/collections/the-gloss-line" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4480 4481 4482 4483 4484 4485 <span class="p-break-words">GLOSS</span> 4486 4487 4488 4489 </a> 4490 </span> 4491 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4492 4493 4494 <span class="flex-1"> 4495 <a href="/collections/the-jousse-line" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4496 4497 4498 4499 4500 4501 <span class="p-break-words">JOUSSE</span> 4502 4503 4504 4505 </a> 4506 </span> 4507 </li></ul></li></ul><div class="relative md:max-h-[calc(80vh-4rem)] overflow-hidden float-right md:right-5 lg:right-0 pt-8 pb-8 w-1/2 order-4" 4508 > 4509 <div class="mega-nav-promotions md:max-h-[calc(80vh-6rem)] pb-4 scrollbar-body scrollbar-visible overflow-y-auto flex gap-5"><style data-shopify> 4510 .image-simple_menu_nFJmqj-1 { 4511 height: 300px; 4512 } 4513 </style> 4514 4515 <div class="mega-menu-card w-full group relative background-color-simple_menu_nFJmqj-1 ltr" 4516 > 4517 4518<div 4519 4520 class="w-full relative z-0 before:h-0 before:block promotion-header image-simple_menu_nFJmqj-1 pb-[%] overflow-hidden" 4521 4522 > 4523 4524 4525 <a 4526 aria-label="Image link" 4527 href="/products/jousse-vitality-heat-protectant-spray" 4528 4529 class="animate_transition_card__image animate-Xpulse skeleton-image w-full h-full top-0 left-0 overflow-hidden absolute md:absolute" 4530 > 4531 4532 <img 4533 srcset="//calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=225 225w, 4534 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=375 375w, 4535 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=450 450w, 4536 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=750 750w, 4537 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=900 900w, 4538 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=1100 1100w, 4539 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=1500 1500w, 4540 //calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=1780 1780w" 4541 src="//calistatools.com/cdn/shop/files/healthy-hair-hp-block-2000x2000.webp?v=1782799154&width=1780" 4542 4543 4544 4545 loading="lazy" 4546 4547 4548 4549 sizes="(min-width: 1400px) 350px, (min-width: 768px) calc(100vw/4), 100vw" 4550 alt="" 4551 width="2000" 4552 height="2000" 4553 style="object-position: 51.66% 21.387%;" 4554 class="w-full h-full object-cover z-10 image-hover " 4555 onload="requestAnimationFrame(() => { 4556 this?.classList.add('active'); 4557 this.closest('.animate_transition_card__image')?.classList.remove('animate-Xpulse', 'skeleton-image'); 4558 setTimeout(() => { this.closest('.animate_transition_card__image')?.classList.add('lazy_active', 'active'); }, 250); 4559 });" 4560 /> 4561 </a> 4562 4563 <span class="absolute top-0 left-0 bottom-0 right-0 pointer-events-none image-treatment-overlay opacity-0"></span></div><style data-shopify> 4564.title-color-simple_menu_nFJmqj-1 { 4565 color: ; 4566 --colors-heading: , , ; 4567 }.button--simple_menu_nFJmqj-1.button-solid, 4568 .button--simple_menu_nFJmqj-1.button-solid:before {--colors-line-and-border: var(--colors-button);} 4569 4570 </style> 4571 4572 <a 4573 aria-label="Image link" 4574 href="/products/jousse-vitality-heat-protectant-spray" 4575 4576 > 4577 4578 <div class="promotion-content background-color-simple_menu_nFJmqj-1 text-center rtl:text-center 4579 pt-3 pb-3 pr-4 pl-4 4580 left-0 right-0 grow" 4581 ><style data-shopify> 4582 .text-simple_menu_nFJmqj-1 { 4583 font-size: 0.86625rem; 4584 } 4585 @media (min-width: 768px) { 4586 .text-simple_menu_nFJmqj-1 { 4587 font-size: 0.9625rem; 4588 } 4589 } 4590 </style> 4591 <div class="mb-1 leading-tight rte text-color-simple_menu_nFJmqj-1 text-simple_menu_nFJmqj-1 p-break-words pointer-events-auto">JOUSSE Vitality Spray</div> 4592 </div> 4593 4594 </a> 4595 4596 4597 4598 </div><style data-shopify> 4599 .image-simple_menu_nFJmqj-2 { 4600 height: 300px; 4601 } 4602 </style> 4603 4604 <div class="mega-menu-card w-full group relative background-color-simple_menu_nFJmqj-2 ltr" 4605 > 4606 4607<div 4608 4609 class="w-full relative z-0 before:h-0 before:block promotion-header image-simple_menu_nFJmqj-2 pb-[%] overflow-hidden" 4610 4611 > 4612 4613 4614 <a 4615 aria-label="Image link" 4616 href="/products/gloss-restorative-shine-serum" 4617 4618 class="animate_transition_card__image animate-Xpulse skeleton-image w-full h-full top-0 left-0 overflow-hidden absolute md:absolute" 4619 > 4620 4621 <img 4622 srcset="//calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=225 225w, 4623 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=375 375w, 4624 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=450 450w, 4625 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=750 750w, 4626 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=900 900w, 4627 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=1100 1100w, 4628 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=1500 1500w, 4629 //calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=1780 1780w" 4630 src="//calistatools.com/cdn/shop/files/glossShine-mainNav-promo-1200x1200.webp?v=1783024972&width=1780" 4631 4632 4633 4634 loading="lazy" 4635 4636 4637 4638 sizes="(min-width: 1400px) 350px, (min-width: 768px) calc(100vw/4), 100vw" 4639 alt="" 4640 width="1200" 4641 height="1200" 4642 style="object-position: 61.816% 58.691%;" 4643 class="w-full h-full object-cover z-10 image-hover " 4644 onload="requestAnimationFrame(() => { 4645 this?.classList.add('active'); 4646 this.closest('.animate_transition_card__image')?.classList.remove('animate-Xpulse', 'skeleton-image'); 4647 setTimeout(() => { this.closest('.animate_transition_card__image')?.classList.add('lazy_active', 'active'); }, 250); 4648 });" 4649 /> 4650 </a> 4651 4652 <span class="absolute top-0 left-0 bottom-0 right-0 pointer-events-none image-treatment-overlay opacity-0"></span></div><style data-shopify> 4653.title-color-simple_menu_nFJmqj-2 { 4654 color: ; 4655 --colors-heading: , , ; 4656 }.button--simple_menu_nFJmqj-2.button-solid, 4657 .button--simple_menu_nFJmqj-2.button-solid:before {--colors-line-and-border: var(--colors-button);} 4658 4659 </style> 4660 4661 <a 4662 aria-label="Image link" 4663 href="/products/gloss-restorative-shine-serum" 4664 4665 > 4666 4667 <div class="promotion-content background-color-simple_menu_nFJmqj-2 text-center rtl:text-center 4668 pt-3 pb-3 pr-4 pl-4 4669 left-0 right-0 grow" 4670 ><style data-shopify> 4671 .text-simple_menu_nFJmqj-2 { 4672 font-size: 0.86625rem; 4673 } 4674 @media (min-width: 768px) { 4675 .text-simple_menu_nFJmqj-2 { 4676 font-size: 0.9625rem; 4677 } 4678 } 4679 </style> 4680 <div class="mb-1 leading-tight rte text-color-simple_menu_nFJmqj-2 text-simple_menu_nFJmqj-2 p-break-words pointer-events-auto">GLOSS Shine Recovery Serum</div> 4681 </div> 4682 4683 </a> 4684 4685 4686 4687 </div></div> 4688 </div></div> 4689 4690 </div> 4691 </template></li> 4692<li class="simple_menu has-dropdown" 4693 4694 @mouseover="$store.xHeaderMenu.openMenu(4, true);" 4695 @focusin="$store.xHeaderMenu.openMenu(4, true)" 4696 :class="$store.xHeaderMenu.show === 4 && 'is-focus'" 4697 4698 > 4699 <div class=" simple_menu_item relative cursor-pointer flex items-center p-break-words justify-center pt-1 pb-1 hover-text-link
4699is-focus:link-active" 4700 4701 4702 x-intersect.once="$store.xHeaderMenu.isTouch && $store.xHeaderMenu.touchItem($el, false, 4)" 4703 4704 4705 > 4706 <div class=" flex items-center mr-2"> 4707 <div class="relative x-anm"> 4708 <a href="#" 4709 class=" cursor-pointer flex items-center p-break-words justify-center pt-1 pb-1 hover-text-link is-focus:link-active" 4710 > 4711 4712 4713 4714 4715 4716 Shop All 4717 4718 4719 4720 </a> 4721 4722 </div> 4723 </div><span class="x-icon-caret duration-500 w-3"> 4724 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4725 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4726 </svg> 4727</span></div> 4728 4729<template x-if="!$store.xInit.runDispatch"> 4730 <div 4731 id="menu-4" 4732 :class="{ 'toggle-menu-hidden': $store.xHeaderMenu.show !== 4, 'toggle-menu-show': $store.xHeaderMenu.show === 4, 'active': $store.xHeaderMenu.initIndex.has(4) }" 4733 class="toggle-menu top-full text-[rgba(var(--colors-text))] mega-menu-horizontal is-focus:text-[rgba(var(--colors-text))] absolute w-full background-header left-0 z-50 shadow-md ltr" 4734 > 4735 <div class="toggle-menu-child x-pgw page-width mr-auto ml-auto mega-menu-container"><ul class="mega-nav md:max-h-[calc(80vh-4rem)] justify-left order-2 scrollbar-body scrollbar-visible flex-wrap relative gap-5 xl:gap-8 flex pt-7 pb-8 flex-row z-50 left-0 right-0 w-full top-full"><style data-shopify> 4736</style><li class="relative w-col-menu"> 4737 <div class="font-semibold"> 4738 4739 4740 <a href="/collections/hair-styling-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 4741 4742 4743 4744 4745 4746 <span class="p-break-words">Hair Tools</span> 4747 4748 4749 4750 </a> 4751 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4752 4753 4754 <span class="flex-1"> 4755 <a href="/collections/hair-curling-irons" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4756 4757 4758 4759 4760 4761 <span class="p-break-words">Curling Tools</span> 4762 4763 4764 4765 </a> 4766 </span> 4767 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4768 4769 4770 <span class="flex-1"> 4771 <a href="/collections/rollers" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4772 4773 4774 4775 4776 4777 <span class="p-break-words">Hot Rollers</span> 4778 4779 4780 4781 </a> 4782 </span> 4783 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4784 4785
4786 <span class="flex-1"> 4787 <a href="/products/eliteair-multi-style-dryer-gen-2" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4788 4789 4790 4791 4792 4793 <span class="p-break-words">Multi-Stylers</span> 4794 4795 4796 4797 </a> 4798 </span> 4799 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4800 4801 4802 <span class="flex-1"> 4803 <a href="/collections/hair-straighteners" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4804 4805 4806 4807 4808 4809 <span class="p-break-words">Straightening Tools</span> 4810 4811 4812 4813 </a> 4814 </span> 4815 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4816 4817 4818 <span class="flex-1"> 4819 <a href="/collections/hair-dryers" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4820 4821 4822 4823 4824 4825 <span class="p-break-words">Hair Dryers</span> 4826 4827 4828 4829 </a> 4830 </span> 4831 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4832 4833 4834 <span class="flex-1"> 4835 <a href="/collections/gogo-mini-styling-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4836 4837 4838 4839 4840 4841 <span class="p-break-words">Travel-Size</span> 4842 4843 4844 4845 </a> 4846 </span> 4847 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4848 4849 4850 <span class="flex-1"> 4851 <a href="/collections/bodywavers" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4852 4853 4854 4855 4856 4857 <span class="p-break-words">Bodywavers</span> 4858 4859 4860 4861 </a> 4862 </span> 4863 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4864 4865 4866 <span class="flex-1"> 4867 <a href="/collections/hair-styling-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link
4867inline-block"> 4868 4869 4870 4871 4872 4873 <span class="p-break-words">Shop All Tools</span> 4874 4875 4876 4877 </a> 4878 </span> 4879 </li></ul></li><li class="relative w-col-menu"> 4880 <div class="font-semibold"> 4881 4882 4883 <a href="/collections/hair-styling-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 4884 4885 4886 4887 4888 4889 <span class="p-break-words">Styling Products</span> 4890 4891 4892 4893 </a> 4894 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4895 4896 4897 <span class="flex-1"> 4898 <a href="/collections/hair-spray" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4899 4900 4901 4902 4903 4904 <span class="p-break-words">Hairsprays</span> 4905 4906 4907 4908 </a> 4909 </span> 4910 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4911 4912 4913 <span class="flex-1"> 4914 <a href="/collections/hair-products-for-texture" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4915 4916 4917 4918 4919 4920 <span class="p-break-words">Texturizers</span> 4921 4922 4923 4924 </a> 4925 </span> 4926 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4927 4928 4929 <span class="flex-1"> 4930 <a href="/collections/hair-treatments" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4931 4932 4933 4934 4935 4936 <span class="p-break-words">Treatments</span> 4937 4938 4939 4940 </a> 4941 </span> 4942 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4943 4944 4945 <span class="flex-1"> 4946 <a href="/collections/root-touch-up" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4947 4948 4949 4950 4951 4952 <span class="p-break-words">Root Touch-Up</span> 4953 4954 4955 4956 </a> 4957 </span> 4958 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4959 4960
4961 <span class="flex-1"> 4962 <a href="/collections/hair-styling-creams-and-paste" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4963 4964 4965 4966 4967 4968 <span class="p-break-words">Creams & Foams</span> 4969 4970 4971 4972 </a> 4973 </span> 4974 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 4975 4976 4977 <span class="flex-1"> 4978 <a href="/collections/hair-styling-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 4979 4980 4981 4982 4983 4984 <span class="p-break-words">All Styling Products</span> 4985 4986 4987 4988 </a> 4989 </span> 4990 </li></ul></li><li class="relative w-col-menu"> 4991 <div class="font-semibold"> 4992 4993 4994 <a href="/collections/hair-cleanse-condition-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 4995 4996 4997 4998 4999 5000 <span class="p-break-words">Cleanse & Condition</span> 5001 5002 5003 5004 </a> 5005 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5006 5007 5008 <span class="flex-1"> 5009 <a href="/collections/hair-cleanse-condition-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5010 5011 5012 5013 5014 5015 <span class="p-break-words">Cleanse</span> 5016 5017 5018 5019 </a> 5020 </span> 5021 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5022 5023 5024 <span class="flex-1"> 5025 <a href="/collections/hair-cleanse-condition-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5026 5027 5028 5029 5030 5031 <span class="p-break-words">Condition</span> 5032 5033 5034 5035 </a> 5036 </span> 5037 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5038 5039 5040 <span class="flex-1"> 5041 <a href="/collections/hair-cleanse-condition-products" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link
5041inline-block"> 5042 5043 5044 5045 5046 5047 <span class="p-break-words">Sets</span> 5048 5049 5050 5051 </a> 5052 </span> 5053 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5054 5055 5056 <span class="flex-1"> 5057 <a href="/collections/hair-treatments" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5058 5059 5060 5061 5062 5063 <span class="p-break-words">Treatments</span> 5064 5065 5066 5067 </a> 5068 </span> 5069 </li></ul></li><li class="relative w-col-menu"> 5070 <div class="font-semibold"> 5071 5072 5073 <a href="/collections/hair-accessories" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 5074 5075 5076 5077 5078 5079 <span class="p-break-words">Accessories</span> 5080 5081 5082 5083 </a> 5084 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5085 5086 5087 <span class="flex-1"> 5088 <a href="/collections/hair-brushes" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5089 5090 5091 5092 5093 5094 <span class="p-break-words">Hair Brushes</span> 5095 5096 5097 5098 </a> 5099 </span> 5100 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5101 5102 5103 <span class="flex-1"> 5104 <a href="/collections/hair-brushes" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5105 5106 5107 5108 5109 5110 <span class="p-break-words">Hair Clips</span> 5111 5112 5113 5114 </a> 5115 </span> 5116 </li></ul></li><li class="relative w-col-menu"> 5117 <div class="font-semibold"> 5118 5119 5120 <a href="/collections/sale" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block mb-3"> 5121 5122 5123 5124 5125 5126 <span class="p-break-words">Sale</span> 5127 5128 5129 5130 </a> 5131 </div><ul class="list-unstyled" role="list"><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5132 5133
5134 <span class="flex-1"> 5135 <a href="/collections/hair-styling-kits-sets" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5136 5137 5138 5139 5140 5141 <span class="p-break-words">Value Sets</span> 5142 5143 5144 5145 </a> 5146 </span> 5147 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5148 5149 5150 <span class="flex-1"> 5151 <a href="/collections/vault-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5152 5153 5154 5155 5156 5157 <span class="p-break-words">Vault Tools</span> 5158 5159 5160 5161 </a> 5162 </span> 5163 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5164 5165 5166 <span class="flex-1"> 5167 <a href="/collections/refurbished-tools" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5168 5169 5170 5171 5172 5173 <span class="p-break-words">Refurbished Tools</span> 5174 5175 5176 5177 </a> 5178 </span> 5179 </li><li class="flex items-center pt-1.5 pb-1.5 relative font-normal font_menu-normal"> 5180 5181 5182 <span class="flex-1"> 5183 <a href="/collections/sale" class="flex flex-wrap gap-2 nav-link relative transition duration-200 p-break-words hover-text-link inline-block"> 5184 5185 5186 5187 5188 5189 <span class="p-break-words">All Sale</span> 5190 5191 5192 5193 </a> 5194 </span> 5195 </li></ul></li></ul></div> 5196 5197 </div> 5198 </template></li> 5199<li 5200 id="tree_menu_xajxHE" 5201 class="tree-menu " 5202 5203 5204 :class="$store.xHeaderMenu.show === 5 && 'is-focus'" 5205 5206 > 5207 <div class=" relative cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" x-data='{ active: false }' 5208 5209 > 5210 <div class=" flex items-center"> 5211 <div class="relative x-anm"> 5212 <a 5213 href="/collections/hair-styling-kits-sets" 5214 class=" cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" 5215 5216 > 5217 5218 5219 5220 5221 5222 Value Sets 5223 5224 5225 5226 </a></div> 5227 </div></div></li> 5228<li 5229 id="tree_menu_LFNyi6" 5230 class="tree-menu " 5231 5232 5233 :class="$store.xHeaderMenu.show === 6 && 'is-focus'" 5234 5235 > 5236 <div class=" relative cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link
5236is-focus:link-active" x-data='{ active: false }' 5237 5238 > 5239 <div class=" flex items-center"> 5240 <div class="relative x-anm"> 5241 <a 5242 href="/pages/hair-quiz" 5243 class=" cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" 5244 5245 > 5246 5247 5248 5249 5250 5251 Hair Quiz 5252 5253 5254 5255 </a></div> 5256 </div></div></li> 5257<li 5258 id="tree_menu_8mNUwp" 5259 class="tree-menu " 5260 5261 5262 :class="$store.xHeaderMenu.show === 7 && 'is-focus'" 5263 5264 > 5265 <div class=" relative cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" x-data='{ active: false }' 5266 5267 > 5268 <div class=" flex items-center"> 5269 <div class="relative x-anm"> 5270 <a 5271 href="#smile-home" 5272 class=" cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" 5273 5274 > 5275 5276 5277 5278 5279 5280 Rewards 5281 5282 5283 5284 </a></div> 5285 </div></div></li></ul> 5286</nav> 5287 5288 </header> 5289 5290</div> 5291</div> 5292
5293<script src="//calistatools.com/cdn/shop/t/144/assets/search-prompts.js?v=181440801706723618771782330849" defer></script>
5293
5294<script type="application/ld+json"> 5295 { 5296 "@context": "http://schema.org", 5297 "@type": "Organization", 5298 "name": "Calista Tools", 5299 5300 "logo": "https:\/\/calistatools.com\/cdn\/shop\/files\/Calista_Logo_stacked-butterfly_2025-01.png?v=1780260880\u0026width=525", 5301 5302 "sameAs": [ 5303 "", 5304 "https:\/\/www.facebook.com\/calistabymariamccool", 5305 "https:\/\/www.pinterest.com\/calistatools\/", 5306 "https:\/\/www.instagram.com\/calistatools\/", 5307 "https:\/\/www.tiktok.com\/@calistatools?lang=en", 5308 "", 5309 "", 5310 "https:\/\/www.youtube.com\/user\/CalistaTools", 5311 "" 5312 ], 5313 "url": "https:\/\/calistatools.com" 5314 } 5315</script>
5315<script src="//calistatools.com/cdn/shop/t/144/assets/store-selector.js?v=69199566774997787001782330849" defer="defer"></script>
5315 5316 5317</div><div id="shopify-section-sections--26875466350902__mobile-navigation" class="shopify-section shopify-section-group-header-group section-mobile-navigation"><style data-shopify>#mobile-navigation { 5318 contain: style layout; 5319 } 5320 #mobile-navigation * {border-color: rgba(var(--colors-line-header));} 5321 .dark #mobile-navigation * {border-color: rgba(var(--colors-line-header));} 5322 #mobile-navigation .text-color, 5323 #mobile-navigation .background-header {background: rgba(var(--background-color-header));--colors-text: 51, 50, 46; 5324 --colors-heading: 51, 50, 46; 5325 --colors-text-link: 51, 50, 46; 5326 5327 } 5328 .dark #mobile-navigation .text-color, 5329 .dark #mobile-navigation .background-header {--colors-text: 225, 227, 225; 5330 --colors-heading: 255, 255, 255; 5331 --colors-text-link: 145, 180, 116; 5332 5333 } 5334 5335 .svg-highlight-sections--26875466350902__mobile-navigation { 5336 5337 --color-highlight: #a6586b; 5338 5339 } 5340 .dark .svg-highlight-sections--26875466350902__mobile-navigation { 5341 5342 --color-highlight: rgb(145, 180, 116); 5343 5344 } 5345 5346 .block-mobile-navigation-after::after { 5347 content: var(--tw-content); 5348 position: absolute; 5349 width: 100%; 5350 left: 0; 5351 border-bottom-width: 1px;border-color: rgba(var(--colors-line-header));} 5352 .dark .block-mobile-navigation-after::after {border-color: rgba(var(--colors-line-header));} 5353 .font-menu-level-0 { 5354 font-size: 1.125rem; 5355 } 5356 .font-menu-level-1 { 5357 font-size: 1.0rem; 5358 } 5359 .font-menu-level-2 { 5360 font-size: 0.875rem; 5361 } 5362 5363 .block-mobile-navigation-menu .font-menu-level-0, 5364 .block-mobile-navigation-menu .font-menu-level-1, 5365 .block-mobile-navigation-menu .font-menu-level-2, 5366 .block-mobile-navigation-carousel_menu .font-menu-level-0, 5367 .block-mobile-navigation-carousel_menu .font-menu-level-2, 5368 .block-mobile-navigation-account .font-menu-level-1, 5369 .block-mobile-navigation-cart .font-menu-level-1 5370 { 5371 font-size: 0.7875rem; 5372 font-weight: var(--font-body-weight); 5373 } 5374 5375</style><div 5376 class="z-[9999] fixed top-0 h-full w-full opacity-60 bg-black" 5377 x-show="$store.xMobileNav.show" 5378 x-cloak 5379 @click="setTimeout(() => { $store.xMobileNav.close() }, 0)" 5380></div> 5381<template x-if="!$store.xInit.runDispatch"> 5382 <div 5383 id="mobile-navigation" 5384 :class="{ 'menu-opening': $store.xMobileNav.show }" 5385 class="menu-drawer fixed z-[9999] top-0 bottom-0 w-[90%] max-w-xl motion-reduce overflow-x-hidden ltr left-0 -translate-x-full" 5386 > 5387 <div class="x-container-mobile-nav background-header gradient menu-drawer duration-300 ease-in-out overflow-hidden h-full flex flex-col"> 5388 <div class="x-block-mobile-nav-close pt-4 pb-4 pl-4 pr-4 w-full flex justify-between items-center" 5389 aria-label="Close" 5390 > 5391 <span class="font-menu-level-2 uppercase">Menu</span> 5392 <span 5393 class="cursor-pointer icon-close-container inline-block group-close-btn rounded-full absolute top-2 right-2 rtl:right-auto rtl:left-2" 5394 @click="setTimeout(() => { $store.xMobileNav.close() }, 0)" 5395 > 5396 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5397 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 5398 </svg> 5399</span> 5400 </div> 5401 <div 5402 id="menu-navigation" 5403 class="h-full flex-1 overflow-x-hidden scrollbar-body overflow-y-auto scrollbar-stable" 5404 > 5405 5406 <ul 5407 x-data="{ openCur: 0 }" 5408 id="menu-level-0" 5409 role="list" 5410 class="menu-parent relative h-full w-full" 5411 > 5412 <li class="block-mobile-navigation-menu"> 5413 <span class="flex empty:hidden border-t ml-4 mr-4"></span> 5414 5415 5416 5417<div 5418 class="flex items-center gap-4 pr-4 pl-4 border-b" 5419 ><style data-shopify> 5420 5421</style> 5422 <a href="/pages/hair-quiz" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect"> 5423 5424 5425
5426 <span class="flex flex-wrap gap-x-2"> 5427 <span class="p-break-words font-medium font-menu-level-0"> 5428 5429 5430 5431 5432 <span>Take the Hair Quiz</span> 5433 5434 5435 </span> 5436 5437 5438 </span> 5439 </a> 5440</div><div 5441 class="flex items-center gap-4 pr-4 pl-4 border-b" 5442 ><style data-shopify> 5443 5444</style> 5445 <a href="/collections/best-sellers" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect"> 5446 5447 5448 5449 <span class="flex flex-wrap gap-x-2"> 5450 <span class="p-break-words font-medium font-menu-level-0"> 5451 5452 5453 5454 5455 <span>Best Sellers</span> 5456 5457 5458 </span> 5459 5460 5461 </span> 5462 </a> 5463</div><div @click="$store.xMobileNav.scrollTop($el); $store.xMobileNav.setActiveLink('-3')" 5464 class="flex items-center gap-4 pr-4 pl-4 border-b" 5465 ><style data-shopify> 5466 5467</style> 5468 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 5469 5470 5471 5472 <span class="flex flex-wrap gap-x-2"> 5473 <span class="p-break-words font-medium font-menu-level-0"> 5474 5475 5476 5477 5478 <span>Hair Tools</span> 5479 5480 5481 </span> 5482 5483 5484 </span> 5485 </span> 5486<span 5487 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 5488 > 5489 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5490 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 5491 </svg> 5492</span></div><div 5493 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible translate-x-full" 5494 :class="{ 'menu-opening': $store.xMobileNav.currentMenuLinks.includes('-3')}" 5495 > 5496 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 5497 :class="$store.xMobileNav.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 5498 > 5499 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 5500 <div class="flex items-center"> 5501 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 5502 @click="$store.xMobileNav.removeActiveLink('-3'); " 5503 > 5504 5505 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5506 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 5507 </svg> 5508 5509 </span> 5510 <a href="/" class="flex relative flex-wrap gap-x-2 flex-1 font-medium disable-effect"> 5511 <span class="p-break-words font-menu-level-0"> 5512 5513 5514 5515 5516 <span>Hair Tools</span> 5517 5518 5519 </span> 5520 5521 5522 </a> 5523 </div> 5524 <span 5525 class="cursor-pointer icon-close-container inline-block group-close-btn rounded-full" 5526 @click="setTimeout(() => { $store.xMobileNav.close() }, 0)" 5527 > 5528 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5529 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 5530 </svg> 5531</span> 5532 </div> 5533 <ul 5534 id="menu-level-1" 5535 class="background-header w-full" 5536 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5537 5538 <div 5539 class="flex items-center justify-between h-full gap-" 5540 5541 > 5542 5543 <a href="/collections/perfecters" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5544 5545 5546
5547 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5548 <span class="flex flex-wrap gap-x-2"> 5549 5550 5551 5552 5553 <span>Perfecter Pro</span> 5554 5555 5556 5557 5558 </span> 5559 5560 </span> 5561 </a> 5562</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5563 5564 <div 5565 class="flex items-center justify-between h-full gap-" 5566 5567 > 5568 5569 <a href="/products/eliteair-multi-style-dryer-gen-2" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5570 5571 5572 5573 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5574 <span class="flex flex-wrap gap-x-2"> 5575 5576 5577 5578 5579 <span>EliteAir Multi-Styler</span> 5580 5581 5582 5583 5584 </span> 5585 5586 </span> 5587 </a> 5588</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5589 5590 <div 5591 class="flex items-center justify-between h-full gap-" 5592 5593 > 5594 5595 <a href="/collections/rollers" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5596 5597 5598 5599 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5600 <span class="flex flex-wrap gap-x-2"> 5601 5602 5603 5604 5605 <span>Hot Rollers</span> 5606 5607 5608 5609 5610 </span> 5611 5612 </span> 5613 </a> 5614</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5615 5616 <div 5617 class="flex items-center justify-between h-full gap-" 5618 5619 > 5620 5621 <a href="/collections/gogo-mini-styling-tools" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5622 5623 5624 5625 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5626 <span class="flex flex-wrap gap-x-2"> 5627 5628 5629 5630 5631 <span>GoGo Mini</span> 5632 5633 5634 5635 5636 </span> 5637 5638 </span> 5639 </a> 5640</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5641 5642 <div 5643 class="flex items-center justify-between h-full gap-" 5644 5645 > 5646 5647 <a href="/products/bodywaver-large-wave-hair-styler" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5648 5649 5650
5651 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5652 <span class="flex flex-wrap gap-x-2"> 5653 5654 5655 5656 5657 <span>Bodywaver</span> 5658 5659 5660 5661 5662 </span> 5663 5664 </span> 5665 </a> 5666</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5667 5668 <div 5669 class="flex items-center justify-between h-full gap-" 5670 5671 > 5672 5673 <a href="/collections/fauxblo-thermal-blowout-brushes" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5674 5675 5676 5677 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5678 <span class="flex flex-wrap gap-x-2"> 5679 5680 5681 5682 5683 <span>FAUXblo</span> 5684 5685 5686 5687 5688 </span> 5689 5690 </span> 5691 </a> 5692</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5693 5694 <div 5695 class="flex items-center justify-between h-full gap-" 5696 5697 > 5698 5699 <a href="/collections/triangl-pro" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5700 5701 5702 5703 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5704 <span class="flex flex-wrap gap-x-2"> 5705 5706 5707 5708 5709 <span>Triangl Pro</span> 5710 5711 5712 5713 5714 </span> 5715 5716 </span> 5717 </a> 5718</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5719 5720 <div 5721 class="flex items-center justify-between h-full gap-" 5722 5723 > 5724 5725 <a href="/collections/hair-styling-tools" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5726 5727 5728 5729 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5730 <span class="flex flex-wrap gap-x-2"> 5731 5732 5733 5734 5735 <span>All Hair Tools</span> 5736 5737 5738 5739 5740 </span> 5741 5742 </span> 5743 </a> 5744</div></li></ul> 5745 </div> 5746 </div><div @click="$store.xMobileNav.scrollTop($el); $store.xMobileNav.setActiveLink('-4')" 5747 class="flex items-center gap-4 pr-4 pl-4 border-b" 5748 ><style data-shopify> 5749 5750</style> 5751 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 5752 5753 5754 5755 <span class="flex flex-wrap gap-x-2"> 5756 <span class="p-break-words font-medium font-menu-level-0"> 5757 5758 5759 5760
5761 <span>Shop by Product Type</span> 5762 5763 5764 </span> 5765 5766 5767 </span> 5768 </span> 5769<span 5770 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 5771 > 5772 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5773 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 5774 </svg> 5775</span></div><div 5776 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible translate-x-full" 5777 :class="{ 'menu-opening': $store.xMobileNav.currentMenuLinks.includes('-4')}" 5778 > 5779 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 5780 :class="$store.xMobileNav.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 5781 > 5782 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 5783 <div class="flex items-center"> 5784 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 5785 @click="$store.xMobileNav.removeActiveLink('-4'); " 5786 > 5787 5788 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5789 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 5790 </svg> 5791 5792 </span> 5793 <a href="/collections/all-products" class="flex relative flex-wrap gap-x-2 flex-1 font-medium disable-effect"> 5794 <span class="p-break-words font-menu-level-0"> 5795 5796 5797 5798 5799 <span>Shop by Product Type</span> 5800 5801 5802 </span> 5803 5804 5805 </a> 5806 </div> 5807 <span 5808 class="cursor-pointer icon-close-container inline-block group-close-btn rounded-full" 5809 @click="setTimeout(() => { $store.xMobileNav.close() }, 0)" 5810 > 5811 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5812 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 5813 </svg> 5814</span> 5815 </div> 5816 <ul 5817 id="menu-level-1" 5818 class="background-header w-full" 5819 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5820 5821 <div 5822 class="flex items-center justify-between h-full gap-" 5823 5824 > 5825 5826 <a href="/collections/hair-curling-irons" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5827 5828 5829 5830 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5831 <span class="flex flex-wrap gap-x-2"> 5832 5833 5834 5835 5836 <span>Curling Tools</span> 5837 5838 5839 5840 5841 </span> 5842 5843 </span> 5844 </a> 5845</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5846 5847 <div 5848 class="flex items-center justify-between h-full gap-" 5849 5850 > 5851 5852 <a href="/collections/heated-brushes" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5853 5854 5855
5856 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5857 <span class="flex flex-wrap gap-x-2"> 5858 5859 5860 5861 5862 <span>Heated Brushes</span> 5863 5864 5865 5866 5867 </span> 5868 5869 </span> 5870 </a> 5871</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5872 5873 <div 5874 class="flex items-center justify-between h-full gap-" 5875 5876 > 5877 5878 <a href="/collections/hair-straighteners" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5879 5880 5881 5882 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5883 <span class="flex flex-wrap gap-x-2"> 5884 5885 5886 5887 5888 <span>Straightening Tools</span> 5889 5890 5891 5892 5893 </span> 5894 5895 </span> 5896 </a> 5897</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5898 5899 <div 5900 class="flex items-center justify-between h-full gap-" 5901 5902 > 5903 5904 <a href="/collections/hair-dryers" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5905 5906 5907 5908 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5909 <span class="flex flex-wrap gap-x-2"> 5910 5911 5912 5913 5914 <span>Hair Dryers</span> 5915 5916 5917 5918 5919 </span> 5920 5921 </span> 5922 </a> 5923</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5924 5925 <div 5926 class="flex items-center justify-between h-full gap-" 5927 5928 > 5929 5930 <a href="/collections/hair-spray" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5931 5932 5933 5934 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5935 <span class="flex flex-wrap gap-x-2"> 5936 5937 5938 5939 5940 <span>Hairsprays</span> 5941 5942 5943 5944 5945 </span> 5946 5947 </span> 5948 </a> 5949</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5950 5951 <div 5952 class="flex items-center justify-between h-full gap-" 5953 5954 > 5955 5956 <a href="/collections/hair-products-for-texture" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5957 5958 5959
5960 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5961 <span class="flex flex-wrap gap-x-2"> 5962 5963 5964 5965 5966 <span>Texturizers</span> 5967 5968 5969 5970 5971 </span> 5972 5973 </span> 5974 </a> 5975</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 5976 5977 <div 5978 class="flex items-center justify-between h-full gap-" 5979 5980 > 5981 5982 <a href="/collections/hair-cleanse-condition-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 5983 5984 5985 5986 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 5987 <span class="flex flex-wrap gap-x-2"> 5988 5989 5990 5991 5992 <span>Shampoo & Conditioner</span> 5993 5994 5995 5996 5997 </span> 5998 5999 </span> 6000 </a> 6001</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6002 6003 <div 6004 class="flex items-center justify-between h-full gap-" 6005 6006 > 6007 6008 <a href="/collections/hair-styling-creams-and-paste" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6009 6010 6011 6012 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6013 <span class="flex flex-wrap gap-x-2"> 6014 6015 6016 6017 6018 <span>Styling Creams & Foams</span> 6019 6020 6021 6022 6023 </span> 6024 6025 </span> 6026 </a> 6027</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6028 6029 <div 6030 class="flex items-center justify-between h-full gap-" 6031 6032 > 6033 6034 <a href="/collections/hair-brushes" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6035 6036 6037 6038 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6039 <span class="flex flex-wrap gap-x-2"> 6040 6041 6042 6043 6044 <span>Brushes & Clips</span> 6045 6046 6047 6048 6049 </span> 6050 6051 </span> 6052 </a> 6053</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6054 6055 <div 6056 class="flex items-center justify-between h-full gap-" 6057 6058 > 6059 6060 <a href="/collections/hair-treatments" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6061 6062 6063
6064 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6065 <span class="flex flex-wrap gap-x-2"> 6066 6067 6068 6069 6070 <span>Hair Treatments</span> 6071 6072 6073 6074 6075 </span> 6076 6077 </span> 6078 </a> 6079</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6080 6081 <div 6082 class="flex items-center justify-between h-full gap-" 6083 6084 > 6085 6086 <a href="/collections/all-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6087 6088 6089 6090 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6091 <span class="flex flex-wrap gap-x-2"> 6092 6093 6094 6095 6096 <span>Shop All</span> 6097 6098 6099 6100 6101 </span> 6102 6103 </span> 6104 </a> 6105</div></li></ul> 6106 </div> 6107 </div><div @click="$store.xMobileNav.scrollTop($el); $store.xMobileNav.setActiveLink('-5')" 6108 class="flex items-center gap-4 pr-4 pl-4 border-b" 6109 ><style data-shopify> 6110 6111</style> 6112 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 6113 6114 6115 6116 <span class="flex flex-wrap gap-x-2"> 6117 <span class="p-break-words font-medium font-menu-level-0"> 6118 6119 6120 6121 6122 <span>Sale</span> 6123 6124 6125 </span> 6126 6127 6128 </span> 6129 </span> 6130<span 6131 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 6132 > 6133 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6134 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6135 </svg> 6136</span></div><div 6137 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible translate-x-full" 6138 :class="{ 'menu-opening': $store.xMobileNav.currentMenuLinks.includes('-5')}" 6139 > 6140 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 6141 :class="$store.xMobileNav.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 6142 > 6143 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 6144 <div class="flex items-center"> 6145 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 6146 @click="$store.xMobileNav.removeActiveLink('-5'); " 6147 > 6148 6149 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6150 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6151 </svg> 6152 6153 </span> 6154 <a href="/collections/sale" class="flex relative flex-wrap gap-x-2 flex-1 font-medium disable-effect"> 6155 <span class="p-break-words font-menu-level-0"> 6156 6157 6158 6159 6160 <span>Sale</span> 6161 6162 6163 </span> 6164 6165 6166 </a> 6167 </div>
6168 <span 6169 class="cursor-pointer icon-close-container inline-block group-close-btn rounded-full" 6170 @click="setTimeout(() => { $store.xMobileNav.close() }, 0)" 6171 > 6172 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6173 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 6174 </svg> 6175</span> 6176 </div> 6177 <ul 6178 id="menu-level-1" 6179 class="background-header w-full" 6180 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6181 6182 <div 6183 class="flex items-center justify-between h-full gap-" 6184 6185 > 6186 6187 <a href="/collections/vault-tools" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6188 6189 6190 6191 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6192 <span class="flex flex-wrap gap-x-2"> 6193 6194 6195 6196 6197 <span>Vault Tools</span> 6198 6199 6200 6201 6202 </span> 6203 6204 </span> 6205 </a> 6206</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6207 6208 <div 6209 class="flex items-center justify-between h-full gap-" 6210 6211 > 6212 6213 <a href="/collections/refurbished-tools" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6214 6215 6216 6217 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6218 <span class="flex flex-wrap gap-x-2"> 6219 6220 6221 6222 6223 <span>Refurbished Tools</span> 6224 6225 6226 6227 6228 </span> 6229 6230 </span> 6231 </a> 6232</div></li></ul> 6233 </div> 6234 </div><div 6235 class="flex items-center gap-4 pr-4 pl-4 border-b" 6236 ><style data-shopify> 6237 6238</style> 6239 <a href="/collections/hair-styling-kits-sets" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect"> 6240 6241 6242 6243 <span class="flex flex-wrap gap-x-2"> 6244 <span class="p-break-words font-medium font-menu-level-0"> 6245 6246 6247 6248 6249 <span>Value Sets</span> 6250 6251 6252 </span> 6253 6254 6255 </span> 6256 </a> 6257</div><div 6258 class="flex items-center gap-4 pr-4 pl-4 border-b" 6259 ><style data-shopify> 6260 6261</style> 6262 <a href="/blogs/beautybrave" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect"> 6263 6264 6265 6266 <span class="flex flex-wrap gap-x-2"> 6267 <span class="p-break-words font-medium font-menu-level-0"> 6268 6269 6270 6271 6272 <span>Blog</span> 6273 6274 6275 </span> 6276 6277 6278 </span> 6279 </a> 6280</div><div 6281 class="flex items-center gap-4 pr-4 pl-4 border-b" 6282 ><style data-shopify> 6283 6284</style> 6285 <a href="#smile-home" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect"> 6286 6287 6288
6289 <span class="flex flex-wrap gap-x-2"> 6290 <span class="p-break-words font-medium font-menu-level-0"> 6291 6292 6293 6294 6295 <span>Rewards</span> 6296 6297 6298 </span> 6299 6300 6301 </span> 6302 </a> 6303</div><div 6304 class="flex items-center gap-4 pr-4 pl-4 border-b" 6305 ><style data-shopify> 6306 6307</style> 6308 <a href="/pages/our-story" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect"> 6309 6310 6311 6312 <span class="flex flex-wrap gap-x-2"> 6313 <span class="p-break-words font-medium font-menu-level-0"> 6314 6315 6316 6317 6318 <span>About Us</span> 6319 6320 6321 </span> 6322 6323 6324 </span> 6325 </a> 6326</div> 6327</li><li class="x-block-login block-mobile-navigation block-mobile-navigation-account pl-4 pr-4 block-mobile-navigation-after" > 6328 <style data-shopify> 6329 .x-block-login.block-mobile-navigation shopify-account::part(signed-out-avatar):after{ 6330 font-family: var(--font-body-family); 6331 content: 'Log in'; 6332 font-weight: 500; 6333 6334 } 6335 </style> 6336 6337 <div class=" font-medium pt-3.5 pb-3.5 flex items-center disable-effect"> 6338 <shopify-account menu="customer-account-main-menu"> 6339 <div slot="signed-out-avatar"> 6340 <span class="w-6 h-6 mr-2 rtl:mr-0 rtl:ml-2 block"> 6341 6342 <svg class="" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none"> 6343 <path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M21.776 23v-2.444a4.889 4.889 0 0 0-4.889-4.889H7.109a4.889 4.889 0 0 0-4.889 4.889V23 M11.998 10.778a4.889 4.889 0 1 0 0-9.778 4.889 4.889 0 0 0 0 9.778"/> 6344 </svg> 6345 6346 6347 </span> 6348 </div> 6349 </shopify-account> 6350 6351 </div> 6352 </li> 6353 </ul> 6354 </div> 6355 6356 <div class="block-mobile-navigation x-header-store-selector-container font-menu-level-2 empty:hidden pl-4 pr-4 flex"></div></div> 6357 </div> 6358</template> 6359</div><div id="shopify-section-sections--26875466350902__menu-drawer" class="shopify-section shopify-section-group-header-group section-menu-drawer"><style data-shopify>#menu-drawer * {border-color: #f2f2f2;} 6360 .dark #menu-drawer * {border-color: #313131;} 6361 #menu-drawer .text-color, 6362 #menu-drawer .background-header {background: #ffffff;--colors-heading: 0, 0, 0; 6363 color: #000000; 6364 --colors-text-header: 0, 0, 0; 6365 --colors-text-link: 51, 50, 46; 6366 6367 } 6368 .dark #menu-drawer .text-color, 6369 .dark #menu-drawer .background-header {background: #202020;--colors-heading: 255, 255, 255; 6370 color: #ffffff; 6371 --colors-text-header: 255, 255, 255; 6372 --colors-text-link: 255, 255, 255; 6373 --colors-text-link: 145, 180, 116; 6374 6375 } 6376 6377 .font-menu-level-0 { 6378 font-size: 1.25rem; 6379 } 6380 .font-menu-level-1 { 6381 font-size: 1.0rem; 6382 } 6383 .font-menu-level-2 { 6384 font-size: 0.875rem; 6385 } 6386 6387 .block-menu-drawer-account .font-menu-level-1, 6388 .block-menu-drawer-cart .font-menu-level-1, 6389 .block-menu-drawer-text .font-menu-level-1, 6390 .block-menu-drawer-button .button-text 6391 { 6392 font-size: 1.0rem; 6393 font-weight: var(--font-body-weight); 6394 } 6395 .block-menu-drawer-after::after { 6396 content: var(--tw-content); 6397 position: absolute; 6398 width: 100%; 6399 left: 0; 6400 border-bottom-width: 1px;border-color: #f2f2f2;} 6401 .dark .block-menu-drawer-after::after {border-color: #313131;} 6402 #menu-drawer #selector-social { 6403 width: 100%; 6404 }</style><div 6405 class="z-[70] fixed top-0 h-full w-full opacity-60 bg-black" 6406 x-show="$store.xMenuDrawer.show" 6407 x-cloak 6408 @click="setTimeout(() => { $store.xMenuDrawer.close() }, 0)" 6409></div>
6410<template x-if="!$store.xInit.runDispatch"> 6411 <div 6412 id="menu-drawer" 6413 :class="{ 'menu-opening': $store.xMenuDrawer.show }" 6414 class="menu-drawer fixed z-[70] top-0 bottom-0 w-full max-w-[480px] motion-reduce overflow-hidden ltr left-0 -translate-x-full" 6415 > 6416 <div class="x-container-draw-menu background-header gradient menu-drawer duration-300 ease-in-out overflow-hidden h-full flex flex-col"> 6417 <div class="x-block-draw-menu-close pt-4 pb-4 pl-4 pr-4 w-full flex justify-between items-center" 6418 aria-label="Close" 6419 > 6420 <span class="font-menu-level-2 uppercase">Menu</span> 6421 <span 6422 class="cursor-pointer icon-close-container inline-block group-close-btn rounded-full absolute top-2 right-2 rtl:right-auto rtl:left-2" 6423 @click="setTimeout(() => { $store.xMenuDrawer.close() }, 0)" 6424 > 6425 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6426 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 6427 </svg> 6428</span> 6429 </div> 6430 <div 6431 id="menu-navigation" 6432 class="h-full flex-1 overflow-x-hidden scrollbar-body overflow-y-auto scrollbar-stable" 6433 > 6434 6435 <ul 6436 x-data="{ openCur: 0 }" 6437 id="menu-level-0" 6438 role="list" 6439 class="menu-parent relative h-full w-full" 6440 > 6441 <li class="block-menu-drawer-menu"> 6442 <span class="flex empty:hidden border-t ml-4 mr-4"></span> 6443 6444 6445 6446 6447<div @click="$store.xMenuDrawer.scrollTop($el); $store.xMenuDrawer.setActiveLink('-1')" 6448 class="flex items-center gap-4 pr-4 pl-4 border-b" 6449 ><style data-shopify> 6450 6451 6452</style> 6453 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 6454 6455 6456 6457 <span class="flex flex-wrap gap-x-2"> 6458 <span class="p-break-words font-medium font-menu-level-0"> 6459 6460 6461 <span>BEST FOR</span> 6462 6463 </span> 6464 6465 6466 6467 </span> 6468 </span> 6469<span 6470 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 6471 > 6472 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6473 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6474 </svg> 6475</span></div><div 6476 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible -translate-x-full" 6477 :class="{ 'menu-opening': $store.xMenuDrawer.currentMenuLinks.includes('-1')}" 6478 > 6479 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 6480 :class="$store.xMenuDrawer.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 6481 > 6482 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 6483 <div class="flex items-center"> 6484 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 6485 @click="$store.xMenuDrawer.removeActiveLink('-1'); " 6486 > 6487 6488 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6489 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6490 </svg> 6491 6492 </span> 6493 <a href="/collections/hair-products" class="flex flex-wrap gap-x-2 flex-1 font-medium disable-effect"> 6494 <span class="p-break-words font-menu-level-0"> 6495 6496 6497 <span>BEST FOR</span> 6498 6499 </span> 6500 6501 6502 6503 </a> 6504 </div>
6505 <span 6506 class="cursor-pointer icon-close-container group-close-btn inline-block rounded-full" 6507 @click="setTimeout(() => { $store.xMenuDrawer.close() }, 0)" 6508 > 6509 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6510 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 6511 </svg> 6512</span> 6513 </div> 6514 <ul 6515 id="menu-level-1" 6516 class="background-header w-full" 6517 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6518 6519 <div 6520 class="flex items-center justify-between h-full gap-" 6521 6522 > 6523 6524 <a href="/collections/hair-products-for-heat-protection" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6525 6526 6527 6528 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6529 <span class="flex flex-wrap gap-x-2"> 6530 6531 6532 <span>HEAT PROTECTION</span> 6533 6534 6535 6536 6537 </span> 6538 6539 </span> 6540 </a> 6541</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6542 6543 <div 6544 class="flex items-center justify-between h-full gap-" 6545 6546 > 6547 6548 <a href="/collections/color-maintenance-hair-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6549 6550 6551 6552 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6553 <span class="flex flex-wrap gap-x-2"> 6554 6555 6556 <span>COLOR MAINTENANCE</span> 6557 6558 6559 6560 6561 </span> 6562 6563 </span> 6564 </a> 6565</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6566 6567 <div 6568 class="flex items-center justify-between h-full gap-" 6569 6570 > 6571 6572 <a href="/collections/hair-products-for-volume-and-lift" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6573 6574 6575 6576 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6577 <span class="flex flex-wrap gap-x-2"> 6578 6579 6580 <span>VOLUME + LIFT</span> 6581 6582 6583 6584 6585 </span> 6586 6587 </span> 6588 </a> 6589</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6590 6591 <div 6592 class="flex items-center justify-between h-full gap-" 6593 6594 > 6595 6596 <a href="/collections/hair-products-for-texture" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6597 6598 6599 6600 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2">
6601 <span class="flex flex-wrap gap-x-2"> 6602 6603 6604 <span>TEXTURE</span> 6605 6606 6607 6608 6609 </span> 6610 6611 </span> 6612 </a> 6613</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6614 6615 <div 6616 class="flex items-center justify-between h-full gap-" 6617 6618 > 6619 6620 <a href="/collections/hair-products-for-waves-and-curls" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6621 6622 6623 6624 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6625 <span class="flex flex-wrap gap-x-2"> 6626 6627 6628 <span>CURLS + WAVES</span> 6629 6630 6631 6632 6633 </span> 6634 6635 </span> 6636 </a> 6637</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6638 6639 <div 6640 class="flex items-center justify-between h-full gap-" 6641 6642 > 6643 6644 <a href="/collections/smoothing-and-shiny-hair-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6645 6646 6647 6648 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6649 <span class="flex flex-wrap gap-x-2"> 6650 6651 6652 <span>SMOOTHNESS + SHINE</span> 6653 6654 6655 6656 6657 </span> 6658 6659 </span> 6660 </a> 6661</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6662 6663 <div 6664 class="flex items-center justify-between h-full gap-" 6665 6666 > 6667 6668 <a href="/collections/frizz-control-hair-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6669 6670 6671 6672 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6673 <span class="flex flex-wrap gap-x-2"> 6674 6675 6676 <span>FRIZZ CONTROL</span> 6677 6678 6679 6680 6681 </span> 6682 6683 </span> 6684 </a> 6685</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6686 6687 <div 6688 class="flex items-center justify-between h-full gap-" 6689 6690 > 6691 6692 <a href="/collections/thickening-hair-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6693 6694 6695 6696 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6697 <span class="flex flex-wrap gap-x-2"> 6698 6699 6700 <span>THICKENING</span> 6701 6702 6703 6704 6705 </span> 6706 6707 </span> 6708 </a> 6709</div></li>
6709<li class="border-b pb-3 pl-4 pr-4 pt-3"> 6710 6711 <div 6712 class="flex items-center justify-between h-full gap-" 6713 6714 > 6715 6716 <a href="/collections/hair-products-for-scalp-health" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6717 6718 6719 6720 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6721 <span class="flex flex-wrap gap-x-2"> 6722 6723 6724 <span>SCALP HEALTH</span> 6725 6726 6727 6728 6729 </span> 6730 6731 </span> 6732 </a> 6733</div></li></ul> 6734 </div> 6735 </div><div @click="$store.xMenuDrawer.scrollTop($el); $store.xMenuDrawer.setActiveLink('-2')" 6736 class="flex items-center gap-4 pr-4 pl-4 border-b" 6737 ><style data-shopify> 6738 6739 6740</style> 6741 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 6742 6743 6744 6745 <span class="flex flex-wrap gap-x-2"> 6746 <span class="p-break-words font-medium font-menu-level-0"> 6747 6748 6749 <span>CLEANSE + CONDITION </span> 6750 6751 </span> 6752 6753 6754 6755 </span> 6756 </span> 6757<span 6758 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 6759 > 6760 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6761 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6762 </svg> 6763</span></div><div 6764 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible -translate-x-full" 6765 :class="{ 'menu-opening': $store.xMenuDrawer.currentMenuLinks.includes('-2')}" 6766 > 6767 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 6768 :class="$store.xMenuDrawer.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 6769 > 6770 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 6771 <div class="flex items-center"> 6772 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 6773 @click="$store.xMenuDrawer.removeActiveLink('-2'); " 6774 > 6775 6776 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6777 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6778 </svg> 6779 6780 </span> 6781 <a href="/collections/hair-cleanse-condition-products" class="flex flex-wrap gap-x-2 flex-1 font-medium disable-effect"> 6782 <span class="p-break-words font-menu-level-0"> 6783 6784 6785 <span>CLEANSE + CONDITION </span> 6786 6787 </span> 6788 6789 6790 6791 </a> 6792 </div> 6793 <span 6794 class="cursor-pointer icon-close-container group-close-btn inline-block rounded-full" 6795 @click="setTimeout(() => { $store.xMenuDrawer.close() }, 0)" 6796 > 6797 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6798 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 6799 </svg> 6800</span> 6801 </div> 6802 <ul 6803 id="menu-level-1" 6804 class="background-header w-full" 6805 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6806 6807 <div 6808 class="flex items-center justify-between h-full gap-" 6809 6810 > 6811 6812 <a href="/collections/hair-care-conditioners" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6813 6814 6815
6816 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6817 <span class="flex flex-wrap gap-x-2"> 6818 6819 6820 <span>CONDITION</span> 6821 6822 6823 6824 6825 </span> 6826 6827 </span> 6828 </a> 6829</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6830 6831 <div 6832 class="flex items-center justify-between h-full gap-" 6833 6834 > 6835 6836 <a href="/products/day-off-dry-shampoo-7oz" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6837 6838 6839 6840 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6841 <span class="flex flex-wrap gap-x-2"> 6842 6843 6844 <span>DRY SHAMPOO</span> 6845 6846 6847 6848 6849 </span> 6850 6851 </span> 6852 </a> 6853</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6854 6855 <div 6856 class="flex items-center justify-between h-full gap-" 6857 6858 > 6859 6860 <a href="/collections/color-maintenance-hair-products" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6861 6862 6863 6864 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6865 <span class="flex flex-wrap gap-x-2"> 6866 6867 6868 <span>COLOR PROTECTION</span> 6869 6870 6871 6872 6873 </span> 6874 6875 </span> 6876 </a> 6877</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6878 6879 <div 6880 class="flex items-center justify-between h-full gap-" 6881 6882 > 6883 6884 <a href="/products/jousse-mend-masque" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6885 6886 6887 6888 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6889 <span class="flex flex-wrap gap-x-2"> 6890 6891 6892 <span>HAIR MASQUES</span> 6893 6894 6895 6896 6897 </span> 6898 6899 </span> 6900 </a> 6901</div></li></ul> 6902 </div> 6903 </div><div @click="$store.xMenuDrawer.scrollTop($el); $store.xMenuDrawer.setActiveLink('-3')" 6904 class="flex items-center gap-4 pr-4 pl-4 border-b" 6905 ><style data-shopify> 6906 6907 6908</style> 6909 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 6910 6911 6912 6913 <span class="flex flex-wrap gap-x-2"> 6914 <span class="p-break-words font-medium font-menu-level-0"> 6915 6916 6917 <span>STYLING </span> 6918 6919 </span> 6920 6921 6922 6923 </span> 6924 </span> 6925<span 6926 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 6927 >
6928 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6929 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6930 </svg> 6931</span></div><div 6932 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible -translate-x-full" 6933 :class="{ 'menu-opening': $store.xMenuDrawer.currentMenuLinks.includes('-3')}" 6934 > 6935 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 6936 :class="$store.xMenuDrawer.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 6937 > 6938 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 6939 <div class="flex items-center"> 6940 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 6941 @click="$store.xMenuDrawer.removeActiveLink('-3'); " 6942 > 6943 6944 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6945 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 6946 </svg> 6947 6948 </span> 6949 <a href="/collections/hair-styling-products" class="flex flex-wrap gap-x-2 flex-1 font-medium disable-effect"> 6950 <span class="p-break-words font-menu-level-0"> 6951 6952 6953 <span>STYLING </span> 6954 6955 </span> 6956 6957 6958 6959 </a> 6960 </div> 6961 <span 6962 class="cursor-pointer icon-close-container group-close-btn inline-block rounded-full" 6963 @click="setTimeout(() => { $store.xMenuDrawer.close() }, 0)" 6964 > 6965 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 6966 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 6967 </svg> 6968</span> 6969 </div> 6970 <ul 6971 id="menu-level-1" 6972 class="background-header w-full" 6973 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6974 6975 <div 6976 class="flex items-center justify-between h-full gap-" 6977 6978 > 6979 6980 <a href="/collections/root-touch-up" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 6981 6982 6983 6984 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 6985 <span class="flex flex-wrap gap-x-2"> 6986 6987 6988 <span>ROOT TOUCH-UP</span> 6989 6990 6991 6992 6993 </span> 6994 6995 </span> 6996 </a> 6997</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 6998 6999 <div 7000 class="flex items-center justify-between h-full gap-" 7001 7002 > 7003 7004 <a href="/collections/hair-spray" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7005 7006 7007 7008 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7009 <span class="flex flex-wrap gap-x-2"> 7010 7011 7012 <span>HAIRSPRAYS</span> 7013 7014 7015 7016 7017 </span> 7018 7019 </span> 7020 </a> 7021</div></li>
7021<li class="border-b pb-3 pl-4 pr-4 pt-3"> 7022 7023 <div 7024 class="flex items-center justify-between h-full gap-" 7025 7026 > 7027 7028 <a href="/collections/hair-styling-creams-and-paste" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7029 7030 7031 7032 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7033 <span class="flex flex-wrap gap-x-2"> 7034 7035 7036 <span>CREAMS + PASTES</span> 7037 7038 7039 7040 7041 </span> 7042 7043 </span> 7044 </a> 7045</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 7046 7047 <div 7048 class="flex items-center justify-between h-full gap-" 7049 7050 > 7051 7052 <a href="/collections/hair-products-for-texture" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7053 7054 7055 7056 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7057 <span class="flex flex-wrap gap-x-2"> 7058 7059 7060 <span>TEXTURIZERS</span> 7061 7062 7063 7064 7065 </span> 7066 7067 </span> 7068 </a> 7069</div></li></ul> 7070 </div> 7071 </div><div @click="$store.xMenuDrawer.scrollTop($el); $store.xMenuDrawer.setActiveLink('-4')" 7072 class="flex items-center gap-4 pr-4 pl-4 border-b" 7073 ><style data-shopify> 7074 7075 7076</style> 7077 <span class="flex-1 pt-2.5 pb-2.5 flex gap-4 items-center disable-effect"> 7078 7079 7080 7081 <span class="flex flex-wrap gap-x-2"> 7082 <span class="p-break-words font-medium font-menu-level-0"> 7083 7084 7085 <span>TOOLS</span> 7086 7087 </span> 7088 7089 7090 7091 </span> 7092 </span> 7093<span 7094 class="icon-caret-mobile h-3 w-3 min-h-3 min-w-[12px] block -rotate-90" 7095 > 7096 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 7097 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7098 </svg> 7099</span></div><div 7100 class="menu-drawer duration-300 ease-in-out top-0 left-0 fixed background-header w-full h-full z-30 invisible -translate-x-full" 7101 :class="{ 'menu-opening': $store.xMenuDrawer.currentMenuLinks.includes('-4')}" 7102 > 7103 <div class="overflow-x-hidden pb-4 scrollbar-body absolute top-0 z-30 w-full h-full" 7104 :class="$store.xMenuDrawer.currentMenuLinks.length == 2 ? 'overflow-hidden' : 'overflow-y-auto'" 7105 > 7106 <div class="flex items-center sticky top-0 background-header z-30 pt-4 pb-4 pl-4 pr-4 gap-4 justify-between"> 7107 <div class="flex items-center"> 7108 <span class="w-10 h-10 min-w-[40px] min-h-10 pl-3 pr-3 pt-6 block rotate-90" 7109 @click="$store.xMenuDrawer.removeActiveLink('-4'); " 7110 > 7111 7112 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 7113 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7114 </svg> 7115 7116 </span> 7117 <a href="/collections/hair-styling-tools" class="flex flex-wrap gap-x-2 flex-1 font-medium disable-effect">
7118 <span class="p-break-words font-menu-level-0"> 7119 7120 7121 <span>TOOLS</span> 7122 7123 </span> 7124 7125 7126 7127 </a> 7128 </div> 7129 <span 7130 class="cursor-pointer icon-close-container group-close-btn inline-block rounded-full" 7131 @click="setTimeout(() => { $store.xMenuDrawer.close() }, 0)" 7132 > 7133 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 7134 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 7135 </svg> 7136</span> 7137 </div> 7138 <ul 7139 id="menu-level-1" 7140 class="background-header w-full" 7141 ><li class="border-b pb-3 pl-4 pr-4 pt-3"> 7142 7143 <div 7144 class="flex items-center justify-between h-full gap-" 7145 7146 > 7147 7148 <a href="/collections/hair-dryers" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7149 7150 7151 7152 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7153 <span class="flex flex-wrap gap-x-2"> 7154 7155 7156 <span>DRYERS</span> 7157 7158 7159 7160 7161 </span> 7162 7163 </span> 7164 </a> 7165</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 7166 7167 <div 7168 class="flex items-center justify-between h-full gap-" 7169 7170 > 7171 7172 <a href="/collections/hair-brushes" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7173 7174 7175 7176 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7177 <span class="flex flex-wrap gap-x-2"> 7178 7179 7180 <span>BRUSHES</span> 7181 7182 7183 7184 7185 </span> 7186 7187 </span> 7188 </a> 7189</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 7190 7191 <div 7192 class="flex items-center justify-between h-full gap-" 7193 7194 > 7195 7196 <a href="/collections/hair-curling-irons" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7197 7198 7199 7200 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7201 <span class="flex flex-wrap gap-x-2"> 7202 7203 7204 <span>CURLING IRONS</span> 7205 7206 7207 7208 7209 </span> 7210 7211 </span> 7212 </a> 7213</div></li><li class="border-b pb-3 pl-4 pr-4 pt-3"> 7214 7215 <div 7216 class="flex items-center justify-between h-full gap-" 7217 7218 > 7219 7220 <a href="/collections/hair-straighteners" class="p-break-words h-full flex gap-3 flex-1 disable-effect items-center"> 7221 7222 7223
7224 <span class="flex justify-between items-center font-medium font-menu-level-1 mt-auto mb-auto w-full gap-2"> 7225 <span class="flex flex-wrap gap-x-2"> 7226 7227 7228 <span>STRAIGHTENERS</span> 7229 7230 7231 7232 7233 </span> 7234 7235 </span> 7236 </a> 7237</div></li></ul> 7238 </div> 7239 </div> 7240</li> 7241 7242 </ul> 7243 </div></div> 7244 </div> 7245</template> 7246 7247
7248<script src="//calistatools.com/cdn/shop/t/144/assets/menu-drawer.js?v=108636980082274135241782330849" defer></script>
7248 7249</div> 7250<!-- END sections: header-group --> 7251 <!-- BEGIN sections: aside-group --> 7252<div id="shopify-section-sections--26875465072950__product-labels-and-badges" class="shopify-section shopify-section-group-aside-group section-product-labels-and-badges"><style data-shopify>.x-badge-product-labels-and-badges-1 .x-badge-content.x-badge-text{ 7253 background-color:#33322e; 7254 color:#ffffff; 7255 7256 } 7257 .dark .x-badge-product-labels-and-badges-1 .x-badge-content.x-badge-text{ 7258 background-color:#33322e; 7259 color:#ffffff; 7260 7261 border-width: 0; 7262 7263 }.x-badge-product-labels-and-badges-1 { 7264 --font-size-scale: 0.6rem; 7265 7266 } 7267 @media (min-width: 768px) { 7268 .x-badge-product-labels-and-badges-1 { 7269 --font-size-scale: 0.6rem; 7270 7271 } 7272 }.x-badge-text_label_kNcNKQ .x-badge-content.x-badge-text{ 7273 background-color:#ffffff; 7274 color:#33322e; 7275 7276 } 7277 .dark .x-badge-text_label_kNcNKQ .x-badge-content.x-badge-text{ 7278 background-color:#101010; 7279 color:#ffffff; 7280 7281 border-width: 0; 7282 7283 }.x-badge-text_label_kNcNKQ { 7284 --font-size-scale: 0.5rem; 7285 7286 } 7287 @media (min-width: 768px) { 7288 .x-badge-text_label_kNcNKQ { 7289 --font-size-scale: 0.6rem; 7290 7291 } 7292 }</style> 7293 <div class="x-badges-block-data" x-badges-block-data='{ 7294 "id": "product-labels-and-badges-1", 7295 "enable": true, 7296 "type": "sold-out-label", 7297 "settings": { 7298 "show_on_product_card": true, 7299 "show_on_product_page": false, 7300 "applied_to": "", 7301 "applied_products": [], 7302 "applied_collections": [], 7303 "content": "Sold Out", 7304 7305 "type": "square", 7306 7307 "background_color": "#33322e", 7308 "text_color": "#ffffff", 7309 "image": null, 7310 "image_alt": "", 7311 "image_aspect_ratio": 0, 7312 "size": 1, 7313 "size_mobile": 1, 7314 "opacity": 100, 7315 "position": "top-left", 7316 "horizontal_position": 6, 7317 "vertical_position": 3, 7318 "schedule_enabled": false, 7319 "reset": false, 7320 "duration": 0, 7321 "timezone": 0, 7322 "start_year": 0, 7323 "start_month": 0, 7324 "start_day": 0, 7325 "start_hour": 0, 7326 "start_minute": 0, 7327 "end_year": 0, 7328 "end_month": 0, 7329 "end_day": 0, 7330 "end_hour": 0, 7331 "end_minute": 0, 7332 "day_since": "none", 7333 "number_show": 30 7334 } 7335 }' x-badges-icon=''></div> 7336 <div class="x-badges-block-data" x-badges-block-data='{ 7337 "id": "text_label_kNcNKQ", 7338 "enable": true, 7339 "type": "text-label", 7340 "settings": { 7341 "show_on_product_card": true, 7342 "show_on_product_page": true, 7343 "applied_to": "", 7344 "applied_products": [10521272713526, 10521160843574, 1797342068805], 7345 "applied_collections": [], 7346 "content": "BEST-SELLER", 7347 7348 "type": "square", 7349 7350 "background_color": "#ffffff", 7351 "text_color": "#33322e", 7352 "image": null, 7353 "image_alt": "", 7354 "image_aspect_ratio": 0, 7355 "size": 1, 7356 "size_mobile": 1, 7357 "opacity": 100, 7358 "position": "custom", 7359 "horizontal_position": 0, 7360 "vertical_position": 3, 7361 "schedule_enabled": false, 7362 "reset": false, 7363 "duration": 604800000, 7364 "timezone": -4, 7365 "start_year": 2023, 7366 "start_month": 1, 7367 "start_day": 1, 7368 "start_hour": 0, 7369 "start_minute": 0, 7370 "end_year": 2023, 7371 "end_month": 1, 7372 "end_day": 1, 7373 "end_hour": 0, 7374 "end_minute": 0, 7375 "day_since": "none", 7376 "number_show": 30 7377 } 7378 }' x-badges-icon=''></div>
7378<script src="//calistatools.com/cdn/shop/t/144/assets/labels-and-badges.js?v=115239190121355418111782330849" defer></script>
7378 7379</div><div id="shopify-section-sections--26875465072950__quick-view" class="shopify-section shopify-section-group-aside-group section-product-info section-quick-view"><style data-shopify> 7380 .button--quickview.button-solid, .button--quickview.button-disable-effect, 7381 .button--quickview.button-solid:before {--colors-line-and-border: var(--colors-button);} 7382 .title-size--sections--26875465072950__quick-view { 7383 font-size: 1.215rem; 7384 } 7385 .dark .button--quickview.button-solid, .dark .button--quickview.button-disable-effect, 7386 .dark .button--quickview.button-solid:before {--colors-line-and-border: var(--colors-button);} 7387 @media (min-width: 768px) { 7388 .title-size--sections--26875465072950__quick-view { 7389 font-size: 2.025rem; 7390 } 7391 } 7392 7393 #QuickView .product-info { 7394 padding: 16px 16px 1px 16px; 7395 } 7396 7397 7398 #QuickView .media-thumbnail.quickview-border { 7399 border-width: 1px; 7400 7401 } 7402 7403</style> 7404 7405<div 7406 id="QuickView" 7407 x-show="$store.xQuickView.show" 7408 :class="{ 'overflow-hidden padding-scrollbar': $store.xPopup.open }" 7409 x-cloak 7410 class="quick_view flex items-end md:items-center fixed top-0 left-0 right-0 bottom-0 z-[90] border" 7411 @keydown.escape="$store.xQuickView.removeFocusQuickView('QuickViewButton'); $store.xQuickView.close()" 7412 @init-run.window="$store.xQuickView.addListener()" 7413 @click="$store.xQuickView.clickInsideQuickView($event)" 7414 x-init="if ( window.location.search.includes('_quick-view') == false ) document.querySelector('.main-container').appendChild($el.parentNode)" 7415> 7416 <div class="x-overlay absolute top-0 left-0 right-0 bottom-0 bg-[#acacac] bg-opacity-30"></div> 7417 <div 7418 role="dialog" 7419 aria-label="Quick view" 7420 aria-modal="true" 7421 x-show="$store.xQuickView.show" 7422 class="x-quickview-modal duration-400 pl-0 pr-0 max-h-[85vh] md:max-h-full md:max-w-[480px] w-screen mr-0 ml-auto rtl:ml-0 rtl:mr-auto h-full" 7423 7424 x-transition:enter="transition-all ease-in-out duration-500" 7425 x-transition:enter-start="opacity-0 transform translate-y-1/3 md:translate-y-0 md:translate-x-1/3" 7426 x-transition:enter-end="opacity-100 transform translate-y-0 md:translate-x-0" 7427 x-transition:leave="transition ease-in-out duration-500" 7428 x-transition:leave-end="opacity-0 transform translate-y-1/3 md:translate-y-0 md:translate-x-1/3" 7429 7430 > 7431 <div class="x-container-quickview-body shadow-popup relative bg-[rgba(var(--background-color),1)] h-full md:h-full md:max-h-[calc(100vh-20px)] md:mt-2.5 md:mb-2.5 md:mr-2.5 md:ml-2.5 pb-5 lg:pb-8 2xl:pb-12 flex flex-col" 7432 @click.away="$store.xQuickView.close()" 7433 @click="$store.xQuickView.clickInsideContentQuickView($event)" 7434 x-intersect.full="$store.xQuickView.focusQuickView('QuickView', 'QuickViewClose')" 7435 > 7436 7437 <div class="x-container-quickview-header pl-4 pr-4 md:pl-5 md:pr-5 pt-5 pb-5 flex items-center justify-between"> 7438 <p class="h4 leading-tight p-break-words w-[calc(100%-40px)]">Quick view</p> 7439 <button aria-label="Close quickview" id="QuickViewClose" class="absolute group-close-btn cursor-pointer top-2 right-2 rtl:right-auto rtl:left-2 icon-close-container w-fit z-10 rounded-full" @click.prevent="$store.xQuickView.close()"> 7440 7441 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 7442 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 7443 </svg> 7444 7445 </button> 7446 </div> 7447 7448 <div class="x-container-quickview-content pt-2 md:pt-0 md:pl-5 md:pr-5 overflow-y-auto overflow-x-hidden scrollbar-body h-full"> 7449 <div x-show="$store.xQuickView.loading" class="x-container-quickview-placeholder flex gap-x-[4%] flex-wrap animate-Xpulse flex-row-reverse"> 7450 <div class="w-full bg-slate-200 mb-5 pb-[75%]"></div> 7451 <div class="w-full"> 7452 7453 <p class="mb-2 h-4 w-10 bg-slate-200"></p> 7454 7455 <p class="mb-5 h-5 w-3/4 bg-slate-200"></p><div class="h-5 bg-slate-200 w-20 mb-5 rounded"></div><div class="h-5 bg-slate-200 w-1/3 mb-5 rounded"></div><div class="h-5 bg-slate-200 w-20 mb-5 rounded"></div><div class="h-7 bg-slate-200 w-full mb-5 rounded"></div><div class="h-7 bg-slate-200 w-2/3 mb-5 rounded"></div><div class="h-7 bg-slate-200 w-1/3 mb-5 rounded"></div><div class="h-10 bg-slate-200 w-full mb-5 rounded"></div><div class="h-9 bg-slate-200 w-full mb-5 rounded"></div><div class="h-5 bg-slate-200 w-20 mb-5 rounded"></div></div> 7456 </div>
7457 <div id="quickview-product-content" class="quick-view" x-show="!$store.xQuickView.loading"> 7458 7459<link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/model-css.css?v=47273955803251130321782330849" as="style" onload="this.onload=null;this.rel='stylesheet'"> 7460<noscript><link rel="stylesheet" href="//calistatools.com/cdn/shop/t/144/assets/model-css.css?v=47273955803251130321782330849"></noscript> 7461 7462<style data-shopify> 7463 .section-padding-sections--26875465072950__quick-view { 7464 padding-top: px; 7465 padding-bottom: px; 7466 } 7467 @media (min-width: 768px) { 7468 .section-padding-sections--26875465072950__quick-view { 7469 padding-top: px; 7470 padding-bottom: px; 7471 } 7472 } 7473</style> 7474<div 7475 id="x-product-template-10847775850806-sections--26875465072950__quick-view" 7476 class="x-product-sections--26875465072950__quick-view preload-image w-full relative content-sections--26875465072950__quick-view" 7477 x-data="{ showStickyATC: false, readySticky: false }" 7478 x-intersect.once='$store.xProductRecently.setProduct("10847775850806")' 7479> 7480 <div 7481 class="ltr flex relative flex-wrap flex-col section-padding-sections--26875465072950__quick-view" 7482 7483 x-intersect.once='$store.xCustomerEvent.fire("product_viewed_custom", $el)' 7484 x-customer-event-data="{ 7485 "product": { 7486 "id": 10847775850806, 7487 "selected_variant_id": 54557956276534, 7488 "has_only_default_variant": true, 7489 "title": "GLOSS Caramel Color Enhancement", 7490 "variant_title": "Default Title", 7491 "sku": "GLOSS-CARA", 7492 "currencyCode": "USD", 7493 "price": 3900, 7494 "vendor": "Calista Tools", 7495 "category": "" 7496 } 7497 }" 7498 7499 ><div class="product-media-container w-full relative quick-view:md:pb-0 w-full pb-7 md:pb-0 7500" 7501 > 7502 7503 7504<style data-shopify> 7505.transition-fade .x-splide-slide.is-active .image-detail, 7506.transition-fade .x-splide-slide:first-child .image-detail, 7507.transition-fade .x-splide-slide.is-next .image-detail { 7508 display: block; 7509} 7510.transition-fade .x-splide-slide .image-detail { 7511 display: none; 7512} 7513 7514 #x-product-sections--26875465072950__quick-view { 7515 box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1); 7516 7517 } 7518 7519 7520 @media (max-width: 767px) { 7521 #product-media-sections--26875465072950__quick-view .splide-image::before { 7522 content: ""; 7523 position: absolute; 7524 width: 100%; 7525 top: 0; 7526 left: 0; 7527 height: calc(100% - 60px); 7528 box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1); 7529 7530 } 7531 #x-product-sections--26875465072950__quick-view { 7532 box-shadow: unset; 7533 } 7534 } 7535 7536 7537 7538 #product-media-sections--26875465072950__quick-view { 7539 transition: top 0.5s ease-in-out; 7540 } 7541 7542</style> 7543 7544<div 7545 id="product-media-sections--26875465072950__quick-view" 7546 class="sticky top-[calc(var(--height-header)+5rem)] quick-view:top-0" 7547 x-data='xProductMedia({ 7548 "section_id": "sections--26875465072950__quick-view", 7549 "thumbnail_direction": "horizontal", 7550 "video_autoplay": false, 7551 "video_loop": false 7552 })' 7553 7554> 7555 <a href="#ProductInfo-sections--26875465072950__quick-view" class="skip-to-content not-icon absolute -z-10 mt-0.5 ml-0.5 hidden lg:block button button-solid pt-2.5 pb-2.5 pl-6 pr-6 lg:pt-3 lg:pb-3 leading-normal justify-center cursor-pointer focus-visible:z-20"> 7556 Skip to product information 7557 </a> 7558 <div class="splide-image flex flex-col-reverse"> 7559 <div 7560 id="x-product-thumbnail-sections--26875465072950__quick-view" 7561 class="select-none duration-150 overflow-auto hide-scrollbar scroll-smooth hidden md:block mt-2" 7562 x-ref="thumbnail" 7563 :class="thumbnailGrabbingClass" 7564 x-on:mousedown="thumbnailHandleMouseDown($event)" 7565 x-on:mousemove="thumbnailHandleMouseMove($event)" 7566 x-on:mouseleave="thumbnailHandleMouseLeave()" 7567 x-on:mouseup="thumbnailHandleMouseUp()" 7568 > 7569 <div class="flex flex-1 max-w-full gap-x-2 gap-y-1.5 w-fit"> 7570 7571 7572 7573 7574 7575 <div 7576 id="x-thumbnail-sections--26875465072950__quick-view-49386460053814" 7577 7578 data-media-id="sections--26875465072950__quick-view-49386460053814"
7579 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49386460053814 featured-image relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7580 > 7581 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7582 7583 <img 7584 src="//calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=150" 7585 alt="" 7586 loading="lazy" 7587 width="2083" 7588 height="2083" 7589 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7590 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7591 > 7592 7593</button> 7594 </div> 7595 7596 7597 7598 7599 <div 7600 id="x-thumbnail-sections--26875465072950__quick-view-49386460152118" 7601 7602 data-media-id="sections--26875465072950__quick-view-49386460152118" 7603 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49386460152118 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7604 > 7605 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7606 7607 <img 7608 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=150" 7609 alt="" 7610 loading="lazy" 7611 width="2083" 7612 height="2083" 7613 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7614 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7615 > 7616 7617</button> 7618 </div> 7619 7620 7621 7622 7623 <div 7624 id="x-thumbnail-sections--26875465072950__quick-view-49386460447030" 7625 7626 data-media-id="sections--26875465072950__quick-view-49386460447030" 7627 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49386460447030 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7628 > 7629 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7630 7631 <img 7632 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=150" 7633 alt="" 7634 loading="lazy" 7635 width="2083" 7636 height="2083" 7637 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7638 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7639 > 7640 7641</button> 7642 </div> 7643 7644 7645 7646 7647 <div 7648 id="x-thumbnail-sections--26875465072950__quick-view-49386460643638" 7649 7650 data-media-id="sections--26875465072950__quick-view-49386460643638" 7651 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49386460643638 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7652 > 7653 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7654 7655 <img 7656 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=150" 7657 alt="" 7658 loading="lazy" 7659 width="2083" 7660 height="2083" 7661 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7662 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7663 > 7664 7665</button> 7666 </div> 7667 7668 7669 7670 7671 <div 7672 id="x-thumbnail-sections--26875465072950__quick-view-49386461102390" 7673 7674 data-media-id="sections--26875465072950__quick-view-49386461102390"
7675 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49386461102390 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7676 > 7677 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7678 7679 <img 7680 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=150" 7681 alt="" 7682 loading="lazy" 7683 width="2083" 7684 height="2083" 7685 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7686 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7687 > 7688 7689</button> 7690 </div> 7691 7692 7693 7694 7695 <div 7696 id="x-thumbnail-sections--26875465072950__quick-view-49386460938550" 7697 7698 data-media-id="sections--26875465072950__quick-view-49386460938550" 7699 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49386460938550 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7700 > 7701 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7702 7703 <img 7704 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=150" 7705 alt="" 7706 loading="lazy" 7707 width="2083" 7708 height="2083" 7709 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7710 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7711 > 7712 7713</button> 7714 </div> 7715 7716 7717 7718 7719 <div 7720 id="x-thumbnail-sections--26875465072950__quick-view-49402176897334" 7721 7722 data-media-id="sections--26875465072950__quick-view-49402176897334" 7723 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-49402176897334 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7724 > 7725 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7726 7727 <img 7728 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=150" 7729 alt="" 7730 loading="lazy" 7731 width="4167" 7732 height="4167" 7733 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7734 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7735 > 7736 7737</button> 7738 </div> 7739 7740 7741 7742 7743 <div 7744 id="x-thumbnail-sections--26875465072950__quick-view-48586259759414" 7745 7746 data-media-id="sections--26875465072950__quick-view-48586259759414" 7747 class="x-thumbnail media-thumbnail x-thumbnail-sections--26875465072950__quick-view-48586259759414 relative select-none opacity-30 min-w-[50px] md:min-w-[65px] lg:min-w-[85px]" 7748 > 7749 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 7750 7751 <img 7752 src="//calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=150" 7753 alt="" 7754 loading="lazy" 7755 width="2083" 7756 height="2083" 7757 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 7758 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 7759 > 7760 7761</button> 7762 </div> 7763 7764 7765 7766 </div> 7767 </div> 7768 <div 7769 id="x-product-sections--26875465072950__quick-view" 7770 class="x-splide transition-fade disable-effect-hover flex-1 group splide swiper-product overflow-hidden visible w-full" 7771 x-intersect.once='$store.xSplide.load($el, { 7772 "pagination": false, 7773 "perPage": 1, 7774 "perMove": 1, 7775 "gap": 20, 7776 "rewind": true, 7777 "type": "fade", 7778 "noDrag": "model-viewer", 7779 7780 "thumbs": "x-product-thumbnail-sections--26875465072950__quick-view", 7781 "thumbs_direction": "horizontal", 7782 "enableThumbnailOverlay": true, 7783 7784 "events": [ 7785 { 7786 "event": "ready", 7787 "callback": () => { 7788 document.dispatchEvent(new CustomEvent("eurus:media-gallery-ready:sections--26875465072950__quick-view")); 7789 } 7790 } 7791 ] 7792 })' 7793 > 7794 <div class="splide__track"> 7795 <div class="x-badges-container pointer-events-none z-10 text-sm x-badges-product-detail empty:h-0 empty:min-h-0 empty:mb-0 min-h-[45px] absolute w-full h-full items-center flex-wrap gap-x-1 gap-y-2 md:gap-y-4 mb-5"></div> 7796 <div id="media_product-sections--26875465072950__quick-view" class="splide__list flex"> 7797 7798 7799 7800 7801 7802 7803 7804 <div 7805 7806 tabindex="-1" 7807 7808 7809 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 7810 data-media-id="sections--26875465072950__quick-view-49386460053814" 7811 data-type="image" 7812 data-id="image" 7813 data-host="image" 7814 aria-label="zoom-image" 7815 index="0" 7816 class="49386460053814-sections--26875465072950__quick-view splide__slide x-splide-slide featured-image media-slide w-full cursor-grab"> 7817 <button 7818 7819 aria-label="Image zoom" 7820 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 7821 7822 <img 7823 srcset="//calistatools.com/cdn/shop/files/5.22.2026GlossEn
7823hancement-16_1.jpg?v=1789574597&width=375 375w, 7824 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=450 450w, 7825 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=750 750w, 7826 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=900 900w, 7827 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1100 1100w, 7828 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1500 1500w, 7829 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1780 1780w, 7830 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597 2083w" 7831 src="//calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1780" 7832 alt="" 7833 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 7834 7835 7836 loading="eager" fetchpriority="high" decoding="sync" 7837 7838 7839 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 7840 width="2083" 7841 7842 height="2083" 7843 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 7844 x-intersect.once="$el.classList.add('active')" 7845 > 7846 7847 7848 </button> 7849 </div> 7850 7851 7852 7853 7854 7855 7856 7857 <div 7858 7859 tabindex="-1" 7860 7861 7862 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 7863 data-media-id="sections--26875465072950__quick-view-49386460152118" 7864 data-type="image" 7865 data-id="image" 7866 data-host="image" 7867 aria-label="zoom-image" 7868 index="1" 7869 class="49386460152118-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 7870 <button 7871 7872 aria-label="Image zoom" 7873 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 7874 7875 <img 7876 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=375 375w, 7877 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=450 450w, 7878 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=750 750w, 7879 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=900 900w, 7880 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1100 1100w, 7881 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1500 1500w, 7882 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1780 1780w, 7883 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603 2083w" 7884 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1780" 7885 alt="" 7886 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 7887 7888 7889 loading="lazy" 7890 7891 7892 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 7893 width="2083" 7894 7895 height="2083" 7896 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 7897 x-intersect.once="$el.classList.add('active')" 7898 > 7899 7900 7901 </button> 7902 </div> 7903 7904 7905 7906 7907 7908 7909 7910 <div 7911 7912 tabindex="-1" 7913 7914 7915 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 7916 data-media-id="sections--26875465072950__quick-view-49386460447030" 7917 data-type="image" 7918 data-id="image" 7919 data-host="image" 7920 aria-label="zoom-image" 7921 index="2" 7922 class="49386460447030-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 7923 <button 7924 7925 aria-label="Image zoom" 7926 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 7927 7928 <img 7929 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=375 375w, 7930 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=450 450w, 7931 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=750 750w, 7932 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=900 900w, 7933 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1100 1100w, 7934 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1500 1500w, 7935 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1780 1780w, 7936 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607 2083w" 7937 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1780" 7938 alt="" 7939 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 7940 7941 7942 loading="lazy" 7943 7944 7945 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 7946 width="2083" 7947 7948 height="2083" 7949 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 7950 x-intersect.once="$el.classList.add('active')" 7951 > 7952 7953 7954 </button> 7955 </div> 7956 7957 7958 7959 7960 7961 7962 7963 <div 7964 7965 tabindex="-1" 7966 7967 7968 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 7969 data-media-id="sections--26875465072950__quick-view-49386460643638" 7970 data-type="image" 7971 data-id="image" 7972 data-host="image" 7973 aria-label="zoom-image" 7974 index="3" 7975 class="49386460643638-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 7976 <button 7977 7978 aria-label="Image zoom" 7979 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 7980 7981 <img 7982 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=375 375w, 7983 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=450 450w, 7984 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=750 750w, 7985 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=900 900w, 7986 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1100 1100w, 7987 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1500 1500w, 7988 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1780 1780w, 7989 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608 2083w" 7990 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1780" 7991 alt="" 7992 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 7993 7994 7995 loading="lazy" 7996 7997 7998 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 7999 width="2083" 8000 8001 height="2083" 8002 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 8003 x-intersect.once="$el.classList.add('active')" 8004 > 8005 8006 8007 </button> 8008 </div> 8009 8010 8011 8012 8013 8014 8015 8016 <div 8017 8018 tabindex="-1" 8019 8020 8021 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 8022 data-media-id="sections--26875465072950__quick-view-49386461102390" 8023 data-type="image" 8024 data-id="image" 8025 data-host="image" 8026 aria-label="zoom-image" 8027 index="4" 8028 class="49386461102390-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 8029 <button 8030 8031 aria-label="Image zoom" 8032 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 8033 8034 <img 8035 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=375 375w, 8036 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=450 450w, 8037 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=750 750w, 8038 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=900 900w, 8039 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1100 1100w, 8040 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1500 1500w, 8041 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1780 1780w, 8042 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614 2083w" 8043 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1780" 8044 alt="" 8045 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 8046 8047 8048 loading="lazy" 8049 8050 8051 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 8052 width="2083" 8053 8054 height="2083" 8055 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 8056 x-intersect.once="$el.classList.add('active')" 8057 > 8058 8059 8060 </button> 8061 </div> 8062 8063 8064 8065 8066 8067 8068 8069 <div 8070 8071 tabindex="-1" 8072 8073 8074 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 8075 data-media-id="sections--26875465072950__quick-view-49386460938550" 8076 data-type="image" 8077 data-id="image" 8078 data-host="image" 8079 aria-label="zoom-image" 8080 index="5" 8081 class="49386460938550-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 8082 <button 8083 8084 aria-label="Image zoom" 8085 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 8086 8087 <img 8088 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=375 375w, 8089 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=450 450w, 8090 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=750 750w, 8091 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=900 900w, 8092 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1100 1100w, 8093 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1500 1500w, 8094 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1780 1780w, 8095 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611 2083w" 8096 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1780" 8097 alt="" 8098 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 8099 8100 8101 loading="lazy" 8102 8103 8104 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 8105 width="2083" 8106 8107 height="2083" 8108 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 8109 x-intersect.once="$el.classList.add('active')" 8110 > 8111 8112 8113 </button> 8114 </div> 8115 8116 8117 8118 8119 8120 8121 8122 <div 8123 8124 tabindex="-1" 8125 8126 8127 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 8128 data-media-id="sections--26875465072950__quick-view-49402176897334" 8129 data-type="image" 8130 data-id="image" 8131 data-host="image" 8132 aria-label="zoom-image" 8133 index="6" 8134 class="49402176897334-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 8135 <button 8136 8137 aria-label="Image zoom" 8138 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 8139 8140 <img 8141 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=375 375w, 8142 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=450 450w, 8143 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=750 750w, 8144 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=900 900w, 8145 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1100 1100w, 8146 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1500 1500w, 8147 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1780 1780w, 8148 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963 4167w" 8149 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1780" 8150 alt="" 8151 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 8152 8153 8154 loading="lazy" 8155 8156 8157 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 8158 width="4167" 8159 8160 height="4167" 8161 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 8162 x-intersect.once="$el.classList.add('active')" 8163 > 8164 8165 8166 </button> 8167 </div> 8168 8169 8170 8171 8172 8173 8174 8175 <div 8176 8177 tabindex="-1" 8178 8179 8180 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 8181 data-media-id="sections--26875465072950__quick-view-48586259759414" 8182 data-type="image" 8183 data-id="image" 8184 data-host="image" 8185 aria-label="zoom-image" 8186 index="7" 8187 class="48586259759414-sections--26875465072950__quick-view splide__slide x-splide-slide media-slide w-full cursor-grab"> 8188 <button 8189 8190 aria-label="Image zoom" 8191 class="block w-full relative overflow-hidden animate-Xpulse skeleton-image"> 8192 8193 <img 8194 srcset="//calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=375 375w, 8195 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=450 450w, 8196 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=750 750w, 8197 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=900 900w, 8198 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1100 1100w, 8199 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1500 1500w, 8200 //calistatools.com/cdn/shop
8200/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1780 1780w, 8201 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713 2083w" 8202 src="//calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1780" 8203 alt="" 8204 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 8205 8206 8207 loading="lazy" 8208 8209 8210 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 8211 width="2083" 8212 8213 height="2083" 8214 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full" 8215 x-intersect.once="$el.classList.add('active')" 8216 > 8217 8218 8219 </button> 8220 </div> 8221 8222 8223 8224 8225 </div> 8226 </div> 8227 8228 <div class="splide__arrows gap-3 md:gap-0 md:mb-2 mb-1 md:mt-4 mt-3 flex justify-center w-full items-center lg:mb-0 lg:mt-0 md:hidden pointer-events-none lg:block"> 8229 <button class="splide__arrow button-arrow w-8 h-8 md:w-11 md:h-11 lg:top-1/2 lg:absolute pt-2 pb-2 pr-2 pl-2 lg:-mt-6 md:pt-3 md:pb-3 md:pr-3 md:pl-3 lg:left-0 rtl:lg:group-hover:left-4 lg:bottom-0 transition-all ease-in-out lg:opacity-0 lg:group-hover:opacity-100 lg:group-hover:translate-x-2 lg:-translate-x-full z-10 lg:group-hover:disabled:opacity-30 disabled:opacity-30 disabled:cursor-not-allowed pointer-events-auto items-center justify-center duration-200 splide__arrow--prev rounded-full border border-solid md:border-none" aria-label="Go to last slide"> 8230 <span class="hidden">previous slide</span> 8231 <span class="not-icon rounded-full hidden md:block"> 8232 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 8233 <path fill="none" d="M16 1L5 12L16 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8234 </svg> 8235 8236 8237</span> 8238 <span class="block md:hidden"> 8239 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 8240 <path fill="none" d="M16 1L5 12L16 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8241 </svg> 8242 8243 8244</span> 8245 </button> 8246 <button class="splide__arrow button-arrow w-8 h-8 md:w-11 md:h-11 lg:top-1/2 lg:absolute lg:-mt-6 pt-2 pb-2 pr-2 pl-2 md:pt-3 md:pb-3 md:pr-3 md:pl-3 lg:right-0 rtl:lg:group-hover:right-4 lg:bottom-0 transition-all ease-in-out lg:opacity-0 lg:group-hover:opacity-100 lg:group-hover:-translate-x-2 lg:translate-x-full z-10 lg:group-hover:disabled:opacity-30 disabled:opacity-30 disabled:cursor-not-allowed pointer-events-auto items-center justify-center duration-200 splide__arrow--next rounded-full border border-solid md:border-none" aria-label="Next slide"> 8247 <span class="hidden">next slide</span> 8248 <span class="not-icon rounded-full hidden md:block"> 8249 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 8250 <path fill="none" d="M8 1L19 12L8 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8251 </svg> 8252 8253 8254</span> 8255 <span class="block md:hidden"> 8256 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 8257 <path fill="none" d="M8 1L19 12L8 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8258 </svg> 8259 8260 8261</span> 8262 </button> 8263 </div> 8264 8265 </div> 8266 8267 8268 </div> 8269</div>
8270<script src="//calistatools.com/cdn/shop/t/144/assets/product-media.js?v=178923250894042546431782330849" defer></script>
8270</div> 8271 8272 <div 8273 class="product-content-container w-full relative w-full pl-4 pr-4 md:pl-0 md:pr-0 flex product-page:md:justify-end rtl:product-page:md:justify-start pt-3 md:pt-0 pb-0"tabindex="0"><div id="ProductInfo-sections--26875465072950__quick-view" 8274 class="parent-element product-info w-full pb-1 max-w-[720px] sticky top-[calc(var(--height-header)+5rem)] lg:pr-0 md:pl-5 quick-view:md:pr-6 product-page:md:pr-12 rtl:product-page:md:pr-0 rtl:product-page:md:pl-12 product-page:lg:pr-[84px] rtl:product-page:lg:pr-0 rtl:product-page:lg:pl-[84px]" 8275 > 8276 <div class="flex gap-x-2.5 flex-wrap"> 8277 <div id="product-variant-title-sections--26875465072950__quick-view"> 8278 <div class="hidden product-variant-title-10847775850806-54557956276534">GLOSS Caramel Color Enhancement</div> 8279 </div><p class=" w-full mb-1 italic p-break-words">Calista Tools</p><div class="mb-3 w-full overflow-hidden" x-intersect.once="$el.querySelector('.anm-move-up')?.classList.add('active-anm-heading')"> 8280 <h2 class="product-title h2 leading-tight title-size--sections--26875465072950__quick-view anm-move-up">GLOSS Caramel Color Enhancement</h2> 8281 </div> 8282 8283<div 8284 class="x-review-product yotpo 8285 8286 flex w-full items-center rating-review ltr mb-4 md:mb-5 rtl:justify-end md:list-layout:justify-start 8287 " 8288> 8289 8290<div class="yotpo bottomLine" data-product-id="10847775850806"> </div> 8291</div> 8292 8293<div class="x-block-price mb-4 md:mb-6 w-full pricearea" ><style data-shopify>#price-sections--26875465072950__quick-view { 8294 font-size: 1.4175rem; 8295 } 8296 @media (min-width: 768px) { 8297 #price-sections--26875465072950__quick-view { 8298 font-size: 1.575rem; 8299 } 8300 }</style><div id="price-sections--26875465072950__quick-view" class="flex flex-wrap items-center gap-x-4 gap-y-2" role="status"><div class="main-product-price price leading-none "> 8301 <div class="target-price hidden">3900</div> 8302 <div class="target-compare-at-price hidden"></div> 8303 8304 8305<p class="price"> 8306 $39 8307 </p> 8308 8309 8310</div> 8311<div class="x-badges-container text-sm z-10 x-badges-product-detail empty:h-0 empty:min-h-0 empty:mb-0 items-center flex flex-wrap gap-1"></div> 8312 </div> 8313 <div class="shopify-payment-terms"><form method="post" action="/cart/add" id="product-form-installment-sections--26875465072950__quick-view" accept-charset="UTF-8" class="installment caption-large" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" aria-hidden="true" name="id" value="54557956276534"> 8314 <shopify-payment-terms variant-id="54557956276534" shopify-meta="{"type":"product","currency_code":"USD","country_code":"US","variants":[{"id":54557956276534,"price_per_term":"$20","price_per_term_amount":19.5,"full_price":"$39","full_price_amount":39.0,"eligible":true,"available":true,"number_of_payment_terms":2}],"min_price":"$35","min_price_amount":35.0,"max_price":"$30,000","max_price_amount":30000.0,"financing_plans":[{"min_price":"$35","max_price":"$50","terms":[{"apr":0,"loan_type":"split_pay","installments_count":2}],"min_price_amount":35.0,"max_price_amount":49.99},{"min_price":"$50","max_price":"$1,000","terms":[{"apr":0,"loan_type":"split_pay","installments_count":3},{"apr":0,"loan_type":"split_pay","installments_count":4},{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":50.0,"max_price_amount":999.99},{"min_price":"$1,000","max_price":"$30,000","terms":[{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":1000.0,"max_price_amount":30000.0}],"installments_buyer_prequalification_enabled":false,"seller_id":553469}"></shopify-payment-terms> 8315<input type="hidden" name="product-id" value="10847775850806" /><input type="hidden" name="section-id" value="sections--26875465072950__quick-view" /></form></div> 8316 </div> 8317 8318 <div class="w-full x-block-badges mb-4 md:mb-5 min-h-[45px]" id="x-badges-sections--26875465072950__quick-view" > 8319 <div 8320 class="x-badges-container text-sm x-badges-product-detail empty:h-0 empty:min-h-0 empty:mb-0 min-h-[45px] flex items-center flex-wrap gap-x-1 gap-y-2 md:gap-y-4" 8321 x-intersect.once.margin.1200px='() => { 8322 if ($store.xBadges) { 8323 const container = document.getElementById("x-badges-sections--26875465072950__quick-view"); 8324 $store.xBadges && $store.xBadges.load($el, (el) => { 8325 if (!([...el.childNodes].some(n => n.nodeType === 1 && n.tagName === "DIV"))) { 8326 el.classList.remove("min-h-[45px]"); 8327 container.classList.remove("mb-4", "md:mb-5", "min-h-[45px]"); 8328 } else { 8329 container.classList.add("mb-4", "md:mb-5", "min-h-[45px]"); 8330 }; 8331 el.removeAttribute("x-intersect.once.margin.1200px"); 8332 container.innerHTML = el.outerHTML; 8333 document.dispatchEvent(new CustomEvent("eurus:badges:loaded")); 8334 }, container) 8335 } 8336 }' 8337 x-labels-data="{ 8338 "variant_id": 10847775850806, 8339 "product_id": 10847775850806, 8340 "available": true, 8341 "title": "GLOSS Caramel Color Enhancement", 8342 "compare_at_price": 0, 8343 "price": 3900, 8344 "price_with_currency": "$39", 8345 "sale_amount": "$-39", 8346 "collections": "||166997852220||539792703798||482898739510||150929145925||137844064325||137909567557||525372293430||", 8347 "inventory_management": "shopify", 8348 "qty": 555, 8349 "container": "product-info", 8350 "make_content_center": false, 8351 "can_show_preorder": false, 8352 8353 "position_adapt": false, 8354 8355 8356 "teleport_dest_image": "#x-product-template-10847775850806-sections--26875465072950__quick-view .product-media-container #product-media-sections--26875465072950__quick-view .x-badges-container", 8357 8358 "teleport_dest_price": "#x-product-template-10847775850806-sections--26875465072950__quick-view #price-sections--26875465072950__quick-view .x-badges-container", 8359 "diff_day_create": 1789419343, 8360 "diff_day_publish": 1790046557 8361 8362 ,"metafield_label": { 8363 "custom.promo_copy":"" 8364 } 8365 8366 }" 8367 ></div> 8368 </div> 8369<div id="product-description-block-sections--26875465072950__quick-view" class="x-block-description w-full mb-2"><div class="w-full relative" ><div class=""> 8370 <div class="rte pb-2"> 8371 <div class="rte"><h4>Brighten, Warm, Restore</h4> 8372<div class="OutlineElement Ltr SCXW93330782 BCX0"> 8373<p class="Paragraph SCXW93330782 BCX0"><span lang="EN-US" class="TextRun SCXW93330782 BCX0"><span class="NormalTextRun SCXW93330782 BCX0">Created to<span> </span></span><span class="NormalTextRun SCXW93330782 BCX0">brighten<span> </span></span><span class="NormalTextRun SCXW93330782 BCX0">color and enhance warmth</span><span class="NormalTextRun SCXW93330782 BCX0"><span> </span></span><span class="NormalTextRun SCXW93330782 BCX0">in brunettes,<span> </span></span></span><span lang="EN-US" class="TextRun MacChromeBold SCXW93330782 BCX0"><span class="NormalTextRun SCXW93330782 BCX0">GLOSS Caramel Color Enhancement</span><span class="NormalTextRun SCXW93330782 BCX0"><span> </span>is a</span><span class="NormalTextRun SCXW93330782 BCX0"><span> </span></span></span><span lang="EN-US" class="TextRun SCXW93330782 BCX0"><span class="NormalTextRun SCXW93330782 BCX0">temporary toning gloss that </span><span class="NormalTextRun SCXW93330782 BCX0">deep conditions hair</span><span class="NormalTextRun SCXW93330782 BCX0">, adding glassy shine</span><span class="NormalTextRun SCXW93330782 BCX0"> </span><span class="NormalTextRun SCXW93330782 BCX0">while<span> </span></span><span class="NormalTextRun SCXW93330782 BCX0">creating a bronzed caramel glow</span><span class="NormalTextRun SCXW93330782 BCX0">.</span></span><span class="EOP Selected SCXW93330782 BCX0"> </span></p> 8374</div> 8375<div class="OutlineElement Ltr SCXW93330782 BCX0"> 8376<p class="Paragraph SCXW93330782 BCX0" lang="EN-US"><span lang="EN-US" class="TextRun SCXW93330782 BCX0"><span class="NormalTextRun SCXW93330782 BCX0">Results last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine.</span></span><span class="EOP Selected SCXW93330782 BCX0"> </span><strong><img></strong></p> 8377</div> 8378<!-- split --> 8379<h6>BENEFITS</h6> 8380<ul> 8381<li> 8382<meta charset="utf-8"> 8383<span lang="EN-US" class="TextRun SCXW142188827 BCX0"><span class="NormalTextRun SCXW142188827 BCX0">Warm caramel pigments brighten brunette tones, enhancing vibrancy and dimension</span></span> 8384</li> 8385<li> 8386<meta charset="utf-8"> <span lang="EN-US" class="TextRun SCXW97983291 BCX0"><span class="NormalTextRun SCXW97983291 BCX0">Tones while conditioning to improve softness, smoothness, and manageability</span></span><span class="EOP SCXW97983291 BCX0"> </span> 8387</li> 8388<li> 8389<meta charset="utf-8"> <span class="NormalTextRun SCXW80623500 BCX0">Helps reduce frizz and<span> </span></span><span class="NormalTextRun SpellingErrorV2Themed SCXW80623500 BCX0">flyaways</span><span class="NormalTextRun SCXW80623500 BCX0"><span> </span>for a polished look that lasts</span> 8390</li> 8391<li>Size: 6.76 oz.</li> 8392</ul></div> 8393</div> 8394 </div> 8395 </div></div>
8396<script src="//calistatools.com/cdn/shop/t/144/assets/variant-select.js?v=28920746821541902741782330849" defer></script>
8396<div x-init="document.addEventListener('eurus:cart:items-changed', () => { 8397 Alpine.store('xUpdateVariantQuanity').cachedResults = []; 8398 Alpine.store('xUpdateVariantQuanity').updateQuantity('sections--26875465072950__quick-view', '/products/gloss-caramel-color-enhancement'); 8399 });"></div><div id="quantity-selector-sections--26875465072950__quick-view" class="x-quantity-selector mb-4 md:mb-6 product-form__quantity w-full" ><style data-shopify> 8400 #x-quantity-sections--26875465072950__quick-view { 8401 font-size: 1.0rem; 8402 } 8403 </style> 8404 8405 8406 8407 <label id="x-quantity-sections--26875465072950__quick-view" class="font-bold" for="Quantity-sections--26875465072950__quick-view"> 8408 Quantity 8409 <span class="quantity__rules-cart unavailable:hidden no-js-hidden relative hidden"> 8410 <span class="loading-overlay hidden absolute top-0 right-0 z-10 w-4 md:left-0"> 8411 <svg class="animate-spin rounded-full" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> 8412 <path transform="translate(0 512) scale(0.1 -0.1)" fill="currentColor" d="M2474 4676 c-43 -19 -101 -81 -115 -123 -18 -56 -7 -145 24 -190 52 -75 79 -85 262 -99 90 -7 207 -22 260 -33 436 -92 824 -352 1070 -721 521 -781 321 -1824 -453 -2358 -501 -345 -1172 -393 -1715 -121 -700 350 -1075 1118 -917 1876 37 180 86 305 209 536 51 96 54 147 15 226 -37 73 -86 104 -174 109 -105 6 -151 -24 -224 -145 -137 -230 -241 -543 -276 -833 -13 -110 -13 -355 1 -478 52 -475 268 -922 614 -1267 351 -352 787 -560 1284 -615 171 -19 442 -8 615 24 423 80 802 282 1111 591 407 407 625 931 625 1505 0 574 -218 1098 -625 1505 -296 296 -654 493 -1055 579 -210 45 -470 61 -536 32z"/> 8413 </svg> 8414 8415 </span> 8416 <span>(<span class="quantity-cart">0</span> in cart)</span> 8417 </span> 8418 </label> 8419 8420 <div class="w-full"> 8421 <div class="inline-flex w-fit border border-solid items-center mt-2.5 bg-[rgba(var(--background-color),1)] rounded-none" 8422 x-data="xQuantitySelector('10847775850806', 'sections--26875465072950__quick-view', 1, null, false, false, '${{amount_no_decimals}} USD', '${{amount_no_decimals}}')" 8423 x-intersect.once.margin.200px="initQtyChangeEvent('Quantity-sections--26875465072950__quick-view')" 8424 > 8425 <button class="w-10 cursor-pointer pt-2.5 pb-2.5 md:pt-3.5 md:pb-3.5 bg-transparent pl-3.5 pr-3.5 select-none opacity-70" name="minus" aria-label="minus" @click.prevent="minus(1)"> 8426 8427 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 8428 <path d="M1 12H23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8429 </svg> 8430 8431 8432 </button> 8433 <input class="outer-spin-button hide-spin-input focus:outline-none w-8 md:w-10 pt-2 pb-2 md:pt-2.5 md:pb-2.5 text-center bg-transparent" 8434 type="number" 8435 name="quantity" 8436 id="Quantity-sections--26875465072950__quick-view" 8437 aria-label="quantity selector value" 8438 min="1" 8439 8440 step="1" 8441 value="1" 8442 form="product-form-sections--26875465072950__quick-view" 8443 x-model="qty" 8444 x-on:blur="invalid($el)" 8445 > 8446 <button class="w-10 cursor-pointer pt-2.5 pb-2.5 md:pt-3.5 md:pb-3.5 bg-transparent pr-3.5 pl-3.5 select-none opacity-70" name="plus" @click.prevent="plus(1)" aria-label="minus"> 8447
8448 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 8449 <path d="M1 12H23M12 1V23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8450 </svg> 8451 8452 8453 </button> 8454 </div> 8455 </div> 8456 <div class="quantity-rules" id="quantity-rules-sections--26875465072950__quick-view"></div> 8457 </div><div 8458 x-ref='product_form_container' class="x-block-buy-buttons button-product-buy-buttons w-full button-product mb-4 md:mb-6" 8459 x-data="xProductCart('', '')" 8460 8461 > 8462 <style data-shopify> 8463 .x-variant-picker + .x-block-buy-buttons { 8464 margin-top: 8px; 8465 } 8466 .button-product-buy-buttons, .button-product-buy-buttons *:before { 8467 8468 8469 8470 8471 8472 8473 } 8474 .dark .button-product-buy-buttons, .dark .button-product-buy-buttons *:before { 8475 8476 --colors-button: 255, 255, 255; 8477 8478 8479 --colors-button-text: 40, 41, 40; 8480 8481 8482 --colors-button-hover: rgb(255, 255, 255); 8483 8484 8485 --colors-button-text-hover: 40, 41, 40; 8486 8487 8488 --colors-secondary-button: 255, 255, 255; 8489 --colors-line-secondary-button: 255, 255, 255; 8490 8491 8492 --background-secondary-button: transparent; 8493 8494 } 8495 </style> 8496 <div><form method="post" action="/cart/add" id="product-form-sections--26875465072950__quick-view" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form" x-ref="product_form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" aria-hidden="true" id="update-variant-sections--26875465072950__quick-view" name="id" value="54557956276534"> 8497 8498 <button 8499 id="x-atc-button-sections--26875465072950__quick-view" 8500 role="button" 8501 name="add" 8502 type="submit" 8503 @click="addToCart($event, true, true)" 8504 8505 class="relative add_to_cart_button button button-outline disabled:opacity-60 disabled:cursor-not-allowed disable-action-btn-animation duration-200 leading-none w-full mb-3 pt-3 pb-3 md:pt-3.5 md:pb-3.5" 8506 8507 8508 8509 x-intersect.once.margin.200px="Alpine.store('xCartHelper').validateCart();" 8510 data-available="true" 8511 8512 8513 > 8514 8515<style data-shopify> 8516 8517 #x-atc-button-sections--26875465072950__quick-view .x-atc-text .price, #x-atc-button-sections--26875465072950__quick-view .x-atc-text .price-sale { 8518 color: rgba(var(--colors-secondary-button)); 8519 } 8520 8521 </style> 8522 8523<span class="flex justify-center" :class="loading && 'invisible'">
8524 <span class="x-atc-text button-text w-fit pt-0.5 pb-0.5 ">Add to cart 8525 <span> - </span><div class="main-product-price inline-block price leading-none "> 8526 <div class="target-price hidden">3900</div> 8527 <div class="target-compare-at-price hidden"></div> 8528 8529 8530<p class="price"> 8531 $39 8532 </p> 8533 8534 8535</div> 8536 8537</span> 8538 8539 </span> 8540 <div class="inline-block w-5 h-5 absolute top-[calc(50%-10px)] left-[calc(50%-10px)]" x-show="loading" x-cloak> 8541 <svg class="animate-spin rounded-full" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> 8542 <path transform="translate(0 512) scale(0.1 -0.1)" fill="currentColor" d="M2474 4676 c-43 -19 -101 -81 -115 -123 -18 -56 -7 -145 24 -190 52 -75 79 -85 262 -99 90 -7 207 -22 260 -33 436 -92 824 -352 1070 -721 521 -781 321 -1824 -453 -2358 -501 -345 -1172 -393 -1715 -121 -700 350 -1075 1118 -917 1876 37 180 86 305 209 536 51 96 54 147 15 226 -37 73 -86 104 -174 109 -105 6 -151 -24 -224 -145 -137 -230 -241 -543 -276 -833 -13 -110 -13 -355 1 -478 52 -475 268 -922 614 -1267 351 -352 787 -560 1284 -615 171 -19 442 -8 615 24 423 80 802 282 1111 591 407 407 625 931 625 1505 0 574 -218 1098 -625 1505 -296 296 -654 493 -1055 579 -210 45 -470 61 -536 32z"/> 8543 </svg> 8544 8545 </div> 8546 </button> 8547 8548 8549 <style data-shopify> 8550 8551 .payment-button.button-solid .shopify-payment-button__button--unbranded:hover:not([disabled]) { 8552 background-color: var(--colors-button-hover); 8553 } 8554 @media (min-width: 1024px) { 8555 .payment-button-container:hover .payment-button.button-solid.button-default .shopify-payment-button__button--unbranded { 8556 transition-property: background-color; 8557 background-color: var(--colors-button-hover); 8558 color: rgba(var(--colors-button-text-hover)); 8559 background-origin: border-box; 8560 } 8561 .payment-button-container:hover .payment-button.button-solid.button-animation .shopify-payment-button__button--unbranded { 8562 transition-delay: 0.5s; 8563 transition-property: background-color; 8564 background-color: var(--colors-button-hover); 8565 color: rgba(var(--colors-button-text-hover)); 8566 background-origin: border-box; 8567 } 8568 .payment-button-container:hover .payment-button.button-solid .shopify-payment-button__button--unbranded:before { 8569 transform: rotate3d(0,0,1,0) translateZ(0); 8570 } 8571 .payment-button.button-solid.button-animation .shopify-payment-button__button--unbranded:before { 8572 content: ""; 8573 z-index: -1; 8574 position: absolute; 8575 top: 0; 8576 right: 0; 8577 bottom: 0; 8578 left: 0; 8579 width: var(--button-width); 8580 height: var(--button-height); 8581 background-color: var(--colors-button-hover); 8582 backface-visibility: hidden; 8583 will-change: transform; 8584 transform: var(--button-transform); 8585 transform-origin: var(--button-transform-origin); 8586 transition: transform 0.5s ease; 8587 } 8588 } 8589 8590 .payment-button.button-solid .shopify-payment-button__button--unbranded { 8591 color: rgb(var(--colors-button-text)); 8592 background-color: rgba(var(--colors-button)); 8593 } 8594 8595 8596 </style> 8597 <div id="x-payment-button-sections--26875465072950__quick-view" class="relative payment-button-container " x-data="{ show: false }" x-intersect.once.margin.200px="show = true"> 8598 <template x-if="show"> 8599 <div class="payment-button button-solid button-animation" x-intersect.once.margin.200px="$store.xShopifyPaymentBtn.load($el)"> 8600 <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":6764757061,"merchantName":"Calista Tools","personalized":true}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="87592d3b1453bad22f1334cf22031e32" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{"id":54557956276534,"requiresShipping":true}]" shop-id="6764757061" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> </div> 8601 </div> 8602 </template> 8603 8604 </div> 8605
8605<script src="//calistatools.com/cdn/shop/t/144/assets/payment-button.js?v=19694614378629863991782330849" defer></script>
8605 8606 8607<input type="hidden" name="product-id" value="10847775850806" /><input type="hidden" name="section-id" value="sections--26875465072950__quick-view" /></form><div class="flex items-center mb-3 pl-4 pr-4 pt-3 pb-3 bg-[rgba(var(--color-error),0.2)]" role="alert" x-cloak x-show="errorMessage" @click.away="errorMessage=false"> 8608 <div class="flex"> 8609 <span class="w-4 h-4"><svg class="text-[rgba(var(--color-error))]" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 800 800" enable-background="new 0 0 800 800" xml:space="preserve" fill="currentColor"> 8610 <path d="M400 0C179.1 0 0 179.1 0 400c0 220.9 179.1 400 400 400s400-179.1 400-400C800 179.1 620.9 0 400 0zm0 655.333c-31.267 0-52.667-24.1-52.667-55.333 0-32.134 22.3-55.333 52.667-55.333 32.1 0 52.667 23.199 52.667 55.333 0 31.267-20.567 55.333-52.667 55.333zm20.733-211.3c-7.967 27.167-33.066 27.634-41.434 0-9.633-31.866-43.866-152.833-43.866-231.4 0-103.667 129.699-104.167 129.699 0 0 79.034-36.099 203.134-44.399 231.4z"/> 8611 </svg> 8612</span> 8613 </div> 8614 <span class="ml-2 pt-0.5" x-ref="error_message"></span> 8615 </div> 8616 <div class="x-pre-order-button pre-order-sections--26875465072950__quick-view"></div></div> 8617 </div> 8618 8619 8620<div class="x-block-view-detail mb-4 md:mb-5 w-full items-center flex"> 8621 <style data-shopify> 8622 .x-block-buy-buttons:has( + .x-block-view-detail) { 8623 margin-bottom: 12px; 8624 } 8625 </style> 8626 <a href="/products/gloss-caramel-color-enhancement" class="nav-link hover-text-link relative flex gap-1 items-center" > 8627 <span>View full details</span> 8628 <div class="w-3 h-3 -rotate-90"> 8629 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 8630 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8631 </svg> 8632</div> 8633 </a> 8634 </div><div class="properties_re_render-sections--26875465072950__quick-view"> 8635 8636 <div class="hidden" id="cart-edt-sections--26875465072950__quick-view"> 8637 8638 8639 8640 </div> 8641 </div> 8642 </div> 8643 </div>
8643<script src="//calistatools.com/cdn/shop/t/144/assets/gift-card-recipient.js?v=24951926043059338481782330849" defer></script>
8643 8644 </div> 8645 </div> 8646</div> 8647</div> 8648 </div> 8649 </div> 8650 </div> 8651</div> 8652 8653 8654<div class="popup-choose-options-mobile fixed z-[60] left-0 right-0 animate-goleft duration-300" x-show="$store.xQuickView.openPopupMobile" x-cloak> 8655 <div class="bg-[#acacac] opacity-40 block md:hidden fixed top-0 right-0 bottom-0 left-0" @click="$store.xQuickView.closePopupMobile()"></div> 8656 <div 8657 x-show="$store.xQuickView.openPopupMobile" 8658 class="z-30 md:hidden overflow-auto pt-2 pb-2 flex flex-col fixed bottom-0 left-0 md:bottom-auto max-h-[85vh] w-full bg-[rgba(var(--background-color),1)] text-left" 8659 x-transition:enter="transition-all ease-in-out duration-500" 8660 x-transition:enter-start="opacity-0 transform translate-y-1/3" 8661 x-transition:enter-end="opacity-100 transform translate-y-0" 8662 x-transition:leave="transition ease-in-out duration-500" 8663 x-transition:leave-end="opacity-0 transform translate-y-1/3" 8664 > 8665 <button 8666 class="cursor-pointer group-close-btn rounded-full absolute icon-close-container w-fit z-10 right-2 md:right-0 top-2 lg:end-10 rtl:left-2 rtl:md:left-0 rtl:right-auto" 8667 aria-label="Close quickview" 8668 @click="$store.xQuickView.closePopupMobile()" 8669 > 8670 8671 <svg class="icon-close-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 8672 <path d="M1 1L23 23M23 1L1 23" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 8673 </svg> 8674 8675 </button> 8676 <div :class="$store.xQuickView.loadingChooseOption ? 'block md:hidden' : 'hidden md:hidden'" class="flex gap-x-[4%] flex-wrap animate-Xpulse flex-row-reverse"> 8677 <div class="w-full pl-5 pr-5 pt-7 pb-5"> 8678 <p class="mb-5 h-5 w-3/4 bg-slate-200"></p> 8679 <div class="h-7 bg-slate-200 w-full mb-5 rounded"></div> 8680 <div class="h-5 bg-slate-200 w-1/3 mb-5 rounded"></div> 8681 <div class="h-7 bg-slate-200 w-2/3 mb-5 rounded"></div> 8682 <div class="h-7 bg-slate-200 w-1/3 mb-5 rounded"></div> 8683 <div class="h-7 bg-slate-200 w-1/3 mb-5 rounded"></div> 8684 <div class="flex gap-x-5"> 8685 <div class="h-10 bg-slate-200 flex-1 mb-5 rounded"></div> 8686 <div class="h-10 bg-slate-200 flex-1 mb-5 rounded"></div> 8687 </div> 8688 </div> 8689 </div> 8690 <div class="choose-options-mobile rtl:text-right" id="choose-options-mobile" x-show="!$store.xQuickView.loadingChooseOption"></div> 8691 </div> 8692 </div>
8693<script> 8694window.xQuickView = { 8695 sectionId: 'sections--26875465072950__quick-view', 8696 enabled: true, 8697 show_atc_button: true, 8698 atc_btn_bottom: true, 8699 atc_btn_image_desktop: true, 8700 buttonLabel: 'Quick view' 8701} 8702</script>
vendor: 1 bytes, line 8702
8702
8703<script src="//calistatools.com/cdn/shop/t/144/assets/quick-view.js?v=87789780442713427201782330849" defer></script>
vendor: 1 bytes, line 8703
8703
8704<script src="//calistatools.com/cdn/shop/t/144/assets/payment-button.js?v=19694614378629863991782330849" defer></script>
vendor: 1 bytes, line 8704
8704
8705<script src="//calistatools.com/cdn/shop/t/144/assets/product-media.js?v=178923250894042546431782330849" defer></script>
vendor: 1 bytes, line 8705
8705
8706<script src="//calistatools.com/cdn/shop/t/144/assets/recently-viewed.js?v=93421342682375135181782330849" defer></script>
vendor: 1 bytes, line 8706
8706
8707<script src="//calistatools.com/cdn/shop/t/144/assets/customize-picker.js?v=71491105029373997401782330849" defer></script>
vendor: 1 bytes, line 8707
8707
8708<script src="//calistatools.com/cdn/shop/t/144/assets/variant-select.js?v=28920746821541902741782330849" defer></script>
8708 8709 8710</div> 8711<!-- END sections: aside-group --> 8712 8713 8714 8715 <main id="MainContent" class="content-for-layout focus-none outline-none grow theme-template-product theme-template-suffix-sibling-products-rtu" role="main" tabindex="-1"> 8716 <section id="shopify-section-template--26875475099958__main" class="shopify-section x-section section-product-info"><style data-shopify>.content-template--26875475099958__main { 8717 background: #ffffff; 8718 } 8719 .dark .content-template--26875475099958__main { 8720 background: #282928; 8721 } 8722 .title-size--template--26875475099958__main { 8723 font-size: 1.35rem; 8724 } 8725 @media (min-width: 767px){ 8726 .title-size--template--26875475099958__main { 8727 font-size: 2.25rem; 8728 } 8729 }</style><div id="popup-fbt-template--26875475099958__main"></div> 8730<div class="product-page main-product main-product-template--26875475099958__main"> 8731 <div id="breadcrumbs--template--26875475099958__main"> 8732 8733 </div> 8734 8735<link rel="preload" href="//calistatools.com/cdn/shop/t/144/assets/model-css.css?v=47273955803251130321782330849" as="style" onload="this.onload=null;this.rel='stylesheet'"> 8736<noscript><link rel="stylesheet" href="//calistatools.com/cdn/shop/t/144/assets/model-css.css?v=47273955803251130321782330849"></noscript> 8737 8738<style data-shopify> 8739 .section-padding-template--26875475099958__main { 8740 padding-top: 0px; 8741 padding-bottom: 28px; 8742 } 8743 @media (min-width: 768px) { 8744 .section-padding-template--26875475099958__main { 8745 padding-top: 60px; 8746 padding-bottom: 0px; 8747 } 8748 } 8749</style> 8750<div 8751 id="x-product-template-10847775850806-template--26875475099958__main" 8752 class="x-product-template--26875475099958__main preload-image w-full relative content-template--26875475099958__main" 8753 x-data="{ showStickyATC: false, readySticky: false }" 8754 x-intersect.once='$store.xProductRecently.setProduct("10847775850806")' 8755> 8756 <div 8757 class="ltr flex relative flex-wrap full-width-mobile x-pgw page-width rtl:flex-row-reverse section-padding-template--26875475099958__main" 8758 8759 x-intersect.once='$store.xCustomerEvent.fire("product_viewed_custom", $el)' 8760 x-customer-event-data="{ 8761 "product": { 8762 "id": 10847775850806, 8763 "selected_variant_id": 54557956276534, 8764 "has_only_default_variant": true, 8765 "title": "GLOSS Caramel Color Enhancement", 8766 "variant_title": "Default Title", 8767 "sku": "GLOSS-CARA", 8768 "currencyCode": "USD", 8769 "price": 3900, 8770 "vendor": "Calista Tools", 8771 "category": "" 8772 } 8773 }" 8774 8775 ><div class="product-media-container w-full relative quick-view:md:pb-0 quick-view:md:w-[45%] md:w-1/2 pb-7 md:pb-0 product-page:md:pr-5 rtl:product-page:md:pr-0 product-page:lg:pr-8 rtl:product-page:lg:pr-0 rtl:product-page:md:pl-5 rtl:product-page:lg:pl-8 quick-view:md:pr-6 quick-view:md:pl-0 rtl:quick-view:md:pl-6 rtl:quick-view:md:pr-0 8776" 8777 > 8778 8779 8780<style data-shopify> 8781.transition-fade .x-splide-slide.is-active .image-detail, 8782.transition-fade .x-splide-slide:first-child .image-detail, 8783.transition-fade .x-splide-slide.is-next .image-detail { 8784 display: block; 8785} 8786.transition-fade .x-splide-slide .image-detail { 8787 display: none; 8788} 8789 8790 8791 #product-media-template--26875475099958__main { 8792 transition: top 0.5s ease-in-out; 8793 } 8794 8795</style> 8796 8797<div 8798 id="product-media-template--26875475099958__main" 8799 class="sticky top-[calc(var(--height-header)+5rem)] quick-view:top-0" 8800 x-data='xProductMedia({ 8801 "section_id": "template--26875475099958__main", 8802 "thumbnail_direction": "vertical", 8803 "video_autoplay": false, 8804 "video_loop": false 8805 })' 8806 8807> 8808 <a href="#ProductInfo-template--26875475099958__main" class="skip-to-content not-icon absolute -z-10 mt-0.5 ml-0.5 hidden lg:block button button-solid pt-2.5 pb-2.5 pl-6 pr-6 lg:pt-3 lg:pb-3 leading-normal justify-center cursor-pointer focus-visible:z-20"> 8809 Skip to product information 8810 </a> 8811 <div class="splide-image flex"> 8812 <div 8813 id="x-product-thumbnail-template--26875475099958__main" 8814 class="select-none duration-150 overflow-auto hide-scrollbar scroll-smooth hidden md:block relative w-[15%] min-w-[45px] md:min-w-[65px] max-w-[90px] lg:min-w-[85px] mr-2" 8815 x-ref="thumbnail" 8816 :class="thumbnailGrabbingClass" 8817 x-on:mousedown="thumbnailHandleMouseDown($event)" 8818 x-on:mousemove="thumbnailHandleMouseMove($event)" 8819 x-on:mouseleave="thumbnailHandleMouseLeave()" 8820 x-on:mouseup="thumbnailHandleMouseUp()" 8821 > 8822 <div class="flex flex-1 max-w-full gap-x-2 gap-y-1.5 flex-col absolute w-full"> 8823 8824 8825 8826 8827 8828 <div 8829 id="x-thumbnail-template--26875475099958__main-49386460053814" 8830 8831 data-media-id="template--26875475099958__main-49386460053814"
8832 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49386460053814 featured-image relative select-none " 8833 > 8834 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8835 8836 <img 8837 src="//calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=150" 8838 alt="" 8839 loading="lazy" 8840 width="2083" 8841 height="2083" 8842 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8843 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8844 > 8845 8846</button> 8847 </div> 8848 8849 8850 8851 8852 <div 8853 id="x-thumbnail-template--26875475099958__main-49386460152118" 8854 8855 data-media-id="template--26875475099958__main-49386460152118" 8856 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49386460152118 relative select-none " 8857 > 8858 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8859 8860 <img 8861 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=150" 8862 alt="" 8863 loading="lazy" 8864 width="2083" 8865 height="2083" 8866 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8867 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8868 > 8869 8870</button> 8871 </div> 8872 8873 8874 8875 8876 <div 8877 id="x-thumbnail-template--26875475099958__main-49386460447030" 8878 8879 data-media-id="template--26875475099958__main-49386460447030" 8880 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49386460447030 relative select-none " 8881 > 8882 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8883 8884 <img 8885 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=150" 8886 alt="" 8887 loading="lazy" 8888 width="2083" 8889 height="2083" 8890 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8891 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8892 > 8893 8894</button> 8895 </div> 8896 8897 8898 8899 8900 <div 8901 id="x-thumbnail-template--26875475099958__main-49386460643638" 8902 8903 data-media-id="template--26875475099958__main-49386460643638" 8904 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49386460643638 relative select-none " 8905 > 8906 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8907 8908 <img 8909 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=150" 8910 alt="" 8911 loading="lazy" 8912 width="2083" 8913 height="2083" 8914 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8915 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8916 > 8917 8918</button> 8919 </div> 8920 8921 8922 8923 8924 <div 8925 id="x-thumbnail-template--26875475099958__main-49386461102390" 8926 8927 data-media-id="template--26875475099958__main-49386461102390"
8928 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49386461102390 relative select-none " 8929 > 8930 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8931 8932 <img 8933 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=150" 8934 alt="" 8935 loading="lazy" 8936 width="2083" 8937 height="2083" 8938 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8939 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8940 > 8941 8942</button> 8943 </div> 8944 8945 8946 8947 8948 <div 8949 id="x-thumbnail-template--26875475099958__main-49386460938550" 8950 8951 data-media-id="template--26875475099958__main-49386460938550" 8952 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49386460938550 relative select-none " 8953 > 8954 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8955 8956 <img 8957 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=150" 8958 alt="" 8959 loading="lazy" 8960 width="2083" 8961 height="2083" 8962 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8963 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8964 > 8965 8966</button> 8967 </div> 8968 8969 8970 8971 8972 <div 8973 id="x-thumbnail-template--26875475099958__main-49402176897334" 8974 8975 data-media-id="template--26875475099958__main-49402176897334" 8976 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-49402176897334 relative select-none " 8977 > 8978 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 8979 8980 <img 8981 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=150" 8982 alt="" 8983 loading="lazy" 8984 width="4167" 8985 height="4167" 8986 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 8987 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 8988 > 8989 8990</button> 8991 </div> 8992 8993 8994 8995 8996 <div 8997 id="x-thumbnail-template--26875475099958__main-48586259759414" 8998 8999 data-media-id="template--26875475099958__main-48586259759414" 9000 class="x-thumbnail media-thumbnail x-thumbnail-template--26875475099958__main-48586259759414 relative select-none " 9001 > 9002 <button class="relative block w-full h-full pb-[100%]" aria-label="image-thumbnai"> 9003 9004 <img 9005 src="//calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=150" 9006 alt="" 9007 loading="lazy" 9008 width="2083" 9009 height="2083" 9010 class="animate-Xpulse skeleton-image w-full object-cover absolute h-full select-none pointer-events-none" 9011 onload='requestAnimationFrame(() => { this.classList.remove("animate-Xpulse", "skeleton-image"); });' 9012 > 9013 9014</button> 9015 </div> 9016 9017 9018 9019 </div> 9020 </div> 9021 <div 9022 id="x-product-template--26875475099958__main" 9023 class="x-splide transition-default disable-effect-hover flex-1 group splide swiper-product overflow-hidden visible md:w-[85%] w-full" 9024 x-intersect.once='$store.xSplide.load($el, { 9025 "pagination": false, 9026 "perPage": 1, 9027 "perMove": 1, 9028 "gap": 20, 9029 "type": "loop", 9030 "noDrag": "model-viewer", 9031 9032 "thumbs": "x-product-thumbnail-template--26875475099958__main", 9033 "thumbs_direction": "vertical", 9034 "enableThumbnailOverlay": false, 9035 9036 "events": [ 9037 { 9038 "event": "ready", 9039 "callback": () => { 9040 document.dispatchEvent(new CustomEvent("eurus:media-gallery-ready:template--26875475099958__main")); 9041 } 9042 } 9043 ] 9044 })' 9045 > 9046 <div class="splide__track"> 9047 <div class="x-badges-container pointer-events-none z-10 text-sm x-badges-product-detail empty:h-0 empty:min-h-0 empty:mb-0 min-h-[45px] absolute w-full h-full items-center flex-wrap gap-x-1 gap-y-2 md:gap-y-4 mb-5"></div> 9048 <div id="media_product-template--26875475099958__main" class="splide__list flex"> 9049 9050 9051 9052 9053 9054 9055 9056 <div 9057 9058 tabindex="-1" 9059 9060 9061 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9062 data-media-id="template--26875475099958__main-49386460053814" 9063 data-type="image" 9064 data-id="image" 9065 data-host="image" 9066 aria-label="zoom-image" 9067 index="0" 9068 class="49386460053814-template--26875475099958__main splide__slide x-splide-slide featured-image media-slide w-full cursor-grab"> 9069 <button 9070 9071 aria-label="Image zoom" 9072 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9073 9074 <img 9075 srcset="//calistatools.com/cdn/shop/files/5.22.2026GlossEn
9075hancement-16_1.jpg?v=1789574597&width=375 375w, 9076 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=450 450w, 9077 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=750 750w, 9078 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=900 900w, 9079 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1100 1100w, 9080 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1500 1500w, 9081 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1780 1780w, 9082 //calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597 2083w" 9083 src="//calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=1780" 9084 alt="" 9085 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9086 9087 9088 loading="eager" fetchpriority="high" decoding="sync" 9089 9090 9091 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9092 width="2083" 9093 9094 height="2083" 9095 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9096 x-intersect.once="$el.classList.add('active')" 9097 > 9098 9099 9100 </button> 9101 </div> 9102 9103 9104 9105 9106 9107 9108 9109 <div 9110 9111 tabindex="-1" 9112 9113 9114 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9115 data-media-id="template--26875475099958__main-49386460152118" 9116 data-type="image" 9117 data-id="image" 9118 data-host="image" 9119 aria-label="zoom-image" 9120 index="1" 9121 class="49386460152118-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9122 <button 9123 9124 aria-label="Image zoom" 9125 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9126 9127 <img 9128 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=375 375w, 9129 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=450 450w, 9130 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=750 750w, 9131 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=900 900w, 9132 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1100 1100w, 9133 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1500 1500w, 9134 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1780 1780w, 9135 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603 2083w" 9136 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603&width=1780" 9137 alt="" 9138 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9139 9140 9141 loading="lazy" 9142 9143 9144 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9145 width="2083" 9146 9147 height="2083" 9148 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9149 x-intersect.once="$el.classList.add('active')" 9150 > 9151 9152 9153 </button> 9154 </div> 9155 9156 9157 9158 9159 9160 9161 9162 <div 9163 9164 tabindex="-1" 9165 9166 9167 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9168 data-media-id="template--26875475099958__main-49386460447030" 9169 data-type="image" 9170 data-id="image" 9171 data-host="image" 9172 aria-label="zoom-image" 9173 index="2" 9174 class="49386460447030-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9175 <button 9176 9177 aria-label="Image zoom" 9178 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9179 9180 <img 9181 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=375 375w, 9182 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=450 450w, 9183 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=750 750w, 9184 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=900 900w, 9185 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1100 1100w, 9186 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1500 1500w, 9187 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1780 1780w, 9188 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607 2083w" 9189 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607&width=1780" 9190 alt="" 9191 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9192 9193 9194 loading="lazy" 9195 9196 9197 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9198 width="2083" 9199 9200 height="2083" 9201 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9202 x-intersect.once="$el.classList.add('active')" 9203 > 9204 9205 9206 </button> 9207 </div> 9208 9209 9210 9211 9212 9213 9214 9215 <div 9216 9217 tabindex="-1" 9218 9219 9220 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9221 data-media-id="template--26875475099958__main-49386460643638" 9222 data-type="image" 9223 data-id="image" 9224 data-host="image" 9225 aria-label="zoom-image" 9226 index="3" 9227 class="49386460643638-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9228 <button 9229 9230 aria-label="Image zoom" 9231 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9232 9233 <img 9234 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=375 375w, 9235 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=450 450w, 9236 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=750 750w, 9237 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=900 900w, 9238 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1100 1100w, 9239 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1500 1500w, 9240 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1780 1780w, 9241 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608 2083w" 9242 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608&width=1780" 9243 alt="" 9244 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9245 9246 9247 loading="lazy" 9248 9249 9250 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9251 width="2083" 9252 9253 height="2083" 9254 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9255 x-intersect.once="$el.classList.add('active')" 9256 > 9257 9258 9259 </button> 9260 </div> 9261 9262 9263 9264 9265 9266 9267 9268 <div 9269 9270 tabindex="-1" 9271 9272 9273 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9274 data-media-id="template--26875475099958__main-49386461102390" 9275 data-type="image" 9276 data-id="image" 9277 data-host="image" 9278 aria-label="zoom-image" 9279 index="4" 9280 class="49386461102390-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9281 <button 9282 9283 aria-label="Image zoom" 9284 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9285 9286 <img 9287 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=375 375w, 9288 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=450 450w, 9289 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=750 750w, 9290 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=900 900w, 9291 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1100 1100w, 9292 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1500 1500w, 9293 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1780 1780w, 9294 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614 2083w" 9295 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614&width=1780" 9296 alt="" 9297 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9298 9299 9300 loading="lazy" 9301 9302 9303 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9304 width="2083" 9305 9306 height="2083" 9307 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9308 x-intersect.once="$el.classList.add('active')" 9309 > 9310 9311 9312 </button> 9313 </div> 9314 9315 9316 9317 9318 9319 9320 9321 <div 9322 9323 tabindex="-1" 9324 9325 9326 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9327 data-media-id="template--26875475099958__main-49386460938550" 9328 data-type="image" 9329 data-id="image" 9330 data-host="image" 9331 aria-label="zoom-image" 9332 index="5" 9333 class="49386460938550-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9334 <button 9335 9336 aria-label="Image zoom" 9337 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9338 9339 <img 9340 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=375 375w, 9341 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=450 450w, 9342 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=750 750w, 9343 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=900 900w, 9344 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1100 1100w, 9345 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1500 1500w, 9346 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1780 1780w, 9347 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611 2083w" 9348 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611&width=1780" 9349 alt="" 9350 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9351 9352 9353 loading="lazy" 9354 9355 9356 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9357 width="2083" 9358 9359 height="2083" 9360 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9361 x-intersect.once="$el.classList.add('active')" 9362 > 9363 9364 9365 </button> 9366 </div> 9367 9368 9369 9370 9371 9372 9373 9374 <div 9375 9376 tabindex="-1" 9377 9378 9379 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9380 data-media-id="template--26875475099958__main-49402176897334" 9381 data-type="image" 9382 data-id="image" 9383 data-host="image" 9384 aria-label="zoom-image" 9385 index="6" 9386 class="49402176897334-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9387 <button 9388 9389 aria-label="Image zoom" 9390 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9391 9392 <img 9393 srcset="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=375 375w, 9394 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=450 450w, 9395 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=750 750w, 9396 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=900 900w, 9397 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1100 1100w, 9398 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1500 1500w, 9399 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1780 1780w, 9400 //calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963 4167w" 9401 src="//calistatools.com/cdn/shop/files/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963&width=1780" 9402 alt="" 9403 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9404 9405 9406 loading="lazy" 9407 9408 9409 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9410 width="4167" 9411 9412 height="4167" 9413 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9414 x-intersect.once="$el.classList.add('active')" 9415 > 9416 9417 9418 </button> 9419 </div> 9420 9421 9422 9423 9424 9425 9426 9427 <div 9428 9429 tabindex="-1" 9430 9431 9432 x-data="{ isHoverImage: false, hasPointer: window.matchMedia('(pointer: fine)').matches ? true : false }" 9433 data-media-id="template--26875475099958__main-48586259759414" 9434 data-type="image" 9435 data-id="image" 9436 data-host="image" 9437 aria-label="zoom-image" 9438 index="7" 9439 class="48586259759414-template--26875475099958__main splide__slide x-splide-slide media-slide w-full cursor-grab"> 9440 <button 9441 9442 aria-label="Image zoom" 9443 class="block w-full relative overflow-hidden h-full pb-[100%] animate-Xpulse skeleton-image"> 9444 9445 <img 9446 srcset="//calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=375 375w, 9447 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=450 450w, 9448 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=750 750w, 9449 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&wi
9449dth=900 900w, 9450 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1100 1100w, 9451 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1500 1500w, 9452 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1780 1780w, 9453 //calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713 2083w" 9454 src="//calistatools.com/cdn/shop/files/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713&width=1780" 9455 alt="" 9456 sizes="(min-width: 1400px) 700px, (min-width: 767px) 50vw, 100vw" 9457 9458 9459 loading="lazy" 9460 9461 9462 onload="requestAnimationFrame(() => { this.closest('.skeleton-image')?.classList.remove('animate-Xpulse', 'skeleton-image'); });" 9463 width="2083" 9464 9465 height="2083" 9466 class="image-detail cursor-default animate_transition_slide__image duration-300 w-full h-full absolute top-0 left-0 object-cover " 9467 x-intersect.once="$el.classList.add('active')" 9468 > 9469 9470 9471 </button> 9472 </div> 9473 9474 9475 9476 9477 </div> 9478 </div> 9479 9480 <div class="splide__arrows gap-3 md:gap-0 md:mb-2 mb-1 md:mt-4 mt-3 flex justify-center w-full items-center lg:mb-0 lg:mt-0 md:hidden pointer-events-none lg:block"> 9481 <button class="splide__arrow button-arrow w-8 h-8 md:w-11 md:h-11 lg:top-1/2 lg:absolute pt-2 pb-2 pr-2 pl-2 lg:-mt-6 md:pt-3 md:pb-3 md:pr-3 md:pl-3 lg:left-0 rtl:lg:group-hover:left-4 lg:bottom-0 transition-all ease-in-out lg:opacity-0 lg:group-hover:opacity-100 lg:group-hover:translate-x-2 lg:-translate-x-full z-10 lg:group-hover:disabled:opacity-30 disabled:opacity-30 disabled:cursor-not-allowed pointer-events-auto items-center justify-center duration-200 splide__arrow--prev rounded-full border border-solid md:border-none" aria-label="Go to last slide"> 9482 <span class="hidden">previous slide</span> 9483 <span class="not-icon rounded-full hidden md:block"> 9484 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 9485 <path fill="none" d="M16 1L5 12L16 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9486 </svg> 9487 9488 9489</span> 9490 <span class="block md:hidden"> 9491 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 9492 <path fill="none" d="M16 1L5 12L16 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9493 </svg> 9494 9495 9496</span> 9497 </button> 9498 <button class="splide__arrow button-arrow w-8 h-8 md:w-11 md:h-11 lg:top-1/2 lg:absolute lg:-mt-6 pt-2 pb-2 pr-2 pl-2 md:pt-3 md:pb-3 md:pr-3 md:pl-3 lg:right-0 rtl:lg:group-hover:right-4 lg:bottom-0 transition-all ease-in-out lg:opacity-0 lg:group-hover:opacity-100 lg:group-hover:-translate-x-2 lg:translate-x-full z-10 lg:group-hover:disabled:opacity-30 disabled:opacity-30 disabled:cursor-not-allowed pointer-events-auto items-center justify-center duration-200 splide__arrow--next rounded-full border border-solid md:border-none" aria-label="Next slide"> 9499 <span class="hidden">next slide</span> 9500 <span class="not-icon rounded-full hidden md:block"> 9501 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 9502 <path fill="none" d="M8 1L19 12L8 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9503 </svg> 9504 9505 9506</span> 9507 <span class="block md:hidden"> 9508 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet"> 9509 <path fill="none" d="M8 1L19 12L8 23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9510 </svg> 9511 9512 9513</span> 9514 </button> 9515 </div> 9516 9517 </div> 9518 9519 9520 </div> 9521</div>
9522<script src="//calistatools.com/cdn/shop/t/144/assets/product-media.js?v=178923250894042546431782330849" defer></script>
9522</div> 9523 9524 <div 9525 class="product-content-container w-full relative quick-view:md:w-[55%] md:w-1/2 pr-5 pl-5 md:pl-0 md:pr-0 rtl:flex rtl:product-page:md:justify-end pt-3 md:pt-0 pb-0"><div id="ProductInfo-template--26875475099958__main" 9526 class="parent-element product-info w-full pb-1 max-w-[720px] sticky top-[calc(var(--height-header)+5rem)] lg:pl-0 rtl:lg:pr-0 md:pr-5 rtl:md:pr-0 rtl:md:pl-5 quick-view:md:pl-6 rtl:quick-view:md:pl-0 rtl:quick-view:md:pr-6 product-page:md:pl-5 rtl:product-page:md:pl-0 rtl:product-page:md:pr-5 product-page:lg:pl-8 rtl:product-page:lg:pl-0 rtl:product-page:lg:pr-8" 9527 > 9528 <div class="flex gap-x-2.5 flex-wrap"> 9529 <div id="product-variant-title-template--26875475099958__main"> 9530 <div class="hidden product-variant-title-10847775850806-54557956276534">GLOSS Caramel Color Enhancement</div> 9531 </div> 9532 <div class="w-full x-block-breadcrumb mb-4 md:mb-5" role="navigation" aria-label="breadcrumbs" > 9533 <a 9534 class="nav-link text-[rgba(var(--colors-text-link))] relative h-fit before-link" 9535 href="/" 9536 title="Home" 9537 >Home</a> 9538 <span class="breadcrumb__divider border-[rgba(var(--colors-text))] inline-block bottom-1 ml-1 mr-1" aria-hidden="true">></span> 9539 <a 9540 class="nav-link text-[rgba(var(--colors-text-link))] relative h-fit before-link" 9541 href="/collections/all" 9542 title="Home" 9543 >All products</a> 9544 <span class="breadcrumb__divider border-[rgba(var(--colors-text))] inline-block bottom-1 ml-1 mr-1" aria-hidden="true">></span> 9545 9546 9547 <span>GLOSS Caramel Color Enhancement</span> 9548 </div> 9549 9550 <div class="w-full x-block-badges mb-4 md:mb-5 min-h-[45px]" id="x-badges-template--26875475099958__main" > 9551 <div 9552 class="x-badges-container text-sm x-badges-product-detail empty:h-0 empty:min-h-0 empty:mb-0 min-h-[45px] flex items-center flex-wrap gap-x-1 gap-y-2 md:gap-y-4" 9553 x-intersect.once.margin.1200px='() => { 9554 if ($store.xBadges) { 9555 const container = document.getElementById("x-badges-template--26875475099958__main"); 9556 $store.xBadges && $store.xBadges.load($el, (el) => { 9557 if (!([...el.childNodes].some(n => n.nodeType === 1 && n.tagName === "DIV"))) { 9558 el.classList.remove("min-h-[45px]"); 9559 container.classList.remove("mb-4", "md:mb-5", "min-h-[45px]"); 9560 } else { 9561 container.classList.add("mb-4", "md:mb-5", "min-h-[45px]"); 9562 }; 9563 el.removeAttribute("x-intersect.once.margin.1200px"); 9564 container.innerHTML = el.outerHTML; 9565 document.dispatchEvent(new CustomEvent("eurus:badges:loaded")); 9566 }, container) 9567 } 9568 }' 9569 x-labels-data="{ 9570 "variant_id": 10847775850806, 9571 "product_id": 10847775850806, 9572 "available": true, 9573 "title": "GLOSS Caramel Color Enhancement", 9574 "compare_at_price": 0, 9575 "price": 3900, 9576 "price_with_currency": "$39", 9577 "sale_amount": "$-39", 9578 "collections": "||166997852220||539792703798||482898739510||150929145925||137844064325||137909567557||525372293430||", 9579 "inventory_management": "shopify", 9580 "qty": 555, 9581 "container": "product-info", 9582 "make_content_center": false, 9583 "can_show_preorder": false, 9584 9585 "position_adapt": false, 9586 9587 9588 "teleport_dest_image": "#x-product-template-10847775850806-template--26875475099958__main .product-media-container #product-media-template--26875475099958__main .x-badges-container", 9589 9590 "teleport_dest_price": "#x-product-template-10847775850806-template--26875475099958__main #price-template--26875475099958__main .x-badges-container", 9591 "diff_day_create": 1789419343, 9592 "diff_day_publish": 1790046557 9593 9594 ,"metafield_label": { 9595 "custom.promo_copy":"" 9596 } 9597 9598 }" 9599 ></div> 9600 </div> 9601 <style data-shopify> 9602 .title-size--product_name_xkPbAa { 9603 font-size: 1.215rem; 9604 } 9605 @media (min-width: 767px){ 9606 .title-size--product_name_xkPbAa { 9607 font-size: 2.025rem; 9608 } 9609 } 9610 </style> 9611 <div class="x-block-product-title mb-4 md:mb-5 w-full overflow-hidden" x-intersect.once="$el.querySelector('.anm-move-up')?.classList.add('active-anm-heading')"> 9612 <h1 class="product-title h2 title-size--product_name_xkPbAa leading-tight anm-move-up"> 9613 GLOSS Caramel Color Enhancement 9614 </h1> 9615 9616 </div><div class="x-block-price mb-4 md:mb-6 w-full pricearea" ><style data-shopify>#price-template--26875475099958__main { 9617 font-size: 1.4175rem; 9618 } 9619 @media (min-width: 768px) { 9620 #price-template--26875475099958__main { 9621 font-size: 1.575rem; 9622 } 9623 }</style><div id="price-template--26875475099958__main" class="flex flex-wrap items-center gap-x-4 gap-y-2" role="status"><div class="main-product-price price leading-none "> 9624 <div class="target-price hidden">3900</div> 9625 <div class="target-compare-at-price hidden"></div> 9626 9627 9628<p class="price"> 9629 $39 9630 </p> 9631 9632 9633</div> 9634<div class="x-badges-container text-sm z-10 x-badges-product-detail empty:h-0 empty:min-h-0 empty:mb-0 items-center flex flex-wrap gap-1"></div> 9635 </div> 9636 <div class="shopify-payment-terms"><form method="post" action="/cart/add" id="product-form-installment-template--26875475099958__main" accept-charset="UTF-8" class="installment caption-large" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" aria-hidden="true" name="id" value="54557956276534"> 9637 <shopify-payment-terms variant-id="54557956276534" shopify-meta="{"type":"product","currency_code":"USD","country_code":"US","variants":[{"id":54557956276534,"price_per_term":"$20","price_per_term_amount":19.5,"full_price":"$39","full_price_amount":39.0,"eligible":true,"available":true,"number_of_payment_terms":2}],"min_price":"$35","min_price_amount":35.0,"max_price":"$30,000","max_price_amount":30000.0,"financing_plans":[{"min_price":"$35","max_price":"$50","terms":[{"apr":0,"loan_type":"split_pay","installments_count":2}],"min_price_amount":35.0,"max_price_amount":49.99},{"min_price":"$50","max_price":"$1,000","terms":[{"apr":0,"loan_type":"split_pay","installments_count":3},{"apr":0,"loan_type":"split_pay","installments_count":4},{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":50.0,"max_price_amount":999.99},{"min_price":"$1,000","max_price":"$30,000","terms":[{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":1000.0,"max_price_amount":30000.0}],"installments_buyer_prequalification_enabled":false,"seller_id":553469}"></shopify-payment-terms> 9638<input type="hidden" name="product-id" value="10847775850806" /><input type="hidden" name="section-id" value="template--26875475099958__main" /></form></div> 9639 </div> 9640 9641<div 9642 class="x-review-product yotpo 9643 9644 flex w-full items-center rating-review ltr mb-4 md:mb-5 rtl:justify-end md:list-layout:justify-start 9645 " 9646> 9647 9648<div class="yotpo bottomLine" data-product-id="10847775850806"> </div> 9649</div> 9650 9651 9652 9653 <div class="x-block-text mb-4 w-full"> 9654 <div class="w-full rte"> 9655 <div class="rte"><p>Size: 6.76 fl oz. / 200 mL</p></div> 9656</div> 9657 </div>
9657<script src="//calistatools.com/cdn/shop/t/144/assets/variant-select.js?v=28920746821541902741782330849" defer></script>
9657<div x-init="document.addEventListener('eurus:cart:items-changed', () => { 9658 Alpine.store('xUpdateVariantQuanity').cachedResults = []; 9659 Alpine.store('xUpdateVariantQuanity').updateQuantity('template--26875475099958__main', '/products/gloss-caramel-color-enhancement'); 9660 });"></div> 9661 9662 <div class="x-block-product-sibling mb-4 md:mb-6 w-full" > 9663 9664 <p class="mb-2">Shade: Caramel</p> 9665 <input class="hidden" aria-hidden="true" form="product-form-template--26875475099958__main" name="properties[Shade]" value="Caramel" checked/> 9666 9667 9668 <div class="flex gap-2 mt-2 relative flex-wrap" x-data="xProductSibling('template--26875475099958__main', true, false)"> 9669 9670 9671 9672 9673 � 9674 <input 9675 data-product-url="/products/gloss-purple-color-enhancement" 9676 id="product_sibling_Mbh7aE-0" 9677 type="radio" 9678 name="product_sibling_Mbh7aE-Shade" 9679 value="Purple" 9680 class="absolute opacity-0 h-1 w-1 input-radio" 9681 9682 @change="updateProductInfo('/products/gloss-purple-color-enhancement')" 9683 > 9684 <label 9685 id="color-swatch-product_sibling_Mbh7aE-0" 9686 class="color-watches translate-y-0 transform-none transition variant-product_sibling_Mbh7aE-0 rtl:ml-2.5 rtl:mr-0 cursor-pointer ml-[2px] rtl:mr-0.5 rtl:ml-0 block swatch-small relative rounded-full before:rounded-full" 9687 for="product_sibling_Mbh7aE-0" 9688 data-swatch="" 9689 9690 style="background: purple;" 9691 9692 tabindex="0" 9693 aria-label="Purple" 9694 title="Purple" 9695 @keyup.enter="updateProductInfo('/products/gloss-purple-color-enhancement')" 9696 > 9697 </label> 9698 9699 9700 9701 9702 � 9703 <input 9704 data-product-url="/products/gloss-clear-color-enhancement" 9705 id="product_sibling_Mbh7aE-1" 9706 type="radio" 9707 name="product_sibling_Mbh7aE-Shade" 9708 value="Clear" 9709 class="absolute opacity-0 h-1 w-1 input-radio" 9710 9711 @change="updateProductInfo('/products/gloss-clear-color-enhancement')" 9712 > 9713 <label 9714 id="color-swatch-product_sibling_Mbh7aE-1" 9715 class="color-watches translate-y-0 transform-none transition variant-product_sibling_Mbh7aE-1 rtl:ml-2.5 rtl:mr-0 cursor-pointer ml-[2px] rtl:mr-0.5 rtl:ml-0 block swatch-small relative rounded-full before:rounded-full" 9716 for="product_sibling_Mbh7aE-1" 9717 data-swatch="" 9718 9719 style="background: clear;" 9720 9721 tabindex="0" 9722 aria-label="Clear" 9723 title="Clear" 9724 @keyup.enter="updateProductInfo('/products/gloss-clear-color-enhancement')" 9725 > 9726 </label> 9727 9728 9729 9730 9731 ��<style data-shopify> 9732 9733 [data-swatch="Caramel"]:before { 9734 background: #de7c13; 9735 } 9736 �</style> 9737 9738 <input 9739 data-product-url="/products/gloss-caramel-color-enhancement" 9740 id="product_sibling_Mbh7aE-2" 9741 type="radio" 9742 name="product_sibling_Mbh7aE-Shade" 9743 value="Caramel" 9744 class="absolute opacity-0 h-1 w-1 input-radio" 9745 checked 9746 @change="updateProductInfo('/products/gloss-caramel-color-enhancement')" 9747 > 9748 <label 9749 id="color-swatch-product_sibling_Mbh7aE-2" 9750 class="color-watches translate-y-0 transform-none transition variant-product_sibling_Mbh7aE-2 rtl:ml-2.5 rtl:mr-0 cursor-pointer ml-[2px] rtl:mr-0.5 rtl:ml-0 block swatch-small relative rounded-full before:rounded-full" 9751 for="product_sibling_Mbh7aE-2" 9752 data-swatch="Caramel" 9753 9754 tabindex="0" 9755 aria-label="Caramel" 9756 title="Caramel" 9757 @keyup.enter="updateProductInfo('/products/gloss-caramel-color-enhancement')" 9758 > 9759 </label> 9760 9761 9762 9763 9764 </div> 9765 9766 </div> 9767
9768<script src="//calistatools.com/cdn/shop/t/144/assets/product-sibling.js?v=39727444406002686261782330849" defer></script>
9768 9769 9770<div class="x-block-app mb-4 md:mb-6 w-full app-block"> 9771 <div id="shopify-block-AeGdPSVBZVGN3ci96S__recharge_subscriptions_subscription_widget_v2_3UF3Jp" class="shopify-block shopify-app-block recharge-subscription-widget"> 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784
9785<script> 9786 9787 window.Recharge = {}; 9788</script>
9788 9789 9790 9791</div> 9792 </div> 9793 <div 9794 x-ref='product_form_container' class="x-block-buy-buttons button-product-buy_buttons w-full button-product mb-4 md:mb-6" 9795 x-data="xProductCart('', '')" 9796 9797 > 9798 <style data-shopify> 9799 .x-variant-picker + .x-block-buy-buttons { 9800 margin-top: 8px; 9801 } 9802 .button-product-buy_buttons, .button-product-buy_buttons *:before { 9803 9804 9805 9806 9807 9808 9809 } 9810 .dark .button-product-buy_buttons, .dark .button-product-buy_buttons *:before { 9811 9812 --colors-button: 255, 255, 255; 9813 9814 9815 --colors-button-text: 40, 41, 40; 9816 9817 9818 --colors-button-hover: rgb(255, 255, 255); 9819 9820 9821 --colors-button-text-hover: 40, 41, 40; 9822 9823 9824 --colors-secondary-button: 255, 255, 255; 9825 --colors-line-secondary-button: 255, 255, 255; 9826 9827 9828 --background-secondary-button: transparent; 9829 9830 } 9831 </style> 9832 <div><form method="post" action="/cart/add" id="product-form-template--26875475099958__main" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form" x-ref="product_form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" aria-hidden="true" id="update-variant-template--26875475099958__main" name="id" value="54557956276534"> 9833 9834 <div class="flex gap-2"> 9835 <div class="inline-flex w-fit border border-solid items-center mb-3 bg-[rgba(var(--background-color),1)]" 9836 x-data="xQuantitySelector('10847775850806', 'template--26875475099958__main', 1, null, null, false, '${{amount_no_decimals}} USD', '${{amount_no_decimals}}')" 9837 x-intersect.once.margin.200px="initQtyChangeEvent('Quantity-atc-template--26875475099958__main')" 9838 > 9839 <button class="w-10 cursor-pointer pt-2.5 pb-2.5 md:pt-3.5 md:pb-3.5 bg-transparent pl-3.5 pr-3.5 select-none opacity-70" name="minus" aria-label="minus" @click.prevent="minus(1)"> 9840 9841 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 9842 <path d="M1 12H23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9843 </svg> 9844 9845 9846 </button> 9847 <input class="outer-spin-button hide-spin-input focus:outline-none w-8 md:w-10 pt-2 pb-2 md:pt-2.5 md:pb-2.5 text-center bg-transparent" 9848 type="number" 9849 name="quantity" 9850 id="Quantity-atc-template--26875475099958__main" 9851 aria-label="quantity selector value" 9852 min="1" 9853 9854 step="1" 9855 value="1" 9856 form="product-form-template--26875475099958__main" 9857 x-model="qty" 9858 x-on:blur="invalid($el)" 9859 > 9860 <button class="w-10 cursor-pointer pt-2.5 pb-2.5 md:pt-3.5 md:pb-3.5 bg-transparent pr-3.5 pl-3.5 select-none opacity-70" name="plus" @click.prevent="plus(1)" aria-label="minus"> 9861
9862 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 9863 <path d="M1 12H23M12 1V23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9864 </svg> 9865 9866 9867 </button> 9868 </div> 9869 9870 <button 9871 id="x-atc-button-template--26875475099958__main" 9872 role="button" 9873 name="add" 9874 type="submit" 9875 @click="addToCart($event, true)" 9876 9877 class="relative add_to_cart_button button button-solid disabled:opacity-60 disabled:cursor-not-allowed disable-action-btn-animation duration-200 leading-none w-full mb-3 pt-3 pb-3 md:pt-3.5 md:pb-3.5" 9878 9879 9880 9881 x-intersect.once.margin.200px="Alpine.store('xCartHelper').validateCart();" 9882 data-available="true" 9883 9884 9885 > 9886 9887<span class="flex justify-center" :class="loading && 'invisible'"> 9888 <span class="x-atc-text button-text w-fit pt-0.5 pb-0.5 ">Add to cart 9889</span> 9890 9891 </span> 9892 <div class="inline-block w-5 h-5 absolute top-[calc(50%-10px)] left-[calc(50%-10px)]" x-show="loading" x-cloak> 9893 <svg class="animate-spin rounded-full" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> 9894 <path transform="translate(0 512) scale(0.1 -0.1)" fill="currentColor" d="M2474 4676 c-43 -19 -101 -81 -115 -123 -18 -56 -7 -145 24 -190 52 -75 79 -85 262 -99 90 -7 207 -22 260 -33 436 -92 824 -352 1070 -721 521 -781 321 -1824 -453 -2358 -501 -345 -1172 -393 -1715 -121 -700 350 -1075 1118 -917 1876 37 180 86 305 209 536 51 96 54 147 15 226 -37 73 -86 104 -174 109 -105 6 -151 -24 -224 -145 -137 -230 -241 -543 -276 -833 -13 -110 -13 -355 1 -478 52 -475 268 -922 614 -1267 351 -352 787 -560 1284 -615 171 -19 442 -8 615 24 423 80 802 282 1111 591 407 407 625 931 625 1505 0 574 -218 1098 -625 1505 -296 296 -654 493 -1055 579 -210 45 -470 61 -536 32z"/> 9895 </svg> 9896 9897 </div> 9898 </button> 9899 9900 </div> 9901 9902<input type="hidden" name="product-id" value="10847775850806" /><input type="hidden" name="section-id" value="template--26875475099958__main" /></form><div class="flex items-center mb-3 pl-4 pr-4 pt-3 pb-3 bg-[rgba(var(--color-error),0.2)]" role="alert" x-cloak x-show="errorMessage" @click.away="errorMessage=false"> 9903 <div class="flex"> 9904 <span class="w-4 h-4"><svg class="text-[rgba(var(--color-error))]" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 800 800" enable-background="new 0 0 800 800" xml:space="preserve" fill="currentColor"> 9905 <path d="M400 0C179.1 0 0 179.1 0 400c0 220.9 179.1 400 400 400s400-179.1 400-400C800 179.1 620.9 0 400 0zm0 655.333c-31.267 0-52.667-24.1-52.667-55.333 0-32.134 22.3-55.333 52.667-55.333 32.1 0 52.667 23.199 52.667 55.333 0 31.267-20.567 55.333-52.667 55.333zm20.733-211.3c-7.967 27.167-33.066 27.634-41.434 0-9.633-31.866-43.866-152.833-43.866-231.4 0-103.667 129.699-104.167 129.699 0 0 79.034-36.099 203.134-44.399 231.4z"/> 9906 </svg> 9907</span> 9908 </div> 9909 <span class="ml-2 pt-0.5" x-ref="error_message"></span> 9910 </div> 9911 <div class="x-pre-order-button pre-order-template--26875475099958__main"></div></div> 9912 </div> 9913 9914 <div class="relative"> 9915 <div x-intersect:leave="showStickyATC = true" x-intersect="showStickyATC = false" class="absolute bottom-0 opacity-0 w-0 h-[500vh]
9915-z-10"></div> 9916 </div> 9917 <template x-if="!!document.getElementById('section-footer')"> 9918 <template x-teleport="#section-footer"> 9919 <div x-intersect:leave="if(readySticky) showStickyATC = true" x-intersect="readySticky = true;showStickyATC = false" class="absolute left-1/2 top-0 opacity-0 w-0.5 h-full -z-10"></div> 9920 </template> 9921 </template> 9922 9923 9924 9925<style data-shopify>.color-icon--feature_icon_99BxnX { 9926 9927 color: 0,0,0; 9928 9929 } 9930 .dark .color-icon--feature_icon_99BxnX { 9931 9932 color: rgb(var(--colors-text)); 9933 9934 } 9935 .feature-icon-feature_icon_99BxnX { 9936 9937 9938 9939 9940 } 9941 .dark .feature-icon-feature_icon_99BxnX { 9942 9943 background: transparent; 9944 9945 9946 --colors-text: 225, 227, 225; 9947 9948 9949 --colors-line-and-border: 49, 49, 49; 9950 9951 9952 --colors-heading: 255, 255, 255; 9953 9954 } 9955 .title--feature_icon_99BxnX { 9956 font-size: 0.86625rem; 9957 } 9958 .size-icon-feature_icon_99BxnX { 9959 width: 77.4px; 9960 height: 77.4px; 9961 } 9962 @media (min-width: 1024px){ 9963 .title--feature_icon_99BxnX { 9964 font-size: 0.9625rem; 9965 } 9966 .size-icon-feature_icon_99BxnX { 9967 width: 86px; 9968 height: 86px; 9969 } 9970 }</style><div class="x-block-feature-icons w-full feature-icons-group flex gap-y-2.5 flex-wrap gap-x-2.5 justify-center lg:justify-start dark:mb-0" > 9971 9972<div class="feature-icon-item relative feature-icon-feature_icon_99BxnX justify-center w-1/3 lg:w-1/6 flex-1 min-w-[83px] text-start rtl:text-right"> 9973 <div class="pl-3 pr-3 pt-3 pb-3"> 9974 9975 9976 <div class="flex justify-start"> 9977 <span class="inline-block relative size-icon-feature_icon_99BxnX color-icon--feature_icon_99BxnX"> 9978 9979 9980 <img 9981 src="//calistatools.com/cdn/shop/files/website-trust-icon-crueltyFree-wText-64x64.svg?v=1782879767&width=86" 9982 alt="" 9983 loading="lazy" 9984 width="64" 9985 height="64" 9986 style="object-position: 23.438% 39.16%" 9987 class="object-cover absolute top-0 left-0 w-full h-full" 9988 > 9989 9990 9991 </span> 9992 </div> 9993 9994 9995 <div class="mt-2.5 text-start rtl:text-right"> 9996 9997 9998 </div> 9999 </div> 10000</div><div class="feature-icon-item relative feature-icon-feature_icon_99BxnX justify-center w-1/3 lg:w-1/6 flex-1 min-w-[83px] text-start rtl:text-right"> 10001 <div class="pl-3 pr-3 pt-3 pb-3"> 10002 10003 10004 <div class="flex justify-start"> 10005 <span class="inline-block relative size-icon-feature_icon_99BxnX color-icon--feature_icon_99BxnX"> 10006 10007 10008 <img 10009 src="//calistatools.com/cdn/shop/files/website-trust-icon-sulfateFree-wText-64x64.svg?v=1782879767&width=86" 10010 alt="" 10011 loading="lazy" 10012 width="64" 10013 height="64" 10014 style="object-position: 49.121% 50.0%" 10015 class="object-cover absolute top-0 left-0 w-full h-full" 10016 > 10017 10018 10019 </span> 10020 </div> 10021 10022 10023 <div class="mt-2.5 text-start rtl:text-right"> 10024 10025 10026 </div> 10027 </div> 10028</div><div class="feature-icon-item relative feature-icon-feature_icon_99BxnX justify-center w-1/3 lg:w-1/6 flex-1 min-w-[83px] text-start rtl:text-right"> 10029 <div class="pl-3 pr-3 pt-3 pb-3"> 10030 10031 10032 <div class="flex justify-start">
10033 <span class="inline-block relative size-icon-feature_icon_99BxnX color-icon--feature_icon_99BxnX"> 10034 10035 10036 <img 10037 src="//calistatools.com/cdn/shop/files/website-trust-icon-parabenFree-wText-64x64.svg?v=1782879767&width=86" 10038 alt="" 10039 loading="lazy" 10040 width="64" 10041 height="64" 10042 style="object-position: 50.0% 48.926%" 10043 class="object-cover absolute top-0 left-0 w-full h-full" 10044 > 10045 10046 10047 </span> 10048 </div> 10049 10050 10051 <div class="mt-2.5 text-start rtl:text-right"> 10052 10053 10054 </div> 10055 </div> 10056</div></div> 10057 10058 10059<div 10060 x-data="{ 10061 open: false, 10062 openPopup(index) { 10063 this.open = true; 10064 const splideEl = document.getElementById('x-shoppable-video-popup-shoppable_video_r3dR6z'); 10065 if (splideEl){ 10066 if (splideEl.splide){ 10067 this.$nextTick(() => { 10068 splideEl.splide.Components.Move.jump(index); 10069 splideEl.splide.go(index); 10070 }); 10071 } else { 10072 document.addEventListener(`eurus:template--26875475099958__main:splide-ready`, () => { 10073 splideEl.splide.Components.Move.jump(index); 10074 splideEl.splide.go(index); 10075 }); 10076 } 10077 } 10078 document.body.classList.add('overflow-hidden'); 10079 }, 10080 closePopup() { 10081 this.open = false; 10082 document.body.classList.remove('overflow-hidden'); 10083 document.dispatchEvent(new CustomEvent(`eurus:template--26875475099958__main:shoppable-video-popup-close`)); 10084 } 10085 }" 10086 x-init="document.addEventListener('eurus:popup:close', ()=>{ closePopup() })" 10087 class="x-block-shoppable-video w-full" 10088> 10089 10090 10091</div> 10092 10093<div id="product-description-block-template--26875475099958__main" class="x-block-description w-full cursor-pointer border-y border-solid accordion mb-4 md:mb-6"><div class="w-full relative" x-data="{open: true}"><button class="flex relative gap-x-[10px] items-center pl-2 pr-2 pt-3 pb-3 w-full" @click.prevent="open = !open"> 10094 10095 <p class="font-medium">Description</p> 10096 <span class="w-2.5 inline-block absolute right-2 rtl:left-2 rtl:right-auto top-1/2 duration-500 -translate-y-1/2 rotate-180" :class="open ? 'rotate-180' : 'rotate-0'"> 10097 10098 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10099 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10100 </svg> 10101 10102 </span> 10103 </button><div class=" pl-2 pr-2 border-t border-solid border-[rgb(var(--colors-text),1)]"x-show="open" x-collapse> 10104 <div class="rte pt-2 pb-2"> 10105 <div class="rte"><div class="metafield-rich_text_field"><p>Created to warm and brighten color for brunettes, <strong>GLOSS Caramel Color Enhancement</strong> is a temporary toning gloss that deep conditions hair while adding glass-like shine and a rich, bronzed caramel glow. Results last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine. </p></div></div> 10106</div> 10107 </div> 10108 </div></div> 10109 10110 10111<div class="x-block-collapsible-tab-collapsible-row-1 w-full mb-4 md:mb-6 border-y border-solid accordion" x-data="{open: false}"> 10112 <button class="flex relative items-center gap-x-[10px] w-full pt-3 pb-3 pl-2 pr-2 cursor-pointer" @click="open = !open"> 10113 10114 <p class="pr-6 rtl:pr-0 rtl:pl-6 font-medium p-break-words">Benefits</p> 10115 <span class="w-2.5 inline-block absolute right-2 rtl:left-2 rtl:right-auto top-1/2 -translate-y-1/2 duration-500" :class="open ? 'rotate-180' : 'rotate-0'"> 10116 10117 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10118 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10119 </svg> 10120 10121 </span> 10122 </button> 10123 <div 10124 class=" pl-2 pr-2 border-t border-solid border-[rgb(var(--colors-text),1)]" 10125 x-show="open" x-cloak x-collapse 10126 10127 style="--border-color: rgba(var(--colors-text),1)" 10128 10129 > 10130 <div class="rte pt-2 pb-2"> 10131 <ul class="metafield-single_line_text_field-array"><li class="metafield-single_line_text_field">Enhances brunette tones with warm, bronzed dimension</li><li class="metafield-single_line_text_field">Tones while conditioning to improve softness, smoothness, and manageability</li><li class="metafield-single_line_text_field">Helps reduce frizz and flyaways for a polished look that lasts</li></ul> 10132 </div> 10133 </div> 10134 </div> 10135 10136 10137<div class="x-block-collapsible-tab-collapsible_tab_JjNQKN w-full mb-4 md:mb-6 border-y border-solid accordion" x-data="{open: false}"> 10138 <button class="flex relative items-center gap-x-[10px] w-full pt-3 pb-3 pl-2 pr-2 cursor-pointer" @click="open = !open"> 10139 10140 <p class="pr-6 rtl:pr-0 rtl:pl-6 font-medium p-break-words">Ingredients</p>
10141 <span class="w-2.5 inline-block absolute right-2 rtl:left-2 rtl:right-auto top-1/2 -translate-y-1/2 duration-500" :class="open ? 'rotate-180' : 'rotate-0'"> 10142 10143 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10144 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10145 </svg> 10146 10147 </span> 10148 </button> 10149 <div 10150 class=" pl-2 pr-2 border-t border-solid border-[rgb(var(--colors-text),1)]" 10151 x-show="open" x-cloak x-collapse 10152 10153 style="--border-color: rgba(var(--colors-text),1)" 10154 10155 > 10156 <div class="rte pt-2 pb-2"> 10157 <div class="metafield-rich_text_field"><p>Water/Aqua/Eau, Propylene Glycol, Myristyl Alcohol, Cetrimonium Chloride, Phenoxyethanol, Amodimethicone, Fragrance/Parfum, Disperse Black 9, HC Blue No. 2, Basic Brown 17, Basic Yellow 57, Butyrospermum Parkii (Shea) Oil, Ethylhexylglycerin, HC Red No. 3, Trideceth-10, Cocos Nucifera (Coconut) Oil, Polysorbate 20, Panthenol, Lecithin, Punica Granatum (Pomegranate) Extract, Linseed Acid, Hexyl Cinnamal, Benzyl Salicylate</p></div> 10158 </div> 10159 </div> 10160 </div> 10161 10162 10163 10164 10165 10166<div class="x-block-collapsible-tab-collapsible_tab_QQTb9e w-full mb-4 md:mb-6 border-y border-solid accordion" x-data="{open: false}"> 10167 <button class="flex relative items-center gap-x-[10px] w-full pt-3 pb-3 pl-2 pr-2 cursor-pointer" @click="open = !open"> 10168 10169 <p class="pr-6 rtl:pr-0 rtl:pl-6 font-medium p-break-words">How-To</p> 10170 <span class="w-2.5 inline-block absolute right-2 rtl:left-2 rtl:right-auto top-1/2 -translate-y-1/2 duration-500" :class="open ? 'rotate-180' : 'rotate-0'"> 10171 10172 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10173 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10174 </svg> 10175 10176 </span> 10177 </button> 10178 <div 10179 class=" pl-2 pr-2 border-t border-solid border-[rgb(var(--colors-text),1)]" 10180 x-show="open" x-cloak x-collapse 10181 10182 style="--border-color: rgba(var(--colors-text),1)" 10183 10184 > 10185 <div class="rte pt-2 pb-2"> 10186 <div class="metafield-rich_text_field"><p>Use on cleansed, damp hair. </p><ol><li>Apply product generously to hair, making sure all strands are evenly coated.</li><li>For best results, leave on for 5-20 minutes, then rinse completely. For maximum toning and shine, apply to dry hair.</li></ol></div> 10187 </div> 10188 </div> 10189 </div> 10190<div 10191 x-intersect.once.margin.200px="$store.xProductRecommendations.load($el, '/recommendations/products?section_id=template--26875475099958__main&product_id=10847775850806&limit=30&intent=complementary')" 10192 x-init="document.addEventListener('eurus:cart:items-changed', () => { $store.xProductRecommendations.load($el, '/recommendations/products?section_id=template--26875475099958__main&product_id=10847775850806&limit=30&intent=complementary') })" 10193 class="x-block-product-complementary product-recommendations main-product w-full accordion" 10194 10195 10196 ></div> 10197 10198 10199<div class="properties_re_render-template--26875475099958__main"> 10200 10201 <div class="hidden" id="cart-edt-template--26875475099958__main"> 10202 10203 10204 10205 </div> 10206 </div> 10207 </div> 10208 </div> 10209 <div id="sticky-add-to-cart-template--26875475099958__main" 10210 10211 class="sticky_add_to_cart fixed w-full bottom-0 left-0 right-0 bg-[rgba(var(--background-color))] shadow-[0_-4px_10px_-1px_rgba(var(--colors-text),.1)] z-40" 10212 10213 x-data="xStickyATC('template--26875475099958__main', true, false)" 10214 x-show="showStickyATC" 10215 x-cloak 10216 x-transition:enter="transition-all ease-in-out duration-300" 10217 x-transition:enter-start="opacity-0 transform translate-y-1/3" 10218 x-transition:enter-end="opacity-100 translate-y-0" 10219 x-transition:leave="transition-all ease-in-out duration-500" 10220 x-transition:leave-end="opacity-0 transform translate-y-1/3" 10221 > 10222 <div 10223 class="x-pgw page-width pt-2 pb-2 flex flex-col md:flex-row rtl:md:flex-row-reverse md:gap-x-2 justify-between md:items-center transition duration-300 ease-linear relative" 10224 10225 :class="openDetailOnMobile ? 'pr-5 rtl:pl-5' : 'delay-200 pr-14 md:pr-5 rtl:pl-14 rtl:md:pl-5 rtl:pr-5'" 10226 10227 x-transition:enter="transition-all ease-in-out duration-300" 10228 x-transition:enter-start="opacity-0 transform" 10229 x-transition:enter-end="opacity-100" 10230 x-transition:leave="transition-all ease-in-out duration-500" 10231 x-transition:leave-end="opacity-0 transform" 10232 >
10233 <span 10234 class="w-11 h-11 pr-4 pl-4 z-10 block absolute right-1 rtl:right-auto rtl:left-1 opacity-70 md:hidden" 10235 :class="openDetailOnMobile ? 'rotate-0 border-l rtl:border-r rtl:border-l-0' : 'rotate-180 border-r rtl:border-l rtl:border-r-0 top-1/2 -translate-y-1/2'" 10236 @click="openDetailOnMobile = !openDetailOnMobile" 10237 > 10238 10239 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10240 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10241 </svg> 10242 10243 </span> 10244 <div 10245 class="md:!flex md:!h-auto grow justify-between md:items-center flex-col md:flex-row rtl:md:flex-row-reverse" 10246 x-cloak 10247 x-show="openDetailOnMobile" 10248 x-collapse 10249 > 10250 <a href="/products/gloss-caramel-color-enhancement" 10251 class="flex rtl:flex-row-reverse rtl:text-right relative transition ease-in-out duration-300 mb-5 md:mb-0" 10252 x-transition:enter="transition-all ease-in-out duration-300" 10253 x-transition:enter-start="opacity-0 transform translate-y-1/3" 10254 x-transition:enter-end="opacity-100 translate-y-0" 10255 x-transition:leave="transition-all ease-in-out duration-500" 10256 x-transition:leave-end="opacity-0 transform translate-y-1/3" 10257 > 10258 <div id="product-image-sticky-template--26875475099958__main" class="w-10 relative"> 10259 <div class="relative overflow-hidden w-full float-left before:h-0 before:block before:pb-[100%]"> 10260 10261 <img 10262 src="//calistatools.com/cdn/shop/files/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597&width=150" 10263 alt="GLOSS Caramel Color Enhancement" 10264 width="2083" 10265 loading="lazy" 10266 height="2083" 10267 class="h-full w-full object-cover absolute top-0 left-0 image-hover" 10268 > 10269 10270</div> 10271 </div> 10272 <div class="pt-0.5 ml-5 flex-1 pr-8 rtl:pl-8 rtl:lg:pr-0 rtl:pr-0 lg:pr-0 mr-5"> 10273 <div> 10274 <p class="h6 md:text-[0.9625rem] text-[0.86625rem] p-break-words leading-tight duration-200 transition hover-text-link text-[rgba(var(--colors-heading))]">GLOSS Caramel Color Enhancement</p> 10275 </div> 10276 <div id="price-sticky-template--26875475099958__main" class="price-sticky-template--26875475099958__main pricearea" role="status"><div class=" price leading-none pt-1"> 10277 <div class="target-price hidden">3900</div> 10278 <div class="target-compare-at-price hidden"></div> 10279 10280 10281<p class="price"> 10282 $39 10283 </p> 10284 10285 10286</div> 10287</div> 10288 </div> 10289 </a><div class="x-sticky-rating-calista hidden md:flex md:items-center"> 10290 10291 10292<div 10293 class="x-review-product yotpo 10294 10295 flex w-full items-center rating-review ltr mb-2.5 md:list-layout:justify-start 10296 " 10297> 10298 10299<div class="yotpo bottomLine" data-product-id="10847775850806"> </div> 10300</div> 10301 10302 </div><div class="x-sticky-sibling-calista"> 10303 10304 10305 <div class="x-block-product-sibling mb-4 md:mb-6 w-full" > 10306 10307 <p class="mb-2">Shade: Caramel</p> 10308 <input class="hidden" aria-hidden="true" form="product-form-sticky-template--26875475099958__main" name="properties[Shade]" value="Caramel" checked/> 10309 10310 10311 <div class="flex gap-2 mt-2 relative flex-wrap" x-data="xProductSibling('template--26875475099958__main', true, false)"> 10312 10313 <span class="absolute top-1/2 right-4 rtl:right-auto rtl:left-4 -translate-y-1/2 w-2.5 inline-block pointer-events-none"> 10314 10315 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10316 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10317 </svg> 10318 10319 </span> 10320 <select 10321 id="Option-product_sibling_Mbh7aE" 10322 class="empty:hidden w-full pt-2.5 pb-2.5 pl-5 pr-8 rtl:pr-5 rtl:pl-8 mt-2 mb-2 bg-transparent focus:border-current border appearance-none outline-none border-solid focus-visible:outline-none cursor-pointer" 10323 name="product_sibling_Mbh7aE-Shade" 10324 @change="changeSelectOption($event)" 10325 > 10326 10327 10328 10329 10330 � 10331 <option 10332 value="Purple" 10333 class="text-left rtl:text-right rtl:pr-5 whitespace-normal cursor-pointer content-template--26875475099958__main bg-[rgba(var(--background-color),1)]" 10334 data-product-url="/products/gloss-purple-color-enhancement" 10335 >Purple</option> 10336 10337 10338 � 10339 <option 10340 value="Clear" 10341 class="text-left rtl:text-right rtl:pr-5 whitespace-normal cursor-pointer content-template--26875475099958__main bg-[rgba(var(--background-color),1)]" 10342 data-product-url="/products/gloss-clear-color-enhancement" 10343 >Clear</option> 10344 10345 10346 � 10347 <option 10348 value="Caramel" 10349 class="text-left rtl:text-right rtl:pr-5 whitespace-normal cursor-pointer content-template--26875475099958__main bg-[rgba(var(--background-color),1)]" selected="selected" 10350 data-product-url="/products/gloss-caramel-color-enhancement" 10351 >Caramel</option> 10352 10353 10354 </select> 10355 10356 </div> 10357 10358 </div> 10359
10360<script src="//calistatools.com/cdn/shop/t/144/assets/product-sibling.js?v=39727444406002686261782330849" defer></script>
10360 10361 </div> 10362 </div> 10363 10364 <div x-data="xProductCart('', '')"> 10365 <div class="absolute -top-14 left-5 bg-[rgba(var(--colors-background),1)] bg-clip-content mr-5"> 10366 <div class="flex relative items-center pl-4 pr-4 pt-3 pb-3 bg-[rgba(var(--color-error),0.2)]" role="alert" x-cloak x-show="errorMessage" @click.away="errorMessage=false"> 10367 <div class="flex"> 10368 <span class="w-4 h-4"><svg class="text-[rgba(var(--color-error))]" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 800 800" enable-background="new 0 0 800 800" xml:space="preserve" fill="currentColor"> 10369 <path d="M400 0C179.1 0 0 179.1 0 400c0 220.9 179.1 400 400 400s400-179.1 400-400C800 179.1 620.9 0 400 0zm0 655.333c-31.267 0-52.667-24.1-52.667-55.333 0-32.134 22.3-55.333 52.667-55.333 32.1 0 52.667 23.199 52.667 55.333 0 31.267-20.567 55.333-52.667 55.333zm20.733-211.3c-7.967 27.167-33.066 27.634-41.434 0-9.633-31.866-43.866-152.833-43.866-231.4 0-103.667 129.699-104.167 129.699 0 0 79.034-36.099 203.134-44.399 231.4z"/> 10370 </svg> 10371</span> 10372 </div> 10373 <span class="ml-2 pt-0.5" x-ref="error_message"></span> 10374 </div> 10375 </div> 10376 <div class="product_form flex justify-between md:justify-end gap-x-2.5 lg:mt-0" x-cloak :class="open ? 'flex-col' : 'items-center'"> 10377 <div 10378 id="price-sticky-template--26875475099958__main" 10379 class="price-sticky-template--26875475099958__main pricearea md:!hidden mr-3 duration-200 transition ease-in" 10380 role="status" 10381 x-show="!open" 10382 ><div class=" price leading-none md:pt-2"> 10383 <div class="target-price hidden">3900</div> 10384 <div class="target-compare-at-price hidden"></div> 10385 10386 10387<p class="price"> 10388 $39 10389 </p> 10390 10391 10392</div> 10393</div> 10394 <div class="flex justify-between rtl:flex-row-reverse gap-x-1 md:gap-x-2 md:flex-grow-0 lg:justify-end lg:mt-0 transition duration-200"> 10395 10396<form method="post" action="/cart/add" id="product-form-sticky-template--26875475099958__main" accept-charset="UTF-8" class="form w-full delay-200 transition duration-200" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form" x-ref="product_form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><div class="hidden product-variant-title-10847775850806-54557956276534">GLOSS Caramel Color Enhancement</div> 10397 <input type="hidden" aria-hidden="true" id="update-variant-sticky-template--26875475099958__main" name="id" value="54557956276534"> 10398 10399 <div> 10400 <button 10401 id="x-atc-button-sticky-template--26875475099958__main" 10402 role="button" 10403 type="submit" 10404 name="add" 10405 @click.prevent="addToCart($event, true, '', true)" 10406 class="relative min-w-[120px] add_to_cart_button button button-solid transition disabled:opacity-60 disable-action-btn-animation disabled:cursor-not-allowed duration-300 leading-none w-full pt-2.5 pb-2.5 pl-4 pr-4 md:pr-5 md:pl-5" 10407 10408 10409 x-transition:enter="transition-all w-24 ease-in-out duration-300" 10410 x-transition:enter-start="opacity-0 transform" 10411 x-transition:enter-end="opacity-100" 10412 x-transition:leave="transition-all ease-in-out duration-500" 10413 x-transition:leave-end="opacity-0 transform w-full" 10414 10415 10416 > 10417 <span class="x-atc-text" :class="loading && 'opacity-0'"> 10418
10419 <span class="flex items-center justify-center"> 10420 10421<div class="flex justify-center "> 10422 10423 10424 10425 <span class="button-text is-focus-button:opacity-0">Add to cart</span> 10426 10427 10428 10429 10430</div> 10431 </span> 10432 </span> 10433 <div class="inline-block w-5 h-5 absolute top-[calc(50%-10px)] left-[calc(50%-10px)]" x-show="loading" x-cloak> 10434 <svg class="animate-spin rounded-full" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> 10435 <path transform="translate(0 512) scale(0.1 -0.1)" fill="currentColor" d="M2474 4676 c-43 -19 -101 -81 -115 -123 -18 -56 -7 -145 24 -190 52 -75 79 -85 262 -99 90 -7 207 -22 260 -33 436 -92 824 -352 1070 -721 521 -781 321 -1824 -453 -2358 -501 -345 -1172 -393 -1715 -121 -700 350 -1075 1118 -917 1876 37 180 86 305 209 536 51 96 54 147 15 226 -37 73 -86 104 -174 109 -105 6 -151 -24 -224 -145 -137 -230 -241 -543 -276 -833 -13 -110 -13 -355 1 -478 52 -475 268 -922 614 -1267 351 -352 787 -560 1284 -615 171 -19 442 -8 615 24 423 80 802 282 1111 591 407 407 625 931 625 1505 0 574 -218 1098 -625 1505 -296 296 -654 493 -1055 579 -210 45 -470 61 -536 32z"/> 10436 </svg> 10437 10438 </div> 10439 </button> 10440 </div><input type="hidden" name="product-id" value="10847775850806" /><input type="hidden" name="section-id" value="template--26875475099958__main" /></form> 10441 </div> 10442 </div> 10443 </div> 10444 </div> 10445 </div> 10446
10446<script src="//calistatools.com/cdn/shop/t/144/assets/sticky-atc.js?v=37973286023780725351782941156" defer></script>
10446<script src="//calistatools.com/cdn/shop/t/144/assets/gift-card-recipient.js?v=24951926043059338481782330849" defer></script>
10446 10447 </div> 10448 </div> 10449</div> 10450 10451
10451<script type="application/ld+json"> 10452 {"@context":"http:\/\/schema.org\/","@id":"\/products\/gloss-caramel-color-enhancement#product","@type":"Product","brand":{"@type":"Brand","name":"Calista Tools"},"category":"Hair Color","description":"Brighten, Warm, Restore\n\nCreated to brighten color and enhance warmth in brunettes, GLOSS Caramel Color Enhancement is a temporary toning gloss that deep conditions hair, adding glassy shine while creating a bronzed caramel glow. \n\n\nResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine. \n\n\nBENEFITS\n\n\n\nWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\n\n\n Tones while conditioning to improve softness, smoothness, and manageability \n\n\n Helps reduce frizz and flyaways for a polished look that lasts\n\nSize: 6.76 oz.\n","gtin":"850077527609","image":"https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597\u0026width=1920","name":"GLOSS Caramel Color Enhancement","offers":{"@id":"\/products\/gloss-caramel-color-enhancement?variant=54557956276534#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"39.00","priceCurrency":"USD","url":"https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement?variant=54557956276534"},"sku":"GLOSS-CARA","url":"https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement"} 10453 </script>
10453 10454 10455</div> 10456
10457<script src="//calistatools.com/cdn/shop/t/144/assets/product-recommendations.js?v=79934933607583473321782330849" defer></script>
vendor: 1 bytes, line 10457
10457
10458<script src="//calistatools.com/cdn/shop/t/144/assets/recently-viewed.js?v=93421342682375135181782330849" defer></script>
10458 10459 10460</section><div id="shopify-section-template--26875475099958__product-recommendations" class="shopify-section section section-product-recommendations x-section"> 10461<style data-shopify> 10462 .section-padding-template--26875475099958__product-recommendations { 10463 padding-top: 0px; 10464 padding-bottom: 20px; 10465 } 10466 #shopify-section-template--26875475099958__product-recommendations .tab-title-container .h4 { 10467 font-size: 0.875rem; 10468 } 10469 @media (min-width: 768px) { 10470 .section-padding-template--26875475099958__product-recommendations { 10471 padding-top: 56px; 10472 padding-bottom: 68px; 10473 } 10474 #shopify-section-template--26875475099958__product-recommendations .tab-title-container .h4 { 10475 font-size: 0.84rem; 10476 } 10477 } 10478 @media (min-width: 1024px) { 10479 #shopify-section-template--26875475099958__product-recommendations .tab-title-container .h4 { 10480 font-size: 1.05rem; 10481 } 10482 } 10483</style> 10484<div x-data="{ loading: false }" x-intersect.once.margin.200px="loading = true;$store.xProductRecommendations.load($el, '/recommendations/products?section_id=template--26875475099958__product-recommendations&product_id=10847775850806&limit=30')" class="product-recommendations section-padding-template--26875475099958__product-recommendations"> 10485 <div x-show="$store.xProductRecommendations.loading" class=" full-width" x-cloak> 10486 10487 10488<style data-shopify> 10489 .gap-skeleton-template--26875475099958__product-recommendations { 10490 gap: 8px; 10491 } 10492 @media (min-width: 768px) { 10493 .gap-skeleton-template--26875475099958__product-recommendations { 10494 gap: 10px; 10495 } 10496 } 10497</style> 10498<div class="flex heading-left"> 10499 <div class="h-10 w-1/3 bg-[#c9c9c9] mt-5 mb-10"></div> 10500</div> 10501<div class="w-full grid grid-cols-1 md:grid-cols-5 gap-skeleton-template--26875475099958__product-recommendations"> 10502 10503 <div class="animate-Xpulse"> 10504 <div class="bg-[#c9c9c9] relative z-20 overflow-hidden before:h-0 before:block z-0 pb-[100%]"></div> 10505 <div class="flex flex-col items-left"> 10506 <div class="h-3 w-3/4 bg-[#c9c9c9] mt-5"></div> 10507 <div class="h-3 w-1/2 bg-[#c9c9c9] mt-2"></div> 10508 </div> 10509 </div> 10510 10511 <div class="animate-Xpulse hidden md:block"> 10512 <div class="bg-[#c9c9c9] relative z-20 overflow-hidden before:h-0 before:block z-0 pb-[100%]"></div> 10513 <div class="flex flex-col items-left"> 10514 <div class="h-3 w-3/4 bg-[#c9c9c9] mt-5"></div> 10515 <div class="h-3 w-1/2 bg-[#c9c9c9] mt-2"></div> 10516 </div> 10517 </div> 10518 10519 <div class="animate-Xpulse hidden md:block"> 10520 <div class="bg-[#c9c9c9] relative z-20 overflow-hidden before:h-0 before:block z-0 pb-[100%]"></div> 10521 <div class="flex flex-col items-left"> 10522 <div class="h-3 w-3/4 bg-[#c9c9c9] mt-5"></div> 10523 <div class="h-3 w-1/2 bg-[#c9c9c9] mt-2"></div> 10524 </div> 10525 </div> 10526 10527 <div class="animate-Xpulse hidden md:block"> 10528 <div class="bg-[#c9c9c9] relative z-20 overflow-hidden before:h-0 before:block z-0 pb-[100%]"></div> 10529 <div class="flex flex-col items-left"> 10530 <div class="h-3 w-3/4 bg-[#c9c9c9] mt-5"></div> 10531 <div class="h-3 w-1/2 bg-[#c9c9c9] mt-2"></div> 10532 </div> 10533 </div> 10534 10535 <div class="animate-Xpulse hidden md:block"> 10536 <div class="bg-[#c9c9c9] relative z-20 overflow-hidden before:h-0 before:block z-0 pb-[100%]"></div> 10537 <div class="flex flex-col items-left"> 10538 <div class="h-3 w-3/4 bg-[#c9c9c9] mt-5"></div> 10539 <div class="h-3 w-1/2 bg-[#c9c9c9] mt-2"></div> 10540 </div> 10541 </div> 10542 10543</div> 10544 10545 </div> 10546 10547 <div x-init="loading = false"></div> 10548 10549 10550</div> 10551 10552</div><section id="shopify-section-template--26875475099958__17818513637835b8fc" class="shopify-section section x-section section-apps"><div class="x-pgw page-width"><div id="shopify-block-AcjhXeGdQc2VUcyt6V__yotpo_product_reviews_reviews_AHapWV" class="shopify-block shopify-app-block"> 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562<div 10563 class="yotpo-widget-instance" 10564 data-yotpo-instance-id="948049" 10565 data-yotpo-product-id="10847775850806" 10566 data-yotpo-name="GLOSS Caramel Color Enhancement" 10567 data-yotpo-url="https://calistatools.com/products/gloss-caramel-color-enhancement" 10568 data-yotpo-price="39.0" 10569 data-yotpo-currency="USD" 10570 data-yotpo-image-url="https://calistatools.com/cdn/shop/files/5.22.2026GlossEn
10570hancement-16_1.jpg?v=1789574597&width=480" 10571 data-yotpo-description="Brighten, Warm, Restore 10572 10573Created to brighten color and enhance warmth in brunettes, GLOSS Caramel Color Enhancement is a temporary toning gloss that deep conditions hair, adding glassy shine while creating a bronzed caramel glow. 10574 10575 10576Results last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine. 10577 10578 10579BENEFITS 10580 10581 10582 10583Warm caramel pigments brighten brunette tones, enhancing vibrancy and dimension 10584 10585 10586 Tones while conditioning to improve softness, smoothness, and manageability 10587 10588 10589 Helps reduce frizz and flyaways for a polished look that lasts 10590 10591Size: 6.76 oz. 10592" 10593 data-yotpo-prevent-load-rs="true" 10594 > 10595</div> 10596 10597 10598 10599 10600 10601 10602 <div id="yotpo-reviews-section-data" style="margin-top:4px; font-size:11px; line-height:1.35; color:#555; max-height:220px; overflow:auto; padding:6px 8px; border:1px solid #eee; border-radius:4px; background:#fafafa;"> <section id="yotpo-reviews-overall-rating"> <p><strong>Overall rating:</strong> 4.4857144 / 5 from 35 reviews.</p> </section> <section id="yotpo-reviews-ai-summary"> <h3>AI Generated Review Summary</h3> <p>GLOSS Purple Color Enhancement is a temporary toning gloss that neutralizes brassy tones and boosts shine. It deeply conditions hair, improving softness and manageability. Many customers noticed a healthy, vibrant look and a beautiful, long-lasting shine.</p> </section> <section id="yotpo-reviews-summary-topics"> <h3>Summary topics</h3> <ul> <li><span class="yotpo-topic-name">Hair Feel</span> (<span class="yotpo-topic-coverage">32%</span>): <span class="yotpo-topic-summary">Many customers expressed appreciation for how this product left their hair soft, manageable, and silky.</span></li><li><span class="yotpo-topic-name">Color Enhancement</span> (<span class="yotpo-topic-coverage">19%</span>): <span class="yotpo-topic-summary">Many customers brought up that GLOSS Purple Color Enhancement is their secret weapon against unwanted brassy tones.</span></li><li><span class="yotpo-topic-name">Hair Appearance</span> (<span class="yotpo-topic-coverage">19%</span>): <span class="yotpo-topic-summary">A significant number of customers appreciated how this product made their gray hair look healthy and vibrant instead of wiry.</span></li><li><span class="yotpo-topic-name">Product Gloss</span> (<span class="yotpo-topic-coverage">32%</span>): <span class="yotpo-topic-summary">Many customers pointed out that they were impressed with the gloss and found it to be long-lasting.</span></li><li><span class="yotpo-topic-name">Color Difference</span> (<span class="yotpo-topic-coverage">10%</span>): <span class="yotpo-topic-summary">In general, customers noticed a noticeable difference in the color of their hair after using the product.</span></li> </ul> </section> <section id="yotpo-reviews-review-topics"> <p><strong>Review topics:</strong> [fragrance, color, results, scent, feeling, texture, look, price, hair, shade, amount, works, difference, gloss, shine, gloss purple color enhancement, pigments, conditioner, tones, using this product, enhance, finish, use, effect, wash, treatment, mask, shampoo, side, grays].</p> </section> <section id="yotpo-reviews-highlights"> <h3>Review highlights</h3> <ul> <li><span class="yotpo-highlight-text">"This gloss is lightly scented with a warm vanilla fragrance."</span> — <span class="yotpo-highlight-author">mmjp77</span></li><li><span class="yotpo-highlight-text">"Calista Gloss Purple Color Enhancement is a nice purple finishing product."</span> — <span class="yotpo-highlight-author">mmjp77</span></li><li><span class="yotpo-highlight-text">"With hair care, sometimes I have encountered products that have a really abrasive or chemical type of smell."</span> — <span class="yotpo-highlight-author">brookeranz</span></li> </ul> </section> <section id="yotpo-reviews-individual-reviews"> <h3>Reviews</h3> <article class="yotpo-review" data-reviewer="Dana R." data-rating="5"> <h4 class="yotpo-review-title">Absolutely a miracle for my hair</h4> <p class="yotpo-review-body">"I am 82. I have metastatic breast cancer. My hair is light ash brown and silver gray. All the hair I lost from the treatments has come back but it was not as good as it was before. NOW IT IS. THIS PRODUCT IS A MIRICKE. I get complements again!"</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">Dana R.</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article><article class="yotpo-review" data-reviewer="scoh121" data-rating="5"> <h4 class="yotpo-review-title">Moisturizing gloss</h4> <p class="yotpo-review-body">"I’ve used color correcting shampoos before, but this is my first time using a color correcting product that functions as a conditioner, and it honestly makes much more sense. Since conditioners are meant to be left on longer, it allows the toning pigments more time to actually absorb into the hair. Most toning products I’ve used in the past were shampoos and felt drying, but this one was genuinely moisturizing and felt more like a conditioning gloss. I also really appreciated the scent, which was woody and almost unisex, something I personally loved. After using it, my hair felt soft, super shiny, and well conditioned. I have balayage highlights as well as natural gray hairs, and I noticed both looked brighter, healthier, and more vibrant overall."</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">scoh121</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article><article class="yotpo-review" data-reviewer="Jesus G." data-rating="3"> <h4 class="yotpo-review-title">Needs a little umph</h4> <p class="yotpo-review-body">"Calista GLOSS Purple Color Enhancement *Incentivized *Product was received as part of an educational promotion. * I would give a higher rating but I have conflicting thoughts on the product. As a gloss it works amazing , it leaves your hair feeling smooth and manageable which is something you need with blonde hair. However when it comes to neutralizing blonde or keeping them bright it needs a little umph , punch more of pigment. I tried it on its own without purple shampoo and did not see any changes in toning . I then compared it to a similar conditioning product for blonde hair and saw that the gloss was lacking in the toning aspect . IF the gloss worked better with blonde hair then it would be the PERFECT product."</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">Jesus G.</span> (<span class="yotpo-review-rating">3/5</span>)</p> </article><article class="yotpo-review" data-reviewer="kaitlynnnreed" data-rating="5"> <h4 class="yotpo-review-title">My hair feels and looks amazing</h4> <p class="yotpo-review-body">"I absolutely loved everything about the Calista gloss purple color enhancement! From the first use, my hair looked
10602noticeably brighter and more refreshed, with the perfect hint of cool toned purple that enhanced my color without overpowering it. Not forgetting to mention it didn’t now leave any purple spitting in my hair. The shine was unreal my hair was super glossy, smooth, and looked like I had just stepped out of a salon. What impressed me most was how amazing my hair felt afterward soft, hydrated, and healthy, not dry or weighed down like some color products can be. It also helped neutralize brassiness while keeping my hair vibrant and fresh. This is such an easy way to maintain color and boost shine at home. I’ll definitely be keeping this in my regular hair routine!"</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">kaitlynnnreed</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article><article class="yotpo-review" data-reviewer="brookeranz" data-rating="5"> <h4 class="yotpo-review-title">Noticeable Results After First-Use</h4> <p class="yotpo-review-body">"This product has my jaw on the floor! I took photos prior to a single use, and photos after my hair had dried after use. The amount of brassiness that seemed to be gone from my hair was already noticeable! It now looks just like when I was leaving the salon with my fresh highlights!When using the product, I was impressed by the extremely pleasant scent of the product. With hair care, sometimes I have encountered products that have a really abrasive or chemical type of smell. After use, my finacee commented on how good my hair smelled! The product works great on it's own, and the added bonus of the product scent is a plus!I am excited to continue using this product when I see the brass in my hair come back! As a blonde, this product feels like it was made with me in mind."</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">brookeranz</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article><article class="yotpo-review" data-reviewer="jaydeegee13" data-rating="3"> <h4 class="yotpo-review-title">needs a little umph</h4> <p class="yotpo-review-body">"CalistaGLOSS Purple Color Enhancement*Incentivized *Product was received as part of an educational promotion. *I would give a higher rating but I have conflicting thoughts on the product. As a gloss it works amazing , it leaves your hair feeling smooth and manageable which is something you need with blonde hair. However when it comes to neutralizing blonde or keeping them bright it needs a little umph , punch more of pigment. I tried it on its own without purple shampoo and did not see any changes in toning . I then compared it to a similar conditioning product for blonde hair and saw that the gloss was lacking in the toning aspect . IF the gloss worked better with blonde hair then it would be the PERFECT product. *Product was received as part of an educational promotion. *"</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">jaydeegee13</span> (<span class="yotpo-review-rating">3/5</span>)</p> </article><article class="yotpo-review" data-reviewer="socialbykaitlyn" data-rating="5"> <h4 class="yotpo-review-title">Love for my highlights!</h4> <p class="yotpo-review-body">"GLOSS Purple Color Enhancement has truly become my secret weapon against unwanted brassy tones, leaving my hair looking salon-fresh and vibrant. The rich, violet pigments instantly neutralize yellow hues, giving my blonded highlights that coveted cool, bright finish without any dullness. It’s helped keep my color in check even months after the salon! The formula also leaves my hair feeling incredibly soft and conditioned, which is a huge bonus for color-treated strands. The product works great on it's own, and the added bonus of the product scent is a plus! I am excited to continue using this product when I see the brass in my hair come back! The only note I have is that you’ve got to wait the full suggested time (20min) to really get the full results of the gloss! Definitely worth it though."</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">socialbykaitlyn</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article><article class="yotpo-review" data-reviewer="shiloh123" data-rating="4"> <h4 class="yotpo-review-title">Wait in the shower is a bummer</h4> <p class="yotpo-review-body">"The scent is OK. The effect on my hair was great! I think it enhanced my color considerably and toned down the brassiness. The texture is thick enough that it stays on my damp hair in the shower and doesn't run off. Standing in the shower for 5-20 minutes for it to work is a bummer; the other choice, getting out of the shower and getting back in, is also a bummer. In the future, I will put in on when I first start my shower to cut down on the wait time. It lasts for quite a few hair washes. I don't know if it actually will last 8 washes, but definitely 6. It was a tiny bit scary putting something so vibrantly purple on my hair, you know, anything can happen, but it was all good. I will continue to use this product in the future. I have short hair, so the 6. 7 oz tube, while pricy, is affordable."</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">shiloh123</span> (<span class="yotpo-review-rating">4/5</span>)</p> </article><article class="yotpo-review" data-reviewer="cofflvr" data-rating="5"> <h4 class="yotpo-review-title">WOW</h4> <p class="yotpo-review-body">"I have to say I LOVE Calista's GLOSS Purple Color Enhancement. I style my hair daily with heated hair tools as it is frizzy, thick, dry hair. I have not tried anything like this before of a color enhancement product. However, this product after the first use has helped add shine and softness to my hair that I have been unable to achieve. It also gave my dark color hair a new "shine" to it. It was not hair dye but my hair did look brighter, more alive. It is lightweight and non-greasy feel, which is a plus for me. You only need a little amount to go a long way so the bottle will last quite a while. I am excited to continue to use this product in my hair routine. I highly recommend it to others to try and achieve hair softness today! Product was received as part of an educational promotion."</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">cofflvr</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article><article class="yotpo-review" data-reviewer="Pomar1" data-rating="5"> <h4 class="yotpo-review-title">Impress with the gloss!</h4> <p class="yotpo-review-body">"I'm genuinely impressed with the Calista Gloss Clear Shine Enhancement, especially now. At 57, my hair has become much drier, and many shine products tend to weigh it down or make it look greasy. This product avoids both issues. It imparts a beautiful, healthy shine while remaining lightweight. What I appreciate most is how soft and smooth my hair feels after applying it. It controls frizz and dryness without residue or buildup, which is vital for mature, dry hair. My hair looks more polished and vibrant, yet it stays natural and touchable. A small amount is all I need, and it works well whether I style my hair or let it air-dry. This has become one of my favorite finishing products, and I highly recommend it—especially for those with dry or aging hair—who want shine without losing softness or movement"</p> <p class="yotpo-review-author">— <span class="yotpo-reviewer-name">Pomar1</span> (<span class="yotpo-review-rating">5/5</span>)</p> </article> </section> <section id="yotpo-reviews-qa"> <h3>Q&A</h3> <dl> </dl> </section> </div> 10603 10604 10605 10606 10607</div>�</div> 10608 10609 10610</section><section id="shopify-section-template--26875475099958__custom_liquid_wzwddy" class="shopify-section section section-custom-liquid x-section"><style data-shopify> 10611 .custom-liquid ul { 10612 list-style: disc; 10613 } 10614 .section-padding-template--26875475099958__custom_liquid_wzwddy { 10615 padding-top: 28px; 10616 padding-bottom: 28px; 10617 } 10618 @media (min-width: 768px) { 10619 .section-padding-template--26875475099958__custom_liquid_wzwddy { 10620 padding-top: 0px; 10621 padding-bottom: 0px; 10622 } 10623 } 10624</style> 10625 10626<div class="relative mr-auto ml-auto section-padding-template--26875475099958__custom_liquid_wzwddy"> 10627 <div class="custom-liquid x-pgw page-width"> 10628 10629 10630 10631 <span class="cal-bc-default" data-title="Shampoo & Conditioner" data-url="/collections/hair-cleanse-condition-products" hidden></span> 10632 10633 </div> 10634</div> 10635</section><section id="shopify-section-template--26875475099958__custom_liquid_cF4TwD" class="shopify-section section section-custom-liquid x-section"><style data-shopify> 10636 .custom-liquid ul { 10637 list-style: disc; 10638 } 10639 .section-padding-template--26875475099958__custom_liquid_cF4TwD { 10640 padding-top: 0px; 10641 padding-bottom: 0px; 10642 } 10643 @media (min-width: 768px) { 10644 .section-padding-template--26875475099958__custom_liquid_cF4TwD { 10645 padding-top: 0px; 10646 padding-bottom: 0px; 10647 } 10648 } 10649</style> 10650 10651<div class="relative mr-auto ml-auto section-padding-template--26875475099958__custom_liquid_cF4TwD">
10652 <div class="custom-liquid x-pgw page-width"> 10653 <style> 10654 /* force onto its own row */ 10655 *:has(> .BIS_trigger) { flex-wrap: wrap !important; } 10656 10657 .BIS_trigger { 10658 flex: 0 0 100% !important; 10659 width: 100% !important; 10660 font-family: inherit !important; 10661 font-size: 14px !important; 10662 line-height: 1.2 !important; 10663 letter-spacing: 0.05em !important; 10664 padding: 16px 20px !important; 10665 min-height: 48px !important; 10666 border: 1px solid transparent !important; 10667 border-radius: 0 !important; 10668 margin: 10px 0 !important; 10669 } 10670</style> 10671 </div> 10672</div> 10673</section> 10674 </main> 10675 10676 <!-- BEGIN sections: footer-group --> 10677<section id="shopify-section-sections--26875466121526__custom_liquid_HpzicU" class="shopify-section shopify-section-group-footer-group section section-custom-liquid x-section"><style data-shopify> 10678 .custom-liquid ul { 10679 list-style: disc; 10680 } 10681 .section-padding-sections--26875466121526__custom_liquid_HpzicU { 10682 padding-top: 0px; 10683 padding-bottom: 0px; 10684 } 10685 @media (min-width: 768px) { 10686 .section-padding-sections--26875466121526__custom_liquid_HpzicU { 10687 padding-top: 0px; 10688 padding-bottom: 0px; 10689 } 10690 } 10691</style> 10692 10693<div class="relative mr-auto ml-auto section-padding-sections--26875466121526__custom_liquid_HpzicU"> 10694 <div class="custom-liquid x-pgw page-width"> 10695 <style data-shopify> 10696 10697</style> 10698 </div> 10699</div> 10700</section><div id="shopify-section-sections--26875466121526__footer" class="shopify-section shopify-section-group-footer-group section-footer"> 10701<style data-shopify> 10702 #section-footer { 10703 contain: style layout; 10704 } 10705 .section-padding-sections--26875466121526__footer { 10706 padding-top: 0px; 10707 padding-bottom: 28px; 10708 } 10709 @media (min-width: 768px) { 10710 .section-padding-sections--26875466121526__footer { 10711 padding-top: 0px; 10712 padding-bottom: 20px; 10713 } 10714 } 10715</style> 10716<div id="section-footer" class="section-footer relative background-footer sticky-footer selection:bg-[rgba(var(--colors-text-footer),0.2)] section-padding-sections--26875466121526__footer"><div class="flex-wrap md:mb-5 md:border-b md:border-b-solid md:pt-12 md:pb-7"> 10717 <div class="pt-6 md:pt-0 md:flex justify-center md:mt-auto md:mb-auto md:mr-auto md:ml-auto md:pr-0 rtl:md:pr-5 rtl:md:pl-0 x-pgw page-width flex-wrap"> 10718 <div class="footer-col--1 md:pr-5 rtl:md:pr-0 md:first:pl-0 rtl:md:pl-5 rtl:md:first:pr-0 md:mb-7 md:pl-0 w-full md:w-1/4 ltr" ><div x-data="{ open: true }" class="x-block-email pt-4 md:pb-5"> 10719 <div @click="open = ! open" class="relative pr-5 rtl:pr-0 rtl:pl-5 cursor-pointer md:cursor-default duration-200 transition"> 10720 <p class="h6 text-[115%]">Stay updated on new launches, promos, tips and more.</p> 10721 <span class="md:hidden absolute w-2.5 h-2.5 top-1/2 -translate-y-1/2 duration-500 flex right-3.5 rtl:right-auto rtl:left-3.5" :class="open ? 'rotate-180' : ''"> 10722 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10723 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10724 </svg> 10725</span> 10726 </div> 10727 <div class="hidden md:block"><form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form mb-5"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" aria-hidden="true" name="contact[tags]" value="newsletter"> 10728 <div class="mt-4 flex"> 10729 <div class="relative w-full"> 10730 <input 10731 id="NewsletterFormDesktop--sections--26875466121526__footer" 10732 type="email" 10733 name="contact[email]" 10734 aria-label="Email" 10735 class="w-full h-full pl-2.5 pr-4 pt-5 input border-b-2 border-current rounded-none border-b-solid focus:outline-none focus:border-current bg-transparent placeholder:opacity-0" 10736 aria-required="true" 10737 autocorrect="off" 10738 autocapitalize="off" 10739 autocomplete="email" 10740 10741 placeholder="Email" 10742 required> 10743 <label class="absolute top-1/2 left-2.5 rtl:left-auto rtl:right-2.5 -translate-y-1/2 input_focus:text-xs input_focus:top-2.5 input_not_empty:top-2.5 input_not_empty:text-xs" for="NewsletterFormDesktop--sections--26875466121526__footer"> 10744 Email 10745 </label> 10746 </div> 10747 <div> 10748 <button type="submit" class="rounded-none border-solid border-current ml-1 w-12 h-full flex justify-center items-center bg-transparent border-b-2 border-b-solid border-x-0 border-t-0" name="commit" aria-label="Subscribe">
10749 <span class="rtl:rotate-180"> 10750 <svg width="100%" height="100%" class=" h-[var(--base-font-size)] w-[var(--base-font-size)]" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10751 <path fill="none" d="M15.7122 20L23 12.5L15.7122 5M1 12.5001H21.5834" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10752 </svg> 10753 10754</span> 10755 </button> 10756 </div></div></form> 10757 <div class="rte"><p>Plus get 15% off your first order.</p></div> 10758 10759<div class="mt-4"> 10760<div id="selector-social" class=" flex flex-col items-center md:items-start mr-auto ml-auto"> 10761 10762 <ul class="social-list flex flex-wrap pt-2.5 pb-2.5 gap-2 justify-center md:justify-start" role="list"> 10763<li> 10764 <a href="https://www.facebook.com/calistabymariamccool" target="blank" aria-label="Facebook" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10765 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10766 <path d="M17.6477 13.4987L18.322 9.15733H14.1091V6.34132C14.1091 5.15199 14.6971 3.99467 16.5851 3.99467H18.5V0.293323C18.5 0.293323 16.7631 0 15.0963 0C11.6278 0 9.35684 2.07999 9.35684 5.84533V9.15733H5.5V13.4987H9.35684V24H14.1037V13.4987H17.6477Z" fill="currentColor"/> 10767 </svg> 10768 10769</a> 10770 </li><li> 10771 <a href="https://www.pinterest.com/calistatools/" target="blank" aria-label="Pinterest" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10772 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10773 <path d="M12 0C5.37188 0 0 5.37188 0 12C0 17.0859 3.16406 21.4266 7.62656 23.175C7.52344 22.2234 7.425 20.7703 7.66875 19.7344C7.88906 18.7969 9.075 13.7719 9.075 13.7719C9.075 13.7719 8.71406 13.0547 8.71406 11.9906C8.71406 10.3219 9.67969 9.075 10.8844 9.075C11.9062 9.075 12.4031 9.84375 12.4031 10.7672C12.4031 11.7984 11.7469 13.3359 11.4094 14.7609C11.1281 15.9562 12.0094 16.9313 13.1859 16.9313C15.3187 16.9313 16.9594 14.6812 16.9594 11.4375C16.9594 8.56406 14.8969 6.55313 11.9484 6.55313C8.53594 6.55313 6.52969 9.1125 6.52969 11.7609C6.52969 12.7922 6.92812 13.8984 7.425 14.4984C7.52344 14.6156 7.5375 14.7234 7.50937 14.8406C7.42031 15.2203 7.21406 16.0359 7.17656 16.2C7.125 16.4203 7.00313 16.4672 6.77344 16.3594C5.27344 15.6609 4.33594 13.4719 4.33594 11.7094C4.33594 7.92188 7.0875 4.44844 12.2625 4.44844C16.425 4.44844 19.6594 7.41563 19.6594 11.3813C19.6594 15.5156 17.0531 18.8438 13.4344 18.8438C12.2203 18.8438 11.0766 18.2109 10.6828 17.4656C10.6828 17.4656 10.0828 19.7578 9.9375 20.3203C9.66562 21.3609 8.93437 22.6688 8.44687 23.4656C9.57187 23.8125 10.7625 24 12 24C18.6281 24 24 18.6281 24 12C24 5.37188 18.6281 0 12 0Z" fill="currentColor"/> 10774 </svg> 10775 10776</a> 10777 </li><li> 10778 <a href="https://www.instagram.com/calistatools/" target="blank" aria-label="Instagram" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10779 <svg class="icon-animation" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="currentColor"> 10780 <path 10781 d="M12.007 2.1622C15.2152 2.1622 15.5951 2.17628 16.8568 2.23256C18.0293 2.28415 18.6625 2.48114 19.0846 2.6453C19.6428 2.86105 20.0461 3.12371 20.4636 3.54114C20.8857 3.96326 21.1436 4.36193 21.3594 4.92007C21.5236 5.34219 21.7205 5.98007 21.7721 7.14794C21.8284 8.4143 21.8425 8.79422 21.8425 11.9977C21.8425 15.2058 21.8284 15.5857 21.7721 16.8474C21.7205 18.0199 21.5236 18.6531 21.3594 19.0752C21.1436 19.6334 20.881 20.0367 20.4636 20.4542C20.0414 20.8763 19.6428 21.1343 19.0846 21.35C18.6625 21.5142 18.0246 21.7112 16.8568 21.7628C15.5904 21.819 15.2105 21.8331 12.007 21.8331C8.79891 21.8331 8.419 21.819 7.15732 21.7628C5.98476 21.7112 5.35157 21.5142 4.92945 21.35C4.37131 21.1343 3.96795 20.8716 3.55052 20.4542C3.1284 20.0321 2.87043 19.6334 2.65468 19.0752C2.49052 18.6531 2.29353 18.0152 2.24194 16.8474C2.18566 15.581 2.17159 15.2011 2.17159 11.9977C2.17159 8.78953 2.18566 8.40961 2.24194 7.14794C2.29353 5.97538 2.49052 5.34219 2.65468 4.92007C2.87043 4.36193 3.13309 3.95857 3.55052 3.54114C3.97264 3.11901 4.37131 2.86105 4.92945 2.6453C5.35157 2.48114 5.98945 2.28415 7.15732 2.23256C8.419 2.17628 8.79891 2.1622 12.007 2.1622ZM12.007 0C8.74731 0 8.33926 0.0140707 7.05882
107810.0703537C5.78308 0.126637 4.906 0.333008 4.14618 0.628493C3.35353 0.93805 2.68282 1.3461 2.01681 2.01681C1.3461 2.68282 0.93805 3.35353 0.628493 4.14149C0.333008 4.906 0.126637 5.77839 0.0703537 7.05413C0.0140707 8.33926 0 8.74731 0 12.007C0 15.2668 0.0140707 15.6748 0.0703537 16.9552C0.126637 18.231 0.333008 19.1081 0.628493 19.8679C0.93805 20.6605 1.3461 21.3312 2.01681 21.9973C2.68282 22.6633 3.35353 23.076 4.14149 23.3809C4.906 23.6764 5.77839 23.8827 7.05413 23.939C8.33457 23.9953 8.74262 24.0094 12.0023 24.0094C15.2621 24.0094 15.6701 23.9953 16.9506 23.939C18.2263 23.8827 19.1034 23.6764 19.8632 23.3809C20.6512 23.076 21.3219 22.6633 21.9879 21.9973C22.6539 21.3312 23.0666 20.6605 23.3715 19.8726C23.667 19.1081 23.8734 18.2357 23.9296 16.9599C23.9859 15.6795 24 15.2714 24 12.0117C24 8.752 23.9859 8.34395 23.9296 7.06351C23.8734 5.78777 23.667 4.91069 23.3715 4.15087C23.076 3.35353 22.668 2.68282 21.9973 2.01681C21.3313 1.35079 20.6605 0.93805 19.8726 0.633183C19.1081 0.337698 18.2357 0.131327 16.9599 0.075044C15.6748 0.0140707 15.2668 0 12.007 0Z 10782 M12.007 5.83936C8.60191 5.83936 5.83936 8.60191 5.83936 12.007C5.83936 15.4122 8.60191 18.1747 12.007 18.1747C15.4122 18.1747 18.1747 15.4122 18.1747 12.007C18.1747 8.60191 15.4122 5.83936 12.007 5.83936ZM12.007 16.0078C9.79792 16.0078 8.00625 14.2161 8.00625 12.007C8.00625 9.79792 9.79792 8.00625 12.007 8.00625C14.2161 8.00625 16.0078 9.79792 16.0078 12.007C16.0078 14.2161 14.2161 16.0078 12.007 16.0078Z 10783 M19.8586 5.59543C19.8586 6.39277 19.2113 7.03533 18.4187 7.03533C17.6213 7.03533 16.9788 6.38808 16.9788 5.59543C16.9788 4.79808 17.626 4.15552 18.4187 4.15552C19.2113 4.15552 19.8586 4.80277 19.8586 5.59543Z" 10784 /> 10785 </svg> 10786 10787</a> 10788 </li><li> 10789 <a href="https://www.tiktok.com/@calistatools?lang=en" target="blank" aria-label="TikTok" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10790 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10791 <path d="M16.9401 0H12.7968V16.3478C12.7968 18.2957 11.2032 19.8957 9.22007 19.8957C7.23693 19.8957 5.64334 18.2957 5.64334 16.3478C5.64334 14.4348 7.20152 12.8695 9.11385 12.8V8.69567C4.89966 8.7652 1.5 12.1391 1.5 16.3478C1.5 20.5913 4.97049 24 9.2555 24C13.5405 24 17.0109 20.5565 17.0109 16.3478V7.9652C18.5691 9.07827 20.4814 9.73913 22.5 9.77393V5.66957C19.3837 5.56522 16.9401 3.06087 16.9401 0Z" fill="currentColor"/> 10792 </svg> 10793 10794</a> 10795 </li><li> 10796 <a href="https://www.youtube.com/user/CalistaTools" target="blank" aria-label="YouTube" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10797 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10798 <path d="M23.7609 7.45237C23.7609 7.45237 23.5266 5.88392 22.8047 5.19522C21.8906 4.28881 20.8688 4.28437 20.4 4.23105C17.0438 4 12.0047 4 12.0047 4H11.9953C11.9953 4 6.95625 4 3.6 4.23105C3.13125 4.28437 2.10938 4.28881 1.19531 5.19522C0.473438 5.88392 0.24375 7.45237 0.24375 7.45237C0.24375 7.45237 0 9.29631 0 11.1358V12.8598C0 14.6992 0.239062 16.5432 0.239062 16.5432C0.239062 16.5432 0.473437 18.1116 1.19062 18.8003C2.10469 19.7067 3.30469 19.6756 3.83906 19.7734C5.76094 19.9467 12 20 12 20C12 20 17.0438 19.9911 20.4 19.7645C20.8688 19.7112 21.8906 19.7067 22.8047 18.8003C23.5266 18.1116 23.7609 16.5432 23.7609 16.5432C23.7609 16.5432 24 14.7037 24 12.8598V11.1358C24 9.29631 23.7609 7.45237 23.7609 7.45237ZM9.52031 14.9525V8.55873L16.0031 11.7667L9.52031 14.9525Z" fill="currentColor"/> 10799 </svg> 10800 10801</a> 10802 </li></ul> 10803 </div></div></div> 10804 <div class="md:hidden" x-show="open" x-collapse x-cloak><form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form mb-5"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" aria-hidden="true" name="contact[tags]" value="newsletter"> 10805 <div class="mt-4 flex"> 10806 <div class="relative w-full"> 10807 <input 10808 id="NewsletterForm--sections--26875466121526__footer" 10809 type="email" 10810 name="contact[email]" 10811 class="w-full h-full pl-2.5 pr-4 pt-5 input border-b-2 border-current roun
10811ded-none border-b-solid focus:outline-none focus:border-current bg-transparent placeholder:opacity-0" 10812 aria-required="true" 10813 autocorrect="off" 10814 autocapitalize="off" 10815 autocomplete="email" 10816 10817 placeholder="Email" 10818 required> 10819 <label class="absolute top-1/2 left-2.5 rtl:left-auto rtl:right-2.5 -translate-y-1/2 input_focus:text-xs input_focus:top-2.5 input_not_empty:top-2.5 input_not_empty:text-xs" for="NewsletterForm--sections--26875466121526__footer"> 10820 Email 10821 </label> 10822 </div> 10823 <div> 10824 <button type="submit" class="rounded-none border-solid border-current ml-1 w-12 h-full flex justify-center items-center bg-transparent border-b-2 border-b-solid border-x-0 border-t-0" name="commit" aria-label="Subscribe"> 10825 <span class="rtl:rotate-180"> 10826 <svg width="100%" height="100%" class=" h-[var(--base-font-size)] w-[var(--base-font-size)]" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10827 <path fill="none" d="M15.7122 20L23 12.5L15.7122 5M1 12.5001H21.5834" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10828 </svg> 10829 10830</span> 10831 </button> 10832 </div></div></form> 10833 <div class="rte"><p>Plus get 15% off your first order.</p></div> 10834 10835<div class="mt-4"> 10836<div id="selector-social" class=" flex flex-col items-center md:items-start mr-auto ml-auto"> 10837 10838 <ul class="social-list flex flex-wrap pt-2.5 pb-2.5 gap-2 justify-center md:justify-start" role="list"> 10839<li> 10840 <a href="https://www.facebook.com/calistabymariamccool" target="blank" aria-label="Facebook" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10841 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10842 <path d="M17.6477 13.4987L18.322 9.15733H14.1091V6.34132C14.1091 5.15199 14.6971 3.99467 16.5851 3.99467H18.5V0.293323C18.5 0.293323 16.7631 0 15.0963 0C11.6278 0 9.35684 2.07999 9.35684 5.84533V9.15733H5.5V13.4987H9.35684V24H14.1037V13.4987H17.6477Z" fill="currentColor"/> 10843 </svg> 10844 10845</a> 10846 </li><li> 10847 <a href="https://www.pinterest.com/calistatools/" target="blank" aria-label="Pinterest" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10848 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10849 <path d="M12 0C5.37188 0 0 5.37188 0 12C0 17.0859 3.16406 21.4266 7.62656 23.175C7.52344 22.2234 7.425 20.7703 7.66875 19.7344C7.88906 18.7969 9.075 13.7719 9.075 13.7719C9.075 13.7719 8.71406 13.0547 8.71406 11.9906C8.71406 10.3219 9.67969 9.075 10.8844 9.075C11.9062 9.075 12.4031 9.84375 12.4031 10.7672C12.4031 11.7984 11.7469 13.3359 11.4094 14.7609C11.1281 15.9562 12.0094 16.9313 13.1859 16.9313C15.3187 16.9313 16.9594 14.6812 16.9594 11.4375C16.9594 8.56406 14.8969 6.55313 11.9484 6.55313C8.53594 6.55313 6.52969 9.1125 6.52969 11.7609C6.52969 12.7922 6.92812 13.8984 7.425 14.4984C7.52344 14.6156 7.5375 14.7234 7.50937 14.8406C7.42031 15.2203 7.21406 16.0359 7.17656 16.2C7.125 16.4203 7.00313 16.4672 6.77344 16.3594C5.27344 15.6609 4.33594 13.4719 4.33594 11.7094C4.33594 7.92188 7.0875 4.44844 12.2625 4.44844C16.425 4.44844 19.6594 7.41563 19.6594 11.3813C19.6594 15.5156 17.0531 18.8438 13.4344 18.8438C12.2203 18.8438 11.0766 18.2109 10.6828 17.4656C10.6828 17.4656 10.0828 19.7578 9.9375 20.3203C9.66562 21.3609 8.93437 22.6688 8.44687 23.4656C9.57187 23.8125 10.7625 24 12 24C18.6281 24 24 18.6281 24 12C24 5.37188 18.6281 0 12 0Z" fill="currentColor"/> 10850 </svg> 10851 10852</a> 10853 </li><li> 10854 <a href="https://www.instagram.com/calistatools/" target="blank" aria-label="Instagram" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10855 <svg class="icon-animation" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
10855ox="0 0 24 24" fill="currentColor"> 10856 <path 10857 d="M12.007 2.1622C15.2152 2.1622 15.5951 2.17628 16.8568 2.23256C18.0293 2.28415 18.6625 2.48114 19.0846 2.6453C19.6428 2.86105 20.0461 3.12371 20.4636 3.54114C20.8857 3.96326 21.1436 4.36193 21.3594 4.92007C21.5236 5.34219 21.7205 5.98007 21.7721 7.14794C21.8284 8.4143 21.8425 8.79422 21.8425 11.9977C21.8425 15.2058 21.8284 15.5857 21.7721 16.8474C21.7205 18.0199 21.5236 18.6531 21.3594 19.0752C21.1436 19.6334 20.881 20.0367 20.4636 20.4542C20.0414 20.8763 19.6428 21.1343 19.0846 21.35C18.6625 21.5142 18.0246 21.7112 16.8568 21.7628C15.5904 21.819 15.2105 21.8331 12.007 21.8331C8.79891 21.8331 8.419 21.819 7.15732 21.7628C5.98476 21.7112 5.35157 21.5142 4.92945 21.35C4.37131 21.1343 3.96795 20.8716 3.55052 20.4542C3.1284 20.0321 2.87043 19.6334 2.65468 19.0752C2.49052 18.6531 2.29353 18.0152 2.24194 16.8474C2.18566 15.581 2.17159 15.2011 2.17159 11.9977C2.17159 8.78953 2.18566 8.40961 2.24194 7.14794C2.29353 5.97538 2.49052 5.34219 2.65468 4.92007C2.87043 4.36193 3.13309 3.95857 3.55052 3.54114C3.97264 3.11901 4.37131 2.86105 4.92945 2.6453C5.35157 2.48114 5.98945 2.28415 7.15732 2.23256C8.419 2.17628 8.79891 2.1622 12.007 2.1622ZM12.007 0C8.74731 0 8.33926 0.0140707 7.05882 0.0703537C5.78308 0.126637 4.906 0.333008 4.14618 0.628493C3.35353 0.93805 2.68282 1.3461 2.01681 2.01681C1.3461 2.68282 0.93805 3.35353 0.628493 4.14149C0.333008 4.906 0.126637 5.77839 0.0703537 7.05413C0.0140707 8.33926 0 8.74731 0 12.007C0 15.2668 0.0140707 15.6748 0.0703537 16.9552C0.126637 18.231 0.333008 19.1081 0.628493 19.8679C0.93805 20.6605 1.3461 21.3312 2.01681 21.9973C2.68282 22.6633 3.35353 23.076 4.14149 23.3809C4.906 23.6764 5.77839 23.8827 7.05413 23.939C8.33457 23.9953 8.74262 24.0094 12.0023 24.0094C15.2621 24.0094 15.6701 23.9953 16.9506 23.939C18.2263 23.8827 19.1034 23.6764 19.8632 23.3809C20.6512 23.076 21.3219 22.6633 21.9879 21.9973C22.6539 21.3312 23.0666 20.6605 23.3715 19.8726C23.667 19.1081 23.8734 18.2357 23.9296 16.9599C23.9859 15.6795 24 15.2714 24 12.0117C24 8.752 23.9859 8.34395 23.9296 7.06351C23.8734 5.78777 23.667 4.91069 23.3715 4.15087C23.076 3.35353 22.668 2.68282 21.9973 2.01681C21.3313 1.35079 20.6605 0.93805 19.8726 0.633183C19.1081 0.337698 18.2357 0.131327 16.9599 0.075044C15.6748 0.0140707 15.2668 0 12.007 0Z 10858 M12.007 5.83936C8.60191 5.83936 5.83936 8.60191 5.83936 12.007C5.83936 15.4122 8.60191 18.1747 12.007 18.1747C15.4122 18.1747 18.1747 15.4122 18.1747 12.007C18.1747 8.60191 15.4122 5.83936 12.007 5.83936ZM12.007 16.0078C9.79792 16.0078 8.00625 14.2161 8.00625 12.007C8.00625 9.79792 9.79792 8.00625 12.007 8.00625C14.2161 8.00625 16.0078 9.79792 16.0078 12.007C16.0078 14.2161 14.2161 16.0078 12.007 16.0078Z 10859 M19.8586 5.59543C19.8586 6.39277 19.2113 7.03533 18.4187 7.03533C17.6213 7.03533 16.9788 6.38808 16.9788 5.59543C16.9788 4.79808 17.626 4.15552 18.4187 4.15552C19.2113 4.15552 19.8586 4.80277 19.8586 5.59543Z" 10860 /> 10861 </svg> 10862 10863</a> 10864 </li><li> 10865 <a href="https://www.tiktok.com/@calistatools?lang=en" target="blank" aria-label="TikTok" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10866 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10867 <path d="M16.9401 0H12.7968V16.3478C12.7968 18.2957 11.2032 19.8957 9.22007 19.8957C7.23693 19.8957 5.64334 18.2957 5.64334 16.3478C5.64334 14.4348 7.20152 12.8695 9.11385 12.8V8.69567C4.89966 8.7652 1.5 12.1391 1.5 16.3478C1.5 20.5913 4.97049 24 9.2555 24C13.5405 24 17.0109 20.5565 17.0109 16.3478V7.9652C18.5691 9.07827 20.4814 9.73913 22.5 9.77393V5.66957C19.3837 5.56522 16.9401 3.06087 16.9401 0Z" fill="currentColor"/> 10868 </svg> 10869 10870</a> 10871 </li><li> 10872 <a href="https://www.youtube.com/user/CalistaTools" target="blank" aria-label="YouTube" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full"> 10873 <svg class="icon-animation" width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10874 <path d="M23.7609 7.45237C23.7609 7.45237 23.5266 5.88392 22.8047 5.19522C21.8906 4.28881 20.8688 4.28437 20.4 4.23105C17.0438 4 12.0047 4 12.0047 4H11.9953C11.9953 4 6.95625 4 3.6 4.23105C3.13125 4.28437 2.10938 4.28881 1.19531 5.19522C0.473438 5.88392
108740.24375 7.45237 0.24375 7.45237C0.24375 7.45237 0 9.29631 0 11.1358V12.8598C0 14.6992 0.239062 16.5432 0.239062 16.5432C0.239062 16.5432 0.473437 18.1116 1.19062 18.8003C2.10469 19.7067 3.30469 19.6756 3.83906 19.7734C5.76094 19.9467 12 20 12 20C12 20 17.0438 19.9911 20.4 19.7645C20.8688 19.7112 21.8906 19.7067 22.8047 18.8003C23.5266 18.1116 23.7609 16.5432 23.7609 16.5432C23.7609 16.5432 24 14.7037 24 12.8598V11.1358C24 9.29631 23.7609 7.45237 23.7609 7.45237ZM9.52031 14.9525V8.55873L16.0031 11.7667L9.52031 14.9525Z" fill="currentColor"/> 10875 </svg> 10876 10877</a> 10878 </li></ul> 10879 </div></div></div> 10880 </div> 10881 </div> 10882 <div class="footer-col--2 md:pr-5 rtl:md:pr-0 md:first:pl-0 rtl:md:pl-5 rtl:md:first:pr-0 md:mb-7 md:pl-10 rtl:md:pl-0 rtl:md:pr-10 w-full md:w-1/4 ltr" ><div x-data="{ open: false }" class="x-block-link-list pt-4 pb-4 border-b md:border-none"><div @click="open = ! open" class="relative pr-5 rtl:pr-0 rtl:pl-5 cursor-pointer md:cursor-default duration-200 transition"> 10883 <p class="h6 text-[115%]">Shop</p> 10884 <span class="md:hidden absolute w-2.5 h-2.5 top-1/2 -translate-y-1/2 duration-500 flex right-3.5 rtl:right-auto rtl:left-3.5" :class="open ? 'rotate-180' : ''"> 10885 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10886 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10887 </svg> 10888</span> 10889 </div> 10890 <ul class="mt-6 hidden md:block"> 10891 10892<li class="mb-1 mt-6 md:mt-0 first:pt-0 pt-2"> 10893 <a href="/collections/all-products" class="hover-text-link nav-link relative block lg:inline-block"> 10894 Shop All 10895 </a> 10896 </li><li class="mb-1 first:pt-0 pt-2"> 10897 <a href="/collections/best-sellers" class="hover-text-link nav-link relative block lg:inline-block"> 10898 Best Sellers 10899 </a> 10900 </li><li class="mb-1 first:pt-0 pt-2"> 10901 <a href="/collections/hair-styling-tools" class="hover-text-link nav-link relative block lg:inline-block"> 10902 Styling Tools 10903 </a> 10904 </li><li class="mb-1 first:pt-0 pt-2"> 10905 <a href="/collections/hair-styling-products" class="hover-text-link nav-link relative block lg:inline-block"> 10906 Styling Products 10907 </a> 10908 </li><li class="mb-1 first:pt-0 pt-2"> 10909 <a href="/collections/hair-cleanse-condition-products" class="hover-text-link nav-link relative block lg:inline-block"> 10910 Cleanse & Condition 10911 </a> 10912 </li> 10913 </ul> 10914 <ul class="md:hidden" x-show="open" x-collapse x-cloak> 10915 10916<li class="mb-1 mt-6 md:mt-0 first:pt-0 pt-2"> 10917 <a href="/collections/all-products" class="hover-text-link nav-link relative block lg:inline-block"> 10918 Shop All 10919 </a> 10920 </li><li class="mb-1 first:pt-0 pt-2"> 10921 <a href="/collections/best-sellers" class="hover-text-link nav-link relative block lg:inline-block"> 10922 Best Sellers 10923 </a> 10924 </li><li class="mb-1 first:pt-0 pt-2"> 10925 <a href="/collections/hair-styling-tools" class="hover-text-link nav-link relative block lg:inline-block"> 10926 Styling Tools 10927 </a> 10928 </li><li class="mb-1 first:pt-0 pt-2"> 10929 <a href="/collections/hair-styling-products" class="hover-text-link nav-link relative block lg:inline-block"> 10930 Styling Products 10931 </a> 10932 </li><li class="mb-1 first:pt-0 pt-2"> 10933 <a href="/collections/hair-cleanse-condition-products" class="hover-text-link nav-link relative block lg:inline-block"> 10934 Cleanse & Condition 10935 </a> 10936 </li> 10937 </ul></div></div> 10938 <div class="footer-col--3 md:pr-5 rtl:md:pr-0 md:first:pl-0 rtl:md:pl-5 rtl:md:first:pr-0 md:mb-7 md:pl-10 rtl:md:pl-0 rtl:md:pr-10 w-full md:w-1/4 ltr" ><div x-data="{ open: false }" class="x-block-link-list pt-4 pb-4 border-b md:border-none"><div @click="open = ! open" class="relative pr-5 rtl:pr-0 rtl:pl-5 curs
10938or-pointer md:cursor-default duration-200 transition"> 10939 <p class="h6 text-[115%]">Learn</p> 10940 <span class="md:hidden absolute w-2.5 h-2.5 top-1/2 -translate-y-1/2 duration-500 flex right-3.5 rtl:right-auto rtl:left-3.5" :class="open ? 'rotate-180' : ''"> 10941 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10942 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10943 </svg> 10944</span> 10945 </div> 10946 <ul class="mt-6 hidden md:block"> 10947 10948<li class="mb-1 mt-6 md:mt-0 first:pt-0 pt-2"> 10949 <a href="/pages/our-story" class="hover-text-link nav-link relative block lg:inline-block"> 10950 About Us 10951 </a> 10952 </li><li class="mb-1 first:pt-0 pt-2"> 10953 <a href="/pages/size-chart" class="hover-text-link nav-link relative block lg:inline-block"> 10954 Tool Guide & Size Charts 10955 </a> 10956 </li><li class="mb-1 first:pt-0 pt-2"> 10957 <a href="/blogs/beautybrave" class="hover-text-link nav-link relative block lg:inline-block"> 10958 Calista Blog 10959 </a> 10960 </li><li class="mb-1 first:pt-0 pt-2"> 10961 <a href="/pages/beautybrave-rewards-program" class="hover-text-link nav-link relative block lg:inline-block"> 10962 Rewards Program 10963 </a> 10964 </li><li class="mb-1 first:pt-0 pt-2"> 10965 <a href="/pages/press" class="hover-text-link nav-link relative block lg:inline-block"> 10966 Press 10967 </a> 10968 </li> 10969 </ul> 10970 <ul class="md:hidden" x-show="open" x-collapse x-cloak> 10971 10972<li class="mb-1 mt-6 md:mt-0 first:pt-0 pt-2"> 10973 <a href="/pages/our-story" class="hover-text-link nav-link relative block lg:inline-block"> 10974 About Us 10975 </a> 10976 </li><li class="mb-1 first:pt-0 pt-2"> 10977 <a href="/pages/size-chart" class="hover-text-link nav-link relative block lg:inline-block"> 10978 Tool Guide & Size Charts 10979 </a> 10980 </li><li class="mb-1 first:pt-0 pt-2"> 10981 <a href="/blogs/beautybrave" class="hover-text-link nav-link relative block lg:inline-block"> 10982 Calista Blog 10983 </a> 10984 </li><li class="mb-1 first:pt-0 pt-2"> 10985 <a href="/pages/beautybrave-rewards-program" class="hover-text-link nav-link relative block lg:inline-block"> 10986 Rewards Program 10987 </a> 10988 </li><li class="mb-1 first:pt-0 pt-2"> 10989 <a href="/pages/press" class="hover-text-link nav-link relative block lg:inline-block"> 10990 Press 10991 </a> 10992 </li> 10993 </ul></div></div> 10994 <div class="footer-col--4 md:pr-5 rtl:md:pr-0 md:first:pl-0 rtl:md:pl-5 rtl:md:first:pr-0 md:mb-7 md:pl-10 rtl:md:pl-0 rtl:md:pr-10 w-full md:w-1/4 ltr" ><div x-data="{ open: false }" class="x-block-link-list pt-4 pb-4 border-b md:border-none"><div @click="open = ! open" class="relative pr-5 rtl:pr-0 rtl:pl-5 cursor-pointer md:cursor-default duration-200 transition"> 10995 <p class="h6 text-[115%]">Information</p> 10996 <span class="md:hidden absolute w-2.5 h-2.5 top-1/2 -translate-y-1/2 duration-500 flex right-3.5 rtl:right-auto rtl:left-3.5" :class="open ? 'rotate-180' : ''">
10997 <svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 10998 <path fill="none" d="M23 7L12 18L0.999999 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 10999 </svg> 11000</span> 11001 </div> 11002 <ul class="mt-6 hidden md:block"> 11003 11004<li class="mb-1 mt-6 md:mt-0 first:pt-0 pt-2"> 11005 <a href="/pages/faqs" class="hover-text-link nav-link relative block lg:inline-block"> 11006 FAQs 11007 </a> 11008 </li><li class="mb-1 first:pt-0 pt-2"> 11009 <a href="/pages/shipping-info" class="hover-text-link nav-link relative block lg:inline-block"> 11010 Shipping 11011 </a> 11012 </li><li class="mb-1 first:pt-0 pt-2"> 11013 <a href="/pages/return-exchange-policy" class="hover-text-link nav-link relative block lg:inline-block"> 11014 Returns & Exchanges 11015 </a> 11016 </li><li class="mb-1 first:pt-0 pt-2"> 11017 <a href="/pages/warranty-on-tools" class="hover-text-link nav-link relative block lg:inline-block"> 11018 Warranty on Tools 11019 </a> 11020 </li><li class="mb-1 first:pt-0 pt-2"> 11021 <a href="/pages/accessibility" class="hover-text-link nav-link relative block lg:inline-block"> 11022 Accessibility Statement 11023 </a> 11024 </li> 11025 </ul> 11026 <ul class="md:hidden" x-show="open" x-collapse x-cloak> 11027 11028<li class="mb-1 mt-6 md:mt-0 first:pt-0 pt-2"> 11029 <a href="/pages/faqs" class="hover-text-link nav-link relative block lg:inline-block"> 11030 FAQs 11031 </a> 11032 </li><li class="mb-1 first:pt-0 pt-2"> 11033 <a href="/pages/shipping-info" class="hover-text-link nav-link relative block lg:inline-block"> 11034 Shipping 11035 </a> 11036 </li><li class="mb-1 first:pt-0 pt-2"> 11037 <a href="/pages/return-exchange-policy" class="hover-text-link nav-link relative block lg:inline-block"> 11038 Returns & Exchanges 11039 </a> 11040 </li><li class="mb-1 first:pt-0 pt-2"> 11041 <a href="/pages/warranty-on-tools" class="hover-text-link nav-link relative block lg:inline-block"> 11042 Warranty on Tools 11043 </a> 11044 </li><li class="mb-1 first:pt-0 pt-2"> 11045 <a href="/pages/accessibility" class="hover-text-link nav-link relative block lg:inline-block"> 11046 Accessibility Statement 11047 </a> 11048 </li> 11049 </ul></div></div></div></div><div class="additional-footer ltr x-pgw page-width mr-auto ml-auto lg:flex lg:flex-row lg:justify-between items-center" 11050 > 11051 <div class="flex flex-col lg:flex lg:flex-row gap-x-7 items-center w-full justify-between"><div class="flex flex-col items-center lg:mb-0 order-last md:order-none lg:pl-14 lg:max-w-3xl"> 11052 <div class="mt-4 md:mt-4 base-link text-center lg:mt-0 lg:text-right p-break-words"><p class="inline-block">© 2026, </p> 11053 <a href="/" title="">Calista Tools</a>. 11054 </div> 11055 </div></div> 11056 </div> 11057</div> 11058</div><section id="shopify-section-sections--26875466121526__custom_liquid_tiGzYg" class="shopify-section shopify-section-group-footer-group section section-custom-liquid x-section"><style data-shopify> 11059 .custom-liquid ul { 11060 list-style: disc; 11061 } 11062 .section-padding-sections--26875466121526__custom_liquid_tiGzYg { 11063 padding-top: 28px; 11064 padding-bottom: 28px; 11065 } 11066 @media (min-width: 768px) { 11067 .section-padding-sections--26875466121526__custom_liquid_tiGzYg { 11068 padding-top: 28px; 11069 padding-bottom: 28px; 11070 } 11071 } 11072</style> 11073 11074<div class="relative mr-auto ml-auto section-padding-sections--26875466121526__custom_liquid_tiGzYg"> 11075 <div class="custom-liquid x-pgw page-width"> 11076 <span class="cal-footer-policy"><a href="/pages/terms-conditions">Terms & Conditions</a> · <a href="https://privacy.calistatools.com/privacy-policy">Privacy Policy</a> · <a href="https://privacy.calistatools.com/opt-out">Your Privacy Choices</a> · <a href="https://privacy.calistatools.com/privacy-policy#california-privacy-notice">California Privacy Notice</a> · <a href="https://privacy.calistatools.com/opt-out">Do Not Sell or Share My Personal Information</a><a href="?polaris.openConsentManager=true" 11077 class="truevault-polaris-open-consent-manager-link cal-footer-policy__cookies">Cookie Settings</a> 11078</span> 11079 11080<style> 11081 .cal-footer-policy__cookies::before { content: " · "; } 11082</style> 11083 </div> 11084</div> 11085</section> 11086<!-- END sections: footer-group --> 11087 11088 11089<div id="eurus-popup" class="fixed duration-500 inset-0 z-[100] pointer-events-none md:block flex flex-col-reverse h-fit top-[unset] md:h-full md:top-0" x-cloak></div> 11090 11091<div id="popup-minimal-left" 11092 class="popup-minimal fixed z-50 bottom-4 md:bottom-8 left-4 md:left-8 pointer-events-auto pr-4 md:pr-8" 11093></div> 11094 11095 11096 11097 </div> 11098 <div><div 11099 class="hidden" 11100 x-data='xTabAttention({ 11101 message1: "We\u0027re still here!", 11102 message2: "Come back for rewards!", 11103 delay: 3 11104 })' 11105 @init-run.window="initTabAttention()" 11106 > 11107 </div> 11108
11108<script src="//calistatools.com/cdn/shop/t/144/assets/tab-attention.js?v=32006057042266106271782330849" defer></script>
11108<ul hidden> 11109 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh. 11110 </li> 11111 <li id="a11y-new-window-message">Opens in a new window. 11112 </li> 11113 </ul> 11114
11114<script> 11115 window.Eurus = { 11116 cart_error: `There was an error while updating your cart. Please try again.`, 11117 cart_quantity_error_html: `You can only add [quantity] of this item to your cart.`, 11118 loadedScript: new Set(), 11119 cart_add_url: '/cart/add' 11120 }; 11121 </script>
11121 11122 11123
11123<script> 11124 document.addEventListener('eurus:cart:redirect', function(event) { 11125 window.location.href = '/cart'; 11126 }) 11127 </script>
11127 11128 11129
11129<script src="//calistatools.com/cdn/shop/t/144/assets/splide4.1.3.js?v=75458750262329959491782330849" defer></script>
11129 11130 11131
11132<script src="//calistatools.com/cdn/shop/t/144/assets/coupon-code.js?v=135514657843889770711782330849" defer></script>
11132 11133 11134
11134<script src="//calistatools.com/cdn/shop/t/144/assets/product-recommendations.js?v=79934933607583473321782330849" defer></script>
11134 11135
11136<script src="//calistatools.com/cdn/shop/t/144/assets/estimate-shipping-rate.js?v=35554055062891148931782330849" defer></script>
11136 11137
11137<script src="//calistatools.com/cdn/shop/t/144/assets/preview-color-swatches.js?v=5957683164806633661782330849" defer></script>
11137 11138
11138<script src="//calistatools.com/cdn/shop/t/144/assets/speech-search.js?v=80603510328065116571782330849" defer></script>
11138 11139
11139<script src="//calistatools.com/cdn/shop/t/144/assets/double-touch.js?v=64605958049830659291782330849" defer></script>
11139<script src="//calistatools.com/cdn/shop/t/144/assets/cart-countdown-timer.js?v=143864077785370808651782330849" defer></script>
11139 11140 11141
11141<script src="//calistatools.com/cdn/shop/t/144/assets/theme.js?v=47174415326487577631782330849" defer></script>
11141 11142
11142<script src="//calistatools.com/cdn/shop/t/144/assets/header.js?v=53444609849464794681782330849" defer></script>
11142 11143
11143<script src="//calistatools.com/cdn/shop/t/144/assets/truncate-text.js?v=48087358240679057471782330849" defer></script>
11143 11144
11144<script src="//calistatools.com/cdn/shop/t/144/assets/variant-select-card.js?v=66303865572284760631782330849" defer></script>
11144 11145 11146
11146<script src="//calistatools.com/cdn/shop/t/144/assets/product-cart.js?v=60769023760558595491782330849" defer></script>
11146 11147
11147<script src="//calistatools.com/cdn/shop/t/144/assets/quantity-selector.js?v=56005620581758573381782330849" defer></script>
11147 11148 11149
11149<script src="//calistatools.com/cdn/shop/t/144/assets/video.js?v=64484941244777200891782330849" defer></script>
11149 11150
11150<script src="//calistatools.com/cdn/shop/t/144/assets/vendors.js?v=21726020999429958561782330849" defer></script>
11150 11151
11151<script> 11152 window.addEventListener("load", (event) => { 11153 deferScriptLoad('instant.page', '//calistatools.com/cdn/shop/t/144/assets/instant.page.v5.1.1.js?v=43232110432331176871782330849', () => {}, true); 11154 }); 11155 </script>
11155 11156 </div> 11157
11157<script type="text/javascript">!function(){var b=function(){window.__AudioEyeSiteHash = "7c2c2dc0189153483eb3f174651d3082"; var a=document.createElement("script");a.src="https://wsv3cdn.audioeye-services.com/aem.js?h=7c2c2dc0189153483eb3f174651d3082";a.type="text/javascript";a.crossOrigin="anonymous";a.setAttribute("async","");document.getElementsByTagName("body")[0].appendChild(a)};"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}();</script>
11157 11158 <div id="shopify-block-ANXJ6b0lIbDZWeTNET__10148494829067693542" class="shopify-block shopify-app-block"><!-- XO-InsertCode Body --> 11159 11160 11161 11162 11163 11164 11165
11165<script src="https://calistatools.com/cdn/shop/t/144/assets/calista-custom.js?v=10" defer></script>
11165 11166<!-- Cart badge sync: UpCart adds bypass Eurus's cart flow, so the header 11167 count stays at its server-rendered value. Watches UpCart's shadow root, 11168 compares /cart.js against the badge, and fires Eurus's documented 11169 eurus:cart:reload trigger only when they disagree. 11170 Docs: support.omnithemes.com/blogs/user-guide/javascript-events-in-eurus-theme 11171 Only external dependency: window.upcartDocumentOrShadowRoot -->
11172<script> 11173(function () { 11174 var BADGE = '#cart-icon-bubble .count_item'; 11175 var t = null, inFlight = false, lastFire = 0; 11176 11177 function badgeCount() { 11178 var el = document.querySelector(BADGE); 11179 if (!el) return null; 11180 var n = parseInt(el.textContent.trim(), 10); 11181 return isNaN(n) ? 0 : n; 11182 } 11183 11184 function check() { 11185 if (inFlight) return; 11186 inFlight = true; 11187 fetch('/cart.js', { credentials: 'same-origin' }) 11188 .then(function (r) { return r.json(); }) 11189 .then(function (c) { 11190 if (c.item_count !== badgeCount() && Date.now() - lastFire > 600) { 11191 lastFire = Date.now(); 11192 document.dispatchEvent(new CustomEvent('eurus:cart:reload')); 11193 } 11194 }) 11195 .catch(function () {}) 11196 .then(function () { inFlight = false; }); 11197 } 11198 11199 function schedule() { 11200 clearTimeout(t); 11201 t = setTimeout(check, 400); 11202 } 11203 11204 var tries = 0; 11205 var iv = setInterval(function () { 11206 var root = window.upcartDocumentOrShadowRoot; 11207 if (root) { 11208 clearInterval(iv); 11209 new MutationObserver(schedule).observe(root, { 11210 childList: true, subtree: true, characterData: true 11211 }); 11212 schedule(); 11213 } else if (++tries > 80) { 11214 clearInterval(iv); 11215 } 11216 }, 250); 11217 11218 document.addEventListener('visibilitychange', function () { 11219 if (!document.hidden) schedule(); 11220 }); 11221 11222 schedule(); 11223})(); 11224</script>
11224 11225 11226<!-- End: XO-InsertCode Body --> 11227 11228 11229</div><div id="shopify-block-AbE9leUZtcnh4N0RvT__848591003871763955" class="shopify-block shopify-app-block">
11229<script type="application/javascript"> 11230 /*! js-cookie v3.0.0-rc.4 | MIT */ 11231!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self,function(){var n=e.Cookies,r=e.Cookies=t();r.noConflict=function(){return e.Cookies=n,r}}())}(this,function(){"use strict";function e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var t={read:function(e){return e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};return function n(r,o){function i(t,n,i){if("undefined"!=typeof document){"number"==typeof(i=e({},o,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),n=r.write(n,t);var c="";for(var u in i)i[u]&&(c+="; "+u,!0!==i[u]&&(c+="="+i[u].split(";")[0]));return document.cookie=t+"="+n+c}}return Object.create({set:i,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],o={},i=0;i<n.length;i++){var c=n[i].split("="),u=c.slice(1).join("=");'"'===u[0]&&(u=u.slice(1,-1));try{var f=t.read(c[0]);if(o[f]=r.read(u,f),e===f)break}catch(e){}}return e?o[e]:o}},remove:function(t,n){i(t,"",e({},n,{expires:-1}))},withAttributes:function(t){return n(this.converter,e({},this.attributes,t))},withConverter:function(t){return n(e({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(o)},converter:{value:Object.freeze(r)}})}(t,{path:"/"})}); 11232</script>
vendor: 2 bytes, line 11232
11232
11233<script async> 11234 console.log('shortly-version --> 1.52') 11235var refsExt,traffic_url="https://trafficanalytics.info",appProxyUrlExt="/apps/shortly",checkoutFlag=!1,cookie_duration=1,getParamsExt=function(e){var shortly_t={},o=document.createElement("a");o.href=e;var n=o.search.substring(1).split("&");for(let e=0;e<n.length;e++){let o=n[e].split("=");shortly_t[o[0]]=decodeURIComponent(o[1])}return shortly_t};function formatParamsExt(e){return"?"+Object.keys(e).map((function(shortly_t){return shortly_t+"="+encodeURIComponent(e[shortly_t])})).join("&")}function startTimerShortExt(e,shortly_t,o){let n,s,i=e;setInterval((function(){n=parseInt(i/60,10),s=parseInt(i%60,10),n=n<10?"0"+n:n,s=s<10?"0"+s:s,shortly_t&&(shortly_t.textContent=n),o&&(o.textContent=s),Cookies.set("discountly_timem",n,{expires:cookie_duration}),Cookies.set("discountly_times",s,{expires:cookie_duration}),--i<0&&(document.getElementById("shortbar")&&(document.getElementById("shortbar").style.display="none"),document.getElementById("discountly_show-b")&&(document.getElementById("discountly_show-b").style.display="none"),sessionStorage.removeItem("shortly_discount_code"),sessionStorage.removeItem("shortly_tid"),Cookies.remove("discountly_timem"),Cookies.remove("discountly_times"),Cookies.remove("shortly_discount_code"),Cookies.remove("shortly_tid"))}),1e3),document.getElementById("shortbar")&&(document.getElementById("shortbar").style.display="block")}function proxyExt(e,shortly_t){var o=appProxyUrlExt+formatParamsExt(e);fetch(o,{method:"POST"}).then((e=>e.text())).then((e=>shortly_t(e))).catch((e=>{console.log(e)}))}function startExt(){var e;if((refsExt=getParamsExt(window.location.href)).tid)sessionStorage.getItem("shortly_tid")!==refsExt.tid&&(sessionStorage.removeItem("shortly_discount_code"),sessionStorage.removeItem("shortly_tid"),sessionStorage.setItem("shortly_tid",refsExt.tid),Cookies.remove("discountly_timem"),Cookies.remove("discountly_times"),Cookies.remove("shortly_discount_code"),Cookies.remove("shortly_tid"),Cookies.set("shortly_tid",`${refsExt.tid}`,{path:"/",domain:"."+window.location.hostname.replace("wwww.","")})),initExt(e=refsExt.tid);else if("shortly_tid"in sessionStorage)if((e=sessionStorage.getItem("shortly_tid"))!==refsExt.tid){if("shortly_html"in sessionStorage){var shortly_t=sessionStorage.getItem("shortly_html");let s=(shortly_t=JSON.parse(shortly_t)).bar,i=(shortly_t.discount,shortly_t.discount_code);cookie_duration=shortly_t.cookie_duration;var o=document.getElementsByTagName("body")[0],n=document.createElement("div");n.innerHTML=s,o.insertBefore(n,o.firstChild),Cookies.set("shortly_tid",`${e}`,{expires:cookie_duration,path:"/",domain:"."+window.location.hostname.replace("wwww.","")}),sessionStorage.setItem("shortly_tid",e),document.querySelector("#shorttime")&&document.querySelector("#shorttime").value>0?timerExt():(document.querySelector("#shortTimer")&&(document.querySelector("#shortTimer").style.display="none"),!refsExt.tid&&document.querySelector("#shortbar")&&(document.querySelector("#shortbar").style.display="none"),document.querySelector("#shorttimestatus")&&1==document.querySelector("#shorttimestatus").value&&0==document.querySelector("#shorttime").value&&(document.querySelector("#shortbar").style.display="block")),i&&applydiscountExt(i),document.getElementById("closeit_bottom")&&document.getElementById("closeit_bottom").addEventListener("click",(function(){document.getElementById("discountly_show-b").style.display="none"})),document.querySelector("#closeit_top")&&document.getElementById("closeit_top").addEventListener("click",(function(){document.querySelector("#shortbar").style.display="none"}))}}else initExt(e)}function initExt(e){proxyExt({query:"bar",tid:e},(function(shortly_t){sessionStorage.setItem("shortly_html",shortly_t),shortly_t=JSON.parse(shortly_t),console.log(shortly_t);let o=shortly_t.bar,n=(shortly_t.discount,shortly_t.discount_code);if(cookie_duration=shortly_t.cookie_duration,o){var s=document.getElementsByTagName("body")[0],i=document.createElement("div");i.innerHTML=o,s.insertBefore(i,s.firstChild)}
11235Cookies.set("shortly_tid",`${e}`,{expires:cookie_duration,path:"/",domain:"."+window.location.hostname.replace("wwww.","")}),sessionStorage.setItem("shortly_tid",e),sessionStorage.setItem("shortly_cookie_duration",cookie_duration),sessionStorage.setItem("shortly_shop_plan",shortly_t.plan_id),document.querySelector("#shorttime")?document.querySelector("#shorttime").value>0?timerExt():document.querySelector("#shortTimer")&&(document.querySelector("#shortTimer").style.display="none"):(document.querySelector("#shortTimer")&&(document.querySelector("#shortTimer").style.display="none"),refsExt&&!refsExt.tid&&(document.querySelector("#shortbar").style.display="none"),document.querySelector("#shorttimestatus")&&1==document.querySelector("#shorttimestatus").value&&0==document.querySelector("#shorttime").value&&(document.querySelector("#shortbar").style.display="block")),n&&applydiscountExt(n),""!==shortly_t.discount_price&&document.getElementById("cc-discount-price")&&(document.getElementById("cc-discount-price").textContent=shortly_t.discount_price),document.getElementById("closeit_bottom")&&document.getElementById("closeit_bottom").addEventListener("click",(function(){document.getElementById("discountly_show-b").style.display="None"})),document.querySelector("#closeit_top")&&document.getElementById("closeit_top").addEventListener("click",(function(){document.querySelector("#shortbar").style.display="None"}))}))}function applydiscountExt(e){document.querySelector("#cc-code")&&(document.querySelector("#cc-code").textContent=e);var shortly_t=window.location.origin,o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===this.readyState&&200===this.status)o.responseText};var n=shortly_t+"/discount/"+e;if(o.open("GET",n,!0),o.send(),Cookies.set("shortly_discount_code",`${e}`,{path:"/",domain:"."+window.location.hostname.replace("wwww.","")}),document.querySelector(".input_field1")){let shortly_t=document.querySelector(".input_field1").textContent.replace(/ *\[[^)]*\] */g,` ${e} `);document.querySelector(".input_field1").textContent=shortly_t}}function discountly_tooltiptext_setExt(e){document.getElementById("discountly_tooltiptext_id").innerHTML="Copy coupon"}function copyTextExt(e){var shortly_t=document.createElement("input");shortly_t.setAttribute("value",e),document.body.appendChild(shortly_t),shortly_t.select();document.execCommand("copy");document.body.removeChild(shortly_t),document.getElementById("discountly_tooltiptext_id").innerHTML="Copied"}function timerExt(){if("shortly_tid"in sessionStorage){document.cookie.indexOf("discountly_timem");let e=document.querySelector("#discountly_timem"),shortly_t=document.querySelector("#discountly_times");if("NaN"==Cookies.get("discountly_timem")||null==Cookies.get("discountly_timem")||"NaN"==Cookies.get("discountly_times")||null==Cookies.get("discountly_times")){let o=document.querySelector("#shorttime").value;startTimerShortExt(60*parseInt(o),e,shortly_t)}else{let o=Cookies.get("discountly_timem"),n=Cookies.get("discountly_times");o=o<10?""+o:o,n=n<10?""+n:n,document.querySelector("#discountly_timem")&&(document.querySelector("#discountly_timem").textContent=o),document.querySelector("#discountly_times")&&(document.querySelector("#discountly_times").textContent=n),startTimerShortExt(parseInt(60*o)+parseInt(n),e,shortly_t)}}}function appendTrafficScript(){if(getParamsExt(window.location.href).tid||"shortly_tid"in sessionStorage){const e=document.createElement("script");e.setAttribute("data-host",traffic_url),e.setAttribute("data-dnt","false"),e.setAttribute("src",traffic_url+"/js/script.js"),e.setAttribute("id","ZwSg9rf6GA"),e.setAttribute("async",!0),e.setAttribute("defer",!0),document.getElementsByTagName("head")[0].appendChild(e)}}appendTrafficScript(),startExt(); 11236if(Cookies.get("shortly_tid")){var shortly_t;fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:{tid:Cookies.get("shortly_tid")}})})} 11237</script>
11237 11238</div><div id="shopify-block-AMXlNNXM5SWtGZ0cxR__17151115064775110295" class="shopify-block shopify-app-block"><style data-recharge-theme='{"has_theme_customization": false, "design_mode": false }'> 11239 .recharge-theme { 11240 /* App */ 11241 --recharge-app-background: #F7F7F7; 11242 --recharge-app-container: 1200px; 11243 --recharge-app-vertical-padding: 32px; 11244 11245 /* Brand colors */ 11246 11247--recharge-color-brand: #1773B0; 11248 11249 /* Tints */ 11250 --recharge-color-brand-120: #125988; 11251 --recharge-color-brand-20: #458fc0; 11252 --recharge-color-brand-40: #74abd0; 11253 --recharge-color-brand-60: #a2c7df; 11254 --recharge-color-brand-75: #c5dceb; 11255 --recharge-color-brand-85: #dceaf3; 11256 11257 /* Neutral */ 11258 --recharge-color-neutral: hsl(204, 35%, 7%); 11259 --recharge-color-neutral-80: hsl(204, 7%, 25%); 11260 --recharge-color-neutral-70: hsl(204, 5%, 35%); 11261 --recharge-color-neutral-40: hsl(204, 3%, 63%); 11262 --recharge-color-neutral-10: hsl(204, 2%, 91%); 11263 11264 11265 /* Links */ 11266 --recharge-button-secondary: #1773B0; 11267 --recharge-button-secondary-120: #125988; 11268 --recharge-button-secondary-60: #74abd0; 11269 11270 /* Images */ 11271 --recharge-images-ratio: 1; 11272 11273 /* Cards */ 11274 11275 --recharge-cards-background: #FFFFFF; 11276 11277 11278 11279 --recharge-cards-border-color: RGBA(0,0,0,0); 11280 11281 11282 /* Fonts */ 11283 --recharge-typography-scale: 16px; 11284 --recharge-typography-size-1: calc(3 * var(--recharge-typography-scale)); 11285 --recharge-typography-size-2: calc(2.25 * var(--recharge-typography-scale)); 11286 --recharge-typography-size-3: calc(1.625 * var(--recharge-typography-scale)); 11287 --recharge-typography-size-4: calc(1.25 * var(--recharge-typography-scale)); 11288 --recharge-typography-size-5: calc(1 * var(--recharge-typography-scale)); 11289 --recharge-typography-size-6: calc(.875 * var(--recharge-typography-scale)); 11290 11291 /** Text **/ 11292 --recharge-typography-light: #FFFFFF; 11293 --recharge-typography-primary: var(--recharge-color-neutral); 11294 --recharge-typography-secondary: var(--recharge-color-neutral-70); 11295 11296 /* Corners */ 11297 --recharge-corners-radius: 8px; 11298 11299 --recharge-button-border-radius: 8px; 11300 11301 11302 /* Views */ 11303 11304 --recharge-views-background: #F7F7F7; 11305 11306 11307 /* Buttons */ 11308 --recharge-button-font-family: inherit; 11309 --recharge-button-brand: var(--recharge-color-brand); 11310 --recharge-button-color: #FFFFFF; 11311 } 11312</style> 11313 11314</div><div id="shopify-block-Ad3lHck9Ccldkb2R1R__12526071353035850722" class="shopify-block shopify-app-block"> 11315
11315<script defer src="https://backinstock.useamp.com/widget/18675_1787667501.js?category=bis&v=6"></script>
11315 11316 11317
11318<script id="back-in-stock-helper-embedded"> 11319 var _BISConfig = _BISConfig || {}; 11320 11321 11322 _BISConfig.product = {"id":10847775850806,"title":"GLOSS Caramel Color Enhancement","handle":"gloss-caramel-color-enhancement","description":"\u003ch4\u003eBrighten, Warm, Restore\u003c\/h4\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eCreated to\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ebrighten\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecolor and enhance warmth\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ein brunettes,\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun MacChromeBold SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eGLOSS Caramel Color Enhancement\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003eis a\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003etemporary toning gloss that \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003edeep conditions hair\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e, adding glassy shine\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ewhile\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecreating a bronzed caramel glow\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\" lang=\"EN-US\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cstrong\u003e\u003cimg\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- split --\u003e\n\u003ch6\u003eBENEFITS\u003c\/h6\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cspan lang=\"EN-US\" class=\"TextRun SCXW142188827 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW142188827 BCX0\"\u003eWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan lang=\"EN-US\" class=\"TextRun SCXW97983291 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW97983291 BCX0\"\u003eTones while conditioning to improve softness, smoothness, and manageability\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP SCXW97983291 BCX0\"\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003eHelps reduce frizz and\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SpellingErrorV2Themed SCXW80623500 BCX0\"\u003eflyaways\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003efor a polished look that lasts\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eSize: 6.76 oz.\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2026-09-21T23:09:1
113227-04:00","created_at":"2026-09-14T16:55:43-04:00","vendor":"Calista Tools","type":"Cleanse + Condition","tags":["Color maintenance","exclude-coverage","new","symprosis","treatment"],"price":3900,"price_min":3900,"price_max":3900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":54557956276534,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"GLOSS-CARA","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"GLOSS Caramel Color Enhancement","public_title":null,"options":["Default Title"],"price":3900,"weight":454,"compare_at_price":null,"inventory_management":"shopify","barcode":"850077527609","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713"],"featured_image":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597","options":["Title"],"media":[{"alt":null,"id":49386460053814,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597","width":2083},{"alt":null,"id":49386460152118,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603","width":2083},{"alt":null,"id":49386460447030,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607","width":2083},{"alt":null,"id":49386460643638,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608","width":2083},{"alt":null,"id":49386461102390,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614","width":2083},{"alt":null,"id":49386460938550,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611","width":2083},{"alt":null,"id":49402176897334,"position":7,"preview_image":{"aspect_ratio":1.0,"height":4167,"width":4167,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963"},"aspect_ratio":1.0,"height":4167,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963","width":4167},{"alt":null,"id":48586259759414,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713","width":2083}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch4\u003eBrighten, Warm, Restore\u003c\/h4\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eCreated to\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ebrighten\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecolor and enhance warmth\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ein brunettes,\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun MacChromeBold SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eGLOSS Caramel Color Enhancement\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003eis a\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003etemporary toning gloss that \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003edeep conditions hair\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e, adding glassy shine\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ewhile\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecreating a bronzed caramel glow\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\" lang=\"EN-US\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cstrong\u003e\u003cimg\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- split --\u003e\n\u003ch6\u003eBENEFIT
11322S\u003c\/h6\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cspan lang=\"EN-US\" class=\"TextRun SCXW142188827 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW142188827 BCX0\"\u003eWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan lang=\"EN-US\" class=\"TextRun SCXW97983291 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW97983291 BCX0\"\u003eTones while conditioning to improve softness, smoothness, and manageability\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP SCXW97983291 BCX0\"\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003eHelps reduce frizz and\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SpellingErrorV2Themed SCXW80623500 BCX0\"\u003eflyaways\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003efor a polished look that lasts\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eSize: 6.76 oz.\u003c\/li\u003e\n\u003c\/ul\u003e"}; 11323 11324 11325 _BISConfig.product.variants[0]['oos'] = false; 11326 11327 11328 11329 11330</script>
11330 11331
11332<script id="preorders-helper-embedded"> 11333 11334 11335 11336 var LiquidPreOrdersConfig = LiquidPreOrdersConfig || {}; 11337 LiquidPreOrdersConfig.product_id = 10847775850806; 11338 LiquidPreOrdersConfig.product_tags = ["Color maintenance","exclude-coverage","new","symprosis","treatment"]; 11339 LiquidPreOrdersConfig.variants = {"54557956276534": { 11340 "selling_plan_ids": [], 11341 "inventory_policy": "deny", 11342 "oos": false 11343 }}; 11344 11345</script>
11345 11346
11347<script id="low-stock-helper-embedded"> 11348 11349 var LiquidLowStockConfig = LiquidLowStockConfig || {}; 11350 LiquidLowStockConfig.product_id = 10847775850806; 11351 LiquidLowStockConfig.product_tags = ["Color maintenance","exclude-coverage","new","symprosis","treatment"]; 11352 LiquidLowStockConfig.variants = {"54557956276534": { 11353 "inventory_quantity": 555, 11354 "inventory_management": "shopify", 11355 "inventory_policy": "deny", 11356 "oos": false 11357 }}; 11358 11359 window.AppLowStockConfig = null; 11360 11361</script>
11361 11362 11363 11364
11364<script defer type="module" src="https://cdn.shopify.com/extensions/01a0ae82-28b0-715d-bb47-827eda8f44e3/back-in-stock-69/assets/low-stock-badge.js"></script>
11364 11365 11366 11367
11368<script defer type="module" src="https://cdn.shopify.com/extensions/01a0ae82-28b0-715d-bb47-827eda8f44e3/back-in-stock-69/assets/wishlist.js"></script>
11368 11369 11370
11371<script defer type="module" src="https://cdn.shopify.com/extensions/01a0ae82-28b0-715d-bb47-827eda8f44e3/back-in-stock-69/assets/preorder-product-page-updater.js"></script>
11371 11372 11373 11374 11375 11376</div><div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block"> 11377 11378 11379<div class="smile-shopify-init" 11380 data-channel-key="channel_eHu7Ih7QImCWrvOJiOwDJ2dA" 11381 11382></div> 11383 11384 11385</div><div id="shopify-block-AUEZZQzZ3MjZ3a0J5a__3418223220453551085" class="shopify-block shopify-app-block"><div style="position: fixed; bottom: 0; right: 0"> 11386 <!-- BEGIN app snippet: functional-discount -->�
11386<script class="FAD-"> 11387 window.cs_FD = {}; 11388 �window.cs_FD.showBogoPopup = "0"; 11389 window.cs_FD.cartRequestcall = 'https://fad.cirkleinc.com/api/cart-request'; 11390 window.cs_FD.call = '/apps/fad'; 11391 window.cs_FD.host = 'https://fad.cirkleinc.com'; 11392 window.cs_FD.upsellBar = 'https://fad.cirkleinc.com/api/get-upsell-data'; 11393 window.cs_FD.API = 'https://fad.cirkleinc.com/api/display-discount-table'; 11394 window.cs_FD.BBAPI = 'https://fad.cirkleinc.com/api/display-bundle-offer'; 11395 window.cs_FD.FBTAPI = 'https://fad.cirkleinc.com/api/display-frequently-bought'; 11396 window.cs_FD.store_name = 'calista-tools.myshopify.com'; 11397 window.cs_FD.vd_url = ''; 11398 11399 window.cs_FD.need_to_update = 1;window.cs_FD.product_id = '10847775850806'; 11400 window.cs_FD.product = {"id":10847775850806,"title":"GLOSS Caramel Color Enhancement","handle":"gloss-caramel-color-enhancement","description":"\u003ch4\u003eBrighten, Warm, Restore\u003c\/h4\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eCreated to\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ebrighten\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecolor and enhance warmth\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ein brunettes,\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun MacChromeBold SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eGLOSS Caramel Color Enhancement\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003eis a\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003etemporary toning gloss that \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003edeep conditions hair\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e, adding glassy shine\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ewhile\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecreating a bronzed caramel glow\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\" lang=\"EN-US\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cstrong\u003e\u003cimg\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- split --\u003e\n\u003ch6\u003eBENEFITS\u003c\/h6\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cspan lang=\"EN-US\" class=\"TextRun SCXW142188827 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW142188827 BCX0\"\u003eWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan lang=\"EN-US\" class=\"TextRun SCXW97983291 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW97983291 BCX0\"\u003eTones while conditioning to improve softness, smoothness, and manageability\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP SCXW97983291 BCX0\"\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003eHelps reduce frizz and\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SpellingErrorV2Themed SCXW80623500 BCX0\"\u003eflyaways\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003efor a polished look that lasts\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eSize: 6.76 oz.\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2026-09-21T23:09:1
114007-04:00","created_at":"2026-09-14T16:55:43-04:00","vendor":"Calista Tools","type":"Cleanse + Condition","tags":["Color maintenance","exclude-coverage","new","symprosis","treatment"],"price":3900,"price_min":3900,"price_max":3900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":54557956276534,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"GLOSS-CARA","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"GLOSS Caramel Color Enhancement","public_title":null,"options":["Default Title"],"price":3900,"weight":454,"compare_at_price":null,"inventory_management":"shopify","barcode":"850077527609","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963","\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713"],"featured_image":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597","options":["Title"],"media":[{"alt":null,"id":49386460053814,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597","width":2083},{"alt":null,"id":49386460152118,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603","width":2083},{"alt":null,"id":49386460447030,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607","width":2083},{"alt":null,"id":49386460643638,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608","width":2083},{"alt":null,"id":49386461102390,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614","width":2083},{"alt":null,"id":49386460938550,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611","width":2083},{"alt":null,"id":49402176897334,"position":7,"preview_image":{"aspect_ratio":1.0,"height":4167,"width":4167,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963"},"aspect_ratio":1.0,"height":4167,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963","width":4167},{"alt":null,"id":48586259759414,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2083,"width":2083,"src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713"},"aspect_ratio":1.0,"height":2083,"media_type":"image","src":"\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713","width":2083}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch4\u003eBrighten, Warm, Restore\u003c\/h4\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eCreated to\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ebrighten\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecolor and enhance warmth\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ein brunettes,\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun MacChromeBold SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eGLOSS Caramel Color Enhancement\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003eis a\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003etemporary toning gloss that \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003edeep conditions hair\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e, adding glassy shine\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ewhile\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003ecreating a bronzed caramel glow\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003e.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"OutlineElement Ltr SCXW93330782 BCX0\"\u003e\n\u003cp class=\"Paragraph SCXW93330782 BCX0\" lang=\"EN-US\"\u003e\u003cspan lang=\"EN-US\" class=\"TextRun SCXW93330782 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW93330782 BCX0\"\u003eResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine.\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP Selected SCXW93330782 BCX0\"\u003e \u003c\/span\u003e\u003cstrong\u003e\u003cimg\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- split --\u003e\n\u003ch6\u003eBENEFIT
11400S\u003c\/h6\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cspan lang=\"EN-US\" class=\"TextRun SCXW142188827 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW142188827 BCX0\"\u003eWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan lang=\"EN-US\" class=\"TextRun SCXW97983291 BCX0\"\u003e\u003cspan class=\"NormalTextRun SCXW97983291 BCX0\"\u003eTones while conditioning to improve softness, smoothness, and manageability\u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"EOP SCXW97983291 BCX0\"\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003eHelps reduce frizz and\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan class=\"NormalTextRun SpellingErrorV2Themed SCXW80623500 BCX0\"\u003eflyaways\u003c\/span\u003e\u003cspan class=\"NormalTextRun SCXW80623500 BCX0\"\u003e\u003cspan\u003e \u003c\/span\u003efor a polished look that lasts\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eSize: 6.76 oz.\u003c\/li\u003e\n\u003c\/ul\u003e"}; 11401 window.cs_FD.product_variant_id = 54557956276534; 11402 window.cs_FD.col_ids = '166997852220,539792703798,482898739510,150929145925,137844064325,137909567557,525372293430'; 11403 window.cs_FD.col_handles = 'all-products,gloss-sibling-products,hair-treatments,new-arrivals,color-maintenance-hair-products,hair-products,the-gloss-line'; 11404 window.cs_FD.parameter = 0;window.cs_FD.product_handle = 'gloss-caramel-color-enhancement'; 11405 window.cs_FD.propertyIDList = ''; 11406 window.cs_FD.cartTotal = 0; 11407 window.cs_FD.customerId = 0; 11408 window.cs_FD.currency = "$"; 11409 if (typeof custom_money_format !== 'undefined' && custom_money_format) { 11410 window.cs_FD.shop_money_format = custom_money_format; 11411 } else { 11412 window.cs_FD.shop_money_format = "${{amount_no_decimals}}"; 11413 } 11414 window.cs_FD.variant_id = 54557956276534; 11415 window.cs_FD.proCollectionId = '166997852220,539792703798,482898739510,150929145925,137844064325,137909567557,525372293430'; 11416 window.cs_FD.discountFree = []; 11417 window.cs_FD.refreshCode = ''; 11418 window.cs_FD.bogo_ajax_setting = 0; 11419 11420 // This varaible create for bogo offer apply on cart page 11421 window.cs_FD.cart_collections = {} 11422 11423 11424 window.cs_FD.show_bogo = "Show Bogo"; 11425 window.cs_FD.show_bogo_message = "You are eligible to get bogo product"; 11426 window.cs_FD.show_bogo_class = null; 11427 window.cs_FD.show_bogo_message_class = null; 11428 window.cs_FD.show_bogo_message_bg_color = "#FFFFFF"; 11429 window.cs_FD.show_bogo_message_text_color = "#000000"; 11430 window.cs_FD.no_thanks_msg = "No thanks"; 11431 window.cs_FD.collection_offer = "This offer is valid for collection"; 11432 window.cs_FD.Claim = "Claim"; 11433 window.cs_FD.soldOut = "Sold out"; 11434 window.cs_FD.close_svg = '<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"><path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"></path></svg>'; 11435 11436 // This Variable create for Upsell bar on page 11437 var upsell_items_class = null; 11438 window.cs_FD.last_pro_cart_collections = ""; 11439 window.cs_FD.last_pro_cart_id = ""; 11440 window.cs_FD.Showless = 'Show less'; 11441 window.cs_FD.Showmore = 'Show more'; 11442</script>
11442 11443 11444<link href="//cdn.shopify.com/extensions/01a0eb90-50c1-7ec6-a5db-01515d5c80e1/auto-discounts-93/assets/functional-discount.css" rel="stylesheet" type="text/css" media="all" />
11445<script src="https://cdn.shopify.com/extensions/01a0eb90-50c1-7ec6-a5db-01515d5c80e1/auto-discounts-93/assets/functional-discount.js" defer="defer"></script>
11445<script src="https://cdn.shopify.com/extensions/01a0eb90-50c1-7ec6-a5db-01515d5c80e1/auto-discounts-93/assets/fad-cart-refresh.js" type="module"></script>
11445<div id="CS_JSON_WRAP" style="display: none;"> 11446
11446<script type="application/json" class="CS_JSON" data-FAD=""> 11447 {"variants":[{"id":54557956276534,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"GLOSS-CARA","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"GLOSS Caramel Color Enhancement","public_title":null,"options":["Default Title"],"price":3900,"weight":454,"compare_at_price":null,"inventory_management":"shopify","barcode":"850077527609","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]} 11448 </script>
11448 11449 </div><!-- END app snippet --> 11450</div> 11451 11452</div><div id="shopify-block-AWitpMC8rZDJCSlg4R__15573056287721514228" class="shopify-block shopify-app-block json-ld-for-seo"><!-- generated: 2026-10-03 17:17:53 -0400 --> 11453<!-- BEGIN app snippet: json_ld_for_seo_web_page -->
11453<script type="application/ld+json"> 11454 { 11455 "@context": "https://schema.org", 11456 "@type": "WebPage", 11457 "@id": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement#json-ld-for-seo-webpage", 11458 "url": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement", 11459 "image": "https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597\u0026width=2083", 11460 "primaryImageOfPage": "https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597\u0026width=2083", 11461 "dateCreated": "2026-09-14T16:55:43-0400", 11462 "datePublished": "2026-09-21T23:09:17-0400" 11463 } 11464</script>
11464 11465<!-- END app snippet --> 11466<!-- wp 0 --><!-- BEGIN app snippet: json_ld_for_seo_organization -->
11467<script type="application/ld+json"> 11468{ 11469 "@context": "https://schema.org", 11470 "@type": "Organization","@id": "https:\/\/calistatools.com\/#org", 11471 "name": "Calista Tools", 11472 "url": "https:\/\/calistatools.com", 11473 "description": "Products and tools that empower transformation to make you brave about your beauty. #BeautyBrave", 11474 "telephone": "4844738292", 11475 "logo": "https:\/\/cdn.shopify.com\/s\/files\/1\/0067\/6475\/7061\/files\/calista-logo.svg?v=1709009111", 11476 "image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0067\/6475\/7061\/files\/calista-logo.svg?v=1709009111", 11477 "sameAs": ["https:\/\/www.instagram.com\/calistatools\/","https:\/\/www.facebook.com\/calistabymariamccool","https:\/\/www.youtube.com\/user\/CalistaTools","https:\/\/www.tiktok.com\/@calistatools","https:\/\/www.pinterest.com\/calistatools\/","https:\/\/www.facebook.com\/calistabymariamccool","https:\/\/www.instagram.com\/calistatools\/","https:\/\/www.pinterest.com\/calistatools\/","https:\/\/www.tiktok.com\/@calistatools?lang=en","https:\/\/www.youtube.com\/user\/CalistaTools"], 11478 "address": { 11479 "@type": "PostalAddress", 11480 "streetAddress": "600 Willowbrook Lane, Suite 615", 11481 "addressLocality": "West Chester", 11482 "addressRegion": "Pennsylvania", 11483 "postalCode": "19382", 11484 "addressCountry": "US" 11485 }, 11486 "contactPoint": [ 11487 { 11488 "@type": "ContactPoint", 11489 "telephone": "4844738292", 11490 "email": "" 11491 } 11492 ]} 11493</script>
11493 11494<!-- END app snippet --> <!-- o 2 --><!-- BEGIN app snippet: json_ld_for_seo_product_group -->
11494<script type="application/ld+json"> 11495{ 11496 "@context": "https://schema.org", 11497 "@id": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement#json-ld-for-seo", 11498 "@type": "ProductGroup", 11499 "brand": { 11500 "@type": "Brand", 11501 "name": "Calista Tools" 11502 }, 11503 "productID": "GLOSS-CARA", 11504 "productGroupID": "10847775850806", 11505 "description": "Brighten, Warm, Restore\n\nCreated to brighten color and enhance warmth in brunettes, GLOSS Caramel Color Enhancement is a temporary toning gloss that deep conditions hair, adding glassy shine while creating a bronzed caramel glow. \n\n\nResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine. \n\n\nBENEFITS\n\n\n\nWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\n\n\n Tones while conditioning to improve softness, smoothness, and manageability \n\n\n Helps reduce frizz and flyaways for a polished look that lasts\n\nSize: 6.76 oz.\n", 11506 "url": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement", 11507 "name": "GLOSS Caramel Color Enhancement", 11508 "image": ["https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597\u0026width=2083","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-17_1.jpg?v=1789574603\u0026width=2083","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-18_1.jpg?v=1789574607\u0026width=2083","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-19_1.jpg?v=1789574608\u0026width=2083","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-20.jpg?v=1789574614\u0026width=2083","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement-21.jpg?v=1789574611\u0026width=2083","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026_Gloss_Enhancement_both.jpg?v=1789665963\u0026width=4167","https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossShineRecoverySerum-08.jpg?v=1782759713\u0026width=2083"],"aggregateRating": { 11509 "@id": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement#json-ld-for-seo-product-reviews" 11510 },"hasVariant": [ 11511{ 11512 "@id": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement?variant=54557956276534#json-ld-for-seo-product", 11513 "@type": "Product", 11514 "url": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement?variant=54557956276534", 11515 "inProductGroupWithID": "10847775850806", 11516 "name": "GLOSS Caramel Color Enhancement", 11517 "image": "https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEnhancement-16_1.jpg?v=1789574597\u0026width=2083", 11518 "description": "Brighten, Warm, Restore\n\nCreated to brighten color and enhance warmth in brunettes, GLOSS Caramel Color Enhancement is a temporary toning gloss that deep conditions hair, adding glassy shine while creating a bronzed caramel glow. \n\n\nResults last through 6â8 shampoos, with pomegranate extract helping support vibrancy while conditioning oils smooth and soften for high shine. \n\n\nBENEFITS\n\n\n\nWarm caramel pigments brighten brunette tones, enhancing vibrancy and dimension\n\n\n Tones while conditioning to improve softness, smoothness, and manageability \n\n\n Helps reduce frizz and flyaways for a polished look that lasts\n\nSize: 6.76 oz.\n", 11519 "sku": "GLOSS-CARA", 11520 "mpn": "850077527609","gtin": "850077527609","gtin12": "850077527609","category": ["Hair Color", 11521"Hair Care", 11522"Personal Care", 11523"Health \u0026 Beauty" 11524],"weight": { 11525 "@type": "QuantitativeValue", 11526 "unitText": "lb", 11527 "value": 1.0 11528 },"itemCondition": "https://schema.org/NewCondition","offers": [{ 11529 "@type": "Offer", 11530 "@id": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement?variant=54557956276534#json-ld-for-seo-variant", 11531 "name": "GLOSS Caramel Color Enhancement", 11532 "price": "39.0", 11533 "priceCurrency": "USD", 11534 "validFrom": "2026-10-02", 11535 "priceValidUntil": "2027-01-01","itemCondition": "https://schema.org/NewCondition", 11536 "url": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement?variant=54557956276534", 11537 "image": "https:\/\/calistatools.com\/cdn\/shop\/files\/5.22.2026GlossEn
11537hancement-16_1.jpg?v=1789574597\u0026width=2083", 11538 "sku": "GLOSS-CARA", 11539 "mpn": "850077527609", 11540 "availability": "https:\/\/schema.org\/InStock","gtin": "850077527609","gtin12": "850077527609","seller": { 11541 "@type": "Organization", 11542 "name": "Calista Tools" 11543 } 11544 }] 11545 } 11546 11547] 11548} 11549</script>
11549<script type="application/ld+json">{ 11550 "@context": "https://schema.org", 11551 "@id": "https:\/\/calistatools.com\/products\/gloss-caramel-color-enhancement#json-ld-for-seo-product-reviews", 11552 "@type": "AggregateRating", 11553 "description": "yotpo", 11554 "ratingValue": "4.5", 11555 "ratingCount": 35 11556 }</script>
11556<!-- END app snippet --> 11557<!-- p 4 --><!-- A 8 --> 11558 11559 11560</div><div id="shopify-block-ARmdBZTc5UE1PeWNOL__14928883602818719019" class="shopify-block shopify-app-block"> 11561 11562 <link rel="preconnect" href="https://api.loopreturns.com" crossorigin> 11563 <link rel="dns-prefetch" href="https://api.loopreturns.com"> 11564 11565 11566 11567<div 11568 id='loop-storefront-data' 11569 data-order-protection-feature='true' 11570 data-is-b2b='' 11571 data-customer-tags='' 11572> 11573</div> 11574 11575</div><div id="shopify-block-AWGxmMlp0WWFnTzZRY__16798170927650018749" class="shopify-block shopify-app-block"> 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589<div id="recharge-storefront-experiences"> 11590 11591 <div></div> 11592</div>
11593<script type="module" src="https://static.rechargecdn.com/assets/storefront-experiences/storefront-experiences.js"></script>
11593 11594
11595<script> 11596 (function () { 11597 11598 11599 11600 11601 11602 11603 window.RechargeStorefrontConfig = { 11604 customer: null, 11605 shop: { 11606 currency: "USD", 11607 locale: "en", 11608 identifier: "calista-tools.myshopify.com", 11609 market_id: 2518122556, 11610 currency_format: "${{amount_no_decimals}}", 11611 routes: { 11612 cart: "\/cart", 11613 root: "\/", 11614 }, 11615 }, 11616 cart_overlay:{"enabled":true}, 11617 cart_overlay_preview:{}, 11618 cart_drawer:{"enabled":true}, 11619 cart_drawer_preview:{}, 11620 bundles_selling_plan_sync_enabled:false, 11621 }; 11622 })(); 11623</script>
11623 11624 11625 11626 11627 11628</div><div id="shopify-block-AeXdFL3NiTloxRjRUY__14952540001915115444" class="shopify-block shopify-app-block"> 11629 11630 11631 11632 11633<link id="upcart-stylesheet" rel="preload" href="https://cdn.shopify.com/extensions/01a0f97d-1699-7701-8105-968a4113862d/upcart-2-415/assets/upcart-stylesheet.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 11634 11635 11636 11637 11638
11638<script defer type="text/javascript" src="https://cdn.shopify.com/extensions/01a0f97d-1699-7701-8105-968a4113862d/upcart-2-415/assets/upcart-bundle.js"></script>
11638 11639 11640 11641
11642<script> 11643 11644 function b64DecodeUnicode(str) { 11645 try { 11646 return decodeURIComponent( 11647 atob(str) 11648 .split('') 11649 .map(function (c) { 11650 return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); 11651 }) 11652 .join(''), 11653 ); 11654 } catch { 11655 return str; 11656 } 11657 } 11658</script>
11658 11659 11660
11661<script> 11662(function() { 11663 window.upcartSettings = {}; 11664 window.upcartSettings.upcartSettings = {}; 11665 window.upcartSettings.upcartEditorSettings = {}; 11666 window.upcartSettings.stickyCartButtonEditorSettings = {}; 11667 11668 11669 11670 11671 let val; 11672 11673 val = b64DecodeUnicode("cmlnaHQ="); 11674 if (val === '') { 11675 val = b64DecodeUnicode("cmlnaHQ="); 11676 } 11677 window.upcartSettings.upcartSettings.cartPosition = val; 11678 11679 val = b64DecodeUnicode("ZmFsc2U="); 11680 if (val === '') { 11681 val = b64DecodeUnicode("ZmFsc2U="); 11682 } 11683 val = JSON.parse(val); 11684 window.upcartSettings.upcartSettings.disableSticky = val; 11685 11686 val = b64DecodeUnicode("dHJ1ZQ=="); 11687 if (val === '') { 11688 val = b64DecodeUnicode("dHJ1ZQ=="); 11689 } 11690 val = JSON.parse(val); 11691 window.upcartSettings.upcartSettings.openOnAddToCart = val; 11692 11693 val = b64DecodeUnicode("ZmFsc2U="); 11694 if (val === '') { 11695 val = b64DecodeUnicode("ZmFsc2U="); 11696 } 11697 val = JSON.parse(val); 11698 window.upcartSettings.upcartSettings.redirectToCart = val; 11699 11700 val = b64DecodeUnicode("dHJ1ZQ=="); 11701 if (val === '') { 11702 val = b64DecodeUnicode("ZmFsc2U="); 11703 } 11704 val = JSON.parse(val); 11705 window.upcartSettings.upcartSettings.enableCartSkeletons = val; 11706 11707 val = b64DecodeUnicode("eyJjYXJ0VGl0bGUiOiJDYXJ0IOKAoiB7e2NhcnRfcXVhbnRpdHl9fSIsImNoZWNrb3V0IjoiQ2hlY2tvdXQg4oCiIHt7dG90YWxfcHJpY2V9fSIsImFkZFRleHQiOiJBZGQiLCJlbXB0eUNhcnQiOiJZb3VyIGNhcnQgaXMgZW1wdHkiLCJkaXNjb3VudFNhdmluZ3MiOiJTYXZlIiwiY29udGludWVTaG9wcGluZyI6Ik9yIGNvbnRpbnVlIHNob3BwaW5nIiwidG90YWxTYXZpbmdzIjoiRGlzY291bnRzIiwic3VidG90YWwiOiJTdWJ0b3RhbCIsImJ1bmRsZUhpZGVTaW5ndWxhckl0ZW1UZXh0IjoiSGlkZSAxIGl0ZW0iLCJidW5kbGVTaG93U2luZ3VsYXJJdGVtVGV4dCI6IlNob3cgMSBpdGVtIiwiYnVuZGxlSGlkZU11bHRpcGxlSXRlbXNUZXh0IjoiSGlkZSB7TlVNQkVSX09GX0lURU1TfSBpdGVtcyIsImJ1bmRsZVNob3dNdWx0aXBsZUl0ZW1zVGV4dCI6IlNob3cge05VTUJFUl9PRl9JVEVNU30gaXRlbXMifQ=="); 11708 if (val === '') { 11709 val = b64DecodeUnicode("eyJjYXJ0VGl0bGUiOiJDYXJ0IOKAoiB7e2NhcnRfcXVhbnRpdHl9fSIsImNoZWNrb3V0IjoiQ2hlY2tvdXQg4oCiIHt7dG90YWxfcHJpY2V9fSIsImFkZFRleHQiOiJBZGQiLCJlbXB0eUNhcnQiOiJZb3VyIGNhcnQgaXMgZW1wdHkiLCJkaXNjb3VudFNhdmluZ3MiOiJTYXZlIiwiY29udGludWVTaG9wcGluZyI6Ik9yIGNvbnRpbnVlIHNob3BwaW5nIiwidG90YWxTYXZpbmdzIjoiRGlzY291bnRzIiwic3VidG90YWwiOiJTdWJ0b3RhbCIsImJ1bmRsZUhpZGVTaW5ndWxhckl0ZW1UZXh0IjoiSGlkZSAxIGl0ZW0iLCJidW5kbGVTaG93U2luZ3VsYXJJdGVtVGV4dCI6IlNob3cgMSBpdGVtIiwiYnVuZGxlSGlkZU11bHRpcGxlSXRlbXNUZXh0IjoiSGlkZSB7TlVNQkVSX09GX0lURU1TfSBpdGVtcyIsImJ1bmRsZVNob3dNdWx0aXBsZUl0ZW1zVGV4dCI6IlNob3cge05VTUJFUl9PRl9JVEVNU30gaXRlbXMifQ=="); 11710 } 11711 val = JSON.parse(val); 11712 window.upcartSettings.upcartSettings.translations = val; 11713 11714 val = b64DecodeUnicode("eyJhYm92ZUZvb3RlciI6IiIsImFib3ZlSGVhZGVyIjoiIiwiYmVsb3dIZWFkZXIiOiIiLCJiZXR3ZWVuTGluZUl0ZW1zIjoiIiwiYWJvdmVDaGVja291dEJ1dHRvbiI6IiIsImJlbG93Q2hlY2tvdXRCdXR0b24iOiIiLCJib3R0b21PZkNhcnQiOiIiLCJvbkVtcHR5Q2FydCI6IiIsInNjcmlwdHNCZWZvcmVMb2FkIjoiPHNjcmlwdD5cbi8qIENhbGlzdGE6IGV4cGFuZGFibGUgY291cG9uIGVudHJ5IOKAlCAyMDI2LTA5LTE3XG4gICBBZGQgdGhpcyB3aG9sZSBibG9jayB0byBVcGNhcnQgPiBDYXJ0IEVkaXRvciA+IFNldHRpbmdzID5cbiAgIEN1c3RvbSBIVE1MID4gU2NyaXB0cyAoQmVmb3JlIExvYWQpLCBiZWxvdyBhbnkgZXhpc3Rpbmcgc2NyaXB0cy5cbiAgIEtlZXAgdGhlIGV4aXN0aW5nIHJlY29tbWVuZGVkLXByb2R1Y3RzIGRyb3Bkb3duIHNjcmlwdC5cbiAgIFRoaXMgc2NyaXB0IGRvZXMgbm90IHN1Ym1pdCwgdmFsaWRhdGUsIG9yIGFwcGx5IGRpc2NvdW50cyBpdHNlbGYuXG4qL1xuKGZ1bmN0aW9uICgpIHtcbiAgJ3VzZSBzdHJpY3QnO1xuXG4gIHZhciBrZXkgPSAnY2FsaXN0YVVwY2FydENvdXBvbkFjY29yZGlvbic7XG4gIGlmICh3aW5kb3dba2V5XSkge1xuICAgIHdpbmRvd1trZXldLnJlZnJlc2goKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2VjdGlvblNlbGVjdG9yID0gJyN1cENhcnQgLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZSc7XG4gIHZhciBmb3JtU2VsZWN0b3IgPSAnLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZV9fZm9ybSc7XG4gIHZhciB0b2dnbGVDbGFzcyA9ICdjYWxpc3RhLWNvdXBvbi10b2dnbGUnO1xuICB2YXIgaXNPcGVuID0gZmFsc2U7XG4gIHZhciBuZXh0SWQgPSAwO1xuICB2YXIgc2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgZnVuY3Rpb24gcmVmcmVzaCgpIHtcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlY3Rpb25TZWxlY3RvcikuZm9yRWFjaChmdW5jdGlvbiAoc2VjdGlvbikge1xuICAgICAgdmFyIGZvcm0gPSBzZWN0aW9uLnF1ZXJ5U2VsZWN0b3IoZm9ybVNlbGVjdG9yKTtcbiAgICAgIHZhciB0b2dnbGUgPSBzZWN0aW9uLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdG9nZ2xlQ2xhc3MpO1xuXG4gICAgICAvLyBBcHBsaWVkLWRpc2NvdW50IGxhYmVscyBtYXkgcmVtYWluIGV2ZW4gaWYgVXBjYXJ0IHJlbW92ZXMgaXRzIGZvcm0uXG4gICAgICBpZiAoIWZvcm0pIHtcbiAgICAgICAgaWYgKHRvZ2dsZSkgdG9nZ2xlLnJlbW92ZSgpO1xuICAgICAgICBzZWN0aW9uLmNsYXNzTGlzdC5yZW1vdmUoJ2NhbGlzdGEtY291cG9uLWFjY29yZGlvbicpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZm9ybS5pZCkge1xuICAgICAgICB2Y
11714XIgaWQ7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBpZCA9ICdjYWxpc3RhLXVwY2FydC1jb3Vwb24tZm9ybS0nICsgKCsrbmV4dElkKTtcbiAgICAgICAgfSB3aGlsZSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKTtcbiAgICAgICAgZm9ybS5pZCA9IGlkO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRvZ2dsZSkge1xuICAgICAgICB0b2dnbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcbiAgICAgICAgdG9nZ2xlLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdG9nZ2xlLmNsYXNzTmFtZSA9IHRvZ2dsZUNsYXNzO1xuICAgICAgICB0b2dnbGUudGV4dENvbnRlbnQgPSAnQXBwbHkgYSBjb3Vwb24gY29kZSc7XG4gICAgICAgIC8vIEluc2VydCBhIHNpYmxpbmcuIFByZXNlcnZlIFVwY2FydCdzIGZvcm0gYW5kIGl0cyBldmVudCBoYW5kbGVycy5cbiAgICAgICAgZm9ybS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0b2dnbGUsIGZvcm0pO1xuICAgICAgfVxuXG4gICAgICB0b2dnbGUuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgZm9ybS5pZCk7XG4gICAgICB0b2dnbGUuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgU3RyaW5nKGlzT3BlbikpO1xuICAgICAgc2VjdGlvbi5jbGFzc0xpc3QuYWRkKCdjYWxpc3RhLWNvdXBvbi1hY2NvcmRpb24nKTtcbiAgICAgIGZvcm0uaGlkZGVuID0gIWlzT3BlbjtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNjaGVkdWxlUmVmcmVzaCgpIHtcbiAgICBpZiAoc2NoZWR1bGVkKSByZXR1cm47XG4gICAgc2NoZWR1bGVkID0gdHJ1ZTtcbiAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uICgpIHtcbiAgICAgIHNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgcmVmcmVzaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlQ2xpY2soZXZlbnQpIHtcbiAgICBpZiAoIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSkgcmV0dXJuO1xuICAgIHZhciB0b2dnbGUgPSBldmVudC50YXJnZXQuY2xvc2VzdCgnLicgKyB0b2dnbGVDbGFzcyk7XG4gICAgaWYgKCF0b2dnbGUgfHwgIXRvZ2dsZS5jbG9zZXN0KHNlY3Rpb25TZWxlY3RvcikpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlzT3BlbiA9IHRvZ2dsZS5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSAhPT0gJ3RydWUnO1xuICAgIHJlZnJlc2goKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRvdWNoZXNDYXJ0KHJlY29yZHMpIHtcbiAgICByZXR1cm4gcmVjb3Jkcy5zb21lKGZ1bmN0aW9uIChyZWNvcmQpIHtcbiAgICAgIGlmIChyZWNvcmQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJlxuICAgICAgICAgIHJlY29yZC50YXJnZXQuY2xvc2VzdCgnI3VwQ2FydCcpKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgcmV0dXJuIEFycmF5LmZyb20ocmVjb3JkLmFkZGVkTm9kZXMpXG4gICAgICAgIC5jb25jYXQoQXJyYXkuZnJvbShyZWNvcmQucmVtb3ZlZE5vZGVzKSlcbiAgICAgICAgLnNvbWUoZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQgJiZcbiAgICAgICAgICAgIChub2RlLmlkID09PSAndXBDYXJ0JyB8fCBub2RlLnF1ZXJ5U2VsZWN0b3IoJyN1cENhcnQnKSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gc3RhcnQoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGljayk7XG4gICAgcmVmcmVzaCgpO1xuICAgIC8vIFJlaW5zdGFsbCB0aGUgcm93IGFmdGVyIFVwY2FydCByZXBsYWNlcyBpdHMgZm9ybSBvciBjYXJ0IG1hcmt1cC5cbiAgICAvLyBUaGUgZXhwYW5kZWQgc3RhdGUgc3Vydml2ZXMgdGhvc2UgdXBkYXRlcyB3aXRoaW4gdGhlIGN1cnJlbnQgcGFnZS5cbiAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAocmVjb3Jkcykge1xuICAgICAgaWYgKHRvdWNoZXNDYXJ0KHJlY29yZHMpKSBzY2hlZHVsZVJlZnJlc2goKTtcbiAgICB9KTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICB9XG5cbiAgLy8gR3VhcmQgYWdhaW5zdCByZXBlYXRlZCBleGVjdXRpb24gYnkgQ3VzdG9tIEhUTUwgcmUtcmVuZGVycy5cbiAgd2luZG93W2tleV0gPSB7IHJlZnJlc2g6IHNjaGVkdWxlUmVmcmVzaCB9O1xuICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2xvYWRpbmcnKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIHN0YXJ0LCB7IG9uY2U6IHRydWUgfSk7XG4gIH0gZWxzZSB7XG4gICAgc3RhcnQoKTtcbiAgfVxufSkoKTtcbjwvc2NyaXB0PlxuPHNjcmlwdD5cbi8qIENhbGlzdGEgVXBjYXJ0IHJlY29tbWVuZGF0aW9ucyB2aXNpYmlsaXR5IGZpeCDigJQgMjAyNi0wOS0xN1xuICAgQXBwZW5kIHRoaXMgY29tcGxldGUgYmxvY2sgYmVsb3cgZXhpc3Rpbmcgc2NyaXB0cyBpbjpcbiAgIFVwY2FydCA+IENhcnQgRWRpdG9yID4gU2V0dGluZ3MgPiBDdXN0b20gSFRNTCA+IFNjcmlwdHMgKEJlZm9yZSBMb2FkKS5cbiAgIEtlZXAgdGhlIGV4aXN0aW5nIHJlY29tbWVuZGF0aW9ucyBhbmQgY291cG9uIHNjcmlwdHMuXG4qL1xuKGZ1bmN0aW9uICgpIHtcbiAgJ3VzZSBzdHJpY3QnO1xuXG4gIGlmICh3aW5kb3cuY2FsaXN0YVVwY2FydFJlY29tbWVuZGF0aW9uc0ZpeCkge1xuICAgIHdpbmRvdy5jYWxpc3RhVXBjYXJ0UmVjb21tZW5kYXRpb25zRml4LnJlZnJlc2goKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbW9kdWxlU2VsZWN0b3IgPSAnLnVwY2FydC1wdWJsaWMtdXBzZWxsJztcbiAgdmFyIHRpdGxlU2VsZWN0b3IgPSAnLnVwY2FydC1wdWJsaWMtdXBzZWxsX190aXRsZSc7XG4gIHZhciBncmlkU2VsZWN0b3IgPSAnLnVwY2FydC1wdWJsaWMtdXBzZWxsX192ZXJ0aWNhbC1sYXlvdXQtd3JhcHBlcic7XG4gIHZhciBuZXh0SWQgPSAwO1xuICB2YXIgcXVldWVkID0gZmFsc2U7XG5cbiAgZnVuY3Rpb24gcmVmcmVzaCgpIHtcbiAgICBkb2
11714N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG1vZHVsZVNlbGVjdG9yKS5mb3JFYWNoKGZ1bmN0aW9uIChtb2R1bGUpIHtcbiAgICAgIHZhciB0aXRsZSA9IG1vZHVsZS5xdWVyeVNlbGVjdG9yKHRpdGxlU2VsZWN0b3IpO1xuICAgICAgdmFyIGdyaWQgPSBtb2R1bGUucXVlcnlTZWxlY3RvcihncmlkU2VsZWN0b3IpO1xuICAgICAgaWYgKCF0aXRsZSB8fCAhZ3JpZCkgcmV0dXJuO1xuXG4gICAgICAvKiBQcmVzZXJ2ZSB0aGUgZXhpc3RpbmcgZHJvcGRvd24gaGFuZGxlciB3aGVuIGl0IGlzIGluc3RhbGxlZC5cbiAgICAgICAgIEluaXRpYWxpemUgYSBoYW5kbGVyIG9ubHkgaWYgdGhlIG9yaWdpbmFsIG9uZSBpcyBhYnNlbnQuICovXG4gICAgICBpZiAodGl0bGUuZ2V0QXR0cmlidXRlKCdkYXRhLWNhbGlzdGEtZHJvcGRvd24taW5pdCcpICE9PSAndHJ1ZScpIHtcbiAgICAgICAgdGl0bGUuc2V0QXR0cmlidXRlKCdkYXRhLWNhbGlzdGEtZHJvcGRvd24taW5pdCcsICd0cnVlJyk7XG4gICAgICAgIHRpdGxlLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICAgICAgICB0aXRsZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0aXRsZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLFxuICAgICAgICAgICAgdGl0bGUuZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xuICAgICAgICAgIHJlZnJlc2goKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRpdGxlLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGl0bGUuY2xpY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aXRsZS5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnYnV0dG9uJyk7XG4gICAgICBpZiAoIXRpdGxlLmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSkgdGl0bGUuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICBpZiAoIXRpdGxlLmhhc0F0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpKSB7XG4gICAgICAgIHRpdGxlLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICAgICAgfVxuICAgICAgaWYgKCFncmlkLmlkKSB7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBuZXh0SWQgKz0gMTtcbiAgICAgICAgfSB3aGlsZSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbGlzdGEtdXBzZWxsLXBhbmVsLScgKyBuZXh0SWQpKTtcbiAgICAgICAgZ3JpZC5pZCA9ICdjYWxpc3RhLXVwc2VsbC1wYW5lbC0nICsgbmV4dElkO1xuICAgICAgfVxuICAgICAgdGl0bGUuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgZ3JpZC5pZCk7XG5cbiAgICAgIHZhciBleHBhbmRlZCA9IHRpdGxlLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7XG4gICAgICB2Y
11714XIgZGlzcGxheSA9IGV4cGFuZGVkID8gJ2dyaWQnIDogJ25vbmUnO1xuICAgICAgZ3JpZC5oaWRkZW4gPSAhZXhwYW5kZWQ7XG4gICAgICAvKiBJbmxpbmUgIWltcG9ydGFudCBvdmVycmlkZXMgYW4gYWx3YXlzLXZpc2libGUgZ3JpZCBDU1MgcnVsZS5cbiAgICAgICAgIFByZXNlcnZlIHRoZSBvcmlnaW5hbCBwcm9kdWN0IGVsZW1lbnRzIGFuZCB0aGVpciBBZGQgYnV0dG9ucy4gKi9cbiAgICAgIGlmIChncmlkLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2Rpc3BsYXknKSAhPT0gZGlzcGxheSB8fFxuICAgICAgICAgIGdyaWQuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnZGlzcGxheScpICE9PSAnaW1wb3J0YW50Jykge1xuICAgICAgICBncmlkLnN0eWxlLnNldFByb3BlcnR5KCdkaXNwbGF5JywgZGlzcGxheSwgJ2ltcG9ydGFudCcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gc2NoZWR1bGVSZWZyZXNoKCkge1xuICAgIGlmIChxdWV1ZWQpIHJldHVybjtcbiAgICBxdWV1ZWQgPSB0cnVlO1xuICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgcXVldWVkID0gZmFsc2U7XG4gICAgICByZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiB0b3VjaGVzUmVjb21tZW5kYXRpb25zKG5vZGUpIHtcbiAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSA9PT0gMSAmJiAoXG4gICAgICBub2RlLm1hdGNoZXMobW9kdWxlU2VsZWN0b3IpIHx8XG4gICAgICBub2RlLmNsb3Nlc3QobW9kdWxlU2VsZWN0b3IpIHx8XG4gICAgICBub2RlLnF1ZXJ5U2VsZWN0b3IobW9kdWxlU2VsZWN0b3IpXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN0YXJ0KCkge1xuICAgIHJlZnJlc2goKTtcbiAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAocmVjb3Jkcykge1xuICAgICAgdmFyIHJlbGV2YW50ID0gcmVjb3Jkcy5zb21lKGZ1bmN0aW9uIChyZWNvcmQpIHtcbiAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgICByZXR1cm4gcmVjb3JkLnRhcmdldC5tYXRjaGVzKHRpdGxlU2VsZWN0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b3VjaGVzUmVjb21tZW5kYXRpb25zKHJlY29yZC50YXJnZXQpIHx8XG4gICAgICAgICAgQXJyYXkuZnJvbShyZWNvcmQuYWRkZWROb2Rlcykuc29tZSh0b3VjaGVzUmVjb21tZW5kYXRpb25zKSB8fFxuICAgICAgICAgIEFycmF5LmZyb20ocmVjb3JkLnJlbW92ZWROb2Rlcykuc29tZSh0b3VjaGVzUmVjb21tZW5kYXRpb25zKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlbGV2YW50KSBzY2hlZHVsZVJlZnJlc2goKTtcbiAgICB9KTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2FyaWEtZXhwYW5kZWQnXVxuICAgIH0pO1xuICB9XG5cbiAgd2luZG93LmNhbGlzdGFVcGNhcnRSZWNvbW1lbmRhdGlvbnNGaXggPSB7IHJlZnJlc2g6IHJlZnJlc2ggfTtcbiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJykge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBzdGFydCwgeyBvbmNlOiB0cnVlIH0pO1xuICB9IGVsc2Uge1xuICAgIHN0YXJ0KCk7XG4gIH1cbn0pKCk7XG48L3NjcmlwdD4ifQ=="); 11715 if (val === '') { 11716 val = b64DecodeUnicode("eyJhYm92ZUZvb3RlciI6IiIsImFib3ZlSGVhZGVyIjoiIiwiYmVsb3dIZWFkZXIiOiIiLCJiZXR3ZWVuTGluZUl0ZW1zIjoiIiwiYmVsb3dDYXJ0SXRlbXMiOiIiLCJhYm92ZUNoZWNrb3V0QnV0dG9uIjoiIiwiYmVsb3dDaGVja291dEJ1dHRvbiI6IiIsImJvdHRvbU9mQ2FydCI6IiIsIm9uRW1wdHlDYXJ0IjoiIiwic2NyaXB0c0JlZm9yZUxvYWQiOiIifQ=="); 11717 } 11718 val = JSON.parse(val); 11719 window.upcartSettings.upcartSettings.htmlFields = val; 11720 11721 val = b64DecodeUnicode("dHJ1ZQ=="); 11722 if (val === '') { 11723 val = b64DecodeUnicode("dHJ1ZQ=="); 11724 } 11725 val = JSON.parse(val); 11726 window.upcartSettings.upcartSettings.automaticDiscount = val; 11727 11728 val = b64DecodeUnicode("ZmFsc2U="); 11729 if (val === '') { 11730 val = b64DecodeUnicode("ZmFsc2U="); 11731 } 11732 val = JSON.parse(val); 11733 window.upcartSettings.upcartSettings.basePriceForDiscount = val; 11734 11735 val = b64DecodeUnicode("dHJ1ZQ=="); 11736 if (val === '') { 11737 val = b64DecodeUnicode("ZmFsc2U="); 11738 } 11739 val = JSON.parse(val); 11740 window.upcartSettings.upcartSettings.hideSingleUnderscoredProperties = val; 11741 11742 val = b64DecodeUnicode("ZmFsc2U="); 11743 if (val === '') { 11744 val = b64DecodeUnicode("ZmFsc2U="); 11745 } 11746 val = JSON.parse(val); 11747 window.upcartSettings.upcartSettings.showContinueShoppingButton = val; 11748 11749 val = b64DecodeUnicode("ZmFsc2U="); 11750 if (val === '') { 11751 val = b64DecodeUnicode("ZmFsc2U="); 11752 } 11753 val = JSON.parse(val); 11754 window.upcartSettings.upcartSettings.ajaxRaceConditionPrevention = val; 11755 11756 val = b64DecodeUnicode("ZmFsc2U="); 11757 if (val === '') { 11758 val = b64DecodeUnicode("ZmFsc2U="); 11759 } 11760 val = JSON.parse(val); 11761 window.upcartSettings.upcartSettings.htmlFieldForceReRender = val; 11762 11763 val = b64DecodeUnicode("ZmFsc2U="); 11764 if (val === '') { 11765 val = b64DecodeUnicode("ZmFsc2U="); 11766 } 11767 val = JSON.parse(val); 11768 window.upcartSettings.upcartSettings.skipGoogleFonts = val; 11769 11770 val = b64DecodeUnicode("ZmFsc2U="); 11771 if (val === '') { 11772 val = b64DecodeUnicode("ZmFsc2U="); 11773 } 11774 val = JSON.parse(val); 11775 window.upcartSettings.upcartSettings.overrideScrollLocking = val; 11776 11777 val = b64DecodeUnicode("MTAw"); 11778 if (val === '') { 11779 val = b64DecodeUnicode("MTAw"); 11780 } 11781 window.upcartSettings.upcartSettings.trafficAllocationPercent = val; 11782 11783 val = b64DecodeUnicode("ZmFsc2U="); 11784 if (val === '') { 11785 val = b64DecodeUnicode("ZmFsc2U="); 11786 } 11787 val = JSON.parse(val); 11788 window.upcartSettings.upcartSettings.renderCartInShadowDom = val; 11789 11790 val = b64DecodeUnicode("dHJ1ZQ=="); 11791 if (val === '') { 11792 val = b64DecodeUnicode("ZmFsc2U="); 11793 } 11794 val = JSON.parse(val); 11795 window.upcartSettings.upcartSettings.cartEventTracking = val; 11796 11797 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 11798 if (val === '') { 11799 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 11800 } 11801 val = JSON.parse(val); 11802 window.upcartSettings.upcartSettings.openCartButtonSelection = val; 11803 11804 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 11805 if (val === '') { 11806 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 11807 } 11808 val = JSON.parse(val); 11809 window.upcartSettings.upcartSettings.addToCartButtonSelection = val; 11810 11811 val = b64DecodeUnicode("bGluZQ=="); 11812 if (val === '') { 11813 val = b64DecodeUnicode("bGluZQ=="); 11814 } 11815 window.upcartSettings.upcartSettings.updateItemIdentifier = val; 11816 11817 val = b64DecodeUnicode("LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ2FsaXN0YSDigJQgVXBjYXJ0IFYyIEN1c3RvbSBDU1MKCiAgIFVQREFURUQ6IDIwMjYtMDktMTcKCiAgIEN1cnJlbnQgdHJlYXRtZW50OgogICAtIENvbXBhY3QgY2FydCB0eXBvZ3JhcGh5L2xheW91dAogICAtICJBZGQgUmVjb21tZW5kZWQgUHJvZHVjdHMiIGRpcmVjdGx5IGJlbG93IGNhcnQgaXRlbXMKICAgLSBSZWNvbW1lbmRhdGlvbnMgY29sbGFwc2VkIGJ5IGRlZmF1bHQgdXNpbmcgdGhlIGV4aXN0aW5nIHRvZ2dsZSBzY3JpcHQKICAgLSBDb3Vwb24gZW50cnkgZXhwYW5kcyBmcm9tIGEgY29tcGFjdCB0ZXh0IHJvdyAoY29tcGFuaW9uIHNjcmlwdCByZXF1aXJlZCkKICAgLSBTdGFuZGFyZCBjaGVja291dCBkaXNwbGF5ZWQgYWJvdmUgcGFpZCBDaGVja291dCsKICAgLSAyLXVwIHJlY29tbWVuZGF0aW9uIGdyaWQKICAgLSBEaXZpZG
11817VyIGJldHdlZW4gY2FydCBpdGVtcyBhbmQgcmVjb21tZW5kYXRpb25zCiAgIC0gUHJldmVudHMgVXBjYXJ0IGJvdHRvbU1vZHVsZXMgd3JhcHBlciBmcm9tCiAgICAgYW5jaG9yaW5nIHJlY29tbWVuZGF0aW9ucyB0byBib3R0b20gb2YgZHJhd2VyCgogICBXQVJOSU5HOgogICAudXBjYXJ0LWludGVybmFsLSogYW5kIFtjbGFzcyo9Ii4uLiJdCiAgIHNlbGVjdG9ycyBhcmUgdW5kb2N1bWVudGVkIFVwY2FydCBjbGFzc2VzIGFuZAogICBjb3VsZCBjaGFuZ2UgYWZ0ZXIgYW4gVXBjYXJ0IHVwZGF0ZS4KCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSUNPTlMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCltjbGFzcyo9InVwY2FydC1wdWJsaWMtY29tcG9uZW50Il0gc3ZnLApbY2xhc3MqPSJ1cGNhcnQtcHVibGljLWNvbXBvbmVudCJdIHN2ZyBwYXRoIHsKICBmaWxsOiAjMzMzMjJFICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDQVJUIElURU0gSU1BR0VTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudXBjYXJ0LXB1YmxpYy1jb21wb25lbnQtcHJvZHVjdC10aWxlX19pbWFnZS13cmFwcGVyIHsKICB3aWR0aDogODhweCAhaW1wb3J0YW50OwogIG1pbi13aWR0aDogODhweCAhaW1wb3J0YW50OwogIG1heC13aWR0aDogODhweCAhaW1wb3J0YW50OwoKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi51cGNhcnQtcHVibGljLWNvbXBvbmVudC1wcm9kdWN0LXRpbGVfX2ltYWdlIHsKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwoKICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBUWVBPR1JBUEhZCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoKLyogQ2FydCBoZWFkZXIgKi8KCi51cGNhcnQtaW50ZXJuYWwtaGVhZGVyIGgzIHsKICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7CgogIG1hcmdpbjogMCAhaW1wb3J0YW50Owp9CgoKLyogUmV3YXJkcyAvIGZyZWUgZ2lmdCBtZXNzYWdlICovCgoudXBjYXJ0LWludGVybmFsLXJld2FyZHNfX21lc3NhZ2UgcCB7CiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OwoKICBtYXJnaW46IDAgIWltcG9ydGFudDsKfQoKCi8qIEdlbmVyaWMgc2VjdGlvbiB0aXRsZXMgKi8KCi51cGNhcnQtaW50ZXJuYWwtc3R5bGVfX3RpdGxlLWxhcmdlIHsKICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7CgogIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50Owp9CgoKLyogQ2FydCBwcm9kdWN0IHRpdGxlICovCgoudXBjYXJ0LWludGVybmFsLWNvbXBvbmVudC1wcm9kdWN0LXRpbGVfX3Byb2R1Y3QtdGl0bGUgewogIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OwogIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogMS4yNSAhaW1wb3J0YW50OwoKICBtYXJnaW46IDAgMCAycHggIWltcG9ydGFudDsKfQoKCi8qIENhcnQgcHJvZHVjdCBwcmljZSArIHF1YW50aXR5ICovCgoudXBjYXJ0LWludGVybmFsLWNvbXBvbmVudC1wcm9kdWN0LXRpbGVfX3ByaWNlLAoudXBjYXJ0LWludGVybmFsLWNvbXBvbmVudC1wcm9kdWN0LXRpbGVfX3F1YW50aXR5LXNlbGVjdG9yIGlucHV0IHsKICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDsKfQoKCi8qIFByb2R1Y3Qgb3B0aW9ucyAqLwoKLnVwY2FydC1pbnRlcm5hbC1jYXJ0LWl0ZW1zX19rZXktdmFsdWUtcGFpciB7CiAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7Cn0KCgovKiBVcHNlbGwgcHJvZHVjdCB0aXRsZSArIHByaWNlICovCgoudXBjYXJ0LWludGVybmFsLWNvbXBvbmVudC11cHNlbGwtdGlsZV9fdGl0bGUsCi51cGNhcnQtaW50ZXJuYWwtY29tcG9uZW50LXVwc2VsbC10aWxlX19wcmljZSB7CiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50OwogIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7CgogIG1hcmdpbjogMCAhaW1wb3J0YW50Owp9CgoKLyogVXBzZWxsIEFkZCBidXR0b24gKi8KCi51cGNhcnQtaW50ZXJuYWwtY29tcG9uZW50LXVwc2VsbC10aWxlCi51cGNhcnQtaW50ZXJuYWwtY29tcG9uZW50X19idXR0b24gewogIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50OwoKICBwYWRkaW5nOiAxMnB4IDEwcHggIWltcG9ydGFudDsKfQoKCi8qIENhcnQgc3VidG90YWwgKi8KCltjbGFzcyo9IkZvb3Rlcl9fY2FydFN1YnRvdGFsVGl0bGUiXSwKW2NsYXNzKj0iRm9vdGVyX19jYXJ0U3VidG90YWxWYWx1ZSJdIHsKICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHRU5FUkFMIENBUlQgU1BBQ0lORwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKCi8qIEhlYWRlciAqLwoKLnVwY2FydC1pbnRlcm5hbC1oZWFkZXIgewogIHBhZGRpbmc6IDEycHggMTRweCAhaW1wb3J0YW50Owp9CgoKLyogUmV3YXJkcyAvIGZyZWUgZ2lmdCBwcm9ncmVzcyAqLwoKLnVwY2FydC1pbnRlcm5hbC1yZXdhcmRzIHsKICBwYWRkaW5nOiAxNHB4IDMwcHggMjBweCAhaW1wb3J0YW50Owp9CgoKLyogSW5kaXZpZHVhbCBjYXJ0IHByb2R1Y3QgKi8KCi51cGNhcnQtaW50ZXJuYWwtY29tcG9uZW50LXByb2R1Y3QtdGlsZSB7CiAgcGFkZGluZy10b3A6IDE0cHggIWltcG9ydGFudDsKICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OwoKICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7Cn0KCgovKiBGb290ZXIgKi8KCltjbGFzc349InN0eWxlc19Gb290ZXJfXyJdIHsKICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDsKfQoKW2NsYXNzKj0iRm9vdGVyX19jYXJ0U3VtbWFyeVNlY3Rpb24iXSB7CiAgcGFkZGluZy10b3A6IDRweCAhaW1wb3J0YW50OwogIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIE1BSU4gQ0FSVCBJVEVNUwoKICAgUHJldmVudCBjYXJ0IGl0ZW1zIGFyZWEgZnJvbSBzdHJldGNoaW5nLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnVwY2FydC1wdWJsaWMtY2FydC1pdGVtcywKLnVwY2FydC1pbnRlcm5hbC1jYXJ0LWl0ZW1zIHsKICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50OwoKICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsKICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwoKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwoKICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OwoKICBtYXJnaW46IDAgIWltcG9ydGFudDsKCiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50Owp9CgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgVVBDQVJUIEJPVFRPTSBNT0RVTEVTIFBPU0lUSU9OSU
118175HIEZJWAoKICAgUHJldmVudCByZWNvbW1lbmRhdGlvbnMgZnJvbSBiZWluZyBhbmNob3JlZAogICB0byB0aGUgYm90dG9tIG9mIHRoZSBjYXJ0IGRyYXdlci4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCltjbGFzcyo9IkNhcnRQcmV2aWV3X19ib3R0b21Nb2R1bGVzIl0gewogIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKCiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICBib3R0b206IGF1dG8gIWltcG9ydGFudDsKICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CgogIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CgogIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7CiAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7CiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKCiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OwoKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwoKICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OwoKICBtYXJnaW46IDAgIWltcG9ydGFudDsKICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwoKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CgogIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwoKICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7CgogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFNUU1ICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBQQVJFTlQgT0YgQk9UVE9NIE1PRFVMRVMKCiAgIEJhY2t1cCBvdmVycmlkZSBpbiBjYXNlIFVwY2FydCBpcyB1c2luZwogICBqdXN0aWZ5LWNvbnRlbnQgLyBmbGV4IHNwYWNpbmcgb24gdGhlIHBhcmVudC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCio6aGFzKD4gW2NsYXNzKj0iQ2FydFByZXZpZXdfX2JvdHRvbU1vZHVsZXMiXSkgewogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKKjpoYXMoPiBbY2xhc3MqPSJDYXJ0UHJldmlld19fYm90dG9tTW9kdWxlcyJdKQo+IFtjbGFzcyo9IkNhcnRQcmV2aWV3X19ib3R0b21Nb2R1bGVzIl0gewogIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKCiAgZmxleDogMCAwIGF1dG8gIWltcG9ydGFudDsKICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFJFQ09NTUVOREVEIFBST0RVQ1RTIENPTlRBSU5FUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnVwY2FydC1wdWJsaWMtdXBzZWxsLAoudXBjYXJ0LWludGVybmFsLXVwc2VsbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CgogIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7CgogIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CgogIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsKCiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKCiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50OwogIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsKCiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwoKICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7CgogIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoKICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBBREQgUkVDT01NRU5ERUQgUFJPRFVDVFMgQUNDT1JESU9OIEhFQURJTkcKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi51cGNhcnQtcHVibGljLXVwc2VsbF9fdGl0bGUsCi51cGNhcnQtaW50ZXJuYWwtdXBzZWxsX190aXRsZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CgogIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKCiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwoKICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50OwoKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwoKICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICBtaW4taGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7CgogIG1hcmdpbjogMCAhaW1wb3J0YW50OwoKICBwYWRkaW5nOiAxMXB4IDIwcHggIWltcG9ydGFudDsKCiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OwoKICBjb2xvcjogIzMzMzIyRSAhaW1wb3J0YW50OwoKICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7CiAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDsKCiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OwoKICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKCiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50Owp9CgoKLyogT3ZlcnJpZGUgZ2VuZXJpYyBVcGNhcnQgdGl0bGUgc3R5bGVzICovCgoudXBjYXJ0LXB1YmxpYy11cHNlbGxfX3RpdGxlLnVwY2FydC1pbnRlcm5hbC1zdHlsZV9fdGl0bGUtbGFyZ2UsCi51cGNhcnQtcHVibGljLXVwc2VsbF9fdGl0bGUudXBjYXJ0LWludGVybmFsLXN0eWxlX190aXRsZSB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CgogIHBhZGRpbmc6IDExcHggMjBweCAhaW1wb3J0YW50OwoKICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7CiAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDsKfQoKCi8qIEFjdHVhbCBoZWFkaW5nIHRleHQgKi8KCi51cGNhcnQtcHVibGljLXVwc2VsbF9fdGl0bGUgcCB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwoKICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7CiAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDsKCiAgY29sb3I6ICMzMzMyMkUgIWltcG9ydGFudDsKCiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Owp9CgoKLyogQ2hldnJvbiBmb2xsb3dzIHRoZSBleGlzdGluZyBzY3JpcHQncyBhcmlhLWV4cGFuZGVkIHN0YXRlLiAqLwoudXBjYXJ0LXB1YmxpYy11cHNlbGxfX3RpdGxlOjphZnRlciB7CiAgY29udGVudDogIiIgIWltcG9ydGFudDsKICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKICBmbGV4OiAwIDAgN3B4ICFpbXBvcnRhbnQ7CiAgd2lkdGg6IDdweCAhaW1wb3J0YW50OwogIGhlaWdodDogN3B4ICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwIDJweCAzcHggMTJweCAhaW1wb3J0YW50OwogIGJvcmRlcjogc29saWQgIzMzMzIyRSAhaW1wb3J0YW50OwogIGJvcmRlci13aWR0aDogMCAxLjVweCAxLjVweCAwICFpbXBvcnRhbnQ7CiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2UgIWltcG9ydGFudDsKfQoKLnVwY2FydC1wdWJsaWMtdXBzZWxsX190aXRsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl06OmFmdGVyIHsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpICFpbXBvcnRhbnQ7CiAgbWFyZ2luLWJvdHRvbTogLTNweCAhaW1wb3J0YW50Owp9CgoudXBjYXJ0LXB1YmxpYy11cHNlbGxfX3RpdGxlOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDJweCBzb2xpZCAjMzMzMjJFICFpbXBvcnRhbnQ7CiAgb3V0bGluZS1vZmZzZXQ6IC0zcHggIWltcG9ydGFudDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFJFQ09NTUVOREFUSU9OIEdSSUQKICAgVklTSUJMRSBXSEVOIEVYUEFOREVECiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudXBjYXJ0LXB1YmxpYy11cHNlbGxfX3ZlcnRpY2FsLWxheW91dC13cmFwcGVyLAoudXBjYXJ0LWludGVybmFsLXVwc2VsbF9fdmVydGljYWwtbGF5b3V0LXdyYXBwZXIgewogIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOgogICAgbWlubWF4KDAsIDFmcikKICAgIG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7CgogIGdhcDogOHB4ICFpbXBvcnRhbnQ7CgogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CgogIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsKICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7CgogIG1hcmdpbjogMCAhaW1wb3J0YW50OwoKICBwYWRkaW5nOgogICAgMTBweAogICAgMTJweAogICAgMTRweCAhaW1wb3J0YW50OwoKICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7CgogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUZFRkVGICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU1RTUgIWltcG9ydGFudDsKCiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKCiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50Owp9CgoKLyogSGlkZSBvbmx5IHdoZW4gdGhlIHdvcmtpbmcgZHJvcGRvd24gY29udHJvbCBpcyBpbml0aWFsaXplZC4KICAgSWYgdGhhdCBzY3JpcHQgaXMgdW5hdmFpbGFibGUsIHJlY29tbWVuZGF0aW9ucyByZW1haW4gYWNjZXNzaWJsZS4gKi8KLnVwY2FydC1wdWJsaWMtdXBzZWxsX190aXRsZVthcmlhLWV4cGFuZGVkPSJmYWxzZSJdCn4gLnVwY2FydC1wdWJsaWMtdXBzZWxsX192ZXJ0aWNhbC1sYXlvdXQtd3JhcHBlciwKLnVwY2FydC1pbnRlcm5hbC11cHNlbGxfX3RpdGxlW2FyaWEtZXhwYW5kZWQ9ImZhbHNlIl0KfiAudXBjYXJ0LWludGVybmFsLXVwc2VsbF9fdmVydGljYWwtbGF5b3V0LXdyYXBwZXIgewogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBST0RVQ1QgR1JJRCBXUkFQUEVSUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnVwY2FydC1wdWJsaWMtdXBzZWxsX192ZXJ0aWNhbC1sYXlvdXQtd3JhcHBlciA+IGRpdiwKLnVwY2FydC1wdWJsaWMtdXBzZWxsX192ZXJ0aWNhbC1sYXlvdXQtd3JhcHBlciA+IGRpdiA+IGRpdiwKLnVwY2FydC1pbnRlcm5hbC11cHNlbGxfX3ZlcnRpY2FsLWxheW91dC13cmFwcGVyID4gZGl2LAoudXBjYXJ0LWludGVybmFsLXVwc2VsbF9fdmVydGljYWwtbGF5b3V0LXdyYXBwZXIgPiBkaXYgPiBkaXYgewogIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFVQU0VMTCBQUk9EVUNUIENBUkRTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudXBjYXJ0LXB1YmxpYy1jb21wb25lbnQtdXBzZWxsLXRpbGUgewogIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW
118171zOiBzdHJldGNoICFpbXBvcnRhbnQ7CgogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7CgogIG1hcmdpbjogMCAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDsKCiAgZ2FwOiA0cHggIWltcG9ydGFudDsKCiAgYmFja2dyb3VuZDogI0Y3RjdGNyAhaW1wb3J0YW50OwoKICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBVUFNFTEwgUFJPRFVDVCBJTUFHRQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnVwY2FydC1wdWJsaWMtY29tcG9uZW50LXVwc2VsbC10aWxlX19pbWFnZS1jb250YWluZXIgewogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CgogIG1hcmdpbjogMCAhaW1wb3J0YW50OwoKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi51cGNhcnQtcHVibGljLWNvbXBvbmVudC11cHNlbGwtdGlsZV9faW1hZ2UgewogIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CgogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CgogIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDsKfQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFVQU0VMTCBQUk9EVUNUIElORk9STUFUSU9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudXBjYXJ0LXB1YmxpYy1jb21wb25lbnQtdXBzZWxsLXRpbGVfX2luZm8gewogIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKCiAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CgogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CgogIG1pbi13aWR0aDogMCAhaW1wb3J0YW50Owp9CgoKLyogUHJvZHVjdCB0aXRsZSAqLwoKLnVwY2FydC1wdWJsaWMtY29tcG9uZW50LXVwc2VsbC10aWxlX190aXRsZSB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CgogIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogMS4yNSAhaW1wb3J0YW50OwoKICBjb2xvcjogIzMzMzIyRSAhaW1wb3J0YW50OwoKICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7CiAgd29yZC1icmVhazogbm9ybWFsICFpbXBvcnRhbnQ7Cn0KCgovKiBQcm9kdWN0IHRpdGxlIGxpbmsgKi8KCi51cGNhcnQtcHVibGljLWNvbXBvbmVudC11cHNlbGwtdGlsZV9fdGl0bGUtbGluayB7CiAgY29sb3I6ICMzMzMyMkUgIWltcG9ydGFudDsKCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cn0KCgovKiBQcmljZSByb3cgKi8KCi51cGNhcnQtcHVibGljLWNvbXBvbmVudC11cHNlbGwtdGlsZV9fcHJpY2Utcm93IHsKICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsKfQoKCi8qIFByaWNlICovCgoudXBjYXJ0LXB1YmxpYy1jb21wb25lbnQtdXBzZWxsLXRpbGVfX3ByaWNlIHsKICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7CiAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDsKCiAgY29sb3I6ICMzMzMyMkUgIWltcG9ydGFudDsKfQoKCi8qIEtlZXAgY29udHJvbHMgYXQgYm90dG9tIG9mIGNhcmQgKi8KCi51cGNhcnQtcHVibGljLWNvbXBvbmVudC11cHNlbGwtdGlsZV9fdmFyaWFudC1yb3cgewogIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKfQoKCi8qIEFkZCBidXR0b24gKi8KCi51cGNhcnQtcHVibGljLWNvbXBvbmVudC11cHNlbGwtdGlsZQoudXBjYXJ0LXB1YmxpYy1jb21wb25lbnRfX2J1dHRvbiB7CiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKCiAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CgogIHBhZGRpbmc6IDEycHggMTBweCAhaW1wb3J0YW50Owp9CgoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTU9CSUxFCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewoKICAvKiBIZWFkaW5nICovCgogIC51cGNhcnQtcHVibGljLXVwc2VsbF9fdGl0bGUsCiAgLnVwY2FydC1wdWJsaWMtdXBzZWxsX190aXRsZS51cGNhcnQtaW50ZXJuYWwtc3R5bGVfX3RpdGxlLWxhcmdlLAogIC51cGNhcnQtcHVibGljLXVwc2VsbF9fdGl0bGUudXBjYXJ0LWludGVybmFsLXN0eWxlX190aXRsZSB7CiAgICBtaW4taGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7CgogICAgcGFkZGluZzogMTFweCAxNnB4ICFpbXBvcnRhbnQ7CiAgfQoKCiAgLyogUmVjb21tZW5kYXRpb24gZ3JpZCAqLwoKICAudXBjYXJ0LXB1YmxpYy11cHNlbGxfX3ZlcnRpY2FsLWxheW91dC13cmFwcGVyLAogIC51cGNhcnQtaW50ZXJuYWwtdXBzZWxsX192ZXJ0aWNhbC1sYXlvdXQtd3JhcHBlciB7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6CiAgICAgIG1pbm1heCgwLCAxZnIpCiAgICAgIG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7CgogICAgZ2FwOiA4cHggIWltcG9ydGFudDsKCiAgICBwYWRkaW5nOgogICAgICAxMHB4CiAgICAgIDEwcHgKICAgICAgMTRweCAhaW1wb3J0YW50OwogIH0KCgogIC8qIFJlY29tbWVuZGF0aW9uIGNhcmRzICovCgogIC51cGNhcnQtcHVibGljLWNvbXBvbmVudC11cHNlbGwtdGlsZSB7CiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDsKICB9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENPVVBPTiBBQ0NPUkRJT04KICAgQ29tcGFuaW9uIHNjcmlwdCBjcmVhdGVzIHRoZSB0ZXh0LXJvdyBidXR0b24uCiAgIE9ubHkgdGhlIGVudHJ5IGZvcm0gaXMgY29sbGFwc2VkOyBhcHBsaWVkIGRpc2NvdW50CiAgIGxhYmVscywgc2F2aW5ncyBhbmQgbWVzc2FnZXMgcmVtYWluIG91dHNpZGUgaXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudXBjYXJ0LXB1YmxpYy1kaXNjb3VudC1jb2RlLmNhbGlzdGEtY291cG9uLWFjY29yZGlvbiB7CiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50OwogIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKfQoKLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZSAuY2FsaXN0YS1jb3Vwb24tdG9nZ2xlIHsKICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7CiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW
118171zOiBjZW50ZXIgIWltcG9ydGFudDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICBnYXA6IDEycHggIWltcG9ydGFudDsKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDsKICBtYXJnaW46IDAgIWltcG9ydGFudDsKICBwYWRkaW5nOiAxMHB4IDAgIWltcG9ydGFudDsKICBib3JkZXI6IDAgIWltcG9ydGFudDsKICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CiAgY29sb3I6ICMzMzMyMkUgIWltcG9ydGFudDsKICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50OwogIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7CiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhaW1wb3J0YW50OwogIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50Owp9CgoudXBjYXJ0LXB1YmxpYy1kaXNjb3VudC1jb2RlIC5jYWxpc3RhLWNvdXBvbi10b2dnbGU6OmJlZm9yZSB7CiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgoudXBjYXJ0LXB1YmxpYy1kaXNjb3VudC1jb2RlIC5jYWxpc3RhLWNvdXBvbi10b2dnbGU6OmFmdGVyIHsKICBjb250ZW50OiAiIiAhaW1wb3J0YW50OwogIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OwogIGZsZXg6IDAgMCA3cHggIWltcG9ydGFudDsKICB3aWR0aDogN3B4ICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiA3cHggIWltcG9ydGFudDsKICBtYXJnaW46IDAgMnB4IDNweCAwICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiBzb2xpZCAjMzMzMjJFICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXdpZHRoOiAwIDEuNXB4IDEuNXB4IDAgIWltcG9ydGFudDsKICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgIWltcG9ydGFudDsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZSAhaW1wb3J0YW50Owp9CgoudXBjYXJ0LXB1YmxpYy1kaXNjb3VudC1jb2RlIC5jYWxpc3RhLWNvdXBvbi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdOjphZnRlciB7CiAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IC0zcHggIWltcG9ydGFudDsKfQoKLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZSAuY2FsaXN0YS1jb3Vwb24tdG9nZ2xlOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDJweCBzb2xpZCAjMzMzMjJFICFpbXBvcnRhbnQ7CiAgb3V0bGluZS1vZmZzZXQ6IC0ycHggIWltcG9ydGFudDsKfQoKLyogSGlkZSBvbmx5IGFmdGVyIHRoZSBjb21wYW5pb24gc2NyaXB0IGhhcyBpbnN0YWxsZWQgYSB3b3JraW5nIGJ1dHRvbi4gKi8KLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZS5jYWxpc3RhLWNvdXBvbi1hY2NvcmRpb24KLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZV9fZm9ybVtoaWRkZW5dIHsKICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi51cGNhcnQtcHVibGljLWRpc2NvdW50LWNvZGUuY2FsaXN0YS1jb3Vwb24tYWNjb3JkaW9uCi51cGNhcnQtcHVibGljLWRpc2NvdW50LWNvZGVfX2Zvcm06bm90KFtoaWRkZW5dKSB7CiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIGdhcDogOHB4ICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwIDAgOHB4ICFpbXBvcnRhbnQ7Cn0KCi51cGNhcnQtcHVibGljLWRpc2NvdW50LWNvZGUuY2FsaXN0YS1jb3Vwb24tYWNjb3JkaW9uCi51cGNhcnQtcHVibGljLWRpc2NvdW50LWNvZGVfX2lucHV0LXdyYXBwZXIgewogIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7Cn0KCi51cGNhcnQtcHVibGljLWRpc2NvdW50LWNvZGUuY2FsaXN0YS1jb3Vwb24tYWNjb3JkaW9uCi51cGNhcnQtcHVibGljLWRpc2NvdW50LWNvZGVfX2lucHV0IHsKICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50Owp9CgoudXBjYXJ0LXB1YmxpYy1kaXNjb3VudC1jb2RlLmNhbGlzdGEtY291cG9uLWFjY29yZGlvbgoudXBjYXJ0LXB1YmxpYy1kaXNjb3VudC1jb2RlX19idXR0b24gewogIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7CiAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50OwogIG1pbi13aWR0aDogNzZweCAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDEwcHggMTRweCAhaW1wb3J0YW50OwogIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsKICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7Cn0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBMT09QIENIRUNLT1VUKyBCVVRUT04gT1JERVIKICAgVmlzdWFsIG9yZGVyIG9ubHk7IGV4aXN0aW5nIExvb3AgYWN0aW9ucyByZXRhaW5lZC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi51cGNhcnQtY2hlY2tvdXQtYnV0dG9uLWNvbnRhaW5lciBjaGVja291dC1wbHVzOjpwYXJ0KHByb2R1Y3QtaW5mbykgewogIG9yZGVyOiAwICFpbXBvcnRhbnQ7Cn0KCi51cGNhcnQtY2hlY2tvdXQtYnV0dG9uLWNvbnRhaW5lciBjaGVja291dC1wbHVzOjpwYXJ0KHNlY29uZGFyeS1idXR0b24pIHsKICBvcmRlcjogMSAhaW1wb3J0YW50Owp9CgoudXBjYXJ0LWNoZWNrb3V0LWJ1dHRvbi1jb250YWluZXIgY2hlY2tvdXQtcGx1czo6cGFydChwcmltYXJ5LWJ1dHRvbikgewogIG9yZGVyOiAyICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLnVwY2FydC1wdWJsaWMtdXBzZWxsX190aXRsZTo6YWZ0ZXIsCiAgLnVwY2FydC1wdWJsaWMtZGlzY291bnQtY29kZSAuY2FsaXN0YS1jb3Vwb24tdG9nZ2xlOjphZnRlciB7CiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgfQp9"); 11818 if (val === '') { 11819 val = b64DecodeUnicode("Knt9"); 11820 }
11821 window.upcartSettings.upcartSettings.customCSS = val; 11822 11823 val = b64DecodeUnicode("Knt9"); 11824 if (val === '') { 11825 val = b64DecodeUnicode("Knt9"); 11826 } 11827 window.upcartSettings.upcartSettings.customStickyCartCSS = val; 11828 11829 val = b64DecodeUnicode("ZmFsc2U="); 11830 if (val === '') { 11831 val = b64DecodeUnicode("ZmFsc2U="); 11832 } 11833 val = JSON.parse(val); 11834 window.upcartSettings.upcartSettings.integrationZapietEnabled = val; 11835 11836 val = b64DecodeUnicode("ZmFsc2U="); 11837 if (val === '') { 11838 val = b64DecodeUnicode("ZmFsc2U="); 11839 } 11840 val = JSON.parse(val); 11841 window.upcartSettings.upcartSettings.integrationYmqEnabled = val; 11842 11843 val = b64DecodeUnicode("eyJzdGF0dXMiOiJESVNBQkxFRCJ9"); 11844 if (val === '') { 11845 val = b64DecodeUnicode("eyJzdGF0dXMiOiJESVNBQkxFRCJ9"); 11846 } 11847 val = JSON.parse(val); 11848 window.upcartSettings.upcartSettings.customCartBundleInfo = val; 11849 11850 val = b64DecodeUnicode("ZGlzY291bnRfb25seQ=="); 11851 if (val === '') { 11852 val = b64DecodeUnicode("ZGlzY291bnRfb25seQ=="); 11853 } 11854 window.upcartSettings.upcartSettings.savingsRowBehaviour = val; 11855 11856 val = b64DecodeUnicode("W10="); 11857 if (val === '') { 11858 val = b64DecodeUnicode("W10="); 11859 } 11860 val = JSON.parse(val); 11861 window.upcartSettings.upcartSettings.activeCartIds = val; 11862 11863 val = b64DecodeUnicode("dHJ1ZQ=="); 11864 if (val === '') { 11865 val = b64DecodeUnicode("dHJ1ZQ=="); 11866 } 11867 val = JSON.parse(val); 11868 window.upcartSettings.upcartEditorSettings.cartIsEnabled = val; 11869 11870 val = b64DecodeUnicode("MmYyMjFjNTYtOGJkNi00MDEwLWE3NDUtNTA4MjM2MTYwZjZh"); 11871 if (val === '') { 11872 val = b64DecodeUnicode(""); 11873 } 11874 window.upcartSettings.upcartEditorSettings.cartId = val; 11875 11876 val = b64DecodeUnicode("eyJmaWVsZHMiOnsiY29tcGFyZUF0UHJpY2UiOnRydWUsImluaGVyaXRGb250cyI6dHJ1ZSwiYmFja2dyb3VuZENvbG9yIjoiI0ZGRkZGRiIsImNhcnRBY2NlbnRDb2xvciI6IiNmNmY2ZjciLCJidXR0b25Db2xvciI6IiMwMDAwMDAiLCJidXR0b25UZXh0Q29sb3IiOiIjRkZGRkZGIiwiYnV0dG9uVGV4dEhvdmVyQ29sb3IiOiIjZTllOWU5IiwiY2FydFRleHRDb2xvciI6IiMwMDAwMDAiLCJidXR0b25Sb3VuZGVkQ29ybmVyc1NpemUiOjAsImVuYWJsZVN1YnRvdGFsTGluZSI6dHJ1ZSwic3VidG90YWxUZXh0Q29sb3IiOiIjMDAwMDAwIiwiY2FydFdpZHRoIjp7ImRlc2t0b3AiOiJiYXNlIiwibW9iaWxlIjoiZnVsbCJ9fX0="); 11877 if (val === '') { 11878 val = b64DecodeUnicode("eyJmaWVsZHMiOnsiY29tcGFyZUF0UHJpY2UiOnRydWUsImluaGVyaXRGb250cyI6dHJ1ZSwiYmFja2dyb3VuZENvbG9yIjoiI0ZGRkZGRiIsImNhcnRBY2NlbnRDb2xvciI6IiNmNmY2ZjciLCJidXR0b25Db2xvciI6IiMwMDAwMDAiLCJidXR0b25UZXh0Q29sb3IiOiIjRkZGRkZGIiwiYnV0dG9uVGV4dEhvdmVyQ29sb3IiOiIjZTllOWU5IiwiY2FydFRleHRDb2xvciI6IiMwMDAwMDAiLCJidXR0b25Sb3VuZGVkQ29ybmVyc1NpemUiOjAsImVuYWJsZVN1YnRvdGFsTGluZSI6ZmFsc2UsInN1YnRvdGFsVGV4dENvbG9yIjoiIzAwMDAwMCIsImNhcnRXaWR0aCI6eyJkZXNrdG9wIjoiYmFzZSIsIm1vYmlsZSI6ImZ1bGwifX19"); 11879 } 11880 val = JSON.parse(val); 11881 window.upcartSettings.upcartEditorSettings.settingsModule = val; 11882 11883 val = b64DecodeUnicode("I2E2NTg2Yg=="); 11884 if (val === '') { 11885 val = b64DecodeUnicode("IzJlYTgxOA=="); 11886 } 11887 window.upcartSettings.upcartEditorSettings.designSettingsCartSavingsTextColor = val; 11888 11889 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11890 if (val === '') { 11891 val = b64DecodeUnicode("MS4wLjA="); 11892 } 11893 window.upcartSettings.upcartEditorSettings.headerModuleVersion = val; 11894 11895 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11896 if (val === '') { 11897 val = b64DecodeUnicode("MS4wLjA="); 11898 } 11899 window.upcartSettings.upcartEditorSettings.announcementModuleVersion = val; 11900 11901 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11902 if (val === '') { 11903 val = b64DecodeUnicode("MS4wLjA="); 11904 } 11905 window.upcartSettings.upcartEditorSettings.upsellsModuleVersion = val; 11906 11907 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11908 if (val === '') { 11909 val = b64DecodeUnicode("MS4wLjA="); 11910 } 11911 window.upcartSettings.upcartEditorSettings.recommendationsModuleVersion = val; 11912 11913 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11914 if (val === '') { 11915 val = b64DecodeUnicode("MS4wLjA="); 11916 } 11917 window.upcartSettings.upcartEditorSettings.notesModuleVersion = val; 11918 11919 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11920 if (val === '') { 11921 val = b64DecodeUnicode("MS4wLjA="); 11922 } 11923 window.upcartSettings.upcartEditorSettings.discountCodeModuleVersion = val; 11924 11925 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11926 if (val === '') { 11927 val = b64DecodeUnicode("MS4wLjA="); 11928 } 11929 window.upcartSettings.upcartEditorSettings.trustBadgesModuleVersion = val; 11930 11931 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11932 if (val === '') { 11933 val = b64DecodeUnicode("MS4wLjA="); 11934 } 11935 window.upcartSettings.upcartEditorSettings.rewardsModuleVersion = val; 11936 11937 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11938 if (val === '') { 11939 val = b64DecodeUnicode("MS4wLjA="); 11940 } 11941 window.upcartSettings.upcartEditorSettings.cartItemsModuleVersion = val; 11942 11943 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11944 if (val === '') { 11945 val = b64DecodeUnicode("MS4wLjA="); 11946 } 11947 window.upcartSettings.upcartEditorSettings.addonsModuleVersion = val; 11948 11949 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11950 if (val === '') { 11951 val = b64DecodeUnicode("MS4wLjA="); 11952 }
11953 window.upcartSettings.upcartEditorSettings.cartSummaryModuleVersion = val; 11954 11955 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 11956 if (val === '') { 11957 val = b64DecodeUnicode("MS4wLjA="); 11958 } 11959 window.upcartSettings.upcartEditorSettings.expressPayModuleVersion = val; 11960 11961 val = b64DecodeUnicode("dHJ1ZQ=="); 11962 if (val === '') { 11963 val = b64DecodeUnicode("ZmFsc2U="); 11964 } 11965 val = JSON.parse(val); 11966 window.upcartSettings.upcartEditorSettings.customJsxTemplatesEnabled = val; 11967 11968 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11969 if (val === '') { 11970 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11971 } 11972 val = JSON.parse(val); 11973 window.upcartSettings.upcartEditorSettings.headerModuleCustomJsxTemplates = val; 11974 11975 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11976 if (val === '') { 11977 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11978 } 11979 val = JSON.parse(val); 11980 window.upcartSettings.upcartEditorSettings.announcementModuleCustomJsxTemplates = val; 11981 11982 val = b64DecodeUnicode("eyJ1cHNlbGxUaWxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11983 if (val === '') { 11984 val = b64DecodeUnicode("eyJ1cHNlbGxUaWxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11985 } 11986 val = JSON.parse(val); 11987 window.upcartSettings.upcartEditorSettings.upsellsModuleCustomJsxTemplates = val; 11988 11989 val = b64DecodeUnicode("eyJyZWNvbW1lbmRhdGlvblRpbGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwic2tlbGV0b24iOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 11990 if (val === '') { 11991 val = b64DecodeUnicode("eyJyZWNvbW1lbmRhdGlvblRpbGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwic2tlbGV0b24iOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 11992 } 11993 val = JSON.parse(val); 11994 window.upcartSettings.upcartEditorSettings.recommendationsModuleCustomJsxTemplates = val; 11995 11996 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11997 if (val === '') { 11998 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 11999 } 12000 val = JSON.parse(val); 12001 window.upcartSettings.upcartEditorSettings.notesModuleCustomJsxTemplates = val; 12002 12003 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12004 if (val === '') { 12005 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12006 } 12007 val = JSON.parse(val); 12008 window.upcartSettings.upcartEditorSettings.discountModuleCustomJsxTemplates = val; 12009 12010 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12011 if (val === '') { 12012 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12013 } 12014 val = JSON.parse(val); 12015 window.upcartSettings.upcartEditorSettings.trustBadgesModuleCustomJsxTemplates = val; 12016 12017 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12018 if (val === '') { 12019 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12020 } 12021 val = JSON.parse(val); 12022 window.upcartSettings.upcartEditorSettings.rewardsModuleCustomJsxTemplates = val; 12023 12024 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjp0cnVlfSwic2tlbGV0b24iOnsic3JjIjoiPGRp
12024dlxuICBjbGFzc05hbWU9XCJ1cGNhcnQtaW50ZXJuYWwtc2tlbGV0b24gdXBjYXJ0LXB1YmxpYy1za2VsZXRvblwiXG4gIHN0eWxlPXt7IG1hcmdpbjogXCIwcHggMjBweFwiIH19XG4+XG4gIDxkaXZcbiAgICBjbGFzc05hbWU9XCJ1cGNhcnQtaW50ZXJuYWwtc2tlbGV0b25fX3NoaW1tZXJcIlxuICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgaGVpZ2h0OiBcIjUwcHhcIiB9fVxuICAvPlxuPC9kaXY+XG4iLCJjb21waWxlZCI6InJldHVybiAoKGZ1bmN0aW9uKHByb3BzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtcbiAgY2xhc3NOYW1lOiBcInVwY2FydC1pbnRlcm5hbC1za2VsZXRvbiB1cGNhcnQtcHVibGljLXNrZWxldG9uXCIgLFxuICBzdHlsZTogeyBtYXJnaW46IFwiMHB4IDIwcHhcIiB9LH1cblxuICAsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtcbiAgICBjbGFzc05hbWU6IFwidXBjYXJ0LWludGVybmFsLXNrZWxldG9uX19zaGltbWVyXCIsXG4gICAgc3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiNTBweFwiIH0sfVxuICApXG4pXG5cbiAgICApO1xuICB9KSk7IiwiaXNBY3RpdmUiOmZhbHNlfX0="); 12025 if (val === '') { 12026 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12027 } 12028 val = JSON.parse(val); 12029 window.upcartSettings.upcartEditorSettings.triggeredRewardsModuleCustomJsxTemplates = val; 12030 12031 val = b64DecodeUnicode("eyJza2VsZXRvbiI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJwcm9kdWN0VGlsZSI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJ2YXJpYW50Ijp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByb3BlcnRpZXMiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwiYnVuZGxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByaWNlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12032 if (val === '') { 12033 val = b64DecodeUnicode("eyJza2VsZXRvbiI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJwcm9kdWN0VGlsZSI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJ2YXJpYW50Ijp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByb3BlcnRpZXMiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwiYnVuZGxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByaWNlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12034 } 12035 val = JSON.parse(val); 12036 window.upcartSettings.upcartEditorSettings.cartItemsModuleCustomJsxTemplates = val; 12037 12038 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12039 if (val === '') { 12040 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12041 } 12042 val = JSON.parse(val); 12043 window.upcartSettings.upcartEditorSettings.cartSummaryModuleCustomJsxTemplates = val; 12044 12045 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12046 if (val === '') { 12047 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 12048 } 12049 val = JSON.parse(val); 12050 window.upcartSettings.upcartEditorSettings.addonsModuleCustomJsxTemplates = val; 12051 12052 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 12053 if (val === '') { 12054 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 12055 } 12056 val = JSON.parse(val); 12057 window.upcartSettings.upcartEditorSettings.betweenAnnouncementsAndTieredRewardsCustomTemplate = val; 12058 12059 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 12060 if (val === '') { 12061 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 12062 } 12063 val = JSON.parse(val); 12064 window.upcartSettings.upcartEditorSettings.betweenTieredRewardsAndTriggeredRewardsCustomTemplate = val; 12065 12066 val = b64DecodeUnicode("eyJhYm92ZUNoZWNrb3V0Q3VzdG9tSnN4VGVtcGxhdGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 12067 if (val === '') { 12068 val = b64DecodeUnicode("eyJhYm92ZUNoZWNrb3V0Q3VzdG9tSnN4VGVtcGxhdGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 12069 } 12070 val = JSON.parse(val); 12071 window.upcartSettings.upcartEditorSettings.checkoutModuleCustomJsxTemplates = val; 12072 12073 val = b64DecodeUnicode("YmFzZQ=="); 12074 if (val === '') { 12075 val = b64DecodeUnicode("YmFzZQ=="); 12076 } 12077 window.upcartSettings.upcartEditorSettings.headerBorderBottom = val; 12078 12079 val = b64DecodeUnicode("c21hbGw="); 12080 if (val === '') { 12081 val = b64DecodeUnicode("YmFzZQ=="); 12082 } 12083 window.upcartSettings.upcartEditorSettings.headerHeight = val; 12084 12085 val = b64DecodeUnicode("I2ZmZmZmZjAw"); 12086 if (val === '') { 12087 val = b64DecodeUnicode("I2ZmZmZmZjAw"); 12088 }
12089 window.upcartSettings.upcartEditorSettings.headerBackgroundColor = val; 12090 12091 val = b64DecodeUnicode("eyJ0eXBlIjoiaW5oZXJpdEhlYWRpbmdTdHlsZXMiLCJoZWFkaW5nTGV2ZWwiOiJoMyJ9"); 12092 if (val === '') { 12093 val = b64DecodeUnicode("eyJ0eXBlIjoiaW5oZXJpdEhlYWRpbmdTdHlsZXMiLCJoZWFkaW5nTGV2ZWwiOiJoMiJ9"); 12094 } 12095 val = JSON.parse(val); 12096 window.upcartSettings.upcartEditorSettings.headerTitleContent = val; 12097 12098 val = b64DecodeUnicode("c2lkZQ=="); 12099 if (val === '') { 12100 val = b64DecodeUnicode("c2lkZQ=="); 12101 } 12102 window.upcartSettings.upcartEditorSettings.headerTitleAlignment = val; 12103 12104 val = b64DecodeUnicode("dGl0bGVfX2Nsb3NlQnV0dG9u"); 12105 if (val === '') { 12106 val = b64DecodeUnicode("dGl0bGVfX2Nsb3NlQnV0dG9u"); 12107 } 12108 window.upcartSettings.upcartEditorSettings.headerElementArrangement = val; 12109 12110 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMDBjIiwib25Ib3ZlciI6IiMwMDAwMDAxNCJ9"); 12111 if (val === '') { 12112 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMDBjIiwib25Ib3ZlciI6IiMwMDAwMDAxNCJ9"); 12113 } 12114 val = JSON.parse(val); 12115 window.upcartSettings.upcartEditorSettings.headerCloseButtonBackgroundColor = val; 12116 12117 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMCIsIm9uSG92ZXIiOm51bGx9"); 12118 if (val === '') { 12119 val = b64DecodeUnicode("eyJiYXNlIjoiIzYzNzM4MSIsIm9uSG92ZXIiOm51bGx9"); 12120 } 12121 val = JSON.parse(val); 12122 window.upcartSettings.upcartEditorSettings.headerCloseButtonIconColor = val; 12123 12124 val = b64DecodeUnicode("c21hbGw="); 12125 if (val === '') { 12126 val = b64DecodeUnicode("c21hbGw="); 12127 } 12128 window.upcartSettings.upcartEditorSettings.headerCloseButtonIconSize = val; 12129 12130 val = b64DecodeUnicode("YmFzZQ=="); 12131 if (val === '') { 12132 val = b64DecodeUnicode("YmFzZQ=="); 12133 } 12134 window.upcartSettings.upcartEditorSettings.headerCloseButtonIconStrokeWidth = val; 12135 12136 val = b64DecodeUnicode("bm9uZQ=="); 12137 if (val === '') { 12138 val = b64DecodeUnicode("bm9uZQ=="); 12139 } 12140 window.upcartSettings.upcartEditorSettings.headerCloseButtonBorderWidth = val; 12141 12142 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMCIsIm9uSG92ZXIiOm51bGx9"); 12143 if (val === '') { 12144 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMCIsIm9uSG92ZXIiOm51bGx9"); 12145 } 12146 val = JSON.parse(val); 12147 window.upcartSettings.upcartEditorSettings.headerCloseButtonBorderColor = val; 12148 12149 val = b64DecodeUnicode("ZmFsc2U="); 12150 if (val === '') { 12151 val = b64DecodeUnicode("ZmFsc2U="); 12152 } 12153 val = JSON.parse(val); 12154 window.upcartSettings.upcartEditorSettings.announcementModule = val; 12155 12156 val = b64DecodeUnicode("PHA+WW91ciBwcm9kdWN0cyBhcmUgcmVzZXJ2ZWQgZm9yIDxiPnt7dGltZXJ9fTwvYj4gbWludXRlcyE8L3A+"); 12157 if (val === '') { 12158 val = b64DecodeUnicode("PHA+WW91ciBwcm9kdWN0cyBhcmUgcmVzZXJ2ZWQgZm9yIDxiPntUSU1FUn08L2I+ITwvcD4="); 12159 } 12160 window.upcartSettings.upcartEditorSettings.announcementEditor = val; 12161 12162 val = b64DecodeUnicode("I0NERTBFMA=="); 12163 if (val === '') { 12164 val = b64DecodeUnicode("I0NERTBFMA=="); 12165 } 12166 window.upcartSettings.upcartEditorSettings.announcementBackgroundColor = val; 12167 12168 val = b64DecodeUnicode("dG9w"); 12169 if (val === '') { 12170 val = b64DecodeUnicode("dG9w"); 12171 } 12172 window.upcartSettings.upcartEditorSettings.announcementModulePosition = val; 12173 12174 val = b64DecodeUnicode("I0M1RTZGRA=="); 12175 if (val === '') { 12176 val = b64DecodeUnicode("I0M1RTZGRA=="); 12177 } 12178 window.upcartSettings.upcartEditorSettings.announcementBorderColor = val; 12179 12180 val = b64DecodeUnicode("MA=="); 12181 if (val === '') { 12182 val = b64DecodeUnicode("MDA6MDA="); 12183 } 12184 window.upcartSettings.upcartEditorSettings.announcementTimer = val; 12185 12186 val = b64DecodeUnicode("c21hbGw="); 12187 if (val === '') { 12188 val = b64DecodeUnicode("YmFzZQ=="); 12189 } 12190 window.upcartSettings.upcartEditorSettings.announcementHeight = val; 12191 12192 val = b64DecodeUnicode("MTU="); 12193 if (val === '') { 12194 val = b64DecodeUnicode("MTU="); 12195 } 12196 window.upcartSettings.upcartEditorSettings.announcementTextFontSizePx = val; 12197 12198 val = b64DecodeUnicode("dHJ1ZQ=="); 12199 if (val === '') { 12200 val = b64DecodeUnicode("ZmFsc2U="); 12201 } 12202 val = JSON.parse(val); 12203 window.upcartSettings.upcartEditorSettings.rewardsModule = val; 12204 12205 val = b64DecodeUnicode("I0ZERjRGMA=="); 12206 if (val === '') { 12207 val = b64DecodeUnicode("I0UyRTJFMg=="); 12208 } 12209 window.upcartSettings.upcartEditorSettings.rewardsBarBackgroun
12209dColor = val; 12210 12211 val = b64DecodeUnicode("I2E2NTg2Yg=="); 12212 if (val === '') { 12213 val = b64DecodeUnicode("IzkzRDNGRg=="); 12214 } 12215 window.upcartSettings.upcartEditorSettings.rewardsBarForegroundColor = val; 12216 12217 val = b64DecodeUnicode("I0ZERjRGMA=="); 12218 if (val === '') { 12219 val = b64DecodeUnicode("IzRENDk0OQ=="); 12220 } 12221 window.upcartSettings.upcartEditorSettings.rewardsTierIconColorComplete = val; 12222 12223 val = b64DecodeUnicode("I2E2NTg2Yg=="); 12224 if (val === '') { 12225 val = b64DecodeUnicode("IzRENDk0OQ=="); 12226 } 12227 window.upcartSettings.upcartEditorSettings.rewardsTierIconColorIncomplete = val; 12228 12229 val = b64DecodeUnicode("Y2FydFRvdGFs"); 12230 if (val === '') { 12231 val = b64DecodeUnicode("Y2FydFRvdGFs"); 12232 } 12233 window.upcartSettings.upcartEditorSettings.rewardsBasis = val; 12234 12235 val = b64DecodeUnicode("ZmFsc2U="); 12236 if (val === '') { 12237 val = b64DecodeUnicode("ZmFsc2U="); 12238 } 12239 val = JSON.parse(val); 12240 window.upcartSettings.upcartEditorSettings.rewardsProductLinkVisible = val; 12241 12242 val = b64DecodeUnicode("cHJvZHVjdHNPck9yZGVy"); 12243 if (val === '') { 12244 val = b64DecodeUnicode("cHJvZHVjdHNPck9yZGVy"); 12245 } 12246 window.upcartSettings.upcartEditorSettings.rewardsTargetType = val; 12247 12248 val = b64DecodeUnicode("MTI1"); 12249 if (val === '') { 12250 val = b64DecodeUnicode("MTI1"); 12251 } 12252 window.upcartSettings.upcartEditorSettings.rewardsMinAmount = val; 12253 12254 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e3thbW91bnR9fTwvYj4gYXdheSBmcm9tIGZyZWUgc2hpcHBpbmchPC9wPg=="); 12255 if (val === '') { 12256 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e0FNT1VOVH08L2I+IGF3YXkgZnJvbSBmcmVlIHNoaXBwaW5nITwvcD4="); 12257 } 12258 window.upcartSettings.upcartEditorSettings.rewardsEditor = val; 12259 12260 val = b64DecodeUnicode("PHA+RnJlZSBTaGlwcGluZyBVbmxvY2tlZCE8L3A+Cg=="); 12261 if (val === '') { 12262 val = b64DecodeUnicode("RnJlZSBzaGlwcGluZyB1bmxvY2tlZCE="); 12263 } 12264 window.upcartSettings.upcartEditorSettings.rewardsEditorAfterText = val; 12265 12266 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e3tjb3VudH19PC9iPiBwcm9kdWN0cyBhd2F5IGZyb20gZnJlZSBzaGlwcGluZyE8L3A+"); 12267 if (val === '') { 12268 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e0NPVU5UfTwvYj4gcHJvZHVjdHMgYXdheSBmcm9tIGZyZWUgc2hpcHBpbmchPC9wPg=="); 12269 } 12270 window.upcartSettings.upcartEditorSettings.rewardsEditorForItemCount = val; 12271 12272 val = b64DecodeUnicode("NQ=="); 12273 if (val === '') { 12274 val = b64DecodeUnicode("NQ=="); 12275 } 12276 window.upcartSettings.upcartEditorSettings.rewardsItemCount = val; 12277 12278 val = b64DecodeUnicode("eyJ0aWVycyI6W3sidGFyZ2V0VHlwZSI6InNoaXBwaW5nIiwibWluQW1vdW50Ijo3NSwiaXRlbUNvdW50IjoiNSIsInRleHRCZWZvcmVSZWFjaGluZ0ZvckNhcnRUb3RhbCI6IjxwPllvdeKAmXJlIHt7YW1vdW50fX0gYXdheSBmcm9tIHVubG9ja2luZyBmcmVlIHNoaXBwaW5nITwvcD5cbiIsInRleHRCZWZvcmVSZWFjaGluZ0Zvckl0ZW1Db3VudCI6IjxwPllvdeKAmXJlIDxiPnt7Y291bnR9fTwvYj4gcHJvZHVjdHMgYXdheSBmcm9tIGZyZWUgc2hpcHBpbmchPC9wPiIsInJld2FyZERlc2NyaXB0aW9uIjoiRnJlZSBTaGlwcGluZyIsInByb2R1Y3RzIjpbXSwibWFudWFsRGlzY291bnRDb2RlIjoiIn1dLCJnZW9Mb2NhdGlvblByaWNpbmciOltdLCJyZXdhcmRzQXV0b0NvbnZlcnRDdXJyZW5jeSI6ZmFsc2UsInJld2FyZHNHZW9Mb2NhdGlvbkVuYWJsZWQiOmZhbHNlLCJ1c2VQcmVEaXNjb3VudGVkVG90YWwiOmZhbHNlfQ=="); 12279 if (val === '') { 12280 val = b64DecodeUnicode("eyJ0aWVycyI6W10sImdlb0xvY2F0aW9uUHJpY2luZyI6W10sInJld2FyZHNBdXRvQ29udmVydEN1cnJlbmN5IjpmYWxzZSwicmV3YXJkc0dlb0xvY2F0aW9uRW5hYmxlZCI6ZmFsc2UsInVzZVByZURpc2NvdW50ZWRUb3RhbCI6ZmFsc2V9"); 12281 } 12282 val = JSON.parse(val); 12283 window.upcartSettings.upcartEditorSettings.rewardsTiers = val; 12284 12285 val = b64DecodeUnicode("W10="); 12286 if (val === '') { 12287 val = b64DecodeUnicode("W10="); 12288 } 12289 val = JSON.parse(val); 12290 window.upcartSettings.upcartEditorSettings.rewardsTierProducts = val; 12291 12292 val = b64DecodeUnicode("ZmFsc2U="); 12293 if (val === '') { 12294 val = b64DecodeUnicode("ZmFsc2U="); 12295 } 12296 val = JSON.parse(val); 12297 window.upcartSettings.upcartEditorSettings.rewardsShowIconWithSingleTier = val; 12298 12299 val = b64DecodeUnicode("dHJ1ZQ=="); 12300 if (val === '') { 12301 val = b64DecodeUnicode("ZmFsc2U="); 12302 } 12303 val = JSON.parse(val); 12304 window.upcartSettings.upcartEditorSettings.rewardsShowOnEmptyCart = val; 12305 12306 val = b64DecodeUnicode("ZmFsc2U="); 12307 if (val === '') { 12308 val = b64DecodeUnicode("ZmFsc2U="); 12309 } 12310 val = JSON.parse(val); 12311 window.upcartSettings.upcartEditorSettings.rewardsRemovePreviousProducts = val; 12312 12313 val = b64DecodeUnicode("W10="); 12314 if (val === '') { 12315 val = b64DecodeUnicode("W10="); 12316 } 12317 val = JSON.parse(val); 12318 window.upcartSettings.upcartEditorSettings.rewardsFiltering = val; 12319 12320 val = b64DecodeUnicode("W10="); 12321 if (val === '') { 12322 val = b64DecodeUnicode("W10="); 12323 } 12324 val = JSON.parse(val); 12325 window.upcartSettings.upcartEditorSettings.rewardsTriggeredRules = val; 12326 12327 val = b64DecodeUnicode("eyJwcm9kdWN0RGlzY291bnRzIjpmYWxzZSwib3JkZXJEaXNjb3VudHMiOmZhbHNlLCJzaGlwcGluZ0Rpc2NvdW50cyI6ZmFsc2V9"); 12328 if (val === '') { 12329 val = b64DecodeUnicode("eyJwcm9kdWN0RGlzY291bnRzIjpmYWxzZSwib3JkZXJEaXNjb3VudHMiOmZhbHNlLCJzaGlwcGluZ0Rpc2NvdW50cyI6ZmFsc2V9"); 12330 } 12331 val = JSON.parse(val); 12332 window.upcartSettings.upcartEditorSettings.rewardsTriggeredCombinations = val; 12333 12334 val = b64DecodeUnicode("dHJ1ZQ=="); 12335 if (val === '') { 12336 val = b64DecodeUnicode("ZmFsc2U="); 12337 } 12338 val = JSON.parse(val); 12339 window.upcartSettings.upcartEditorSettings.recommendationsModule = val; 12340 12341 val = b64DecodeUnicode("QWRkIHlvdXIgZmF2b3VyaXRlIGl0ZW1zIHRvIHlvdXIgY2FydC4="); 12342 if (val === '') { 12343 val = b64DecodeUnicode("QWRkIHlvdXIgZmF2b3VyaXRlIGl0ZW1zIHRvIHlvdXIgY2FydC4="); 12344 } 12345 window.upcartSettings.upcartEditorSettings.recommendationsHeaderText = val; 12346 12347 val = b64DecodeUnicode("dHJ1ZQ=="); 12348 if (val === '') { 12349 val = b64DecodeUnicode("ZmFsc2U="); 12350 } 12351 val = JSON.parse(val); 12352 window.upcartSettings.upcartEditorSettings.recommendationsEnableShopNowButton = val; 12353 12354 val = b64DecodeUnicode("U2hvcCBOb3c="); 12355 if (val === '') { 12356 val = b64DecodeUnicode("U2hvcCBOb3c="); 12357 } 12358 window.upcartSettings.upcartEditorSettings.recommendationsShopNowButtonText = val; 12359 12360 val = b64DecodeUnicode("L2NvbGxlY3Rpb25z"); 12361 if (val === '') { 12362 val = b64DecodeUnicode("L2NvbGxlY3Rpb25z"); 12363 } 12364 window.upcartSettings.upcartEditorSettings.recommendationsShopNowButtonURL = val; 12365 12366 val = b64DecodeUnicode("W3siaWQiOiIxIiwidiI6MSwicmVjb21tZW5kYXRpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAxODgyODg2ODg0MzgiLCJzaG9ydElkIjoiMTAxODgyODg2ODg0MzgiLCJ2YXJpYW50cyI6WyI1MTg0OTMyMDY2MTMwMiIsIjUxODQ5MzIwNjk0MDcwIiwiNTI4NzI5MTg4NjAwODYiXSwiaGFuZGxlIjoicGVyZmVjdGVyLXByby1oZWF0ZWQtcm91bmQtYnJ1c2gtMS1wcm8iLCJ0aXRsZSI6IlBlcmZlY3RlciBQcm8gSGVhdGVkIFJvdW5kIEJydXNoIDFcIiBQcm8gKyJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTA1MjEyNzI3MTM1MjYiLCJzaG9ydElkIjoiMTA1MjEyNzI3MTM1MjYiLCJ2YXJpYW50cyI6WyI1MzQ3MDA4Nzk3MTEyNiJdLCJoYW5kbGUiOiJpb24taG90LXJvbGxlcnMtbG9uZy1zZXQtZ2VuLTIiLCJ0aXRsZSI6IklvbiBIb3QgUm9sbGVycyBMb25nIFNldCBHZW4gMiJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTA2MDMwNjU4MDMwNjIiLCJzaG9ydElkIjoiMTA2MDMwNjU4MDMwNjIiLCJ2YXJpYW50cyI6WyI1MzcwODU0NzM5MTc5OCJdLCJoYW5kbGUiOiJlbGl0ZWFpci1tdWx0aS1zdHlsZS1kcnllci1nZW4tMiIsInRpdGxlIjoiRWxpdGVBaXIgTXVsdGktU3R5bGUgRHJ5ZXIgR2VuIDIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy8yLjE3LjIwMjZFbGl0ZUFpci0wOS5qcGc/dj0xNzcyNzI3NjY3In1dfX1d"); 12367 if (val === '') { 12368 val = b64DecodeUnicode("W3siaWQiOiIiLCJyZWNvbW1lbmRhdGlvbiI6bnVsbCwidiI6MX1d"); 12369 } 12370 val = JSON.parse(val); 12371 window.upcartSettings.upcartEditorSettings.recommendationItems = val; 12372 12373 val = b64DecodeUnicode("PHA+VHJlbmRpbmcgcHJvZHVjdHM8L3A+Cg=="); 12374 if (val === '') { 12375 val = b64DecodeUnicode("WW91IG1heSBhbHNvIGxpa2U="); 12376 } 12377 window.upcartSettings.upcartEditorSettings.recommendationsProductRecommendationsHeaderText = val; 12378 12379 val = b64DecodeUnicode("Mw=="); 12380 if (val === '') { 12381 val = b64DecodeUnicode("Mw=="); 12382 } 12383 window.upcartSettings.upcartEditorSettings.recommendationsMaxRecommendationsToShow = val; 12384 12385 val = b64DecodeUnicode("dmVydGljYWw="); 12386 if (val === '') { 12387 val = b64DecodeUnicode("dmVydGljYWw="); 12388 } 12389 window.upcartSettings.upcartEditorSettings.recommendationsDirection = val; 12390 12391 val = b64DecodeUnicode("dHJ1ZQ=="); 12392 if (val === '') { 12393 val = b64DecodeUnicode("ZmFsc2U="); 12394 } 12395 val = JSON.parse(val); 12396 window.upcartSettings.upcartEditorSettings.upsellsModule = val; 12397 12398 val = b64DecodeUnicode("dmVydGljYWw="); 12399 if (val === '') {
12400 val = b64DecodeUnicode("aG9yaXpvbnRhbA=="); 12401 } 12402 window.upcartSettings.upcartEditorSettings.upsellsDirection = val; 12403 12404 val = b64DecodeUnicode("PHA+QWRkIFJlY29tbWVuZGVkIFByb2R1Y3RzPC9wPgo="); 12405 if (val === '') { 12406 val = b64DecodeUnicode("WW91J2xsIGxvdmUgdGhlc2U="); 12407 } 12408 window.upcartSettings.upcartEditorSettings.upsellsTitle = val; 12409 12410 val = b64DecodeUnicode("Mg=="); 12411 if (val === '') { 12412 val = b64DecodeUnicode("MTA="); 12413 } 12414 window.upcartSettings.upcartEditorSettings.maximumUpsellsToShow = val; 12415 12416 val = b64DecodeUnicode("dHJ1ZQ=="); 12417 if (val === '') { 12418 val = b64DecodeUnicode("ZmFsc2U="); 12419 } 12420 val = JSON.parse(val); 12421 window.upcartSettings.upcartEditorSettings.upsellsShouldLimit = val; 12422 12423 val = b64DecodeUnicode("ZmFsc2U="); 12424 if (val === '') { 12425 val = b64DecodeUnicode("ZmFsc2U="); 12426 } 12427 val = JSON.parse(val); 12428 window.upcartSettings.upcartEditorSettings.upsellsTrigger = val; 12429 12430 val = b64DecodeUnicode("ZmFsc2U="); 12431 if (val === '') { 12432 val = b64DecodeUnicode("ZmFsc2U="); 12433 } 12434 val = JSON.parse(val); 12435 window.upcartSettings.upcartEditorSettings.showUpsellItemsAlreadyInCart = val; 12436 12437 val = b64DecodeUnicode("W3siaWQiOiI1ODUyNSIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE3OTQ2MzA1MzYyMiIsInNob3J0SWQiOiIxMDE3OTQ2MzA1MzYyMiIsInZhcmlhbnRzIjpbIjUxODE3MzE4MzUxMTU4Il0sImhhbmRsZSI6ImZhdXhibG8tdGhlcm1hbC1ibG93b3V0LWJydXNoLW1pZC1sZW5ndGgtaGFpciIsInRpdGxlIjoiRkFVWGJsbyBUaGVybWFsIEJsb3dvdXQgQnJ1c2ggMS41XCIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9UaW1lbGVzc19UZWFsX0ZBVVhibG9fMS41LmpwZz92PTE3NjI0Mzk0ODIifV19fSwidXBzZWxsIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTc5NDYzNjQzNDQ2Iiwic2hvcnRJZCI6IjEwMTc5NDYzNjQzNDQ2IiwidmFyaWFudHMiOlsiNTE4MTczMTkwNzIwNTQiXSwiaGFuZGxlIjoiZmF1eGJsby10aGVybWFsLWJsb3dvdXQtYnJ1c2gtbG9uZy1oYWlyIiwidGl0bGUiOiJGQVVYYmxvIFRoZXJtYWwgQmxvd291dCBCcnVzaCAxLjc3XCIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9UaW1lbGVzc19UZWFsX0ZBVVhibG9fMS43Ny5qcGc/dj0xNzYyNDQ5MzM5In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE4ODA2Mzg5OTk1OCIsInNob3J0SWQiOiIxMDE4ODA2Mzg5OTk1OCIsInZhcmlhbnRzIjpbIjUxODQ4ODQ3MzkzMDc4IiwiNTE4NDg4NDczNjAzMTAiXSwiaGFuZGxlIjoidmF1bHQtZmF1eGJsby10aGVybWFsLWJsb3dvdXQtYnJ1c2gtMS03NyIsInRpdGxlIjoiVmF1bHQgRkFVWGJsbyBUaGVybWFsIEJsb3dvdXQgQnJ1c2ggMS43N1wiIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvZmF1eGJsby1ibHVlLXNub3ctY29uZS0xNzctM3g0LWNvbXByZXNzZWQuanBnP3Y9MTc1NzA4OTk4MCJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzMwNDI4NzMwMSIsInNob3J0SWQiOiIxNzk3MzA0Mjg3MzAxIiwidmFyaWFudHMiOlsiMTY3OTUyMDAxNTk4MTMiXSwiaGFuZGxlIjoiZW1iZWxsaXNoLXZvbHVtZS1zcHJheS0xMG96IiwidGl0bGUiOiJFTUJFTExJU0ggRmluaXNoaW5nIFNwcmF5IiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvRW1iZWxsaXNoX0ZpbmlzaGluZ19TcHJheV9VcGRhdGVkX1Byb2R1Y3RfU2hvdF8xLmpwZz92PTE3NjI0Mzk0NzQifV19fSx7ImlkIjoiNDAxMzQiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAxNzk0NjM2NDM0NDYiLCJzaG9ydElkIjoiMTAxNzk0NjM2NDM0NDYiLCJ2YXJpYW50cyI6WyI1MTgxNzMxOTA3MjA1NCJdLCJoYW5kbGUiOiJmYXV4YmxvLXRoZXJtYWwtYmxvd291dC1icnVzaC1sb25nLWhhaXIiLCJ0aXRsZSI6IkZBVVhibG8gVGhlcm1hbCBCbG93b3V0IEJydXNoIDEuNzdcIiIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL1RpbWVsZXNzX1RlYWxfRkFVWGJsb18xLjc3LmpwZz92PTE3NjI0NDkzMzkifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTg4MDYzODk5OTU4Iiwic2hvcnRJZCI6IjEwMTg4MDYzODk5OTU4IiwidmFyaWFudHMiOlsiNTE4NDg4NDczOTMwNzgiLCI1MTg0ODg0NzM2MDMxMCJdLCJoYW5kbGUiOiJ2YXVsdC1mYXV4YmxvLXRoZXJtYWwtYmxvd291dC1icnVzaC0xLTc3IiwidGl0bGUiOiJWYXVsdCBGQVVYYmxvIFRoZXJtYWwgQmxvd291dCBCcnVzaCAxLjc3XCIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9mYXV4YmxvLWJsdWUtc25vdy1jb25lLTE3Ny0zeDQtY29tcHJlc3NlZC5qcGc/dj0xNzU3MDg5OTgwIn1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xM
12437DE3OTQ2MzA1MzYyMiIsInNob3J0SWQiOiIxMDE3OTQ2MzA1MzYyMiIsInZhcmlhbnRzIjpbIjUxODE3MzE4MzUxMTU4Il0sImhhbmRsZSI6ImZhdXhibG8tdGhlcm1hbC1ibG93b3V0LWJydXNoLW1pZC1sZW5ndGgtaGFpciIsInRpdGxlIjoiRkFVWGJsbyBUaGVybWFsIEJsb3dvdXQgQnJ1c2ggMS41XCIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9UaW1lbGVzc19UZWFsX0ZBVVhibG9fMS41LmpwZz92PTE3NjI0Mzk0ODIifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczMDQyODczMDEiLCJzaG9ydElkIjoiMTc5NzMwNDI4NzMwMSIsInZhcmlhbnRzIjpbIjE2Nzk1MjAwMTU5ODEzIl0sImhhbmRsZSI6ImVtYmVsbGlzaC12b2x1bWUtc3ByYXktMTBveiIsInRpdGxlIjoiRU1CRUxMSVNIIEZpbmlzaGluZyBTcHJheSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0VtYmVsbGlzaF9GaW5pc2hpbmdfU3ByYXlfVXBkYXRlZF9Qcm9kdWN0X1Nob3RfMS5qcGc/dj0xNzYyNDM5NDc0In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDM2NDIyMzM5MDAwNiIsInNob3J0SWQiOiIxMDM2NDIyMzM5MDAwNiIsInZhcmlhbnRzIjpbIjUzMTM0MzY5MTYxNTI2Il0sImhhbmRsZSI6ImVtYmVsbGlzaC10ZXh0dXJpemluZy1mb2FtLW1pbmkiLCJ0aXRsZSI6Ik1pbmkgRU1CRUxMSVNIIFRleHR1cml6aW5nIEZvYW0iLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9ienFqaGRsdWY2NndyeDdndWVlbC53ZWJwP3Y9MTc2MTA3MTI1NiJ9XX19LHsiaWQiOiI0NTg0NyIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDQ2MDg2MjUxMzQ2MiIsInNob3J0SWQiOiIxMDQ2MDg2MjUxMzQ2MiIsInZhcmlhbnRzIjpbIjUzMzgwMjk4NzAzMTU4Il0sImhhbmRsZSI6InBlcmZlY3Rlci1wcm8tc2hvcnQtaGFpci1idW5kbGUiLCJ0aXRsZSI6IlBlcmZlY3RlciBQcm8gU2hvcnQgSGFpciBEdW8iLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9wZXJmZWN0ZXItZHVvLXNob3J0LWhhaXItcGRwLTIuanBnP3Y9MTc2NDUzMTcwNCJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTA0NjA3OTAyNjAwMjIiLCJzaG9ydElkIjoiMTA0NjA3OTAyNjAwMjIiLCJ2YXJpYW50cyI6WyI1MzM4MDE4NTU1NTI1NCJdLCJoYW5kbGUiOiJwZXJmZWN0ZXItcHJvLWxvbmctaGFpci1kdW8iLCJ0aXRsZSI6IlBlcmZlY3RlciBQcm8gTG9uZyBIYWlyIER1byIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL3BlcmZlY3Rlci1kdW8tbG9uZy1oYWlyLXBkcC0yLmpwZz92PTE3NjQ1MzEwMDAifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwNDYwNjY0MDM3Njg2Iiwic2hvcnRJZCI6IjEwNDYwNjY0MDM3Njg2IiwidmFyaWFudHMiOlsiNTMzODAwMzYwMzQ4NzAiXSwiaGFuZGxlIjoidGhlLXBlcmZlY3Rlci1wcm8tYmVzdHNlbGxlcnMtZHVvIiwidGl0bGUiOiJUaGUgUGVyZmVjdGVyIFBybyBCZXN0c2VsbGVycyBEdW8iLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9wZXJmZWN0ZXItZHVvLWJlc3RzZWxsZXJzLXBkcC0yLmpwZz92PTE3NjQ1Mjc2NTAifV19fSwidXBzZWxsIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczMDQyODczMDEiLCJzaG9ydElkIjoiMTc5NzMwNDI4NzMwMSIsInZhcmlhbnRzIjpbIjE2Nzk1MjAwMTU5ODEzIl0sImhhbmRsZSI6ImVtYmVsbGlzaC12b2x1bWUtc3ByYXktMTBveiIsInRpdGxlIjoiRU1CRUxMSVNIIEZpbmlzaGluZyBTcHJheSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0VtYmVsbGlzaF9GaW5pc2hpbmdfU3ByYXlfVXBkYXRlZF9Qcm9kdWN0X1Nob3RfMS5qcGc/dj0xNzYyNDM5NDc0In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE5MjMzOTA3NTM4MiIsInNob3J0SWQiOiIxMDE5MjMzOTA3NTM4MiIsInZhcmlhbnRzIjpbIjUxODYzMzEyNDY2MjMwIl0sImhhbmRsZSI6Imdsb3NzLXJlc3RvcmF0aXZlLXNoaW5lLXNlcnVtIiwidGl0bGUiOiJHTE9TUyBTaGluZSBSZWNvdmVyeSBTZXJ1bSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0dMT1NTU0hJTkVSRUNPVkVSWVNFUlVNLmpwZz92PTE3NTczNTE2MTQifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwNDE4MjgxNTc4ODA2Iiwic2hvcnRJZCI6IjEwNDE4MjgxNTc4ODA2IiwidmFyaWFudHMiOlsiNTMyOTQ4NDkxNjM1NzQiXSwiaGFuZGxlIjoibWluaS1lbWJlbGxpc2gtZmxleC1zcHJheSIsInRpdGxlIjoiTWluaSBFTUJFTExJU0ggRmxleCBTcHJheSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzLzExLjE3LjIwMjVGbGV4U3ByYXlVcGRhdGUtMDEuanBnP3Y9MTc2Mzk5ODk5OCJ9XX19LHsiaWQiOiI0ODMzNCIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE4ODI4ODYyMjkwMiIsInNob3J0SWQiOiIxMDE4ODI4ODYyMjkwMiIsInZhcmlhbnRzIjpbIjUyODcyOTMwMjYzMzUwIiwiNTE4NDkzMjA3MjY4MzgiLCI1MTg0OTMyMDc1OTYwNiJdLCJoYW5kbGUiOiJwZXJmZWN0ZXItcHJvLWhlYXRlZC1yb3VuZC1icnVzaC0xLTUtcHJvIiwidGl0bGUiOiJQZXJmZWN0ZXIgUHJvIEhlYXRlZCBSb3VuZCBCcnVzaCAxLjVcIiBQcm8gKyIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL3BlcmZlY3Rlci1wYXN0ZWwtcGV0YWxzLTEtNS0zeDQtZmVhdHVyZWQuanBnP3Y9MTc1OTI1NTA0NyJ9XX19LCJ1cHNlbGwiOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAxODgyODg2ODg0MzgiLCJzaG9ydElkIjoiMTAxODgyODg2ODg0MzgiLCJ2YXJpYW50cyI6WyI1Mjg3MjkxODg2MDA4NiIsIjUxODQ5MzIwNjk0MDcwIl0sImhhbmRsZSI6InBlcmZlY3Rlci1wcm8taGVhdGVkLXJvdW5kLWJydXNoLTEtcHJvIiwidGl0bGUiOiJQZXJmZWN0ZXIgUHJvIEhlYXRlZCBSb3VuZCBCcnVzaCAxXCIgUHJvICsiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9wZXJmZWN0ZXItcGFzdGVsLXBldGFscy0xLTN4NC1mZWF0dXJlZC1jb21wLmpwZz92PTE3NTkyNTQ3MDMifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczMDQyODczMDEiLCJzaG9ydElkIjoiMTc5NzMwNDI4NzMwMSIsInZhcmlhbnRzIjpbIjE2Nzk1MjAwMTU5ODEzIl0sImhhbmRsZSI6ImVtYmVsbGlzaC12b2x1bWUtc3ByYXktMTBveiIsInRpdGxlIjoiRU1CRUxMSVNIIEZpbmlzaGluZyBTcHJheSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0VtYmVsbGlzaF9GaW5pc2hpbmdfU3ByYXlfVXBkYXRlZF9Qcm9kdWN0X1Nob3RfMS5qcGc/dj0xNzYyNDM5NDc0In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MzQyM
12437DY4ODA1Iiwic2hvcnRJZCI6IjE3OTczNDIwNjg4MDUiLCJ2YXJpYW50cyI6WyI1Mjg3MjkxNDI3MjU2NiIsIjUwOTgxMzA3OTQxMTc0IiwiNDc5NDA0MzMxMTc0OTQiLCI1MzI5Nzg4MTUxNDI5NCJdLCJoYW5kbGUiOiJnb2dvLW1pbmktcm91bmQtYnJ1c2giLCJ0aXRsZSI6IkdvR28gTWluaSBSb3VuZCBCcnVzaCIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL2dvZ28tcGluay1wZXRhbHMtM3g0LWZlYXR1cmVkLWNvbXAuanBnP3Y9MTc1OTI1NDIwOSJ9XX19LHsiaWQiOiI0OTUzMyIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE4ODI4ODY1NTY3MCIsInNob3J0SWQiOiIxMDE4ODI4ODY1NTY3MCIsInZhcmlhbnRzIjpbIjUyODcyOTE3MTIzMzgyIiwiNTE4NDkzMjA2Mjg1MzQiXSwiaGFuZGxlIjoicGVyZmVjdGVyLXByby1oZWF0ZWQtcm91bmQtYnJ1c2gtMC03NS1wcm8iLCJ0aXRsZSI6IlBlcmZlY3RlciBQcm8gSGVhdGVkIFJvdW5kIEJydXNoIDAuNzVcIiBQcm8gKyIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL3BlcmZlY3Rlci1wYXN0ZWwtcGV0YWxzLTc1LTN4NC1mZWF0dXJlZC5qcGc/dj0xNzU5MjU0OTc1In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE4ODI4ODY4ODQzOCIsInNob3J0SWQiOiIxMDE4ODI4ODY4ODQzOCIsInZhcmlhbnRzIjpbIjUyODcyOTE4ODYwMDg2IiwiNTE4NDkzMjA2OTQwNzAiXSwiaGFuZGxlIjoicGVyZmVjdGVyLXByby1oZWF0ZWQtcm91bmQtYnJ1c2gtMS1wcm8iLCJ0aXRsZSI6IlBlcmZlY3RlciBQcm8gSGVhdGVkIFJvdW5kIEJydXNoIDFcIiBQcm8gKyIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL3BlcmZlY3Rlci1wYXN0ZWwtcGV0YWxzLTEtM3g0LWZlYXR1cmVkLWNvbXAuanBnP3Y9MTc1OTI1NDcwMyJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzMwNDI4NzMwMSIsInNob3J0SWQiOiIxNzk3MzA0Mjg3MzAxIiwidmFyaWFudHMiOlsiMTY3OTUyMDAxNTk4MTMiXSwiaGFuZGxlIjoiZW1iZWxsaXNoLXZvbHVtZS1zcHJheS0xMG96IiwidGl0bGUiOiJFTUJFTExJU0ggRmluaXNoaW5nIFNwcmF5IiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvRW1iZWxsaXNoX0ZpbmlzaGluZ19TcHJheV9VcGRhdGVkX1Byb2R1Y3RfU2hvdF8xLmpwZz92PTE3NjI0Mzk0NzQifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczNDIwNjg4MDUiLCJzaG9ydElkIjoiMTc5NzM0MjA2ODgwNSIsInZhcmlhbnRzIjpbIjUyODcyOTE0MjcyNTY2IiwiNTA5ODEzMDc5NDExNzQiLCI0Nzk0MDQzMzExNzQ5NCIsIjUzMjk3ODgxNTE0Mjk0Il0sImhhbmRsZSI6ImdvZ28tbWluaS1yb3VuZC1icnVzaCIsInRpdGxlIjoiR29HbyBNaW5pIFJvdW5kIEJydXNoIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvZ29nby1waW5rLXBldGFscy0zeDQtZmVhdHVyZWQtY29tcC5qcGc/dj0xNzU5MjU0MjA5In1dfX0seyJpZCI6IjMwMTE3IiwidiI6MiwidHJpZ2dlciI6eyJvbiI6InNwZWNpZmljIiwic2VsZWN0aW9uIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTg4Mjg4Njg4NDM4Iiwic2hvcnRJZCI6IjEwMTg4Mjg4Njg4NDM4IiwidmFyaWFudHMiOlsiNTI4NzI5MTg4NjAwODYiLCI1MTg0OTMyMDY5NDA3MCJdLCJoYW5kbGUiOiJwZXJmZWN0ZXItcHJvLWhlYXRlZC1yb3VuZC1icnVzaC0xLXBybyIsInRpdGxlIjoiUGVyZmVjdGVyIFBybyBIZWF0ZWQgUm91bmQgQnJ1c2ggMVwiIFBybyArIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvcGVyZmVjdGVyLXBhc3RlbC1wZXRhbHMtMS0zeDQtZmVhdHVyZWQtY29tcC5qcGc/dj0xNzU5MjU0NzAzIn1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE4ODI4ODY1NTY3MCIsInNob3J0SWQiOiIxMDE4ODI4ODY1NTY3MCIsInZhcmlhbnRzIjpbIjUyODcyOTE3MTIzMzgyIiwiNTE4NDkzMjA2Mjg1MzQiXSwiaGFuZGxlIjoicGVyZmVjdGVyLXByby1oZWF0ZWQtcm91bmQtYnJ1c2gtMC03NS1wcm8iLCJ0aXRsZSI6IlBlcmZlY3RlciBQcm8gSGVhdGVkIFJvdW5kIEJydXNoIDAuNzVcIiBQcm8gKyIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL3BlcmZlY3Rlci1wYXN0ZWwtcGV0YWxzLTc1LTN4NC1mZWF0dXJlZC5qcGc/dj0xNzU5MjU0OTc1In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MzA0Mjg3MzAxIiwic2hvcnRJZCI6IjE3OTczMDQyODczMDEiLCJ2YXJpYW50cyI6WyIxNjc5NTIwMDE1OTgxMyJdLCJoYW5kbGUiOiJlbWJlbGxpc2gtdm9sdW1lLXNwcmF5LTEwb3oiLCJ0aXRsZSI6IkVNQkVMTElTSCBGaW5pc2hpbmcgU3ByYXkiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9FbWJlbGxpc2hfRmluaXNoaW5nX1NwcmF5X1VwZGF0ZWRfUHJvZHVjdF9TaG90XzEuanBnP3Y9MTc2MjQzOTQ3NCJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzM0MjA2ODgwNSIsInNob3J0SWQiOiIxNzk3MzQyMDY4ODA1IiwidmFyaWFudHMiOlsiNTI4NzI5MTQyNzI1NjYiLCI1MDk4MTMwNzk0MTE3NCIsIjQ3OTQwNDMzMTE3NDk0IiwiNTMyOTc4ODE1MTQyOTQiXSwiaGFuZGxlIjoiZ29nby1taW5pLXJvdW5kLWJydXNoIiwidGl0bGUiOiJHb0dvIE1pbmkgUm91bmQgQnJ1c2giLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9nb2dvLXBpbmstcGV0YWxzLTN4NC1mZWF0dXJlZC1jb21wLmpwZz92PTE3NTkyNTQyMDkifV19fSx7ImlkIjoiMzU3MzIiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAxODgyODg1OTAxMzQiLCJzaG9ydElkIjoiMTAxODgyODg1OTAxMzQiLCJ2YXJpYW50cyI6WyI1MzI
124375Nzk1Mjk4MTMwMiIsIjUyODczMzE5ODA5MzM0Il0sImhhbmRsZSI6InBlcmZlY3Rlci1wcm8taGVhdGVkLXJvdW5kLWJydXNoLTAtNTAtcHJvIiwidGl0bGUiOiJQZXJmZWN0ZXIgUHJvIEhlYXRlZCBSb3VuZCBCcnVzaCAwLjUwXCIgUHJvIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvcGVyZmVjdGVyLXJvc2Vnb2xkLTEtMi1pbmNoLXBkcC1kaXNwbGF5LmpwZz92PTE3NjQ0NjQ3OTYifV19fSwidXBzZWxsIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTg4Mjg4NjU1NjcwIiwic2hvcnRJZCI6IjEwMTg4Mjg4NjU1NjcwIiwidmFyaWFudHMiOlsiNTI4NzI5MTcxMjMzODIiLCI1MTg0OTMyMDYyODUzNCJdLCJoYW5kbGUiOiJwZXJmZWN0ZXItcHJvLWhlYXRlZC1yb3VuZC1icnVzaC0wLTc1LXBybyIsInRpdGxlIjoiUGVyZmVjdGVyIFBybyBIZWF0ZWQgUm91bmQgQnJ1c2ggMC43NVwiIFBybyArIn0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MzA0Mjg3MzAxIiwic2hvcnRJZCI6IjE3OTczMDQyODczMDEiLCJ2YXJpYW50cyI6WyIxNjc5NTIwMDE1OTgxMyJdLCJoYW5kbGUiOiJlbWJlbGxpc2gtdm9sdW1lLXNwcmF5LTEwb3oiLCJ0aXRsZSI6IkVNQkVMTElTSCBGaW5pc2hpbmcgU3ByYXkiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9FbWJlbGxpc2hfRmluaXNoaW5nX1NwcmF5X1VwZGF0ZWRfUHJvZHVjdF9TaG90XzEuanBnP3Y9MTc2MjQzOTQ3NCJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzM0MjA2ODgwNSIsInNob3J0SWQiOiIxNzk3MzQyMDY4ODA1IiwidmFyaWFudHMiOlsiNTI4NzI5MTQyNzI1NjYiLCI1MDk4MTMwNzk0MTE3NCIsIjQ3OTQwNDMzMTE3NDk0IiwiNTMyOTc4ODE1MTQyOTQiXSwiaGFuZGxlIjoiZ29nby1taW5pLXJvdW5kLWJydXNoIiwidGl0bGUiOiJHb0dvIE1pbmkgUm91bmQgQnJ1c2giLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9nb2dvLXBpbmstcGV0YWxzLTN4NC1mZWF0dXJlZC1jb21wLmpwZz92PTE3NTkyNTQyMDkifV19fSx7ImlkIjoiNDg1NDIiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAyODgzMzM0NTU2NzAiLCJzaG9ydElkIjoiMTAyODgzMzM0NTU2NzAiLCJ2YXJpYW50cyI6WyI1MjQ2MzU3MDI4ODk1MCJdLCJoYW5kbGUiOiJzbW9vdGhpZS1taW5pLWJydXNoIiwidGl0bGUiOiJTTU9PVEhJRSBNaW5pIEJydXNoIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvU01PT1RISUVCUlVTSE1JTkkucG5nP3Y9MTc1MzI5NzU5NiJ9XX19LCJ1cHNlbGwiOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzQyNzY5MTU4OSIsInNob3J0SWQiOiIxNzk3NDI3NjkxNTg5IiwidmFyaWFudHMiOlsiNTEwMzA1MTc4NDIyMzAiLCI0OTI0Njc3OTQ3NDIzMCIsIjQ4MzY4MTUzNDYxMDQ2IiwiNTEwMzA1MTc3NDM5MjYiLCI0Njk1Mzc0NjEzNzM5OCIsIjUyMzk1ODE1NjAwNDM4IiwiNTIzOTU4MTY1MTc5NDIiLCI1MjM5NTgyMDU0ODQwNiJdLCJoYW5kbGUiOiJzbW9vdGhpZS1icnVzaCIsInRpdGxlIjoiU01PT1RISUUgQnJ1c2gifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMjg4MzQyMjA0NzI2Iiwic2hvcnRJZCI6IjEwMjg4MzQyMjA0NzI2IiwidmFyaWFudHMiOlsiNTI0NjM1OTg5OTM3MTgiXSwiaGFuZGxlIjoic21vb3RoaWUtbGFyZ2UtYnJ1c2giLCJ0aXRsZSI6IlNNT09USElFIExhcmdlIEJydXNoIn0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDAxNTAzMjYwNzAzMCIsInNob3J0SWQiOiIxMDAxNTAzMjYwNzAzMCIsInZhcmlhbnRzIjpbIjUxMzcwMzczOTM5NTEwIiwiNTEzNzAzNzQwMDUwNDYiLCI1MTM3MDM3Mzk3MjI3OCJdLCJoYW5kbGUiOiJzbW9vdGhpZS1icnVzaC1kZXRhbmdsZXItZHVvIiwidGl0bGUiOiJTTU9PVEhJRSBCcnVzaCBEdW8iLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9zbW9vdGhpZS1kdW8tdmlvbGV0LXBpbmstM3g0LWNvbXByZXNzZWQuanBnP3Y9MTc1NzExNzIxMyJ9XX19LHsiaWQiOiI1MTExMyIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3NDI3NjkxNTg5Iiwic2hvcnRJZCI6IjE3OTc0Mjc2OTE1ODkiLCJ2YXJpYW50cyI6WyI1MTAzMDUxNzg0MjIzMCIsIjQ5MjQ2Nzc5NDc0MjMwIiwiNDgzNjgxNTM0NjEwNDYiLCI1MTAzMDUxNzc0MzkyNiIsIjQ2OTUzNzQ2MTM3Mzk4IiwiNTIzOTU4MTU2MDA0MzgiLCI1MjM5NTgxNjUxNzk0MiIsIjUyMzk1ODIwNTQ4NDA2Il0sImhhbmRsZSI6InNtb290aGllLWJydXNoIiwidGl0bGUiOiJTTU9PVEhJRSBCcnVzaCIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL1Ntb290aGllX0JydXNoX1B1cnBsZS5qcGc/dj0xNzM1NTY3NzA5In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDI4ODMzMzQ1NTY3MCIsInNob3J0SWQiOiIxMDI4ODMzMzQ1NTY3MCIsInZhcmlhbnRzIjpbIjUyNDYzNTcwMjg4OTUwIl0sImhhbmRsZSI6InNtb290aGllLW1pbmktYnJ1c2giLCJ0aXRsZSI6IlNNT09USElFIE1pbmkgQnJ1c2giLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9TTU9PVEhJRUJSVVNITUlOSS5wbmc/dj0xNzUzMjk3NTk2In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xM
12437DI4ODM0MjIwNDcyNiIsInNob3J0SWQiOiIxMDI4ODM0MjIwNDcyNiIsInZhcmlhbnRzIjpbIjUyNDYzNTk4OTkzNzE4Il0sImhhbmRsZSI6InNtb290aGllLWxhcmdlLWJydXNoIiwidGl0bGUiOiJTTU9PVEhJRSBMYXJnZSBCcnVzaCIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL1NNT09USElFQlJVU0hMQVJHRV8xXzEucG5nP3Y9MTc1MzI5ODAwOSJ9XX19LHsiaWQiOiI1ODk4IiwidiI6MiwidHJpZ2dlciI6eyJvbiI6InNwZWNpZmljIiwic2VsZWN0aW9uIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczMDQyODczMDEiLCJzaG9ydElkIjoiMTc5NzMwNDI4NzMwMSIsInZhcmlhbnRzIjpbIjE2Nzk1MjAwMTU5ODEzIl0sImhhbmRsZSI6ImVtYmVsbGlzaC12b2x1bWUtc3ByYXktMTBveiIsInRpdGxlIjoiRW1iZWxsaXNoIEZpbmlzaGluZyBTcHJheSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0VtYmVsbGlzaF9GaW5pc2hpbmdfU3ByYXlfVXBkYXRlZF9Qcm9kdWN0X1Nob3RfMS5qcGc/dj0xNzQwNjYzMTQ1In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MjUxNDk4MDUzIiwic2hvcnRJZCI6IjE3OTcyNTE0OTgwNTMiLCJ2YXJpYW50cyI6WyIxNjc5NDM2ODAxNjQ1MyJdLCJoYW5kbGUiOiJlbWJlbGxpc2gtbGlnaHR3ZWlnaHQtc3R5bGluZy1wYXN0ZSIsInRpdGxlIjoiRW1iZWxsaXNoIFRleHR1cml6aW5nIERlZmluZXIifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzQ0OTgyNTQ2NTk2NDQiLCJzaG9ydElkIjoiNDQ5ODI1NDY1OTY0NCIsInZhcmlhbnRzIjpbIjMxOTYxNjI4ODM1OTAwIl0sImhhbmRsZSI6ImVtYmVsbGlzaC1mb2FtIiwidGl0bGUiOiJFbWJlbGxpc2ggVGV4dHVyaXppbmcgRm9hbSJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzQyNzY5MTU4OSIsInNob3J0SWQiOiIxNzk3NDI3NjkxNTg5IiwidmFyaWFudHMiOlsiNTEwMzA1MTc4NDIyMzAiLCI0OTI0Njc3OTQ3NDIzMCIsIjQ4MzY4MTUzNDYxMDQ2IiwiNTEwMzA1MTc3NDM5MjYiLCI0Njk1Mzc0NjEzNzM5OCIsIjUyMzk1ODE1NjAwNDM4IiwiNTIzOTU4MTY1MTc5NDIiLCI1MjM5NTgyMDU0ODQwNiJdLCJoYW5kbGUiOiJzbW9vdGhpZS1icnVzaCIsInRpdGxlIjoiU21vb3RoaWUgQnJ1c2gifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTkyMzM5MDc1MzgyIiwic2hvcnRJZCI6IjEwMTkyMzM5MDc1MzgyIiwidmFyaWFudHMiOlsiNTE4NjMzMTI0NjYyMzAiXSwiaGFuZGxlIjoiZ2xvc3MtcmVzdG9yYXRpdmUtc2hpbmUtc2VydW0iLCJ0aXRsZSI6IkdMT1NTIFNoaW5lIFJlY292ZXJ5IFNlcnVtIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvR0xPU1NTSElORVJFQ09WRVJZU0VSVU0uanBnP3Y9MTc1NzM1MTYxNCJ9XX19LHsiaWQiOiIzMzg5NSIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iOnsiaWQiOiJnaWQ6Ly9zaG9waWZ5L0NvbGxlY3Rpb24vMjYxODM4ODMxNjc2IiwidGl0bGUiOiJSb290IFRvdWNoLVVwIiwiaW1hZ2UiOm51bGwsImhhbmRsZSI6InJvb3QtdG91Y2gtdXAiLCJ1cGRhdGVkQXQiOiIyMDI1LTA3LTA4VDA0OjQ1OjQ3WiIsInByb2R1Y3RzQ291bnQiOnsiY291bnQiOjEyLCJfX3R5cGVuYW1lIjoiQ291bnQifSwic29ydE9yZGVyIjoiTUFOVUFMIiwiX190eXBlbmFtZSI6IkNvbGxlY3Rpb24ifX19LCJ1cHNlbGwiOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzQyNzY5MTU4OSIsInNob3J0SWQiOiIxNzk3NDI3NjkxNTg5IiwidmFyaWFudHMiOlsiNTEwMzA1MTc4NDIyMzAiLCI0OTI0Njc3OTQ3NDIzMCIsIjQ4MzY4MTUzNDYxMDQ2IiwiNTEwMzA1MTc3NDM5MjYiLCI0Njk1Mzc0NjEzNzM5OCIsIjUyMzk1ODE1NjAwNDM4IiwiNTIzOTU4MTY1MTc5NDIiLCI1MjM5NTgyMDU0ODQwNiJdLCJoYW5kbGUiOiJzbW9vdGhpZS1icnVzaCIsInRpdGxlIjoiU21vb3RoaWUgQnJ1c2gifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTkyMzM5MDc1MzgyIiwic2hvcnRJZCI6IjEwMTkyMzM5MDc1MzgyIiwidmFyaWFudHMiOlsiNTE4NjMzMTI0NjYyMzAiXSwiaGFuZGxlIjoiZ2xvc3MtcmVzdG9yYXRpdmUtc2hpbmUtc2VydW0iLCJ0aXRsZSI6IkdMT1NTIFNoaW5lIFJlY292ZXJ5IFNlcnVtIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvR0xPU1NTSElORVJFQ09WRVJZU0VSVU0uanBnP3Y9MTc1NzM1MTYxNCJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvOTM5MDM5NzcxODgzOCIsInNob3J0SWQiOiI5MzkwMzk3NzE4ODM4IiwidmFyaWFudHMiOlsiNDg5NTU3MzIwOTkzODIiXSwiaGFuZGxlIjoiaGVhdGxlc3Mtc29mdC1ncmlwLXJvbGxlcnMiLCJ0aXRsZSI6IlZvbHVtaXppbmcgU29mdC1HcmlwIFJvbGxlcnMgLSBTaG9ydCBTZXQiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9Tb2Z0LUdyaXBSb2xsZXJzU2hvcnRTZXQxLmpwZz92PTE3NDY0ODI3ODQifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTg2NjM2Mzk0ODA2Iiwic2hvcnRJZCI6IjEwMTg2NjM2Mzk0ODA2IiwidmFyaWFudHMiOlsiNTE4NDMwMTk3NjgxMTgiXSwiaGFuZGxlIjoic29mdC1ncmlwLWhlYXRsZXNzLXJvbGxlcnMtbG9uZy1zZXQiLCJ0aXRsZSI6IlZvbHVtaXppbmcgU29mdC1HcmlwIFJvbGxlcnMgLSBMb25nIFNldCIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL1NvZnQtR3JpcFJvbGxlcnNMb25nU2V0MS5qcGc/dj0xNzQ2NDgyNzg0In1dfX0seyJpZCI6IjEwNTg5IiwidiI6MiwidHJpZ2dlciI6eyJvbiI6InNwZWNpZmljIiwic2VsZWN0aW9uIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkzOTAzOTc3MTg4MzgiLCJzaG9ydElkIjoiOTM5MDM5NzcxODgzOCIsInZhcmlhbnRzIjpbIjQ4OTU1NzMyMDk5MzgyIl0sImhhbmRsZSI6ImhlYXRsZXNzLXNvZnQtZ3JpcC1yb2xsZXJzIiwidGl0bGUiOiJWb2x1bWl6aW5nIFNvZnQtR3JpcCBSb2xsZXJzIC0gU2hvcnQgU2V0IiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvU29mdC1HcmlwUm9sbGVyc1Nob3J0U2V0MS5qcGc/dj0xNzQ2NDgyNzg0In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xM
12437DE4NjYzNjM5NDgwNiIsInNob3J0SWQiOiIxMDE4NjYzNjM5NDgwNiIsInZhcmlhbnRzIjpbIjUxODQzMDE5NzY4MTE4Il0sImhhbmRsZSI6InNvZnQtZ3JpcC1oZWF0bGVzcy1yb2xsZXJzLWxvbmctc2V0IiwidGl0bGUiOiJWb2x1bWl6aW5nIFNvZnQtR3JpcCBSb2xsZXJzIC0gTG9uZyBTZXQiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9Tb2Z0LUdyaXBSb2xsZXJzTG9uZ1NldDEuanBnP3Y9MTc0NjQ4Mjc4NCJ9XX19LCJ1cHNlbGwiOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzMwNDI4NzMwMSIsInNob3J0SWQiOiIxNzk3MzA0Mjg3MzAxIiwidmFyaWFudHMiOlsiMTY3OTUyMDAxNTk4MTMiXSwiaGFuZGxlIjoiZW1iZWxsaXNoLXZvbHVtZS1zcHJheS0xMG96IiwidGl0bGUiOiJFbWJlbGxpc2ggRmluaXNoaW5nIFNwcmF5In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC84MjcyMTI0NDEyMjE0Iiwic2hvcnRJZCI6IjgyNzIxMjQ0MTIyMTQiLCJ2YXJpYW50cyI6WyI0NTAzNzc3NDIwOTMzNCJdLCJoYW5kbGUiOiJlbWJlbGxpc2gtZmxleC1zcHJheSIsInRpdGxlIjoiRW1iZWxsaXNoIEZsZXggU3ByYXkifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTc0Mjc2OTE1ODkiLCJzaG9ydElkIjoiMTc5NzQyNzY5MTU4OSIsInZhcmlhbnRzIjpbIjUxMDMwNTE3ODQyMjMwIiwiNDkyNDY3Nzk0NzQyMzAiLCI0ODM2ODE1MzQ2MTA0NiIsIjUxMDMwNTE3NzQzOTI2IiwiNDY5NTM3NDYxMzczOTgiLCI1MjM5NTgxNTYwMDQzOCIsIjUyMzk1ODE2NTE3OTQyIiwiNTIzOTU4MjA1NDg0MDYiXSwiaGFuZGxlIjoic21vb3RoaWUtYnJ1c2giLCJ0aXRsZSI6IlNtb290aGllIEJydXNoIn0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE5MjMzOTA3NTM4MiIsInNob3J0SWQiOiIxMDE5MjMzOTA3NTM4MiIsInZhcmlhbnRzIjpbIjUxODYzMzEyNDY2MjMwIl0sImhhbmRsZSI6Imdsb3NzLXJlc3RvcmF0aXZlLXNoaW5lLXNlcnVtIiwidGl0bGUiOiJHTE9TUyBTaGluZSBSZWNvdmVyeSBTZXJ1bSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0dMT1NTU0hJTkVSRUNPVkVSWVNFUlVNLmpwZz92PTE3NTczNTE2MTQifV19fSx7ImlkIjoiMjg5NTUiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvODExMzY0MTQyMzE1OCIsInNob3J0SWQiOiI4MTEzNjQxNDIzMTU4IiwidmFyaWFudHMiOlsiNDc1NTIwMzQyMTAxMDIiXSwiaGFuZGxlIjoiZ29nby1taW5pLWhhaXItZ
12437HJ5ZXIiLCJ0aXRsZSI6IkdvR28gTWluaSBIYWlyIERyeWVyIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvR29Hb0hhaXJEcnllckJsdXNoMi5qcGc/dj0xNzE0NjY1Njg3In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MzQyMDY4ODA1Iiwic2hvcnRJZCI6IjE3OTczNDIwNjg4MDUiLCJ2YXJpYW50cyI6WyI1MDk4MTMwNzk0MTE3NCIsIjQ3OTQwNDMzMTE3NDk0IiwiNTI4NzI5MTQyNzI1NjYiXSwiaGFuZGxlIjoiZ29nby1taW5pLXJvdW5kLWJydXNoIiwidGl0bGUiOiJHb0dvIE1pbmkgUm91bmQgQnJ1c2gifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczMDQyODczMDEiLCJzaG9ydElkIjoiMTc5NzMwNDI4NzMwMSIsInZhcmlhbnRzIjpbIjE2Nzk1MjAwMTU5ODEzIl0sImhhbmRsZSI6ImVtYmVsbGlzaC12b2x1bWUtc3ByYXktMTBveiIsInRpdGxlIjoiRW1iZWxsaXNoIEZpbmlzaGluZyBTcHJheSJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvODI3MjEyNDQxMjIxNCIsInNob3J0SWQiOiI4MjcyMTI0NDEyMjE0IiwidmFyaWFudHMiOlsiNDUwMzc3NzQyMDkzMzQiXSwiaGFuZGxlIjoiZW1iZWxsaXNoLWZsZXgtc3ByYXkiLCJ0aXRsZSI6IkVtYmVsbGlzaCBGbGV4IFNwcmF5In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDE5MjMzOTA3NTM4MiIsInNob3J0SWQiOiIxMDE5MjMzOTA3NTM4MiIsInZhcmlhbnRzIjpbIjUxODYzMzEyNDY2MjMwIl0sImhhbmRsZSI6Imdsb3NzLXJlc3RvcmF0aXZlLXNoaW5lLXNlcnVtIiwidGl0bGUiOiJHTE9TUyBTaGluZSBSZWNvdmVyeSBTZXJ1bSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL0dMT1NTU0hJTkVSRUNPVkVSWVNFUlVNLmpwZz92PTE3NTczNTE2MTQifV19fSx7ImlkIjoiNTU5MDkiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvODY4OTM4OTE3NTA5NCIsInNob3J0SWQiOiI4Njg5Mzg5MTc1MDk0IiwidmFyaWFudHMiOlsiNTExNjczMDc1OTYwODYiLCI1MTE2NzMwNzYyODg1NCJdLCJoYW5kbGUiOiJib2R5d2F2ZXItbGFyZ2Utd2F2ZS1oYWlyLXN0eWxlciIsInRpdGxlIjoiQm9keVdhdmVyIExhcmdlIFdhdmUgU3R5bGVyIn0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDM3NDc3ODQyMTU1OCIsInNob3J0SWQiOiIxMDM3NDc3ODQyMTU1OCIsInZhcmlhbnRzIjpbIjUzMTc1MTE2MDA1Njg2Il0sImhhbmRsZSI6ImJvZHl3YXZlci1zbWFsbC13YXZlLXN0eWxlciIsInRpdGxlIjoiQm9keVdhdmVyIFNtYWxsIFdhdmUgU3R5bGVyIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvQm9keVdhdmVyX1NtYWxsXzA1YjlkNWEyLWE3ZTYtNDc1NC04YWQ1LTdjOTg2MzUzMTMxNC53ZWJwP3Y9MTc2MTY2NDE3NCJ9XX19LCJ1cHNlbGwiOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTc5NzMwNDI4NzMwMSIsInNob3J0SWQiOiIxNzk3MzA0Mjg3MzAxIiwidmFyaWFudHMiOlsiMTY3OTUyMDAxNTk4MTMiXSwiaGFuZGxlIjoiZW1iZWxsaXNoLXZvbHVtZS1zcHJheS0xMG96IiwidGl0bGUiOiJFbWJlbGxpc2ggRmluaXNoaW5nIFNwcmF5In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC84MjcyMTI0NDEyMjE0Iiwic2hvcnRJZCI6IjgyNzIxMjQ0MTIyMTQiLCJ2YXJpYW50cyI6WyI0NTAzNzc3NDIwOTMzNCJdLCJoYW5kbGUiOiJlbWJlbGxpc2gtZmxleC1zcHJheSIsInRpdGxlIjoiRW1iZWxsaXNoIEZsZXggU3ByYXkifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTkyMzM5MDc1MzgyIiwic2hvcnRJZCI6IjEwMTkyMzM5MDc1MzgyIiwidmFyaWFudHMiOlsiNTE4NjMzMTI0NjYyMzAiXSwiaGFuZGxlIjoiZ2xvc3MtcmVzdG9yYXRpdmUtc2hpbmUtc2VydW0iLCJ0aXRsZSI6IkdMT1NTIFNoaW5lIFJlY292ZXJ5IFNlcnVtIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvR0xPU1NTSElORVJFQ09WRVJZU0VSVU0uanBnP3Y9MTc1NzM1MTYxNCJ9XX19LHsiaWQiOiI1ODQ3NCIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MzQyMDY4ODA1Iiwic2hvcnRJZCI6IjE3OTczNDIwNjg4MDUiLCJ2YXJpYW50cyI6WyI1MDk4MTMwNzk0MTE3NCIsIjQ3OTQwNDMzMTE3NDk0IiwiNTI4NzI5MTQyNzI1NjYiXSwiaGFuZGxlIjoiZ29nby1taW5pLXJvdW5kLWJydXNoIiwidGl0bGUiOiJHb0dvIE1pbmkgUm91bmQgQnJ1c2giLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9nb2dvLXJldHJvLWZsb3JhbC0zeDQtY29tcHJlc3NlZC5qcGc/dj0xNzU3MTEyMjg5In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC84MTEzNjQxNDIzMTU4Iiwic2hvcnRJZCI6IjgxMTM2NDE0MjMxNTgiLCJ2YXJpYW50cyI6WyI0NzU1MjAzNDIxMDEwMiJdLCJoYW5kbGUiOiJnb2dvLW1pbmktaGFpci1kcnllciIsInRpdGxlIjoiR29HbyBNaW5pIEhhaXIgRHJ5ZXIifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzE3OTczMDQyODczMDEiLCJzaG9ydElkIjoiMTc5NzMwNDI4NzMwMSIsInZhcmlhbnRzIjpbIjE2Nzk1MjAwMTU5ODEzIl0sImhhbmRsZSI6ImVtYmVsbGlzaC12b2x1bWUtc3ByYXktMTBveiIsInRpdGxlIjoiRW1iZWxsaXNoIEZpbmlzaGluZyBTcHJheSJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAxOTIzMzkwNzUzODIiLCJzaG9ydElkIjoiMTAxOTIzMzkwNzUzODIiLCJ2YXJpYW50cyI6WyI1MTg2MzMxMjQ2NjIzMCJdLCJoYW5kbGUiOiJnbG9zcy1yZXN0b3JhdGl2ZS1zaGluZS1zZXJ1bSIsInRpdGxlIjoiR0xPU1MgU2hpbmUgUmVjb3ZlcnkgU2VydW0ifV19fSx7ImlkIjoiMzIyMDYiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IlByb2R1Y3QiLCJwcm9kdWN0cyI6W3siaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAxODgzMDM4NjAwMjIiLCJzaG9ydElkIjoiMTAxODgzMDM4NjAwMjIiLCJ2YXJpYW50cyI6WyI1MTg0OTM0OTc1OTI4NiJdLCJoYW5kbGUiOiJpb24taG90LXJvbGxlcnMtc2hvcnQtc2V0IiwidGl0bGUiOiJJb24gSG90IFJvbGxlcnMgU2hvcnQgU2V0IiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDA2Ny82NDc1LzcwNjEvZmlsZXMvSW9uSG90Um9sbGVyc1Nob3J0U2V0LmpwZz92PTE3MzgzMzg1NTcifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTg4MzAzODI3MjU0Iiwic2hvcnRJZCI6IjEwMTg4MzAzODI3MjU0IiwidmFyaWFudHMiOlsiNTE4NDkzNDk2OTM3NTAiXSwiaGFuZGxlIjoiaW9uLWhvdC1yb2xsZXJzLWxvbmctc2V0IiwidGl0bGUiOiJJb24gSG90IFJvbGxlcnMgTG9uZyBTZXQiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMDY3LzY0NzUvNzA2MS9maWxlcy9Jb25Ib3RSb2xs
12437ZXJzTG9uZ1NldC5qcGc/dj0xNzM4MzM4NTU3In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3MzA0Mjg3MzAxIiwic2hvcnRJZCI6IjE3OTczMDQyODczMDEiLCJ2YXJpYW50cyI6WyIxNjc5NTIwMDE1OTgxMyJdLCJoYW5kbGUiOiJlbWJlbGxpc2gtdm9sdW1lLXNwcmF5LTEwb3oiLCJ0aXRsZSI6IkVtYmVsbGlzaCBGaW5pc2hpbmcgU3ByYXkifSx7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMTkyMzM5MDc1MzgyIiwic2hvcnRJZCI6IjEwMTkyMzM5MDc1MzgyIiwidmFyaWFudHMiOlsiNTE4NjMzMTI0NjYyMzAiXSwiaGFuZGxlIjoiZ2xvc3MtcmVzdG9yYXRpdmUtc2hpbmUtc2VydW0iLCJ0aXRsZSI6IkdMT1NTIFNoaW5lIFJlY292ZXJ5IFNlcnVtIn0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xNzk3NDI3NjkxNTg5Iiwic2hvcnRJZCI6IjE3OTc0Mjc2OTE1ODkiLCJ2YXJpYW50cyI6WyI1MTAzMDUxNzg0MjIzMCIsIjQ5MjQ2Nzc5NDc0MjMwIiwiNDgzNjgxNTM0NjEwNDYiLCI1MTAzMDUxNzc0MzkyNiIsIjQ2OTUzNzQ2MTM3Mzk4IiwiNTIzOTU4MTU2MDA0MzgiLCI1MjM5NTgxNjUxNzk0MiIsIjUyMzk1ODIwNTQ4NDA2Il0sImhhbmRsZSI6InNtb290aGllLWJydXNoIiwidGl0bGUiOiJTTU9PVEhJRSBCcnVzaCIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAwNjcvNjQ3NS83MDYxL2ZpbGVzL3Ntb290aGllLXZpb2xldC0zeDQtY29tcHJlc3NlZC5qcGc/dj0xNzU3MTEyODg4In1dfX1d"); 12438 if (val === '') { 12439 val = b64DecodeUnicode("W3siX2lkIjoiIiwidHJpZ2dlciI6bnVsbCwidXBzZWxsIjpudWxsfV0="); 12440 } 12441 val = JSON.parse(val); 12442 window.upcartSettings.upcartEditorSettings.upsellsItems = val; 12443 12444 val = b64DecodeUnicode("Ym90dG9t"); 12445 if (val === '') { 12446 val = b64DecodeUnicode("Ym90dG9t"); 12447 } 12448 window.upcartSettings.upcartEditorSettings.upsellsModulePosition = val; 12449 12450 val = b64DecodeUnicode("dHJ1ZQ=="); 12451 if (val === '') { 12452 val = b64DecodeUnicode("ZmFsc2U="); 12453 } 12454 val = JSON.parse(val); 12455 window.upcartSettings.upcartEditorSettings.recommendedUpsells = val; 12456 12457 val = b64DecodeUnicode("ZmFsc2U="); 12458 if (val === '') { 12459 val = b64DecodeUnicode("ZmFsc2U="); 12460 } 12461 val = JSON.parse(val); 12462 window.upcartSettings.upcartEditorSettings.smartVariantMatching = val; 12463 12464 val = b64DecodeUnicode("Y29tcGxlbWVudGFyeQ=="); 12465 if (val === '') { 12466 val = b64DecodeUnicode("cmVsYXRlZA=="); 12467 } 12468 window.upcartSettings.upcartEditorSettings.upsellRecommendationIntent = val; 12469 12470 val = b64DecodeUnicode("bm8tcHJvZHVjdHM="); 12471 if (val === '') { 12472 val = b64DecodeUnicode("bm8tcHJvZHVjdHM="); 12473 } 12474 window.upcartSettings.upcartEditorSettings.upsellProductReviews = val; 12475 12476 val = b64DecodeUnicode("KHt7UkVWSUVXX0NPVU5UfX0gcmV2aWV3cyk="); 12477 if (val === '') { 12478 val = b64DecodeUnicode("KHt7UkVWSUVXX0NPVU5UfX0gcmV2aWV3cyk="); 12479 } 12480 window.upcartSettings.upcartEditorSettings.upsellProductReviewsTextTemplate = val; 12481 12482 val = b64DecodeUnicode(""); 12483 if (val === '') { 12484 val = b64DecodeUnicode(""); 12485 } 12486 window.upcartSettings.upcartEditorSettings.upsellStrategyId = val; 12487 12488 val = b64DecodeUnicode("ZmFsc2U="); 12489 if (val === '') { 12490 val = b64DecodeUnicode("ZmFsc2U="); 12491 } 12492 val = JSON.parse(val); 12493 window.upcartSettings.upcartEditorSettings.upsellStrategyEnabled = val; 12494 12495 val = b64DecodeUnicode("ZmFsc2U="); 12496 if (val === '') { 12497 val = b64DecodeUnicode("ZmFsc2U="); 12498 } 12499 val = JSON.parse(val); 12500 window.upcartSettings.upcartEditorSettings.addonsModule = val; 12501 12502 val = b64DecodeUnicode("eyJzaGlwcGluZ1Byb3RlY3Rpb24iOnsiYWN0aXZlIjp0cnVlLCJwcm9kdWN0SGFuZGxlIjpudWxsLCJ0aWVycyI6W10sInVzZVByZURpc2NvdW50ZWRUb3RhbCI6ZmFsc2V9LCJwcm9kdWN0QWRkb24iOnsiYWN0aXZlIjpmYWxzZSwicHJvZHVjdEhhbmRsZSI6bnVsbCwicHJvZHVjdCI6bnVsbH19"); 12503 if (val === '') { 12504 val = b64DecodeUnicode("eyJzaGlwcGluZ1Byb3RlY3Rpb24iOnsiYWN0aXZlIjpmYWxzZSwicHJvZHVjdEhhbmRsZSI6bnVsbCwidGllcnMiOltdLCJ1c2VQcmVEaXNjb3VudGVkVG90YWwiOmZhbHNlfSwicHJvZHVjdEFkZG9uIjp7ImFjdGl2ZSI6ZmFsc2UsInByb2R1Y3RIYW5kbGUiOm51bGwsInByb2R1Y3QiOm51bGx9fQ=="); 12505 } 12506 val = JSON.parse(val); 12507 window.upcartSettings.upcartEditorSettings.addonsField = val; 12508 12509 val = b64DecodeUnicode("ZmFsc2U="); 12510 if (val === '') { 12511 val = b64DecodeUnicode("ZmFsc2U="); 12512 } 12513 val = JSON.parse(val); 12514 window.upcartSettings.upcartEditorSettings.addonsShouldBeCounted = val; 12515 12516 val = b64DecodeUnicode("dHJ1ZQ=="); 12517 if (val === '') { 12518 val = b64DecodeUnicode("dHJ1ZQ=="); 12519 } 12520 val = JSON.parse(val); 12521 window.upcartSettings.upcartEditorSettings.enableAddonAttributeKey = val; 12522 12523 val = b64DecodeUnicode("ZmFsc2U="); 12524 if (val === '') { 12525 val = b64DecodeUnicode("ZmFsc2U="); 12526 } 12527 val = JSON.parse(val); 12528 window.upcartSettings.upcartEditorSettings.notesModule = val; 12529 12530 val = b64DecodeUnicode("PHA+QWRkIHNwZWNpYWwgaW5zdHJ1Y3Rpb25zPC9wPg=="); 12531 if (val === '') { 12532 val = b64DecodeUnicode("PHA+QWRkIHNwZWNpYWwgaW5zdHJ1Y3Rpb25zPC9wPg=="); 12533 } 12534 window.upcartSettings.upcartEditorSettings.notesTitle = val; 12535 12536 val = b64DecodeUnicode("U3BlY2lhbCBpbnN0cnVjdGlvbnMgZm9yIHlvdXIgb3JkZXI="); 12537 if (val === '') { 12538 val = b64DecodeUnicode("U3BlY2lhbCBpbnN0cnVjdGlvbnMgZm9yIHlvdXIgb3JkZXI="); 12539 } 12540 window.upcartSettings.upcartEditorSettings.notesPlaceholder = val; 12541 12542 val = b64DecodeUnicode("Ym90dG9tT2ZDYXJ0"); 12543 if (val === '') { 12544 val = b64DecodeUnicode("Ym90dG9tT2ZDYXJ0"); 12545 } 12546 window.upcartSettings.upcartEditorSettings.notesPlacement = val; 12547 12548 val = b64DecodeUnicode("ZmFsc2U="); 12549 if (val === '') { 12550 val = b64DecodeUnicode("ZmFsc2U="); 12551 } 12552 val = JSON.parse(val); 12553 window.upcartSettings.upcartEditorSettings.trustBadgesModule = val; 12554 12555 val = b64DecodeUnicode("eyJ1cmwiOiJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vdXBjYXJ0LXB1YmxpYy9wYXltZW50LWljb25zLndlYnAiLCJwb3NpdGlvbiI6ImJvdHRvbSJ9"); 12556 if (val === '') { 12557 val = b64DecodeUnicode("eyJ1cmwiOiIiLCJwb3NpdGlvbiI6ImJvdHRvbSJ9"); 12558 } 12559 val = JSON.parse(val); 12560 window.upcartSettings.upcartEditorSettings.trustBadges = val; 12561 12562 val = b64DecodeUnicode("dHJ1ZQ=="); 12563 if (val === '') { 12564 val = b64DecodeUnicode("ZmFsc2U="); 12565 } 12566 val = JSON.parse(val); 12567 window.upcartSettings.upcartEditorSettings.discountCodeModule = val; 12568 12569 val = b64DecodeUnicode("RGlzY291bnQgY29kZQ=="); 12570 if (val === '') { 12571 val = b64DecodeUnicode("RGlzY291bnQgY29kZQ=="); 12572 } 12573 window.upcartSettings.upcartEditorSettings.discountCodePlaceholder = val; 12574 12575 val = b64DecodeUnicode("QXBwbHk="); 12576 if (val === '') { 12577 val = b64DecodeUnicode("QXBwbHk="); 12578 } 12579 window.upcartSettings.upcartEditorSettings.discountCodeButtonText = val; 12580 12581 val = b64DecodeUnicode("ZmFsc2U="); 12582 if (val === '') { 12583 val = b64DecodeUnicode("ZmFsc2U="); 12584 } 12585 val = JSON.parse(val); 12586 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesModule = val; 12587 12588 val = b64DecodeUnicode("ZmFsc2U="); 12589 if (val === '') { 12590 val = b64DecodeUnicode("ZmFsc2U="); 12591 } 12592 val = JSON.parse(val); 12593 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesPreventDowngrades = val; 12594 12595 val = b64DecodeUnicode("VXBncmFkZSB0byB7e3NlbGxpbmdfcGxhbl9ncm91cF9uYW1lfX0="); 12596 if (val === '') { 12597 val = b64DecodeUnicode("VXBncmFkZSB0byB7e3NlbGxpbmdfcGxhbl9ncm91cF9uYW1lfX0="); 12598 } 12599 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesButtonText = val; 12600 12601 val = b64DecodeUnicode("dHJ1ZQ=="); 12602 if (val === '') { 12603 val = b64DecodeUnicode("ZmFsc2U="); 12604 } 12605 val = JSON.parse(val); 12606 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesOptionsTextOverride = val; 12607 12608 val = b64DecodeUnicode("VXBncmFkZSB0byBBdXRvc2hpcCAmIFNhdmUgMTAl"); 12609 if (val === '') { 12610 val = b64DecodeUnicode("e3tzZWxsaW5nX3BsYW5fZ3JvdXBfbmFtZX19IC8ge3tzZWxsaW5nX3BsYW5fbmFtZX19"); 12611 } 12612 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesOptionsText = val; 12613 12614 val = b64DecodeUnicode("T25lLXRpbWUgcHVyY2hhc2U="); 12615 if (val === '') { 12616 val = b64DecodeUnicode("T25lLXRpbWUgcHVyY2hhc2U="); 12617 } 12618 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesOneTimePurchaseText = val; 12619 12620 val = b64DecodeUnicode("RnVsbCBwcmljZQ=="); 12621 if (val === '') { 12622 val = b64DecodeUnicode("RnVsbCBwcmljZQ=="); 12623 } 12624 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesFullPriceText = val; 12625 12626 val = b64DecodeUnicode("U3Vic2NyaXB0aW9uIHBsYW5z"); 12627 if (val === '') { 12628 val = b64DecodeUnicode("U3Vic2NyaXB0aW9uIHBsYW5z"); 12629 } 12630 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesSubscriptionPlansText = val; 12631 12632 val = b64DecodeUnicode("ZmFsc2U="); 12633 if (val === '') { 12634 val = b64DecodeUnicode("ZmFsc2U="); 12635 } 12636 val = JSON.parse(val); 12637 window.upcartSettings.upcartEditorSettings.expressPayModule = val; 12638 12639 val = b64DecodeUnicode("W10="); 12640 if (val === '') { 12641 val = b64DecodeUnicode("W10="); 12642 } 12643 val = JSON.parse(val); 12644 window.upcartSettings.upcartEditorSettings.expressPayEnabledGateways = val; 12645 12646 val = b64DecodeUnicode("MQ=="); 12647 if (val === '') { 12648 val = b64DecodeUnicode("MQ=="); 12649 } 12650 window.upcartSettings.upcartEditorSettings.expressPayVersion = val; 12651 12652 val = b64DecodeUnicode("eyJmaWVsZHMiOnsic2hvcGlmeUFjY2VsZXJhdGVkQ2hlY2tvdXRCdXR0b25CbG9ja1NpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dEJ1dHRvbklubGluZVNpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dElubGluZUFsaWdubWVudCI6ImNlbnRlciIsInNob3BpZnlBY2NlbGVyYXRlZENoZWNrb3V0Um93R2FwIjo4fX0="); 12653 if (val === '') { 12654 val = b64DecodeUnicode("eyJmaWVsZHMiOnsic2hvcGlmeUFjY2VsZXJhdGVkQ2hlY2tvdXRCdXR0b25CbG9ja1NpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dEJ1dHRvbklubGluZVNpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dElubGluZUFsaWdubWVudCI6ImNlbnRlciIsInNob3BpZnlBY2NlbGVyYXRlZENoZWNrb3V0Um93R2FwIjo4fX0="); 12655 } 12656 val = JSON.parse(val); 12657 window.upcartSettings.upcartEditorSettings.expressPayAcceleratedCheckoutStyles = val; 12658 12659 val = b64DecodeUnicode("dHJ1ZQ=="); 12660 if (val === '') { 12661 val = b64DecodeUnicode("dHJ1ZQ=="); 12662 } 12663 val = JSON.parse(val); 12664 window.upcartSettings.upcartEditorSettings.expressPayHideBuyerConsent = val; 12665 12666 val = b64DecodeUnicode("ZmFsc2U="); 12667 if (val === '') { 12668 val = b64DecodeUnicode("ZmFsc2U="); 12669 } 12670 val = JSON.parse(val); 12671 window.upcartSettings.stickyCartButtonEditorSettings.stickyCartButtonIsEnabled = val; 12672 12673 val = b64DecodeUnicode("IzAwMDAwMA=="); 12674 if (val === '') { 12675 val = b64DecodeUnicode("IzAwMDAwMA=="); 12676 } 12677 window.upcartSettings.stickyCartButtonEditorSettings.backgroundColor = val; 12678 12679 val = b64DecodeUnicode("YWxsRGV2aWNlcw=="); 12680 if (val === '') { 12681 val = b64DecodeUnicode("YWxsRGV2aWNlcw=="); 12682 } 12683 window.upcartSettings.stickyCartButtonEditorSettings.deviceSettings = val; 12684 12685 val = b64DecodeUnicode("I2ZmZmZmZg=="); 12686 if (val === '') { 12687 val = b64DecodeUnicode("I2ZmZmZmZg=="); 12688 } 12689 window.upcartSettings.stickyCartButtonEditorSettings.iconColor = val; 12690 12691 val = b64DecodeUnicode("c3F1YXJlQmFn"); 12692 if (val === '') { 12693 val = b64DecodeUnicode("c3F1YXJlQmFn"); 12694 } 12695 window.upcartSettings.stickyCartButtonEditorSettings.iconStyle = val; 12696 12697 val = b64DecodeUnicode("I2U0MjYyNg=="); 12698 if (val === '') { 12699 val = b64DecodeUnicode("I2U0MjYyNg=="); 12700 } 12701 window.upcartSettings.stickyCartButtonEditorSettings.quantityBackgroun
12701dColor = val; 12702 12703 val = b64DecodeUnicode("I2ZmZmZmZg=="); 12704 if (val === '') { 12705 val = b64DecodeUnicode("I2ZmZmZmZg=="); 12706 } 12707 window.upcartSettings.stickyCartButtonEditorSettings.quantityTextColor = val; 12708 12709 val = b64DecodeUnicode("Ym90dG9tUmlnaHQ="); 12710 if (val === '') { 12711 val = b64DecodeUnicode("Ym90dG9tUmlnaHQ="); 12712 } 12713 window.upcartSettings.stickyCartButtonEditorSettings.stickyCartPosition = val; 12714 12715 12716})(); 12717</script>
12717 12718 12719 12720 12721 12722 12723
12724<script> 12725 window.upcartPreloadedCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 12726 window.upcartMoneyFormat = "${{amount_no_decimals}}"; 12727 window.upcartStorefrontPublicAccessToken = 'e5ec5de681d73d5413f7f580d72207db' || undefined; 12728 window.upcartClientLocalizationCountry = { 12729 isoCode: 'US', 12730 currency: 'CurrencyDrop', 12731 name: 'United States' 12732 }; 12733 window.upcartMyShopifyDomain = 'calista-tools.myshopify.com'; 12734</script>
12734 12735 12736
12737<script> 12738 window.upcart = window.upcart || {}; 12739 window.upcart.customer = { isLoggedIn: false }; 12740 </script>
12740<script> 12741 window.upcartPreloadedCart.items = window.upcartPreloadedCart.items.map((line) => { 12742 12743 12744 return line; 12745 }); 12746</script>
12746 12747 12748<div id="upCart"></div> 12749<div id="upCartStickyButton"></div> 12750 12751<style id="upCart-customCSS"> 12752 12753 /* ============================================ 12754 Calista â Upcart V2 Custom CSS 12755 12756 UPDATED: 2026-09-17 12757 12758 Current treatment: 12759 - Compact cart typography/layout 12760 - "Add Recommended Products" directly below cart items 12761 - Recommendations collapsed by default using the existing toggle script 12762 - Coupon entry expands from a compact text row (companion script required) 12763 - Standard checkout displayed above paid Checkout+ 12764 - 2-up recommendation grid 12765 - Divider between cart items and recommendations 12766 - Prevents Upcart bottomModules wrapper from 12767 anchoring recommendations to bottom of drawer 12768 12769 WARNING: 12770 .upcart-internal-* and [class*="..."] 12771 selectors are undocumented Upcart classes and 12772 could change after an Upcart update. 12773 12774 ============================================ */ 12775 12776 12777/* ============================================ 12778 ICONS 12779 ============================================ */ 12780 12781[class*="upcart-public-component"] svg, 12782[class*="upcart-public-component"] svg path { 12783 fill: #33322E !important; 12784} 12785 12786 12787/* ============================================ 12788 CART ITEM IMAGES 12789 ============================================ */ 12790 12791.upcart-public-component-product-tile__image-wrapper { 12792 width: 88px !important; 12793 min-width: 88px !important; 12794 max-width: 88px !important; 12795 12796 overflow: hidden !important; 12797} 12798 12799.upcart-public-component-product-tile__image { 12800 width: 100% !important; 12801 height: auto !important; 12802 12803 object-fit: contain !important; 12804} 12805 12806 12807/* ============================================ 12808 TYPOGRAPHY 12809 ============================================ */ 12810 12811 12812/* Cart header */ 12813 12814.upcart-internal-header h3 { 12815 font-size: 15px !important; 12816 font-weight: 500 !important; 12817 12818 margin: 0 !important; 12819} 12820 12821 12822/* Rewards / free gift message */ 12823 12824.upcart-internal-rewards__message p { 12825 font-size: 14px !important; 12826 line-height: 1.2 !important; 12827 12828 margin: 0 !important; 12829} 12830 12831 12832/* Generic section titles */ 12833 12834.upcart-internal-style__title-large { 12835 font-size: 14px !important; 12836 font-weight: 500 !important; 12837 12838 margin-bottom: 6px !important; 12839} 12840 12841 12842/* Cart product title */ 12843 12844.upcart-internal-component-product-tile__product-title { 12845 font-size: 14px !important; 12846 font-weight: 500 !important; 12847 line-height: 1.25 !important; 12848 12849 margin: 0 0 2px !important; 12850} 12851 12852 12853/* Cart product price + quantity */ 12854 12855.upcart-internal-component-product-tile__price, 12856.upcart-internal-component-product-tile__quantity-selector input { 12857 font-size: 13px !important; 12858} 12859 12860 12861/* Product options */ 12862 12863.upcart-internal-cart-items__key-value-pair { 12864 font-size: 12px !important; 12865} 12866 12867 12868/* Upsell product title + price */ 12869 12870.upcart-internal-component-upsell-tile__title, 12871.upcart-internal-component-upsell-tile__price { 12872 font-size: 13px !important; 12873 font-weight: 500 !important; 12874 line-height: 1.25 !important; 12875 12876 margin: 0 !important; 12877} 12878 12879 12880/* Upsell Add button */ 12881 12882.upcart-internal-component-upsell-tile 12883.upcart-internal-component__button { 12884 font-size: 11px !important; 12885 12886 padding: 12px 10px !important; 12887} 12888 12889 12890/* Cart subtotal */ 12891 12892[class*="Footer__cartSubtotalTitle"], 12893[class*="Footer__cartSubtotalValue"] { 12894 font-size: 14px !important; 12895 font-weight: 500 !important; 12896} 12897 12898 12899/* ============================================ 12900 GENERAL CART SPACING 12901 ============================================ */ 12902 12903 12904/* Header */ 12905 12906.upcart-internal-header { 12907 padding: 12px 14px !important; 12908} 12909 12910 12911/* Rewards / free gift progress */ 12912 12913.upcart-internal-rewards { 12914 padding: 14px 30px 20px !important; 12915} 12916 12917 12918/* Individual cart product */ 12919 12920.upcart-internal-component-product-tile { 12921 padding-top: 14px !important; 12922 padding-bottom: 30px !important; 12923 12924 border-bottom: none !important; 12925} 12926 12927 12928/* Footer */ 12929 12930[class~="styles_Footer__"] { 12931 padding-top: 5px !important; 12932 padding-bottom: 10px !important; 12933} 12934 12935[class*="Footer__cartSummarySection"] { 12936 padding-top: 4px !important; 12937 padding-bottom: 6px !important; 12938} 12939 12940 12941/* ============================================ 12942 MAIN CART ITEMS 12943 12944 Prevent cart items area from stretching. 12945 ============================================ */ 12946 12947.upcart-public-cart-items, 12948.upcart-internal-cart-items { 12949 flex: 0 0 auto !important; 12950 12951 flex-grow: 0 !important; 12952 flex-shrink: 0 !important; 12953 12954 width: 100% !important; 12955 12956 height: auto !important; 12957 min-height: 0 !important; 12958 max-height: none !important; 12959 12960 margin: 0 !important; 12961 12962 box-sizing: border-box !important; 12963} 12964 12965 12966/* ============================================ 12967 UPCART BOTTOM MODULES POSITIONING FIX 12968 12969 Prevent recommendations from being anchored 12970 to the bottom of the cart drawer. 12971 ============================================ */ 12972 12973[class*="CartPreview__bottomModules"] { 12974 position: static !important; 12975 12976 top: auto !important; 12977 right: auto !important; 12978 bottom: auto !important; 12979 left: auto !important; 12980 12981 display: block !important; 12982 12983 flex: 0 0 auto !important; 12984 flex-grow: 0 !important; 12985 flex-shrink: 0 !important; 12986 12987 align-self: stretch !important; 12988 12989 width: 100% !important; 12990 12991 height: auto !important; 12992 min-height: 0 !important; 12993 max-height: none !important; 12994 12995 margin: 0 !important; 12996 margin-top: 0 !important; 12997 margin-bottom: 0 !important; 12998 12999 padding: 0 !important; 13000 13001 transform: none !important; 13002 13003 box-sizing: border-box !important; 13004 13005 border-top: 1px solid #E5E5E5 !important; 13006} 13007 13008 13009/* ============================================ 13010 PARENT OF BOTTOM MODULES 13011 13012 Backup override in case Upcart is using 13013 justify-content / flex spacing on the parent. 13014 ============================================ */ 13015 13016*:has(> [class*="CartPreview__bottomModules"]) { 13017 justify-content: flex-start !important; 13018 align-content: flex-start !important; 13019} 13020 13021*:has(> [class*="CartPreview__bottomModules"]) 13022> [class*="CartPreview__bottomModules"] { 13023 margin-top: 0 !important; 13024 13025 flex: 0 0 auto !important; 13026 flex-grow: 0 !important; 13027} 13028 13029 13030/* ============================================ 13031 RECOMMENDED PRODUCTS CONTAINER 13032 ============================================ */ 13033 13034.upcart-public-upsell, 13035.upcart-internal-upsell { 13036 position: relative !important; 13037 13038 flex: 0 0 auto !important; 13039 13040 flex-grow: 0 !important; 13041 flex-shrink: 0 !important; 13042 13043 align-self: stretch !important; 13044 13045 width: 100% !important; 13046 13047 height: auto !important; 13048 min-height: 0 !important; 13049 max-height: none !important; 13050 13051 margin: 0 !important; 13052 padding: 0 !important; 13053 13054 background: #FFFFFF !important; 13055 13056 border: none !important; 13057 13058 box-sizing: border-box !important; 13059} 13060 13061 13062/* ============================================ 13063 ADD RECOMMENDED PRODUCTS ACCORDION HEADING 13064 ============================================ */ 13065 13066.upcart-public-upsell__title, 13067.upcart-internal-upsell__title { 13068 position: relative !important; 13069 13070 display: flex !important; 13071 13072 align-items: center !important; 13073 justify-content: space-between !important; 13074 13075 flex: 0 0 auto !important; 13076 13077 width: 100% !important; 13078 13079 height: auto !important; 13080 min-height: 44px !important; 13081 13082 margin: 0 !important; 13083 13084 padding: 11px 20px !important; 13085 13086 background: #FFFFFF !important; 13087 13088 color: #33322E !important; 13089 13090 font-size: 14px !important; 13091 font-weight: 500 !important; 13092 line-height: 1.25 !important; 13093 13094 text-align: left !important; 13095 13096 cursor: pointer !important; 13097 13098 box-sizing: border-box !important; 13099} 13100 13101 13102/* Override generic Upcart title styles */ 13103 13104.upcart-public-upsell__title.upcart-internal-style__title-large, 13105.upcart-public-upsell__title.upcart-internal-style__title { 13106 margin: 0 !important; 13107 13108 padding: 11px 20px !important; 13109 13110 font-size: 14px !important; 13111 font-weight: 500 !important; 13112 line-height: 1.25 !important; 13113} 13114 13115 13116/* Actual heading text */ 13117 13118.upcart-public-upsell__title p { 13119 margin: 0 !important; 13120 padding: 0 !important; 13121 13122 font-size: 14px !important; 13123 font-weight: 500 !important; 13124 line-height: 1.25 !important; 13125 13126 color: #33322E !important; 13127 13128 text-align: left !important; 13129} 13130 13131 13132/* Chevron follows the existing script's aria-expanded state. */ 13133.upcart-public-upsell__title::after {
13134 content: "" !important; 13135 display: block !important; 13136 position: static !important; 13137 flex: 0 0 7px !important; 13138 width: 7px !important; 13139 height: 7px !important; 13140 margin: 0 2px 3px 12px !important; 13141 border: solid #33322E !important; 13142 border-width: 0 1.5px 1.5px 0 !important; 13143 transform: rotate(45deg) !important; 13144 transition: transform 150ms ease !important; 13145} 13146 13147.upcart-public-upsell__title[aria-expanded="true"]::after { 13148 transform: rotate(225deg) !important; 13149 margin-bottom: -3px !important; 13150} 13151 13152.upcart-public-upsell__title:focus-visible { 13153 outline: 2px solid #33322E !important; 13154 outline-offset: -3px !important; 13155} 13156 13157 13158/* ============================================ 13159 RECOMMENDATION GRID 13160 VISIBLE WHEN EXPANDED 13161 ============================================ */ 13162 13163.upcart-public-upsell__vertical-layout-wrapper, 13164.upcart-internal-upsell__vertical-layout-wrapper { 13165 display: grid !important; 13166 13167 grid-template-columns: 13168 minmax(0, 1fr) 13169 minmax(0, 1fr) !important; 13170 13171 gap: 8px !important; 13172 13173 width: 100% !important; 13174 13175 height: auto !important; 13176 min-height: 0 !important; 13177 max-height: none !important; 13178 13179 margin: 0 !important; 13180 13181 padding: 13182 10px 13183 12px 13184 14px !important; 13185 13186 background: #FFFFFF !important; 13187 13188 border-top: 1px solid #EFEFEF !important; 13189 border-bottom: 1px solid #E5E5E5 !important; 13190 13191 overflow: visible !important; 13192 13193 box-sizing: border-box !important; 13194} 13195 13196 13197/* Hide only when the working dropdown control is initialized. 13198 If that script is unavailable, recommendations remain accessible. */ 13199.upcart-public-upsell__title[aria-expanded="false"] 13200~ .upcart-public-upsell__vertical-layout-wrapper, 13201.upcart-internal-upsell__title[aria-expanded="false"] 13202~ .upcart-internal-upsell__vertical-layout-wrapper { 13203 display: none !important; 13204} 13205 13206 13207/* ============================================ 13208 PRODUCT GRID WRAPPERS 13209 ============================================ */ 13210 13211.upcart-public-upsell__vertical-layout-wrapper > div, 13212.upcart-public-upsell__vertical-layout-wrapper > div > div, 13213.upcart-internal-upsell__vertical-layout-wrapper > div, 13214.upcart-internal-upsell__vertical-layout-wrapper > div > div { 13215 height: 100% !important; 13216 min-height: 0 !important; 13217} 13218 13219 13220/* ============================================ 13221 UPSELL PRODUCT CARDS 13222 ============================================ */ 13223 13224.upcart-public-component-upsell-tile { 13225 display: flex !important; 13226 13227 flex-direction: column !important; 13228 align-items: stretch !important; 13229 13230 width: 100% !important; 13231 height: 100% !important; 13232 13233 margin: 0 !important; 13234 padding: 10px !important; 13235 13236 gap: 4px !important; 13237 13238 background: #F7F7F7 !important; 13239 13240 box-sizing: border-box !important; 13241} 13242 13243 13244/* ============================================ 13245 UPSELL PRODUCT IMAGE 13246 ============================================ */ 13247 13248.upcart-public-component-upsell-tile__image-container { 13249 width: 100% !important; 13250 height: auto !important; 13251 13252 margin: 0 !important; 13253 13254 overflow: hidden !important; 13255} 13256 13257.upcart-public-component-upsell-tile__image { 13258 display: block !important; 13259 13260 width: 100% !important; 13261 height: auto !important; 13262 13263 object-fit: contain !important; 13264} 13265 13266 13267/* ============================================ 13268 UPSELL PRODUCT INFORMATION 13269 ============================================ */ 13270 13271.upcart-public-component-upsell-tile__info { 13272 display: flex !important; 13273 13274 flex: 1 1 auto !important; 13275 flex-direction: column !important; 13276 13277 width: 100% !important; 13278 13279 min-width: 0 !important; 13280} 13281 13282 13283/* Product title */ 13284 13285.upcart-public-component-upsell-tile__title { 13286 margin: 0 !important; 13287 13288 font-size: 13px !important; 13289 font-weight: 500 !important; 13290 line-height: 1.25 !important; 13291 13292 color: #33322E !important; 13293 13294 overflow-wrap: break-word !important; 13295 word-break: normal !important; 13296} 13297 13298 13299/* Product title link */ 13300 13301.upcart-public-component-upsell-tile__title-link { 13302 color: #33322E !important; 13303 13304 text-decoration: none !important; 13305} 13306 13307 13308/* Price row */ 13309 13310.upcart-public-component-upsell-tile__price-row { 13311 margin-top: 2px !important; 13312} 13313 13314 13315/* Price */ 13316 13317.upcart-public-component-upsell-tile__price { 13318 font-size: 13px !important; 13319 font-weight: 500 !important; 13320 line-height: 1.25 !important; 13321 13322 color: #33322E !important; 13323} 13324 13325 13326/* Keep controls at bottom of card */ 13327 13328.upcart-public-component-upsell-tile__variant-row { 13329 margin-top: auto !important; 13330} 13331 13332 13333/* Add button */ 13334 13335.upcart-public-component-upsell-tile 13336.upcart-public-component__button { 13337 width: 100% !important; 13338 13339 font-size: 11px !important; 13340 13341 padding: 12px 10px !important; 13342} 13343 13344 13345/* ============================================ 13346 MOBILE 13347 ============================================ */ 13348 13349@media screen and (max-width: 480px) { 13350 13351 /* Heading */ 13352 13353 .upcart-public-upsell__title, 13354 .upcart-public-upsell__title.upcart-internal-style__title-large, 13355 .upcart-public-upsell__title.upcart-internal-style__title { 13356 min-height: 44px !important; 13357 13358 padding: 11px 16px !important; 13359 } 13360 13361 13362 /* Recommendation grid */ 13363 13364 .upcart-public-upsell__vertical-layout-wrapper, 13365 .upcart-internal-upsell__vertical-layout-wrapper { 13366 grid-template-columns: 13367 minmax(0, 1fr) 13368 minmax(0, 1fr) !important; 13369 13370 gap: 8px !important; 13371 13372 padding: 13373 10px 13374 10px 13375 14px !important; 13376 } 13377 13378 13379 /* Recommendation cards */ 13380 13381 .upcart-public-component-upsell-tile { 13382 padding: 8px !important; 13383 } 13384} 13385 13386/* ============================================ 13387 COUPON ACCORDION 13388 Companion script creates the text-row button. 13389 Only the entry form is collapsed; applied discount 13390 labels, savings and messages remain outside it. 13391 ============================================ */ 13392 13393.upcart-public-discount-code.calista-coupon-accordion { 13394 margin-top: 0 !important; 13395 margin-bottom: 6px !important; 13396 padding-top: 0 !important; 13397 padding-bottom: 0 !important; 13398} 13399 13400.upcart-public-discount-code .calista-coupon-toggle { 13401 appearance: none !important; 13402 -webkit-appearance: none !important; 13403 display: flex !important; 13404 align-items: center !important; 13405 justify-content: space-between !important; 13406 gap: 12px !important; 13407 width: 100% !important; 13408 min-height: 40px !important; 13409 margin: 0 !important; 13410 padding: 10px 0 !important; 13411 border: 0 !important; 13412 border-radius: 0 !important; 13413 background: transparent !important; 13414 box-shadow: none !important; 13415 color: #33322E !important; 13416 font-family: inherit !important; 13417 font-size: 13px !important; 13418 font-weight: 400 !important; 13419 line-height: 1.4 !important; 13420 letter-spacing: normal !important; 13421 text-align: left !important; 13422 text-transform: none !important; 13423 cursor: pointer !important; 13424} 13425 13426.upcart-public-discount-code .calista-coupon-toggle::before { 13427 content: none !important; 13428} 13429 13430.upcart-public-discount-code .calista-coupon-toggle::after {
13431 content: "" !important; 13432 display: block !important; 13433 position: static !important; 13434 flex: 0 0 7px !important; 13435 width: 7px !important; 13436 height: 7px !important; 13437 margin: 0 2px 3px 0 !important; 13438 border: solid #33322E !important; 13439 border-width: 0 1.5px 1.5px 0 !important; 13440 transform: rotate(45deg) !important; 13441 transition: transform 150ms ease !important; 13442} 13443 13444.upcart-public-discount-code .calista-coupon-toggle[aria-expanded="true"]::after { 13445 transform: rotate(225deg) !important; 13446 margin-bottom: -3px !important; 13447} 13448 13449.upcart-public-discount-code .calista-coupon-toggle:focus-visible { 13450 outline: 2px solid #33322E !important; 13451 outline-offset: -2px !important; 13452} 13453 13454/* Hide only after the companion script has installed a working button. */ 13455.upcart-public-discount-code.calista-coupon-accordion 13456.upcart-public-discount-code__form[hidden] { 13457 display: none !important; 13458} 13459 13460.upcart-public-discount-code.calista-coupon-accordion 13461.upcart-public-discount-code__form:not([hidden]) { 13462 display: flex !important; 13463 gap: 8px !important; 13464 margin: 0 0 8px !important; 13465} 13466 13467.upcart-public-discount-code.calista-coupon-accordion 13468.upcart-public-discount-code__input-wrapper { 13469 flex: 1 1 auto !important; 13470 min-width: 0 !important; 13471} 13472 13473.upcart-public-discount-code.calista-coupon-accordion 13474.upcart-public-discount-code__input { 13475 min-height: 40px !important; 13476 font-size: 16px !important; 13477 border-radius: 0 !important; 13478} 13479 13480.upcart-public-discount-code.calista-coupon-accordion 13481.upcart-public-discount-code__button { 13482 flex: 0 0 auto !important; 13483 min-height: 40px !important; 13484 min-width: 76px !important; 13485 padding: 10px 14px !important; 13486 border-radius: 0 !important; 13487 font-size: 13px !important; 13488 line-height: 1.4 !important; 13489} 13490 13491 13492/* ============================================ 13493 LOOP CHECKOUT+ BUTTON ORDER 13494 Visual order only; existing Loop actions retained. 13495 ============================================ */ 13496 13497.upcart-checkout-button-container checkout-plus::part(product-info) { 13498 order: 0 !important; 13499} 13500 13501.upcart-checkout-button-container checkout-plus::part(secondary-button) { 13502 order: 1 !important; 13503} 13504 13505.upcart-checkout-button-container checkout-plus::part(primary-button) { 13506 order: 2 !important; 13507} 13508 13509@media (prefers-reduced-motion: reduce) { 13510 .upcart-public-upsell__title::after, 13511 .upcart-public-discount-code .calista-coupon-toggle::after { 13512 transition: none !important; 13513 } 13514} 13515 13516</style> 13517 13518 13519</div>
13519<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
13519 13520</body> 13521</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.