Longwear Liquid Lip LineršŸ”„BUY 1 GET 1 FREEšŸ”„

$29.99
$58.95
-49%
Color 1:  01 #
Color 2:  01 #
visitors currently looking at this productļ¼ā¤
šŸŽ‰High Quality šŸŽ‰
šŸ”„Global Hot SalešŸ”„
⚔Sustainably Made⚔
šŸ’„Secure PaymentsšŸ’„
Quantity

Description

Elevate your lip game with the ultimate LIQUID LIP LINER !šŸ’„āœØ

šŸ’§Waterproof!šŸ‘Œ
Lasts ALL day and looks absolutely gorgeous! šŸ’–

šŸ’™ Easy to Use
 2-in-1 lip liner and liquid lipstick that applies smoothly and evenly. Its water-tint formula delivers a natural, vibrant color with a lightweight feel.

šŸ’™ Convenient & Portable
Small and compact, the lip stain marker fits easily in your purse or pocket. The precise applicator tip allows for effortless control, helping you achieve the perfect lip look every time.

šŸ’™ Long Lasting & Waterproof
With a matte velvet finish, this lip stain is non-sticky, long-lasting, and waterproof! It won’t fade or smudge—your power stays put for hours with highly pigmented color that looks flawless all day.

šŸ’™ Multiple Occasions
Exquisite and elegant, this lip stain is perfect for light makeup. Suitable for all seasons, it’s great for the office, dating, shopping, or summer parties with friends. A beautiful and convenient lip makeup set that’s easy to wear!

šŸ’™ Cruelty-Free & Vegan
Committed to high-quality products that are cruelty-free and vegan. Our lip stain marker is not tested on animals and contains no animal-derived ingredients.

Features:

  1. Long Lasting & Waterproof: Not sticky, won't fade, and features a matte velvet finish. This lip stain pen is long-wearing and stays put for hours with highly pigmented color, offering easy application with a glossy texture that's water-tight for a perfect 24-hour look.

  2. Versatile Use: Serves as both a lip liner and a lip stain or lipstick, giving you the flexibility to create the desired look.

  3. Multiple Colors Available: Choose from a variety of vivid colors to meet your every need and style.

  4. Precision Application: Designed to contour the edges of your lips perfectly for a flawless finish.

  5. Perfect Gift: This lip stain pen makes an ideal gift for friends or loved ones who appreciate beauty products. šŸŽ

Specification:

Item Name: Lip Liner Stain Pen
Target Area: Lips
NET: 0.6ml

Note:

  1. Color Variation: Due to monitor resolution and shooting angles, there may be slight color differences between the actual product and the images shown; the pictures are for reference only.

  2. Skin Test: Please perform a skin test before use to ensure compatibility.

  3. Storage Instructions: Keep it in a dry, cool place and out of reach of children to maintain quality and safety.

OUR GUARANTEE

šŸ“¦ Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

šŸ’° Money-Back Guarantee: If your items arrive damaged or become defective within 15 days of normal usage, we will gladly issue a replacement or refund.

āœ‰ļø 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week. 

