.calendar-sheet {
    --cal-row-height: 2.8em;
    width: 100%;
    padding: 0 0.5em;
    border-bottom: var(--border-width) solid var(--accent-color);
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
}

.cal-header {
    display: flex;
    align-items: center;
    padding: 0.75em 0 0.25em;
}

.cal-month-year {
    font-weight: 700;
    color: var(--accent-color);
}

.cal-nav-arrows {
    margin-left: auto;
    display: flex;
    gap: 0.5em;
}

.cal-nav-btn {
    background: none;
    border: none;
    font-size: 1.3em;
    color: var(--accent-color);
    cursor: pointer;
    font-weight: 700;
    font-family: inherit;
    padding: 0 0.2em;
    text-decoration: none;
}

.cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-weight: 800;
    color: var(--accent-color);
    padding: 0.75em 0 0.25em;
    font-size: 0.85em;
}

.cal-body-clip {
    overflow: hidden;
    max-height: var(--cal-row-height);
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cal-body {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: var(--cal-row-height);
    align-items: center;
    justify-items: center;
    margin-top: calc(-1 * var(--cal-current-week, 0) * var(--cal-row-height));
    transition: margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#cal-toggle:checked ~ .calendar-sheet .cal-body-clip {
    max-height: calc(var(--cal-total-weeks, 5) * var(--cal-row-height));
}

#cal-toggle:checked ~ .calendar-sheet .cal-body {
    margin-top: 0;
}

.cal-day {
    position: relative;
    background: none;
    border: none;
    font-size: 0.9em;
    color: var(--accent-color);
    cursor: pointer;
    font-family: inherit;
    font-weight: 600;
    width: var(--cal-row-height);
    height: var(--cal-row-height);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 0;
}

.cal-day:active {
    background: rgba(3, 2, 242, 0.08);
}

.cal-day.selected {
    background: var(--accent-color);
    color: white;
}


.cal-day:not(.available){
    color: oklab(from var(--accent-color) l a b / 30%);
}
/* .cal-day.available::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5em;
    height: 1.5em;
    transform: translate(-50%, -50%) rotate(45deg);
    background: rgba(3, 2, 242, 0.12);
    border-radius: 0 50% 50% 50%;
    z-index: -1;
} */

/* Handle bar - tap to toggle */
.cal-handle {
    display: flex;
    justify-content: center;
    padding: 0.8em 0 0.8em;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.handle-pill {
    display: block;
    width: 2.5em;
    height: 0.25em;
    background: #333;
    border-radius: 1em;
}
