.rc-calendar-wrap {
  width: 100%;
  margin: 0 auto;
  color: #000000;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  --calendar-gap: 24px;
  gap: var(--calendar-gap);
  align-items: stretch;
}

.rc-month-block {
  box-sizing: border-box;
  flex: 0 0 100%;
  padding: 12px;
  font-size: 16px;
  background: #f9f8f7;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .rc-month-block {
    flex-basis: calc((100% - var(--calendar-gap)) / 2);
  }
}

@media (min-width: 1024px) {
  .rc-month-block {
    flex-basis: calc((100% - (var(--calendar-gap) * 2)) / 3);
  }
}

.rc-month-title {
  width: 100%;
  text-align: center;
  color: #000000;
  font-size: 18px;
  font-weight: bold;
}

.rc-cal-table {
  color: #000000;
  font-size: 16px;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.rc-cal-table th {
  vertical-align: middle;
  text-align: center;
}
.rc-cal-table td {
  color: #000000;
  font-size: 16px;
  font-weight: bold;
}

.rc-sun { color: #d04040; }
.rc-sat { color: #4040d0; }

.rc-status-open  { font-weight: bold; font-size: 16px; color: #4040d0; }
.rc-status-few   { font-weight: bold; font-size: 16px; color: #40d040; }
.rc-status-full  { font-weight: bold; font-size: 16px; color: #d04040; }
.rc-status-na    { font-weight: bold; font-size: 16px; color: #000000; }

.rc-update-time {
  width: 100%;
  text-align: right;
  padding: 10px;
  font-size: 13px;
}