šŸ”’ Safe & Secure Checkouts: We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'c4148979-926a-4975-9691-7df1b1f7eb61'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // åŠ č“­äø­ēŠ¶ę€ } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '9c3dc571-bdcc-4456-8acd-fca94aef8aba'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // é‡ę–°ęø²ęŸ“ ęŠ–åŠØé—®é¢˜å¤„ē† this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // ē»‘å®šäŗ‹ä»¶ bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popoveré¢ęæē‚¹å‡»čŒƒå›“ if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // å…¼å®¹äø»é¢˜ this.toggleProductSticky(true); }) // ē›‘å¬å˜ä½“å˜åŒ– document.addEventListener('dj.variantChange', async(event) => { // é‡ę–°ęø²ęŸ“ const variant = event.detail.selected; if (variant.product_id == '9c3dc571-bdcc-4456-8acd-fca94aef8aba' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // å…¼å®¹äø»é¢˜ handleFitTheme() { // top å±žę€§å½±å“ęŠ–åŠØ let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (stickyå±žę€§å½±å“ popover 层级展示, ä¼šč¢«å…¶ä»–å…ƒē“ č¦†ē›–) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // čæ˜åŽŸčÆ„äø»é¢˜åŽŸęœ‰ēš„stickyå±žę€§å€¼ productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // å…¼å®¹äø»é¢˜ this.toggleProductSticky(); }); // åŠ č“­äŗ‹ä»¶ this.registerAction('handleAddToCart', (invocation) => { // é˜»ę­¢äŗ‹ä»¶å†’ę³” const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // å¦‚ęžœę­£åœØåŠ č“­äø­ļ¼Œē›“ęŽ„čæ”å›ž if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // åŠ č“­ę–¹ę³• async addToCart(quantity) { // č®¾ē½®åŠ č“­äø­ēŠ¶ę€ this.isAddingToCart_ = true; const productId = '9c3dc571-bdcc-4456-8acd-fca94aef8aba'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // č§¦å‘åŠ č“­ęˆåŠŸęē¤ŗ this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // ę— č®ŗęˆåŠŸå¤±č“„ļ¼Œéƒ½é‡ē½®åŠ č“­ēŠ¶ę€ this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // č§¦å‘åŠ č“­ęˆåŠŸęē¤ŗ triggerAddToCartToast_() { // å¦‚ęžœäø»é¢˜ęœ‰č‡Ŗå·±ēš„åŠ č“­ęē¤ŗļ¼Œåˆ™äøę˜¾ē¤ŗ const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // ę˜¾ē¤ŗåŗ”ē”Øēš„åŠ č“­ęˆåŠŸęē¤ŗ this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() { // åŒäø€é”µåÆčƒ½ęœ‰å¤šäøŖ block å„č‡Ŗęø²ęŸ“ęœ¬ snippetļ¼ŒåÆ¼č‡“é€»č¾‘å…ƒē“  spz-custom-discount-toast(#appsAddCartToastFunc) é‡å¤ć€‚ // ä»…äæē•™ DOM äø­ē¬¬äø€äøŖå®žä¾‹ļ¼Œå…¶ä½™é‡å¤å®žä¾‹ē§»é™¤č‡Ŗčŗ«ļ¼ŒäæčÆé€»č¾‘å…ƒē“ åŠå…¶ action 引用(appsAddCartToastFunc)唯一。 const funcs = document.querySelectorAll('#appsAddCartToastFunc'); if (funcs.length > 1 && this.element !== funcs[0]) { this.element.remove(); return; } // å…Øå±€ęŠ˜ę‰£ toast ēš„å¼¹å‡ŗē‚¹åˆ†ę•£åœØå¤šäøŖęØ”ęæ/ē»„ä»¶é‡Œļ¼ˆå«å£°ę˜Žå¼ @atcErrorļ¼‰ļ¼Œę— ę³•é€äø€åœØå¼¹å‡ŗå‰å‰ē½®ļ¼Œ // ę•…ęŒ‚č½½ę—¶å¹‚ē­‰åœ°åŽ»é‡å¹¶ęŒ‚åˆ° bodyļ¼›åŠ č“­ toast ę”¹äøŗå¼¹å‡ŗå‰ęŒ‰éœ€åŽ»é‡ļ¼ˆč§ showAddToCartToast) this.ensureSingleToastInBody_('cart_match_discount_toast_wrap'); } unmountCallback() {} // åŒäø€é”µé¢åÆčƒ½ęœ‰å¤šäøŖ block å„č‡Ŗęø²ęŸ“ęœ¬ toast snippetļ¼ˆå¦‚å•†čÆ¦ēš„ discount_automatic + č“­ē‰©č½¦ęŠ½å±‰é‡Œēš„ęŠ˜ę‰£ęØŖå¹…ļ¼‰ļ¼Œ // 导臓 toast å¤–å±‚å‡ŗēŽ°é‡å¤ idć€‚é‡å¤ id äø‹ getElementById/querySelector 及 SPZ åŠØä½œå¼•ē”Øéƒ½åŖå‘½äø­ē¬¬äø€äøŖļ¼Œ // äø”č¢«å…³čæ›ęŠ½å±‰ēš„é‚£ä»½ä¼šč¢«ęŠ½å±‰ēš„ transform/overflow 裁剪/é”™ä½ć€‚čæ™é‡ŒåœØęŒ‚č½½ę—¶å¹‚ē­‰åŽ»é‡ļ¼š // åŖäæē•™äø€ä»½ć€ē§»é™¤å¤šä½™ēš„ļ¼Œå¹¶ęŠŠäæē•™ēš„ęŒ‚åˆ° body(body 是 position:fixed ęœ€å®‰å…Øēš„č½ē‚¹ļ¼Œéæå…č¢«ä»»ä½•ē„–å…ˆč£å‰Ŗļ¼‰ć€‚åÆåå¤č°ƒē”Øć€‚ ensureSingleToastInBody_(id) { const els = Array.from(document.querySelectorAll('#' + id)); if (!els.length) return; els.slice(1).forEach((el) => el.remove()); const keep = els[0]; if (keep.parentNode !== document.body) { document.body.appendChild(keep); } } // äø»é¢˜č“­ē‰©č½¦ęŠ½å±‰ę˜Æå¦ę‰“å¼€ isInCartDrawer_() { return !!document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]'); } setupAction_() { this.registerAction('showAddToCartToast', () => { // ęŠ½å±‰å†…åŠ č“­ļ¼šäø»é¢˜ęœ¬å°±äøä¼šęœ‰åŠ č“­ę•ˆęžœļ¼Œē»Ÿäø€å¼¹ę’ä»¶č‡Ŗå·±ēš„ toast // éžęŠ½å±‰ļ¼šäø»é¢˜ęœ‰åŠ č“­ä»£ē†åˆ™ę²æē”Øäø»é¢˜åŠ č“­ę•ˆęžœļ¼Œå¦åˆ™ę’ä»¶å…œåŗ• const proxyEl = document.getElementById('add-cart-event-proxy'); const inDrawer = this.isInCartDrawer_(); if (!inDrawer && proxyEl) { return; } // å¼¹å‡ŗå‰ęŒ‰éœ€åŽ»é‡å¹¶ęŒ‚åˆ° bodyļ¼ˆå¹‚ē­‰ļ¼‰ļ¼Œéæå…é‡å¤ id å‘½äø­é”™åÆ¹č±”ęˆ–č¢«ęŠ½å±‰č£å‰Ŗ/错位 this.ensureSingleToastInBody_('apps_add_cart_toast_wrap'); const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
  • Worldwide shipping

    We support fast global delivery
  • Customer service

    Your payment in formation is processed securely
  • Secure payment

    Need to contact us?Just send us an e-mail at info@yourstore.com
  • Return service

    If you are not satisfied with the goods, you can contact us by email to apply for return service