// Mobile Menu Toggle function toggleMobileMenu() { const menu = document.getElementById('mobileMenu'); menu.classList.toggle('hidden'); } // Filter Functionality function filterDates(category) { const cards = document.querySelectorAll('.date-card'); const buttons = document.querySelectorAll('.filter-btn'); // Update active button buttons.forEach(btn => { if (btn.textContent.toLowerCase() === category || (category === 'all' && btn.textContent === 'All')) { btn.classList.add('bg-rose-600', 'text-white', 'border-rose-600'); btn.classList.remove('text-warm-800', 'border-warm-200'); } else { btn.classList.remove('bg-rose-600', 'text-white', 'border-rose-600'); btn.classList.add('text-warm-800', 'border-warm-200'); } }); // Filter cards cards.forEach(card => { if (category === 'all' || card.dataset.category === category) { card.style.display = 'block'; setTimeout(() => { card.style.opacity = '1'; card.style.transform = 'translateY(0)'; }, 10); } else { card.style.opacity = '0'; card.style.transform = 'translateY(20px)'; setTimeout(() => { card.style.display = 'none'; }, 300); } }); } // Modal Functions function openBookingModal(experienceName = '') { const modal = document.getElementById('bookingModal'); const input = document.getElementById('experienceInput'); if (experienceName) { input.value = experienceName; } else { input.value = ''; } modal.classList.remove('hidden'); document.body.style.overflow = 'hidden'; // Reinitialize icons in modal if (typeof lucide !== 'undefined') { lucide.createIcons(); } } function closeBookingModal() { const modal = document.getElementById('bookingModal'); modal.classList.add('hidden'); document.body.style.overflow = ''; } // Form Submission document.getElementById('bookingForm').addEventListener('submit', function(e) { e.preventDefault(); // Show success message const form = this; const originalContent = form.innerHTML; form.innerHTML = `
We'll contact you within 2 hours to confirm your date details.