
:root {
    --month-calendar-day-outer-background-size: auto;
    --month-calendar-day-outer-background-image: none;
    --month-calendar-holiday-background: #f7b6c673;
    --month-calendar-day-featured-background: #fff7cc;
}
:root.high-contrast {
    --month-calendar-holiday-background: #86002573;
    --month-calendar-day-featured-background: #625824;
}

.sm-month-calendar-selector .calendar-grid {
    display: grid;
    margin-bottom: 1em;
    border-bottom: 1px solid var(--main-table-td-border-color);
    border-left: 1px solid var(--main-table-td-border-color);
}
.sm-month-calendar-selector .day-names-grid {
    display: grid;
    margin-top: 1em;
}
.sm-month-calendar-selector .grid-7 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}
.sm-month-calendar-selector .grid-6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.sm-month-calendar-selector .grid-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.sm-month-calendar-selector .day-names-grid div {
    text-align: center;
    padding: 0.5em;
    color: var(--input-label-color);
}

.sm-month-calendar-selector .buttons-panel .sm-button {
    min-width: var(--button-min-width);
}
.sm-month-calendar-selector .buttons-panel {
    margin-top: 1em;
    display: flex;
    flex-direction: row;
    column-gap: 0.5em;
    justify-content: right;
}
.sm-month-calendar-selector .calendar-grid-cell {
    border-top: 1px solid var(--main-table-td-border-color);
    border-right: 1px solid var(--main-table-td-border-color);
    aspect-ratio: 1;
    position: relative;
}
.sm-month-calendar-selector .calendar-grid-cell-content {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.sm-month-calendar-selector .day-number {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0.25em;
}
.sm-month-calendar-selector .day-outer-month {
    background-color: var(--main-record-background-color-hover);
    color: var(--main-low-visibility-color);
    background-size: var(--month-calendar-day-outer-background-size);
    background-image: var(--month-calendar-day-outer-background-image);
}
.sm-month-calendar-selector .day-inner-month:hover {
    background-color: var(--month-calendar-selected-day-background);
}
.sm-month-calendar-selector .day-source {
    color: var(--main-record-color-orange)
}
.sm-month-calendar-selector .day-reserved {
    color: var(--main-record-color-blue)
}
.sm-month-calendar-selector .day-blocked {
    color: var(--main-record-color-purple);
}
.sm-month-calendar-selector .day-avaible {
    color: var(--main-record-color-green);
}
.sm-month-calendar-selector .day-selected {
    color: var(--main-record-color-green);
}
.sm-month-calendar-selector .day-selectable {
    cursor: pointer;
}
.sm-month-calendar-selector .day-highlight {
    background-color: var(--month-calendar-current-day-background);
}
.sm-month-calendar-selector .day-highlight:hover {
    background-color: var(--month-calendar-current-day-background);
    filter: brightness(1.05);
}
.sm-month-calendar-selector .day-holiday {
    background-color: var(--month-calendar-holiday-background);
}
.sm-month-calendar-selector .day-holiday:hover {
    background-color: var(--month-calendar-holiday-background);
    filter: brightness(1.05);
}
.sm-month-calendar-selector .day-featured {
    background-color: var(--month-calendar-day-featured-background);
}
.sm-month-calendar-selector .day-featured:hover {
    background-color: var(--month-calendar-day-featured-background);
    filter: brightness(1.05);
}