/* Events: filter bar, day sections, cards, and the de-emphasized ongoing band.
   All styling lives here because the CSP forbids <style> blocks and style=""
   attributes -- see CLAUDE.md. */

.filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end;
           margin: 1rem 0; }
.filters label { display: flex; flex-direction: column; font-size: .875rem; }
.filters__check { flex-direction: row; align-items: center; gap: .4rem; }
.filters button { min-height: 44px; padding: 0 1.1rem; }
.result-count { color: #5a6472; font-size: .9rem; }
.day { margin: 1.75rem 0; }
.day__heading { font-size: 1.05rem; border-bottom: 1px solid #dfe4ea;
                padding-bottom: .35rem; }
.day__ongoing-heading { font-size: .8rem; text-transform: uppercase;
                        letter-spacing: .06em; color: #7a8492; margin: .9rem 0 .3rem; }
.event-list { list-style: none; margin: 0; padding: 0; }
.event-card { padding: .7rem 0; border-bottom: 1px solid #eef1f4; }
.event-card__link { font-weight: 600; text-decoration: none;
                    display: inline-block; min-height: 44px; line-height: 1.4; }
.event-card__meta { margin: .15rem 0 0; color: #5a6472; font-size: .9rem; }
.event-list--ongoing .event-card { opacity: .68; }
.event-list--ongoing .event-card__link { font-weight: 500; }
.event-detail__facts dt { font-weight: 600; margin-top: .6rem; }
.event-detail__facts dd { margin: 0; }
.event-detail__provenance { margin-top: 1.5rem; color: #5a6472;
                            font-size: .85rem; }

/* A flex element beats the browser's [hidden] default, so this must be !important. */
[hidden] { display: none !important; }
