
const header = document.querySelector('[data-header]');
const toggle = document.querySelector('[data-menu-toggle]');
const nav = document.querySelector('[data-nav]');
toggle?.addEventListener('click', () => {
  const isOpen = nav.classList.toggle('open');
  toggle.setAttribute('aria-expanded', String(isOpen));
});
document.querySelectorAll('[data-nav] a').forEach(a => a.addEventListener('click', () => {
  nav?.classList.remove('open');
  toggle?.setAttribute('aria-expanded', 'false');
}));
document.querySelectorAll('[data-year]').forEach(el => el.textContent = new Date().getFullYear());

const revealObserver = new IntersectionObserver(entries => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      entry.target.classList.add('visible');
      revealObserver.unobserve(entry.target);
    }
  });
}, {threshold: .12});
document.querySelectorAll('.reveal').forEach(el => revealObserver.observe(el));

const form = document.querySelector('[data-contact-form]');
form?.addEventListener('submit', event => {
  //event.preventDefault();
  const status = form.querySelector('.form-status');
  const button = form.querySelector('button');
  const botField = form.querySelector('[name="website"]');
  status.className = 'form-status';
  if (botField?.value) return;
  if (!form.checkValidity()) {
    form.reportValidity();
    status.textContent = 'Please complete all required fields.';
    status.classList.add('error');
    return;
  }
  button.disabled = true;
  button.querySelector('span').textContent = 'Submitting…';
  setTimeout(() => {
    status.textContent = 'Your information is ready to send. Connect the form to your Hostinger SMTP endpoint before launch.';
    status.classList.add('success');
    button.disabled = false;
    button.querySelector('span').textContent = 'Submit';
  }, 700);
});
