.calendar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:22px 0}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-head button{background:var(--sand);border:0;border-radius:8px;padding:8px 16px}.week,.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week span{text-align:center;font-size:12px;padding:12px 0}.day{background:#fff;border:1px solid #d4dce0;border-radius:8px;min-height:54px;color:#172d3d;font-weight:650}.day.paid{background:#2476c3;color:white;border-color:#2476c3}.day.blocked,.day.hold{background:#e5e5e5;color:#555}.day.selected{background:var(--gold-light);border-color:var(--gold)}.day.edge{background:var(--navy);color:#fff}.day:disabled{cursor:default;opacity:.65}.day:focus-visible{outline:3px solid #bc9258;outline-offset:2px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;margin-top:15px}.legend i{display:inline-block;width:13px;height:13px;border:1px solid #aaa;vertical-align:middle;background:white}.legend .blue{background:#2476c3}.legend .grey{background:#e5e5e5}.book-notice{padding:14px;background:var(--sand);border-radius:10px;margin:18px 0}.book-form label{display:block;margin-top:14px;font-weight:600}.book-form input,.book-form select,.book-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.book-form input[type=checkbox]{width:auto}.book-form button{margin-top:20px}.booking-layout{align-items:start}#message{white-space:pre-line}#terms{white-space:pre-wrap;max-height:220px;overflow:auto;font-size:14px}@media(max-width:500px){.calendar{padding:10px}.day{min-height:42px}.week,.date-grid{gap:3px}}
