/**
 * Custom Timeline Widget Styles
 * 
 * @package OMSAR
 */

.omsar-timeline-wrapper {
	position: relative;
	width: 100%;
}

.omsar-timeline-container {
	position: relative;
	width: 100%;
}

.omsar-timeline-line {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background-color: #d1d5db;
	z-index: 1;
}

.omsar-timeline-items {
	position: relative;
	z-index: 2;
}

.omsar-timeline-item {
	position: relative;
	display: flex;
	align-items: flex-start;
	margin-bottom: 40px;
}

.omsar-timeline-item:last-child {
	margin-bottom: 0;
}

.omsar-timeline-marker {
	position: absolute;
	left: 0;
	top: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid #60a5fa;
	background-color: #ffffff;
	z-index: 3;
	transform: translateX(-50%);
	flex-shrink: 0;
}

.omsar-timeline-marker.filled {
	background-color: #60a5fa;
	border-color: #60a5fa;
}

.omsar-timeline-item-content {
	flex: 1;
	margin-left: 30px;
}

/* Alternating Layout */
.omsar-timeline-alternating .omsar-timeline-line {
	left: 50%;
	transform: translateX(-50%);
}

.omsar-timeline-alternating .omsar-timeline-item {
	width: 50%;
	position: relative;
}

.omsar-timeline-alternating .omsar-timeline-item:nth-child(odd) {
	flex-direction: row;
	padding-right: 40px;
}

.omsar-timeline-alternating .omsar-timeline-item:nth-child(odd) .omsar-timeline-marker {
	right: 0;
	left: auto;
	transform: translateX(50%);
}

.omsar-timeline-alternating .omsar-timeline-item:nth-child(odd) .omsar-timeline-item-content {
	margin-left: 0;
	margin-right: 30px;
	text-align: right;
}

.omsar-timeline-alternating .omsar-timeline-item:nth-child(even) {
	flex-direction: row-reverse;
	margin-left: 50%;
	padding-left: 40px;
}

.omsar-timeline-alternating .omsar-timeline-item:nth-child(even) .omsar-timeline-marker {
	left: 0px;
	right: auto;
	transform: translateX(-50%);
}

.omsar-timeline-alternating .omsar-timeline-item:nth-child(even) .omsar-timeline-item-content {
	margin-right: 0;
	margin-left: 30px;
	text-align: left;
}

/* Same Side Layout - Right */
.omsar-timeline-same_side.omsar-timeline-right .omsar-timeline-line {
	left: 0;
}

.omsar-timeline-same_side.omsar-timeline-right .omsar-timeline-item {
	width: 100%;
	flex-direction: row;
}

.omsar-timeline-same_side.omsar-timeline-right .omsar-timeline-marker {
	left: 0;
	transform: translateX(-50%);
}

.omsar-timeline-same_side.omsar-timeline-right .omsar-timeline-item-content {
	margin-left: 30px;
	text-align: left;
}

/* Same Side Layout - Left */
.omsar-timeline-same_side.omsar-timeline-left .omsar-timeline-line {
	right: 0;
	left: auto;
}

.omsar-timeline-same_side.omsar-timeline-left .omsar-timeline-item {
	width: 100%;
	flex-direction: row-reverse;
}

.omsar-timeline-same_side.omsar-timeline-left .omsar-timeline-marker {
	right: 0;
	left: auto;
	transform: translateX(50%);
}

.omsar-timeline-same_side.omsar-timeline-left .omsar-timeline-item-content {
	margin-right: 30px;
	margin-left: 0;
	text-align: right;
}

/* Text Styles */
.omsar-timeline-item-date {
	margin-bottom: 8px;
	font-size: 14px;
	color: #60a5fa;
}

.omsar-timeline-item-title {
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 600;
	color: #1f2937;
	line-height: 1.4;
}

.omsar-timeline-item-description {
	font-size: 14px;
	color: #6b7280;
	line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 768px) {
	/* On mobile, switch alternating layout to same side */
	.omsar-timeline-alternating .omsar-timeline-line {
		left: 0;
		transform: none;
	}

	.omsar-timeline-alternating .omsar-timeline-item {
		width: 100%;
		flex-direction: row;
		margin-left: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.omsar-timeline-alternating .omsar-timeline-item .omsar-timeline-marker {
		left: 0;
		right: auto;
		transform: translateX(-50%);
	}

	.omsar-timeline-alternating .omsar-timeline-item .omsar-timeline-item-content {
		margin-left: 30px;
		margin-right: 0;
		text-align: left;
	}
}

