/* =============================
   Mobile Responsive Styles for Event Calendar & Cards
   ============================= */
@media (max-width: 780px) {
    /*
    මෙය mobile එකේදී calendar එක (FullCalendar) සහ event cards/responsive look එකටයි.
    */
    #upcoming-events-calendar,
    .fc,
    .fc-view,
    .fc-view-harness,
    .fc-scrollgrid,
    .fc-scrollgrid-section,
    .fc-scrollgrid-sync-table,
    .fc-daygrid,
    .fc-daygrid-body,
    .fc-daygrid-day,
    .fc-daygrid-day-frame,
    .fc-daygrid-day-events,
    .fc-daygrid-day-top,
    .fc-toolbar,
    .fc-toolbar-chunk,
    .fc-toolbar-title,
    .fc-button-group,
    .fc-button,
    .fc-col-header-cell,
    .fc-daygrid-day-number {
        width: 100% !important;
        max-width: 100vw !important;
        font-size: 14px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
    .fc-toolbar-title {
        font-size: 1.1rem !important;
        padding: 4px 0 !important;
    }
    .fc-button {
        font-size: 0.95rem !important;
        padding: 4px 10px !important;
        border-radius: 8px !important;
    }
    .fc-daygrid-day {
        min-height: 48px !important;
        height: 48px !important;
    }
    .fc-daygrid-day-number {
        font-size: 13px !important;
        padding: 2px 0 !important;
    }
    .card {
        padding: 10px 4px !important;
        border-radius: 12px !important;
        margin-bottom: 16px !important;
    }
    .card-title {
        font-size: 1.1rem !important;
    }
    .card .badge {
        font-size: 0.85em !important;
        margin-top: 0.3em !important;
    }

    /* =============================
       Mobile calendar toolbar vertical stack & alignment
       ============================= */
    /*
    මෙය mobile එකේදී calendar toolbar එකේ (‹, ›, today, month/week/day) button overlap/ugly look එක fix කරයි.
    */
    .fc-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    .fc-toolbar-chunk {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 2px !important;
    }
    .fc-toolbar-title {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 2px !important;
    }
    .fc-button-group, .fc-button {
        width: auto !important;
        margin: 0 2px 4px 2px !important;
    }
    .fc-button {
        min-width: 48px !important;
        font-size: 1rem !important;
    }
    .past-event-mobile-card {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
        text-align: center;
    }
    .past-event-mobile-card .event-carousel-img {
        margin-bottom: 18px !important;
    }
    .past-event-mobile-card .line-clamp-4 {
        text-align: center;
    }
    .past-event-mobile-card .h5,
    .past-event-mobile-card .fw-bold {
        text-align: center !important;
        width: 100%;
        display: block;
    }
    .past-event-mobile-card .text-end.mt-3 {
        text-align: center !important;
        margin-top: 18px !important;
    }
    .past-event-mobile-card .btn {
        display: inline-block;
        margin-left: auto;
        margin-right: auto;
        float: none;
    }
}

/* Fix modal and overlay stacking for event page */
.modal {
  z-index: 2002 !important;
}
.modal-backdrop {
  z-index: 2001 !important;
}
.sidebar-topbar {
  z-index: 1060 !important;
}

.line-clamp-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 5.6em;
}
.event-carousel-img {
  height: 200px !important;
  object-fit: contain !important;
  background: #f8f9fa;
}
