/* Cursor Circle follower + morph — círculo (contorno/relleno) + hotspot (punto preciso). */

body.pro-cursor-follower .pe-cur-ring,
body.pro-cursor-follower .pe-cur-hotspot {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 2147483646;
  border-radius: 50%;
  will-change: transform;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity .2s;
}

/* Solo visibles cuando el cursor está activo (mouse dentro del viewport). */
body.pro-cursor-visible .pe-cur-ring,
body.pro-cursor-visible .pe-cur-hotspot {
  opacity: 1;
}

/* Círculo: contorno por default. Las CSS vars se inyectan SIN unidad → calc(... * 1px).
   El transition da el fundido suave del relleno en hover (.act). */
body.pro-cursor-follower .pe-cur-ring {
  width: calc(var(--pe-cur-size, 46) * 1px);
  height: calc(var(--pe-cur-size, 46) * 1px);
  border: 1.6px solid var(--pe-cur-color, #C8FF3D);
  background: transparent;
  transition: background-color .3s, border-color .3s;
}

/* Relleno transitorio en hover: disco sólido del color de acento. */
body.pro-cursor-follower .pe-cur-ring.act {
  background: var(--pe-cur-color, #C8FF3D);
}

/* Hotspot: punto sólido de 5px, color de acento, 1:1 con el puntero (sin deformar). */
body.pro-cursor-follower .pe-cur-hotspot {
  width: 5px;
  height: 5px;
  background: var(--pe-cur-color, #C8FF3D);
}

/* Ocultar el puntero nativo del SO cuando el runtime lo pide. */
body.pro-cursor-hide-native,
body.pro-cursor-hide-native * {
  cursor: none;
}
