/* public/styles/cursor.css */
/* ================================= */
/* FIREFOX FIX: Removido will-change */
/* ================================= */

:root {
  --cursor-size-base: 60px;
  --cursor-size-dot: 17px;
  --cursor-accent: var(--primary-green);
  --cursor-bg: var(--neutral-light);
}

.custom-cursor {
  /* Propriedades fixas */
  width: var(--cursor-size-base);
  height: var(--cursor-size-base);
  border-radius: 50%;
  pointer-events: none;
  
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  
  background-color: var(--cursor-accent);
  mix-blend-mode: difference;
  
  /* ✅ FIREFOX FIX: Removido will-change (excede limite do FF) */
  /* Performance otimizada apenas com backface-visibility + translate3d */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  
  /* ✅ translate3d força GPU acceleration sem will-change */
  transform: translate(-50%, -50%) translate3d(0, 0, 0);
  
  display: flex;
  align-items: center;
  justify-content: center;
}

.cursor-text {
  color: var(--neutral-normal);
  font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  text-align: center;
  pointer-events: none;
  
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  
  opacity: 0;
  transition: opacity 0.3s ease;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Responsive, accessibility, debug mantidos iguais */

@media (min-width: 1024px) and (max-width: 1439px) {
  :root {
    --cursor-size-base: 100px;
  }
  
  .cursor-text {
    font-size: 0.875rem;
  }
}

@media (max-width: 1023px) {
  .custom-cursor {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .custom-cursor {
    display: none !important;
  }
}

@media (prefers-contrast: high) {
  .custom-cursor {
    mix-blend-mode: normal;
    border: 2px solid var(--neutral-normal);
  }
}

body[data-debug] .custom-cursor {
  border: 2px dashed rgba(255, 0, 0, 0.5);
  mix-blend-mode: normal;
  background-color: rgba(25, 239, 153, 0.3);
}