.booking-dialog{width:min(900px,calc(100vw - 32px));max-width:none;max-height:min(92vh,1000px);padding:0;border:1px solid #eadfc7;border-radius:26px;background:#fffdf8;color:#352417;box-shadow:0 28px 100px #150b08a8;overflow:visible}
.booking-dialog::backdrop{background:#120d0bcc;backdrop-filter:blur(7px)}
.booking-dialog-shell{position:relative;max-height:min(92vh,1000px);overflow:auto;padding:clamp(24px,5vw,58px)}
.booking-dialog-close{position:sticky;top:0;float:right;display:grid;width:46px;height:46px;margin:-18px -18px 0 0;place-items:center;border:1px solid #ead291;border-radius:50%;background:#fff9e8;color:#916b18;font-size:30px;line-height:1;cursor:pointer}
.booking-dialog-heading{max-width:760px;margin:0 auto 34px;text-align:center}
.booking-dialog-heading .eyebrow{margin:10px 0;color:#9c711c;font:700 14px var(--serif);letter-spacing:.04em;text-transform:none}
.booking-dialog-heading h2{margin:10px 0 12px;color:#392312;font:600 clamp(30px,5vw,50px)/1.1 var(--serif)}
.booking-dialog-heading>p:last-child{margin:0;color:#776958;font-size:15px}
.booking-form{display:grid;gap:20px}
.booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}
.booking-form-grid>label{display:grid;align-content:start;gap:8px;color:#303949;font-size:14px;font-weight:600;letter-spacing:.02em}
.booking-form-grid input,.booking-form-grid select,.booking-form-grid textarea{width:100%;min-height:52px;padding:11px 14px;border:1px solid #e6d68f;border-radius:9px;background:#fff;color:#493a2b;font:400 16px/1.4 var(--sans);box-shadow:0 2px 5px #755a120a}
.booking-form-grid textarea{min-height:86px;resize:vertical}
.booking-form-grid input:focus,.booking-form-grid select:focus,.booking-form-grid textarea:focus{border-color:#b98b25;outline:3px solid #d9b84d30}
.booking-form-grid input:disabled,.booking-form-grid select:disabled,.booking-form-grid textarea:disabled{background:#f6f1e7;color:#7c7060}
.booking-time-field,.booking-note-field{grid-column:1/-1}
.booking-status{margin:0;padding:12px 14px;border-radius:9px;background:#f8f1df;color:#70551a;font-size:13px}
.booking-status.is-success{background:#e8f5eb;color:#2c6840}
.booking-consent{display:flex;align-items:flex-start;gap:9px;color:#665b4d;font-size:12px;line-height:1.55}
.booking-consent input{width:17px;height:17px;margin:2px 0 0;accent-color:#ad8122;flex:0 0 auto}
.booking-consent a{color:#866116;text-decoration:underline}
.booking-submit{justify-self:start;min-height:52px;padding-inline:26px}
.booking-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}
.booking-unavailable{text-align:center;padding:18px;color:#675b4d}
.booking-unavailable .button{margin-top:10px}
@media(max-width:600px){.booking-dialog{width:calc(100vw - 18px);max-height:94vh;border-radius:18px}.booking-dialog-shell{max-height:94vh;padding:23px 18px}.booking-dialog-close{width:40px;height:40px;margin:-10px -8px 0 0}.booking-dialog-heading{margin-bottom:24px}.booking-dialog-heading h2{font-size:32px}.booking-form-grid{grid-template-columns:1fr;gap:15px}.booking-time-field,.booking-note-field{grid-column:1}.booking-submit{width:100%}}
