💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask
💜Purple Keratin Hair Mask

💜Purple Keratin Hair Mask

Price
$19.98
$16.99
Save  $2.99
Amount
Please select a amount
Quantity
24-hour fast shipping
30-day no-questions-asked returns
Free Shipping Over $ 50 ▎USA Free Shipping Over $ 80
PCI DSS/SSL secure payments
  • TIPS: All goods are authentic, with genuine patents, counterfeit must be investigated! Customers, please identify our products!!!
  • 😊If you are not satisfied with the goods you received, please contact us within 15 days after receiving, we will give you the best help!
  • 🚢 Shipping>>Worldwide express shipping available.
  • 🔥98.9% of customers buy 2 or more

❤️Locks Color & Neutralizes Brass & Yellow Tones For Blonde Silver Gray Highlighted Hair💈

FEATURES

COLOR LOCK TECHNOLOGY: Formulated specifically for blonde, silver, and gray hair, this mask helps to lock in color and maintain vibrancy, preventing fading and ensuring your highlights stay fresh and bright.

 

BRASS AND YELLOW TONE NEUTRALIZATION: The purple pigments effectively neutralize unwanted brassiness and yellow tones, leaving your hair with a cooler, more balanced color that enhances your overall look.

 

DEEP CONDITIONING BENEFITS: Infused with keratin, this hair mask deeply nourishes and conditions your hair, strengthening strands, reducing breakage, and enhancing shine for healthier, more manageable hair.

 

EASY APPLICATION: Designed for convenience, this mask can be easily incorporated into your regular hair care routine, providing results in just a few minutes, making it perfect for busy lifestyles.

 

SUITABLE FOR ALL HAIR TYPES: Whether your hair is straight, wavy, or curly, this versatile mask is suitable for all hair types, making it an essential addition to your hair care regimen for anyone with highlighted or color-treated hair.

 

SPECIFICATION

Net: 100g

Color: Purple

Package Includes: 1 * Purple Keratin Hair Mask - Locks Color & Neutralizes Brass & Yellow Tones For Blonde Silver Gray Highlighted Hair

NOTE

Store in a cool dry place, and avoid direct sunlight.

Keep out of reach of children.

Due to the different monitor and light effects, the actual color of the item might be slightly different from the color shown in the pictures.

Customer Reviews
Here are what our customers say.
Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.