.hs-discovery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin:18px 0 22px;color:#292724}
.hs-discoveryPreferences{flex:1;min-width:190px;border:1px solid #ded8ce;border-radius:12px;background:#fffdf9}
.hs-discoveryPreferences>summary{position:relative;display:flex;align-items:center;gap:14px;min-height:52px;padding:12px 38px 12px 16px;cursor:pointer;list-style:none}
.hs-discoveryPreferences>summary::-webkit-details-marker,.hs-discoveryHelp>summary::-webkit-details-marker,.hs-bookingFeedback>summary::-webkit-details-marker{display:none}
.hs-discoveryPreferences>summary::after{content:'';position:absolute;right:18px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);top:20px}.hs-discoveryPreferences[open]>summary::after{transform:rotate(225deg);top:24px}
.hs-filterTitle{font-size:14px;font-weight:600;white-space:nowrap}.hs-filterValue{font-size:13px;color:#68625b}
.hs-discoveryFilters{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 16px 8px}.hs-discoveryFilters label{display:grid;gap:7px;font-size:13px;font-weight:600}.hs-discoveryFilters select{width:100%;min-height:44px;padding:9px 10px;border:1px solid #c8c1b7;border-radius:8px;background:#fff;color:#292724;font:inherit;font-weight:400}
.hs-filterHint{margin:0!important;padding:2px 16px 8px;font-size:12px!important;line-height:1.5;color:#68625b}
.hs-discoveryActions{display:flex;gap:8px}.hs-discoveryButton{padding:12px 16px;min-height:52px;border:1px solid #c8c1b7;border-radius:12px;background:#fff;color:#292724;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.hs-discoveryButton:hover{background:#f4f0e9}.hs-discoveryButton:disabled{opacity:.55;cursor:wait}
.hs-discoveryTextButton{border:0!important;background:transparent!important;min-height:44px;padding:8px 16px;font-size:13px;font-weight:400;text-decoration:underline}.hs-discoveryStatus{flex-basis:100%;margin:0!important;font-size:13px!important;line-height:1.5;color:#68625b}
.hs-discoveryHelp{margin:24px 0 12px;border-top:1px solid #ded8ce;padding-top:8px;font-size:14px;line-height:1.5}.hs-discoveryHelp>summary{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;list-style:none;font-weight:600}.hs-discoveryHelp>summary::after{content:'+';font-size:20px;font-weight:400;color:#68625b}.hs-discoveryHelp[open]>summary::after{content:'−'}
.hs-helpOptions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:4px 0 12px}.hs-helpOptions .hs-discoveryButton{font-size:13px;min-height:44px}.hs-discoveryHelpLink,.hs-detailsHelp{color:#80381f;text-decoration:underline;font-size:13px}.hs-discoveryHelpLink{display:inline-flex;align-items:center;min-height:44px}
.hs-bookingFeedback{font-size:13px;color:#68625b;margin:0 0 8px}.hs-bookingFeedback>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.hs-feedbackReasons{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 12px}.hs-feedbackReasons .hs-discoveryButton{min-height:40px;padding:8px 12px;font-size:12px;font-weight:400}
.hs-discoveryPreferences:not([open])>:not(summary),.hs-discoveryHelp:not([open])>:not(summary),.hs-bookingFeedback:not([open])>:not(summary){display:none!important}
.hs-discovery [hidden],.hs-discoveryHelp[hidden],#bkTimeChoices [hidden]{display:none!important}.hs-discovery.is-searching+#bkTimeChoices .bk-timeLoading{display:none!important}
.hs-discoveryButton:focus-visible,.hs-discoveryPreferences>summary:focus-visible,.hs-discovery select:focus-visible,.hs-discoveryHelp summary:focus-visible,.hs-discoveryHelp a:focus-visible{outline:3px solid #c6522d;outline-offset:3px}
.hs-earlyPrice{font-size:14px;line-height:1.5;padding:12px 0;color:#56504a}.hs-optionalGratuity{margin:16px 0;border-top:1px solid #ded8ce;border-bottom:1px solid #ded8ce}.hs-optionalGratuity summary{cursor:pointer;min-height:44px;padding:12px 0}.hs-detailsHelp{display:inline-block;margin:16px 0;min-height:44px;padding:12px 0}.hs-guestMode--signin .hs-optionalGratuity{display:none!important}.hs-guestModeTabs{gap:10px!important}.hs-guestModeTabs button{min-height:52px!important}
@media(max-width:540px){.hs-discovery{gap:8px}.hs-discoveryPreferences{min-width:0}.hs-discoveryPreferences>summary{display:grid;gap:3px;min-height:58px;padding:9px 30px 9px 12px}.hs-filterValue{font-size:11px}.hs-discoveryPreferences>summary::after{right:12px;top:23px}.hs-discoveryActions .hs-discoveryButton{min-height:58px;padding:12px;font-size:12px}.hs-discoveryFilters{padding:4px 12px 8px;gap:8px}.hs-filterHint{padding-left:12px;padding-right:12px}.hs-helpOptions{display:grid;justify-items:start}}
.hs-searchRecovery{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin:20px 0}.hs-searchRecovery>.hs-discoveryButton{margin:0}.hs-searchRecovery .hs-discoveryHelp{flex:1;min-width:180px;margin:0}.hs-waitlistDialog{width:min(560px,calc(100% - 28px));max-height:90dvh;overflow:auto;padding:28px;border:1px solid #ded8cc;border-radius:16px;background:#fffdf9;color:#292724;font:16px/1.5 Arial,sans-serif}.hs-waitlistDialog::backdrop{background:rgba(25,25,20,.5)}.hs-waitlistDialog h2{font:normal 30px Georgia,serif;margin:0 0 12px}.hs-waitlistDialog label{display:block;margin:14px 0}.hs-waitlistDialog input:not([type=checkbox]),.hs-waitlistDialog select{box-sizing:border-box;display:block;width:100%;padding:12px;border:1px solid #bbb5a9;border-radius:8px;font:inherit;margin-top:6px}.hs-waitlistDialog input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.hs-waitlistDialog button{margin:8px 8px 0 0;min-height:44px}.hs-waitlistDialog a{color:inherit;display:inline-block;padding:12px 0;min-height:44px;box-sizing:border-box}.hs-waitlistFooter{display:flex;gap:18px;align-items:center;border-top:1px solid #ded8cc;margin-top:18px;padding-top:10px}.hs-waitlistDialog button:disabled{opacity:.5;cursor:wait}
.hs-searchRecovery[hidden]{display:none!important}
/* Compact opening chips: more times per row, with 44px touch targets. */
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-timeGrid{grid-template-columns:repeat(auto-fill,minmax(84px,96px))!important;gap:6px!important;justify-content:start!important}
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-timeButton{box-sizing:border-box!important;min-height:44px!important;padding:6px 8px!important;border-radius:7px!important}
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-timeButton .bk-choice__title{font-size:14px!important;line-height:1.2!important;white-space:nowrap!important}
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-timeButton.is-selected{padding:6px 8px!important}
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-timeButton.is-selected:after{width:10px!important;height:10px!important;right:2px!important;top:2px!important;font-size:8px!important}
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-dayGroup{padding:6px 8px!important;gap:6px!important;min-height:0!important;border-radius:9px!important;margin:0!important}
body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-dayHeader{font-size:12px!important;line-height:1.3!important}
@media(max-width:700px){body:not(.hs-client-portal-active) #booking-app #bkTimeChoices .bk-timeGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

body:not(.hs-client-portal-active) #booking-app #bkTimeChoices{gap:4px!important}
/* Client choices use the same outlined selection cards as booking choices. */
#booking-app #bkGuestAuthPanel .hs-guestModeTabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 0 20px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#booking-app #bkGuestAuthPanel .hs-guestModeTabs button{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:46px!important;margin:0!important;padding:10px 12px!important;border:1px solid #e7ded9!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;color:#716965!important;font:500 14px/1.3 var(--hs-client-font,Arial,sans-serif)!important;text-align:center!important;text-decoration:none!important}
#booking-app #bkGuestAuthPanel .hs-guestModeTabs button[aria-selected="true"]{border-color:#ff4315!important;background:#fff0eb!important;color:#171513!important;font-weight:600!important}
#booking-app #bkGuestAuthPanel .hs-guestModeTabs button::before,#booking-app #bkGuestAuthPanel .hs-guestModeTabs button::after{content:none!important;display:none!important}
#booking-app #bkGuestAuthPanel .hs-guestModeTabs button:focus-visible{outline:2px solid #ff4315!important;outline-offset:3px!important}
#booking-app .bk-screen[data-screen="guest"] .hs-detailsAssurance{box-sizing:border-box!important;margin:0 0 20px!important;padding:18px!important;border:1px solid #e7ded9!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
#booking-app .bk-screen[data-screen="guest"] .hs-detailsAssurance>.hs-appointmentEyebrow{margin:0 0 10px!important;padding:0!important;border:0!important;line-height:1.4!important}
#booking-app .bk-screen[data-screen="guest"] .hs-detailsAssurance .bk-summaryAppointmentTime{padding:0!important;margin:0 0 14px!important;border:0!important}
#booking-app .bk-screen[data-screen="guest"] .hs-detailsAssurance .bk-summaryPrice{margin:16px 0 0!important;padding:14px 0 0!important;border-top:1px solid #e7ded9!important;border-bottom:0!important}
/* A compact search toolbar led by the selected week. */
body.hs-timeSearch #booking-app .hs-earlyPrice{max-width:520px!important;padding:0!important;margin:0 0 16px!important;display:grid!important;gap:3px!important}
#booking-app .hs-earlyPrice strong{display:block;font-size:15px;line-height:1.4;color:#171513;font-weight:600}
#booking-app .hs-earlyPrice span{display:block;font-size:12px;line-height:1.5;color:#716965}
body:not(.hs-client-portal-active) #booking-app .bk-rangeRail.hs-compactWeek{box-sizing:border-box!important;width:100%!important;max-width:520px!important;display:grid!important;grid-template-columns:100px minmax(0,1fr) 100px!important;gap:8px!important;padding:10px 0!important;margin:0 0 8px!important;min-height:0!important;border:0!important;border-radius:0!important;background:#fffaf7!important;box-shadow:none!important}
#booking-app .bk-rangeRail.hs-compactWeek::before{content:'Choose a week';grid-column:1/-1;font:600 14px/1.4 var(--hs-client-font,Arial,sans-serif);color:#171513;margin-bottom:2px}
body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangePrev,body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangeNext{box-sizing:border-box!important;width:100%!important;min-height:50px!important;height:auto!important;padding:8px!important;border:1px solid #e7ded9!important;border-radius:8px!important;background:#fff!important;color:#171513!important;font:600 13px/1.3 var(--hs-client-font,Arial,sans-serif)!important;box-shadow:none!important}
body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangeChoices{width:100%!important;min-width:0!important;display:block!important;overflow:visible!important}
body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangeChoices .bk-choice--range.is-selected{box-sizing:border-box!important;width:100%!important;min-height:50px!important;margin:0!important;padding:8px 10px!important;border:1px solid #ff4315!important;border-radius:8px!important;background:#fff0eb!important;box-shadow:none!important;color:#171513!important}
body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangeChoices .bk-choice--range .bk-choice__meta{font:600 16px/1.3 var(--hs-client-font,Arial,sans-serif)!important;color:#171513!important;margin:0!important}
body.hs-timeSearch #booking-app #hsBookingDiscovery{box-sizing:border-box!important;width:100%!important;max-width:520px!important;gap:8px!important;margin:6px 0 12px!important}
#booking-app #hsBookingDiscovery .hs-discoveryPreferences{min-width:0!important;border-radius:8px!important}
#booking-app #hsBookingDiscovery .hs-discoveryPreferences>summary{box-sizing:border-box!important;min-height:46px!important;padding:8px 30px 8px 12px!important;gap:8px!important}
#booking-app #hsBookingDiscovery .hs-filterValue{font-size:12px!important}
#booking-app #hsBookingDiscovery .hs-discoveryPreferences>summary::after{right:12px!important;top:17px!important}
#booking-app #hsBookingDiscovery .hs-discoveryActions .hs-discoveryButton{min-height:46px!important;padding:8px 12px!important;border-radius:8px!important;font-size:13px!important}
body.hs-timeSearch #booking-app #bkTimeActionsMount .hs-bottomAccount,body.hs-timeSearch #booking-app #bkNextBtn:disabled{display:none!important}
@media(max-width:540px){body:not(.hs-client-portal-active) #booking-app .bk-rangeRail.hs-compactWeek{grid-template-columns:76px minmax(0,1fr) 76px!important;gap:6px!important}body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangePrev,body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangeNext{font-size:12px!important}body:not(.hs-client-portal-active) #booking-app .hs-compactWeek #bkRangeChoices .bk-choice--range .bk-choice__meta{font-size:14px!important}}

#booking-app:has(.bk-screen[data-screen="time"].is-active) #bkActionsBar #bkNextBtn:disabled,#booking-app:has(.bk-screen[data-screen="time"].is-active) #bkActionsBar .hs-bottomAccount{display:none!important}
/* New clients keep their contact inputs in the same card as their introduction. */
#booking-app #bkGuestAuthPanel .hs-newClientCard,#booking-app #bkGuestAuthPanel .hs-guestSignIn{box-sizing:border-box!important;padding:20px!important;border:1px solid #e7ded9!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
#booking-app #bkGuestAuthPanel .hs-newClientCard>.hs-guestModeIntro{padding:0!important;margin:0 0 14px!important;border:0!important;background:transparent!important;box-shadow:none!important}
#booking-app #bkGuestAuthPanel .hs-newClientCard .hs-guestModeIntro strong{font-size:24px!important;line-height:1.2!important}
#booking-app #bkGuestAuthPanel .hs-newClientCard .hs-guestModeIntro p{margin:6px 0 0!important;font-size:13px!important;line-height:1.45!important}
#booking-app #bkGuestAuthPanel .hs-newClientCard #bkGuestContactFields{margin:0!important;padding:0!important;border:0!important;width:100%!important}
#booking-app #bkGuestAuthPanel #bkGuestContactFields .bk-gridFields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0 0 12px!important}
#booking-app #bkGuestAuthPanel #bkGuestContactFields .bk-gridFields:last-child{grid-template-columns:1fr!important;margin-bottom:0!important}
#booking-app #bkGuestAuthPanel #bkGuestContactFields .bk-field{margin:0!important;padding:0!important;min-width:0!important}
#booking-app #bkGuestAuthPanel #bkGuestContactFields .bk-label{display:block!important;margin:0 0 5px!important;font-size:13px!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important}
#booking-app #bkGuestAuthPanel #bkGuestContactFields .bk-input{box-sizing:border-box!important;width:100%!important;min-height:44px!important;padding:10px 12px!important;border:1px solid #e7ded9!important;border-radius:8px!important;background:#fff!important;font-size:15px!important}
#booking-app #bkGuestAuthPanel #bkContactRequirements{font-size:12px!important;line-height:1.4!important;margin:0 0 10px!important}
#booking-app .bk-screen[data-screen="guest"].hs-guestMode--new.is-active{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:14px 24px!important;align-items:start!important}
#booking-app .bk-screen.hs-guestMode--new>.hs-detailsAssurance{grid-column:1!important;grid-row:1/span 8!important;align-self:start!important}
#booking-app .bk-screen.hs-guestMode--new>#bkGuestAuthPanel{grid-column:2!important;grid-row:1!important;margin:0!important}
#booking-app .bk-screen.hs-guestMode--new>:is(.hs-optionalGratuity,#bkPaymentMethods,#bkPaymentQuick,.hs-detailsHelp){grid-column:2!important;margin:0!important}
#booking-app .bk-screen.hs-guestMode--new>#bkPaymentQuick{box-sizing:border-box!important;padding:20px!important;border:1px solid #e7ded9!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
@media(max-width:700px){#booking-app .bk-screen[data-screen="guest"].hs-guestMode--new.is-active{grid-template-columns:1fr!important;gap:14px!important}#booking-app .bk-screen.hs-guestMode--new>:is(.hs-detailsAssurance,#bkGuestAuthPanel,.hs-optionalGratuity,#bkPaymentMethods,#bkPaymentQuick,.hs-detailsHelp){grid-column:1!important;grid-row:auto!important}}
