/* ---- CUSTOM CURSOR ---- */
body {
  cursor: none;
}

.cursor-dot,
.cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
}

/* Petit point */
.cursor-dot {
  width: 6px;
  height: 6px;
  background: var(--color-accent);
  border-radius: 50%;
}

/* Cercle */
.cursor-ring {
  width: 28px;
  height: 28px;
  border: 2px solid var(--color-accent);
  border-radius: 50%;
  opacity: 0.6;
  transition: 
    width 0.25s ease,
    height 0.25s ease,
    opacity 0.25s ease,
    border-color 0.25s ease;
}

/* ---- HOVER INTERACTIF ---- */
a:hover ~ .cursor-ring,
button:hover ~ .cursor-ring,
.stage-modal__cta:hover ~ .cursor-ring {
  width: 48px;
  height: 48px;
  opacity: 0.3;
}

/* ---- TACTILE : pas de souris, donc pas de curseur custom ---- */
/* Sans ça, le point/cercle reste figé dans le coin (0,0) puisque mousemove
   ne se déclenche jamais sur un écran tactile. */
@media (hover: none), (pointer: coarse), (max-width: 768px) {
  body {
    cursor: auto;
  }

  .cursor-dot,
  .cursor-ring {
    display: none;
  }
}
