
.calendar {
    max-width: 800px;
    margin: 0 auto;
}

h1 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 40px;
}

/* Monats-Überschriften */
.month-section h3 {
    /*border-bottom: 2px solid #5E7E43;*/
    padding-bottom: 5px;
    margin-top: 30px;
    color: #5E7E43;
    font-weight: bold;
}

/* Termin-Karten */
.event-card {
    background: #fff;
    margin-bottom: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.2s;
    border: 1px solid #CCCCCC;
}

.event-card:hover {
    transform: translateX(5px);
}

.event-card.nodesc:hover {
    transform: translateX(0px);
}

.event-card.urgent {
    border-left: 20px solid #e74c3c;
}
.urgent {
    
    color: #e74c3c;
}

.nodesc {
    cursor: default;
}

/* Details & Summary Styling */
summary {
    padding: 15px;
    list-style: none; /* Entfernt den Standard-Pfeil */
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: bold;
}

summary::-webkit-details-marker {
    display: none; /* Versteckt Pfeil in Safari */
}

/* Drehung des Icons bei geöffnetem Zustand */
details[open] summary .icon {
    transform: rotate(180deg);
}

/* Inhalt der Termine */
.details-content {
    padding: 15px;
    background-color: #fafafa;
    border-top: 1px solid #eee;
}

/* Grundstruktur für den Datumsbereich */
.date-box {
    flex: 0 0 120px; /* Feste Breite für das Datum */
    display: flex;
    flex-direction: column; /* Stapelt den Inhalt vertikal */
    justify-content: center;
    color: #2c3e50;
    font-size: 16px;
    border-right: 2px solid #eee;
    margin-right: 15px;
}

/* Spezielle Regeln für Zeiträume */
.event-card.period summary {
    min-height: 80px; /* Doppelte Höhe im Vergleich zum Standard */
    background-color: #FFFFFF; /* Leichte farbliche Abhebung (optional) */
}

.event-card.period .date-box {
    font-weight: bold;
    color: #2c3e50;
    font-size: 14px;
}

.event-card.period .from {
    font-size: 16px;
    color: #2c3e50; /* Akzentfarbe für den Start */
}

.event-card.period .to {
    font-size: 13px;
    color: #5E7E43;
    margin-top: 2px;
}

/* Title Zentrierung beibehalten */
.title {
    flex: 1;
    text-align: center;
    font-weight: bold;
    /*padding-right: 110px;*/
}

.icon {
    flex: 0 0 20px;
    text-align: right;
}

h3{
    padding-left: 100px;
}