document.addEventListener('DOMContentLoaded', function () { function closeAllPanels(exceptPanel = null) { document.querySelectorAll('.gt-facilities.is-open').forEach(function (panel) { if (panel !== exceptPanel) { panel.classList.remove('is-open'); } }); } document.addEventListener('click', function (event) { const button = event.target.closest( '.gt-view-details .elementor-button, .gt-facilities-btn .elementor-button' ); if (button) { event.preventDefault(); event.stopPropagation(); const card = button.closest('.gt-card'); if (!card) return; const panel = card.querySelector('.gt-facilities'); if (!panel) return; const willOpen = !panel.classList.contains('is-open'); closeAllPanels(panel); panel.classList.toggle('is-open', willOpen); return; } if (!event.target.closest('.gt-facilities')) { closeAllPanels(); } }); });