/* ═══════════════════════════════════════════════════════════════
   CURSOR PERSONALIZADO — mano 🤘 camuflaje
   ═══════════════════════════════════════════════════════════════ */
body.cursor-on,
body.cursor-on a,
body.cursor-on p,
body.cursor-on h1,
body.cursor-on h2,
body.cursor-on h3,
body.cursor-on h4,
body.cursor-on span,
body.cursor-on div,
body.cursor-on section,
body.cursor-on article,
body.cursor-on li,
body.cursor-on small,
body.cursor-on strong,
body.cursor-on b {
  cursor: none;
}
/* Dejamos el cursor nativo donde se escribe o se hace clic */
body.cursor-on input,
body.cursor-on textarea,
body.cursor-on select,
body.cursor-on button,
body.cursor-on .phone-popup,
body.cursor-on .phone-popup * {
  cursor: auto;
}
body.cursor-hidden,
body.cursor-hidden * {
  cursor: auto !important;
}
/* Restaurar el cursor nativo sobre el mapa de Google Maps:
   el cursor personalizado no funciona bien dentro del iframe. */
body.cursor-over-map .cursor-follow {
  opacity: 0 !important;
}
body.cursor-over-map .map-embed,
body.cursor-over-map .map-embed iframe {
  cursor: auto !important;
}

.cursor-follow {
  position: fixed;
  top: 0;
  left: 0;
  width: 56px;
  height: 56px;
  pointer-events: none;
  z-index: 100000;
  transform: translate(-200px, -200px);
  will-change: transform;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3));
  transition: opacity 0.25s ease;
}

/* En pantallas táctiles no tiene sentido */
@media (hover: none) {
  .cursor-follow { display: none; }
  body.cursor-on,
  body.cursor-on * { cursor: auto !important; }
}