.mod-osproperty-availability-calendar { width: 100%; }
.mod-osproperty-availability-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: .25rem; }
.mod-osproperty-availability-calendar__grid span { min-height: 2rem; display: flex; align-items: center; justify-content: center; border-radius: .375rem; font-size: .9rem; }
.mod-osproperty-availability-calendar__grid--head { margin-bottom: .25rem; }
.mod-osproperty-availability-calendar__grid--head span { min-height: auto; font-weight: 600; font-size: .75rem; background: transparent; color: var(--bs-secondary-color, #6c757d); }
.mod-osproperty-availability-calendar .is-free { background: var(--ospcal-free-color, #2e7d32); color: var(--ospcal-free-text-color, #fff); }
.mod-osproperty-availability-calendar .is-booked { background: var(--ospcal-booked-color, #c62828); color: var(--ospcal-booked-text-color, #fff); text-decoration: line-through; }
.mod-osproperty-availability-calendar .is-empty { background: var(--ospcal-empty-color, transparent); }
.mod-osproperty-availability-calendar__legend span { display: inline-flex; align-items: center; gap: .4rem; }
.mod-osproperty-availability-calendar__legend i { width: 1rem; height: 1rem; display: inline-block; border-radius: .25rem; }
.mod-osproperty-availability-calendar__month[hidden] { display: none !important; }
.mod-osproperty-availability-calendar__booking { margin-top: 1rem; text-align: center; }
.mod-osproperty-availability-calendar__booking-button { text-decoration: none; }
.mod-osproperty-availability-calendar__booking-button:hover, .mod-osproperty-availability-calendar__booking-button:focus { text-decoration: none; }
.mod-osproperty-availability-calendar__debug { overflow-wrap: anywhere; white-space: normal; }
.mod-osproperty-availability-calendar__debug code { white-space: pre-wrap; }

.mod-osproperty-availability-calendar__booking-text {
    max-width: 100%;
}
.mod-osproperty-availability-calendar__booking-text > :last-child {
    margin-bottom: 0;
}
