Products tagged with heart chakra

/* ========================================================= MailerLite Universal (load once site-wide) ========================================================= */ (function(w,d,e,u,f,l,n){ if (w[f]) return; // avoid double-loading w[f]=w[f]||function(){(w[f].q=w[f].q||[]).push(arguments);}; l=d.createElement(e); l.async=1; l.src=u; n=d.getElementsByTagName(e)[0]; n.parentNode.insertBefore(l,n); })(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml'); ml('account','1759895'); /* ========================================================= TBW Newsletter UX polish (no submit interception): - Wait for success, then change button text to "Check your email →" and disable it. - Make sure the nudge is fully visible. - Works with the embed you placed on the page. ========================================================= */ (function () { function initTBW() { var container = document.querySelector('#tbw-newsletter'); if (!container) return; // Observe the embedded form render so we can find the submit button. var renderObserver = new MutationObserver(function () { var btn = container.querySelector('button[type="submit"], .ml-form-embedSubmit button'); if (btn && !btn.dataset.tbwBound) { btn.dataset.tbwBound = '1'; btn.setAttribute('aria-live', 'polite'); // accessible updates } }); renderObserver.observe(container, { childList: true, subtree: true }); // When MailerLite reports success, update the button/nudge. window.addEventListener('ml_webform_success', function () { var btn = container.querySelector('button[type="submit"], .ml-form-embedSubmit button'); if (btn) { btn.textContent = 'Check your email →'; btn.disabled = true; btn.style.background = '#1a7f37'; btn.style.borderColor = '#1a7f37'; } var note = document.getElementById('ml-confirm-note'); if (note) note.style.opacity = '1'; }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTBW); } else { initTBW(); } })(); /* ========================================================= Light styling to match your CTAs (safe to keep in JS) ========================================================= */ document.addEventListener('DOMContentLoaded', function () { var css = ` .ml-embedded{max-width:900px;margin:28px auto 42px;} .ml-form-embedWrapper .form-control{ min-height:60px;padding:12px 16px;border-radius:12px;font-size:16px; } .ml-form-embedSubmit button[type="submit"]{ display:inline-flex;align-items:center;justify-content:center; min-height:60px;padding:0 24px;border-radius:12px; background:#333;color:#fff;border:none;font-weight:700; letter-spacing:.02em;line-height:1;white-space:nowrap;cursor:pointer; } `; var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode(css)); document.head.appendChild(style); }); /* ========================================================= Open Amazon links in a new tab (safely) ========================================================= */ document.addEventListener('DOMContentLoaded', function () { function retargetAmazon(scope) { (scope || document).querySelectorAll('a[href*="amazon."]').forEach(function (a) { a.target = '_blank'; a.rel = (a.rel ? a.rel + ' ' : '') + 'noopener noreferrer'; }); } retargetAmazon(); new MutationObserver(function (muts) { for (const m of muts) for (const n of m.addedNodes) if (n.nodeType === 1) retargetAmazon(n); }).observe(document.documentElement, { childList: true, subtree: true }); }); /* ========================================================= TBW hero CSS + iOS/Safari autoplay nudge (keep if used) ========================================================= */ document.addEventListener('DOMContentLoaded', function () { var css = ` /* ===== TBW FULL-BLEED ANIMATED HERO ===== */ .tbw-fullbleed{ position:relative;width:100vw;left:50%;right:50%; margin-left:-50vw;margin-right:-50vw;overflow:hidden; margin-bottom:16px;background:#0e1411; } .tbw-fullbleed a{display:block;position:relative} .tbw-hero-img{ display:block;width:100%;height:auto; transform:scale(1.02) translateZ(0); will-change:transform; animation:tbwKen 24s ease-in-out infinite alternate; } @keyframes tbwKen{ 0%{transform:scale(1.02) translate3d(0,0,0)} 100%{transform:scale(1.07) translate3d(-1.5%,-1%,0)} } /* clone right side onto left (mirrored), below other overlays */ .tbw-left-fill{ position:absolute;left:0;top:0;bottom:0;width:min(36%,520px); pointer-events:none;z-index:1; background-repeat:no-repeat;background-size:cover;background-position:right center; transform:scaleX(-1); /* mirror the right side */ filter:blur(1.5px) brightness(.95) saturate(.98);opacity:.95; } /* feather the join so the clone blends invisibly */ .tbw-left-feather{ position:absolute;left:0;top:0;bottom:0;width:min(40%,560px); pointer-events:none;z-index:2; background:linear-gradient(90deg, rgba(14,20,17,.9) 0%, rgba(14,20,17,.5) 35%, rgba(14,20,17,0) 85%); mix-blend-mode:multiply; } /* seam blend + left darkening + soft right fade across whole image */ .tbw-seam{ position:absolute;inset:0;pointer-events:none;z-index:2; background: linear-gradient(90deg,#0e1411 0%,rgba(14,20,17,0) 35%), radial-gradient(ellipse at 50% 50%, rgba(14,20,17,.22), rgba(14,20,17,0) 45%), linear-gradient(90deg, rgba(14,20,17,0) 65%, rgba(14,20,17,.15) 100%); mix-blend-mode:multiply;opacity:.9; } /* gentle lamp glow on the right */ .tbw-lamp{ position:absolute;right:3.2%;top:7%;width:160px;height:300px;pointer-events:none;z-index:3; background:radial-gradient(circle at 50% 30%,rgba(255,210,130,.7),rgba(255,210,130,.25) 35%,rgba(255,210,130,0) 70%); filter:blur(6px);mix-blend-mode:screen;opacity:.65;animation:tbwPulse 3.6s ease-in-out infinite; } @keyframes tbwPulse{0%,100%{opacity:.55;filter:blur(6px)}50%{opacity:.82;filter:blur(8px)}} /* motion safety */ @media (prefers-reduced-motion: reduce){ .tbw-hero-img{animation:none;transform:none} .tbw-lamp{animation:none} } `; var s=document.createElement('style'); s.type='text/css'; s.appendChild(document.createTextNode(css)); document.head.appendChild(s); }); // iOS/Safari video autoplay nudge (if you use a #tbw-hero video) (function(){ function nudge(){ var v = document.getElementById('tbw-hero'); if(!v) return; try { v.muted = true; v.defaultMuted = true; v.setAttribute('playsinline',''); v.setAttribute('webkit-playsinline',''); var p = v.play(); if (p && p.catch) p.catch(function(){ /* Safari may wait for user gesture */ }); } catch(e){} } document.addEventListener('DOMContentLoaded', nudge); window.addEventListener('pageshow', nudge); document.addEventListener('visibilitychange', function(){ if(!document.hidden) nudge(); }); })();