/* Shared availability widget (embeddable) */
.avail{--forest:#1f3a2e;--line:#e4d9c7;--muted:#6a6158;--ember:#b5652b;--ember-2:#9a521f;--serif:Georgia,serif}
[data-availability] [hidden]{display:none!important}
.avail{max-width:100%;font-size:.9rem}.avail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.avail-title{font-weight:600;color:var(--forest)}
.avail-nav{background:#fff;border:1px solid var(--line);border-radius:8px;width:36px;height:32px;font-size:1.2rem;cursor:pointer;color:var(--forest)}
.avail-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.avail-mname{font-family:var(--serif);font-weight:600;color:var(--forest);margin-bottom:6px}
.avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.avail-grid .dow{font-size:.72rem;text-align:center;color:var(--muted);font-weight:600}
.avail .day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;border:1px solid transparent;font:inherit;font-size:.86rem;padding:0;background:#eef5ef;color:var(--forest)}
.avail button.day{cursor:pointer}.avail button.day:hover:not(:disabled){border-color:var(--forest)}.avail .day.selected{background:var(--ember);color:#fff;border-color:var(--ember-2)}
.avail .s-past{background:transparent;color:#c9bfb0}.avail .s-booked{background:#e7d9d4;color:#8b6a60;text-decoration:line-through}.avail .s-blocked{background:#ece8e2;color:#a69c90;text-decoration:line-through}
.avail .s-held{background:#fbecd0;color:#8a5a12}.avail button.day:disabled{cursor:not-allowed}
.avail-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:.8rem;color:var(--muted)}.avail-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.avail-legend .s-available{background:#eef5ef;border:1px solid #cfe0d4}.avail-legend .s-held{background:#fbecd0}.avail-legend .s-booked{background:#e7d9d4}.avail-legend .s-blocked{background:#ece8e2}
.q-cal{max-width:440px}.avail .day{font-size:.82rem}.avail-wrap .avail-months{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.avail-wrap{max-width:720px}
