.event-overview { --event-accent:#08758e; --event-dark:#143b46; --event-ink:#17384a; --event-muted:#91a8ba; --event-line:#d4e0e6; color:var(--event-ink); }
.event-overview__heading { margin:0 0 1rem; }
.event-overview__filter { display:flex; align-items:center; gap:1rem; margin-bottom:2.25rem; }
.event-overview__filter-label { flex:0 0 auto; font-weight:700; }
.event-overview__tabs { display:flex; flex-wrap:wrap; gap:.55rem; }
.event-overview__tab { appearance:none; min-height:2.65rem; padding:.55rem 1.2rem; border:2px solid var(--event-line); border-radius:999px; background:#fff; color:var(--event-ink); cursor:pointer; font:inherit; font-weight:700; }
.event-overview__tab.is-active { border-color:var(--event-dark); background:var(--event-dark); color:#fff; }
.event-overview__tab:focus-visible { outline:3px solid color-mix(in srgb,var(--event-accent),transparent 60%); outline-offset:2px; }
.event-overview__panel:not(.is-active), .event-overview__panel[hidden] { display:none; }

/* Vollständige Seite: Allgemein als großzügige Kartenliste. */
.event-overview--complete .event-overview__cards { display:grid; gap:1.4rem; }
.event-overview--complete .event-card { display:grid; grid-template-columns:6rem minmax(0,1fr); gap:1.2rem; align-items:center; }
.event-overview--complete .event-card__date { display:grid; place-content:center; min-height:6rem; border-radius:1rem 0 1rem 0; background:var(--event-dark); color:#fff; text-align:center; text-transform:uppercase; line-height:1; }
.event-overview--complete .event-card__date strong { margin-top:.45rem; font-size:1.45rem;font-weight:800; }
.event-overview--complete .event-card__date span { margin-top:.4rem; color:#ffe000; font-size:.78rem; font-weight:800; }
.event-overview--complete .event-card__date .event-card__weekday { margin-top:0; color:#fff; font-size:.72rem; }
.event-card__category { color:var(--event-accent); font-size:.72rem; font-weight:800; text-transform:uppercase;letter-spacing: 0.03rem; }
.event-card__title { margin:.42rem 0 0; font-size:1.05rem; line-height:1.35;font-weight:600; }
.event-overview__time, .event-overview__additional { margin:.35rem 0 0; color:var(--event-muted); font-size:.95rem; font-weight:400; }

/* Startseite: kompakte, gerahmte Liste entsprechend der Vorlage. */
.event-overview--homepage { width:100%; display:flex; }
.event-overview--homepage .event-overview__cards { overflow:hidden; border:1px solid var(--event-line); border-radius:1.25rem 0 1.25rem 0; }
.event-overview--homepage .event-card { display:grid; grid-template-columns:3.3rem minmax(0,1fr); gap:1rem; align-items:center; min-height:5.85rem; padding:.95rem 1.1rem; }
.event-overview--homepage .event-card + .event-card { border-top:1px solid var(--event-line); }
.event-overview--homepage .event-card__date { display:grid; place-content:center; width:3.3rem; height:3.4rem; border-radius:0 0 .85rem 0; background:#f0f6f8; text-align:center; text-transform:uppercase; line-height:1; }
.event-overview--homepage .event-card__date strong { font-size:1.15rem;font-weight: 800; }
.event-overview--homepage .event-card__date span { margin-top:.28rem; color:var(--event-accent); font-size:.6rem; font-weight:600; }
.event-overview--homepage .event-card__weekday, .event-overview--homepage .event-overview__time, .event-overview--homepage .event-overview__additional { display:none; }
.event-overview--homepage .event-card__category { font-size:.62rem;letter-spacing: 0.03em;font-weight:700; }
.event-overview--homepage .event-card__title { margin-top:.35rem; font-size:.91rem;font-size: 15px;
    font-weight: 600;
    line-height: 20px; }

/* Übrige Kategorien: tabellarisch. */
.event-table { border-top:1px solid var(--event-line); }
.event-table__head, .event-table__row { display:grid; grid-template-columns:minmax(8rem,1fr) minmax(8rem,1fr) minmax(12rem,1.7fr) minmax(7rem,.8fr); gap:1.2rem; padding:1rem .5rem; border-bottom:1px solid var(--event-line); }
.event-table__head { letter-spacing: 0.03rem; color:var(--event-accent); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.event-table__row { font-weight:600;min-height:5.05rem; align-items:start; }
.event-table__row .event-overview__time { display:block; margin-top:.45rem; }
.event-table__row .event-overview__additional { margin:0;font-weight:600; }

@media (max-width:48rem) {
    .event-overview__filter { align-items:flex-start; flex-direction:column; gap:.65rem; }
    .event-table__head { display:none; }
    .event-table__row { grid-template-columns:1fr 1fr; }
    .event-table__row > :nth-child(3), .event-table__row > :nth-child(4) { grid-column:1 / -1; }
}
