.mmaf-calendar{--cal-ink:#0f172a;--cal-muted:#64748b;--cal-line:#dbe2ea;--cal-brand:#e73439;--cal-soft:#f5f7fa;max-width:1200px;margin:4rem auto;padding:0 1.25rem;color:var(--cal-ink);font-family:inherit}.mmaf-calendar *{box-sizing:border-box}.mmaf-calendar__intro{max-width:760px;margin-bottom:1.5rem}.mmaf-calendar__eyebrow,.mmaf-calendar__day-heading p,.mmaf-calendar__event-head p{margin:0 0 .35rem;color:var(--cal-brand);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mmaf-calendar__intro h2{margin:0;font-size:clamp(2rem,5vw,3.75rem);line-height:1}.mmaf-calendar__intro>p:last-child{color:var(--cal-muted);font-size:1.05rem;line-height:1.7}.mmaf-calendar__panel{overflow:hidden;border:1px solid var(--cal-line);border-radius:1.25rem;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.07)}.mmaf-calendar__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--cal-line);background:#fff}.mmaf-calendar__nav{display:flex;align-items:center;gap:.6rem}.mmaf-calendar__month{min-width:11rem;margin:0;text-align:center;font-size:1.1rem;text-transform:capitalize}.mmaf-calendar button,.mmaf-calendar select{font:inherit}.mmaf-calendar__nav-button,.mmaf-calendar__today{min-height:2.5rem;border:1px solid var(--cal-line);border-radius:.7rem;background:#fff;color:var(--cal-ink);cursor:pointer}.mmaf-calendar__nav-button{width:2.5rem}.mmaf-calendar__today{padding:0 .9rem;font-weight:700}.mmaf-calendar__timezone{display:flex;align-items:center;gap:.65rem;color:var(--cal-muted);font-size:.78rem;font-weight:700}.mmaf-calendar__timezone select{min-height:2.5rem;padding:0 2.25rem 0 .75rem;border:1px solid var(--cal-line);border-radius:.7rem;background:#fff;color:var(--cal-ink)}.mmaf-calendar :focus-visible{outline:3px solid rgba(231,52,57,.35);outline-offset:2px}.mmaf-calendar__grid-wrap{overflow-x:auto}.mmaf-calendar__grid{width:100%;min-width:650px;border-collapse:collapse;table-layout:fixed}.mmaf-calendar__grid th{height:2.8rem;border-bottom:1px solid var(--cal-line);color:var(--cal-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.mmaf-calendar__grid td{height:8rem;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);vertical-align:top}.mmaf-calendar__grid tr:last-child td{border-bottom:0}.mmaf-calendar__grid td:last-child{border-right:0}.mmaf-calendar__cell button,.mmaf-calendar__disabled{position:relative;width:100%;height:100%;padding:.65rem;border:0;background:transparent;color:inherit;text-align:left}.mmaf-calendar__cell button{cursor:pointer}.mmaf-calendar__cell button:hover{background:#fff7f7}.mmaf-calendar__number{display:inline-grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;font-size:.82rem;font-weight:800}.mmaf-calendar__cell.is-today .mmaf-calendar__number{background:var(--cal-ink);color:#fff}.mmaf-calendar__cell.is-selected{box-shadow:inset 0 0 0 3px var(--cal-brand)}.mmaf-calendar__cell.is-selected .mmaf-calendar__number{background:var(--cal-brand);color:#fff}.mmaf-calendar__cell.is-uncovered,.mmaf-calendar__cell.is-past{background:#f3f5f7;color:#9aa4b1}.mmaf-calendar__cell.is-partial{background:linear-gradient(135deg,#fff 50%,#f3f5f7 50%)}.mmaf-calendar__events{display:grid;gap:.25rem;margin-top:.45rem}.mmaf-calendar__events span,.mmaf-calendar__events em{display:block;overflow:hidden;padding:.25rem .35rem;border-left:2px solid var(--cal-brand);background:#fff5f5;color:var(--cal-ink);font-size:.68rem;font-style:normal;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mmaf-calendar__events em{border:0;background:transparent;color:var(--cal-muted)}.mmaf-calendar__mobile-count{display:none}.mmaf-calendar__blank{background:#fafbfc}.mmaf-calendar__legend{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 1.25rem .45rem;color:var(--cal-muted);font-size:.72rem}.mmaf-calendar__legend span{display:flex;align-items:center;gap:.4rem}.mmaf-calendar__legend i{width:.75rem;height:.75rem;border:1px solid var(--cal-line);border-radius:.2rem;background:#fff}.mmaf-calendar__legend i.is-today{border-radius:50%;background:var(--cal-ink)}.mmaf-calendar__legend i.is-selected{box-shadow:inset 0 0 0 2px var(--cal-brand)}.mmaf-calendar__legend i.is-uncovered{background:#eef1f4}.mmaf-calendar__refreshed{margin:0;padding:.25rem 1.25rem 1rem;color:var(--cal-muted);font-size:.72rem}.mmaf-calendar__day{margin-top:1.5rem}.mmaf-calendar__day-heading{margin-bottom:1rem}.mmaf-calendar__day-heading h3{margin:0;font-size:1.55rem;text-transform:capitalize}.mmaf-calendar__empty{padding:1.25rem;border:1px dashed var(--cal-line);border-radius:1rem;background:var(--cal-soft);color:var(--cal-muted)}.mmaf-calendar__event{margin-bottom:1rem;padding:1.25rem;border:1px solid var(--cal-line);border-radius:1rem;background:#fff}.mmaf-calendar__event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.mmaf-calendar__event-head h4{margin:0;font-size:1.25rem}.mmaf-calendar__event-head time{padding:.35rem .55rem;border-radius:.55rem;background:var(--cal-ink);color:#fff;font-size:.8rem;font-weight:800}.mmaf-calendar__meta,.mmaf-calendar__note{color:var(--cal-muted);font-size:.85rem}.mmaf-calendar__note{font-style:italic}.mmaf-calendar__bouts{margin:1rem 0;padding:0;list-style:none}.mmaf-calendar__bouts li{display:grid;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.65rem 0;border-top:1px solid #edf0f4}.mmaf-calendar__bouts li>span:last-of-type{text-align:right}.mmaf-calendar__bouts b{color:var(--cal-brand);font-size:.7rem;text-align:center;text-transform:uppercase}.mmaf-calendar__bouts small{color:var(--cal-muted)}.mmaf-calendar__bouts a,.mmaf-calendar__source{color:inherit;font-weight:700;text-decoration:none}.mmaf-calendar__bouts a:hover,.mmaf-calendar__source:hover{text-decoration:underline}.mmaf-calendar__source{color:var(--cal-brand);font-size:.82rem}.mmaf-calendar.is-loading{opacity:.65;pointer-events:none}.mmaf-calendar__noscript{color:var(--cal-muted);font-size:.8rem}
.mmaf-calendar{max-width:1080px;margin:3.25rem auto}.mmaf-calendar__intro{margin-bottom:1.25rem}.mmaf-calendar__toolbar{padding:.85rem 1rem}.mmaf-calendar__nav{gap:.45rem}.mmaf-calendar__month{display:grid;min-width:10.5rem;place-items:center;font-size:1.05rem}.mmaf-calendar__nav-button,.mmaf-calendar__today{min-height:2.35rem;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.mmaf-calendar__nav-button{display:grid;width:2.35rem;padding:0;place-items:center;border-radius:999px;font-size:1.15rem;font-weight:700;line-height:1}.mmaf-calendar__today{margin-left:.15rem;padding:0 .85rem}.mmaf-calendar__nav-button:hover{border-color:var(--cal-brand);background:#fff1f1;color:var(--cal-brand);box-shadow:0 5px 12px rgba(231,52,57,.16);transform:translateY(-1px)}.mmaf-calendar__today:hover{border-color:var(--cal-brand);background:var(--cal-brand);color:#fff;box-shadow:0 7px 16px rgba(231,52,57,.22);transform:translateY(-1px)}.mmaf-calendar__nav-button:active,.mmaf-calendar__today:active{box-shadow:none;transform:translateY(0)}.mmaf-calendar__timezone select{min-height:2.35rem;padding:0 2.15rem 0 .7rem}.mmaf-calendar__grid th{height:2.6rem}.mmaf-calendar__grid td{height:6.75rem}
@media(max-width:720px){.mmaf-calendar{margin:2.5rem auto;padding:0 .75rem}.mmaf-calendar__toolbar{align-items:stretch;flex-direction:column}.mmaf-calendar__nav{justify-content:space-between}.mmaf-calendar__month{min-width:0;font-size:1rem}.mmaf-calendar__timezone{justify-content:space-between}.mmaf-calendar__grid{min-width:0}.mmaf-calendar__grid th{font-size:.58rem}.mmaf-calendar__grid td{height:4.25rem}.mmaf-calendar__cell button,.mmaf-calendar__disabled{padding:.3rem}.mmaf-calendar__number{width:1.45rem;height:1.45rem;font-size:.72rem}.mmaf-calendar__events{display:none}.mmaf-calendar__mobile-count{position:absolute;right:.35rem;bottom:.35rem;display:grid;min-width:1.25rem;height:1.25rem;padding:0 .2rem;place-items:center;border-radius:999px;background:var(--cal-brand);color:#fff;font-size:.64rem;font-weight:800}.mmaf-calendar__legend{gap:.55rem}.mmaf-calendar__event-head{flex-direction:column}.mmaf-calendar__bouts li{grid-template-columns:1fr 1.5rem 1fr}.mmaf-calendar__bouts small{grid-column:1/-1;text-align:center}}
@media(prefers-reduced-motion:reduce){.mmaf-calendar *{scroll-behavior:auto!important}}
.mmaf-calendar__mobile-count:empty{display:none!important}
