🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
1/9
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
🎁2-in-1 Natural Essence Extract Silver Hair Dye
1/9

🎁2-in-1 Natural Essence Extract Silver Hair Dye

$18.99
$37.98
Save 50%
19154 sold
Net WT
Please select a net wt
Buy More Save More
Please select a buy more save more
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

FEATURES

ENRICHED WITH BOTANICAL EXTRACTS: Infused with a blend of nourishing botanical extracts, including Aqua, Aloe Barbadensis Leaf Extract, Symphytum Officinale Leaf Extract, Citrus Extract, and Hydrolyzed Wheat Protein, to deeply condition and restore your hair's natural shine and softness.

GENTLE SILVER HAIR DYE: The gentle, ammonia-free formula deposits a natural-looking silver hue, allowing you to embrace your unique hair in a healthy, non-damaging way, providing long-lasting color that stays vibrant, even with frequent washing.

SULFATE-FREE PARABEN-FREE: Formulated without harsh sulfates or parabens, this hair dye is gentle on your hair and scalp, ensuring a safe and pleasant coloring experience.

SILKY SMOOTH TEXTURE: The creamy, easy-to-apply texture glides on effortlessly, ensuring even coverage and a professional-looking result.

IDEAL FOR ALL HAIR TYPES: Suitable for all hair types, from fine and straight to thick and coil, it works its magic on any hair texture.