// Apricus — fiche détaillée d'un séjour (pop-up animé) function RetreatModal({ retreat, onClose }) { const D = 'var(--font-display)'; const [shown, setShown] = React.useState(false); React.useEffect(() => { if (retreat) { const id = setTimeout(() => setShown(true), 20); const onKey = e => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', onKey); const prev = document.body.style.overflow; document.body.style.overflow = 'hidden'; return () => { clearTimeout(id); window.removeEventListener('keydown', onKey); document.body.style.overflow = prev; }; } else { setShown(false); } }, [retreat]); if (!retreat) return null; const r = retreat; return (
{para}
))} {/* ---- galerie ---- */}« {a.quote} »