/* Biuro OF COURSE — uzupełnienie Bootstrapa */
.cal { table-layout: fixed; width: 100%; }
.cal th { text-align: center; font-weight: 500; font-size: .8rem; text-transform: uppercase; color: var(--bs-secondary-color); }
.cal td { vertical-align: top; height: 7.5rem; padding: .25rem; border: 1px solid var(--bs-border-color); }
.cal td.other { background: var(--bs-tertiary-bg); opacity: .6; }
.cal td.today { outline: 2px solid var(--bs-primary); outline-offset: -2px; }
.cal td.weekend .day-no { color: var(--bs-danger); }
.cal .day-no { font-size: .8rem; font-weight: 600; }
.ev {
  display: flex; gap: .25rem; font-size: .78rem; line-height: 1.2; padding: .15rem .3rem; margin-top: .15rem;
  border-radius: .25rem; text-decoration: none; color: #fff; white-space: nowrap;
}
.ev .lbl { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ev:hover { filter: brightness(1.1); color: #fff; }
.ev.st-rezerwacja, .ev.st-opcja, .ev.st-zapytanie { background: transparent !important; border: 1.5px dashed; color: var(--bs-body-color); }
.ev.st-odwolany { text-decoration: line-through; opacity: .5; }
.ev .city { opacity: .85; }
.ev .who { flex-shrink: 0; font-size: .68rem; font-weight: 600; opacity: .9; align-self: center; }
.dot { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; vertical-align: middle; }
.page-head { position: sticky; top: 0; z-index: 1020; background: var(--bs-body-bg); padding: .5rem 0; margin-top: -.5rem; }
.note-body { white-space: pre-wrap; font-size: .9rem; }
@media (max-width: 767px) {
  .cal-desktop { display: none; }
}
@media (min-width: 768px) {
  .cal-mobile { display: none; }
}
