#private-booking-section {
  scroll-margin-top: 84px;
}

.private-calendar-wrap {
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.9rem;
  padding: 0.75rem;
  background: #fff;
}

.private-calendar-header {
  margin-bottom: 0.55rem;
}

.private-calendar-grid {
  display: grid;
  gap: 0.35rem;
}

.private-weekdays,
.private-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
}

.private-weekdays span {
  text-align: center;
  font-size: 0.72rem;
  color: #64748b;
  font-weight: 700;
}

.private-day {
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.6rem;
  background: #fff;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.1rem;
  font-size: 0.72rem;
  padding: 0.2rem;
}

.private-day.empty {
  border-color: transparent;
  background: transparent;
}

.private-day .day-num {
  font-weight: 700;
  color: #0f172a;
}

.private-day .day-meta {
  color: #64748b;
  font-size: 0.64rem;
}

.private-day.available {
  background: #f0f9ff;
  border-color: #7dd3fc;
}

.private-day.unavailable {
  background: #f8fafc;
}

.private-day.selected {
  border-color: #1d4ed8;
  box-shadow: inset 0 0 0 1px #1d4ed8;
}

.private-search-results {
  border: 1px dashed rgba(148, 163, 184, 0.45);
  border-radius: 0.8rem;
  padding: 0.75rem;
  background: #fcfdff;
}

#common-calendar-modal .calendar-modal-day.is-loading {
  min-height: 4.15rem;
  padding-top: 0.34rem;
  padding-bottom: 0.38rem;
  justify-content: flex-start;
  gap: 0.28rem;
}

#common-calendar-modal .calendar-modal-day.is-loading .calendar-modal-day-num::after {
  margin-top: 0.14rem;
}
