๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ
๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ

๐Ÿ“ข๐Ÿ“ข 50% DI SCONTO !! โฐ Bracciale portafortuna vintage pagano per donna – un gioiello che racconta storie antiche! โœจ๐Ÿ“ฟ

Prezzo
โ‚ฌ39.99
โ‚ฌ19.99
Salva  โ‚ฌ20.00
Comprate uno per uno
Si prega di selezionare un comprate uno per uno
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);

โœจ CARATTERISTICHE

๐Ÿ”ฎ BRACCIALE PORTAFORTUNA PAGANO CON ENERGIA SPIRITUALE - Abbraccia il tuo viaggio spirituale con questo bracciale vintage pagano realizzato con cura. Con ciondoli simbolici intricati, rappresenta un potente promemoria quotidiano della magia della natura.

๐ŸŒ™ SIMBOLISMO WICCAN INTRICATO - Ogni singolo ciondolo, dall'albero della vita al nodo celtico, รจ meticolosamente dettagliato per rappresentare le antiche tradizioni wiccan, offrendoti un profondo significato spirituale.

๐Ÿช™ FINITURA ANTICATA PREMIUM - Realizzato in lega metallica di alta qualitร  e resistente con una splendida finitura anticata color argento. Questo bracciale vanta una texture ipoallergenica progettata per un comfort duraturo e un uso quotidiano senza problemi.

๐Ÿƒ ELEGANZA QUOTIDIANA E NATURALE - Unisci spiritualitร  e moda senza sforzo. Questo elegante bracciale vintage si abbina perfettamente a stili boho a strati e outfit di tutti i giorni, aggiungendo un tocco di magia al tuo guardaroba quotidiano.

๐ŸŒŸ ICONE SPIRITUALI SIGNIFICATIVE - Esplora la ricca iconografia che include una delicata figura della dea, le fasi lunari crescenti e gli elementi terreni. Ogni ciondolo premium offre un'energia spirituale protettiva e radicante unica.

๐Ÿ“‹ SPECIFICHE

๐Ÿงต Materiale: Lega di zinco

๐ŸŽจ Colore: Argento

๐Ÿ“ฆ CONTENUTO DELLA CONFEZIONE

1 ร— Bracciale portafortuna vintage pagano per donna

โš ๏ธ NOTE

Evitare il contatto con acqua, profumi e sostanze chimiche per mantenere la finitura metallica.

Tenere fuori dalla portata dei bambini piccoli a causa del potenziale rischio di soffocamento per i ciondoli di piccole dimensioni.

Conservare in un luogo fresco e asciutto all'interno di una custodia morbida quando non in uso.