.event-calendar{border-top:2px solid var(--cherry);border-bottom:1px solid var(--border);padding-block:26px 22px}.calendar-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.calendar-heading h2{margin:0;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:560;line-height:1.15}.calendar-controls{align-items:center;gap:8px;display:flex}.calendar-controls button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--noir);transition:color var(--motion), border-color var(--motion);justify-content:center;align-items:center;display:inline-flex}.calendar-controls button:hover{border-color:var(--cherry);color:var(--cherry)}.calendar-today-button{margin-right:8px;padding:10px 15px;font-size:11px;font-weight:600}.calendar-controls .calendar-today-button[aria-pressed=true]{border-color:var(--noir)}.calendar-arrow{flex:none;width:44px}.calendar-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:48px;display:grid}.calendar-month{min-width:0}.calendar-month table{border-collapse:collapse;table-layout:fixed;width:100%}.calendar-month th{color:var(--muted);padding-block:9px 18px;font-size:11px;font-weight:600}.calendar-month abbr{text-decoration:none}.calendar-month td{border-top:1px solid var(--border);text-align:center;height:57px;padding:5px 0}.calendar-day{width:min(44px,100%);height:44px;color:var(--noir);font-variant-numeric:tabular-nums;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:550;display:inline-flex;position:relative}.calendar-day--outside{color:#9b9b97}.calendar-day--today:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:calc(50% - 2px)}.calendar-day--event{border-color:var(--cherry);color:var(--cherry);transition:background var(--motion), color var(--motion);font-weight:750}.calendar-day--event:hover,.calendar-day--event[aria-expanded=true]{color:var(--surface);background:var(--cherry)}.calendar-day small{background:var(--noir);width:16px;height:16px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;top:-4px;right:-4px}.calendar-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 0;font-size:10px;line-height:1.5;display:flex}.calendar-legend-circle{border:2px solid var(--cherry);border-radius:50%;width:13px;height:13px}.calendar-legend-today{background:var(--noir);border-radius:50%;width:4px;height:4px;margin-left:12px}.calendar-agenda{border-left:1px solid var(--border);padding:12px 0 12px 30px}.calendar-agenda-heading{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.calendar-agenda h3{margin:0;font-size:19px;font-weight:600;line-height:1.25}.calendar-agenda-heading button{color:var(--cherry);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.calendar-agenda ul{margin:24px 0 0;padding:0;list-style:none}.calendar-agenda li{border-block-start:1px solid var(--border)}.calendar-agenda li a{padding-block:20px;display:block}.calendar-agenda time{color:var(--muted);font-size:11px;line-height:1.6;display:block}.calendar-agenda strong{margin-block:10px;font-size:20px;font-weight:600;line-height:1.2;display:block}.calendar-agenda li a>span{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.calendar-agenda li a:hover strong,.calendar-agenda li a:hover svg{color:var(--cherry)}.calendar-empty{max-width:32ch;margin-top:32px}.calendar-empty p{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.65}.calendar-empty p:first-child{color:var(--noir);font-size:17px;font-weight:550}.calendar-empty button{min-height:44px;color:var(--cherry);background:0 0;border:0;align-items:center;gap:18px;padding:10px 0;font-size:12px;font-weight:650;display:inline-flex}@media (max-width:850px){.calendar-layout{grid-template-columns:1fr;gap:24px}.calendar-agenda{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.calendar-empty{max-width:none;margin-top:18px}.calendar-agenda ul{margin-top:18px}}@media (max-width:480px){.calendar-heading{flex-direction:column;align-items:start;gap:16px}.calendar-heading h2{font-size:1.6rem}.calendar-controls{width:100%}.calendar-today-button{margin-right:auto}.calendar-month td{height:52px}.calendar-day{width:min(40px,100%);height:40px;font-size:12px}}
