/**
 * Action Grid Kit - Effects (Glow, Gradient, 3D)
 */

.kea-action-grid-wrap {
	--kea-icon-glow-color: transparent;
	--kea-icon-glow-size: 0px;
	--kea-3d-intensity: 10;
	--kea-3d-rotate-x: 6deg;
	--kea-3d-rotate-y: 4deg;
	--kea-3d-perspective: 800px;
	--kea-3d-lift: 4px;
	--kea-3d-scale: 1;
	--kea-3d-icon-depth: 12px;
	--kea-3d-transition: 0.35s;
	--kea-3d-transition-active: 0.08s;
	--kea-3d-mouse-sensitivity: 1;
	--kea-3d-invert-x: 1;
	--kea-3d-invert-y: 1;
	--kea-hover-scale: 1.04;
	--kea-glow-hover-boost: 10px;
	--kea-hover-lift: 4px;
}

/* ── Neon preset (matches reference design) ── */
.kea-action-grid-wrap--neon {
	--kea-icon-glow-size: 16px;
}

.kea-action-grid-wrap--neon .kea-action-card {
	background-color: rgba(255, 255, 255, 0.03);
	border-color: rgba(255, 255, 255, 0.06);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.kea-action-grid-wrap--neon .kea-action-card:hover {
	background-color: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.1);
}

/* ── Icon glow ── */
.kea-action-grid-wrap--icon-glow .kea-action-card__icon-wrap,
.kea-action-card__icon-wrap--outline,
.kea-action-card__icon-wrap--glow,
.kea-action-card__icon-wrap--gradient {
	box-shadow: 0 0 var(--kea-icon-glow-size) var(--kea-icon-glow-color);
}

.kea-action-card__icon-wrap--outline {
	background-color: transparent !important;
	border: 2px solid var(--kea-icon-glow-color, currentColor);
	box-shadow: 0 0 var(--kea-icon-glow-size, 18px) var(--kea-icon-glow-color, currentColor);
}

.kea-action-card__icon-wrap--glow {
	box-shadow:
		0 0 var(--kea-icon-glow-size, 18px) var(--kea-icon-glow-color, currentColor),
		inset 0 0 12px rgba(255, 255, 255, 0.05);
}

.kea-action-card__icon-wrap--gradient {
	box-shadow: 0 0 var(--kea-icon-glow-size, 16px) var(--kea-icon-glow-color, #3498db);
}

/* ── Glassmorphism ── */
.kea-action-grid-wrap--glass .kea-action-card {
	background-color: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.08);
}

/* Non-link cards should not inherit pointer/hover motion from animated wraps */
.kea-action-card--static:hover {
	transform: none !important;
}

/* ── Hover animations ── */
.kea-action-grid-wrap--hover-lift .kea-action-card {
	transition: transform 0.3s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.kea-action-grid-wrap--hover-lift .kea-action-card:hover {
	transform: translateY(calc(-1 * var(--kea-hover-lift, 4px)));
}

.kea-action-grid-wrap--hover-scale .kea-action-card {
	transition: transform 0.3s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.kea-action-grid-wrap--hover-scale .kea-action-card:hover {
	transform: scale(var(--kea-hover-scale));
}

.kea-action-grid-wrap--hover-glow .kea-action-card:hover .kea-action-card__icon-wrap {
	box-shadow: 0 0 calc(var(--kea-icon-glow-size, 16px) + var(--kea-glow-hover-boost, 10px)) var(--kea-icon-glow-color, #3498db);
}

/* ── 3D tilt (CSS) ── */
.kea-action-grid-wrap--3d-tilt .kea-action-grid {
	perspective: var(--kea-3d-perspective);
}

.kea-action-grid-wrap--3d-tilt .kea-action-card {
	transform-style: preserve-3d;
	transition:
		transform var(--kea-3d-transition) cubic-bezier(0.23, 1, 0.32, 1),
		background-color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
	will-change: transform;
}

.kea-action-grid-wrap--3d-tilt .kea-action-card:hover,
.kea-action-grid-wrap--3d-tilt.kea-action-grid-wrap--hover-glow .kea-action-card:hover {
	transform:
		perspective(var(--kea-3d-perspective))
		rotateX(var(--kea-3d-rotate-x))
		rotateY(calc(var(--kea-3d-rotate-y) * -1))
		translateY(calc(-1 * var(--kea-3d-lift)))
		scale(var(--kea-3d-scale));
}

/* ── 3D mouse track ── */
.kea-action-grid-wrap--3d-mouse .kea-action-grid {
	perspective: var(--kea-3d-perspective);
}

.kea-action-grid-wrap--3d-mouse .kea-action-card {
	transform-style: preserve-3d;
	transition:
		transform var(--kea-3d-transition) ease-out,
		background-color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
	will-change: transform;
}

.kea-action-grid-wrap--3d-mouse .kea-action-card.is-3d-active {
	transition:
		transform var(--kea-3d-transition-active) ease-out,
		background-color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

/* Icon inner depth on 3D cards */
.kea-action-grid-wrap--3d .kea-action-card__icon-wrap {
	transition:
		transform var(--kea-3d-transition) cubic-bezier(0.23, 1, 0.32, 1),
		box-shadow 0.25s ease;
}

.kea-action-grid-wrap--3d-tilt .kea-action-card:hover .kea-action-card__icon-wrap,
.kea-action-grid-wrap--3d-mouse .kea-action-card.is-3d-active .kea-action-card__icon-wrap {
	transform: translateZ(var(--kea-3d-icon-depth));
}

@media (max-width: 767px) {
	.kea-action-grid-wrap--3d-mobile-off.kea-action-grid-wrap--3d-mouse .kea-action-card,
	.kea-action-grid-wrap--3d-mobile-off.kea-action-grid-wrap--3d-mouse .kea-action-card.is-3d-active {
		transform: none !important;
	}

	.kea-action-grid-wrap--3d-mobile-off.kea-action-grid-wrap--3d-mouse .kea-action-card.is-3d-active .kea-action-card__icon-wrap {
		transform: none;
	}
}

/* Global icon gradient mode */
.kea-action-grid-wrap--icon-gradient .kea-action-card__icon-wrap:not([class*="--gradient"]):not([class*="--outline"]) {
	background-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
	.kea-action-grid-wrap--3d-tilt .kea-action-card,
	.kea-action-grid-wrap--3d-mouse .kea-action-card,
	.kea-action-grid-wrap--hover-lift .kea-action-card,
	.kea-action-grid-wrap--hover-scale .kea-action-card {
		transition: background-color 0.25s ease, border-color 0.25s ease;
		transform: none !important;
	}

	.kea-action-grid-wrap--3d-tilt .kea-action-card:hover,
	.kea-action-grid-wrap--3d-mouse .kea-action-card:hover,
	.kea-action-grid-wrap--hover-lift .kea-action-card:hover,
	.kea-action-grid-wrap--hover-scale .kea-action-card:hover {
		transform: none !important;
	}
}
