.calendar{position:relative}.calendar__wrap{align-items:flex-start;display:flex;gap:2rem;margin-top:1rem}.calendar__bar,.calendar__title{align-items:center;display:flex;gap:.5rem}.calendar__title{font-weight:700;justify-content:center;min-width:8.75rem}.calendar__nav{-webkit-appearance:none;appearance:none;background:none;background:#fff;border:.0625rem solid #9e9e9e;border-radius:.5rem;color:inherit;cursor:pointer;display:grid;font:inherit;height:2.25rem;padding:0;place-items:center;width:2.25rem}.calendar__nav:hover{background-color:hsla(0,0%,7%,.1);transition:background-color .1s}.calendar__nav-text{color:#202020;font-size:.9rem;font-weight:500}.calendar__nav:focus-visible{outline:.125rem solid #d32f2f;outline-offset:.125rem}.calendar__grid{flex-shrink:0;gap:.375rem;position:relative}.calendar__dow,.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar__dow{gap:.5rem;grid-area:1/1/2/8;margin-bottom:.25rem}.calendar__dow span{color:#202020;font-size:.875rem;text-align:center;text-transform:uppercase}.calendar__cell{aspect-ratio:1/1;background:#fff;border:.0625rem solid #9e9e9e;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:.5rem;position:relative}.calendar__cell:hover{background-color:hsla(0,0%,7%,.1);transition:background-color .1s}.calendar__cell--muted{cursor:default;opacity:.45}.calendar__cell--muted:hover{background-color:#fff;transition:background-color .1s}.calendar__cell[aria-selected=true]{background-color:#d32f2f;border-color:#b71c1c;color:#fff}.calendar__cell.calendar__today{border-color:#b71c1c;color:#121212}.calendar__daynum{font-weight:700}.calendar__badge{font-size:.625rem;font-weight:700;position:absolute;right:.25rem;top:.25rem}.calendar__matches{flex-grow:1}.calendar__matches-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar__matches-list{display:grid;gap:1.5rem 1rem;grid-template-columns:repeat(auto-fill,minmax(25rem,1fr))}@media (max-width:48rem){.calendar__wrap{align-items:stretch;flex-direction:column}.calendar__bar{justify-content:center}.calendar__cell{aspect-ratio:2/1}.calendar__matches-list{grid-template-columns:1fr}}