/* =========================================================
   SPD Barmstedt Kalender – Frontend-Styles
   ========================================================= */

.spdk-kalender {
    font-family: inherit;
    max-width: 760px;
}

/* --- Einzelner Termin ------------------------------------ */
.spdk-event {
    border-left: 4px solid #e2001a; /* SPD-Rot */
    background: #fff;
    margin-bottom: 1.1em;
    padding: 0.75em 1em;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
    transition: box-shadow .15s;
}

.spdk-event:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,.14);
}

/* --- Vergangene Termine ---------------------------------- */
.spdk-event.spdk-past {
    border-left-color: #aaa;
    opacity: .7;
}

/* --- Abgesagte Termine ---------------------------------- */
.spdk-event.spdk-cancelled {
    border-left-color: #c00;
    opacity: .6;
    text-decoration: line-through;
}

/* --- Header-Zeile --------------------------------------- */
.spdk-event-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5em 1em;
}

.spdk-date {
    font-size: .85em;
    color: #555;
    white-space: nowrap;
    min-width: 220px;
}

.spdk-title {
    font-weight: 700;
    font-size: 1em;
    color: #1a1a1a;
    flex: 1;
}

.spdk-title a {
    color: #e2001a;
    text-decoration: none;
}

.spdk-title a:hover {
    text-decoration: underline;
}

/* --- Badge ---------------------------------------------- */
.spdk-badge {
    font-size: .75em;
    font-weight: 600;
    padding: .15em .55em;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.spdk-badge-cancelled {
    background: #c00;
    color: #fff;
    text-decoration: none;
}

/* --- Ort ------------------------------------------------ */
.spdk-location {
    font-size: .88em;
    color: #444;
    margin-top: .35em;
}

.spdk-icon {
    margin-right: .2em;
}

/* --- Beschreibung --------------------------------------- */
.spdk-description {
    font-size: .88em;
    color: #555;
    margin-top: .4em;
    padding-top: .4em;
    border-top: 1px solid #eee;
    line-height: 1.5;
}

/* --- Kein Termin ---------------------------------------- */
.spdk-no-events {
    color: #666;
    font-style: italic;
}

/* --- Responsiv ------------------------------------------ */
@media (max-width: 520px) {
    .spdk-event-header {
        flex-direction: column;
        gap: .25em;
    }
    .spdk-date {
        min-width: unset;
    }
}
