.cal-page{--fay:#1D4ED8;--fay-ink:#1E3A8A;--fay-bg:#DBEAFE;--cow:#A61B1B;--cow-ink:#7A1414;--cow-bg:#FDE4E1}
.cal-switch{margin:4px 0 0;font-weight:600}
.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:12px 0;font-size:.9rem}
.cal-legend .cal-tag,.cal-legend .cal-key{margin-left:6px}
.cal-legend .cal-tag:first-child{margin-left:0}
.cal-tag{display:inline-block;font:700 .72rem/1.3 var(--sans);letter-spacing:.02em;color:#fff;border-radius:4px;padding:1px 6px;margin-right:4px;white-space:nowrap}
.cal-tag-fayette{background:var(--fay)}
.cal-tag-coweta{background:var(--cow)}
.cal-key{display:inline-block;font:700 .72rem/1.3 var(--sans);border-radius:4px;padding:1px 6px;color:var(--ink);background:#fff;border:1px solid #8a948e}
.cal-key-closure{background:#ECEDE8;border-style:solid}
.cal-key-meeting{border:1px dashed #55605a}
.cal-key-community{border-color:var(--line)}
.cal-filters{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 14px 10px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.92rem}
.cal-filters legend{font-weight:700;padding:0 4px;color:var(--green)}
.cal-f{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:32px}
.cal-f input{width:18px;height:18px;accent-color:var(--green)}
.cal-f-fayette input{accent-color:var(--fay)}.cal-f-coweta input{accent-color:var(--cow)}
.cal{width:min(1160px,calc(100vw - 24px));margin-left:calc(50% - min(580px,50vw - 12px))}
.cal-month{margin:0 0 28px}
.cal-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:10px 0 8px}
.cal-head h2{margin:0;text-align:center;border:0}
.cal-nav-btn{font-weight:700;white-space:nowrap;text-decoration:none;padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:#fff;justify-self:start}
.cal-head .cal-nav-btn:last-child{justify-self:end}
.cal-nav-btn.is-off{visibility:hidden}
.cal-wk,.cal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-wk li{font:700 .8rem/1.2 var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 6px}
.cal-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff}
.cal-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 5px 6px;min-height:118px;min-width:0}
.cal-day.is-pad{background:#f6f1e7}
.cal-day.is-past{background:#faf7f1}
.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--peach)}
.cal-date{margin:0 0 3px;font:700 .85rem/1.2 var(--sans);color:var(--ink);display:flex;gap:6px;align-items:center}
.cal-dfull{display:none}
.cal-today-tag{font-size:.7rem;background:var(--peach-soft);color:#7a3a12;border-radius:4px;padding:0 5px}
.cal-items{list-style:none;margin:0;padding:0}
.cal-it{font-size:.76rem;line-height:1.3;margin:0 0 3px;padding:2px 4px;border-radius:4px;overflow-wrap:anywhere}
.cal-it a{color:inherit}
.cal-when{color:var(--muted);font-variant-numeric:tabular-nums}
.cal-town{color:var(--muted)}
.cal-kind{display:inline-block;font:700 .66rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.03em;margin-right:4px}
.cal-fayette{background:var(--fay-bg);color:var(--fay-ink);border-left:4px solid var(--fay)}
.cal-coweta{background:var(--cow-bg);color:var(--cow-ink);border-left:4px solid var(--cow)}
.cal-fayette .cal-when,.cal-coweta .cal-when{color:inherit}
.cal-closure{background:#ECEDE8;color:var(--ink);border-left:4px solid #55605a}
.cal-meeting{border:1px dashed #8a948e}
.cal-community,.cal-program{padding-left:2px}
.cal-program{color:#3d4641}
.cal-more summary{font-size:.75rem;font-weight:700;color:var(--green);cursor:pointer;padding:2px 2px}
.cal-none{font-size:.72rem;color:var(--muted);margin:0}
.cal[data-hide~=fayette] [data-cat=fayette],.cal[data-hide~=coweta] [data-cat=coweta],
.cal[data-hide~=community] [data-cat=community],.cal[data-hide~=program] [data-cat=program],
.cal[data-hide~=meeting] [data-cat=meeting],.cal[data-hide~=closure] [data-cat=closure]{display:none}
.cal.js-paged .cal-month{display:none}
.cal.js-paged .cal-month.is-shown{display:block}
@media (max-width:720px){
  .cal{width:auto;margin-left:0}
  .cal-wk{display:none}
  .cal-grid{display:block;border:0;background:none}
  .cal-day{border:1px solid var(--line);border-radius:10px;background:#fff;margin:0 0 8px;min-height:0;padding:8px 10px}
  .cal-day.is-pad,.cal-day.is-empty{display:none}
  .cal-day.is-past{display:none}
  .cal-dnum{display:none}.cal-dfull{display:inline}
  .cal-date{font-size:.98rem;color:var(--green);font-family:var(--serif)}
  .cal-it{font-size:.9rem;padding:4px 6px}
  .cal-tag{font-size:.75rem}
  .cal-head h2{font-size:1.15rem}
  .cal-nav-btn{font-size:.85rem;padding:4px 8px}
}
