/* 03-modals-booking-shell.css - Modal base/state rules, booking modal shell, status/result screens and post-success shell.
   Generated from styles/bundle.min.css. Keep numeric load order. */
.modal .contact-form__submit-button,.modal .contact-form__submit-button:hover{box-shadow:none!important}
#bookingModal #cityCustomSelect .city-custom-select__search-input{pointer-events:none}
#bookingModal #cityCustomSelect.city-search-active .city-custom-select__search-input,#bookingModal #cityCustomSelect.open .city-custom-select__search-input{pointer-events:auto}
@media (hover:none) and (pointer:coarse){#bookingModal #cityCustomSelect.city-search-active .city-custom-select__search-input,#bookingModal #cityCustomSelect.open .city-custom-select__search-input{opacity:1;color:currentColor;caret-color:currentColor}#bookingModal #cityCustomSelect.city-search-active .custom-select__trigger span:after{display:none}}
.slots-nav{border:0}
html.modal-is-open body :not(.background):not(.background *):not(.modal):not(.modal *):not(.camera-capture-modal):not(.camera-capture-modal *):not(.form-calendar-overlay):not(.form-calendar-overlay *){animation-play-state:paused!important}
html.modal-is-open .spark{animation:none!important;opacity:0!important}
body.modal-is-open,html.modal-is-open{overscroll-behavior:none}
body.modal-is-open,html.modal-is-open body{min-height:auto!important;height:auto!important}
body.modal-is-open #bookingModal.modal--active~body,html.modal-is-open #bookingModal.modal--active~body{min-height:auto!important;height:auto!important}
html.modal-is-open .background{filter:blur(12px);transform:scale(1.03)}
html.modal-is-open body>*{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.modal-is-open body>#floatingCustomSelectLayer,html.modal-is-open body>#globalSpinner,html.modal-is-open body>.background,html.modal-is-open body>.camera-capture-modal.camera-capture-modal--active,html.modal-is-open body>.form-calendar-overlay.form-calendar-overlay--active,html.modal-is-open body>.modal.modal--active,html.modal-is-open body>.month-switch-overlay.month-switch-overlay--active{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
html.modal-is-open .camera-capture-modal,html.modal-is-open .form-calendar-overlay,html.modal-is-open .modal{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.modal-is-open #bookingModal,html.modal-is-open #cameraCaptureModal,html.modal-is-open #formCalendarOverlay,html.modal-is-open #intakeNoticeModal,html.modal-is-open #privacyModal,html.modal-is-open #termsModal{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.post-success-screen-active,html.post-success-screen-active{overflow:hidden;overscroll-behavior:none;scrollbar-gutter:auto!important;padding-right:0!important}
html.post-success-screen-active body>*{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.post-success-screen-active body>#postSuccessScreen,html.post-success-screen-active body>.background{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
html.post-success-screen-active #hdScrollThumb{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.post-success-screen-active ::-webkit-scrollbar,html.post-success-screen-active ::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
body.post-success-screen-active,html.post-success-screen-active{scrollbar-width:none!important;scrollbar-color:transparent transparent!important}
@media (max-width:640px){body.post-success-screen-active,html.post-success-screen-active{position:fixed!important;left:0!important;top:0!important;width:100vw!important;height:100vh!important;overflow:hidden!important;padding-right:0!important;margin-right:0!important;scrollbar-gutter:auto!important}body.post-success-screen-active #hdScrollThumb,html.post-success-screen-active #hdScrollThumb{display:none!important;width:0!important;height:0!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.post-success-screen-active ::-webkit-scrollbar,html.post-success-screen-active ::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.post-success-screen{left:0!important;right:0!important;width:100vw!important;min-width:100vw!important}.post-success-screen__background{left:0!important;right:0!important;width:100vw!important;min-width:100vw!important}}
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--intake-shell-overlay);backdrop-filter:var(--intake-shell-overlay-backdrop);-webkit-backdrop-filter:var(--intake-shell-overlay-backdrop);z-index:20000;align-items:center;justify-content:center;padding:.6rem;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.modal.modal--active{display:flex!important}
#privacyModal,#termsModal{z-index:20001}
#intakeNoticeModal{z-index:20001}
#intakeNoticeModal.modal--active{align-items:center!important;justify-content:center!important;padding-top:clamp(.8rem,3vh,2rem)!important;padding-bottom:clamp(.8rem,3vh,2rem)!important}
#intakeNoticeModal .modal__content{max-width:37.5rem;padding:2.3rem 2rem 1.6rem}
#intakeNoticeModal .modal__title{text-align:center;color:rgb(var(--modal-design-text-rgb));margin-bottom:1.5rem;font-size:clamp(1.5rem,6vw,2.2rem)}
#intakeNoticeModal .modal__close{position:absolute!important;top:1rem!important;left:1rem!important;right:auto!important;width:2rem!important;height:2rem!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;cursor:pointer!important;z-index:100!important;background:transparent!important;border:none!important;font-size:1.4rem!important;line-height:1!important;color:rgb(var(--modal-design-text-rgb))!important;opacity:.25!important;transition:transform .2s ease,color .2s ease,opacity .2s ease;box-shadow:none!important;text-shadow:none!important}
#intakeNoticeModal .modal__close:hover{transform:scale(1.1);opacity:1!important}
#intakeNoticeModal .modal__body{max-height:min(66vh,44rem);overflow-y:auto;padding-right:.4rem}
#intakeNoticeModal .modal__section-title{color:rgb(var(--modal-design-text-rgb));font-size:1.1rem;text-align:center!important;width:100%;display:block;border-bottom:none;padding-bottom:0;margin-top:1.5rem;margin-bottom:1rem}
#intakeNoticeModal .modal__text{color:rgba(var(--modal-design-text-rgb),.95);text-align:left;margin-bottom:.72rem;line-height:1.7;font-size:1rem;font-weight:400;letter-spacing:.01em;transition:none;transform:none}
#intakeNoticeModal .modal__text:hover{transform:none}
#intakeNoticeModal .intake-notice-modal__actions{margin-top:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:2;pointer-events:auto}
#intakeNoticeModal .intake-notice-modal__ok{position:relative;display:inline-block;padding:.72rem 1.85rem;background:var(--modal-lock-button-bg);font-size:.9rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--modal-lock-button-bg);border-radius:999px;cursor:pointer;text-decoration:none;text-align:center;margin:0 auto;overflow:visible;transition:background-color .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease,transform .2s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.78),inset 0 -1px 0 rgba(var(--site-bg-shadow-rgb),.24),0 .56rem 1.18rem rgba(var(--site-bg-shadow-rgb),.28);min-width:14rem;pointer-events:auto!important;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#intakeNoticeModal .intake-notice-modal__ok:hover{transform:scale(1.01)!important;background:var(--modal-lock-button-bg-hover);color:var(--modal-lock-button-text)!important;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.86),inset 0 -1px 0 rgba(var(--site-bg-shadow-rgb),.26),0 .7rem 1.34rem rgba(var(--site-bg-shadow-rgb),.34)}
html body #intakeNoticeModal .intake-notice-modal__btn-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:center!important;width:100%!important}
html body #intakeNoticeModal .intake-notice-modal__btn-row>div{flex:1 1 14rem!important;min-width:0!important;max-width:14rem!important}
html body #intakeNoticeModal .intake-notice-modal__btn-row .intake-notice-modal__ok{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;white-space:nowrap!important}
#intakePausedModal .modal__body,#intakePausedModal .modal__text{text-align:center!important}
#intakePausedModal .intake-notice-modal__actions{justify-content:center}
#intakePausedModal .intake-notice-modal__ok.footer-book-btn{min-width:15rem;letter-spacing:.06em;text-transform:uppercase}
#intakePausedModal .modal__content{background:linear-gradient(160deg,rgba(128,19,19,.95),rgba(96,11,11,.96) 56%,rgba(70,8,8,.97))!important;border:1px solid rgba(255,120,120,.65)!important;box-shadow:0 .9rem 2rem rgba(70,8,8,.45),inset 0 1px 0 rgba(255,200,200,.2)}
#intakePausedModal .modal__title{color:rgba(255,238,238,.98)!important;border-bottom-color:rgba(255,150,150,.45)!important}
#intakePausedModal .modal__text{color:rgba(255,242,242,.96)!important}
@media (max-width:480px){#intakeNoticeModal .modal__content{max-width:calc(100vw - 2rem)!important;padding-left:1rem!important;padding-right:1rem!important;box-sizing:border-box!important}#intakeNoticeModal .intake-notice-modal__actions{flex-direction:column!important;align-items:stretch!important;gap:.5rem!important;width:100%!important}#intakeNoticeModal .intake-notice-modal__actions>div{width:100%!important}#intakeNoticeModal .intake-notice-modal__ok{min-width:0!important;width:100%!important;padding:.6rem 1rem!important;white-space:nowrap!important;box-sizing:border-box!important}#intakeNoticeModal .intake-notice-modal__btn-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:.5rem!important;align-items:stretch!important;justify-content:center!important;width:100%!important}#intakeNoticeModal .intake-notice-modal__btn-row>div{flex:1 1 0!important;min-width:0!important;width:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:.4rem!important}#intakeNoticeModal .intake-notice-modal__btn-row .intake-notice-modal__ok{width:100%!important;min-width:0!important}}
@media (max-width:360px){html body #intakeNoticeModal .modal__title{font-size:clamp(1.15rem,7.8vw,2.1rem)!important;letter-spacing:0!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;max-width:100%!important}}
#privacyModal,#termsModal{--tp-modal-gap:clamp(0.5rem,1.8vh,1rem);-webkit-overflow-scrolling:touch;align-items:flex-start!important;justify-content:center!important;padding:calc(var(--tp-modal-gap) + env(safe-area-inset-top, 0px)) var(--tp-modal-gap) calc(var(--tp-modal-gap) + env(safe-area-inset-bottom, 0px))!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:rgba(90,61,42,.42) transparent;overscroll-behavior:none!important;touch-action:pan-y!important}
#privacyModal .modal__content,#termsModal .modal__content{width:min(100%,50rem);max-width:50rem;max-height:none!important;flex:0 0 auto;display:flex;flex-direction:column;margin:0 auto!important;overflow:hidden!important}
#privacyModal .modal__body,#termsModal .modal__body{flex:1 1 auto;min-height:0;overflow:visible!important;scrollbar-gutter:auto;overscroll-behavior:contain!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch}
#privacyModal .intake-notice-modal__actions,#termsModal .intake-notice-modal__actions{flex:0 0 auto}
#privacyModal .modal__title,#termsModal .modal__title{text-align:center;color:rgb(var(--modal-design-text-rgb));margin-bottom:2rem;font-size:clamp(1.5rem,6vw,2.2rem)}
#privacyModal .modal__close,#termsModal .modal__close{inset:1rem 1rem auto auto!important;right:1rem!important;top:1rem!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;cursor:pointer!important;z-index:100!important}
#privacyModal .modal__section-title,#termsModal .modal__section-title{color:rgb(var(--modal-design-text-rgb));font-size:1.1rem;border-bottom:1px solid rgba(var(--modal-design-border-rgb),.34);padding-bottom:.5rem;margin-top:2rem;margin-bottom:1rem}
#privacyModal .modal__text,#termsModal .modal__text{color:rgba(var(--modal-design-text-rgb),.95);text-align:left;margin-bottom:.72rem;line-height:1.7;font-size:1rem;font-weight:400;letter-spacing:.01em}
#privacyModal .modal__footer-text,#termsModal .modal__footer-text{text-align:center;color:rgba(var(--modal-design-text-rgb),.95);font-size:.9rem;margin-top:2.5rem;border-top:1px solid rgba(var(--modal-design-border-rgb),.32);padding-top:1.3rem;font-weight:800}
#privacyModal.modal--active,#termsModal.modal--active{display:flex!important;align-items:flex-start!important;justify-content:center!important;padding-top:calc(var(--tp-modal-gap) + env(safe-area-inset-top, 0px))!important;padding-bottom:calc(var(--tp-modal-gap) + env(safe-area-inset-bottom, 0px))!important}
.modal__content{background:var(--intake-shell-surface);border:1px solid rgba(var(--modal-design-border-rgb),var(--intake-shell-border-alpha));border-radius:1.5rem;padding:2.5rem;width:100%;max-width:37.5rem;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;position:relative;box-shadow:var(--intake-shell-shadow);backdrop-filter:var(--intake-shell-backdrop);-webkit-backdrop-filter:var(--intake-shell-backdrop);animation:modalScaleIn .4s cubic-bezier(.19,1,.22,1);margin:0 auto}
@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.modal__close{position:absolute;top:1.3rem;left:1.3rem;right:auto;width:2rem;height:2rem;background:transparent;border:none;font-size:1.4rem;line-height:1;color:rgba(255,248,239,.98);opacity:.6;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,color .2s ease,opacity .2s ease;z-index:10}
.modal__close:hover{transform:scale(1.1);opacity:1}
.modal__title{font-size:clamp(1.1rem,4vw,1.4rem);font-weight:800;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px;flex-shrink:0;color:rgb(var(--modal-design-text-rgb));text-shadow:0 1px 10px rgba(30,19,12,.32);text-align:center}
#bookingModal.booking-modal--hidden-by-overlay,html.modal-is-open:has(#privacyModal.modal--active) #bookingModal,html.modal-is-open:has(#termsModal.modal--active) #bookingModal{display:none!important}
html.modal-is-open:has(#privacyModal.modal--active),html.modal-is-open:has(#privacyModal.modal--active) body,html.modal-is-open:has(#termsModal.modal--active),html.modal-is-open:has(#termsModal.modal--active) body{overflow:hidden!important;overscroll-behavior:none!important}
#privacyModal::-webkit-scrollbar,#termsModal::-webkit-scrollbar{width:.5rem;height:.5rem}
#privacyModal::-webkit-scrollbar-track,#termsModal::-webkit-scrollbar-track{background:transparent}
#privacyModal::-webkit-scrollbar-thumb,#termsModal::-webkit-scrollbar-thumb{background-color:rgba(90,61,42,.42);background-clip:padding-box;border:2px solid transparent;border-radius:.6rem}
#privacyModal::-webkit-scrollbar-thumb:hover,#termsModal::-webkit-scrollbar-thumb:hover{background-color:rgba(90,61,42,.68)}
#privacyModal::-webkit-scrollbar-button,#privacyModal::-webkit-scrollbar-button:end:increment,#privacyModal::-webkit-scrollbar-button:single-button,#privacyModal::-webkit-scrollbar-button:start:decrement,#termsModal::-webkit-scrollbar-button,#termsModal::-webkit-scrollbar-button:end:increment,#termsModal::-webkit-scrollbar-button:single-button,#termsModal::-webkit-scrollbar-button:start:decrement{display:none!important;width:0!important;height:0!important;background:transparent!important;border:0!important}
#bookingModal{opacity:1;transform:none;pointer-events:auto;transition:none}
#bookingModal.modal--active{opacity:1;transform:none;pointer-events:auto}
.modal__body{font-size:1rem;font-weight:400;color:rgba(var(--modal-design-text-rgb),.95);line-height:1.7;text-align:left;letter-spacing:.01em;margin-bottom:1.3rem;padding:0 .3rem}
#bookingModal[data-state=form] #bookingForm>.contact-form__group:last-of-type{margin-bottom:0}
#bookingModal[data-state=form] #bookingForm .booking-status-slot{width:var(--booking-sticky-inline-size);min-height:clamp(3.3rem,6.2vh,4.2rem);margin:.5rem auto .78rem;display:flex;align-items:flex-end;justify-content:center;justify-self:center;visibility:hidden}
.modal__section-title{font-size:1.2rem;font-weight:800;margin-top:1.3rem;margin-bottom:.6rem;text-transform:uppercase;color:rgb(var(--modal-design-text-rgb))}
.modal__text{margin-bottom:.72rem;color:rgba(var(--modal-design-text-rgb),.95);font-size:1rem;font-weight:400;line-height:1.7;text-align:left;letter-spacing:.01em}
#bookingModal .modal__title,#bookingModal .modal__title span{font-family:Lato,sans-serif!important;font-size:clamp(1rem,3vw,1.2rem)!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.7px;line-height:1.4!important;color:#fff}
#bookingModal{--modal-design-surface-rgb:var(--modal-dark-brown-rgb);--modal-design-overlay-rgb:var(--modal-dark-brown-rgb);--modal-design-tone-rgb:var(--modal-dark-brown-rgb);--booking-form-rgb:var(--modal-design-surface-rgb);--booking-sticky-gradient-rgb:var(--booking-form-rgb);--booking-form-font-size:1.2rem;--booking-modal-vpad:clamp(0.55rem,1.8vh,0.95rem);--booking-modal-max-height:calc(100vh - var(--booking-modal-vpad)*2);--booking-modal-max-height:calc(100dvh - var(--booking-modal-vpad)*2);overflow-y:hidden;overflow-x:hidden}
#bookingModal.modal--active{align-items:center!important;padding-top:var(--booking-modal-vpad);padding-bottom:var(--booking-modal-vpad);overscroll-behavior:none}
#bookingModal[data-state=form].modal--active{padding-top:var(--booking-modal-vpad)!important;padding-bottom:var(--booking-modal-vpad)!important}
#bookingModal .modal__content{overflow:visible;max-height:var(--booking-modal-max-height);height:auto;min-height:0;margin:0 auto;display:flex;flex-direction:column;padding:2.3rem 2rem 1.6rem;max-width:37.5rem;border:1px solid rgba(var(--modal-design-border-rgb),var(--intake-shell-border-alpha));border-radius:1.5rem;background:var(--intake-shell-surface);box-shadow:var(--intake-shell-shadow);backdrop-filter:var(--intake-shell-backdrop);-webkit-backdrop-filter:var(--intake-shell-backdrop);position:relative;isolation:isolate}
#bookingModal{background:var(--intake-shell-overlay)!important;backdrop-filter:var(--intake-shell-overlay-backdrop)!important;-webkit-backdrop-filter:var(--intake-shell-overlay-backdrop)!important;isolation:isolate}
#bookingModal .modal__content:after,#bookingModal .modal__content:before,#bookingModal:after,#bookingModal:before{content:none!important}
#bookingModal .modal__body{flex:1 1 auto;min-height:0;overflow:visible;padding-bottom:0}
#bookingModal[data-state=form] .modal__body{--booking-top-fade-height:clamp(2rem,5.2vh,3.15rem);position:relative;display:block;overflow:visible!important;padding-top:0!important;padding-bottom:0}
#bookingModal[data-state=form] .modal__body:before{content:"";position:sticky;top:0;display:block;height:var(--booking-top-fade-height);margin-bottom:0;z-index:24;pointer-events:none;background:linear-gradient(180deg,rgba(var(--modal-design-tone-rgb),.14) 0,rgba(var(--modal-design-tone-rgb),.118) 24%,rgba(var(--modal-design-tone-rgb),.078) 50%,rgba(var(--modal-design-tone-rgb),.036) 74%,rgba(var(--modal-design-tone-rgb),0) 100%),linear-gradient(180deg,rgba(var(--modal-design-surface-rgb),1) 0,rgba(var(--modal-design-surface-rgb),.84) 24%,rgba(var(--modal-design-surface-rgb),.56) 50%,rgba(var(--modal-design-surface-rgb),.26) 74%,rgba(var(--modal-design-surface-rgb),0) 100%);transition:background .34s ease}
#bookingModal #bookingForm{overflow-x:hidden;min-height:100%;display:flex;flex-direction:column}
#bookingModal[data-state=form] #bookingForm>.contact-form__group:first-child>div{margin-top:0!important}
#bookingModal[data-state=form] #bookingForm{flex:1 1 auto;min-height:100%;overflow:visible;padding-bottom:0}
#bookingModal[data-state=success] .modal__content{height:auto;max-height:none}
#bookingModal[data-state=success] .modal__body{flex:0 1 auto;overflow:visible;padding-bottom:.45rem}
#bookingModal.booking-modal--flat{overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}
#bookingModal.booking-modal--flat::-webkit-scrollbar{width:0;height:0;display:none}
#bookingModal.booking-modal--flat.modal--active,#bookingModal.booking-modal--flat[data-state=form].modal--active{align-items:flex-start!important;padding-top:clamp(1rem,4vh,2.4rem)!important;padding-bottom:clamp(1rem,4vh,2.4rem)!important}
#bookingModal.booking-modal--flat .modal__content,#bookingModal.booking-modal--flat[data-state=form] .modal__content{height:auto;max-height:none;overflow:visible}
#bookingModal.booking-modal--flat .modal__body,#bookingModal.booking-modal--flat[data-state=form] .modal__body{flex:0 1 auto;overflow-y:auto;overflow-x:hidden;padding-top:0!important;padding-bottom:0;margin-bottom:0;-ms-overflow-style:none;scrollbar-width:none}
#bookingModal.booking-modal--flat .modal__body::-webkit-scrollbar{width:0;height:0;display:none}
#bookingModal.booking-modal--flat[data-state=form] .modal__body:before{content:none}
#bookingModal.booking-modal--flat #bookingForm,#bookingModal.booking-modal--flat[data-state=form] #bookingForm{min-height:0;display:block;overflow:visible;padding-bottom:0}
#bookingModal.booking-modal--flat[data-state=form] #bookingForm>.contact-form__group:last-of-type{margin-bottom:1rem}
#bookingModal.booking-modal--flat .modal-sticky-actions .booking-status-slot,#bookingModal.booking-modal--flat[data-state=form] #bookingForm .booking-status-slot{width:var(--booking-sticky-inline-size);min-height:0;margin:0 auto;display:flex;align-items:center;justify-content:center;visibility:hidden}
#bookingModal .contact-form__label,#bookingModal .contact-form__terms-link,#bookingModal .file-attach__name,#bookingModal .file-attach__remove,#bookingModal .modal__body,#bookingModal .modal__body p{font-size:var(--booking-form-font-size)!important;font-weight:400!important;color:hsla(0,0%,100%,.92)!important;line-height:1.6!important;letter-spacing:.01em!important}
#bookingModal #bookingForm label.contact-form__label{font-weight:900!important}
#bookingModal .contact-form__input::placeholder,#bookingModal .contact-form__textarea::placeholder{font-size:var(--booking-form-font-size)!important;font-weight:400!important;line-height:1.6!important;letter-spacing:.01em!important}
#bookingModal .booking-row--address-city{width:100%;align-items:center;justify-content:flex-start}
#bookingModal .booking-row--address-city .custom-select-wrapper--city{flex:1 1 auto!important;width:auto!important;min-width:0!important}
#bookingModal .booking-row--address-city .custom-select-wrapper--province{margin-left:auto}
#bookingModal .booking-row--address-city #cityCustomSelect .custom-select__trigger{width:100%!important;min-width:0!important}
#bookingModal .booking-row--address-secondary{justify-content:flex-start!important;align-items:center!important;flex-wrap:nowrap!important;gap:.55rem!important}
#bookingModal .booking-row--address-secondary.booking-row--province-zip{justify-content:flex-start!important;width:100%!important}
#bookingModal .booking-row--deadline{display:grid!important;grid-template-columns:max-content 180px max-content;align-items:center;justify-content:center;column-gap:.5rem;row-gap:.35rem}
#bookingModal .booking-row--deadline .booking-row__deadline-label,#bookingModal .booking-row--deadline .booking-row__deadline-optional{margin:0!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;text-align:center!important}
#bookingModal .custom-select-wrapper--province{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin-bottom:0!important}
#bookingModal #provinceCustomSelect,#bookingModal #provinceCustomSelect .custom-select__trigger{width:100%!important;min-width:0!important}
#bookingModal .booking-row--province-zip input[name=address_zip]{margin-left:0!important}
#bookingModal .booking-row--province-zip input[name=address_zip]::placeholder{text-align:center!important}
#bookingModal .booking-static-province{display:flex;align-items:center;justify-content:center;width:100%!important;min-width:0!important;text-transform:uppercase;text-align:center;cursor:pointer;user-select:none}
#bookingModal .contact-form__input,#bookingModal .contact-form__textarea,#bookingModal .custom-select__trigger{font-size:var(--booking-form-font-size)!important;font-weight:800!important;line-height:1.3!important;letter-spacing:.01em!important}
#bookingModal .contact-form__input,#bookingModal .contact-form__textarea{background-clip:padding-box;-webkit-background-clip:padding-box;transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}
#bookingModal .contact-form__input,#bookingModal .custom-select__trigger{min-height:3.3rem!important;height:3.3rem!important}
#bookingModal .file-attach__btn{min-height:5.25rem!important;height:5.25rem!important}
#bookingModal .custom-select__trigger{transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}
#bookingModal .custom-select__trigger.contact-form__input--has-content,#bookingModal .custom-select__trigger.contact-form__input--has-content span{font-weight:900!important;color:#5a3d2a!important;-webkit-text-fill-color:currentColor!important}
#bookingModal #provinceCustomSelect .custom-select__trigger,#bookingModal #provinceCustomSelect .custom-select__trigger span{font-weight:900!important;color:#5a3d2a!important;-webkit-text-fill-color:currentColor!important}
#bookingModal textarea[name=notes]{min-height:14rem!important}
#bookingModal .custom-option{font-size:var(--booking-form-font-size)!important;font-weight:800!important}
#bookingModal .file-attach__title{font-size:var(--booking-form-font-size)!important;font-weight:400!important;line-height:1.6!important;letter-spacing:.01em!important;text-transform:none!important}
#bookingModal .contact-form__submit-button{font-size:var(--booking-form-font-size)!important}
#bookingModal #confirmBookingBtn{font-size:clamp(1.2rem,4vw,2rem)!important;font-weight:900!important;letter-spacing:.06em!important;line-height:1!important;text-transform:uppercase!important}
#confirmBookingBtn{color:#fff!important}
#bookingModal #confirmBookingBtn:active,#bookingModal #confirmBookingBtn:focus-visible,#bookingModal #confirmBookingBtn:hover{border-color:rgba(var(--modal-design-tone-rgb),.98)!important}
#bookingModal #confirmBookingBtn:focus-visible{outline:none!important}
.month-switch-overlay__fill{fill:none;stroke:#fff;stroke-width:12;stroke-linecap:round;stroke-dasharray:302;stroke-dashoffset:302;transition:stroke-dashoffset .14s linear;will-change:stroke-dashoffset;filter:drop-shadow(0 0 14px rgba(255,255,255,.66)) drop-shadow(0 0 28px rgba(255,255,255,.4));animation:monthSwitchRingHypnotic 1.05s ease-in-out infinite}
@keyframes monthSwitchRingHypnotic{0%,to{transform:scale(1);filter:drop-shadow(0 0 12px rgba(255,255,255,.5)) drop-shadow(0 0 20px rgba(255,255,255,.28))}50%{transform:scale(1.045);filter:drop-shadow(0 0 20px rgba(255,255,255,.9)) drop-shadow(0 0 36px rgba(255,255,255,.45))}}
@keyframes monthSwitchValueHypnotic{0%,to{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
.camera-capture__status--busy{display:flex;align-items:baseline;justify-content:center;gap:.15em;width:100%;text-align:center}
.camera-capture__status-dots{display:inline-flex;align-items:baseline;min-width:1.4em}
.camera-capture__status-dots span{opacity:.2;animation:cameraCaptureBusyDot 1.1s ease-in-out infinite}
.camera-capture__status-dots span:nth-child(2){animation-delay:.18s}
.camera-capture__status-dots span:nth-child(3){animation-delay:.36s}
@keyframes cameraCaptureBusyDot{0%,80%,to{opacity:.2}40%{opacity:1}}
#bookingStatus{--booking-status-fg:rgba(var(--modal-design-tone-rgb),0.98);--booking-status-border:rgba(var(--booking-status-accent-rgb),0.95);--booking-status-bg:rgba(var(--booking-status-accent-soft-rgb),0.95);min-height:0;width:auto;min-width:0;max-width:min(calc(100% - 1.6rem),28rem);margin:0 auto!important;align-self:center;justify-self:center;padding:0;border-radius:.8rem;border:1px solid transparent;background:transparent;color:var(--booking-status-fg)!important;font-family:Lato,sans-serif!important;font-size:var(--booking-form-font-size)!important;font-weight:900!important;line-height:1.2!important;letter-spacing:.02em!important;text-align:center!important;white-space:pre-line;display:none;opacity:1;transform:none;transition:background-color .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease;pointer-events:none;appearance:none;-webkit-appearance:none;cursor:default}
#bookingStatus.status-alert--visible{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.6rem;padding:.78rem .95rem;border-color:var(--booking-status-border);background:var(--booking-status-bg);opacity:1;transform:none;animation:bookingStatusIn .28s ease-out;box-shadow:0 0 .45rem rgba(var(--booking-status-glow-rgb),.24)}
#bookingStatus .booking-status-estimated-date-line{display:none!important}
@keyframes bookingStatusIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes bookingStatusSoftPulse{0%,to{opacity:.94}50%{opacity:1}}
#bookingStatus.status-alert--success{--booking-status-fg:rgb(var(--booking-status-success-fg-rgb));--booking-status-border:rgba(var(--booking-status-success-border-rgb),0.74);--booking-status-bg:rgba(var(--booking-status-success-rgb),0.95);--booking-status-pulse:rgba(var(--booking-status-success-border-rgb),0.2)}
#bookingStatus.status-alert--warning{--booking-status-fg:hsla(0,0%,100%,.98);--booking-status-border:#5a3d2a;--booking-status-bg:#5a3d2a}
#bookingStatus.status-alert--error{--booking-status-fg:hsla(0,0%,100%,.98);--booking-status-border:rgba(var(--booking-status-error-rgb),0.98);--booking-status-bg:rgba(var(--booking-status-error-rgb),0.92)}
#bookingStatus.status-alert--actionable{pointer-events:auto;cursor:pointer}
#bookingStatus.status-alert--actionable:focus-visible{outline:2px solid hsla(0,0%,100%,.92);outline-offset:2px}
.contact-form__input.field-invalid,.contact-form__textarea.field-invalid,.custom-select__trigger.field-invalid{animation:invalidFieldBorderPulse .5s ease-out 1,invalidFieldBorderBreath 1.45s ease-in-out infinite!important;box-shadow:none!important;border:2px solid #8b6f5a!important;transform:none!important;will-change:auto}
#bookingModal .custom-select__trigger.field-invalid{border:2px solid #8b6f5a!important;box-shadow:none!important}
#bookingModal .contact-form__input.field-hint-active,#bookingModal .contact-form__textarea.field-hint-active,#bookingModal .custom-select__trigger.field-hint-active{transition:border-color .9s ease,background .9s ease,color .9s ease,box-shadow .9s ease,filter .9s ease!important;border-color:#f0c36b!important;background:linear-gradient(180deg,rgba(255,247,218,.98),rgba(245,218,154,.94))!important;color:#3b2818!important;text-shadow:none!important;box-shadow:0 0 0 .14rem rgba(245,204,116,.24),0 0 1.05rem rgba(232,181,75,.58),inset 0 1px 0 hsla(0,0%,100%,.7)!important;animation:bookingHintSandGlow 1.8s cubic-bezier(.42,0,.2,1) 1!important}
#bookingModal .contact-form__input.field-hint-active::placeholder,#bookingModal .contact-form__textarea.field-hint-active::placeholder{color:rgba(89,58,28,.78)!important}
#bookingModal .custom-select__trigger.field-hint-active span{color:#3b2818!important}
#bookingModal .contact-form__checkbox-wrapper.field-hint-active{transition:none!important;border-radius:.75rem;background:transparent!important;box-shadow:none!important;animation:none!important}
#bookingModal .contact-form__checkbox-wrapper.field-hint-active .contact-form__terms-row{width:fit-content!important;max-width:100%!important;padding:.38rem .58rem!important;border-radius:.75rem;transition:background .9s ease,box-shadow .9s ease!important;background:rgba(245,218,154,.1);box-shadow:0 0 0 .14rem rgba(245,204,116,.2),0 0 1rem rgba(232,181,75,.52);animation:bookingHintSandGlow 1.8s cubic-bezier(.42,0,.2,1) 1!important}
#bookingModal .contact-form__checkbox-wrapper.field-hint-active .contact-form__checkbox{transition:border-color .9s ease,box-shadow .9s ease!important;border-color:#f0c36b!important;box-shadow:0 0 0 .12rem rgba(245,204,116,.22),0 0 .75rem rgba(232,181,75,.5)!important}
@keyframes invalidFieldBorderPulse{0%{transform:translateX(0)}22%{transform:translateX(-2px)}44%{transform:translateX(2px)}66%{transform:translateX(-1px)}to{transform:translateX(0)}}
@keyframes invalidFieldBorderBreath{0%,to{border-color:#8b6f5a}50%{border-color:#c9a688}}
@keyframes bookingHintSandGlow{0%{box-shadow:0 0 0 .1rem rgba(245,204,116,.18),0 0 .74rem rgba(232,181,75,.38),inset 0 1px 0 hsla(0,0%,100%,.62);filter:saturate(1)}45%{box-shadow:0 0 0 .22rem rgba(255,218,128,.34),0 0 1.48rem rgba(238,190,82,.82),inset 0 1px 0 hsla(0,0%,100%,.82);filter:saturate(1.08)}72%{box-shadow:0 0 0 .16rem rgba(245,204,116,.26),0 0 1.08rem rgba(232,181,75,.6),inset 0 1px 0 hsla(0,0%,100%,.72);filter:saturate(1.03)}to{box-shadow:0 0 0 .08rem rgba(245,204,116,.12),0 0 .38rem rgba(232,181,75,.22),inset 0 1px 0 hsla(0,0%,100%,.54);filter:saturate(1)}}
@media (prefers-reduced-motion:reduce){#bookingModal .contact-form__checkbox-wrapper.field-hint-active,#bookingModal .contact-form__checkbox-wrapper.field-hint-active .contact-form__terms-row,#bookingModal .contact-form__input.field-hint-active,#bookingModal .contact-form__textarea.field-hint-active,#bookingModal .custom-select__trigger.field-hint-active{animation:none!important}}
.contact-form__checkbox-wrapper.field-invalid{animation:none!important;box-shadow:none!important}
.contact-form__checkbox-wrapper.field-invalid:not(.checkbox-need-tap-flash) .contact-form__checkbox{border-color:#8b6f5a!important;box-shadow:none!important;animation:invalidCheckboxBorderBreath 1.95s cubic-bezier(.42,0,.2,1) infinite!important}
.contact-form__checkbox-wrapper.checkbox-need-tap-flash .contact-form__checkbox{animation:invalidCheckboxBorderBreath 1.95s cubic-bezier(.42,0,.2,1) infinite,checkboxNeedTapFlash 1.5s cubic-bezier(.16,1,.3,1) 1 both!important;box-shadow:0 0 0 0 rgba(255,244,164,0),0 0 0 0 rgba(95,205,239,0);transform-origin:center}
@keyframes invalidCheckboxBorderBreath{0%,to{border-color:#8b6f5a;transform:scale(1)}50%{border-color:#c9a688;transform:scale(1.3)}}
@keyframes checkboxNeedTapFlash{0%{transform:scale(1);border-color:#fff4a4!important;box-shadow:0 0 0 4px #fff4a4,0 0 16px 6px #fff4a4,0 0 28px 12px #5fcdef}15%{transform:scale(1.3);border-color:#fff4a4!important;box-shadow:0 0 0 6px rgba(255,244,164,.9),0 0 24px 10px rgba(255,244,164,.9),0 0 40px 18px rgba(95,205,239,.8)}to{transform:scale(1);border-color:rgba(90,61,42,.8)!important;box-shadow:0 0 0 16px rgba(255,244,164,0),0 0 48px 24px rgba(255,244,164,0),0 0 64px 36px rgba(95,205,239,0)}}
.final-result-form{padding:.45rem .1rem .2rem;text-align:center}
.final-result-form__icon{color:#fff;margin:0 auto 1.05rem;position:relative;display:flex;width:6.25rem;height:6.25rem;align-items:center;justify-content:center;border-radius:0;background:none;border:none}
.final-result-form__icon svg{width:100%;height:100%}
.final-result-form__hello{font-size:1.12rem;font-weight:900;margin:0 0 .7rem;text-align:center}
.final-result-form__lead{font-size:1rem;line-height:1.55;margin:0 0 1rem;text-align:center}
.final-result-form__appointment-title{width:min(100%,37.5rem);margin:0 auto .35rem;font-size:clamp(1.05rem,3.2vw,1.36rem);font-weight:900;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;text-align:center;color:rgba(var(--modal-design-text-rgb),.98)}
.final-result-warning{font-size:.94rem;line-height:1.55;width:min(100%,37.5rem);margin:0 auto .88rem;text-align:center;padding:.78rem .85rem;border-radius:.85rem;border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.09)}
.final-result-warning--left{text-align:left}
.final-result-reminder{font-size:.96rem;line-height:1.5;width:min(100%,37.5rem);margin:0 auto .9rem;text-align:left;padding:.84rem .9rem;border-radius:.9rem;border:1px solid hsla(0,0%,100%,.28);background:hsla(0,0%,100%,.13);font-weight:700}
.final-result-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.1rem;width:min(100%,37.5rem);margin-left:auto;margin-right:auto;align-items:stretch;justify-content:stretch;position:relative;z-index:2}
.final-result-call{width:100%;margin:0!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:900!important;letter-spacing:.06em;min-height:3.6rem;padding:1.02rem 2rem!important;border:1px solid #5a3d2a!important;border-radius:999px!important;text-transform:uppercase!important;box-shadow:none!important}
.final-result-done{width:100%;margin:0!important;background:#5a3d2a!important;border:1px solid #5a3d2a!important;color:#fff!important;font-weight:800!important;min-height:3.6rem;padding:1.02rem 2rem!important;border-radius:999px!important;text-transform:uppercase!important;box-shadow:none!important}
#bookingModal .contact-form__submit-button.final-result-call,#bookingModal .contact-form__submit-button.final-result-call:active,#bookingModal .contact-form__submit-button.final-result-call:focus-visible,#bookingModal .contact-form__submit-button.final-result-call:hover{box-shadow:none!important}
#bookingModal .contact-form__submit-button.final-result-done,#bookingModal .contact-form__submit-button.final-result-done:active,#bookingModal .contact-form__submit-button.final-result-done:focus-visible,#bookingModal .contact-form__submit-button.final-result-done:hover{box-shadow:none!important}
#bookingModal[data-state=success] .final-result-actions{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.modal__footer-text{margin-top:2rem;padding-top:1.3rem;border-top:1px solid rgba(var(--modal-design-border-rgb),.3);font-size:1.2rem;color:rgba(var(--modal-design-text-rgb),.95);font-weight:800}
.post-success-screen{position:fixed;inset:0;left:0;right:0;width:100vw;min-width:100vw;height:100vh;min-height:100dvh;z-index:16000;display:flex;align-items:center;justify-content:center;padding:1.2rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease;overflow:hidden;transform:translateZ(0)}
.post-success-screen:after,.post-success-screen:before{content:"";position:absolute;inset:-20%;pointer-events:none}
.post-success-screen:before{background:linear-gradient(146deg,hsla(0,0%,100%,.12),transparent 26%),linear-gradient(326deg,transparent 10%,hsla(0,0%,100%,.08) 40%,transparent 78%),radial-gradient(120% 120% at 50% 100%,#d4b89a 0,#8b6f5a 100%)}
.post-success-screen:after{background:conic-gradient(from 140deg at 50% 50%,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 24%,hsla(0,0%,100%,.08) 46%,hsla(0,0%,100%,0) 72%,hsla(0,0%,100%,.08));opacity:.35;mix-blend-mode:screen}
.post-success-screen--active{opacity:1;visibility:visible;pointer-events:auto}
.post-success-screen__background{position:absolute;inset:-4%;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(120% 120% at 50% 100%,#d4b89a 0,#8b6f5a 100%)}
.post-success-screen__background svg{width:100%;height:100%;display:block}
.post-success-screen__stripe{fill:#fff!important;opacity:.08!important;animation:postSuccessStripeTop 12s cubic-bezier(.34,1.56,.64,1) infinite alternate;transform-origin:center;transform-box:fill-box}
.post-success-screen__stripe--delay-1{opacity:.05!important;animation-name:postSuccessStripeBottom;animation-duration:15s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-delay:-3s}
.post-success-screen__stripe--delay-2{opacity:.04!important;animation-name:postSuccessStripeDiagonal;animation-duration:18s;animation-timing-function:cubic-bezier(.42,.29,.58,.71);animation-delay:-6s}
.post-success-screen__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.72rem;width:min(100%,36rem);text-align:center;color:rgba(var(--site-text-rgb),.98);font-family:Lato,sans-serif;text-shadow:0 .38rem 1.6rem rgba(58,41,27,.3),0 .06rem .12rem hsla(0,0%,100%,.35);position:relative;z-index:1}
.post-success-screen__brand{display:block;width:100%;margin:0;font-size:clamp(1.8rem,7.4vw,4.6rem);font-weight:900;letter-spacing:.28rem;text-transform:uppercase;line-height:1.06;text-align:center;text-shadow:0 0 .55rem rgba(255,245,228,.78),0 0 1.4rem rgba(255,245,228,.54),0 0 2.6rem rgba(255,245,228,.34)}
.post-success-screen__brand-main,.post-success-screen__brand-sub{display:block;width:100%}
.post-success-screen__brand-sub{margin-top:.22rem;font-size:clamp(1.02rem,3.5vw,1.76rem);letter-spacing:.18rem}
.post-success-screen__title{margin:.35rem 0 0;font-size:clamp(1.05rem,3.5vw,1.42rem);font-weight:800;letter-spacing:.13rem;text-transform:uppercase;opacity:.95}
.post-success-screen__message{margin:0;font-size:clamp(1rem,4vw,1.42rem);font-weight:800;letter-spacing:.02rem;line-height:1.3;background:linear-gradient(92deg,hsla(0,0%,100%,.92),#ffecd0,hsla(0,0%,100%,.92));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.post-success-screen__reminder{margin:.18rem 0 .08rem;width:min(100%,34rem);padding:.78rem .92rem;border-radius:.92rem;border:1px solid hsla(0,0%,100%,.28);background:hsla(0,0%,100%,.12);font-size:clamp(.88rem,3.3vw,1.02rem);line-height:1.4;font-weight:700}
.post-success-screen__phone{display:block;margin:0;font-size:clamp(1.6rem,7.2vw,3.05rem);font-weight:900;letter-spacing:.08rem;line-height:1.06;color:inherit;text-decoration:none;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
@keyframes postSuccessAurora{0%{transform:translate3d(-4%,-2%,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.08)}}
@keyframes postSuccessSheen{0%{transform:rotate(0deg) scale(1.06)}to{transform:rotate(1turn) scale(1.06)}}
@keyframes postSuccessStripeTop{0%{transform:translate(0) rotate(0deg) scale(1)}50%{transform:translate(2%,1.5%) rotate(.5deg) scale(1.05)}to{transform:translate(4%,3%) rotate(1deg) scale(1.1)}}
@keyframes postSuccessStripeBottom{0%{transform:translate(0) rotate(0deg) scale(1)}50%{transform:translate(-2%,2%) rotate(-.4deg) scale(.98)}to{transform:translate(-4%,4%) rotate(-.8deg) scale(.96)}}
@keyframes postSuccessStripeDiagonal{0%{transform:translate(0) scaleX(1)}25%{transform:translate(2.5%,1.5%) scaleX(1.06)}50%{transform:translate(0) scaleX(1)}75%{transform:translate(-2.5%,-1.5%) scaleX(.94)}to{transform:translate(0) scaleX(1)}}
@keyframes postSuccessGradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}
@keyframes postSuccessLineIn{0%{opacity:0;transform:translateY(14px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes postSuccessBrandGlow{0%,to{transform:scale(1);opacity:.94;text-shadow:0 0 .45rem rgba(255,245,228,.72),0 0 1.2rem rgba(255,245,228,.48),0 0 2.1rem rgba(255,245,228,.28)}50%{transform:scale(1.06);opacity:1;text-shadow:0 0 .75rem hsla(0,0%,100%,.9),0 0 1.8rem rgba(255,250,240,.72),0 0 3.2rem rgba(255,245,228,.48)}}
.calendar-scale-wrapper{width:100%;overflow:visible}
.calendar-scale-wrapper.calendar-scale-wrapper--hidden{display:flex!important;height:auto!important;min-height:clamp(44rem,78vh,52rem)!important;margin:0!important;overflow:visible!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.form-calendar-overlay__mount .calendar-scale-wrapper.calendar-scale-wrapper--hidden{display:none!important;height:0!important;min-height:0!important;overflow:hidden!important}
.calendar-scale-inner{width:41rem;transform-origin:top left;will-change:transform}
