/* ── CUSTOM CURSOR ── */

/* Only hide default cursor and enable custom one on devices with a mouse */
@media (pointer: fine) {
  *, *::before, *::after {
    cursor: none !important;
  }

  #cursor-arrow {
    position: fixed;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    pointer-events: none;
    z-index: 999999;
    /* Offset so the tip of the arrow is the hotspot */
    transform: translate(0, 0);
    transition: opacity 0.2s ease;
    will-change: transform;
    display: block;
  }

  #cursor-arrow svg {
    width: 100%;
    height: 100%;
    transition: 
      transform 0.25s cubic-bezier(0.23, 1, 0.32, 1),
      filter 0.25s ease;
  }

  /* Hover over clickable elements — arrow grows and glows */
  #cursor-arrow.hover svg {
    transform: scale(1.25);
    filter: drop-shadow(0 0 6px #a855f7cc);
  }

  /* Click — arrow squishes inward */
  #cursor-arrow.clicking svg {
    transform: scale(0.82);
    filter: drop-shadow(0 0 10px #7c3aedcc);
  }

  /* Hidden when cursor leaves window */
  #cursor-arrow.hidden {
    opacity: 0;
  }
}

/* Explicitly kill the custom cursor element on mobile/touch */
@media (pointer: coarse) {
  #cursor-arrow {
    display: none !important;
  }
  
  *, *::before, *::after {
    cursor: auto !important;
  }
}
