{ if (e.target === e.currentTarget) onClose && onClose(); }}
style={{ position: "fixed", inset: 0, zIndex: 300, background: "rgba(20,24,42,0.40)", display: "flex", alignItems: "center", justifyContent: "center", padding: 20, animation: "ed-overlay 200ms var(--ease-out)" }}>
{children}
);
}
/* Modal Calendly (mock reutilizable) */
function CalendlyModal({ open, onClose, context }) {
const [day, setDay] = useS(null), [slot, setSlot] = useS(null), [done, setDone] = useS(false);
useE(() => { if (open) { setDay(null); setSlot(null); setDone(false); } }, [open]);
const days = []; const base = new Date();
const dow = ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"];
const mon = ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"];
let added = 0, cur = 1;
while (added < 8) { const d = new Date(base.getTime() + cur * 86400000); if (d.getDay() !== 0 && d.getDay() !== 6) { days.push(d); added++; } cur++; }
const slots = ["9:00", "10:30", "12:00", "14:00", "15:30", "17:00"];
return (