.fh-calendar{padding:64px 32px;background:#f8fafc;color:#17334a}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.calendar-heading h2{font-size:42px;margin:8px 0}.calendar-heading p{color:#526578}.calendar-eyebrow{font-size:12px;letter-spacing:2px;color:#17649a;font-weight:700}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.calendar-toolbar h3{font-size:26px;margin:0}.calendar-toolbar>div{display:flex;gap:8px}.fh-calendar button{font:inherit;cursor:pointer}.calendar-toolbar button{border:1px solid #bcccdc;background:white;color:#17334a;border-radius:50%;min-width:44px;height:44px;font-size:21px}.calendar-toolbar button:first-child{border-radius:12px;padding:0 20px;font-size:14px;font-weight:700}.calendar-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.calendar-filters button{border:1px solid #c4d0dc;border-radius:24px;padding:9px 14px;background:white;color:#25445b;font-size:13px}.calendar-filters button[aria-pressed=true]{background:#153f60;color:white;border-color:#153f60}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:12px 0;color:#526578;font-weight:700;font-size:13px;text-align:center}.calendar-grid{border:1px solid #ccd7e1;border-radius:16px;overflow:hidden;background:#ccd7e1;gap:1px}.calendar-day{background:white;min-height:146px;padding:8px;min-width:0}.calendar-day.outside{background:#f0f4f7}.calendar-day time{display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-weight:700;font-size:14px;margin-bottom:6px;color:#233e54}.calendar-day.outside time{color:#788996}.calendar-day time[aria-current]{background:#146bae;border-radius:50%;color:white}.calendar-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--cal-accent,#2369ad);border-radius:6px;padding:7px;margin:5px 0;background:var(--cal-bg,#e8f1fc);color:var(--cal-ink,#174773);overflow-wrap:anywhere}.calendar-event span{display:block;font-size:10px;line-height:1.5}.calendar-event strong{display:block;font-size:12px;line-height:1.4}.fh-calendar [data-kind=vendor],.calendar-detail [data-kind=vendor]{--cal-accent:#7740a5;--cal-bg:#f0e9f8;--cal-ink:#603185}.fh-calendar [data-kind=food],.calendar-detail [data-kind=food]{--cal-accent:#267957;--cal-bg:#e8f5ed;--cal-ink:#215e43}.fh-calendar [data-kind=fundraiser],.calendar-detail [data-kind=fundraiser]{--cal-accent:#a23a65;--cal-bg:#faeaf0;--cal-ink:#87284f}.fh-calendar [data-kind=special],.calendar-detail [data-kind=special]{--cal-accent:#966019;--cal-bg:#fff3dd;--cal-ink:#765012}.calendar-event:hover{filter:brightness(.96)}.fh-calendar button:focus-visible{outline:3px solid #147cbb;outline-offset:3px}.calendar-hint{font-size:12px;color:#526578;margin-top:20px}.calendar-agenda{display:none}.calendar-empty{padding:28px;background:white;border-radius:12px;color:#526578}.calendar-detail{padding:0;border:0;border-radius:22px;max-width:600px;width:calc(100% - 32px);max-height:90vh;overflow:auto;color:#17334a;background:white;box-shadow:0 20px 80px #071d3d55}.calendar-detail::backdrop{background:#071d3dab}.calendar-detail>img{width:100%;height:230px;object-fit:cover}.calendar-close{position:absolute;right:14px;top:14px;border:0;border-radius:50%;width:44px;height:44px;background:white;color:#17334a;font-size:26px;cursor:pointer}.calendar-detail-body{padding:28px}.calendar-detail-body h2{font-size:28px;margin:16px 0}.calendar-detail-body p{line-height:1.7}.calendar-kind{display:inline-block;background:var(--cal-bg,#e8f1fc);color:var(--cal-ink,#174773);font-size:12px;font-weight:700;padding:7px 12px;border-radius:16px}.calendar-disclaimer{font-size:12px;background:#f1f5f8;padding:14px;border-radius:10px}
@media(max-width:760px){.fh-calendar{padding:40px 18px}.calendar-heading{display:block}.calendar-heading h2{font-size:34px}.calendar-heading .sample-label{display:inline-block;margin-top:8px}.calendar-toolbar h3{font-size:21px}.calendar-toolbar{gap:8px}.calendar-toolbar button:first-child{padding:0 12px}.calendar-desktop{display:none}.calendar-agenda{display:block}.calendar-agenda-day{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;margin:0 0 24px}.calendar-date-chip{background:#e4edf5;border-radius:12px;text-align:center;padding:9px 2px;height:fit-content}.calendar-date-chip strong{display:block;font-size:23px}.calendar-date-chip span{font-size:12px}.calendar-agenda h3{font-size:13px;margin:4px 0 10px;color:#526578}.calendar-agenda .calendar-event{padding:14px;margin:8px 0;border-radius:10px}.calendar-agenda .calendar-event strong{font-size:16px}.calendar-agenda .calendar-event span{font-size:12px}.calendar-filters{gap:6px}.calendar-filters button{padding:8px 11px}.calendar-detail-body{padding:22px}.calendar-detail>img{height:180px}}
.calendar-color-key{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-14px 0 24px}.calendar-color-key span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #cbd8e2;border-radius:999px;background:#fff;color:#25445b;font-size:12px;font-weight:800}.calendar-color-key span:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cal-accent,#2369ad);box-shadow:0 0 0 3px var(--cal-bg,#e8f1fc)}.calendar-filters button[data-kind=event],.calendar-filters button[data-kind=vendor],.calendar-filters button[data-kind=food]{border-color:#9bbada;background:#e8f1fc;color:#174773}.calendar-filters button[data-kind=special]{border-color:#dfba7c;background:#fff3dd;color:#765012}.calendar-filters button[data-kind=fundraiser]{border-color:#dba1b8;background:#faeaf0;color:#87284f}.calendar-filters button[aria-pressed=true]{background:var(--cal-ink,#153f60);color:white;border-color:var(--cal-accent,#153f60)}
