`;
modal.classList.remove('hidden');
document.getElementById('close-modal-btn').addEventListener('click', () => modal.classList.add('hidden'));
}
searchBtn.addEventListener('click', () => renderGuides(interestFilter.value));
document.getElementById('pdf-download-btn').addEventListener('click', () => {
const { jsPDF } = jspdf;
const pdf = new jsPDF();
const filter = interestFilter.value;
const filteredGuides = guidesDB.filter(guide => filter === 'all' || guide.interests.includes(filter));
pdf.setFontSize(22);
pdf.text(`Local Guide Recommendations`, 105, 20, { align: 'center' });
let y = 35;
filteredGuides.forEach((guide, index) => {
if (y > 260) { pdf.addPage(); y = 20; }
pdf.setFontSize(16);
pdf.setTextColor(40, 40, 180);
pdf.text(`${index + 1}. ${guide.name} - ${guide.city}`, 15, y);
y += 7;
pdf.setFontSize(11);
pdf.setTextColor(50, 50, 50);
pdf.text(`"${guide.tagline}"`, 20, y);
y += 6;
pdf.text(`Interests: ${guide.interests.join(', ')}`, 20, y);
y+= 10;
});
pdf.save('local-guide-list.pdf');
});
// Initial render
renderGuides();
});