/* Inherits the site template's typography and colours; only layout and the facility colour key live here. */
.com-facilitybooking-diary .fb-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  justify-content: space-between;
  margin-block: 1rem 1.5rem;
}
.com-facilitybooking-diary .fb-filter { display: flex; gap: .5rem; align-items: center; }
.com-facilitybooking-diary .fb-filter label { white-space: nowrap; }
.com-facilitybooking-diary .fb-nav { display: flex; gap: .5rem; }
.com-facilitybooking-diary .fb-days {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 1rem;
}
.com-facilitybooking-diary .fb-day { border-top: 3px solid currentColor; padding-top: .5rem; }
.com-facilitybooking-diary .fb-day.is-today { border-top-width: 6px; }
.com-facilitybooking-diary .fb-day-heading { font-size: 1.05rem; margin: 0 0 .5rem; }
.com-facilitybooking-diary .fb-empty { opacity: .65; margin: 0; }
.com-facilitybooking-diary .fb-bookings { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.com-facilitybooking-diary .fb-booking {
  display: grid;
  gap: .1rem;
  padding: .4rem .6rem;
  border-left: 5px solid var(--fb-colour, #6c757d);
  background: color-mix(in srgb, var(--fb-colour, #6c757d) 8%, transparent);
}
.com-facilitybooking-diary .fb-booking.status-provisional { border-left-style: dashed; }
.com-facilitybooking-diary .fb-time { font-variant-numeric: tabular-nums; font-weight: 600; }
.com-facilitybooking-diary .fb-facility,
.com-facilitybooking-diary .fb-by,
.com-facilitybooking-diary .fb-status { font-size: .875em; opacity: .8; }
