.booking-dialog{width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #c9d2c5;border-radius:16px;background:#f5f4ee;color:#153f37;box-shadow:0 24px 90px #061f2855;font-family:'DM Sans',Arial,sans-serif;overflow:auto}.booking-dialog::backdrop{background:#082d27b8;backdrop-filter:blur(3px)}.booking-dialog [hidden]{display:none!important}.booking-shell{position:relative;padding:34px}.booking-close{position:absolute;right:16px;top:13px;width:38px;height:38px;border:0;border-radius:50%;background:#e4e9dc;color:#153f37;font-size:27px}.booking-eyebrow{font-size:10px!important;font-weight:700;letter-spacing:2px;margin-right:45px!important}.booking-dialog h2{font:700 31px/1.2 'Manrope',Arial,sans-serif;letter-spacing:-1px;margin:14px 30px 15px 0}.booking-dialog h3{font:700 22px/1.3 'Manrope',Arial,sans-serif;margin:18px 0}.booking-dialog p{font-size:13px;line-height:1.7;margin:12px 0 16px}.booking-dialog .booking-hint{font-size:11px;line-height:1.6;margin:7px 0 14px;color:#50695f}.booking-dialog a{text-decoration:underline;text-underline-offset:3px}.booking-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.booking-dialog label{display:block;font-size:12px;font-weight:600;margin:15px 0 7px}.booking-dialog input:not([type=checkbox]),.booking-dialog textarea{width:100%;border:1px solid #aebdb0;border-radius:6px;padding:11px;background:#fffef9;color:#153f37;font:14px/1.5 'DM Sans',Arial,sans-serif}.booking-dialog textarea{resize:vertical;min-height:90px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-grid label{margin-top:5px}.booking-dialog button{font-family:inherit;cursor:pointer}.booking-primary,.booking-secondary{padding:13px 19px;border-radius:6px;font-size:13px;font-weight:700;line-height:1.4}.booking-primary{color:#153f37;background:#c9e57c;border:1px solid #c9e57c}.booking-secondary{color:#153f37;background:transparent;border:1px solid #aebdb0}.booking-dialog button:disabled{cursor:not-allowed;opacity:.5}.booking-dialog :focus-visible{outline:3px solid #537d38;outline-offset:3px}.booking-status:empty{display:none}.booking-dialog .booking-status{padding:12px 14px;border:1px solid #bfcbb3;border-radius:6px;background:#e5eadc;font-size:12px}.booking-status[data-tone=error]{color:#6f3423;background:#fbede3;border-color:#d2a28a}.booking-status[data-tone=success]{background:#e3edcc}#booking-review-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#fffef9;border:1px solid #c3cdb8;border-radius:8px;padding:18px;font:13px/1.75 'DM Sans',Arial,sans-serif}.booking-dialog .booking-consent{display:flex;align-items:flex-start;gap:11px;border-radius:6px;padding:14px;background:#e8eddd;font-size:12px;font-weight:400;line-height:1.7}.booking-consent input{margin:4px 0 0;width:17px;height:17px;flex:none;accent-color:#153f37}.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.booking-reference{font-weight:700}.booking-dialog .booking-fallback{border-top:1px solid #cbd3c2;padding-top:18px;margin-top:25px;font-size:11px;color:#50695f;overflow-wrap:anywhere}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:540px){.booking-shell{padding:26px 20px}.booking-dialog{max-height:calc(100dvh - 18px)}.booking-grid{grid-template-columns:1fr;gap:3px}.booking-actions{flex-direction:column-reverse}.booking-actions button{width:100%}.booking-dialog h2{font-size:28px}}

.booking-open{cursor:pointer;font:700 13px Arial,sans-serif;margin:12px 0}.footer-booking{margin:16px 0;font-size:12px}.footer-booking a{color:inherit}.booking-dialog input,.booking-dialog textarea{box-sizing:border-box}
