/* Hover state of the blue Elementor info-box cards (home, IT services, service pages).
   Replaces the stock photo Elementor set on :hover with an animated circuit / grid pattern.
   Layers: glow · moving circuit traces (SVG) · grid · the card's own navy gradient. */
.elementskit-infobox { position: relative; overflow: hidden; }
.elementskit-infobox:hover {
	background-color: #070a3a !important;
	background-image:
		radial-gradient(circle at 85% 15%, rgba(56, 189, 248, .38), transparent 42%),
		radial-gradient(circle at 10% 95%, rgba(139, 92, 246, .32), transparent 45%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' fill='none' stroke='%237dd3fc' stroke-opacity='.35' stroke-width='1.4'%3E%3Cpath d='M0 30h40l12 12h36M88 42v40l14 14h58M20 160v-36l14-14h30M64 110V70M120 0v24l-12 12M160 130h-34l-10-10v-24'/%3E%3Cg fill='%237dd3fc' fill-opacity='.7' stroke='none'%3E%3Ccircle cx='88' cy='42' r='3'/%3E%3Ccircle cx='64' cy='70' r='3'/%3E%3Ccircle cx='108' cy='36' r='2.5'/%3E%3Ccircle cx='116' cy='96' r='3'/%3E%3Ccircle cx='34' cy='110' r='2.5'/%3E%3C/g%3E%3C/svg%3E"),
		linear-gradient(rgba(125, 211, 252, .09) 1px, transparent 1px),
		linear-gradient(90deg, rgba(125, 211, 252, .09) 1px, transparent 1px),
		linear-gradient(130deg, #0b1d6b 0%, #0a0f44 55%, #050328 100%) !important;
	background-size: auto, auto, 160px 160px, 26px 26px, 26px 26px, auto !important;
	background-repeat: no-repeat, no-repeat, repeat, repeat, repeat, no-repeat !important;
	background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
	animation: ib-circuit 9s linear infinite;
}
@keyframes ib-circuit {
	to { background-position: 0 0, 0 0, 160px -160px, 0 26px, 26px 0, 0 0; }
}

/* a light "scan" sweeping across the card while hovered */
.elementskit-infobox::after {
	content: ""; position: absolute; top: -50%; bottom: -50%; left: -60%; width: 40%; z-index: 0; pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(125, 211, 252, .16), transparent);
	transform: skewX(-18deg); opacity: 0; transition: opacity .3s;
}
.elementskit-infobox:hover::after { opacity: 1; animation: ib-scan 2.4s ease-in-out infinite; }
@keyframes ib-scan { from { left: -60%; } to { left: 130%; } }
.elementskit-infobox > * { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
	.elementskit-infobox:hover, .elementskit-infobox:hover::after { animation: none; }
}
