.calendar-options,
.calendar-views,
.calendar-month-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.calendar-options { justify-content: space-between; margin-bottom: 20px; }
.calendar-options a,
.calendar-month-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 13px;
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    text-decoration: none;
    font-size: .93rem;
    font-weight: 650;
}
.calendar-options a[aria-current="page"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.calendar-options a:hover, .calendar-month-links a:hover { text-decoration: underline; }
.calendar-month-links a { min-width: 42px; }
.calendar-head h2 { font-size: clamp(1.2rem, 2.4vw, 1.65rem); }
.calendar-month {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-block: 20px 28px;
    background: #fff;
    color: #203b38;
}
.calendar-month th {
    background: #edf4ec;
    font-weight: 750;
    padding: 8px 2px;
}
.calendar-month th, .calendar-month td { border: 1px solid var(--line); }
.calendar-month td { height: 88px; padding: 5px; vertical-align: top; }
.calendar-month td.calendar-outside { background: #f1f2ef; color: #6a716a; }
.calendar-month time { display: inline-flex; padding: 0 4px; font-size: .82rem; }
.calendar-month time[aria-current="date"] { background: #2c6041; border-radius: 4px; color: #fff; font-weight: 750; }
.calendar-event {
    display: block;
    margin-top: 4px;
    border-radius: 4px;
    padding: 4px 5px;
    color: #1b4934;
    background: #eaf3e9;
    font-size: .82rem;
    line-height: 1.25;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.calendar-event:hover { text-decoration: underline; }
.calendar-waste { display: inline-flex; margin: 3px 2px 0 0; padding: 2px; border-radius: 4px; color: #425047; background: #eef0eb; }
.calendar-waste-blue { color: #1d5781; background: #e9f1fb; }
.calendar-waste-yellow { color: #6c5100; background: #fff4c8; }
.calendar-waste-green { color: #275638; background: #e6f2e5; }
.calendar-month time + .calendar-waste { vertical-align: top; }
.calendar-list-title { margin-top: 28px; font-size: 1.1rem; }
@media (max-width: 650px) {
    .calendar-month th { font-size: .84rem; }
    .calendar-month td { height: 70px; padding: 3px; }
    .calendar-event {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        padding: 3px 2px;
        font-size: .67rem;
    }
    .calendar-waste svg { width: 15px; height: 15px; }
}
