/**
 * Upcoming Events Block - Equal Height Fix
 * This file contains aggressive CSS to force equal heights
 */

/* CRITICAL: Force grid on view-content with specific display ID */
.view-upcoming-events-homepage.view-display-id-block_1 .view-content,
.view-id-upcoming_events_homepage.view-display-id-block_1 .view-content {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  grid-auto-rows: 1fr !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
}

/* Force all direct child divs to fill grid cell */
.view-upcoming-events-homepage.view-display-id-block_1 .view-content > div,
.view-id-upcoming_events_homepage.view-display-id-block_1 .view-content > div {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}

/* Force cards to fill their parent completely */
.view-upcoming-events-homepage .upcoming-event-card,
.view-id-upcoming_events_homepage .upcoming-event-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  flex: 1 1 100% !important;
}

/* Force links to fill cards completely */
.view-upcoming-events-homepage .upcoming-event-link,
.view-id-upcoming_events_homepage .upcoming-event-link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  flex: 1 1 100% !important;
}

/* Force body to expand and push categories to bottom */
.view-upcoming-events-homepage .upcoming-event-body,
.view-id-upcoming_events_homepage .upcoming-event-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

/* Ensure categories stay at bottom */
.view-upcoming-events-homepage .upcoming-event-categories,
.view-id-upcoming_events_homepage .upcoming-event-categories {
  margin-top: auto !important;
}

/* Responsive: 3 columns */
@media (max-width: 1400px) {
  .view-upcoming-events-homepage.view-display-id-block_1 .view-content,
  .view-id-upcoming_events_homepage.view-display-id-block_1 .view-content {
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: 1fr !important;
  }
}

/* Responsive: 2 columns */
@media (max-width: 992px) {
  .view-upcoming-events-homepage.view-display-id-block_1 .view-content,
  .view-id-upcoming_events_homepage.view-display-id-block_1 .view-content {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: 1fr !important;
  }
}

/* Responsive: 1 column */
@media (max-width: 576px) {
  .view-upcoming-events-homepage.view-display-id-block_1 .view-content,
  .view-id-upcoming_events_homepage.view-display-id-block_1 .view-content {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }
}
