.events-month { margin:24px 0 32px; min-width:0; border-block:1px solid var(--event-line,#aaa); }
.events-month > summary { cursor:pointer;display:flex;align-items:center;gap:12px;min-height:52px;font:600 .95rem/1.3 system-ui;list-style:none; }
.events-month > summary::-webkit-details-marker { display:none; }
.events-month > summary > span:first-child { font-size:1.7rem;color:var(--event-ink,#242424); }
.calendar-hint { margin-left:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;opacity:.65; }
.events-month[open] { padding-bottom:16px; }
.events-month > summary:focus-visible { outline:3px solid #b63b37;outline-offset:4px; }
.events-month > h2 { font-family:var(--headline-font,Georgia,serif); font-size:2rem; border-bottom:2px solid currentColor; padding-bottom:14px; }
.month-controls { display:flex; align-items:center; gap:12px; margin:20px 0; flex-wrap:wrap; }
.month-controls h3 { margin:0 auto; font:600 1.7rem/1.2 var(--headline-font,Georgia,serif); }
.month-controls button { background:var(--event-bg,#faf9f6);color:var(--event-ink,#242424);border:1px solid currentColor;padding:12px;min-height:44px;border-radius:3px;cursor:pointer; }
.month-controls button:focus-visible,.month-event a:focus-visible { outline:3px solid #b63b37;outline-offset:3px; }
.month-weekdays,.month-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr)); }
.month-weekdays { text-align:center;font:600 .75rem/1.4 system-ui;text-transform:uppercase;letter-spacing:.08em;padding:12px 0;background:color-mix(in srgb,var(--event-ink,#242424) 5%,transparent);border-radius:8px 8px 0 0; }
.month-days { list-style:none;padding:0;margin:0;border-top:1px solid var(--event-line,#aaa);border-left:1px solid var(--event-line,#aaa); }
.month-day { min-width:0;min-height:100px;padding:10px;border-right:1px solid var(--event-line,#aaa);border-bottom:1px solid var(--event-line,#aaa); }
.month-day h4 { font:600 .8rem/1.4 system-ui;margin:0 0 12px; }
.month-day.is-today { background:color-mix(in srgb,#c49c44 12%,transparent);box-shadow:inset 0 3px #b18b35; }
.month-day.is-today h4 { font-weight:800; }
.month-day.has-events { background:color-mix(in srgb,var(--event-ink,#242424) 3%,transparent); }
.month-day.is-today.has-events { background:color-mix(in srgb,#c49c44 12%,transparent); }
.month-controls button:hover { background:color-mix(in srgb,var(--event-ink,#242424) 9%,var(--event-bg,#faf9f6)); }
.month-event { border-left:3px solid #a43230;padding-left:8px;margin:16px 0;overflow-wrap:anywhere; }
.month-event h5 { font:700 1rem/1.3 system-ui;margin:0 0 8px; }.month-event p { font-size:.85rem;line-height:1.45;margin:8px 0; }.month-event a{color:inherit;}
.month-status { font-size:.95rem; }
@media(max-width:767px){
 .month-controls h3{order:-1;flex-basis:100%;font-size:1.8rem;}.month-controls button{flex:1;}
 .month-weekdays{display:none;}.month-days{display:block;border:0;}.month-day{border:0;border-bottom:1px solid var(--event-line,#aaa);padding:16px 0;min-height:0;}.month-day.is-empty{display:none;}.month-day h4{font-size:1rem;}.month-event h5{font-size:1.2rem;}.month-event p{font-size:1rem;}
}
