# Variations & React Implementation ## Mobile-First Layout ```css /* Mobile first: stack sidebar on top */ @media (max-width: 768px) { #app { flex-direction: column; } .sidebar { width: 100%; height: 40vh; max-height: 40vh; } #map { height: 60vh; } /* Toggle sidebar */ .sidebar.collapsed { height: 60px; } } ``` ## Fullscreen Map with Overlay ```javascript // Map takes full screen, list appears as overlay const listOverlay = document.createElement('div'); listOverlay.className = 'list-overlay'; listOverlay.innerHTML = `
`; document.getElementById('toggle-list').addEventListener('click', () => { document.getElementById('listings').classList.toggle('hidden'); }); ``` ## Map-Only View ```javascript // No sidebar, everything in popups function createDetailedPopup(store) { const popup = new mapboxgl.Popup({ maxWidth: '400px' }) .setLngLat(store.geometry.coordinates) .setHTML( `${store.properties.address}
${store.properties.phone}
${store.properties.hours}
${store.properties.distance ? `${store.properties.distance} mi away
` : ''}