/* ==========================================================
   CURSEUR PARTAGÉ · Christophe Fassi
   L'iris du poinçon (diaphragme à 6 lamelles), rubis cerclé de crème :
   lisible sur photo sombre comme sur fond blanc.
   Au survol de ce qui se clique, le diaphragme s'ouvre.
   Va avec js/curseur.js. Le curseur normal n'est masqué que si
   le script a démarré (classe .cf-curseur sur <html>).
   La page portraits garde le curseur normal (ne pas l'y brancher).
   ========================================================== */
@media (hover: hover) and (pointer: fine) {
  html.cf-curseur, html.cf-curseur * { cursor: none; }

  /* Zones où le curseur normal revient : saisie, fenêtres, zones à curseur propre */
  html.cf-curseur input, html.cf-curseur textarea, html.cf-curseur select,
  html.cf-curseur [contenteditable], html.cf-curseur dialog, html.cf-curseur dialog *,
  html.cf-curseur .cf-curseur-natif, html.cf-curseur .cf-curseur-natif * { cursor: auto; }
  html.cf-curseur input[type="submit"], html.cf-curseur input[type="button"],
  html.cf-curseur input[type="checkbox"], html.cf-curseur input[type="radio"],
  html.cf-curseur dialog a, html.cf-curseur dialog button,
  html.cf-curseur .cf-curseur-natif a, html.cf-curseur .cf-curseur-natif button { cursor: pointer; }
}

.cf-cur { position: fixed; top: 0; left: 0; width: 0; height: 0; pointer-events: none;
  z-index: 10000; opacity: 0; transition: opacity .2s ease; will-change: transform; }
.cf-cur.on { opacity: 1; }

/* 24 px au repos, 32 px ouvert : lisible pour tous, centre = point du clic */
.cf-cur svg { position: absolute; left: -12px; top: -12px; width: 24px; height: 24px; overflow: visible;
  transition: transform .25s ease; }
.cf-cur.survol svg { transform: scale(1.3333); }

/* Les lamelles : fermées au repos, elles tournent et s'écartent au survol */
.cf-cur .cf-lam { transform-box: view-box; transform-origin: 100px 100px;
  transition: transform .25s ease; }
.cf-cur.survol .cf-lam { transform: rotate(30deg) scale(1.75); }

@media (prefers-reduced-motion: reduce) {
  .cf-cur, .cf-cur svg, .cf-cur .cf-lam { transition: none; }
}
