document.addEventListener('DOMContentLoaded', function () {
    // Only run if tooltips are present
    var tooltips = document.querySelectorAll('.js-tooltip');
    if (tooltips.length === 0) {
      return;
    }

    // Function to close all tooltips
    function closeAllTooltips() {
      tooltips.forEach(function (tooltip) {
        tooltip.classList.remove('is-active');
      });
    }

    tooltips.forEach(function (tooltip) {
      var trigger = tooltip.querySelector('.c-tooltip__trigger');

      trigger.addEventListener('click', function (event) {
        // Don't close when clicking the trigger
        event.stopPropagation();

        // Check if this tooltip is already active
        var isActive = tooltip.classList.contains('is-active');

        // First, close all other tooltips
        closeAllTooltips();

        // If it wasn't active, activate it now
        if (!isActive) {
          tooltip.classList.add('is-active');
        }
      });
    });

    // Add a listener to the whole document to close tooltips when clicking outside
    document.addEventListener('click', function () {
      closeAllTooltips();
  });
});