/* utils.jsx — hooks compartilhados */
const { useState, useEffect, useRef } = React;

/* Detecta prefers-reduced-motion (reativo) */
function useReducedMotion() {
  const [reduced, setReduced] = useState(
    typeof window !== "undefined" &&
    window.matchMedia &&
    window.matchMedia("(prefers-reduced-motion: reduce)").matches
  );
  useEffect(() => {
    const mq = window.matchMedia("(prefers-reduced-motion: reduce)");
    const fn = () => setReduced(mq.matches);
    mq.addEventListener ? mq.addEventListener("change", fn) : mq.addListener(fn);
    return () => (mq.removeEventListener ? mq.removeEventListener("change", fn) : mq.removeListener(fn));
  }, []);
  return reduced;
}

Object.assign(window, { useReducedMotion });
