.booking-backdrop:before,.booking-backdrop:after{content:"";z-index:0;pointer-events:none;position:fixed;inset:0}.booking-backdrop:before{background:radial-gradient(ellipse 95% 55% at 50% -12%, color-mix(in srgb, var(--org-accent) 14%, transparent) 0%, transparent 62%), radial-gradient(ellipse 75% 55% at 8% 105%, color-mix(in srgb, var(--tone-surface-card) 85%, transparent) 0%, transparent 68%), linear-gradient(165deg, var(--tone-wash-from,var(--background)) 0%, var(--tone-wash-via,var(--background)) 48%, var(--tone-wash-to,var(--background)) 100%)}.booking-backdrop:after{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px), linear-gradient(to bottom, var(--border) 1px, transparent 1px);opacity:.55;background-size:88px 56px;-webkit-mask-image:radial-gradient(72% 58% at 50% 2%,#000 0%,#0000 76%);mask-image:radial-gradient(72% 58% at 50% 2%,#000 0%,#0000 76%)}[data-layout-profile-effective=training].booking-backdrop:before{background:radial-gradient(ellipse 90% 50% at 50% -8%, color-mix(in srgb, var(--org-accent) 26%, transparent) 0%, transparent 58%), radial-gradient(ellipse 55% 40% at 92% 88%, color-mix(in srgb, var(--org-accent) 10%, transparent) 0%, transparent 70%), linear-gradient(165deg, var(--tone-wash-from,var(--background)) 0%, var(--tone-wash-via,var(--background)) 48%, var(--tone-wash-to,var(--background)) 100%)}[data-layout-profile-effective=training].booking-backdrop:after{opacity:.22}.booking-shell-card{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--card) 92%, transparent);box-shadow:0 1px 2px color-mix(in srgb, var(--foreground) 6%, transparent), 0 18px 40px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:box-shadow .22s,border-color .22s,transform .22s cubic-bezier(.16,1,.3,1)}[data-layout-profile-effective=training] .booking-shell-card{border-color:color-mix(in srgb, var(--border) 95%, transparent);background:color-mix(in srgb, var(--card) 94%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--foreground) 8%, transparent) inset, 0 1px 2px #00000040, 0 24px 56px #00000047}.booking-option{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--card) 88%, transparent);transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s cubic-bezier(.16,1,.3,1)}.booking-option:hover{border-color:color-mix(in srgb, var(--org-accent) 40%, var(--border));transform:translateY(-1px)}.booking-option-selected{border-color:color-mix(in srgb, var(--org-accent) 55%, transparent);background:color-mix(in srgb, var(--org-accent) 12%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--org-accent) 28%, transparent), 0 12px 28px color-mix(in srgb, var(--org-accent) 12%, transparent)}[data-layout-profile-effective=training] .booking-option-selected{background:color-mix(in srgb, var(--org-accent) 16%, var(--card))}.booking-cta{background:var(--org-accent);color:var(--org-accent-foreground);box-shadow:0 1px 0 #ffffff47 inset, 0 10px 28px color-mix(in srgb, var(--org-accent) 28%, transparent);transition:background-color .18s,transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s}.booking-cta:hover{background:var(--org-accent-hover);box-shadow:0 1px 0 #ffffff59 inset, 0 14px 34px color-mix(in srgb, var(--org-accent) 36%, transparent);transform:translateY(-1px)}.booking-cta:disabled{opacity:.4;box-shadow:none;transform:none}.booking-step-dot{transition:background-color .3s,border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.16,1,.3,1)}.booking-step-dot-active{box-shadow:0 0 0 4px color-mix(in srgb, var(--org-accent) 22%, transparent);transform:scale(1.05)}@keyframes booking-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}.booking-panel-enter{animation:.42s cubic-bezier(.16,1,.3,1) both booking-enter}.booking-service-list-chip{border:1px solid color-mix(in srgb, var(--border) 95%, transparent);background:color-mix(in srgb, var(--card) 92%, transparent);color:var(--muted-foreground)}.booking-service-list-chip:hover{border-color:color-mix(in srgb, var(--org-accent) 35%, var(--border));color:var(--foreground)}.booking-service-list-chip-active{border-color:color-mix(in srgb, var(--org-accent) 55%, transparent);background:color-mix(in srgb, var(--org-accent) 16%, var(--card));color:var(--foreground);box-shadow:0 0 0 1px color-mix(in srgb, var(--org-accent) 22%, transparent)}.booking-spa-backdrop{background:var(--background,#fafafa)}.booking-spa-backdrop:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 48% at 50% -10%, color-mix(in srgb, var(--org-accent) 10%, transparent) 0%, transparent 55%), linear-gradient(180deg, var(--tone-wash-from,var(--background)) 0%, var(--tone-wash-via,var(--background)) 55%, var(--tone-wash-to,var(--background)) 100%);position:fixed;inset:0}.booking-spa-backdrop:after{content:none}[data-booking-skin=spa] .booking-shell-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #e8e8e8;box-shadow:0 1px 2px #1a1a1a0a,0 14px 32px #1a1a1a0f}[data-booking-skin=spa] .booking-option{background:#fff;border:1px solid #e8e8e8;border-radius:1.25rem}[data-booking-skin=spa] .booking-option:hover{border-color:color-mix(in srgb, var(--org-accent) 40%, #e8e8e8);background:#fff}[data-booking-skin=spa] .booking-option-selected{border-color:color-mix(in srgb, var(--org-accent) 55%, #e8e8e8);background:color-mix(in srgb, var(--org-accent) 8%, #fff);box-shadow:inset 3px 0 0 var(--org-accent), 0 0 0 1px color-mix(in srgb, var(--org-accent) 18%, transparent)}[data-booking-skin=spa] .booking-service-list-chip{color:#667085;background:#f5f5f5;border-color:#e8e8e8}[data-booking-skin=spa] .booking-service-list-chip:hover{border-color:color-mix(in srgb, var(--org-accent) 35%, #e8e8e8);color:#1a1a1a;background:#fff}[data-booking-skin=spa] .booking-service-list-chip-active{border-color:color-mix(in srgb, var(--org-accent) 50%, #e8e8e8);background:color-mix(in srgb, var(--org-accent) 14%, #fff);color:#1a1a1a}.booking-menu-sticky{z-index:30;background:color-mix(in srgb, var(--background,#fafafa) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);margin-inline:-.25rem;padding:.65rem .25rem .75rem;position:sticky;top:0}.booking-menu-sticky-cta{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.65rem;display:flex}.booking-menu-sticky-pick{flex:1;min-width:0}.booking-menu-sticky-badge{background:var(--org-accent);min-width:1.35rem;height:1.35rem;color:var(--org-accent-foreground);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex}.booking-menu-section{scroll-margin-top:7.5rem}.booking-cart-compact{z-index:25;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--card) 90%, transparent);box-shadow:0 10px 28px color-mix(in srgb, var(--foreground) 6%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;margin-bottom:1.75rem;padding:.85rem 1.1rem;position:sticky;top:0}.booking-cart-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.65rem;font-weight:600}.booking-cart-service{margin:.2rem 0 0;font-size:.875rem;line-height:1.35}.booking-cart-when{margin:.15rem 0 0;font-size:.8rem;line-height:1.35}[data-booking-skin=spa] .booking-cart-compact{border-color:color-mix(in srgb, var(--border) 88%, transparent);background:color-mix(in srgb, var(--card) 96%, transparent);box-shadow:0 8px 22px color-mix(in srgb, var(--foreground) 5%, transparent)}.booking-visual-guest-banner{z-index:30;text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--org-accent-foreground);background:var(--org-accent);margin:0;padding:.45rem 1rem;font-size:.75rem;font-weight:600;position:sticky;top:0}[data-visual-editing=true] .booking-visual-slot{cursor:pointer;outline-offset:4px;border-radius:.35rem;outline:2px solid #0000;max-width:100%;transition:outline-color .16s;display:inline-block}[data-visual-editing=true] .booking-visual-slot:hover,[data-visual-editing=true] .booking-visual-slot[data-selected=true]{outline-color:var(--org-accent)}[data-visual-editing=true] .booking-visual-slot-stack{width:100%;display:block}[data-visual-editing=true] .booking-visual-hero-empty{z-index:20;outline:2px dashed color-mix(in srgb, var(--org-accent) 55%, transparent);min-width:2.5rem;min-height:2.5rem;position:fixed;top:2.75rem;left:50%;transform:translate(-50%)}[data-visual-editing=true] .booking-visual-hero-backdrop{z-index:5;cursor:pointer;background:0 0;position:fixed;inset:0}[data-visual-editing=true] .booking-visual-hero-backdrop:hover,[data-visual-editing=true] .booking-visual-hero-backdrop[data-selected=true]{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--org-accent) 55%, transparent)}.booking-page-hero-bleed{display:none}.booking-page-mobile-header{background:color-mix(in srgb, var(--background) 70%, transparent);border-radius:1.25rem;min-height:8.5rem;margin-bottom:1.25rem;overflow:hidden}.booking-page-mobile-header-image{object-fit:cover;width:100%;height:10.5rem;display:block}.booking-page-mobile-header-label{text-align:center;min-height:8.5rem;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:1.25rem;justify-content:center;align-items:center;padding:1rem;font-size:.75rem;display:flex}[data-visual-editing=true] .booking-page-mobile-header.booking-visual-slot{max-width:none;display:block}[data-visual-editing=true] .booking-visual-page-bg{z-index:20;outline:2px dashed color-mix(in srgb, var(--org-accent) 55%, transparent);min-width:2.5rem;min-height:2.5rem;position:fixed;top:2.75rem;left:1rem}[data-visual-editing=true] .booking-visual-overlay{z-index:20;outline:2px dashed color-mix(in srgb, var(--org-accent) 55%, transparent);min-width:2.5rem;min-height:2.5rem;position:fixed;top:5.5rem;left:1rem}.booking-page-shell{width:100%;max-width:48rem;margin-inline:auto}.booking-page-shell-with-rails{max-width:90rem}.booking-page-main{width:100%;min-width:0}.booking-page-rail{display:none}.booking-page-rail-image{object-fit:cover;border-radius:1rem;width:100%;height:100%;min-height:22rem;display:block}.booking-page-rail-label{text-align:center;min-height:22rem;color:var(--muted-foreground);border:1px dashed var(--border);background:color-mix(in srgb, var(--background) 70%, transparent);border-radius:1rem;justify-content:center;align-items:center;padding:1rem;font-size:.75rem;display:flex}@media (min-width:64rem){.booking-page-hero-bleed{display:contents}.booking-page-mobile-header,[data-visual-editing=true] .booking-page-mobile-header.booking-visual-slot{display:none}.booking-page-shell-with-rails{grid-template-columns:minmax(7rem,16rem) minmax(0,48rem) minmax(7rem,16rem);align-items:start;column-gap:1.25rem;display:grid}.booking-page-rail{min-width:0;display:block}[data-visual-editing=true] .booking-page-rail.booking-visual-slot{max-width:none;display:block}}@media (max-width:63.99rem){[data-visual-editing=true] .booking-visual-hero-empty,[data-visual-editing=true] .booking-visual-overlay{display:none}}@media (prefers-reduced-motion:reduce){.booking-panel-enter,.booking-option,.booking-cta,.booking-shell-card,.booking-step-dot,.booking-service-list-chip{transition:none!important;animation:none!important}}
