Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair
Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair
Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair
Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair
Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair
Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair
Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair

Brazilian Loose Deep Wave 3 Bundles with 4*4 Lace Closure Virgin Human Hair

$85.00
$161.25
-$76.25
Length-12 12 12+10
Please select a length
Part Design-Free Part
Please select a part design
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);

Hair Material

Top Quality Brazilian Loose Deep Wave 3 Bundles with 4x4 Lace Closure
Hair ColorNatural Color, Can Be Dyed & Bleached
TextureLoose Deep Wave
Hair Weight95-100g/bundle, 35-55g/closure
Hair WeftDouble Machine Weft
Hair Quality100% Virgin Hair, No Tangle, No Shedding, No Smell, Thick End
Item pre Package3pcs Weft &1pc Closure
Life TimeLast More Than 18 Months
AdvantageCan Still Keep The Same Soft Texture No Shedding No Tangle After Several Months
Handing TimeShip within 24 hours on Business Days After Payment (in-Stock Orders Only)
Delivery Time3-5 Working Days Fast Free Shipping
Return PolicyFree Return Within 30 Days