/* Custom cursor — instant dot, desktop only */

@media (hover: hover) and (pointer: fine) {
  body.has-custom-cursor,
  body.has-custom-cursor a,
  body.has-custom-cursor button,
  body.has-custom-cursor [role="button"],
  body.has-custom-cursor .chroma-btn,
  body.has-custom-cursor input,
  body.has-custom-cursor label {
    cursor: none !important;
  }
}

.cursor-dot {
  position: fixed;
  left: 0;
  top: 0;
  width: 6px;
  height: 6px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #ececef;
  box-shadow: 0 0 10px rgba(183, 148, 246, 0.65);
  pointer-events: none;
  z-index: 100001;
  opacity: 0;
  will-change: transform;
  transform: translate3d(-100px, -100px, 0) translate(-50%, -50%);
  transition: width 0.12s ease, height 0.12s ease, background 0.12s ease, box-shadow 0.12s ease, opacity 0.15s ease;
}

.cursor-dot.is-active {
  opacity: 1;
}

.cursor-dot.is-hidden {
  opacity: 0;
}

.cursor-dot.is-hover {
  width: 10px;
  height: 10px;
  background: #c4b5fd;
  box-shadow: 0 0 14px rgba(196, 181, 253, 0.9);
}

@media (hover: none), (pointer: coarse) {
  .cursor-dot {
    display: none !important;
  }
}
