/**
 * Hirakata — Cursor personalizado.
 *
 * Por defecto el cursor del sistema se mantiene normal (flecha). Cuando el
 * puntero entra en un elemento interactivo (enlace, botón, etc.) el cursor del
 * sistema se oculta y aparece un punto rosado que sigue al mouse.
 *
 * Solo se activa en dispositivos con puntero fino y hover real (mouse/trackpad);
 * en touch nunca se muestra el punto ni se oculta nada.
 */

@media (hover: hover) and (pointer: fine) {

	.hk-cursor-dot {
		position: fixed;
		top: 0;
		left: 0;
		width: 16px;
		height: 16px;
		margin: -8px 0 0 -8px; /* centra el punto en el puntero */
		border-radius: 50%;
		background: var(--hk-cursor-color, #FFB1D4);
		pointer-events: none;
		z-index: 100000;
		opacity: 0;
		transform: translate3d(-100px, -100px, 0);
		will-change: transform;
	}

	/* Activo: solo aparece el punto. Esta clase togglea en cada hover, así que
	   debe afectar al MENOR número de nodos posible (solo el punto) para no
	   disparar un recálculo de estilo de todo el DOM en cada movimiento. */
	body.hk-cursor-on .hk-cursor-dot {
		opacity: 1;
	}

	/* El cursor del sistema se oculta de forma PERMANENTE sobre los elementos
	   interactivos (y sus hijos). Se aplica una sola vez al cargar mediante la
	   clase hk-cursor-ready → un único recálculo, no uno por cada hover.
	   Gated por la clase para que, sin JS, los enlaces conserven su cursor. */
	body.hk-cursor-ready a,
	body.hk-cursor-ready a *,
	body.hk-cursor-ready button,
	body.hk-cursor-ready button *,
	body.hk-cursor-ready [role="button"],
	body.hk-cursor-ready [role="button"] *,
	body.hk-cursor-ready .hkt-casos-filter,
	body.hk-cursor-ready input[type="submit"],
	body.hk-cursor-ready input[type="button"],
	body.hk-cursor-ready label[for],
	body.hk-cursor-ready summary {
		cursor: none !important;
	}
}
