Resumen
La tienda lee el catálogo en vivo desde la app iOS de inventario con listeners onSnapshot de Firestore, así que lo que se agrega o edita ahí aparece en la web sin volver a desplegar. El checkout reserva primero los productos, y el stock sube y baja dentro de transacciones atómicas de Firestore, así que dos personas comprando la última unidad al mismo tiempo no se la pueden llevar las dos. Astro en Vercel para la parte estática, Firebase client SDK para la parte en vivo.