/* Custom cursor - only on hover-capable devices */
@media (hover: hover) {
  body.custom-cursor {
    cursor: none;
  }

  body.custom-cursor a,
  body.custom-cursor button,
  body.custom-cursor .product-card,
  body.custom-cursor .colour-dot {
    cursor: none;
  }
}

.cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: var(--color-black);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cursor-blob {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, rgba(232, 160, 191, 0.5) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: width 0.4s var(--ease-smooth),
              height 0.4s var(--ease-smooth),
              opacity 0.3s ease;
}

.cursor-blob.hovering {
  width: 60px;
  height: 60px;
}

body.custom-cursor .cursor-dot,
body.custom-cursor .cursor-blob {
  opacity: 1;
}

/* Trail particle */
.trail-particle {
  position: fixed;
  width: 12px;
  height: 12px;
  background: radial-gradient(circle, rgba(232, 160, 191, 0.4) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9997;
  transform: translate(-50%, -50%);
}

/* Hide custom cursor on touch */
@media (hover: none) {
  .cursor-dot,
  .cursor-blob {
    display: none !important;
  }
}
