.sb-booking .sb-filter .btn-group {
  gap: 0.25rem;
}
.sb-booking .sb-filter .btn-group .btn {
  border-radius: var(--bs-btn-border-radius, 0.375rem) !important;
}
.sb-booking .sb-day .card-header {
  font-weight: 600;
}
.sb-booking .sb-slot-form {
  display: inline-block;
}
.sb-booking .sb-slot {
  min-width: 4.5rem;
}
.sb-booking .sb-slot small {
  font-size: 0.7em;
  line-height: 1.1;
}
.sb-booking .sb-hold-hint {
  border-left: 3px solid var(--bs-warning, #ffc107);
  padding-left: 0.75rem;
}
.sb-booking .sb-past {
  opacity: 0.85;
}

.sbc-toolbar .btn {
  white-space: nowrap;
}

#sbc-calendar {
  background: var(--bs-white, #fff);
  color: var(--bs-body-color, #212529);
  border-radius: 0.5rem;
  padding: 0.75rem;
}
#sbc-calendar .sbc-hold {
  background-image: repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(0, 0, 0, 0.18) 6px, rgba(0, 0, 0, 0.18) 12px);
  opacity: 0.85;
  cursor: default;
}
#sbc-calendar .sbc-done {
  opacity: 0.55;
}
#sbc-calendar .sbc-noshow {
  opacity: 0.55;
  text-decoration: line-through;
}
#sbc-calendar .sbc-lastminute {
  outline: 2px dashed var(--bs-warning, #ffc107);
  outline-offset: -2px;
}
#sbc-calendar .sbc-absence {
  opacity: 0.35;
}
#sbc-calendar .ec-event {
  cursor: pointer;
}

.sbc-autocomplete {
  position: absolute;
  inset-inline: 0;
  top: 100%;
  z-index: 1080;
  max-height: 16rem;
  overflow-y: auto;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.25);
}

#sbc-waitlist-modal .card-body .fw-bold {
  font-size: 0.95rem;
}
#sbc-waitlist-modal .sbc-wl-urgent {
  border-left: 3px solid var(--bs-warning, #ffc107);
}
