.booking-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.booking-overlay--active{opacity:1;visibility:visible}.booking-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:hsl(var(--secondary));color:hsl(var(--foreground));cursor:pointer;transition:background .2s ease;flex-shrink:0}.booking-close:hover{background:hsl(var(--destructive));color:#fff}.booking-iframe{width:100%;height:100%;border:none;flex:1}.booking-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:90vw;max-width:520px;height:85vh;max-height:700px;background:hsl(var(--card));border-radius:1.5rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgba(0,0,0,.4);opacity:0;transition:transform .3s ease,opacity .3s ease}.booking-modal--active{transform:translate(-50%,-50%) scale(1);opacity:1}.booking-modal .booking-close{position:absolute;top:12px;right:12px;z-index:10;background:hsla(0,0%,100%,.9);box-shadow:0 2px 8px rgba(0,0,0,.15)}.booking-modal .booking-close:hover{background:hsl(var(--destructive));color:#fff}.booking-drawer{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;background:hsl(var(--card));box-shadow:-8px 0 30px rgba(0,0,0,.2);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.booking-drawer--active{transform:translateX(0)}.booking-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid hsl(var(--border));flex-shrink:0}.booking-drawer-title{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));margin:0}.booking-fab{position:fixed;bottom:24px;right:24px;z-index:9990;display:flex;align-items:center;gap:8px;padding:14px 24px;background:hsl(var(--gold));color:hsl(var(--gold-foreground));border:none;border-radius:9999px;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;animation:booking-fab-pulse 3s ease-in-out infinite}.booking-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.3)}@keyframes booking-fab-pulse{0%,to{box-shadow:0 8px 24px rgba(0,0,0,.2)}50%{box-shadow:0 8px 32px rgba(0,0,0,.35)}}@media (max-width:768px){.booking-modal{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;top:0;left:0;transform:translateY(100%)}.booking-modal--active{transform:translateY(0)}.booking-drawer{width:100vw}.booking-fab{bottom:16px;right:16px;padding:12px 20px;font-size:.85rem}}