.acm-public-wrap{margin:24px 0}
.acm-public-title{margin:0 0 12px}
.acm-public-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.acm-public-wrap .acm-month{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}
.acm-public-wrap .acm-month-header{display:flex;justify-content:center;margin-bottom:10px}
.acm-public-wrap .acm-month-header .button{display:none}
.acm-public-wrap .acm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.acm-public-wrap .acm-weekday{text-align:center;font-size:12px;font-weight:700;color:#6b7280;padding:6px 0}
.acm-public-wrap .acm-day{min-height:42px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;display:flex;align-items:flex-start;justify-content:flex-end;padding:6px;font-size:13px;font-weight:700;cursor:default}
.acm-public-wrap .acm-day.acm-empty{border:none;background:transparent}
.acm-public-wrap .acm-status-available{background:#5b8f3a;color:#fff}
.acm-public-wrap .acm-status-booked{background:#d9534f;color:#fff}
.acm-public-wrap .acm-status-pending{background:#f0ad4e;color:#fff}
.acm-public-wrap .acm-status-arrival_departure{background:#2d6cdf;color:#fff}
.acm-public-wrap .acm-status-unavailable{background:#add8e6;color:#21425a}
.acm-public-wrap .acm-legend{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 16px}
.acm-public-wrap .acm-legend div{display:flex;align-items:center;gap:8px;font-size:14px}
.acm-public-wrap .acm-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.08)}
