/* ===== Isocarbo Timeline ===== */

.iso-timeline {
	--iso-primary: var(--e-global-color-primary, #6ec1e4);
	--iso-line-gray: #ddd;
	--iso-dot-size: 24px;
	--iso-line-width: 4px;

	position: relative;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 0;
}

/* --- Central line --- */
.iso-timeline__line {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: var(--iso-line-width);
	transform: translateX(-50%);
	background: var(--iso-line-gray);
}

/* Animated color fill – grows on scroll */
.iso-timeline__line-fill {
	width: 100%;
	height: 0;            /* controlled via JS */
	background: var(--iso-primary);
	transition: height .25s ease-out;
}

/* --- Dot (donut) --- */
.iso-timeline__dot {
	position: absolute;
	left: 50%;
	top: 20px;
	width: var(--iso-dot-size);
	height: var(--iso-dot-size);
	transform: translateX(-50%);
	border-radius: 50%;
	border: var(--iso-line-width) solid var(--iso-line-gray);
	background: #fff;
	z-index: 2;
	box-sizing: border-box;
	transition: border-color .4s ease;
}

.iso-timeline__item.is-active .iso-timeline__dot {
	border-color: var(--iso-primary);
}

/* --- Item row --- */
.iso-timeline__item {
	position: relative;
	width: 100%;
	padding: 0 0 50px;
	box-sizing: border-box;
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .5s ease, transform .5s ease;
}

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

/* --- Content card --- */
.iso-timeline__content {
	width: calc(50% - 40px);
	padding: 0;
}

/* Left items: content on the left */
.iso-timeline__item--left .iso-timeline__content {
	margin-left: 0;
	text-align: right;
}

/* Right items: content on the right */
.iso-timeline__item--right .iso-timeline__content {
	margin-left: auto;
	text-align: left;
}

/* --- Year --- */
.iso-timeline__year {
	display: inline-block;
	font-size: 17px;
	font-weight: 500;
}

/* --- Text --- */
.iso-timeline__text {
	font-family: "Inter", Sans-serif;
	font-size: 17px;
	font-weight: 300;
	text-transform: none;
	font-style: normal;
	text-decoration: none;
	line-height: 1.4em;
	margin: 0;
	color: var(--e-global-color-text, #333);
}

/* ===== Responsive (single column) ===== */
@media (max-width: 767px) {
	.iso-timeline__line {
		left: 16px;
		transform: none;
	}

	.iso-timeline__dot {
		left: 16px;
		transform: translateX(-50%);
	}

	.iso-timeline__item--left .iso-timeline__content,
	.iso-timeline__item--right .iso-timeline__content {
		width: calc(100% - 50px);
		margin-left: 50px;
		text-align: left;
	}
}
