/*!
 * FPC Custom Cursor
 * v1.2.0
 */
.fpc-cursor{
	position:fixed;
	top:0;
	left:0;
	width:var(--fpc-cursor-size,24px);
	height:var(--fpc-cursor-size,24px);
	background-image:var(--fpc-cursor-image);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	pointer-events:none;
	transform:translate3d(-100px,-100px,0);
	opacity:0;
	will-change:transform,opacity;
	transition:opacity .2s ease, scale .25s cubic-bezier(.34,1.56,.64,1);
	z-index:99999;
	filter:drop-shadow(0 3px 8px rgba(0,0,0,.2));
	scale:1;
}
.fpc-cursor.is-visible{opacity:1}

/* Sobre enlaces y botones: la pelota crece y rota */
.fpc-cursor.is-hover{
	scale:1.5;
	animation:fpc-spin 1.4s linear infinite;
}

/* Click: pequeño rebote */
.fpc-cursor.is-clicking{
	animation:fpc-bounce .35s ease;
}
.fpc-cursor.is-hover.is-clicking{
	animation:fpc-spin 1.4s linear infinite, fpc-bounce .35s ease;
}

@keyframes fpc-bounce{
	0%{scale:1}
	40%{scale:.78}
	100%{scale:1}
}
@keyframes fpc-spin{
	from{rotate:0deg}
	to{rotate:360deg}
}

/* En táctiles no se muestra */
@media (hover:none),(pointer:coarse){
	.fpc-cursor{display:none !important}
}

/* Reduced motion: sin spin ni rebote */
@media (prefers-reduced-motion:reduce){
	.fpc-cursor.is-hover{animation:none;scale:1.4}
	.fpc-cursor.is-clicking{animation:none}
	.fpc-cursor{transition:opacity .2s ease}
}
