/* ==========================================================================
   MaxxedOut — Process steps
   ========================================================================== */

.mxo-scope.mxo-process {
	--pr-fill: var(--mx-blue);
	--pr-marker: 60px;
}
.mxo-scope .mxo-process__steps { position: relative; }
.mxo-scope .mxo-process__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--pr-n, 4), minmax(0, 1fr));
	gap: 32px;
}
/* line from the first marker's centre to the last one's */
.mxo-scope .mxo-process__track {
	position: absolute;
	top: calc(var(--pr-marker) / 2 - 1px);
	left: calc((100% - 32px * (var(--pr-n, 4) - 1)) / var(--pr-n, 4) / 2);
	right: calc((100% - 32px * (var(--pr-n, 4) - 1)) / var(--pr-n, 4) / 2);
	height: 2px;
	background: var(--s-line);
}
.mxo-scope .mxo-process__fill {
	position: absolute;
	inset: 0;
	background: var(--pr-fill);
	transform: scaleX(var(--p, 0));
	transform-origin: left center;
	transition: transform 0.25s linear;
}

.mxo-scope .mxo-step {
	position: relative;
	display: grid;
	justify-items: center;
	align-content: start;
	gap: 12px;
	text-align: center;
}
.mxo-scope .mxo-step__marker {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: var(--pr-marker);
	height: var(--pr-marker);
	margin-bottom: 14px;
	color: var(--s-ink);
	background: var(--s-bg);
	border: 2px solid var(--s-line);
	border-radius: 50%;
	transition: background-color 0.5s var(--mx-ease), border-color 0.5s var(--mx-ease), color 0.5s var(--mx-ease), box-shadow 0.5s var(--mx-ease);
}
.mxo-scope .mxo-step.is-done .mxo-step__marker {
	color: var(--mx-white);
	background: var(--pr-fill);
	border-color: var(--pr-fill);
	box-shadow: 0 0 0 8px var(--s-chip);
}
.mxo-scope .mxo-step__num {
	font-size: 17px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.mxo-scope .mxo-step__icon { display: none; }
.mxo-scope .mxo-step__title {
	font-size: 20px;
	font-weight: 700;
	font-stretch: 102%;
	line-height: 1.3;
	color: var(--s-ink);
}
.mxo-scope .mxo-step__text {
	max-width: 30ch;
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--s-body);
}
.mxo-scope .mxo-process__actions {
	justify-content: center;
	margin-top: 56px;
}

@media (max-width: 1024px) {
	.mxo-scope .mxo-process__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
		max-width: 560px;
		margin-inline: auto;
	}
	.mxo-scope .mxo-process__steps { max-width: 560px; margin-inline: auto; }
	.mxo-scope .mxo-process__track {
		top: calc(var(--pr-marker) / 2);
		bottom: calc(var(--pr-marker) / 2 + 40px);
		left: calc(var(--pr-marker) / 2 - 1px);
		right: auto;
		width: 2px;
		height: auto;
	}
	.mxo-scope .mxo-process__fill {
		transform: scaleY(var(--p, 0));
		transform-origin: center top;
	}
	.mxo-scope .mxo-step {
		grid-template-columns: var(--pr-marker) minmax(0, 1fr);
		justify-items: start;
		column-gap: 22px;
		row-gap: 6px;
		text-align: left;
	}
	.mxo-scope .mxo-step__marker {
		grid-row: span 2;
		margin-bottom: 0;
	}
	.mxo-scope .mxo-step__title { padding-top: 14px; }
	.mxo-scope .mxo-step__text { max-width: none; grid-column: 2; }
}
@media (max-width: 767px) {
	.mxo-scope.mxo-process { --pr-marker: 52px; }
}
