.elementor-40535 .elementor-element.elementor-element-19a3bbab{--display:flex;}/* Start custom CSS */.academic-calendar-container {
    direction: ltr;
    font-family: 'Segoe UI', Tahoma, sans-serif;
    padding: 60px 20px;
    background: #fdfdfd;
    max-width: 900px;
    margin: 0 auto;
}

.calendar-header {
    text-align: center;
    margin-bottom: 50px;
}

.calendar-icon { font-size: 50px; margin-bottom: 10px; }
.calendar-header h2 { color: #2c3e50; font-size: 2.5rem; margin: 0; }
.calendar-header p { color: #7f8c8d; font-size: 1.1rem; }

/* Timeline Structure */
.timeline-wrapper {
    position: relative;
    padding-left: 40px;
    border-left: 3px dashed #e0e0e0;
    margin-left: 20px;
}

.timeline-item {
    position: relative;
    margin-bottom: 40px;
    background: white;
    padding: 20px 25px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: 0.3s;
}

.timeline-item:hover { transform: translateX(10px); }

/* Dots on line */
.timeline-item::before {
    content: "";
    position: absolute;
    left: -48px;
    top: 25px;
    width: 15px;
    height: 15px;
    background: #bdc3c7;
    border: 4px solid white;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #e0e0e0;
}

/* Color Coding */
.main-event { border-left: 6px solid #2ecc71; } /* شروع و پایان سبز */
.main-event::before { background: #2ecc71; }

.holiday { border-left: 6px solid #e74c3c; } /* تعطیلات قرمز */
.holiday::before { background: #e74c3c; }

.break { border-left: 6px solid #f1c40f; } /* میان ترم زرد */
.break::before { background: #f1c40f; }

/* Date & Content */
.date-badge {
    font-weight: 800;
    color: #34495e;
    margin-bottom: 8px;
    font-size: 0.95rem;
    text-transform: uppercase;
}

.event-content h4 {
    margin: 0;
    font-size: 1.25rem;
    color: #2c3e50;
}

.status-tag {
    display: inline-block;
    background: #ffeaea;
    color: #e74c3c;
    padding: 3px 10px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    margin-top: 10px;
}

/* Mobile Fix */
@media (max-width: 600px) {
    .calendar-header h2 { font-size: 1.8rem; }
    .timeline-wrapper { padding-left: 30px; }
    .timeline-item::before { left: -38px; }
}/* End custom CSS */