.booking-redesign{--background:#fff;--foreground:#202020;--card:#fff;--card-foreground:#202020;--popover:#fff;--popover-foreground:#202020;--primary:#202020;--primary-foreground:#fff;--secondary:#f5f5f5;--secondary-foreground:#202020;--muted:#f5f5f5;--muted-foreground:#666;--accent:#f3f3f3;--accent-foreground:#202020;--border:#e5e5e5;--input:#d5d5d5;--ring:#202020;--radius:6px;color:var(--foreground);background:var(--background)}body:has(.booking-redesign) :is([data-slot=dialog-content],[data-slot=alert-dialog-content],[data-slot=sheet-content]){--background:#fff;--foreground:#202020;--card:#fff;--card-foreground:#202020;--popover:#fff;--popover-foreground:#202020;--primary:#202020;--primary-foreground:#fff;--secondary:#f5f5f5;--secondary-foreground:#202020;--muted:#f5f5f5;--muted-foreground:#666;--accent:#f3f3f3;--accent-foreground:#202020;--border:#e5e5e5;--input:#d5d5d5;--ring:#202020;--radius:6px;color:var(--foreground);background:var(--background)}.booking-page-enter{animation:.35s ease-out booking-page-enter}@keyframes booking-page-enter{0%{opacity:.6}to{opacity:1}}@media (prefers-reduced-motion:reduce){.booking-page-enter{animation:none}}.booking-flow-shell{max-width:1104px;padding-bottom:var(--booking-scroll-reserve,0px)}.booking-flow-header{border-bottom:1px solid var(--border);padding:20px 24px}.booking-brand-link{flex-wrap:wrap;align-items:center;gap:8px 20px;min-height:44px;display:flex}.booking-flow-navigation{padding:8px 24px 0}.booking-steps-trail{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;line-height:1.5;display:flex}.booking-steps-trail li{align-items:center;gap:6px;min-width:0;display:flex}.booking-steps-trail a,.booking-steps-trail [aria-current=step]{white-space:nowrap;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.booking-steps-trail a:hover{color:var(--foreground);text-underline-offset:4px;text-decoration:underline}.booking-steps-trail a[aria-disabled=true]{opacity:.5;cursor:wait}.booking-steps-trail [aria-current=step]{color:var(--foreground);font-weight:600}.booking-steps-separator{color:#b3b3b3;flex-shrink:0}.booking-flow-columns{flex:1;grid-template-columns:minmax(0,640px) minmax(260px,320px);align-items:start;gap:48px;padding:12px 24px 48px;display:grid}.booking-flow-catalog{grid-template-columns:minmax(0,1fr)}.booking-flow-main{min-width:0}.booking-appointment-summary{min-width:0;position:sticky;top:24px}.booking-appointment-summary h2{margin-bottom:16px;font-size:20px;font-weight:650}.booking-summary-panel{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;padding:20px}.booking-redesign h1{color:var(--foreground);letter-spacing:-.025em;font-size:26px;font-weight:650;line-height:1.25}.booking-redesign :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.booking-redesign :is(button,a,input,select,textarea){scroll-margin-block:24px}.booking-redesign input,.booking-redesign textarea{font-size:16px}.booking-redesign input[autocomplete=one-time-code]{font-size:24px}.booking-redesign [data-slot=card]{box-shadow:none;border-radius:6px;gap:16px}.booking-redesign [data-slot=card-content]{padding:20px}.booking-service-nav{z-index:20;border-bottom:1px solid var(--border);scrollbar-width:thin;background:#fff;gap:24px;max-width:100%;padding:0 0 1px;display:flex;position:sticky;top:0;overflow-x:auto}.booking-service-nav button{white-space:nowrap;min-height:48px;color:var(--muted-foreground);cursor:pointer;border-bottom:2px solid #0000;align-items:center;font-size:14px;font-weight:500;display:flex}.booking-service-nav button[aria-current]{color:var(--foreground);border-color:var(--foreground)}.booking-service-section{scroll-margin-top:76px}.booking-service-section h2{letter-spacing:-.02em;margin:28px 0 8px;font-size:22px;font-weight:650;line-height:1.35}.booking-service-row{border-bottom:1px solid #ededed;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:24px 0;display:flex;position:relative}.booking-service-row:has(.booking-service-navigation[data-pending=true]){background:#f5f5f5}.booking-service-navigation{vertical-align:-3px;color:#005fe0;width:16px;height:16px;margin-inline-start:8px;display:inline-flex}.booking-service-navigation:not([data-pending=true]){width:0;margin:0}.booking-service-link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.booking-service-link:active{opacity:1}.booking-redesign .booking-service-link:focus-visible{outline:none}.booking-service-row:has(.booking-service-link:focus-visible){outline:2px solid var(--foreground);outline-offset:-2px}html[data-input=pointer] .booking-service-row:has(.booking-service-link:focus-visible){outline:none}.booking-service-description-wrap{position:relative}.booking-service-description[data-collapsed=true]{max-height:3.1em;overflow:hidden}.booking-service-more-ghost{visibility:hidden;margin-left:12px;font-weight:600;display:inline-block}.booking-service-more{z-index:2;color:var(--cs-ink,var(--foreground));text-underline-offset:3px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.55;text-decoration:underline;text-decoration-thickness:1px;position:absolute;bottom:0;right:0}.booking-service-more:before{content:"";position:absolute;inset:-12px -8px}.booking-service-row h3{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.5}.booking-service-row p{font-size:14px;line-height:1.55}.booking-service-description{color:var(--muted-foreground);margin-top:4px}.booking-service-meta{margin-top:4px}.booking-service-photo{border-radius:6px;flex:0 0 96px;width:96px;height:96px;position:relative;overflow:hidden}.booking-service-photo img{object-fit:cover;width:100%;height:100%}.booking-detail-photo{aspect-ratio:16/9;max-height:320px;margin-bottom:24px;overflow:hidden}.booking-staff-row{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:#fff;border-radius:0}.booking-staff-row:hover{box-shadow:none;border-color:var(--border)}.booking-redesign .booking-staff-list{flex-direction:column;gap:0;display:flex}.booking-redesign .booking-staff-list>*{margin-block:0}.booking-redesign :is([class~="text-[#1E1B4B]"],[class~="text-[#8B687A]"]){color:var(--foreground)}.booking-redesign :is([class~="bg-[#1E1B4B]"],[class~="bg-[#8B687A]"]){background-color:var(--primary);color:var(--primary-foreground)}.booking-redesign :is([class~="bg-[#FDF2F2]"],[class~="bg-[#FDF2F2]/60"],[class~="bg-[#F5D0D0]"]){background-color:var(--muted)}.booking-redesign :is([class~="from-[#FDF2F2]"],[class~="from-[#FEFBFB]"],[class~="from-[#FFF8F8]"]){background-image:none;background-color:var(--muted)}.booking-redesign .booking-any-available [class~="bg-[#FDF2F2]"]{background-color:#e7e7e7}.booking-redesign :is([class~="border-[#EDCAC9]"],[class~="border-[#F5D0D0]"],[class~="border-[#F1D9DF]"],[class~="border-[#EDCAC9]/70"]){border-color:var(--border)}.booking-redesign [class~="border-[#8B687A]"]{border-color:var(--foreground)}.booking-redesign :is([class~=rounded-2xl],[class~="rounded-[20px]"],[class~="rounded-[28px]"]){border-radius:6px}.booking-redesign :is([class~=shadow-sm],[class~=shadow-md],[class~="shadow-[0_2px_12px_rgba(0,0,0,0.06)]"]){box-shadow:none}.booking-redesign [data-analytics-event=booking_calendar_toggle]{border-style:solid;border-width:1px}.booking-redesign [data-analytics-event=booking_date_select]{box-shadow:none;border-radius:6px;min-width:56px;min-height:64px}.booking-redesign [data-analytics-event=booking_slot_select]{box-shadow:none;border-radius:6px;min-height:48px}.booking-redesign [data-analytics-event=booking_slot_select]:is([aria-label$=", booked"],[aria-label$=", unavailable"]){opacity:1;color:#737373;background:#f5f5f5;border:1px solid #e5e5e5}.booking-redesign [data-analytics-event=booking_waitlist_open]{border-style:solid;border-width:1px}.booking-redesign .booking-checkout-inline-summary{display:none}.booking-redesign footer{background:#fff}.checkout-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-block:8px 12px;display:grid}.checkout-progress li{border-bottom:2px solid var(--border);color:var(--muted-foreground);align-items:center;gap:7px;padding-bottom:12px;font-size:12px;line-height:1.4;display:flex}.checkout-progress li[aria-current]{border-color:var(--foreground);color:var(--foreground);font-weight:600}.checkout-progress-number{background:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.checkout-progress li[aria-current] .checkout-progress-number{background:var(--foreground);color:#fff}.checkout-progress li[data-complete=true]{color:var(--foreground)}.checkout-continue-bar{z-index:10;padding-block:12px max(12px, env(safe-area-inset-bottom));background:var(--background,#fff);border-top:1px solid var(--border);gap:8px;display:grid;position:sticky;bottom:0}html:has(.checkout-continue-bar){scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom))}@media (min-width:768px){.booking-flow-header{justify-content:space-between;align-items:center;gap:32px;padding-block:16px;display:flex}.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.booking-service-grid .booking-service-row{border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:16px;padding:16px}.booking-service-grid .booking-service-photo{flex-basis:80px;width:80px;height:80px}}@media (min-width:1024px){.booking-redesign .booking-staff-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.booking-redesign .booking-staff-list :is([data-staff-id],[data-staff-skeleton])>.booking-staff-row{border:1px solid var(--border);border-radius:6px;height:100%}}@media (max-width:767px){.booking-flow-header{padding:12px 16px 16px}.booking-brand-link{gap:8px 12px;font-size:17px}.booking-brand-link>span:first-child{width:168px}.booking-header-location{letter-spacing:.04em;gap:5px;padding-inline:10px;font-size:13px}.booking-header-location svg{width:13px;height:13px}.booking-flow-navigation{padding:4px 16px 0}.booking-flow-columns{padding:12px 16px 32px;display:block}.booking-appointment-summary{display:none}.booking-redesign h1{font-size:24px}.booking-service-nav{gap:20px}.booking-service-row{gap:16px;padding-block:20px}.booking-service-row h3{font-size:15px}.booking-service-section h2{font-size:21px}.booking-redesign .booking-checkout-inline-summary{display:block}.booking-redesign [data-slot=card-content]{padding:16px}.booking-redesign [data-analytics-event=booking_date_select]{width:44px;min-width:44px;padding-inline:0}}@media (prefers-reduced-motion:reduce){.booking-redesign *,.booking-redesign :before,.booking-redesign :after{scroll-behavior:auto;transition-duration:0s;animation-duration:.01ms}}.booking-date-tile{background:#fff;border:1px solid #e5e5e5;border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;width:48px;height:52px;display:flex;overflow:hidden}.booking-date-tile span{color:#fff;letter-spacing:.06em;text-align:center;text-transform:uppercase;background:#202020;width:100%;padding:1px 0;font-size:10px;font-weight:600}.booking-date-tile strong{flex:1;align-items:center;font-size:19px;font-weight:600;line-height:1;display:flex}@media (min-width:768px){.booking-redesign .booking-checkout-root [data-slot=card-content]{padding:20px}}.booking-page-content,.customer-entry-content,.appointment-page{view-transition-name:booking-page}::view-transition{pointer-events:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-group(*){animation-duration:.26s;animation-timing-function:cubic-bezier(.45,0,.25,1)}::view-transition-group(booking-page){animation:none}::view-transition-group(booking-header){z-index:3;animation:none}::view-transition-old(booking-header){display:none}::view-transition-new(booking-header){animation:none}::view-transition-group(booking-steps){z-index:2}::view-transition-group(booking-summary){z-index:2}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.booking-service-row,.booking-redesign .booking-staff-list>*,.customer-studio-grid>*{animation:linear both booking-row-rise;animation-timeline:view();animation-range:entry entry 35%}}}@keyframes booking-row-rise{0%{opacity:0;translate:0 14px}}@media (prefers-reduced-motion:no-preference){.booking-service-row,.booking-redesign .booking-staff-row,.appointment-action-tile,.booking-checkout-root [data-slot=button]{transition:background-color .16s,border-color .16s,box-shadow .16s,scale .12s}.booking-redesign [data-analytics-event=booking_slot_select]{transition:scale .12s}.booking-redesign [data-analytics-event=booking_continue_checkout]{transition:background-color .16s,color .16s,scale .12s cubic-bezier(.2,.8,.2,1)}.booking-redesign .booking-staff-row:active,.booking-redesign [data-analytics-event=booking_slot_select]:active,.booking-checkout-root [data-slot=button]:active:not(:disabled){scale:.98}.booking-service-row:active:not(:has(.booking-service-more:active)){scale:.98}.booking-redesign [data-analytics-event=booking_continue_checkout]:active:not(:disabled){scale:.97}.booking-service-photo img{transition:opacity .24s,scale .4s cubic-bezier(.2,.8,.2,1)}.booking-service-photo img[data-photo-cached]{transition:scale .4s cubic-bezier(.2,.8,.2,1)}.booking-redesign [data-analytics-event=booking_slot_select][aria-pressed=true]{animation:.16s cubic-bezier(.2,.8,.2,1) booking-select-pop}.booking-checkout-root>[data-checkout-reveal]{animation:.22s cubic-bezier(.2,.8,.2,1) both booking-fade-in}}@media (hover:hover){.booking-service-row:hover{background:#fafaf9}}@media (prefers-reduced-motion:reduce){.booking-service-row:active:not(:has(.booking-service-more:active)){background:#f5f5f5}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.booking-service-row:hover .booking-service-photo img{scale:1.04}}@keyframes booking-select-pop{0%{scale:.97}}@keyframes booking-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.booking-redesign .booking-any-available{border:1px solid var(--border);background:#fafaf9;border-radius:6px}.booking-redesign .booking-any-available .booking-staff-row{background:0 0;border-bottom:0}@media (hover:hover){.booking-redesign .booking-any-available:hover{background:#f5f5f4}.booking-redesign .booking-staff-list a:hover .booking-staff-row,.booking-redesign .booking-staff-list a.booking-staff-row:hover{background:#fafaf9}}.booking-redesign .booking-opening-preview{color:#525252;background:#f5f5f4;border-radius:6px;width:fit-content;max-width:100%;padding:2px 10px 2px 8px;font-weight:500;display:inline-flex}.booking-redesign .booking-opening-preview[data-opening=found]{color:#1f4d33;background:#edf5ef}.booking-redesign .booking-opening-preview[data-opening=home-studio]{background:var(--client-accent-tint);color:var(--client-accent-ink);border:1px solid var(--client-accent-outline);border-radius:999px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:44px;padding:8px 14px;font-size:14px;font-weight:600}@media (hover:hover){.booking-redesign .booking-staff-row:hover .booking-opening-preview[data-opening=home-studio]{border-color:var(--client-accent-ink)}}.booking-redesign .booking-opening-preview[data-opening=loading]{animation:.2s ease-out .15s both skeleton-reveal,1.4s ease-in-out .35s infinite booking-pill-breathe}@keyframes booking-pill-breathe{50%{opacity:.55}}.booking-slot-group-label{color:#525252;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.booking-redesign [data-analytics-event=booking_slot_select]:not([aria-pressed=true]):not(:disabled){color:#202020;border:1px solid var(--border);background:#fff}.booking-redesign [data-analytics-event=booking_slot_select][aria-pressed=true]:not(:disabled){color:#fff;box-shadow:none;--tw-ring-shadow:0 0 #0000;background:#202020}@media (hover:hover){.booking-redesign [data-analytics-event=booking_slot_select]:not([aria-pressed=true]):not(:disabled):hover{background:#fafaf9;border-color:#202020}}@media (prefers-reduced-motion:no-preference){.booking-redesign .booking-slot-list [data-analytics-event=booking_slot_select]{animation:.18s cubic-bezier(.2,.8,.2,1) both booking-slot-in;animation-delay:calc(min(var(--i,0), 8) * 25ms)}.booking-redesign .booking-slot-list [data-analytics-event=booking_slot_select][aria-pressed=true]{animation:.18s cubic-bezier(.2,.8,.2,1) both booking-slot-in,.16s cubic-bezier(.2,.8,.2,1) booking-select-pop;animation-delay:calc(min(var(--i,0), 8) * 25ms), 0s}}@keyframes booking-slot-in{0%{opacity:0;translate:0 4px}}@media (prefers-reduced-motion:reduce){.booking-redesign .booking-opening-preview[data-opening=loading]{animation:1ms step-end .15s both skeleton-reveal}}.booking-redesign .booking-day-tile{border:1px solid var(--border);color:#202020;width:54px;min-width:54px;min-height:66px;box-shadow:none;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:6px;flex-direction:column;align-items:stretch;padding:0;display:flex;position:relative;overflow:hidden}.booking-day-band{color:#525252;letter-spacing:.06em;text-align:center;text-transform:uppercase;background:#f5f5f4;padding:3px 0 2px;font-size:10px;font-weight:600;line-height:1.3}.booking-day-number{font-variant-numeric:tabular-nums;flex:1;justify-content:center;align-items:center;font-size:21px;font-weight:600;line-height:1;display:flex}.booking-redesign .booking-day-tile[data-available]:after{content:"";background:#2f7a4f;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:5px;left:50%}.booking-redesign .booking-day-tile[aria-pressed=true]{border-color:#202020;box-shadow:inset 0 0 0 1px #202020}.booking-redesign .booking-day-tile[aria-pressed=true] .booking-day-band{color:#fff;background:#202020}.booking-redesign .booking-day-tile[data-unavailable]:not([aria-pressed=true]){color:#737373;background:#fafaf9}.booking-redesign .booking-day-tile[data-unavailable]:not([aria-pressed=true]) .booking-day-band{color:#6b6b6b;background:#f5f5f4}.booking-redesign .booking-day-tile:active{opacity:1}.booking-redesign .booking-day-tile:not([aria-pressed=true]):active{background:#f5f5f4}.booking-redesign .booking-day-tile:focus-visible{outline-offset:1px}@media (hover:hover){.booking-redesign .booking-day-tile:not([aria-pressed=true]):not(:disabled):hover{border-color:#a3a3a3}}@media (max-width:767px){.booking-redesign .booking-day-tile{width:50px;min-width:50px}}
