.misa-calendar{position:absolute;z-index:1000;width:min(344px,calc(100vw - 28px));padding:17px;background:#f7fcf9;border:1px solid #b1d7c3;box-shadow:0 25px 60px rgba(17,37,27,.2);border-radius:20px;color:#1e3027;font-family:inherit}
.misa-calendar[hidden],.misa-booking-modal[hidden]{display:none!important}
.misa-cal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.misa-cal-heading strong{font-size:17px;font-weight:650}
.misa-cal-heading button{background:#d6ece1;border:0;border-radius:9px;color:#1f3429;width:32px;height:32px;font-size:21px;cursor:pointer}
.misa-cal-weekdays,.misa-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.misa-cal-weekdays{color:#648c77;font-size:11px;margin-bottom:7px}
.misa-cal-days button{border:0;background:transparent;border-radius:9px;height:39px;font-size:13px;color:#22352b;cursor:pointer}
.misa-cal-days button:hover:not(:disabled){background:#c4e4d3}
.misa-cal-days button:disabled{opacity:.27;cursor:not-allowed;text-decoration:line-through}
.misa-cal-days button.selected{background:#203128!important;color:#f7fcf9}
.misa-cal-days button.in-range{background:#d5ebdf}
.misa-cal-note{margin-top:13px;color:#607d6e;font-size:12px;line-height:1.4}
.misa-booking-modal{position:fixed;inset:0;z-index:1200;background:rgba(14,22,18,.68);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}
.misa-booking-card{background:#f7fcf9;color:#203128;border-radius:24px;padding:clamp(24px,4vw,38px);width:min(460px,100%);box-shadow:0 30px 90px rgba(0,0,0,.23);position:relative}
.misa-booking-card h2{font-size:31px;letter-spacing:-.045em;margin:0 0 11px}.misa-booking-card p{color:#506b5d;line-height:1.5;font-size:14px;margin:0 0 20px}
.misa-booking-card label{display:block;font-size:13px;font-weight:650;margin:12px 0;color:#395948}
.misa-booking-card input,.misa-booking-card textarea{display:block;width:100%;font:inherit;font-size:15px;border:1px solid #b7d8c7;background:#fff;border-radius:10px;padding:12px 13px;margin-top:6px;color:#203128}
.misa-booking-card textarea{resize:vertical;min-height:77px}
.misa-booking-card button[type=submit]{width:100%;border:0;background:#203128;color:#f7fcf9;padding:15px;border-radius:12px;font:inherit;font-weight:650;margin-top:12px;cursor:pointer}
.misa-booking-card button[type=submit]:disabled{opacity:.6;cursor:wait}
.misa-booking-close{position:absolute;top:17px;right:17px;border:0;background:#d7ece1;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:20px}
.misa-booking-msg{font-size:13px;min-height:18px;color:#3f8862;margin-top:9px}
.misa-availability-msg{display:none;margin:12px auto 0;max-width:750px;padding:10px 15px;color:#35674d;font-size:13px;text-align:center}
.misa-availability-msg.show{display:block}
@media(max-width:560px){.misa-calendar{padding:13px}.misa-cal-days button{height:40px;font-size:14px}.misa-booking-card{max-height:calc(100svh - 36px);overflow:auto}}
