/* Grundlayout des Kalenders */
.calendar-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Spalten für Desktop */
    grid-gap: 10px; /* 10px Abstand zwischen den Kalenderfeldern */
    padding: 20px;
    justify-content: center; /* Zentriert den Kalender auf dem Bildschirm */
    margin: 0 auto; /* Verhindert, dass der Kalender bis zum Rand des Bildschirms geht */
    max-width: 90vw; /* Maximal 90% der Breite des Bildschirms */
}

.month {
    border: 1px solid #ccc;
    padding: 10px;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.calendar {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.calendar th {
    text-align: center;
    font-weight: bold;
    padding: 5px;
    background-color: #e0e0e0;
}

.calendar td {
    text-align: center;
    padding: 5px;
    width: 30px; /* Zellenbreite */
    height: 30px; /* Zellenhöhe */
    font-size: 14px;
}

.occupied {
    background-color: red;
    color: white;
}

.free {
    background-color: white;
}

/* Styling für die "Jetzt Buchen"-Buttons */
.booking-button {
    text-align: center;
    margin: 20px 0;
}

.booking-button button {
    background-color: #FFFFFF;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

.booking-button button:hover {
    background-color: #0056b3;
}

/* Responsive Design für mobile Geräte */
@media (max-width: 768px) {
    .calendar-container {
        grid-template-columns: 1fr; /* Eine Spalte für mobile Geräte */
    }

    .month {
        margin-bottom: 20px; /* Abstand zwischen den Monaten */
    }

    .calendar th {
        font-size: 14px;
    }

    .calendar td {
        width: 25px; /* Reduzierte Zellbreite */
        height: 25px; /* Reduzierte Zellhöhe */
        font-size: 12px; /* Kleinere Schriftgröße */
    }
}
