.calendar-filters {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}
.calendar-filters select {width:100%;max-width:none;min-width:0;min-height:48px;font-size:15px;box-sizing:border-box}
#location-filter {min-width:260px;flex:1 1 300px;max-width:100%;box-sizing:border-box}
.group-cards {grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.group-card {min-width:0;height:auto;overflow-wrap:anywhere}
.group-card h2,.group-card p,.group-card .badge {white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.5}
.group-bottom {display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.group-bottom>strong {min-width:0;overflow-wrap:anywhere}
.calendar-cell {min-width:0;height:auto;min-height:130px}
.calendar-week .calendar-cell {min-height:200px}
.calendar-event {white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;line-height:1.4;height:auto;padding:5px 6px}
.calendar-weekday {white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.session-row .info {min-width:0;overflow-wrap:anywhere}
.session-row .info p,.session-row .info strong {white-space:normal}
.payment-comment {white-space:pre-wrap;overflow-wrap:anywhere;background:#edf4fb;padding:10px 12px;border-radius:5px}
.selected-filter-label {display:block;color:#405b70;font-size:13px;line-height:1.5;margin:6px 0 0;white-space:normal;overflow-wrap:anywhere}
.selected-filter-label[hidden] {display:none}
.calendar-filter-field {min-width:0}
.group-filter-field {flex:1 1 300px;min-width:260px;max-width:100%}
.group-filter-field #location-filter {width:100%}
@media(max-width:600px) {
  .calendar-filters {grid-template-columns:minmax(0,1fr)}
  #location-filter {min-width:0;width:100%;flex-basis:100%}
  .group-filter-field {min-width:0;width:100%;flex-basis:100%}
}
