.booking-modal-overlay{z-index:1000;place-items:center;padding:1.25rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.booking-modal-bg{-webkit-backdrop-filter:blur(6px);background:rgba(5,9,18,.62);animation:.35s both bmFade;position:absolute;top:0;bottom:0;left:0;right:0}.booking-modal-box{width:min(760px,100%);max-height:calc(100vh - 40px);background:var(--color-ivory);max-height:calc(100dvh - 40px);color:var(--color-navy-deep);border-top:3px solid var(--color-gold);border-radius:var(--radius-md);padding:34px 36px 28px;animation:.5s cubic-bezier(.2,1.1,.3,1) both bmRise;position:relative;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.5)}.booking-modal-close{background:var(--color-white);cursor:pointer;width:36px;height:36px;color:var(--color-navy-deep);border:1px solid rgba(201,162,39,.3);border-radius:50%;justify-content:center;align-items:center;transition:background .25s,color .25s,transform .25s;display:flex;position:absolute;top:14px;right:14px}.booking-modal-close:hover{background:var(--color-navy-deep);color:var(--color-white);transform:rotate(90deg)}.booking-modal-close svg{width:14px;height:14px}.booking-modal-eye{text-align:center;color:var(--color-gold-text);letter-spacing:.35em;text-transform:uppercase;font-size:.6875rem;font-weight:600;font-family:var(--font-sans)}.booking-modal-title{font-family:var(--font-serif);text-align:center;margin:8px 0 6px;font-size:max(1.75rem,min(4vw,2.375rem));font-weight:500;line-height:1.15}.booking-modal-sub{text-align:center;color:var(--color-text-secondary);font-family:var(--font-sans);margin:0 0 22px;font-size:.875rem;line-height:1.6}.booking-modal-label{color:var(--color-gold-text);letter-spacing:.28em;text-transform:uppercase;font-size:.6875rem;font-weight:700;font-family:var(--font-sans);margin:18px 0 10px}.booking-modal-dates{scrollbar-width:thin;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.booking-modal-day{background:var(--color-white);text-align:center;cursor:pointer;font-family:var(--font-sans);color:var(--color-navy-deep);border-radius:var(--radius-sm);border:1px solid rgba(201,162,39,.25);flex:0 0 66px;padding:10px 0;transition:border-color .22s,background .22s,color .22s,transform .22s;animation:.4s backwards bmChipIn}.booking-modal-day small{letter-spacing:.18em;color:var(--color-text-secondary);font-size:10px;font-weight:600;display:block}.booking-modal-day b{font-family:var(--font-serif);margin:3px 0;font-size:22px;font-weight:500;display:block}.booking-modal-day:hover{border-color:var(--color-gold);transform:translateY(-2px)}.booking-modal-day.on{background:var(--color-navy-deep);border-color:var(--color-navy-deep);color:var(--color-white)}.booking-modal-day.on small{color:rgba(255,255,255,.75)}.booking-modal-times{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.booking-modal-time{background:var(--color-white);font-family:var(--font-sans);color:var(--color-navy-deep);cursor:pointer;border-radius:var(--radius-sm);border:1px solid rgba(201,162,39,.25);padding:12px 0;font-size:.875rem;font-weight:500;transition:border-color .22s,background .22s;animation:.4s backwards bmChipIn}.booking-modal-time:hover{border-color:var(--color-gold);background:var(--color-champagne)}.booking-modal-time.on{background:var(--color-gold);border-color:var(--color-gold);font-weight:700}.booking-modal-details{opacity:0;visibility:hidden;grid-template-columns:1fr 1fr;gap:10px;max-height:0;transition:max-height .5s,opacity .4s,margin .4s,visibility 0s .5s;display:grid;overflow:hidden}.booking-modal-details.show{opacity:1;visibility:visible;max-height:260px;margin-top:4px;transition-delay:0s}.booking-modal-details input,.booking-modal-details select{background:var(--color-white);width:100%;font-family:var(--font-sans);color:var(--color-navy-deep);border-radius:var(--radius-sm);border:1px solid rgba(201,162,39,.25);padding:12px;font-size:.875rem}.booking-modal-details input:focus,.booking-modal-details select:focus{outline:2px solid var(--color-gold);outline-offset:-1px}.booking-modal-details .full{grid-column:1/-1}.booking-modal-foot{border-top:1px solid rgba(201,162,39,.2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding-top:18px;display:flex}.booking-modal-sum{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:.875rem}.booking-modal-sum b{color:var(--color-navy-deep);font-size:.9375rem;display:block}.booking-modal-confirm{background:var(--color-navy-deep);color:var(--color-white);font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);border:0;padding:14px 26px;font-size:.75rem;font-weight:700;transition:background .25s,color .25s}.booking-modal-confirm:disabled{opacity:.35;cursor:not-allowed}.booking-modal-confirm:not(:disabled):hover{background:var(--color-gold);color:var(--color-navy-deep)}.booking-modal-error{color:#a4231b;font-family:var(--font-sans);margin:10px 0 0;font-size:.8125rem}.booking-modal-alert{color:#a4231b;font-family:var(--font-sans);border-radius:var(--radius-sm);background:rgba(164,35,27,.06);border:1px solid rgba(164,35,27,.3);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:.8125rem;display:flex}.booking-modal-alert button{color:inherit;cursor:pointer;font-family:var(--font-sans);border-radius:var(--radius-sm);background:0 0;border:1px solid;padding:4px 10px;font-size:.75rem}.booking-modal-empty{text-align:center;color:var(--color-text-secondary);font-family:var(--font-sans);padding:18px 0;font-size:.875rem;line-height:1.6}.booking-modal-tz{text-align:center;color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:.06em;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:.75rem;display:flex}.booking-modal-tz select{background:var(--color-white);font-family:var(--font-sans);color:var(--color-navy-deep);border-radius:var(--radius-sm);border:1px solid rgba(201,162,39,.25);padding:7px 10px;font-size:.75rem}.booking-modal-skel{cursor:default;pointer-events:none;border-radius:var(--radius-sm);background:rgba(10,22,40,.05);position:relative;overflow:hidden}.booking-modal-skel:after{content:"";background:linear-gradient(90deg,transparent,rgba(201,162,39,.2),transparent);animation:1.4s ease-in-out infinite bmShimmer;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}.booking-modal-skel.booking-modal-day{height:64px}.booking-modal-skel.booking-modal-time{height:42px}.booking-modal-loading-note{font-family:var(--font-sans);color:var(--color-text-muted);justify-content:center;align-items:center;gap:6px;margin:22px 0 0;font-size:.8125rem;display:flex}.booking-modal-dot{background:var(--color-gold);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite bmDotBounce}.booking-modal-dot:nth-of-type(2){animation-delay:.15s}.booking-modal-dot:nth-of-type(3){animation-delay:.3s}.booking-modal-success{text-align:center;padding:30px 10px 14px;animation:.5s both bmRise}.booking-modal-success svg{width:84px;height:84px}.booking-modal-success circle{fill:none;stroke:var(--color-gold);stroke-width:3px;stroke-dasharray:190;stroke-dashoffset:190px;animation:.7s .1s forwards bmDraw}.booking-modal-success path{fill:none;stroke:var(--color-navy-deep);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50px;animation:.5s .7s forwards bmDraw}.booking-modal-success h4{font-family:var(--font-serif);margin:14px 0 6px;font-size:1.75rem;font-weight:500}.booking-modal-success p{color:var(--color-text-secondary);font-family:var(--font-sans);margin:0 0 18px;font-size:.875rem;line-height:1.6}.booking-modal-meeting{color:var(--color-gold-text);font-family:var(--font-sans);font-weight:600;text-decoration:underline}@keyframes bmFade{0%{opacity:0}to{opacity:1}}@keyframes bmRise{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:none}}@keyframes bmChipIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes bmDraw{to{stroke-dashoffset:0}}@keyframes bmShimmer{to{transform:translate(100%)}}@keyframes bmDotBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (max-width:600px){.booking-modal-overlay{place-items:end center;padding:0}.booking-modal-box{max-height:92vh;border-radius:14px 14px 0 0;max-height:92dvh;padding:28px 18px 22px;animation:.5s cubic-bezier(.2,1.1,.3,1) both bmSheet}.booking-modal-details{grid-template-columns:1fr}.booking-modal-foot{flex-direction:column;align-items:stretch}.booking-modal-confirm{width:100%}}@keyframes bmSheet{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.booking-modal-overlay,.booking-modal-overlay *{transition:none!important;animation:none!important}}
