/* ============================================
   Botones — variante tech
   Barrido de luz al hover + glow pulsante sutil,
   coherente con la estética violeta/glass del tema.
   ============================================ */

@keyframes exoduss-btn-pulse {
	0%,
	100% {
		box-shadow: 0 8px 24px -12px var(--violet-glow), inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 0 0 0 rgba(124, 58, 237, 0.35);
	}
	50% {
		box-shadow: 0 8px 24px -12px var(--violet-glow), inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 0 18px 2px rgba(124, 58, 237, 0.3);
	}
}

/* position:relative y overflow:hidden viven en base.css (estructurales,
   necesarios para que la flecha del CTA funcione aunque este archivo falle) */

/* Barrido de luz diagonal */
.btn::before,
.exoduss-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.55) 50%, transparent 70%);
	mix-blend-mode: overlay;
	transform: translateX(-140%) skewX(-12deg);
	transition: transform 0.7s var(--ease);
	pointer-events: none;
}

.btn:hover::before,
.exoduss-btn:hover::before {
	transform: translateX(140%) skewX(-12deg);
}

/* CTA principal: glow pulsante continuo, se intensifica al hover */
.exoduss-btn {
	animation: exoduss-btn-pulse 3.2s ease-in-out infinite;
}

.exoduss-btn:hover {
	animation-play-state: paused;
	box-shadow: 0 10px 28px -12px var(--violet-glow), 0 0 0 1px rgba(167, 139, 250, 0.35), 0 0 22px 2px rgba(124, 58, 237, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.btn-primary {
	animation: exoduss-btn-pulse 3.2s ease-in-out infinite;
}

.btn-primary:hover {
	animation-play-state: paused;
	box-shadow: 0 14px 32px -8px var(--violet-glow), 0 0 22px 2px rgba(124, 58, 237, 0.4);
}

/* Botón ghost: borde y fondo con transición tech, sin glow (mantiene jerarquía visual) */
.btn-ghost {
	transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), background 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

.btn-ghost:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 0 1px var(--border-strong), 0 8px 20px -12px rgba(124, 58, 237, 0.35);
}

@media (prefers-reduced-motion: reduce) {
	.exoduss-btn,
	.btn-primary {
		animation: none;
	}
}
