/* ==========================================================================
   "Hoe het gaat" — proces tijdlijn
   ========================================================================== */

.hoehetgaat {
	background-color: var(--ms-sand);
	position: relative;
}

.hoehetgaat__intro {
	max-width: 700px;
	margin-bottom: 80px;
}

.timeline {
	position: relative;
	padding-left: 80px;
	list-style: none;
}

/* Doorlopende verticale lijn */
.timeline::before {
	content: "";
	position: absolute;
	left: 30px;
	top: 30px;
	bottom: 30px;
	width: 2px;
	background-image: linear-gradient(
		to bottom,
		var(--ms-terracotta) 0%,
		var(--ms-terracotta) 60%,
		rgba(196, 106, 61, 0.3) 100%
	);
}

.timeline__step {
	position: relative;
	padding-bottom: 60px;
}
.timeline__step:last-child {
	padding-bottom: 0;
}

/* Nummer-bolletje */
.timeline__step__number {
	position: absolute;
	left: -80px;
	top: 0;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background-color: var(--ms-sand);
	border: 2px solid var(--ms-terracotta);
	color: var(--ms-terracotta);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ms-font-display);
	font-size: 28px;
	line-height: 1;
	z-index: 2;
}

/* Eerste actieve stap krijgt vulling 
.timeline__step:first-child .timeline__step__number {
	background-color: var(--ms-terracotta);
	color: var(--ms-sand);
} */

.timeline__step__title {
	font-family: var(--ms-font-display);
	font-size: 36px;
	line-height: 1.1;
	margin: 0 0 15px;
	color: var(--ms-ink);
	display: flex;
	align-items: baseline;
	gap: 15px;
}

.timeline__step__title::after {
	content: "";
	flex: 1;
	height: 1px;
	background-color: rgba(28, 38, 45, 0.1);
}

.timeline__step__body {
	font-size: 19px;
	line-height: 1.6;
	color: var(--ms-ink);
	max-width: 700px;
}

/* ==========================================================================
   Mobiel — stack-on-scroll: elke kaart sticky, schuift over de vorige heen
   ========================================================================== */

@media (max-width: 900px) {
	.hoehetgaat { margin-top: 30px; }

	/* Container padding weg, intro krijgt eigen padding zodat
	   de timeline-cards de volledige breedte kunnen pakken
	   (gelijk aan .voorwie-card op mobiel). */
	.hoehetgaat .layout-container {
		padding-left: 0;
		padding-right: 0;
	}

	.hoehetgaat__intro {
		margin-bottom: 40px;
		padding: 0 var(--ms-section-padding-x);
	}

	/* Verticale stack, geen lijn meer */
	.timeline {
		padding-left: 0;
		padding-right: 0;
		display: block;
		list-style: none;
		margin: 0;
		padding-bottom: 0;
	}
	.timeline::before {
		display: none;
	}

	/* Elke stap is een sticky kaart — geen schaduw */
	.timeline__step {
		position: sticky;
		top: 90px; /* ruimte onder sticky menu */
		padding-bottom: 0;
		background-color: var(--ms-sand-warm);
		border-radius: var(--ms-radius-md);
		padding: 30px 25px 35px;
		box-shadow: none;
		min-height: 320px;
		display: flex;
		flex-direction: column;
		margin-bottom: 16px;
		width: 100%;
	}
	.timeline__step:last-child {
		margin-bottom: 0;
	}

	/* Lichte variatie per kaart zodat overlap visueel duidelijk is */
	.timeline__step:nth-child(even) {
		background-color: var(--ms-sand-deep);
	}

	/* Nummer wordt onderdeel van titel: groot, terracotta, op de regel */
	.timeline__step__number {
		position: static;
		width: auto;
		height: auto;
		background: none;
		border: 0;
		font-size: 60px;
		margin-bottom: 5px;
		justify-content: flex-start;
		color: var(--ms-terracotta);
		display: block;
		line-height: 1;
	}
	.timeline__step:first-child .timeline__step__number {
		background: none;
		color: var(--ms-terracotta);
	}

	.timeline__step__title {
		font-size: 24px;
		margin: 0 0 12px;
	}
	.timeline__step__title::after {
		display: none;
	}

	.timeline__step__body {
		font-size: 15px;
		line-height: 1.55;
	}
}
