@import "../../../../themes/recast2025/style.css";

/* Main Timeline Widget */
.timeline-widget {
	padding: var(--gap-base, 56px) var(--margins-base-hori, 100px) var(--margins-base-vert, 100px);
	background: var(--neutrals-white, #ffffff);
}

.timeline-widget__container {
	max-width: var(--global-maxwidth-maxwidth-m, 1200px);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--gap-l, 32px);
}

/* Main Heading */
.timeline-widget__heading {
	margin: 0;
	color: var(--neutrals-black, #161f5b);
	letter-spacing: calc(var(--size-heading-m, 40px) * 0.03);
}

.timeline-widget__heading span {
	color: var(--primary-recast-blue, #0372ff);
}

/* Steps Container */
.timeline-widget__steps-container {
	width: 100%;
}

.timeline-widget__steps {
	display: flex;
	width: 100%;
}

/* Individual Step */
.timeline-widget__step {
	width: var(--timeline-cardgrid-minwidth, 400px);
	display: flex;
	flex-direction: column;
	gap: var(--gap-l, 32px);
	position: relative;
}

/* Step Number Container */
.timeline-widget__step-number-container {
	display: flex;
	align-items: center;
	position: relative;
}

/* Step Number */
.timeline-widget__step-number {
	background: var(--neutrals-black, #161f5b);
	color: var(--neutrals-white, #ffffff);
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Connecting Line */
.timeline-widget__step-line {
	height: var(--stroke-width, 2px);
	background: var(--neutrals-black, #161f5b);
	flex: 1;
}

/* Step Content */
.timeline-widget__step-content {
	display: flex;
	flex-direction: column;
	padding-right: var(--margins-l, 48px);
	gap: var(--gap-s, 16px);
}

.timeline-widget__step-title {
	margin: 0;
	color: var(--neutrals-black, #161f5b);
	letter-spacing: calc(var(--size-heading-s, 32px) * 0.03);
}

.timeline-widget__step-description {
	margin: 0;
	color: var(--neutrals-black, #161f5b);
	line-height: 100%;
}

/* Responsive Design */
@media (max-width: 1200px) {
	.timeline-widget {
		padding-right: 0;
	}

	.timeline-widget__steps-container {
		overflow-x: scroll;
		scrollbar-width: none;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
		margin-left: calc(var(--margins-base-hori, 100px) * -1);
		padding-left: var(--margins-base-hori, 100px);
		width: calc(100% + var(--margins-base-hori, 100px));
	}

	.timeline-widget__step {
		width: 400px;
		flex-shrink: 0;
	}
}

@media (max-width: 820px) {
	.timeline-widget__step {
		width: 300px;
	}
}
