/* Spiritual Cursor - Glowing orb that follows the mouse */

/* Hide default cursor on desktop */
@media (hover: hover) and (pointer: fine) {
  body.cursor-ready,
  body.cursor-ready a,
  body.cursor-ready button,
  body.cursor-ready [role="button"],
  body.cursor-ready .nav__link,
  body.cursor-ready .btn,
  body.cursor-ready label,
  body.cursor-ready select,
  body.cursor-ready summary {
    cursor: none !important;
  }
}

/* Outer glow ring */
.cursor-glow {
  position: fixed;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(201, 168, 108, 0.35);
  pointer-events: none;
  z-index: 99999;
  transition: width 0.25s ease, height 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, background 0.25s ease;
  transform: translate(-50%, -50%);
  mix-blend-mode: screen;
  will-change: transform;
  opacity: 0;
}

.cursor-glow.visible {
  opacity: 1;
}

/* Inner dot */
.cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c9a86c;
  pointer-events: none;
  z-index: 100000;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 8px rgba(201, 168, 108, 0.6), 0 0 20px rgba(201, 168, 108, 0.2);
  will-change: transform;
  transition: width 0.2s ease, height 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  opacity: 0;
}

.cursor-dot.visible {
  opacity: 1;
}

/* Hover state: expand ring, glow brighter */
.cursor-glow.hovering {
  width: 50px;
  height: 50px;
  border-color: rgba(201, 168, 108, 0.5);
  background: rgba(201, 168, 108, 0.06);
}

.cursor-dot.hovering {
  width: 4px;
  height: 4px;
  box-shadow: 0 0 12px rgba(201, 168, 108, 0.8), 0 0 30px rgba(201, 168, 108, 0.3);
}

/* Clicking: pulse */
.cursor-glow.clicking {
  width: 28px;
  height: 28px;
  border-color: rgba(201, 168, 108, 0.7);
  background: rgba(201, 168, 108, 0.12);
}

/* Hide on mobile / touch */
@media (hover: none), (pointer: coarse) {
  .cursor-glow, .cursor-dot { display: none !important; }
}
