.mple-timeline {
	--line-color: #E2E8F0; /* soft gray */
	--dot-color: #3B82F6; /* vibrant blue */
	--dot-size: 16px;
    --card-bg: #ffffff;
    --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 80px;
	max-width: 1200px;
	margin: 0 auto;
	font-family: inherit;
    padding: 40px 0;
}

.mple-timeline::before {
	content: '';
	position: absolute;
	left: 20%;
	top: 0;
	bottom: 0;
	width: 2px;
	background-color: var(--line-color);
	z-index: 1;
}

.mple-timeline__item {
	display: flex;
	position: relative;
	width: 100%;
}

.mple-timeline__meta {
	width: 20%;
	padding-right: 40px;
	position: relative;
	text-align: right; /* align to the line */
    padding-top: 20px;
}

.mple-timeline__date {
	display: block;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--dot-color);
	font-size: 0.875rem;
	letter-spacing: 1.5px;
}

.mple-timeline__city {
	margin-top: 8px;
	font-size: 1rem; /* Reduced from 1.25rem */
	font-weight: 700;
	color: #1E293B;
}

.mple-timeline__dot {
	position: absolute;
	right: -9px; 
	top: 24px;
	width: var(--dot-size);
	height: var(--dot-size);
	background-color: #fff;
    border: 3px solid var(--dot-color);
	border-radius: 50%;
	z-index: 2;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.mple-timeline__item:hover .mple-timeline__dot {
    transform: scale(1.2);
    background-color: var(--dot-color);
}

.mple-timeline__content {
	width: 80%;
	padding-left: 50px;
}

.mple-timeline__card {
    background: var(--card-bg);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--card-shadow);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.mple-timeline__item:hover .mple-timeline__card {
    box-shadow: var(--card-shadow-hover);
    transform: translateY(-2px);
}

.mple-timeline__gallery {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mple-timeline__gallery img {
	width: 100%;
	object-fit: cover;
	border-radius: 8px;
	transition: transform 0.4s ease, opacity 0.3s ease;
	cursor: pointer;
}

.mple-timeline__gallery img:hover {
	transform: scale(1.03);
    opacity: 0.9;
}

.mple-timeline__gallery img.hero {
	aspect-ratio: 16/7;
}

.mple-timeline__gallery .grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.mple-timeline__gallery .grid img {
	aspect-ratio: 16/9;
}

/* Tablet */
@media (max-width: 1024px) {
	.mple-timeline::before {
		left: 25%;
	}
	.mple-timeline__meta {
		width: 25%;
	}
	.mple-timeline__content {
		width: 75%;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.mple-timeline::before {
		left: 24px;
	}
	.mple-timeline__item {
		flex-direction: column;
	}
	.mple-timeline__meta {
		width: 100%;
		text-align: left;
		padding-left: 60px;
		padding-right: 0;
		padding-bottom: 24px;
        padding-top: 0;
	}
	.mple-timeline__dot {
		right: auto;
		left: 17px;
        top: 4px;
	}
	.mple-timeline__content {
		width: 100%;
		padding-left: 20px; /* offset slightly for visual balance */
	}
	.mple-timeline__gallery .grid {
		grid-template-columns: 1fr;
	}
}
