{"product_id":"rytual-nowego-cyklu-zycia","title":"Rytuał Nowego Cyklu Życia","description":"\u003cstyle\u003e\n  .ho-wrap {\n    --gold: #C9A96E;\n    --text: #f0ece4;\n    --text-muted: #a09880;\n    --border: rgba(201,169,110,0.25);\n    --border-strong: rgba(201,169,110,0.55);\n    --red: #ff6b5f;\n\n    font-family: sans-serif;\n    color: var(--text);\n    max-width: 760px;\n    margin: 0 auto;\n    padding: 0;\n  }\n\n  .ho-hero,\n  .ho-section,\n  .ho-plan-dynamic,\n  .ho-bottom {\n    border: 0.5px solid var(--border);\n    background: #111;\n  }\n\n  .ho-hero {\n    border-color: var(--border-strong);\n    border-radius: 2px;\n    padding: 48px 40px 40px;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .ho-hero::before,\n  .ho-bottom::after {\n    content: '';\n    position: absolute;\n    left: 0;\n    right: 0;\n    height: 1px;\n    background: linear-gradient(90deg, transparent, var(--gold), transparent);\n  }\n\n  .ho-hero::before {\n    top: 0;\n  }\n\n  .ho-eyebrow {\n    font-size: 11px;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin: 0 0 18px;\n    font-weight: 400;\n  }\n\n  .ho-title {\n    font-size: 31px;\n    font-weight: 400;\n    color: var(--text);\n    margin: 0 0 20px;\n    line-height: 1.25;\n    letter-spacing: 0.5px;\n  }\n\n  .ho-promo {\n    border: 0.5px solid rgba(255,107,95,0.45);\n    background: rgba(120,20,20,0.18);\n    padding: 16px 18px;\n    margin: 0 0 30px;\n  }\n\n  .ho-promo-label {\n    display: block;\n    color: var(--red);\n    font-size: 11px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    margin-bottom: 10px;\n  }\n\n  .ho-promo-text {\n    color: #f0b4ad;\n    font-size: 14px;\n    line-height: 1.65;\n    margin: 0 0 12px;\n  }\n\n  .ho-countdown {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 8px;\n  }\n\n  .ho-time-box {\n    border: 0.5px solid rgba(255,107,95,0.3);\n    padding: 10px 8px;\n    text-align: center;\n    background: rgba(0,0,0,0.18);\n  }\n\n  .ho-time-num {\n    display: block;\n    color: var(--red);\n    font-size: 20px;\n    line-height: 1;\n    margin-bottom: 5px;\n  }\n\n  .ho-time-label {\n    display: block;\n    color: #c89a94;\n    font-size: 9px;\n    letter-spacing: 1.4px;\n    text-transform: uppercase;\n  }\n\n  .ho-prose p {\n    font-size: 15px;\n    line-height: 1.85;\n    color: #c8c0b0;\n    margin: 0 0 18px;\n  }\n\n  .ho-prose p:last-child {\n    margin: 0;\n  }\n\n  .ho-prose em {\n    color: var(--gold);\n    font-style: normal;\n  }\n\n  .ho-divider {\n    height: 1px;\n    background: var(--border);\n    margin: 0;\n  }\n\n  .ho-section {\n    background: #0e0e0e;\n    border-top: none;\n    padding: 30px 40px;\n  }\n\n  .ho-section.alt {\n    background: #101010;\n  }\n\n  .ho-label {\n    font-size: 10px;\n    letter-spacing: 2.5px;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin: 0 0 18px;\n    display: block;\n  }\n\n  .ho-list {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n  }\n\n  .ho-list li {\n    font-size: 13px;\n    line-height: 1.7;\n    color: #b8b0a0;\n    padding: 6px 0;\n    border-bottom: 0.5px solid rgba(201,169,110,0.08);\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n  }\n\n  .ho-list li:last-child {\n    border-bottom: none;\n  }\n\n  .ho-list li::before {\n    content: '—';\n    color: var(--gold);\n    font-size: 11px;\n    flex-shrink: 0;\n    margin-top: 2px;\n    opacity: 0.6;\n  }\n\n  .ho-plan-dynamic {\n    background: #111;\n    border-top: none;\n    padding: 34px 40px 38px;\n  }\n\n  .ho-plan-panel {\n    display: none;\n    border: 0.5px solid rgba(201,169,110,0.25);\n    background: #0b0b0b;\n    padding: 24px;\n  }\n\n  .ho-plan-panel.is-active {\n    display: block;\n  }\n\n  .ho-plan-panel.is-premium {\n    border-color: rgba(201,169,110,0.75);\n    background: linear-gradient(180deg, rgba(201,169,110,0.11), #0b0b0b 44%);\n  }\n\n  .ho-plan-badge {\n    display: inline-block;\n    color: var(--gold);\n    border: 0.5px solid rgba(201,169,110,0.4);\n    padding: 6px 10px;\n    font-size: 10px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    margin-bottom: 14px;\n  }\n\n  .ho-plan-title {\n    font-size: 20px;\n    font-weight: 400;\n    color: var(--text);\n    margin: 0 0 12px;\n    line-height: 1.35;\n  }\n\n  .ho-price {\n    display: flex;\n    align-items: baseline;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-bottom: 18px;\n  }\n\n  .ho-old-price {\n    color: #777064;\n    font-size: 17px;\n    text-decoration: line-through;\n  }\n\n  .ho-new-price {\n    color: var(--gold);\n    font-size: 30px;\n    line-height: 1;\n  }\n\n  .ho-discount {\n    color: var(--red);\n    font-size: 11px;\n    letter-spacing: 1.6px;\n    text-transform: uppercase;\n  }\n\n  .ho-gift-highlight {\n    border: 0.5px solid rgba(201,169,110,0.65);\n    background: rgba(201,169,110,0.1);\n    padding: 18px;\n    margin: 0 0 20px;\n  }\n\n  .ho-gift-label {\n    display: block;\n    color: var(--gold);\n    font-size: 11px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    margin-bottom: 8px;\n  }\n\n  .ho-gift-highlight p {\n    color: #dacba8;\n    font-size: 13px;\n    line-height: 1.75;\n    margin: 0;\n  }\n\n  .ho-switch-plan {\n    width: 100%;\n    border: 0.5px solid var(--gold);\n    background: transparent;\n    color: var(--gold);\n    padding: 14px 16px;\n    margin-top: 22px;\n    font-size: 12px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    cursor: pointer;\n  }\n\n  .ho-switch-plan:hover {\n    background: rgba(201,169,110,0.1);\n  }\n\n  .ho-plan-panel.is-premium .ho-switch-plan {\n    background: rgba(201,169,110,0.08);\n  }\n\n  .ho-bottom {\n    border-top: none;\n    padding: 28px 40px;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .ho-bottom::after {\n    bottom: 0;\n  }\n\n  .ho-closing {\n    font-size: 14px;\n    color: var(--text-muted);\n    line-height: 1.9;\n    font-style: italic;\n    margin: 0;\n    text-align: center;\n  }\n\n  .ho-premium-popup {\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    padding: 18px;\n  }\n\n  .ho-premium-popup.is-open {\n    display: flex;\n  }\n\n  .ho-premium-popup-backdrop {\n    position: absolute;\n    inset: 0;\n    background: rgba(0,0,0,0.72);\n  }\n\n  .ho-premium-popup-box {\n    position: relative;\n    width: min(100%, 430px);\n    background: #0b0b0b;\n    border: 0.5px solid rgba(201,169,110,0.75);\n    padding: 28px 24px 24px;\n    color: var(--text);\n    box-shadow: 0 18px 60px rgba(0,0,0,0.45);\n  }\n\n  .ho-premium-popup-box::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    height: 1px;\n    background: linear-gradient(90deg, transparent, var(--gold), transparent);\n  }\n\n  .ho-premium-popup-close {\n    position: absolute;\n    top: 10px;\n    right: 12px;\n    border: none;\n    background: transparent;\n    color: var(--text-muted);\n    font-size: 24px;\n    line-height: 1;\n    cursor: pointer;\n  }\n\n  .ho-premium-popup-label {\n    display: block;\n    color: var(--gold);\n    font-size: 10px;\n    letter-spacing: 2.2px;\n    text-transform: uppercase;\n    margin: 0 0 12px;\n  }\n\n  .ho-premium-popup-title {\n    color: var(--text);\n    font-size: 22px;\n    font-weight: 400;\n    line-height: 1.3;\n    margin: 0 0 16px;\n  }\n\n  .ho-premium-popup-text {\n    color: #c8c0b0;\n    font-size: 14px;\n    line-height: 1.75;\n    margin: 0 0 12px;\n  }\n\n  .ho-premium-popup-btn {\n    width: 100%;\n    border: 0.5px solid var(--gold);\n    background: var(--gold);\n    color: #111;\n    padding: 13px 16px;\n    margin-top: 10px;\n    font-size: 12px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    cursor: pointer;\n  }\n\n  @media (max-width: 620px) {\n    .ho-wrap {\n      max-width: 100%;\n    }\n\n    .ho-hero {\n      padding: 38px 22px 34px;\n    }\n\n    .ho-title {\n      font-size: 26px;\n    }\n\n    .ho-countdown {\n      grid-template-columns: repeat(2, 1fr);\n    }\n\n    .ho-section,\n    .ho-plan-dynamic,\n    .ho-bottom {\n      padding-left: 22px;\n      padding-right: 22px;\n    }\n\n    .ho-plan-panel {\n      padding: 20px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"ho-wrap\"\u003e\n\n  \u003cdiv class=\"ho-hero\"\u003e\n    \u003cp class=\"ho-eyebrow\"\u003eRytuał · nowy cykl · domknięcie\u003c\/p\u003e\n    \u003ch1 class=\"ho-title\"\u003eRytuał Nowego\u003cbr\u003eCyklu Życia\u003c\/h1\u003e\n\n    \u003cdiv class=\"ho-promo\"\u003e\n      \u003cspan class=\"ho-promo-label\"\u003ePromocja czasowa · tylko do 23.07.2026\u003c\/span\u003e\n      \u003cp class=\"ho-promo-text\"\u003eRytuał dostępny jest wyłącznie w okresie pracy z energią retrogradującego Merkurego w znaku Raka.\u003c\/p\u003e\n\n      \u003cdiv class=\"ho-countdown\" data-ho-countdown=\"2026-07-23T23:59:59+02:00\"\u003e\n        \u003cdiv class=\"ho-time-box\"\u003e\n          \u003cspan class=\"ho-time-num\" data-days\u003e00\u003c\/span\u003e\n          \u003cspan class=\"ho-time-label\"\u003edni\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ho-time-box\"\u003e\n          \u003cspan class=\"ho-time-num\" data-hours\u003e00\u003c\/span\u003e\n          \u003cspan class=\"ho-time-label\"\u003egodz.\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ho-time-box\"\u003e\n          \u003cspan class=\"ho-time-num\" data-minutes\u003e00\u003c\/span\u003e\n          \u003cspan class=\"ho-time-label\"\u003emin.\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ho-time-box\"\u003e\n          \u003cspan class=\"ho-time-num\" data-seconds\u003e00\u003c\/span\u003e\n          \u003cspan class=\"ho-time-label\"\u003esek.\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ho-prose\"\u003e\n      \u003cp\u003eRytuał Nowego Cyklu Życia to wyjątkowa praca energetyczna przygotowana na okres od 29 czerwca do 23 lipca, kiedy retrogradujący Merkury przechodzi przez znak Raka.\u003c\/p\u003e\n      \u003cp\u003eW astrologii symbolicznej jest to czas domykania niedokończonych spraw, uwalniania przeszłości oraz świadomego rozpoczęcia nowego etapu życia.\u003c\/p\u003e\n      \u003cp\u003eTo właśnie w tym okresie wiele osób wraca myślami do dawnych relacji, niespełnionych planów i decyzji, które od dawna pozostają nierozwiązane. Energia sprzyja zamknięciu tego, co już się wyczerpało, aby zrobić miejsce na nowe możliwości.\u003c\/p\u003e\n      \u003cp\u003ePodczas rytuału pracuję nad \u003cem\u003eoczyszczeniem pola energetycznego\u003c\/em\u003e, uwolnieniem od ciężaru przeszłości oraz wzmocnieniem energii potrzebnej do wejścia w nowy etap życia.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ho-divider\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"ho-section\"\u003e\n    \u003cspan class=\"ho-label\"\u003eDla kogo\u003c\/span\u003e\n    \u003cul class=\"ho-list\"\u003e\n      \u003cli\u003eMasz poczucie, że Twoje życie stoi w miejscu\u003c\/li\u003e\n      \u003cli\u003eWciąż wracasz do przeszłości i trudno Ci ją zamknąć\u003c\/li\u003e\n      \u003cli\u003ePowtarzają się podobne sytuacje w relacjach\u003c\/li\u003e\n      \u003cli\u003eTrudno Ci rozpocząć nowy etap po rozstaniu, rozwodzie lub utracie bliskiej osoby\u003c\/li\u003e\n      \u003cli\u003eOd dłuższego czasu odczuwasz zastój w pracy lub finansach\u003c\/li\u003e\n      \u003cli\u003eBoisz się zmian mimo wewnętrznej potrzeby pójścia dalej\u003c\/li\u003e\n      \u003cli\u003eChcesz rozpocząć nowy rozdział życia z większym spokojem i lekkością\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ho-section alt\"\u003e\n    \u003cspan class=\"ho-label\"\u003eObszary pracy\u003c\/span\u003e\n    \u003cul class=\"ho-list\"\u003e\n      \u003cli\u003eRelacje i życie uczuciowe\u003c\/li\u003e\n      \u003cli\u003eFinanse i rozwój zawodowy\u003c\/li\u003e\n      \u003cli\u003ePoczucie własnej wartości\u003c\/li\u003e\n      \u003cli\u003eWewnętrzny spokój i równowaga\u003c\/li\u003e\n      \u003cli\u003eOdcięcie od przeszłości i zamknięcie starego etapu\u003c\/li\u003e\n      \u003cli\u003eOtwarcie się na nowe możliwości i nowe doświadczenia\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ho-section\"\u003e\n    \u003cspan class=\"ho-label\"\u003eWażna informacja\u003c\/span\u003e\n    \u003cdiv class=\"ho-prose\"\u003e\n      \u003cp\u003eKażda sytuacja jest inna, dlatego przed wykonaniem rytuału obowiązkowo przeprowadzana jest indywidualna diagnoza. Pozwala ona określić, jakie procesy wymagają domknięcia oraz czy ten rytuał będzie najlepszym rozwiązaniem w Twoim przypadku.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ho-plan-dynamic\"\u003e\n    \u003cspan class=\"ho-label\"\u003eSzczegóły wybranego wariantu\u003c\/span\u003e\n\n    \u003cdiv class=\"ho-plan-panel is-active\" data-ho-plan=\"basic\"\u003e\n      \u003cspan class=\"ho-plan-badge\"\u003eBasic\u003c\/span\u003e\n      \u003ch2 class=\"ho-plan-title\"\u003eRytuał Nowego Cyklu Życia Basic\u003c\/h2\u003e\n\n      \u003cdiv class=\"ho-price\"\u003e\n        \u003cspan class=\"ho-old-price\"\u003e1000 zł\u003c\/span\u003e\n        \u003cspan class=\"ho-new-price\"\u003e500 zł\u003c\/span\u003e\n        \u003cspan class=\"ho-discount\"\u003e-50%\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cspan class=\"ho-label\"\u003eW cenie\u003c\/span\u003e\n      \u003cul class=\"ho-list\"\u003e\n        \u003cli\u003eIndywidualne przygotowanie do pracy\u003c\/li\u003e\n        \u003cli\u003eJeden pełny etap pracy energetycznej\u003c\/li\u003e\n        \u003cli\u003eOczyszczenie pola z nagromadzonego napięcia i niedomkniętych procesów\u003c\/li\u003e\n        \u003cli\u003eIndywidualna modlitwa oraz krótka praktyka na czas trwania pracy\u003c\/li\u003e\n        \u003cli\u003eRaport końcowy po zakończeniu rytuału\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003cbutton class=\"ho-switch-plan\" type=\"button\" data-ho-select-plan=\"premium\"\u003e\n        Wybierz Premium\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ho-plan-panel is-premium\" data-ho-plan=\"premium\"\u003e\n      \u003cspan class=\"ho-plan-badge\"\u003ePremium\u003c\/span\u003e\n      \u003ch2 class=\"ho-plan-title\"\u003eRytuał Nowego Cyklu Życia Premium\u003c\/h2\u003e\n\n      \u003cdiv class=\"ho-price\"\u003e\n        \u003cspan class=\"ho-old-price\"\u003e2000 zł\u003c\/span\u003e\n        \u003cspan class=\"ho-new-price\"\u003e1000 zł\u003c\/span\u003e\n        \u003cspan class=\"ho-discount\"\u003e-50%\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ho-gift-highlight\"\u003e\n        \u003cspan class=\"ho-gift-label\"\u003ePrezent do Premium\u003c\/span\u003e\n        \u003cp\u003eIndywidualnie przygotowany talizman, stworzony specjalnie do wsparcia i stabilizacji energii po zakończeniu rytuału. Talizman przygotowywany jest osobno pod Twoją sytuację i pomaga dłużej utrzymać wewnętrzną równowagę oraz wspierać nowy cykl życia.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cspan class=\"ho-label\"\u003eW cenie\u003c\/span\u003e\n      \u003cul class=\"ho-list\"\u003e\n        \u003cli\u003eIndywidualne przygotowanie do pracy\u003c\/li\u003e\n        \u003cli\u003eKilka etapów pracy energetycznej przez kilka dni\u003c\/li\u003e\n        \u003cli\u003eGłębsze oczyszczenie niedomkniętych procesów i starych energetycznych przywiązań\u003c\/li\u003e\n        \u003cli\u003eOsobista modlitwa oraz indywidualna praktyka\u003c\/li\u003e\n        \u003cli\u003eRozszerzony raport końcowy\u003c\/li\u003e\n        \u003cli\u003eTalizman przygotowany osobno pod Twoją sytuację\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003cbutton class=\"ho-switch-plan\" type=\"button\" data-ho-select-plan=\"basic\"\u003e\n        Wybierz Basic\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ho-bottom\"\u003e\n    \u003cp class=\"ho-closing\"\u003e\n      Stary etap nie zawsze kończy się sam.\u003cbr\u003e\n      Czasem trzeba świadomie zamknąć drzwi,\u003cbr\u003e\n      żeby nowe mogło naprawdę wejść.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ho-premium-popup\" data-premium-popup aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"ho-premium-popup-backdrop\" data-premium-popup-close\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"ho-premium-popup-box\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ho-premium-popup-title\"\u003e\n      \u003cbutton class=\"ho-premium-popup-close\" type=\"button\" data-premium-popup-close aria-label=\"Zamknij\"\u003e×\u003c\/button\u003e\n\n      \u003cspan class=\"ho-premium-popup-label\"\u003ePrezent do Premium\u003c\/span\u003e\n      \u003ch3 id=\"ho-premium-popup-title\" class=\"ho-premium-popup-title\"\u003eIndywidualny talizman w prezencie\u003c\/h3\u003e\n\n      \u003cp class=\"ho-premium-popup-text\"\u003eW wariancie Premium otrzymujesz indywidualnie przygotowany talizman, stworzony specjalnie do wsparcia i stabilizacji energii po zakończeniu rytuału.\u003c\/p\u003e\n      \u003cp class=\"ho-premium-popup-text\"\u003eTalizman przygotowywany jest osobno pod Twoją sytuację i pomaga dłużej utrzymać wewnętrzną równowagę oraz wspierać nowy cykl życia.\u003c\/p\u003e\n\n      \u003cbutton class=\"ho-premium-popup-btn\" type=\"button\" data-premium-popup-close\u003eRozumiem\u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function () {\n    var lastPlanForPopup = '';\n\n    function updateCountdown() {\n      var countdown = document.querySelector('[data-ho-countdown]');\n      if (!countdown) return;\n\n      var endDate = new Date(countdown.getAttribute('data-ho-countdown')).getTime();\n      var now = new Date().getTime();\n      var distance = endDate - now;\n\n      if (distance \u003c= 0) {\n        countdown.innerHTML = '\u003cdiv class=\"ho-time-box\" style=\"grid-column: 1 \/ -1;\"\u003e\u003cspan class=\"ho-time-num\"\u003e00\u003c\/span\u003e\u003cspan class=\"ho-time-label\"\u003eoferta zakończona\u003c\/span\u003e\u003c\/div\u003e';\n        return;\n      }\n\n      var days = Math.floor(distance \/ (1000 * 60 * 60 * 24));\n      var hours = Math.floor((distance \/ (1000 * 60 * 60)) % 24);\n      var minutes = Math.floor((distance \/ (1000 * 60)) % 60);\n      var seconds = Math.floor((distance \/ 1000) % 60);\n\n      countdown.querySelector('[data-days]').textContent = String(days).padStart(2, '0');\n      countdown.querySelector('[data-hours]').textContent = String(hours).padStart(2, '0');\n      countdown.querySelector('[data-minutes]').textContent = String(minutes).padStart(2, '0');\n      countdown.querySelector('[data-seconds]').textContent = String(seconds).padStart(2, '0');\n    }\n\n    function readSelectedVariantText() {\n      var checked = document.querySelector('input[type=\"radio\"]:checked');\n      if (checked \u0026\u0026 \/basic|premium\/i.test(checked.value)) return checked.value;\n\n      var selects = document.querySelectorAll('select');\n      for (var i = 0; i \u003c selects.length; i++) {\n        var selectedText = selects[i].options[selects[i].selectedIndex] ? selects[i].options[selects[i].selectedIndex].text : '';\n        if (\/basic|premium\/i.test(selectedText)) return selectedText;\n      }\n\n      var labels = document.querySelectorAll('label');\n      for (var j = 0; j \u003c labels.length; j++) {\n        var text = labels[j].textContent || '';\n        if (\/premium\/i.test(text) \u0026\u0026 labels[j].querySelector('input:checked')) return 'Premium';\n        if (\/basic\/i.test(text) \u0026\u0026 labels[j].querySelector('input:checked')) return 'Basic';\n      }\n\n      return 'Basic';\n    }\n\n    function getSelectedPlan() {\n      var selected = readSelectedVariantText().toLowerCase();\n      return selected.indexOf('premium') !== -1 ? 'premium' : 'basic';\n    }\n\n    function updatePlanPanel() {\n      var plan = getSelectedPlan();\n      var panels = document.querySelectorAll('[data-ho-plan]');\n\n      panels.forEach(function (panel) {\n        panel.classList.toggle('is-active', panel.getAttribute('data-ho-plan') === plan);\n      });\n    }\n\n    function openPremiumPopup() {\n      var popup = document.querySelector('[data-premium-popup]');\n      if (!popup) return;\n\n      popup.classList.add('is-open');\n      popup.setAttribute('aria-hidden', 'false');\n    }\n\n    function closePremiumPopup() {\n      var popup = document.querySelector('[data-premium-popup]');\n      if (!popup) return;\n\n      popup.classList.remove('is-open');\n      popup.setAttribute('aria-hidden', 'true');\n    }\n\n    function maybeShowPremiumPopup() {\n      var plan = getSelectedPlan();\n\n      if (plan === 'premium' \u0026\u0026 lastPlanForPopup !== 'premium') {\n        openPremiumPopup();\n      }\n\n      lastPlanForPopup = plan;\n    }\n\n    function syncAll(showPopup) {\n      updatePlanPanel();\n      if (showPopup) maybeShowPremiumPopup();\n    }\n\n    function selectShopifyVariant(plan) {\n      var wanted = plan.toLowerCase();\n\n      var radios = document.querySelectorAll('input[type=\"radio\"]');\n      radios.forEach(function (radio) {\n        var value = (radio.value || '').toLowerCase();\n        var label = radio.closest('label') ? radio.closest('label').textContent.toLowerCase() : '';\n\n        if (value.indexOf(wanted) !== -1 || label.indexOf(wanted) !== -1) {\n          radio.click();\n          radio.dispatchEvent(new Event('change', { bubbles: true }));\n        }\n      });\n\n      var selects = document.querySelectorAll('select');\n      selects.forEach(function (select) {\n        Array.from(select.options).forEach(function (option) {\n          var text = (option.text || '').toLowerCase();\n          var value = (option.value || '').toLowerCase();\n\n          if (text.indexOf(wanted) !== -1 || value.indexOf(wanted) !== -1) {\n            select.value = option.value;\n            select.dispatchEvent(new Event('change', { bubbles: true }));\n          }\n        });\n      });\n\n      var buttons = document.querySelectorAll('button, [role=\"button\"]');\n      buttons.forEach(function (button) {\n        var text = (button.textContent || button.getAttribute('aria-label') || '').toLowerCase();\n\n        if (\n          text.indexOf(wanted) !== -1 \u0026\u0026\n          !button.matches('[data-ho-select-plan]') \u0026\u0026\n          !button.matches('[data-premium-popup-close]')\n        ) {\n          button.click();\n        }\n      });\n    }\n\n    function scrollToPurchaseArea() {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    }\n\n    updateCountdown();\n    updatePlanPanel();\n    lastPlanForPopup = getSelectedPlan();\n\n    setInterval(updateCountdown, 1000);\n\n    document.addEventListener('change', function () {\n      setTimeout(function () {\n        syncAll(true);\n      }, 120);\n    });\n\n    document.addEventListener('click', function (event) {\n      if (event.target.matches('[data-premium-popup-close]')) {\n        closePremiumPopup();\n        return;\n      }\n\n      var switchButton = event.target.closest('[data-ho-select-plan]');\n      if (switchButton) {\n        var plan = switchButton.getAttribute('data-ho-select-plan');\n\n        selectShopifyVariant(plan);\n\n        setTimeout(function () {\n          syncAll(true);\n          scrollToPurchaseArea();\n        }, 240);\n\n        return;\n      }\n\n      setTimeout(function () {\n        syncAll(true);\n      }, 180);\n    });\n\n    document.addEventListener('keydown', function (event) {\n      if (event.key === 'Escape') closePremiumPopup();\n    });\n  })();\n\u003c\/script\u003e","brand":"HELGA ORA","offers":[{"title":"Basic","offer_id":53493684502856,"sku":null,"price":500.0,"currency_code":"PLN","in_stock":true},{"title":"Premium","offer_id":53493684535624,"sku":null,"price":1000.0,"currency_code":"PLN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0948\/1650\/2088\/files\/Tezza-4962_236377c7-3efc-4eb8-a713-b6b30587f6ef.jpg?v=1783594309","url":"https:\/\/helgaora.pl\/products\/rytual-nowego-cyklu-zycia","provider":"HELGA ORA","version":"1.0","type":"link"}