.monthly-calendar{padding-block:64px 28px;scroll-margin-top:24px}
.monthly-calendar>h2{font-size:clamp(32px,4vw,48px);margin:8px 0 30px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.calendar-toolbar h3{font-size:clamp(21px,3vw,30px);margin:0;text-align:center}
.calendar-toolbar button{background:white;color:#592b36;border:1px solid #ded2c5;border-radius:3px;min-height:44px;padding:10px 16px;font:inherit;cursor:pointer}
.calendar-toolbar button:hover{background:#f7f2ec}.calendar-toolbar button:focus-visible{outline:3px solid #a77a40;outline-offset:3px}
.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed}
.calendar-table th{padding:14px 4px;background:#592b36;color:white;text-align:center;font-size:14px;font-weight:600}
.calendar-table abbr{text-decoration:none}
.calendar-table td{height:110px;vertical-align:top;padding:10px;border:1px solid #ded2c5;background:white;color:#352d29}
.calendar-table td.calendar-padding{background:#faf8f5}
.calendar-table time{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;font-size:14px}
.calendar-table time[aria-current="date"]{background:#592b36;color:white;border-radius:50%;font-weight:700}
.calendar-event{margin:5px 0 0;color:#592b36;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.calendar-empty{font-size:14px;color:#655952;margin:16px 0 0}
@media(max-width:760px){.monthly-calendar{padding-block:40px 12px}.calendar-table td{height:84px;padding:5px 3px}.calendar-table th{font-size:12px;padding:11px 2px}.calendar-table time{font-size:12px;min-width:24px;height:24px}.calendar-event{font-size:11px}.calendar-toolbar button{padding:9px;min-width:44px}.calendar-toolbar button span{display:none}}

.calendar-toolbar button:disabled{opacity:.4;cursor:default;background:white}
