/* Kompakter 14-Tage-Kalender im bestehenden hellen GRINS-Design. */
#kal-filter { align-items: center; gap: .5rem; }
#kal-filter .kal-date-label { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; width: 100%; margin: 0 0 .5rem; font-size: .95rem; font-weight: 600; }
#kal-filter .kal-date-select { min-height: 44px; max-width: 100%; padding: .55rem 2rem .55rem .75rem; color: #28261f; background: #fffdf5; border: 1px solid #b9ad87; border-radius: 8px; font: inherit; }
#kal-filter .chip { min-height: 44px; text-transform: none; letter-spacing: normal; }
.kal-result { margin: 1rem 0 .65rem; color: #565044; font-size: .95rem; line-height: 1.5; }
#kalender { display: block; padding: 0; list-style: none; }
#kalender > .kal-day { display: block; margin: 0 0 .55rem; padding: 0; border: 1px solid #d8cba9; border-radius: 10px; background: #fffdf5; overflow: hidden; }
#kalender .kal-day summary { display: list-item; padding: 1rem; cursor: pointer; color: #28261f; font: inherit; font-weight: 650; line-height: 1.5; text-transform: none; letter-spacing: normal; }
#kalender .kal-day summary::marker { color: #756021; }
#kalender .kal-day summary:hover { background: #fff3c2; }
#kalender .kal-day summary:focus-visible, #kal-filter :focus-visible { outline: 3px solid #786017; outline-offset: 3px; }
#kalender .kal-count { float: right; margin-left: .75rem; color: #625b4d; font-size: .85em; font-weight: 400; }
#kalender .kal-events { display: block; list-style: none; padding: 0 1rem; margin: 0; }
#kalender .kal-events > li { display: block; padding: 1rem 0; margin: 0; border: 0; border-top: 1px solid #e7dec8; font-size: 1rem; line-height: 1.55; text-transform: none; letter-spacing: normal; overflow-wrap: anywhere; }
#kalender .kal-events > li > a:not(.tix) { font-size: 1.05rem; font-weight: 650; line-height: 1.5; text-transform: none; letter-spacing: normal; }
#kalender .kal-events .meta { display: block; margin-top: .35rem; color: #625b4d; font-size: .86rem; font-weight: 400; line-height: 1.6; text-transform: none; letter-spacing: normal; }
#kalender .kal-events .note { display: block; margin-top: .35rem; color: #625b4d; font-size: .85rem; line-height: 1.5; }
#kalender .kal-events .tix { display: inline-block; margin-left: .5rem; font-size: .85rem; text-transform: none; }
#kalender .kal-overview { color: #565044; font-size: .95rem; text-transform: none; letter-spacing: normal; }
@media (max-width: 480px) {
  #kalender .kal-day summary { padding: .85rem; }
  #kalender .kal-count { float: none; display: block; margin: .2rem 0 0 1rem; }
  #kalender .kal-events { padding: 0 .85rem; }
}

/* Format first: readable even without knowing the venue or act. */
#kalender .kal-events .kal-kind { display: table; max-width: 100%; margin: 0 0 .45rem; padding: .25rem .6rem; border: 1px solid #d8c38a; border-radius: 5px; background: #f8edc6; color: #493b1c; font-size: .85rem; font-weight: 700; line-height: 1.5; text-transform: none; letter-spacing: normal; }
#kalender .kal-events .kal-description { display: block; max-width: 68ch; margin: .4rem 0 .5rem; color: #49453c; font-size: .95rem; font-weight: 400; line-height: 1.65; text-transform: none; letter-spacing: normal; }
/* The programme, sport activities and screenings have distinct destinations. */
.kal-sections { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.kal-sections a { display: inline-block; padding: .65rem .8rem; border: 1px solid currentColor; font-weight: 700; text-decoration: none; }
