/**
 * S+W Timeline — Widget-Styles.
 * Komponenten-Variablen (--sw-timeline-*) mit Token-Defaults;
 * über die Widget-Style-Controls überschreibbar.
 */

.sw-timeline {
	--sw-timeline-line:      var(--sw-color-gold, #D3B880);
	--sw-timeline-marker:    var(--sw-color-wine, #631C39);
	--sw-timeline-highlight: var(--sw-color-wine, #631C39);
	--sw-timeline-gutter:    64px; /* Breite der Mittelspur */

	font-family: var(--sw-font-sans, 'Meta Pro', 'Fira Sans', sans-serif);
	color: var(--sw-color-text, #1D1D1B);
}

.sw-timeline__list {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

/* Goldene Mittellinie */
.sw-timeline__list::before {
	content: '';
	position: absolute;
	top: 0.4em;
	bottom: -1.5rem;
	left: 50%;
	width: 3px;
	transform: translateX(-50%);
	background-color: var(--sw-timeline-line);
}

.sw-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 1fr var(--sw-timeline-gutter) 1fr;
	column-gap: 0;
	margin-bottom: 3.25rem;
}

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

/* Marker: Bordeaux-Ring mit weißem Kern, sitzt auf der Linie */
.sw-timeline__marker {
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	width: 26px;
	height: 26px;
	margin-top: 0.15em;
	border: 8px solid var(--sw-timeline-marker);
	border-radius: 50%;
	background: var(--sw-color-white, #fff);
	box-sizing: border-box;
	z-index: 1;
}

.sw-timeline .sw-timeline__year,
.sw-timeline .sw-timeline__title {
	font-family: var(--sw-font-sans, 'Meta Pro', 'Fira Sans', sans-serif);
	font-size: clamp(1.4rem, 1.15rem + 0.75vw, 1.875rem); /* ~22–30px */
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	color: var(--sw-color-text, #1D1D1B);
}

.sw-timeline__text {
	font-size: var(--sw-fs-small, 1.0625rem);
	line-height: 1.5;
	margin-top: 0.9rem;
	max-width: 38rem;
}

/* Eintrag: Inhalt rechts (Jahr links) */
.sw-timeline__item--right .sw-timeline__year    { grid-column: 1; grid-row: 1; justify-self: end; text-align: right; }
.sw-timeline__item--right .sw-timeline__content { grid-column: 3; grid-row: 1; text-align: left; }

/* Eintrag: Inhalt links (Jahr rechts) */
.sw-timeline__item--left .sw-timeline__year     { grid-column: 3; grid-row: 1; justify-self: start; text-align: left; }
.sw-timeline__item--left .sw-timeline__content  { grid-column: 1; grid-row: 1; text-align: right; }
.sw-timeline__item--left .sw-timeline__text     { margin-left: auto; }

/* Hervorgehobener Abschlusstext rechts der Linie */
.sw-timeline__highlight {
	display: grid;
	grid-template-columns: 1fr var(--sw-timeline-gutter) 1fr;
	margin-top: 2.5rem;
}

.sw-timeline__highlight {
	color: var(--sw-timeline-highlight);
	font-weight: 500;
	font-size: var(--sw-fs-body, 1.25rem);
	line-height: 1.5;
}

.sw-timeline__highlight::before { content: ''; grid-column: 1 / 3; }

/* Gepunkteter Auslauf unter der Linie */
.sw-timeline__tail {
	width: 3px;
	height: 7.5rem;
	margin: 1.5rem auto 0;
	background-image: repeating-linear-gradient(
		to bottom,
		var(--sw-timeline-line) 0 4px,
		transparent 4px 14px
	);
	-webkit-mask-image: linear-gradient(to bottom, #000 30%, transparent);
	mask-image: linear-gradient(to bottom, #000 30%, transparent);
}

/* ---------- Mobil: einspaltig, Linie links ---------- */
@media (max-width: 767px) {
	.sw-timeline {
		--sw-timeline-gutter: 40px;
	}

	.sw-timeline__list::before {
		left: 13px;
		transform: none;
	}

	.sw-timeline__item {
		grid-template-columns: var(--sw-timeline-gutter) 1fr;
		margin-bottom: 2.5rem;
	}

	.sw-timeline__marker {
		grid-column: 1;
		justify-self: start;
	}

	.sw-timeline__item--right .sw-timeline__year,
	.sw-timeline__item--left .sw-timeline__year {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		text-align: left;
	}

	.sw-timeline__item--right .sw-timeline__content,
	.sw-timeline__item--left .sw-timeline__content {
		grid-column: 2;
		grid-row: 2;
		text-align: left;
	}

	.sw-timeline__item--left .sw-timeline__text {
		margin-left: 0;
	}

	.sw-timeline__highlight {
		display: block;
		padding-left: var(--sw-timeline-gutter);
	}

	.sw-timeline__tail {
		margin-left: 12px;
	}
}
