Tree of Life Natural Crystal Healing Necklace

$29.99
Quantity

Description

Item Details:
Material: crystal, natural stone, metal
Size: pendant diameter 5cm, chain 53cm
Weight: about 17 grams

1. Yggdrasil Symbolism: Connecting Nature & Energy ๐ŸŒŒ

Inspired by Yggdrasil from Viking culture, this tree of life—linking heaven and earth—symbolizes cosmic connection and life’s cycle. The necklace embodies Yggdrasil’s design, letting you channel ancient cultural energy and natural mysteries. Wear it, and feel the bond with universal forces ๐ŸŒŸ.

2. Natural Crystals: Colorful Healing Powers ๐Ÿ’Ž

Embedded with natural crystals like amethyst, green crystal, and red crystal—shining as “leaves” on the tree. Each crystal holds unique energy: amethyst soothes emotions, green crystal revives vitality, red crystal boosts energy. Together, they balance your inner aura, relieving stress through nature’s mineral magic ๐ŸŒˆ.

3. Crafted with Love: Details That Warm the Heart ๐Ÿ‘

Metal wires intricately weave the circular frame, shaping the tree’s sturdy trunk and spreading roots. Crystals are delicately set, blending with the metal. Every line shows craftsmanship, turning the necklace into a warm piece that carries culture and healing ๐Ÿ’•.

4. Fit for Every Moment: Healing in Daily Life ๐ŸŒธ

Whether at work as your “energy companion” or during leisure to calm your mind. Perfect for daily wear, meditation, or yoga—Yggdrasil’s protection and crystal healing stay with you, turning adornment into inner peace ๐ŸŒฟ.



class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "95d110fd-87c2-440a-a342-8fb93e6175bc"; // ไฟƒ้”€ๆดปๅŠจๆ•ฐๆฎ this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // ๆŒ‚่ฝฝbindๅ‡ฝๆ•ฐ ่งฃๅ†ณthisๆŒ‡ๅ‘้—ฎ้ข˜ this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // ่Žทๅ–ๆ•ฐๆฎ this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // ็ป‘ๅฎš this.viewport_.onResize(this.resize); // ็›‘ๅฌๅญๆฌพๅผๅˆ‡ๆข๏ผŒ้‡ๆ–ฐๆธฒๆŸ“ this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // ่งฃ็ป‘ this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // ๆธ…้™คๅฎšๆ—ถๅ™จ if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == 'f0e72a78-4c69-42a3-a469-10fdaa3ab1c1' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "f0e72a78-4c69-42a3-a469-10fdaa3ab1c1", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);