.med-event-card.med-rtl {
    direction: rtl;
    text-align: right;
}

.med-event-card.med-rtl .med-event-date,
.med-event-card.med-rtl .med-event-time,
.med-event-card.med-rtl .med-event-location,
.med-event-card.med-rtl .med-event-language,
.med-event-card.med-rtl .med-event-price,
.med-event-card.med-rtl .med-event-organizer {
    flex-direction: row;
}

/* RTL support for date-status row */
.med-event-card.med-rtl .med-date-status-row {
    flex-direction: row-reverse;
}

.med-event-card {
    border-radius: var(--med-border-radius);
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.med-event-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* Theme Logic - Upcoming */
.med-event-card.med-upcoming {
    background: var(--med-upcoming-bg);
    border: 1px solid rgba(0,0,0,0.03);
}
.med-event-card.med-upcoming .med-event-title {
    color: var(--med-upcoming-primary);
}

/* Theme Logic - Running */
.med-event-card.med-running {
    background: var(--med-running-bg);
    border: 1px solid rgba(0,160,42,0.15);
}
.med-event-card.med-running .med-event-title {
    color: var(--med-running-primary);
}

/* Theme Logic - Past/Finished */
.med-event-card.med-past {
    background: var(--med-past-bg);
    border: 1px solid rgba(0,0,0,0.03);
}
.med-event-card.med-past .med-event-title {
    color: var(--med-past-primary);
}

.med-event-content {
    padding: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

/* Status and Date Row - Flexbox Layout (Status first at 30%, Date second at 70%) */
.med-date-status-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.med-date-status-row .med-status-label {
    flex: 0 0 30%;
    max-width: 30%;
    min-width: 0;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.med-date-status-row .med-event-date {
    flex: 1 1 70%;
    max-width: 70%;
    min-width: 0;
    text-align: right;
}

/* Multi-day Date Display */
.med-event-date.med-multi-day {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    line-height: 1.3;
}

.med-event-date.med-multi-day .med-date-start,
.med-event-date.med-multi-day .med-date-end {
    display: block;
}

.med-event-date.med-multi-day .med-date-end {
    opacity: 0.8;
    font-size: 0.9em;
}

/* RTL support for multi-day dates */
.med-event-card.med-rtl .med-event-date.med-multi-day {
    align-items: flex-start;
}

.med-event-meta {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.med-event-date, .med-event-time, .med-event-location, .med-event-language, .med-event-price {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.med-event-date {
    font-size: var(--med-date-pc);
    color: var(--med-date-color);
    font-weight: 700;
}

.med-event-time {
    font-size: var(--med-time-pc);
    color: var(--med-time-color);
}

.med-event-location {
    font-size: var(--med-loc-pc);
    color: var(--med-loc-color);
}

.med-event-language {
    font-size: var(--med-lang-pc);
    color: var(--med-lang-color);
}

.med-event-price {
    font-size: var(--med-price-pc);
    color: var(--med-price-color);
}

/* Refined Icon Styling */
.med-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    opacity: 0.65;
    transition: opacity 0.3s ease;
}

.med-event-date .med-icon,
.med-event-time .med-icon,
.med-event-location .med-icon,
.med-event-language .med-icon,
.med-event-price .med-icon {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
}

/* Hover effect for icons */
.med-event-card:hover .med-icon {
    opacity: 0.85;
}

/* Event Title - Bold */
.med-event-title {
    font-size: var(--med-title-pc) !important;
    margin: 0;
    line-height: 1.3;
    font-weight: 700 !important;
    color: var(--med-title-color);
}

.med-custom-fields {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.med-event-footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    padding-top: 0;
    border-top: 1px solid rgba(0,0,0,0.06);
}

.med-event-organizer {
    display: flex;
    align-items: center;
    gap: 5px;
}

.med-org-img-wrapper {
    width: var(--med-org-img-size);
    height: var(--med-org-img-size);
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.med-org-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.med-org-details {
    display: flex;
    flex-direction: column;
}

.med-org-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #999;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2px;
}

.med-org-name {
    font-size: var(--med-org-pc);
    font-weight: 600;
    color: var(--med-org-color);
}

/* Status Labels (Upcoming, Running & Finished) */
.med-status-label {
    display: inline-block;
    padding: 5px 5px;
    border-radius: 15px;
    font-size: var(--med-status-size);
    font-weight: 800;
    text-transform: uppercase;
    z-index: 20;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    align-self: flex-start;
}

.med-status-upcoming {
    background: var(--med-upcoming-label-bg);
    color: var(--med-upcoming-label-color);
}

.med-status-running {
    background: var(--med-running-label-bg);
    color: var(--med-running-label-color);
}

.med-status-finished {
    background: var(--med-finished-label-bg);
    color: var(--med-finished-label-color);
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .med-event-title { 
        font-size: var(--med-title-mobile) !important; 
        font-weight: 700 !important;
    }
    .med-event-date { 
        font-size: var(--med-date-mobile); 
        font-weight: 700;
    }
    .med-event-time { font-size: var(--med-time-mobile); }
    .med-org-name { font-size: var(--med-org-mobile); }
    .med-event-location { font-size: var(--med-loc-mobile); }
    .med-event-language { font-size: var(--med-lang-mobile); }
    .med-event-price { font-size: var(--med-price-mobile); }
    
    .med-icon {
        font-size: 13px !important;
        width: 13px !important;
        height: 13px !important;
    }
    
    /* Responsive date-status row */
    .med-date-status-row {
        gap: 8px;
    }
    
    .med-date-status-row .med-status-label {
        flex: 0 0 35%;
        max-width: 35%;
        font-size: calc(var(--med-status-size) * 0.9);
        padding: 4px 8px;
    }
    
    .med-date-status-row .med-event-date {
        flex: 1 1 65%;
        max-width: 65%;
    }
    
    /* Multi-day date responsive */
    .med-event-date.med-multi-day .med-date-end {
        font-size: 0.85em;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .med-date-status-row {
        gap: 6px;
    }
    
    .med-date-status-row .med-status-label {
        flex: 0 0 40%;
        max-width: 40%;
        font-size: calc(var(--med-status-size) * 0.85);
        padding: 3px 6px;
    }
    
    .med-date-status-row .med-event-date {
        flex: 1 1 60%;
        max-width: 60%;
    }
    
    /* Multi-day date on small screens */
    .med-event-date.med-multi-day {
        gap: 1px;
    }
    
    .med-event-date.med-multi-day .med-date-end {
        font-size: 0.8em;
    }
}

/* Swiper Customization */
.med-events-carousel {
    padding: 20px 0 60px 0;
}
.swiper-pagination-bullet-active {
    background: var(--med-upcoming-primary) !important;
}

/* إجبار التواريخ المتعددة على الظهور تحت بعضها حتى في وضع RTL */
.med-event-card.med-rtl .med-event-date.med-multi-day {
    flex-direction: column !important;
    align-items: flex-start; /* لكي يبدأ النص من اليمين في وضع RTL */
}