body {
    background-color: #121212;
    color: #e0e0e0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.container {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.card {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #333;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    margin-bottom: 1.5rem;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.5);
}

.card-header {
    background-color: #2c2c2c;
    color: #fff;
    border-bottom: 1px solid #333;
    border-radius: 9px 9px 0 0;
    padding: 1rem;
    font-size: 1.25rem;
    font-weight: bold;
}

/* Korrigierte Textfarben für bessere Lesbarkeit */
.card-header.bg-danger { 
    background-color: #e53935;
    color: #fff; /* Stellt sicher, dass die Schriftfarbe weiß ist */
}
.card-header.bg-info { background-color: #1e88e5; }
.card-header.bg-warning { 
    background-color: #ffb300;
    color: #1e1e1e; /* Stellt sicher, dass die Schriftfarbe dunkelgrau ist */
}
.card-header.bg-secondary { background-color: #546e7a; }

.list-group-item {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border-color: #333;
}

.list-group-item:hover {
    background-color: #2c2c2c;
}

.rss-link {
    display: block;
    color: #bbdefb;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.rss-link:hover {
    color: #fff;
}

.badge {
    color: #1e1e1e;
    background-color: #f0f0f0;
}

/* Korrigierte Textfarbe für Badges */
.badge.bg-danger {
    background-color: #e53935;
    color: #fff;
}
.badge.bg-success { background-color: #43a047; color: #fff; }

h1, p.lead {
    color: #fff;
}

p.lead {
    font-size: 1.1rem;
}

/* Korrigierte Textfarbe für text-muted */
.text-muted {
    color: #bdbdbd !important;
}

.bi {
    font-size: 1.25rem;
    vertical-align: middle;
}

/* Grid Layout */
@media (min-width: 992px) {
    .grid-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        grid-template-rows: auto;
    }
    .grid-item-traffic { grid-column: 1 / 2; grid-row: 1 / 2; }
    .grid-item-weather { grid-column: 2 / 3; grid-row: 1 / 2; }
    .grid-item-alerts { grid-column: 1 / 2; grid-row: 2 / 3; }
    .grid-item-weather-alerts { grid-column: 2 / 3; grid-row: 2 / 3; }
    .grid-item-news { grid-column: 1 / 3; grid-row: 3 / 4; }
}

@media (max-width: 991px) {
    .grid-container {
        display: block;
    }
}

/* Scrollable Listen-Klassen */
.weather-alerts-list {
    max-height: 200px;
    overflow-y: auto;
}

.pegels-list {
    max-height: 100px;
    overflow-y: auto;
}

.news-list {
    max-height: 400px;
    overflow-y: auto;
}