@charset "UTF-8";

.ct-calc .ct-timeline {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-calc .ct-timeline__step {
	display: grid;
	grid-template-columns: 6.9rem minmax(0, 1fr);
	gap: .9rem;
	margin: 0;
}

.ct-calc .ct-timeline__step::marker {
	content: none;
}

.ct-timeline__time {
	display: grid;
	align-content: start;
	padding-top: .05rem;
	color: var(--ca-crust, #a4551f);
	font-size: var(--ca-text-sm, .875rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.35;
}

.ct-timeline__flag {
	color: var(--ca-gold-ink, #7a4e0b);
	font-size: var(--ca-text-xs, .78rem);
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.ct-timeline__body {
	position: relative;
	display: grid;
	gap: .15rem;
	padding: 0 0 1rem 1.1rem;
	border-inline-start: 2px solid var(--ca-border, #e7dacc);
}

.ct-timeline__step:last-child .ct-timeline__body {
	padding-bottom: 0;
	border-inline-start-color: transparent;
}

.ct-timeline__body::before {
	content: "";
	position: absolute;
	top: .3rem;
	inset-inline-start: -7px;
	width: 12px;
	height: 12px;
	border: 2px solid var(--ca-crust, #a4551f);
	border-radius: 50%;
	background: var(--ca-surface, #fff);
}

.is-night .ct-timeline__body::before {
	border-color: var(--ca-gold, #e8a33d);
	background: var(--ca-gold-soft, #fbefd6);
}

.ct-timeline__title {
	font-size: var(--ca-text-sm, .875rem);
	font-weight: 700;
	line-height: 1.35;
}

.ct-timeline__detail {
	color: var(--ca-ink-soft, #6b5748);
	font-size: var(--ca-text-xs, .78rem);
	line-height: 1.45;
}
