/* ── NAV TOGGLE ─────────────────────────────────────── */
(function () {
  const nav = document.querySelector('.nav');
  const toggle = document.querySelector('.nav-toggle');
  if (!toggle) return;
  toggle.addEventListener('click', () => {
    const open = nav.classList.toggle('menu-open');
    toggle.setAttribute('aria-expanded', open);
  });
  document.addEventListener('click', (e) => {
    if (!nav.contains(e.target)) {
      nav.classList.remove('menu-open');
      toggle.setAttribute('aria-expanded', 'false');
    }
  });
})();

/* ── EVENT CARDS ─────────────────────────────────────── */
(function () {
  document.querySelectorAll('.event-summary').forEach((summary) => {
    summary.addEventListener('click', () => {
      const card = summary.closest('.event-card');
      const isOpen = card.classList.contains('open');
      // close all
      document.querySelectorAll('.event-card.open').forEach(c => c.classList.remove('open'));
      if (!isOpen) card.classList.add('open');
    });
  });
})();

/* ── BOOKING FORMS ───────────────────────────────────── */
(function () {
  document.querySelectorAll('.booking-form').forEach((form) => {
    form.addEventListener('submit', (e) => {
      e.preventDefault();
      const card = form.closest('.form-card');
      const success = card.querySelector('.form-success');
      if (!success) return;
      form.style.display = 'none';
      success.style.display = 'block';
    });
  });
})();

/* ── DATE → TIME DEPENDENCY ──────────────────────────── */
(function () {
  document.querySelectorAll('input[type="date"]').forEach((dateInput) => {
    const form = dateInput.closest('form');
    if (!form) return;
    const timeSelect = form.querySelector('select[name="time"]');
    if (!timeSelect) return;
    dateInput.addEventListener('change', () => {
      timeSelect.disabled = !dateInput.value;
      if (!dateInput.value) {
        timeSelect.value = '';
        timeSelect.querySelector('option[value=""]').textContent = 'Pick a date first';
      } else {
        timeSelect.querySelector('option[value=""]').textContent = 'Select a time';
      }
    });
  });
})();

/* ── MARK CURRENT NAV LINK ───────────────────────────── */
(function () {
  const path = window.location.pathname.replace(/\/$/, '') || '/';
  document.querySelectorAll('.nav-links a').forEach((a) => {
    const href = a.getAttribute('href').replace(/\/$/, '') || '/';
    if (path === href || (href !== '/' && path.startsWith(href))) {
      a.setAttribute('aria-current', 'page');
    }
  });
})();
