.calendar-month{border:1px solid #d5dbd0;background:#fffdf7;margin-bottom:1.5rem;min-width:0}.calendar-month h3{font-family:var(--heading,Georgia,serif);font-size:1.6rem;font-weight:400;margin:0;padding:1.15rem 1.25rem;border-bottom:1px solid #d5dbd0}.month-day-headings,.month-dates,.month-events{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day-headings{background:#f0f2e9}.month-day-headings span{padding:.65rem .3rem;text-align:center;font-size:.73rem;letter-spacing:.04em}.month-week{border-top:1px solid #e1e4d9;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 7 - 1px),#e8eade calc(100% / 7 - 1px),#e8eade calc(100% / 7))}.month-day{padding:.4rem .5rem;min-height:2.1rem;font-size:.78rem}.month-day time{display:block}.outside-month{color:#adb4a7;background:#f5f5ef}.outside-season{background:#f5f5ef;color:#adb4a7}.day-closed{background:#f4e8e0}.day-limited{background:#f5efda}.day-open{background:#edf3e7}.day-unconfirmed{color:#7d8176}.day-state{display:block;font-size:.61rem;line-height:1.3;margin-top:.25rem;overflow-wrap:anywhere}.month-events{gap:4px 0;min-height:3.3rem;padding:0 0 .6rem}.month-event{font:inherit;color:#294638;background:#e7ecdf;border:1px solid #bdcdb5;border-radius:5px;min-width:0;text-align:left;padding:.5rem .6rem;margin:0 3px;min-height:48px;cursor:pointer;overflow:hidden}.month-event strong,.month-event span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.45}.month-event strong{font-size:.79rem;font-weight:600}.month-event span{font-size:.67rem;margin-top:.1rem}.month-event:hover,.month-event:focus-visible{outline:2px solid #325941;outline-offset:1px}.month-event.event-available{color:#fffdf7;background:#315d44;border-color:#315d44}.month-event.event-closed,.month-event.event-private{background:#f0e1d7;border-color:#cfb7a4;color:#75412b}.month-event.event-limited{background:#f2ebcf;border-color:#d8c890;color:#6d5722}.month-event.continues-before{border-left:3px dashed currentColor;border-radius:0 5px 5px 0}.month-event.continues-after{border-right:3px dashed currentColor;border-radius:5px 0 0 5px}.month-event.continues-before.continues-after{border-radius:0}.calendar-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1rem 0;font-size:.78rem}.calendar-legend span{display:flex;align-items:center;gap:.4rem}.calendar-legend i{width:.7rem;height:.7rem;border-radius:2px;background:#e7ecdf;border:1px solid #bdcdb5}.calendar-legend .legend-open{background:#315d44;border-color:#315d44}.calendar-legend .legend-closed{background:#f0e1d7;border-color:#cfb7a4}.calendar-legend .legend-limited{background:#f2ebcf;border-color:#d8c890}.calendar-details{background:#eef2e7;border:1px solid #c9d5c1;border-radius:6px;padding:1.5rem;margin:1.25rem 0;scroll-margin-top:7rem}.calendar-details h3{margin:0 0 .5rem;font-size:1.5rem}.calendar-details p{font-size:.9rem;line-height:1.6;margin:.5rem 0}.calendar-details a{display:inline-block;margin-top:.6rem;font-weight:600;text-underline-offset:4px}.calendar-details button{float:right;background:transparent;border:0;font:inherit;min-width:44px;min-height:44px;cursor:pointer}.calendar-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0}.calendar-view-switch{display:flex;border:1px solid #bdc9b5;border-radius:5px;overflow:hidden}.calendar-view-switch button,.calendar-month-nav button{font:inherit;font-size:.85rem;min-height:44px;padding:.5rem 1rem;cursor:pointer;background:#fffdf7;border:0;color:#294638}.calendar-view-switch button[aria-pressed=true]{background:#294638;color:#fffdf7}.calendar-month-nav{display:flex;gap:.4rem}.calendar-month-nav button{border:1px solid #bdc9b5;border-radius:5px}.calendar-month-nav button:disabled{opacity:.4;cursor:default}.calendar-view-switch button:focus-visible,.calendar-month-nav button:focus-visible{outline:2px solid #294638;outline-offset:-4px}[hidden]{display:none!important}
@media(max-width:600px){.calendar-month h3{font-size:1.3rem;padding:.9rem}.month-day{padding:.35rem .3rem;font-size:.7rem}.month-event{padding:.35rem;margin-inline:1px;min-height:46px}.month-event strong{font-size:.66rem}.month-event span{font-size:.59rem}.month-day-headings span{font-size:.63rem;padding:.5rem 0}.day-state{font-size:.55rem}.calendar-details{padding:1rem}.month-event.single-day strong{font-size:.6rem}.month-event.single-day span{display:none}}
button.month-day{border:0;border-radius:0;text-align:left;font-family:inherit;color:inherit;cursor:pointer;background-color:transparent}button.month-day.day-closed{background:#f4e8e0}button.month-day.day-limited{background:#f5efda}button.month-day.day-open{background:#edf3e7}button.month-day:focus-visible{outline:2px solid #315d44;outline-offset:-2px}.summer-service-filter{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0}.summer-service-filter select{font:inherit;font-size:.9rem;padding:.7rem 2rem .7rem .8rem;min-height:44px;border:1px solid #bdc9b5;background:#fffdf7;border-radius:4px}.summer-service-filter p{font-size:.8rem;margin:0}.summer-season-note{white-space:pre-line;max-width:75ch}.summer-calendar-content>p{font-size:.9rem;line-height:1.7}.summer-calendar-empty{padding:2rem;background:#eff2e8;border:1px solid #d5dbd0}.summer-calendar-empty h3{font-size:1.5rem;margin:0 0 .8rem}.summer-calendar-empty p{line-height:1.7;max-width:65ch}.summer-day-services{padding:0;list-style:none;margin:0}.summer-day-services li{padding:.6rem 0;border-bottom:1px solid #d6dece;line-height:1.6;font-size:.85rem}.summer-day-services small{display:block}.summer-calendar-content .month-events:empty{min-height:1rem}.summer-calendar-content .calendar-month{break-inside:avoid}

@media(max-width:600px){.month-event.single-day strong[data-short-title]{font-size:0}.month-event.single-day strong[data-short-title]::after{content:attr(data-short-title);font-size:.67rem;line-height:1.45}}
.summer-written-schedule{margin:1.5rem 0;font-size:.85rem;line-height:1.7}.summer-written-schedule summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-weight:600}
