/* Events Specific Styles */

.event-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 34px;
}

.no-events {
    grid-column: 1 / -1;
    text-align: center;
    font-size: 1.25rem;
    padding: 4rem 0;
    font-family: 'Raleway', sans-serif;
    color: rgba(255, 255, 255, 0.7);
}

/* Ensure the grid doesn't collapse if empty */
.event-grid:empty {
    min-height: 200px;
}

/* Image styling to ensure consistent display and handle broken images */
.event-card .event-card__media .event-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background-color: #070d0b; /* Match site background */
}

/* Ensure the media container doesn't show background if we want it clean, 
   but since we want to avoid clipping, we use object-fit: contain. 
   If the image is vertical, it will have bars on the sides.
   If horizontal, bars on top/bottom. */
.event-card__media {
    background-color: #070d0b;
    display: flex;
    align-items: center;
    justify-content: center;
}
