.booking-fab{position:fixed;right:15px;bottom:15px;z-index:1000;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;background:#153750;color:#fff;border:none;border-radius:10px;font-family:"Montserrat",sans-serif;font-size:15px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 28px rgb(21 55 80 / .32);transition:transform 0.25s ease,box-shadow 0.25s ease,background 0.25s ease;white-space:nowrap}.booking-fab:hover,.booking-fab:focus-visible{background:#d2d945;color:#153750;transform:translateY(-3px);box-shadow:0 16px 36px rgb(21 55 80 / .4);outline:none}.booking-fab__icon{width:22px;height:22px;flex-shrink:0}@media (prefers-reduced-motion:no-preference){.booking-fab{animation:booking-fab-pulse 2.6s ease-in-out infinite}}@keyframes booking-fab-pulse{0%,100%{box-shadow:0 10px 28px rgb(21 55 80 / .32)}50%{box-shadow:0 10px 28px rgb(21 55 80 / .32),0 0 0 6px rgb(210 217 69 / .18)}}.ui-to-top{bottom:80px!important;transform:translate3d(0,150px,0)!important}.ui-to-top.active{transform:translate3d(0,0,0)!important}body.booking-modal-open{overflow:hidden}.booking-modal{position:fixed;inset:0;z-index:10050;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0s linear 0.3s}.booking-modal.is-open{opacity:1;visibility:visible;transition:opacity 0.3s ease,visibility 0s linear 0s}.booking-modal__overlay{position:absolute;inset:0;background:rgb(13 10 10 / .82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.booking-modal__container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:calc(100% - 48px);max-width:1100px;max-height:calc(100vh - 48px);background:#fff;border-radius:16px;box-shadow:0 30px 80px rgb(0 0 0 / .45);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:28px 28px 32px;transition:transform 0.3s ease}.booking-modal.is-open .booking-modal__container{transform:translate(-50%,-50%) scale(1)}.booking-modal__container::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#d2d945 0%,#153750 100%);border-radius:16px 16px 0 0}.booking-modal__head{margin:4px 0 22px;padding-right:44px}.booking-modal__eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#153750;position:relative;padding-left:34px}.booking-modal__eyebrow::before{content:'';position:absolute;left:0;top:50%;width:24px;height:2px;background:#d2d945;transform:translateY(-50%)}.booking-modal__close{position:absolute;top:16px;right:16px;z-index:5;width:40px;height:40px;border-radius:50%;background:#f0f2f5;color:#153750;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background 0.2s ease,color 0.2s ease,transform 0.2s ease}.booking-modal__close:hover{background:#d2d945;color:#153750;transform:rotate(90deg)}.booking-modal__close svg{width:20px;height:20px}.booking-widget{min-height:120px;position:relative}.booking-widget:empty::after{content:'';display:block;width:36px;height:36px;margin:40px auto;border:3px solid rgb(21 55 80 / .15);border-top-color:#d2d945;border-radius:50%;animation:booking-spin 0.8s linear infinite}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (max-width:575px){.booking-fab{left:100px;right:15px;justify-content:center;font-size:14px;padding:13px 20px}.booking-modal__container{width:calc(100% - 24px);max-height:calc(100vh - 24px);padding:22px 16px 24px;border-radius:14px}.booking-modal__container::before{border-radius:14px 14px 0 0}}