.booking-action-strip{opacity:1;filter:blur();will-change:opacity, transform, filter, max-height;background:linear-gradient(#fafaf7eb,#fafaf7);border-top:1px solid #0c0f140f;flex-shrink:0;gap:8px;max-height:56px;padding:6px 14px;transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1),filter .24s cubic-bezier(.22,1,.36,1),max-height .26s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1),border-color .26s cubic-bezier(.22,1,.36,1);animation:.32s cubic-bezier(.22,1,.36,1) booking-strip-enter;display:flex;overflow:hidden;transform:translateY(0)}@keyframes booking-strip-enter{0%{opacity:0;filter:blur(4px);transform:translateY(12px)}}.booking-action-strip__button{min-height:36px;font-family:var(--chat-font-body,system-ui, sans-serif);cursor:pointer;border:1px solid #0c0f1414;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.booking-action-strip__button:active:not(:disabled){transform:scale(.98)}.booking-action-strip__button:disabled{opacity:.45;cursor:default}.booking-action-strip__button--primary{color:#f2f1ed;background:#0d7c6b;box-shadow:0 5px 14px #0d7c6b29}.booking-action-strip__button--muted{color:#0c0f14;background:#e5e7eb}.chat-window:has(.chat-composer:focus-within) .booking-action-strip{opacity:0;filter:blur(6px);pointer-events:none;border-top-color:#0000;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(8px)}@media (prefers-reduced-motion:reduce){.booking-action-strip,.booking-day,.booking-action-strip__button,.booking-slot-chip{transition:none;animation:none}}.booking-shell{z-index:20;pointer-events:auto;align-items:flex-end;display:flex;position:absolute;inset:0}.booking-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#03040699;transition:opacity .4s ease-out;position:absolute;inset:0}.booking-shell--visible .booking-scrim{opacity:1}.booking-sheet{z-index:1;background:var(--chat-booking-bg,#0c0f14);width:100%;height:min(88dvh,720px);min-height:0;max-height:100%;color:var(--chat-booking-ink,#f2f1ed);will-change:transform;border:1px solid #ffffff14;border-bottom:none;border-radius:24px 24px 0 0;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 -18px 58px #0006}.booking-handle-zone{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:14px 0 0}.booking-handle-zone:active{cursor:grabbing}.booking-handle{background:#ffffff26;border-radius:999px;width:48px;height:6px;margin:0 auto}.booking-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;grid-template-columns:74px 1fr 74px;align-items:center;gap:8px;padding:0 18px 14px;display:grid}.booking-header h2{text-align:center;font-family:var(--chat-font-display,Georgia, serif);margin:0;font-size:22px;font-weight:500;line-height:1.1}.booking-cancel,.booking-header__arrows button,.booking-back{color:var(--chat-booking-accent,#2dd4bf);font:inherit;cursor:pointer;background:0 0;border:none}.booking-cancel{text-align:left;font-size:13px;font-weight:700}.booking-header__arrows{justify-content:flex-end;gap:4px;display:flex}.booking-header__arrows button{border-radius:999px;width:32px;height:32px;font-size:24px;line-height:1}.booking-header__arrows button:hover{background:#2dd4bf1f}@supports (color:color-mix(in srgb, red 50%, transparent)){.booking-header__arrows button:hover{background:color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 12%, transparent)}}.booking-error,.booking-loading{border-radius:12px;margin:12px 18px 0;padding:10px 12px;font-size:13px}.booking-error{color:#f87171;background:#7f1d1d40}.booking-loading{color:var(--chat-booking-ink-soft,#a1a5b0);background:#ffffff0a}.booking-loading-overlay{z-index:5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#0c0f1480;border-radius:0 0 24px 24px;justify-content:center;align-items:center;transition:opacity .3s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:absolute;inset:0}.booking-loading-overlay--active{opacity:1;pointer-events:auto}.booking-step>section:focus{outline:none}.booking-slots,.booking-form-screen{padding-block:4rem}.booking-stepper{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;min-height:0;position:relative;overflow-y:auto}.booking-stepper::-webkit-scrollbar{width:4px}.booking-stepper::-webkit-scrollbar-track{background:0 0}.booking-stepper::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.booking-stepper::-webkit-scrollbar-thumb:hover{background:#ffffff40}.booking-step{padding:18px}.booking-step--forward{animation:.28s cubic-bezier(.32,.72,0,1) both booking-slide-forward}.booking-step--back{animation:.28s cubic-bezier(.32,.72,0,1) both booking-slide-back}@keyframes booking-slide-forward{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes booking-slide-back{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.booking-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:8px;font-size:12px;font-weight:700;display:grid}.booking-grid{gap:8px;display:grid}.booking-grid__row{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.booking-day{aspect-ratio:1;width:100%;min-height:40px;color:var(--chat-booking-ink,#f2f1ed);font-family:var(--chat-font-body,system-ui, sans-serif);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;font-size:15px;transition:transform .12s,box-shadow .12s,background .12s,opacity .12s;position:relative}.booking-day span{z-index:1;position:relative}.booking-day i{background:var(--chat-booking-accent,#2dd4bf);border-radius:50%;width:4px;height:4px;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.booking-day--spillover,.booking-day--past{opacity:.2}.booking-day--disabled{opacity:.35;cursor:default}.booking-day--available{background:#ffffff0d}.booking-day--available:hover{background:#ffffff14;transform:translateY(-1px)}.booking-day--today:not(.booking-day--selected){color:var(--chat-booking-accent,#2dd4bf);border-color:#2dd4bf8c}@supports (color:color-mix(in srgb, red 50%, transparent)){.booking-day--today:not(.booking-day--selected){border-color:color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 55%, transparent)}}.booking-day--selected{opacity:1;background:#2dd4bf14;border:1px solid #2dd4bf66;transform:scale(1.04);box-shadow:0 0 0 1px #2dd4bf80,0 0 0 4px #2dd4bf1f,0 4px 12px #2dd4bf2e,0 12px 32px #2dd4bf1a,inset 0 1px #ffffff0f}@supports (color:color-mix(in srgb, red 50%, transparent)){.booking-day--selected{background:color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 8%, transparent);border:1px solid color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 40%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 50%, transparent), 0 0 0 4px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 12%, transparent), 0 4px 12px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 18%, transparent), 0 12px 32px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 10%, transparent), inset 0 1px 0 #ffffff0f}}.booking-tz-note{text-align:center;margin:14px 0 0;font-size:12px}.booking-weekdays,.booking-tz-note{color:#ffffff75}.booking-back{align-items:center;gap:8px;min-height:40px;margin-bottom:14px;padding:0;font-weight:700;display:inline-flex}.booking-back span{font-size:26px;line-height:1}.booking-slot-list{flex-direction:column;gap:18px;display:flex}.booking-slot-group h3{z-index:1;background:var(--chat-booking-bg,#0c0f14);color:var(--chat-booking-ink-soft,#a1a5b0);text-transform:uppercase;letter-spacing:.16em;margin:0 0 10px;padding:6px 0;font-size:12px;position:sticky;top:0}.booking-slot-chip{width:100%;min-height:56px;color:var(--chat-booking-ink,#f2f1ed);font-family:var(--chat-font-body,system-ui, sans-serif);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;margin:0 0 12px;font-size:17px;font-weight:700}.booking-slot-chip:active{transform:scale(.99)}.booking-form{flex-direction:column;gap:14px;display:flex}.booking-form label{color:var(--chat-booking-ink,#f2f1ed);flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.booking-form small{color:var(--chat-booking-ink-soft,#a1a5b0);margin-left:6px;font-weight:500}.booking-form input{width:100%;height:50px;color:var(--chat-booking-ink,#f2f1ed);background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;outline:none;padding:0 14px;font-size:16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.booking-form input:focus{border-color:#2dd4bfb8;box-shadow:0 0 0 3px #2dd4bf1f}@supports (color:color-mix(in srgb, red 50%, transparent)){.booking-form input:focus{border-color:color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 72%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 12%, transparent)}}.booking-form input[aria-invalid=true]{border-color:#f87171bf}.booking-form em{color:#fca5a5;font-size:12px;font-style:normal}.booking-form__error{color:#fca5a5;margin:0;font-size:13px}.booking-submit{background:var(--chat-booking-action,#0d7c6b);min-height:52px;color:var(--chat-booking-action-ink,#f2f1ed);cursor:pointer;border:none;border-radius:999px;font-size:14px;font-weight:800;box-shadow:0 14px 34px #0d7c6b3d}@supports (color:color-mix(in srgb, red 50%, transparent)){.booking-submit{box-shadow:0 14px 34px color-mix(in srgb, var(--chat-booking-action,#0d7c6b) 24%, transparent)}}.booking-submit:disabled{opacity:.55;cursor:default}.booking-confirm{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.booking-confirm__glyph{width:76px;height:76px;color:var(--chat-booking-accent,#2dd4bf);background:#2dd4bf1f;border-radius:50%;justify-content:center;align-items:center;font-size:44px;display:flex;box-shadow:0 0 0 1px #2dd4bf59,0 18px 48px #2dd4bf33}@supports (color:color-mix(in srgb, red 50%, transparent)){.booking-confirm__glyph{background:color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 12%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 35%, transparent), 0 18px 48px color-mix(in srgb, var(--chat-booking-accent,#2dd4bf) 20%, transparent)}}.booking-confirm h2{font-family:var(--chat-font-display,Georgia, serif);margin:20px 0 8px;font-size:34px;font-weight:500}.booking-confirm p{color:var(--chat-booking-ink-soft,#a1a5b0);line-height:1.55}.booking-confirm__card{background:var(--chat-booking-card,#161920);border:1px solid #ffffff14;border-radius:18px;flex-direction:column;gap:6px;width:100%;margin:18px 0;padding:18px;display:flex}.booking-confirm__card span{color:var(--chat-booking-accent,#2dd4bf);font-weight:800}.booking-confirm__card strong{color:var(--chat-booking-ink,#f2f1ed);font-size:18px}.booking-confirm__card small{color:var(--chat-booking-ink-soft,#a1a5b0)}.booking-confirm__actions{gap:10px;width:100%;display:flex}.booking-confirm__button,.booking-confirm__close{background:var(--chat-booking-action,#0d7c6b);min-height:48px;color:var(--chat-booking-action-ink,#f2f1ed);cursor:pointer;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.booking-confirm__button--ghost{color:var(--chat-booking-ink,#f2f1ed);background:#ffffff14;flex:0 0 82px}.booking-confirm__hint{font-size:12px}.booking-confirm__close{width:100%;color:var(--chat-booking-ink,#f2f1ed);background:#ffffff14;flex:none;margin-top:6px}.booking-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:767px){.booking-shell{position:fixed}.booking-sheet{height:88dvh}.booking-action-strip{padding-bottom:10px}}
