/* Fluent Forms keeps its editor and behavior; these rules match the site's visual language. */
.booking-dialog{width:660px;padding:36px 40px;scrollbar-gutter:stable;overscroll-behavior:contain}
.booking-toolbar{position:sticky;top:-22px;height:44px;margin:-22px -18px -22px 0;z-index:6;pointer-events:none}
.booking-toolbar .dialog-close{position:static;display:block;margin-left:auto;width:44px;height:44px;border-radius:50%;background:var(--paper);pointer-events:auto}
.booking-toolbar .dialog-close:focus-visible{outline-offset:2px}
.booking-dialog .ff-el-group{margin-bottom:17px}
.booking-dialog .ff-el-input--label{margin-bottom:7px}
.booking-dialog .ff-el-input--label label{margin:0;font-size:12px;font-weight:600;line-height:1.5}
.booking-dialog .ff-t-container{gap:18px}
.booking-dialog .ff-t-container .ff-t-cell{padding:0;min-width:0}
.booking-dialog .fluentform .ff-el-form-control{width:100%;min-height:44px;border:1px solid #b8bdaf;border-radius:2px;background:#faf8f1;color:var(--ink);padding:11px 12px;font:400 14px/1.45 var(--sans);box-shadow:none}
.booking-dialog .fluentform .ff-el-form-control:focus{border-color:var(--forest);outline:2px solid var(--forest);outline-offset:2px;box-shadow:none}
.booking-dialog .fluentform select.ff-el-form-control{appearance:none;height:46px;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23344b3d' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
.booking-dialog .fluentform textarea.ff-el-form-control{resize:vertical;min-height:85px}
.booking-dialog .fluentform .ff-btn-submit{width:100%;border-radius:0;background:var(--forest);border:1px solid var(--forest);color:var(--paper);padding:16px 24px;font:600 13px/1.5 var(--sans);min-height:50px}
.booking-dialog .fluentform .ff-btn-submit:hover{background:#49604d}
.booking-dialog .fluentform .ff-btn-submit:disabled{cursor:wait;opacity:.7}
.booking-dialog .form-note{font-size:11px;line-height:1.65;margin-bottom:12px}
.booking-dialog .form-note a{text-decoration:underline;text-underline-offset:3px}
.booking-dialog .fluentform .error,.booking-dialog .fluentform .text-danger{font-size:12px;color:#9c3228}
.booking-dialog .fluentform .ff-el-is-required.asterisk-right label:after{color:#9c3228}
.booking-dialog .ff-message-success{border:1px solid #a9b39e;box-shadow:none;border-radius:0;background:#e5eadc;padding:24px;color:var(--forest);font-size:13px}
.booking-dialog .ff-message-success h3{font-size:34px;margin-bottom:16px}
.booking-dialog .ff-message-success p:last-child{margin-bottom:0}
.booking-dialog .dialog-contact{font-size:12px!important;margin-top:20px;padding-top:16px}
.booking-dialog .flatpickr-wrapper{display:block;width:100%}
.booking-dialog .flatpickr-calendar{max-width:calc(100vw - 86px);color:var(--ink)}
.booking-dialog .ff-t-column-2 .flatpickr-calendar{left:auto;right:0}
.booking-dialog .flatpickr-days,.booking-dialog .dayContainer{width:100%;min-width:0;max-width:100%}
.booking-dialog .flatpickr-calendar .flatpickr-day{flex-basis:14.285%;max-width:14.285%;height:36px;line-height:36px;font-size:13px}
.booking-dialog .flatpickr-calendar .flatpickr-current-month{font-size:14px}
.booking-dialog .flatpickr-calendar input.cur-year,.booking-dialog .flatpickr-calendar select.flatpickr-monthDropdown-months{border:0;min-height:0;height:auto;background:transparent;padding:0 2px;font-size:14px;width:auto;color:var(--ink)}
@media(max-width:600px){
 .booking-dialog{padding:30px 22px 24px;width:100%;max-width:calc(100% - 24px);max-height:94svh}
 .booking-dialog .ff-t-container{display:block}
 .booking-dialog .ff-el-group{margin-bottom:15px}
 .booking-dialog .fluentform .ff-el-form-control{font-size:16px}
 .booking-dialog .ff-t-column-2 .flatpickr-calendar{right:auto;left:0}
 .booking-dialog h2{font-size:35px}
}
