/* Booking form. Uses the tokens of site.css; changes nothing outside the dialog. */
.book{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;padding:clamp(22px,4vw,36px);border:var(--line);border-radius:var(--r);background:var(--cream);color:var(--ink);box-shadow:var(--drop)}
.book::backdrop{background:rgba(26,18,20,.62)}
.book h2{font:400 clamp(26px,3.4vw,34px)/1.12 var(--sect);padding-right:52px}
.book .hand{margin:10px 0 18px}
.book label{display:block;font:600 15px/1.3 var(--body);margin:14px 0 6px}
.book input,.book textarea{display:block;width:100%;border:var(--line);border-radius:14px;background:var(--white);color:var(--ink);font:400 17px/1.4 var(--body);padding:12px 14px}
.book textarea{resize:vertical;min-height:92px}
.book input:focus-visible,.book textarea:focus-visible{border-radius:14px;outline-offset:2px}
.book [aria-invalid="true"]{border-color:var(--hot);box-shadow:0 0 0 2px var(--hot)}
.book .btn{margin-top:22px;cursor:pointer}
.book .btn[aria-disabled="true"]{opacity:.6;cursor:progress}
.book-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:var(--line);background:var(--white);display:grid;place-items:center;cursor:pointer;padding:0}
.book-x svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2.4;stroke-linecap:round}
.book-err{margin-top:16px;font-weight:600;border:var(--line);border-radius:14px;background:var(--bub);padding:10px 14px}
.book-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.book-done:focus{outline:none}
