.upcoming-events .card-body img {
    width: 100%;           /* immer volle Kartenbreite */
    height: 300px;         /* feste Höhe für alle Bilder */
    object-fit: cover;     /* schneidet Überstand ab, füllt aber die Fläche */
    display: block;
    margin-bottom: 1rem;
}

.upcoming-events .card {
    /*max-height: 500px;     /* Maximalhöhe für die gesamte Card */
    display: flex;
    flex-direction: column;
}

.upcoming-events .card-body {
    flex-grow: 1;          /* Card-Body füllt verfügbare Höhe */
    overflow: hidden;      /* Verhindert Überschreiten */
}

.card-header-text, .card-footer-text, .card-footer-text a {
    color: #003398!important;
}

.card-body .card-text a, .card-body .card-title a, .card-footer-text a.badge {
    color: #fff!important;
}

.g-4, .gy-4 {
    --bs-gutter-y: 4rem;
}

.g-4, .gx-4 {
    --bs-gutter-x: 4rem;
}

.upcoming-events .card-body .card-text {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Anzahl der sichtbaren Zeilen */
    -webkit-box-orient: vertical;
    overflow: hidden;
}