/* Custom Cursor */

.cursor-dot,
.cursor-outline {
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  z-index: 999999;
  pointer-events: none;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.cursor-dot {
  width: 8px;
  height: 8px;
  background-color: #ff69b4;
  box-shadow: 0 0 8px rgba(255,105,180,0.6);
  opacity: 0;
}

.cursor-outline {
  width: 30px;
  height: 30px;
  border: 2px solid #ffb6c1;
  transition: transform 200ms cubic-bezier(.2,.9,.3,1), border-color 150ms;
  opacity: 0;
}

.cursor-trail {
  position: fixed;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 999998;
  background: linear-gradient(135deg, #ff69b4, #ffb6c1);
  opacity: 0;
}

.cursor-outline.cursor-hover {
  transform: scale(1.6);
  border-color: #ff69b4;
}

/* Hover effect is handled by JavaScript */

/* Hide default cursor on mobile */
@media (max-width: 768px) {
  * {
    cursor: auto !important;
  }
  .cursor-dot,
  .cursor-outline,
  .cursor-trail {
    display: none !important;
  }
}