.ks-timeline-wrapper {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
}

/* Continuous Vertical Line */
.ks-timeline-line {
	position: absolute;
	top: 0;
	bottom: 0;
	/* 'left' is set dynamically in widget based on dot size to center it */
	background-color: #e5e5e5;
	z-index: 0;
}

.ks-timeline-item {
	position: relative;
	display: flex;
	align-items: center; /* Vertically center dot with content */
	/* gap and margin-bottom handled via widget */
	z-index: 1;
}

.ks-timeline-item:last-child {
	margin-bottom: 0 !important;
}

.ks-timeline-dot-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	position: relative; /* Ensure it sits on top of line */
}

.ks-timeline-dot {
	/* Size set via widget */
	border-radius: 100%;
	background-color: #e5e5e5;
	z-index: 2;
}

.ks-timeline-content {
	flex-grow: 1;
	/* Background, Padding, Border, Radius set via widget */
}

.ks-timeline-pretitle {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.ks-timeline-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 10px 0;
}

.ks-timeline-text {
	font-size: 16px;
	line-height: 1.6;
}