/* ═══════════════════════════════════════════════
   CUSTOM CURSOR — payalsellshomes.com
   Hybrid dot + trailing ring, brand-matched
   ═══════════════════════════════════════════════ */

/* Hide native cursor on desktop only */
@media (pointer: fine) {
  *, *::before, *::after {
    cursor: none !important;
  }
}

/* Cursor dot (inner) */
.psh-cursor-dot {
  position: fixed;
  top: 0; left: 0;
  width: 8px;
  height: 8px;
  background: #D4AF37;
  border-radius: 50%;
  pointer-events: none;
  z-index: 999999;
  transform: translate(-50%, -50%);
  transition: width 0.2s ease, height 0.2s ease, background 0.2s ease;
  mix-blend-mode: normal;
  will-change: transform;
}

/* Cursor ring (outer) */
.psh-cursor-ring {
  position: fixed;
  top: 0; left: 0;
  width: 36px;
  height: 36px;
  border: 1.5px solid rgba(212, 175, 55, 0.5);
  border-radius: 50%;
  pointer-events: none;
  z-index: 999998;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, border-color 0.3s ease, background 0.3s ease;
  will-change: transform;
}

/* Hover state — ring expands, dot changes */
.psh-cursor-dot.is-hovering {
  width: 6px;
  height: 6px;
  background: #F3EBD4;
}

.psh-cursor-ring.is-hovering {
  width: 50px;
  height: 50px;
  border-color: rgba(212, 175, 55, 0.8);
  background: rgba(212, 175, 55, 0.08);
}

/* Text select state */
.psh-cursor-dot.is-text {
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background: #D4AF37;
}

.psh-cursor-ring.is-text {
  width: 28px;
  height: 28px;
  border-color: rgba(212, 175, 55, 0.25);
}

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

/* Hide when cursor leaves window */
.psh-cursor-dot.is-hidden,
.psh-cursor-ring.is-hidden {
  opacity: 0;
}
