/* Timeline Styles */
.timeline {
    position: relative;
    margin: var(--spacing-lg) 0;
}

.timeline-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--spacing-lg);
    position: relative;
}

.timeline-marker {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--color-primary);
    margin-right: var(--spacing-md);
    flex-shrink: 0;
    margin-top: 4px; /* Align with the first line of text */
}

.timeline-marker.completed {
    background-color: var(--color-primary-dark);
}

.timeline-marker.in-progress {
    background-color: var(--color-primary);
    animation: pulse 2s infinite;
}

.timeline-marker.upcoming {
    background-color: var(--color-text-secondary);
}

.timeline-content {
    flex: 1;
}

.timeline-content h3 {
    margin-top: 0;
    margin-bottom: var(--spacing-sm);
}

.timeline-content ul {
    margin-top: var(--spacing-sm);
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(29, 205, 159, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(29, 205, 159, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(29, 205, 159, 0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .timeline-item {
        flex-direction: column;
    }
    
    .timeline-marker {
        margin-bottom: var(--spacing-sm);
    }
}
