/* =============================================================================
   Process Steps — 4-step horizontal timeline
   ========================================================================== */

.wt-process {
	max-width: var(--wt-container-max);
	margin: 0 auto;
	padding: var(--wt-stack-2xl) var(--wt-gutter);
}

.wt-process__header {
	text-align: center;
	margin-bottom: var(--wt-stack-xl);
}

.wt-process__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wt-stack-lg);
}

@media (max-width: 900px) {
	.wt-process__steps {
		grid-template-columns: 1fr;
		gap: var(--wt-stack-xl);
	}
}

/* Connecting line — horizontal (desktop), vertical (mobile) */
.wt-process__steps::before {
	content: '';
	position: absolute;
	top: 32px;
	left: 12%;
	right: 12%;
	height: 3px;
	background: linear-gradient(90deg,
		var(--wt-primary) 0%,
		var(--wt-bright-royal) 50%,
		var(--wt-primary) 100%);
	background-size: 200% 100%;
	animation: wt-line-move 3s linear infinite;
	z-index: 0;
	border-radius: var(--wt-radius-full);
}

@keyframes wt-line-move {
	0%   { background-position: 100% 0%; }
	100% { background-position: -100% 0%; }
}

@media (max-width: 900px) {
	.wt-process__steps::before { display: none; }
}

.wt-process__step {
	position: relative;
	text-align: center;
	z-index: 1;
	background: var(--wt-background);
	padding: 0 var(--wt-stack-sm);
}

.wt-process__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: var(--wt-primary);
	color: #ffffff;
	font-family: var(--wt-font-display);
	font-size: 26px;
	font-weight: var(--wt-fw-bold);
	border-radius: 50%;
	margin: 0 auto var(--wt-stack-md);
	box-shadow: 0 0 0 8px var(--wt-background), 0 8px 24px rgba(0, 40, 142, 0.2);
	transition: transform var(--wt-transition-base);
}
.wt-process__step:hover .wt-process__num {
	transform: scale(1.05);
	background: var(--wt-primary-container);
}

.wt-process__title {
	font-family: var(--wt-font-display);
	font-size: 20px;
	font-weight: var(--wt-fw-semibold);
	color: var(--wt-primary);
	margin-bottom: var(--wt-stack-sm);
}

.wt-process__desc {
	font-family: var(--wt-font-body);
	font-size: 14px;
	color: var(--wt-on-surface-variant);
	line-height: var(--wt-lh-body);
	margin: 0;
}
