// Milfers · Modal de carta digital (last.app via proxy) // Singleton global — cualquier elemento con data-open-carta abre el modal. // En producción la carta está en /carta/carta.html desde la raíz del servidor. const CARTA_URL = 'carta/carta.html?popup=1'; function CartaModal() { const [open, setOpen] = React.useState(false); React.useEffect(() => { window.mfOpenCarta = () => setOpen(true); const click = (e) => { const t = e.target.closest('[data-open-carta]'); if (t) { e.preventDefault(); setOpen(true); } }; document.addEventListener('click', click); const key = (e) => { if (e.key === 'Escape') setOpen(false); }; window.addEventListener('keydown', key); return () => { document.removeEventListener('click', click); window.removeEventListener('keydown', key); }; }, []); React.useEffect(() => { document.body.style.overflow = open ? 'hidden' : ''; }, [open]); if (!open) return null; return (