✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color
✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color

✨BUY 1 GET 1 FREE✨Dual-Tip Matte Lipstick – Smudge-Proof & Long-Lasting Color

Prezzo
€39.99
€18.99
Salva  €21.00
Color
Si prega di selezionare un color
QTY
Si prega di selezionare un qty
Quantità
Spedizione in tutto il mondo
Restituzione gratuita
Assistenza clienti 24/7
Pagamenti sicuri
The current produc does not participate any Rebate. Switch the participating product to check the design.
(This prompt will not be displayed on the client-side.)
var theme = window.C_SETTINGS && C_SETTINGS.theme && C_SETTINGS.theme.merchant_theme_name; var isFlash = /Flash/gi.test(theme); var isGeek = /Geek/gi.test(theme); var isNova23 = /Nova 2023/gi.test(theme); var isWind = /Wind/gi.test(theme); var isOnePage = /OnePage/gi.test(theme); var isHero = /Hero/gi.test(theme); var isBoost = /Boost/gi.test(theme); var isEva = /Eva/gi.test(theme); var isFarida = /Farida/gi.test(theme); var isPluto = /Pluto/gi.test(theme); var isLifeStyle = /Life Style/gi.test(theme); if(window.self === window.top) { (window.disabled_exts ||=[]).push('product_detail_rebate'); } class SpzRebateComponent extends SPZ.BaseElement { constructor(element) { super(element); } xhr_ = SPZServices.xhrFor(this.win); viewport_ = this.getViewport(); action_ = null; lang = document.documentElement.lang || 'en-US'; landPage = "\/promotions\/rebate\/"; pageType = 1; cart = []; initData = null; rebateInfo = null; renderData = null; footerImage = `${this.win.SHOPLAZZA["image_domain"]}oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg`; isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.initData = this.getProduct(); this.action_ = SPZServices.actionServiceForDoc(this.element); this.registerAction("triggerGetRenderData", () => { const event = SPZUtils.Event.create(this.win, "triggerGetRenderData", this.renderData); this.action_.trigger(this.element, "getRenderData", event); }); this.registerAction("bindPropagation", () => { document.querySelector(".product_detail_rebate_list").addEventListener("click", e => { e.stopPropagation(); this.win.sa && this.win.sa.track("plugin_rebate_promotion_click", { plugin_timestamp: Date.now(), plugin_location: "info", product_id: this.initData.product.id, discount_id: this.rebateInfo.discount_list.map((item) => item.discount_id)[0], }); }); }); } async mountCallback() { document.addEventListener("dj.variantChange", e => { const data = e.detail; if (document.querySelector("#product-select-modal.show")) return; this.initData = this.getProductJson(data); if (this.initData && this.initData.product && data.product && this.initData.product.id === data.product.id) { this.initRebate(this.initData, true); } else { this.getRebateInfo(); } }); document.addEventListener("dj.addToCart", e => { const v = e.detail; this.rebateInfo && this.win.sa && this.win.sa.track("plugin_rebate_atc", { variant_discount_id: this.getVariantDiscountId(v.variant_id).map(item => item.discount_id), discount_ids: this.rebateInfo.discount_list.map(item => item.discount_id), variant_id: v.variant_id, product_id: v.product_id, price: v.item_price, number: v.number, }); }); await this.getRebateInfo(); setTimeout(()=>{ if (document.querySelector(".plugin-container__bottom-fixed")) { this.showDiscountPopupsInfoBar(); } else { this.win.addEventListener("extloaded", () => { this.showDiscountPopupsInfoBar(); }); } },1000) } getProductJson = (mergeData = {}) => { const productJson = document.querySelector("#product-json"); let productJsonData = {}; if (productJson && productJson.textContent) { try { productJsonData = JSON.parse(productJson.textContent); } catch (e) {} } // 深度合并函数 const deepMerge = (target, source) => { if (source === null || source === undefined) { return target; } if (typeof source !== 'object' || Array.isArray(source)) { return source; } const result = { ...target }; for (const key in source) { if (source.hasOwnProperty(key)) { if ( typeof source[key] === 'object' && source[key] !== null && !Array.isArray(source[key]) && typeof target[key] === 'object' && target[key] !== null && !Array.isArray(target[key]) ) { result[key] = deepMerge(target[key], source[key]); } else { result[key] = source[key]; } } } return result; }; return deepMerge(productJsonData, mergeData); } getProduct = (() => { document.addEventListener("dj.variantChange", e => { if (!e.detail || !e.detail.product) return; let productJsonData = getProductJson(e.detail); if (this.win.jQuery && this.win.jQuery.fn && this.win.jQuery(document).data("djproduct") && productJsonData) { this.win.jQuery(document).data("djproduct", productJsonData); } }); return () => { let productData = null; if (this.win.jQuery && this.win.jQuery.fn) { try { let product = this.win.jQuery(document).data("djproduct"); if (product) { productData = JSON.parse(JSON.stringify(product)); } else { productData = null; } } catch (error) { productData = null; } } if (!productData) { const productJson = document.querySelector("#product-json"); productData = (productJson && productJson.textContent && JSON.parse(productJson.textContent)) || null; } return productData; }; })(); clearRebateInfoDom = () => { // 1. 清除 apis.render 渲染的 DOM (app_rebate_section) const rebateSection = document.getElementById('app_rebate_section'); if (rebateSection) { const rebateRuleSection = rebateSection.querySelector('.rebate_rule_section'); if (rebateRuleSection) { rebateRuleSection.remove(); } } // 2. 清除 templates_.renderTemplate 渲染的 DOM (app_rebate_block) const rebateBlock = document.getElementById('app_rebate_block'); if (rebateBlock) { const appRebateList = rebateBlock.querySelector('.app_rebate_list'); if (appRebateList) { appRebateList.remove(); } } // 3. 清除 insertProductDetailRebateTag 插入的 DOM // 清除所有 rebate-tag 元素 document.querySelectorAll('.slider-discount-tag.dj_skin_product_title.rebate-tag').forEach(tag => { tag.remove(); }); // 移除 data-rebate-tag 属性 const productContainer = document.querySelector('.product-details, .product-details, .page_container, .product-images, [data-section-type="product"]'); if (productContainer && productContainer.hasAttribute('data-rebate-tag')) { productContainer.removeAttribute('data-rebate-tag'); } }; initRebate = this.win.SPZCore.Types.debounce( this.win, (async (data) => { let discount_list = Object.assign([], this.rebateInfo?.discount_list); /* 按子商品的多少对优惠信息进行排序 */ discount_list && discount_list.sort((a, b) => { return b.variant_ids.length - a.variant_ids.length; }); /* 选中子商品时 筛选子商品的优惠信息 */ if (data.selected && data.selected.id) { discount_list = this.getVariantDiscountId(data.selected.id); } /* 无满减信息 */ if (!(discount_list && discount_list.length)) { this.clearRebateInfoDom(); return; } const isSection = !!document.querySelector( `div[data-section-type^="shoplazza://apps/publicapp/blocks/rebate"] #rebate_custom_component` ); if ( (this.rebateInfo.rebate_type == "sku" && data && data.selected && data.selected.id) || this.rebateInfo.rebate_type == "spu" ) { let nowLandpage = this.landPage; if (discount_list[0]) { nowLandpage = this.landPage + discount_list[0].discount_id || ""; } const info = { rebate: discount_list[0], maxShowCount: this.win.innerWidth > 768 ? 3 : 1, landPage: nowLandpage, modalFooterImg: `url(${`${this.win.SHOPLAZZA["image_domain"]}oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg`})`, }; this.renderData = info; if(isSection) { SPZ.whenApiDefined( document.getElementById("app_rebate_section") ).then(apis => { apis.render(info, true); }); } else { // 重新渲染 抖动问题处理 this.templates_ = SPZServices.templatesForDoc(); const newTplDom = await this.templates_.renderTemplate(document.querySelector('#appRebateBlockTpl'), info) const parentDiv = document.querySelector('#app_rebate_block'); const oldDom = parentDiv.querySelector('.app_rebate_list'); if(oldDom){ parentDiv.replaceChild(newTplDom, oldDom); } else { parentDiv.appendChild(newTplDom); } } } this.insertProductDetailRebateTag(this.rebateInfo.tag); var pluginCurrencyEvent = new CustomEvent("plugin_currency_update"); document.dispatchEvent(pluginCurrencyEvent); }).bind(this), 10 ); getRebateInfo = async () => { if (this.initData && this.initData.product && this.initData.product.id) { var variant_ids = this.initData.product.variants.map(variant => variant.id); const res = await this.xhr_.fetchJson( "\/api\/discount-rebate\/product-discount", { method: "POST", body: { product_id: this.initData.product.id, product_type: this.initData.product.product_type, variant_ids: variant_ids, }, } ); if (!SPZCore.Types.isEmptyObject(res.rebate_info)) { res.rebate_info.tag = res.tag; res.rebate_info.rebate_type = res.rebate_type; this.rebateInfo = res.rebate_info; this.initRebate(this.initData); } else { if (this.win.top !== this.win.self) { const noActivity = document.getElementById("no-rebate-activity"); noActivity && (noActivity["style"].display = "block"); } } } }; getVariantDiscountId = (variant_id) => { if (!variant_id || !this.rebateInfo) return []; var rebateId = this.rebateInfo.variant_discount_map[variant_id]; return this.rebateInfo.discount_list.filter(item => item.discount_id == rebateId) || []; }; insertProductDetailRebateTag = (tag) => { if (!tag) return // 旧判断逻辑 const productSelectModal = document.querySelector('#product-select-modal'); if (productSelectModal && productSelectModal.classList.contains('show')) { return; } setTimeout(() => { var $tag_container = []; if (isNova23) { $tag_container = document.querySelectorAll('.product-details .product-images-container'); } else if (isFlash) { $tag_container = document.querySelectorAll('.product-detail .product-images .product-main-images-container'); } else if (isGeek) { $tag_container = document.querySelectorAll('.product-images #product-images-inner-container spz-carousel .i-spzhtml-slide-item'); } else if (isWind) { $tag_container = document.querySelectorAll('.product-detail .product-images-container .i-spzhtml-slides-container'); } else if (isOnePage) { $tag_container = document.querySelectorAll('.product-details .product-main-images'); } else if (isHero) { $tag_container = document.querySelectorAll('.product-detail #product-images-container #product-images-carousel .spz-carousel-slide'); } else if (isBoost) { $tag_container = document.querySelectorAll('.boost-product-detail .product-image__layout-list .slides .slides-item .product-info__slide .slider-zoom'); } else if (isEva) { $tag_container = document.querySelectorAll('.page_container [data-section-type="product"] .support-slick'); } else if (isFarida) { $tag_container = document.querySelectorAll('.product-details .product-images-container'); } else if (isLifeStyle) { $tag_container = document.querySelectorAll('.page_container [data-section-type="product_detail"] .sep-slider,.support-slick'); } else if (isPluto) { $tag_container = document.querySelectorAll('.page_container [data-section-type="product_detail"] .sep-slider,.support-slick'); } if($tag_container.length === 0) return; // 给商祥页添加满送插件的标识属性 const $product_container = document.querySelector('.product-details, .product-details, .page_container, .product-images, [data-section-type="product"]') if($product_container) { $product_container.setAttribute('data-rebate-tag', 'true'); } // 部分主题需要调整样式 if (isWind) { Array.from($tag_container).forEach(container => { container.style.position = 'relative'; }); } document.querySelectorAll('.slider-discount-tag.dj_skin_product_title.rebate-tag').forEach(tag => tag.remove()); // 遍历所有容器并插入标签 Array.from($tag_container).forEach(container => { container.insertAdjacentHTML('beforeend', `<div class="slider-discount-tag dj_skin_product_title rebate-tag">${tag}</div>`); }); }, 1000) }; fetchInfoBar = async () => { let discount_ids = []; if (this.pageType === 1) { discount_ids = this.rebateInfo && this.rebateInfo.discount_list.map(item => item.discount_id); } else if (this.pageType === 38) { discount_ids = [this.win.rebateObj.rebateCollection_id] || []; } const productObj = this.getProduct(); const { cart } = await this.xhr_.fetchJson('/api/cart') return this.xhr_.fetchJson("\/api\/discount-rebate\/global-text", { method: "POST", body: { product_type: productObj && productObj.product && productObj.product.product_type, line_items: (cart?.line_items || []).map(item => ({ variant_id: item.variant_id, product_id: item.product_id, quantity: item.quantity, price: item.price, selected: !item.unchecked, })), discount_ids: discount_ids, }, }); }; renderBottomBanner = res => { if (!res.tips) return; document.querySelector(".discount__info-bar")?.remove(); var bar_style = `background:linear-gradient(90deg,${res.config.background_color_start},${res.config.background_color_end}); color:${res.config.color};`; let data = { tips: res.tips, landPage: this.landPage + res.id, bar_style }; const html = SPZCore.Dom.htmlFor(this.element); const banner = html([ `<a impr="1" imprevt="1" id="rebate_bottom_bar" href=${data.landPage} class="discount__info-bar text-truncate" data-activity-type="rebate" style="${data.bar_style}">${data.tips}</a>`, ]); document.querySelector(".plugin-container__bottom-fixed").appendChild(banner); const pluginCurrencyEvent = new CustomEvent("plugin_currency_update"); document.dispatchEvent(pluginCurrencyEvent); if (res.id) { var trackParams = { page: this.pageType, discount_id: res.id, product_id: this.getProduct()?.product.id, }; banner.addEventListener("click", () => { this.win.sa && this.win.sa.track("plugin_rebate_promotion_click", { plugin_timestamp: Date.now(), plugin_location: "bottom_bar", product_id: trackParams.product_id, discount_id: trackParams.discount_id, }); }); this.win.sa && this.win.sa.track("plugin_rebate_banner_pv", trackParams); } }; showDiscountPopupsInfoBar = () => { if ([13, 14, 19, 30, 31].includes(this.pageType)) return; if (document.querySelector(".plugin-container__bottom-fixed .discount__info-bar")) return; this.fetchInfoBar().then(this.renderBottomBanner); document.addEventListener("dj.cartChange", () => { this.fetchInfoBar().then(this.renderBottomBanner); }); }; } SPZ.defineElement("spz-custom-rebate", SpzRebateComponent);

FEATURES

DUAL-FUNCTION DESIGN - The pointed tip allows for precise lining and easy filling. This combines two steps into one, saving you time and space in your makeup bag while ensuring a perfectly defined lip contour.

VELVETY MATTE FINISH - Delivers a modern, non-glossy look with intense color. This sophisticated finish provides full coverage that feels comfortable and lightweight, creating a bold statement without any unwanted shine or stickiness.

LONG-LASTING WEAR - Formulated to stay put for hours without frequent touch-ups. Its smudge-proof and transfer-resistant properties ensure your lip color remains vibrant and flawless through meals, drinks, and your busy day.

RICH PIGMENTATION - Offers a high-impact color payoff in a single swipe. You can achieve a deep, opaque look effortlessly, making your lips appear fuller and more captivating with minimal product application.

SMOOTH, CREAMY TEXTURE - Glides on effortlessly without tugging or skipping. The non-drying formula keeps your lips feeling soft and hydrated, preventing the cracking or flaking often associated with matte lipsticks for all-day comfort.

SPECIFICATION

Color:1#, 2#, 3#, 4#, 5#, 6#, 7#, 8#, 9#

Net Content:3g

Size:7.3*1.8cm

Shelf Life:3 years

Package Includes:1*Smudge-Proof Creamy Matte Lipstick

NOTES

Please allow 2-3cm error due to manual measurement. Please make sure you do not mind before purchasing.

Color may not appear as exactly as in real life due to variations between the computer monitors.