/* =========================
   EFEITOS ESPECIAIS - DESKTOP ONLY
========================= */

/* Cursor Neon Personalizado */
@media (min-width: 769px) {
  body {
    cursor: none;
  }

  /* Cursor principal */
  .custom-cursor {
    position: fixed;
    width: 20px;
    height: 20px;
    border: 2px solid #ff6ec7;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transition: transform 0.15s ease;
    box-shadow: 
      0 0 10px #ff6ec7,
      0 0 20px #ff6ec7,
      0 0 30px #ff1493,
      inset 0 0 10px #ff6ec7;
    background: rgba(255, 110, 199, 0.1);
  }

  /* Cursor trail (rastro) */
  .cursor-trail {
    position: fixed;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff6ec7;
    pointer-events: none;
    z-index: 9998;
    box-shadow: 
      0 0 10px #ff6ec7,
      0 0 20px #ff1493;
    animation: trailFade 0.8s ease-out forwards;
  }

  @keyframes trailFade {
    0% {
      opacity: 1;
      transform: scale(1);
    }
    100% {
      opacity: 0;
      transform: scale(0.3);
    }
  }

  /* Efeito de click */
  .cursor-click {
    position: fixed;
    width: 40px;
    height: 40px;
    border: 3px solid #ff6ec7;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9997;
    animation: clickExpand 0.6s ease-out forwards;
    box-shadow: 
      0 0 20px #ff6ec7,
      0 0 40px #ff1493;
  }

  @keyframes clickExpand {
    0% {
      opacity: 1;
      transform: scale(0.5);
    }
    100% {
      opacity: 0;
      transform: scale(2);
    }
  }
}

/* =========================
   PARTÍCULAS DE CORAÇÃO FLUTUANTES
========================= */
@media (min-width: 769px) {
  .heart-particle {
    position: fixed;
    font-size: 20px;
    pointer-events: none;
    z-index: 1;
    animation: floatHeart linear forwards;
    filter: drop-shadow(0 0 5px #ff6ec7);
    opacity: 0.7;
  }

  @keyframes floatHeart {
    0% {
      transform: translateY(0) rotate(0deg);
      opacity: 0;
    }
    10% {
      opacity: 0.7;
    }
    90% {
      opacity: 0.7;
    }
    100% {
      transform: translateY(-100vh) rotate(360deg);
      opacity: 0;
    }
  }

  /* Variações de tamanho e velocidade */
  .heart-particle:nth-child(2n) {
    font-size: 16px;
    animation-duration: 8s;
  }

  .heart-particle:nth-child(3n) {
    font-size: 24px;
    animation-duration: 12s;
  }

  .heart-particle:nth-child(4n) {
    font-size: 18px;
    animation-duration: 10s;
  }
}

/* =========================
   PARTÍCULAS AO MOVER O MOUSE
========================= */
@media (min-width: 769px) {
  .cursor-heart {
    position: fixed;
    pointer-events: none;
    z-index: 9996;
    font-size: 16px;
    animation: cursorHeartFloat 1.5s ease-out forwards;
  }

  @keyframes cursorHeartFloat {
    0% {
      opacity: 1;
      transform: translateY(0) scale(1) rotate(0deg);
    }
    100% {
      opacity: 0;
      transform: translateY(-60px) scale(0.5) rotate(45deg);
    }
  }
}