/* Curseur Elyden : point + anneau qui suit en douceur, étiquette « Réserver » sur les boutons de rendez-vous.
   Actif seulement à la souris (pas au tactile) et si l'utilisateur n'a pas demandé de réduire les animations. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.has-cursor, html.has-cursor *{cursor:none!important}
  html.has-cursor input, html.has-cursor textarea, html.has-cursor select{cursor:text!important}
  .cur-dot,.cur-ring,.cur-label{position:fixed;left:0;top:0;z-index:2147483000;pointer-events:none;opacity:0;transition:opacity .25s}
  html.cursor-on .cur-dot,html.cursor-on .cur-ring{opacity:1}
  html.cursor-text .cur-dot,html.cursor-text .cur-ring,html.cursor-text .cur-label{opacity:0!important}
  .cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;mix-blend-mode:difference}
  .cur-ring{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1.5px solid #fff;mix-blend-mode:difference;
    transition:opacity .25s,width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s}
  /* survol d'un lien / bouton : l'anneau grandit et se remplit */
  html.cursor-link .cur-ring{width:66px;height:66px;margin:-33px 0 0 -33px;background:#fff}
  html.cursor-link .cur-dot{transform:scale(0)}
  /* clic : petite pulsation */
  html.cursor-down .cur-ring{width:30px;height:30px;margin:-15px 0 0 -15px}
  html.cursor-down.cursor-link .cur-ring{width:56px;height:56px;margin:-28px 0 0 -28px}
  /* étiquette (boutons de rendez-vous, détails…) */
  .cur-label{display:grid;place-items:center;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#7d866c;color:#F4F1EA;
    font:600 11px/1.1 'Clarity City',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-align:center;
    transform:scale(.4);transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
  html.cursor-label .cur-label{opacity:1;transform:scale(1)}
  html.cursor-label .cur-ring,html.cursor-label .cur-dot{opacity:0}
}
@media not all and (hover:hover) and (pointer:fine), (prefers-reduced-motion:reduce){
  .cur-dot,.cur-ring,.cur-label{display:none!important}
}
