/* =========================================================
   Tijdlijn — "Onze geschiedenis"
   Split-layout: elk item is volledige breedte, de middenlijn
   verdeelt tekst (ene helft) en beeld (andere helft).
   ========================================================= */

.timeline-section {
	--tl-line: #1c1c1c;          /* kleur centrale lijn + stippen */
	--tl-dot-ring: #ffffff;       /* ring rond de cirkel */
	--tl-badge-bg: #ffffff;
	--tl-badge-border: #d8d8d8;
	--tl-badge-text: #333333;
	--tl-text: #4a4a4a;
	--tl-year: #1c1c1c;
	--tl-gap: 24px;               /* verticale ruimte tussen items */
	--tl-pad: 48px;               /* ruimte tussen content/beeld en de lijn */
	--tl-radius: 4px;

	padding: 64px 20px;
	background: #fff;
}

.timeline-container {
	max-width: 1180px;
	margin: 0 auto;
}

/* ---- Header ---- */
.timeline-header {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 56px;
}

.timeline-title {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 700;
	margin: 0 0 16px;
	color: #1c1c1c;
	font-family: 'Open Sans', sans-serif;
}

.timeline-intro {
	color: var(--tl-text);
	font-size: 0.95rem;
	line-height: 1.6;
}

.timeline-intro p { 
	margin: 0 0 1em; 
    font-size: 16px;
    line-height: 1.6;
    color: var(--tl-text);
    font-family: 'Open Sans', sans-serif;
}


/* ---- Tijdlijn wrapper ---- */
.timeline {
	position: relative;
	padding: 8px 0;
}

/* centrale verticale lijn */
.timeline__line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	transform: translateX(-50%);
	background: var(--tl-line);
}

/* ---- Eén item: volledige breedte, gesplitst door de lijn ---- */
.timeline__item {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	margin-bottom: var(--tl-gap);

	/* fade-in (zie JS) */
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .6s ease, transform .6s ease;
}

.timeline__item.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.timeline__item:last-child { margin-bottom: 0; }

/* content en beeld nemen elk een helft in */
.timeline__content {
	width: 50%;
	box-sizing: border-box;
}

.timeline__media {
	width: 50%;
	box-sizing: border-box;
	margin: 0;
}

/* --- LINKS: tekst op linkerhelft (rechts uitgelijnd), beeld rechts --- */
.timeline__item.is-left .timeline__content {
	order: 1;
	text-align: right;
	padding-right: var(--tl-pad);
}
.timeline__item.is-left .timeline__media {
	order: 2;
	padding-left: var(--tl-pad);
}

/* --- RECHTS: tekst op rechterhelft, beeld links --- */
.timeline__item.is-right .timeline__content {
	order: 2;
	text-align: left;
	padding-left: var(--tl-pad);
}
.timeline__item.is-right .timeline__media {
	order: 1;
	padding-right: var(--tl-pad);
}

/* ---- De cirkel/stip op de lijn ---- */
.timeline__dot {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--tl-line);
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 4px var(--tl-dot-ring);
	z-index: 2;
}

/* afwisselend: open ring voor elk 2e item (zoals in het ontwerp) */
.timeline__item:nth-child(even) .timeline__dot {
	background: #fff;
	border: 2px solid var(--tl-line);
}

/* ---- Tekstblok ---- */
.timeline__badge {
	display: inline-block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    color: #333333;
    background: var(--tl-badge-bg);
    border: 1px solid #333333;
    border-radius: 3px;
    padding: 6px 15px;
    margin-bottom: 12px;
    font-family: 'Open Sans', sans-serif;
    border-radius: 100px;
}

.timeline__year {
	font-size: 32px;
    font-weight: 700;
    color: var(--tl-year);
    margin: 0 0 12px;
    font-family: 'Open Sans', sans-serif;
}

.timeline__text {
	font-size: 16px;
	line-height: 1.6;
	color: var(--tl-text);
	font-family: 'Open Sans', sans-serif;
	margin: 0;
}

/* ---- Afbeelding ---- */
.timeline__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--tl-radius);
	object-fit: cover;
}

/* =========================================================
   Mobiel: alles in één kolom, lijn aan de linkerkant
   ========================================================= */
@media (max-width: 768px) {

	.timeline__line {
		left: 16px;
		transform: none;
	}

	.timeline__item,
	.timeline__item.is-left,
	.timeline__item.is-right {
		flex-direction: column;
		align-items: stretch;
		padding-left: 48px;
		margin-bottom: 40px;
		gap: 16px;
		max-width: 85%;
	}

	.timeline__item.is-left .timeline__content,
	.timeline__item.is-left .timeline__media,
	.timeline__item.is-right .timeline__content,
	.timeline__item.is-right .timeline__media {
		width: 100%;
		order: initial;
		text-align: left;
		padding-left: 0;
		padding-right: 0;
	}

	.timeline__dot {
		top: 6px;
		left: 9px;
		transform: none;
	}
}