(function () {
  let observer;

  function initIntersectionObserver() {
    if (observer) return;

    observer = new IntersectionObserver(
      (entries) => {
        entries.forEach(entry => {
          if (entry.isIntersecting) {
             
            entry.target.style.overflow = 'unset';
          }
        });
      },
      {
        root: null,
        rootMargin: '-50% 0px -50% 0px',
        threshold: 0
      }
    );
  }

  function observeTargets() {
    initIntersectionObserver();

    document
      .querySelectorAll('.cdb-container, .h8x-container')
      .forEach(el => {
        if (!el.__observed) {
          observer.observe(el);
          el.__observed = true; // 🔒 захист від повторної підписки
        }
      });
  }

  // 👉 перший запуск
  observeTargets();

  // 👉 відстеження SPA-змін
  const mutationObserver = new MutationObserver(() => {
    observeTargets();
  });

  mutationObserver.observe(document.body, {
    childList: true,
    subtree: true
  });
})();
