/* RETESA — "cursor follower": el punto + aro que siguen al mouse por TODA la página.
   Es distinto del halo que se pinta dentro de cada card (css/cursor-tracker.css):
   aquel vive dentro de una card; este acompaña al puntero en cualquier parte.

   Se carga en TODAS las páginas desde includes/header.php. No toca css/servicios.css.

   Degrada solo: sin JavaScript no existe ningún elemento que pintar, y en táctil o con
   "reducir movimiento" activado el JS ni siquiera se engancha. El cursor del sistema
   nunca se oculta. */

.cursor-follower-dot,
.cursor-follower-ring{
  position:fixed; top:0; left:0; z-index:2147483000;
  pointer-events:none; border-radius:50%;
  opacity:0; transition:opacity .25s ease;
  will-change:transform;
}

/* Punto: sigue al puntero al instante. */
.cursor-follower-dot{
  width:8px; height:8px; margin:-4px 0 0 -4px;
  background:var(--amber);
}

/* Aro: sigue con retardo (el JS lo interpola), así que se "estira" detrás del punto. */
.cursor-follower-ring{
  width:38px; height:38px; margin:-19px 0 0 -19px;
  border:2px solid var(--amber); background:rgba(242,169,59,0);
  transition:opacity .25s ease, width .25s ease, height .25s ease,
             margin .25s ease, background-color .25s ease;
}

.cursor-follower-on .cursor-follower-dot,
.cursor-follower-on .cursor-follower-ring{ opacity:1; }

/* Sobre algo que se puede pulsar el aro crece y se rellena; el punto se esconde. */
.cursor-follower-hover .cursor-follower-ring{
  width:64px; height:64px; margin:-32px 0 0 -32px;
  background:rgba(242,169,59,.18);
}
.cursor-follower-hover .cursor-follower-dot{ opacity:0; }

/* Salió de la ventana: se apaga todo. */
.cursor-follower-out .cursor-follower-dot,
.cursor-follower-out .cursor-follower-ring{ opacity:0; }

/* Sin mouse real no hay nada que seguir. */
@media (hover:none),(pointer:coarse){
  .cursor-follower-dot,
  .cursor-follower-ring{ display:none !important; }
}

/* Con movimiento reducido el aro no crece ni se rellena: solo aparece y se va. */
@media (prefers-reduced-motion:reduce){
  .cursor-follower-ring{ transition:opacity .25s ease; }
}
