@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.booking-time-slot-wrapper.animate{animation:slideInFromTop .4s ease-out forwards}@media only screen and (min-width:0rem){#booking-flow-date-time{background-color:var(--booking-page-background);min-height:100vh;padding:0}#booking-flow-date-time .booking-main-wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}#booking-flow-date-time .booking-left-content{flex:1;overflow-y:auto;padding:1.5rem}#booking-flow-date-time .booking-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}#booking-flow-date-time .booking-header-top h1{color:var(--booking-main-text);font-family:Gordita,Arial,sans-serif;font-size:1.75rem;font-weight:700;line-height:1.2;margin:0}#booking-flow-date-time .booking-calendar-btn{align-items:center;background:none;border:none;color:#1a1a1a;cursor:pointer;display:flex;height:2rem;justify-content:center;padding:0;width:2rem}#booking-flow-date-time .booking-calendar-btn svg{height:100%;width:100%}#booking-flow-date-time .booking-date-section{margin-bottom:2.5rem}#booking-flow-date-time .booking-date-section h2{color:var(--booking-main-text);font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:600;margin:0 0 1rem}#booking-flow-date-time .booking-date-controls{align-items:center;display:flex;gap:.75rem}#booking-flow-date-time .booking-date-next,#booking-flow-date-time .booking-date-prev{align-items:center;background:none;border:none;color:#1a1a1a;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0}#booking-flow-date-time .booking-date-next svg,#booking-flow-date-time .booking-date-prev svg{height:1.25rem;width:1.25rem}#booking-flow-date-time .booking-date-carousel{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}#booking-flow-date-time .booking-date-carousel::-webkit-scrollbar{display:none}#booking-flow-date-time .booking-date-scrollable-inner{display:flex;gap:.75rem;min-width:-moz-min-content;min-width:min-content;padding-bottom:.5rem}#booking-flow-date-time .booking-date-tile-wrapper{display:flex;flex-shrink:0}#booking-flow-date-time .booking-date-tile{align-items:center;background-color:var(--booking-card-background);border:none;border-radius:.75rem;color:var(--booking-main-text);cursor:pointer;display:flex;flex-direction:column;font-family:Gordita,Arial,sans-serif;font-size:.875rem;font-weight:500;justify-content:center;padding:.75rem 1rem;transition:all .2s ease;width:5rem}#booking-flow-date-time .booking-date-tile:hover:not(.booking-date-tile--selected){background-color:var(--booking-secondary-button-hover);border-color:var(--booking-secondary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-date-tile:hover:not(.booking-date-tile--selected) .booking-date-day,#booking-flow-date-time .booking-date-tile:hover:not(.booking-date-tile--selected) .booking-date-month,#booking-flow-date-time .booking-date-tile:hover:not(.booking-date-tile--selected) .booking-date-number{color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-date-tile.booking-date-tile--selected{background-color:var(--booking-primary-button);border-color:var(--booking-primary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-date-tile.booking-date-tile--unavailable{cursor:pointer;opacity:.7}#booking-flow-date-time .booking-date-tile .booking-date-day{color:#999;font-size:.75rem;font-weight:500;text-transform:capitalize}#booking-flow-date-time .booking-date-tile .booking-date-number{color:#1a1a1a;font-size:1.25rem;font-weight:700;line-height:1;margin:.25rem 0}#booking-flow-date-time .booking-date-tile .booking-date-month{color:#999;font-size:.75rem;font-weight:500}#booking-flow-date-time .booking-date-tile.booking-date-tile--selected .booking-date-day,#booking-flow-date-time .booking-date-tile.booking-date-tile--selected .booking-date-month,#booking-flow-date-time .booking-date-tile.booking-date-tile--selected .booking-date-number{color:#fff}#booking-flow-date-time .booking-time-section h2{color:var(--booking-main-text);font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:600;margin:0 0 1rem}#booking-flow-date-time .booking-time-grid{display:flex;flex-direction:column;gap:.75rem}#booking-flow-date-time .booking-time-slot-wrapper{display:flex;min-height:4.0625rem;position:relative}#booking-flow-date-time .booking-time-slot{align-items:center;background-color:var(--booking-page-background);border:2px solid var(--booking-card-border);border-radius:.5rem;color:var(--booking-main-text);cursor:pointer;display:flex;flex:1;font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:500;padding:1rem;text-align:left;transition:all .2s ease}#booking-flow-date-time .booking-time-slot:hover{background-color:var(--booking-secondary-button-hover);border-color:var(--booking-secondary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-time-slot:hover .booking-time-slot-text{color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-time-slot[aria-pressed=true]{background-color:var(--booking-primary-button);border-color:var(--booking-primary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-time-slot[aria-pressed=true] .booking-time-slot-text{color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-time-slot-text{font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:500;margin:0}#booking-flow-date-time .booking-time-input{display:none}#booking-flow-date-time .booking-unavailable-message{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:1.25rem 0;padding:2.5rem 1.25rem;text-align:center}#booking-flow-date-time .booking-unavailable-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;max-width:25rem}#booking-flow-date-time .booking-unavailable-icon{flex-shrink:0;height:5rem;width:5rem}#booking-flow-date-time .booking-unavailable-title{color:var(--booking-main-text);font-family:Gordita,Arial,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}#booking-flow-date-time .booking-unavailable-subtitle{color:var(--booking-secondary-text);font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.4;margin:0}#booking-flow-date-time .booking-unavailable-btn{background-color:transparent;border:2px solid var(--booking-card-border);border-radius:1.5rem;color:var(--booking-main-text);cursor:pointer;font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}#booking-flow-date-time .booking-unavailable-btn:hover{background-color:var(--booking-secondary-button-hover);border-color:var(--booking-secondary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-unavailable-btn:active{background-color:var(--booking-secondary-button);border-color:var(--booking-secondary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-calendar-modal{display:none!important;position:fixed;z-index:9999!important}#booking-flow-date-time .booking-calendar-modal.active{display:block!important}#booking-flow-date-time .booking-calendar-overlay{display:none}#booking-flow-date-time .booking-calendar-popup{background-color:#fff;border-radius:1rem;box-shadow:0 4px 16px rgba(0,0,0,.12);max-width:23.75rem;padding:1.5rem 1.25rem;position:relative;width:23.75rem;z-index:10000}#booking-flow-date-time .booking-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}#booking-flow-date-time .booking-calendar-next,#booking-flow-date-time .booking-calendar-prev{align-items:center;background:none;border:none;color:#1a1a1a;cursor:pointer;display:flex;justify-content:center;padding:0;transition:all .2s ease}#booking-flow-date-time .booking-calendar-next:hover,#booking-flow-date-time .booking-calendar-prev:hover{color:#849573}#booking-flow-date-time .booking-calendar-title{color:#1a1a1a;font-family:Gordita,Arial,sans-serif;font-size:1.5rem;font-weight:600;margin:0;text-align:center}#booking-flow-date-time .booking-calendar-weekdays{display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:1rem;text-align:center}#booking-flow-date-time .booking-calendar-weekday{color:#999;font-family:Gordita,Arial,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 0}#booking-flow-date-time .booking-calendar-days{display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr)}#booking-flow-date-time .booking-calendar-day{align-items:center;aspect-ratio:1;background-color:transparent;border:none;border-radius:50%;color:#1a1a1a;cursor:pointer;display:flex;font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:500;justify-content:center;padding:0;transition:all .2s ease}#booking-flow-date-time .booking-calendar-day:hover:not(.disabled):not(.other-month){background-color:#f0f0f0}#booking-flow-date-time .booking-calendar-day.selected{background-color:var(--booking-primary-button);color:var(--booking-primary-button-text)}#booking-flow-date-time .booking-calendar-day.disabled{color:#ddd;cursor:not-allowed}#booking-flow-date-time .booking-calendar-day.weekend{color:#ddd;cursor:pointer}#booking-flow-date-time .booking-calendar-day.other-month{color:#ddd}#booking-flow-date-time .booking-calendar-day.today{border:2px solid var(--booking-primary-button)}#booking-flow-date-time .booking-cart-sidebar{background-color:#fafbfc;border-top:1px solid #f0e6d8;display:none;flex-direction:column;min-height:auto;padding:1.25rem}#booking-flow-date-time .booking-cart-sidebar.visible{display:flex}#booking-flow-date-time .booking-cart-header{margin-bottom:1rem}#booking-flow-date-time .booking-cart-title{color:#1a1a1a;font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:600;margin:0}#booking-flow-date-time .booking-cart-items{flex:1;margin-bottom:1rem;min-height:6.25rem}#booking-flow-date-time .booking-cart-empty{color:#999;font-size:.875rem;margin:0;padding:1.25rem 0;text-align:center}#booking-flow-date-time .booking-cart-datetime-section{border-bottom:1px solid #f0e6d8;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem 0}#booking-flow-date-time .booking-cart-datetime-item{align-items:center;display:flex;font-size:.875rem;gap:.75rem}#booking-flow-date-time .booking-cart-datetime-icon{align-items:center;color:#1a1a1a;display:flex;flex-shrink:0;height:1rem;justify-content:center;width:1rem}#booking-flow-date-time .booking-cart-datetime-text{color:#1a1a1a;font-size:.8125rem;font-weight:400}#booking-flow-date-time .booking-cart-item{align-items:center;border-bottom:1px solid #f0e6d8;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 0}#booking-flow-date-time .booking-cart-item:last-child{border-bottom:none}#booking-flow-date-time .booking-cart-item .booking-cart-item-content{display:flex;flex:1;flex-direction:column;gap:.25rem}#booking-flow-date-time .booking-cart-item .booking-cart-item-name{color:#1a1a1a;font-weight:500}#booking-flow-date-time .booking-cart-item .booking-cart-item-duration{color:#999;font-size:.75rem}#booking-flow-date-time .booking-cart-item .booking-cart-item-price{color:#849573;font-weight:600;margin-left:.75rem}#booking-flow-date-time .booking-cart-item .booking-cart-item-remove{background:none;border:none;color:#999;cursor:pointer;font-size:1.125rem;line-height:1;margin-left:.75rem;padding:0}#booking-flow-date-time .booking-cart-item .booking-cart-item-remove:hover{color:#d32f2f}#booking-flow-date-time .booking-cart-summary{border-top:1px solid #f0e6d8;margin-bottom:1rem;padding:1rem 0}#booking-flow-date-time .booking-cart-row{color:#767676;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem}#booking-flow-date-time .booking-cart-row.booking-cart-total{border-top:1px solid #f0e6d8;color:#1a1a1a;font-size:1rem;font-weight:600;margin-top:.75rem;padding-top:.75rem}#booking-flow-date-time .booking-cart-continue-btn{background-color:var(--booking-secondary-button);border:none;border-radius:.5rem;color:var(--booking-primary-button-text);cursor:pointer;font-family:Gordita,Arial,sans-serif;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease;width:100%}#booking-flow-date-time .booking-cart-continue-btn:hover:not(:disabled){background-color:var(--booking-secondary-button-hover)}#booking-flow-date-time .booking-cart-continue-btn:disabled{background-color:var(--booking-disabled-background);color:var(--booking-disabled-text);cursor:not-allowed!important;opacity:.6;pointer-events:none}#booking-flow-date-time .booking-cart-continue-btn:disabled:hover{cursor:not-allowed!important}#booking-flow-date-time .booking-cart-sidebar-desktop{display:none}#booking-flow-date-time .booking-cart-bottom-bar{background-color:#fff;border-radius:1.5rem 1.5rem 0 0;border-top:1px solid #f0e6d8;bottom:0;box-shadow:0 -4px 30px -10px rgba(0,0,0,.3);display:flex;flex-direction:column;left:0;position:fixed;right:0;transform:translateY(100%);transition:transform .3s ease;z-index:100}#booking-flow-date-time .booking-cart-bottom-bar.visible{transform:translateY(0)}#booking-flow-date-time .booking-cart-bottom-content{align-items:center;display:flex;gap:.75rem;padding:1rem}#booking-flow-date-time .booking-cart-bottom-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1;gap:.75rem;justify-content:space-between;padding:0}#booking-flow-date-time .booking-cart-bottom-info{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}#booking-flow-date-time .booking-cart-bottom-price{color:#1a1a1a;font-family:Gordita,Arial,sans-serif;font-size:1.125rem;font-weight:600}#booking-flow-date-time .booking-cart-bottom-details-row{align-items:center;display:flex;gap:.375rem}#booking-flow-date-time .booking-cart-bottom-icon{color:#999;flex-shrink:0}#booking-flow-date-time .booking-cart-bottom-details{color:#999;font-size:.8125rem}#booking-flow-date-time .booking-cart-bottom-continue-btn{background-color:var(--booking-primary-button);border:none;border-radius:.5rem;color:var(--booking-primary-button-text);cursor:pointer;font-family:Gordita,Arial,sans-serif;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease;white-space:nowrap}#booking-flow-date-time .booking-cart-bottom-continue-btn:hover:not(:disabled){background-color:var(--booking-primary-button-hover)}#booking-flow-date-time .booking-cart-bottom-continue-btn:disabled{background-color:var(--booking-disabled-background);color:var(--booking-disabled-text);cursor:not-allowed!important;opacity:.6;pointer-events:none}#booking-flow-date-time .booking-cart-bottom-continue-btn:disabled:hover{cursor:not-allowed!important}#booking-flow-date-time .booking-cart-bottom-panel{background-color:#fafbfc;border-top:1px solid #f0e6d8;display:none;flex-direction:column;max-height:60vh;overflow-y:auto;padding:1.25rem 1rem}#booking-flow-date-time .booking-cart-bottom-panel.visible{display:flex}#booking-flow-date-time .booking-cart-bottom-panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}#booking-flow-date-time .booking-cart-bottom-panel-title{color:#1a1a1a;font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:600;margin:0}#booking-flow-date-time .booking-cart-bottom-panel-close{align-items:center;background:none;border:none;color:#1a1a1a;cursor:pointer;display:flex;justify-content:center;padding:0}#booking-flow-date-time .booking-cart-bottom-panel-items{flex:1;margin-bottom:1rem}#booking-flow-date-time .booking-cart-bottom-panel-footer{border-top:1px solid #f0e6d8;padding-top:1rem}#booking-flow-date-time .booking-cart-divider{border:none;border-top:1px solid #f0e6d8;margin:0 0 1rem}#booking-flow-date-time .booking-cart-bottom-panel-total{color:#1a1a1a;display:flex;font-family:Gordita,Arial,sans-serif;font-size:1rem;font-weight:600;justify-content:space-between}}@media only screen and (min-width:37.5rem){#booking-flow-date-time .booking-left-content{padding:2rem}#booking-flow-date-time .booking-header-top h1{font-size:2rem}#booking-flow-date-time .booking-date-tile{padding:1rem 1.25rem}#booking-flow-date-time .booking-date-tile .booking-date-day{font-size:.8125rem}#booking-flow-date-time .booking-date-tile .booking-date-number{font-size:1.5rem}#booking-flow-date-time .booking-date-tile .booking-date-month{font-size:.8125rem}#booking-flow-date-time .booking-time-slot-wrapper{min-height:4.0625rem}#booking-flow-date-time .booking-time-slot{font-size:.9375rem;padding:1rem 1.25rem}#booking-flow-date-time .booking-time-slot-text{font-size:.9375rem}#booking-flow-date-time .booking-cart-sidebar{max-width:37.5rem;padding:1.5rem}#booking-flow-date-time .booking-cart-sidebar.visible{display:flex}}@media only screen and (min-width:64rem){#booking-flow-date-time .booking-main-wrapper{flex-direction:row;gap:2.5rem;margin:0 auto;max-width:87.5rem;padding:2.5rem 31.75rem 2.5rem 2.5rem}#booking-flow-date-time .booking-left-content{flex:1;max-width:50rem;overflow-y:visible;padding:0}#booking-flow-date-time .booking-header-top{margin-bottom:2.5rem}#booking-flow-date-time .booking-header-top h1{font-size:2.25rem}#booking-flow-date-time .booking-date-section{margin-bottom:3rem}#booking-flow-date-time .booking-date-section h2{font-size:1.125rem;margin-bottom:1.25rem}#booking-flow-date-time .booking-date-controls{gap:1rem}#booking-flow-date-time .booking-date-carousel{flex:1;overflow:hidden;width:calc(100% - 80px)}#booking-flow-date-time .booking-date-scrollable-inner{gap:1rem}#booking-flow-date-time .booking-date-tile{padding:1rem 1.25rem;width:4.3125rem}#booking-flow-date-time .booking-date-tile .booking-date-day{font-size:.8125rem}#booking-flow-date-time .booking-date-tile .booking-date-number{font-size:1.5rem}#booking-flow-date-time .booking-date-tile .booking-date-month{font-size:.8125rem}#booking-flow-date-time .booking-time-section h2{font-size:1.125rem;margin-bottom:1.25rem}#booking-flow-date-time .booking-time-grid{gap:1rem}#booking-flow-date-time .booking-time-slot-wrapper{min-height:4.0625rem}#booking-flow-date-time .booking-time-slot{font-size:1rem;padding:1rem 1.25rem}#booking-flow-date-time .booking-time-slot-text{font-size:1rem}#booking-flow-date-time .booking-cart-sidebar-desktop{background-color:#fafbfc;border:none;border-radius:1.5rem;box-shadow:0 2px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - 160px);left:50%;margin-left:11.125rem;max-height:calc(100vh - 160px);overflow:hidden;padding:2.5rem 2rem;position:fixed;top:7.5rem;width:28.125rem}#booking-flow-date-time .booking-cart-header{margin-bottom:1.5rem}#booking-flow-date-time .booking-cart-title{font-size:1.125rem}#booking-flow-date-time .booking-cart-items{flex:1;margin-bottom:1rem;margin-right:-2rem;overflow-y:auto;padding-right:1.75rem;scrollbar-color:#e8d9bc transparent;scrollbar-width:thin}#booking-flow-date-time .booking-cart-items::-webkit-scrollbar{width:.25rem}#booking-flow-date-time .booking-cart-items::-webkit-scrollbar-track{background:transparent}#booking-flow-date-time .booking-cart-items::-webkit-scrollbar-thumb{background-color:#e8d9bc;border-radius:.25rem}#booking-flow-date-time .booking-cart-summary{flex-shrink:0}#booking-flow-date-time .booking-cart-continue-btn{flex-shrink:0;font-size:.9375rem;padding:.875rem 1.25rem}#booking-flow-date-time .booking-cart-bottom-bar{display:none}}