.booking-modal{box-sizing:border-box;opacity:0;position:fixed;visibility:hidden;z-index:-1;margin:0;top:0;left:0;width:100%;height:100%;overflow:auto}.booking-modal[open]{opacity:1;visibility:visible;z-index:100}.booking-modal__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(var(--color-foreground),.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.booking-modal__container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;z-index:1}.booking-modal__close{position:absolute;top:2rem;right:2rem;background-color:rgb(var(--color-background));border:.1rem solid rgba(var(--color-foreground),.1);border-radius:50%;color:rgba(var(--color-foreground),.55);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:1.2rem;width:4rem;height:4rem;z-index:6;transition:color .2s ease,background-color .2s ease}.booking-modal__close:hover{color:rgba(var(--color-foreground),.75);background-color:rgba(var(--color-background),1)}.booking-modal__close .icon{height:auto;margin:0;width:2.2rem}.booking-modal__content{width:100%;height:100%;display:flex;background-color:rgb(var(--color-background));position:relative;overflow:hidden}.booking-modal__content:empty{display:flex}.booking-modal__image-wrapper{display:none;width:40%;height:100%;position:relative;overflow:hidden}.booking-modal__image-wrapper:empty{display:none}.booking-modal__image{width:100%;height:100%;object-fit:cover;object-position:center}.booking-modal__image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--color-foreground),.05),rgba(var(--color-foreground),.1));display:flex;align-items:center;justify-content:center;color:rgba(var(--color-foreground),.4);font-size:1.4rem}.booking-modal__form-wrapper{width:100%;height:100%;overflow-y:auto;padding:4rem 2rem;display:flex;flex-direction:column;position:relative;align-items:flex-start}.booking-modal__form-wrapper:empty{display:flex}.booking-modal__steps{width:100%;position:relative;flex:1;display:block}.booking-modal__steps:empty{display:block}.booking-modal__step{display:none;opacity:0;transform:translate(0);transition:opacity .3s ease,transform .3s ease}.booking-modal__step:empty{display:none}.booking-modal__step--active{display:block;opacity:1}.booking-modal__step--fade-out-right{opacity:0;transform:translate(-30px)}.booking-modal__step--fade-in-right{opacity:0;transform:translate(30px);animation:fadeInRight .3s ease forwards}.booking-modal__step--fade-out-left{opacity:0;transform:translate(30px)}.booking-modal__step--fade-in-left{opacity:0;transform:translate(-30px);animation:fadeInLeft .3s ease forwards}@keyframes fadeInRight{to{opacity:1;transform:translate(0)}}@keyframes fadeInLeft{to{opacity:1;transform:translate(0)}}.booking-modal__step-content{width:100%;display:flex;flex-direction:column}.booking-modal__step-content:empty{display:flex}.booking-modal__title{font-size:3.2rem;font-weight:400;margin-bottom:3rem;color:rgb(var(--color-foreground));line-height:1.2}.booking-modal__subtitle{font-size:1.6rem;font-weight:600;margin-bottom:3rem;color:rgb(var(--color-foreground))}.booking-modal__summary{display:flex;flex-direction:column;gap:1.6rem;margin-bottom:3rem;width:100%}.booking-modal__summary-item{font-size:1.6rem;line-height:1.6;color:rgb(var(--color-foreground));margin:0}.booking-modal__summary-item b{font-weight:600;color:rgb(var(--color-foreground))}.booking-modal__category-chip{display:inline-block;margin-bottom:3rem}.booking-modal__category-chip--persistent{position:relative;margin-bottom:3rem}.booking-modal__category-label{display:inline-block;padding:.8rem 1.6rem;background-color:rgba(var(--color-button),.1);color:rgb(var(--color-button));border-radius:2rem;font-size:1.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.booking-modal__progress-bar{width:100%;margin:0 0 3rem;position:relative;z-index:5;display:flex;align-items:center;gap:1.2rem}.booking-modal__progress-fill{flex:1;height:.2rem;background-color:rgba(var(--color-foreground),.1);border-radius:.3rem;position:relative;overflow:hidden;display:block}.booking-modal__progress-fill:after{content:"";position:absolute;top:0;left:0;height:100%;width:var(--progress-width, 0%);background-color:rgb(var(--color-button));border-radius:.3rem;transition:width .3s ease}.booking-modal__progress-text{font-size:1.2rem;font-weight:600;color:rgb(var(--color-foreground));white-space:nowrap;min-width:4rem;text-align:right}.booking-modal__options{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:3rem;max-width:60rem}.booking-modal__options:empty{display:flex}.booking-modal__options--error{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.booking-modal__option-card{position:relative;border:.2rem solid rgba(var(--color-foreground),.1);border-radius:1.2rem;padding:0;cursor:pointer;transition:all .3s ease;background-color:rgb(var(--color-background))}.booking-modal__option-card:hover{border-color:rgba(var(--color-button),.5);background-color:rgba(var(--color-button),.02);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-foreground),.1)}.booking-modal__option-card--selected{border-color:rgb(var(--color-button));background-color:rgba(var(--color-button),.05);box-shadow:0 4px 16px rgba(var(--color-button),.2)}.booking-modal__option-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.booking-modal__option-label{display:flex;flex-direction:column;gap:.4rem;cursor:pointer;padding:2rem;width:100%;box-sizing:border-box}.booking-modal__option-title{font-size:1.8rem;font-weight:600;color:rgb(var(--color-foreground));line-height:1.3}.booking-modal__option-price{font-size:1.6rem;font-weight:400;color:rgb(var(--color-button));line-height:1.3}.booking-modal__option-description{font-size:1.4rem;color:rgba(var(--color-foreground),1);line-height:1.4;font-weight:600;letter-spacing:.02rem}.booking-modal__option-card--selected .booking-modal__option-title{color:rgb(var(--color-button))}.booking-modal__banner{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.2rem;padding:1rem 1.2rem;margin-bottom:2rem;background-color:rgba(var(--color-button),.06);border-radius:.8rem;border:.1rem solid rgba(var(--color-button),.15)}.booking-modal__banner-guest,.booking-modal__banner-logged-in{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.2rem}.booking-modal__banner-text{font-size:1.4rem;line-height:1.4;color:rgba(var(--color-foreground),.85)}.booking-modal__banner-link{background:none;border:none;padding:0;font-size:1.4rem;font-weight:600;color:rgb(var(--color-button));text-decoration:underline;cursor:pointer;text-underline-offset:.2em}.booking-modal__banner-link:hover{color:rgba(var(--color-button),.85)}.booking-modal__step-content--success{text-align:center;padding-top:2rem}.booking-modal__success-icon{margin-bottom:2rem;display:flex;justify-content:center}.booking-modal__title--success{margin-bottom:1.2rem}.booking-modal__success-message{font-size:1.6rem;line-height:1.5;color:rgba(var(--color-foreground),.85);margin:0 0 3rem}.booking-modal__actions-group--center{justify-content:center;width:100%}.booking-modal__actions{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;margin-top:3rem;width:100%}.booking-modal__actions-group{display:flex;gap:1.2rem;align-items:center}.booking-modal__actions-group--left{justify-content:flex-start}.booking-modal__actions-group--right{justify-content:flex-end}.booking-modal__button{padding:1.4rem 3.2rem;border-radius:.8rem;font-size:1.6rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-width:12rem}.booking-modal__button--primary{background-color:rgb(var(--color-button));color:rgb(var(--color-button-text))}.booking-modal__button--primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-button),.3)}.booking-modal__button--primary:active{transform:translateY(0)}.booking-modal__button--secondary{background-color:transparent;color:rgb(var(--color-foreground));border:.2rem solid rgba(var(--color-foreground),.2)}.booking-modal__button--secondary:hover{background-color:rgba(var(--color-foreground),.05);border-color:rgba(var(--color-foreground),.3)}.booking-modal__button:disabled{opacity:.5;cursor:not-allowed}.booking-modal__button:disabled:hover{transform:none;box-shadow:none}.booking-modal__button--loading{position:relative;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;gap:.8rem}.booking-modal__button--loading:after{content:"";width:1.6rem;height:1.6rem;border:.2rem solid rgba(var(--color-button-text),.3);border-top-color:rgb(var(--color-button-text));border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.booking-modal__calendar-wrapper{position:relative;margin-bottom:3rem;width:100%;max-width:40rem;align-self:flex-start;display:block}.booking-modal__calendar{margin-bottom:3rem;width:100%;max-width:40rem;align-self:flex-start;display:block;transition:opacity .3s ease}.booking-modal__calendar--loading{opacity:.4;pointer-events:none}.booking-modal__calendar:empty{display:block}.booking-modal__calendar-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.booking-modal__calendar-loader--visible{opacity:1;visibility:visible}.booking-modal__calendar-loader-spinner{width:4rem;height:4rem;border:.4rem solid rgba(var(--color-foreground),.1);border-top-color:rgb(var(--color-button));border-radius:50%;animation:booking-modal-spin .8s linear infinite;display:block}@keyframes booking-modal-spin{to{transform:rotate(360deg)}}.booking-modal__calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:0 .5rem}.booking-modal__calendar-header:empty{display:flex}.booking-modal__calendar-nav{background:none;border:none;cursor:pointer;padding:.8rem;color:rgb(var(--color-foreground));display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;width:4rem;height:4rem}.booking-modal__calendar-nav:hover:not(:disabled){background-color:rgba(var(--color-foreground),.05)}.booking-modal__calendar-nav:disabled{opacity:.3;cursor:not-allowed}.booking-modal__calendar-month{font-size:1.8rem;font-weight:600;color:rgb(var(--color-foreground));text-transform:capitalize}.booking-modal__calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}.booking-modal__calendar-weekday{text-align:center;font-size:1.2rem;font-weight:600;color:rgba(var(--color-foreground),.6);padding:.8rem 0;text-transform:uppercase;letter-spacing:.05em}.booking-modal__calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.booking-modal__calendar-days:empty{display:grid}.booking-modal__calendar-day{aspect-ratio:1;border:.2rem solid transparent;background:none;border-radius:.8rem;font-size:1.4rem;font-weight:500;color:rgb(var(--color-foreground));cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.booking-modal__calendar-day:hover:not(:disabled){background-color:rgba(var(--color-foreground),.05);border-color:rgba(var(--color-foreground),.1)}.booking-modal__calendar-day--selected{background-color:rgb(var(--color-button));color:rgb(var(--color-button-text));border-color:rgb(var(--color-button));font-weight:600}.booking-modal__calendar-day--past{color:rgba(var(--color-foreground),.3);cursor:not-allowed}.booking-modal__calendar-day--blocked{color:rgba(var(--color-foreground),.3);cursor:not-allowed;position:relative}.booking-modal__calendar-day--blocked:after{content:"";position:absolute;top:50%;left:10%;right:10%;height:.2rem;background-color:rgba(var(--color-foreground),.3);transform:translateY(-50%)}.booking-modal__calendar-day--empty{cursor:default;pointer-events:none}.booking-modal__calendar-day--prev-month{color:rgba(var(--color-foreground),.3);background:transparent}.booking-modal__calendar-day--prev-month:disabled{cursor:not-allowed}.booking-modal__calendar-day--prev-month:not(:disabled){cursor:pointer}.booking-modal__calendar-day--prev-month:hover:not(:disabled){background-color:rgba(var(--color-foreground),.05);border-color:rgba(var(--color-foreground),.1)}.booking-modal__calendar-day--prev-month:hover:disabled{background-color:transparent;border-color:transparent}.booking-modal__calendar-day--next-month{color:rgba(var(--color-foreground),.3);cursor:pointer;background:transparent}.booking-modal__calendar-day--next-month:hover:not(:disabled){background-color:rgba(var(--color-foreground),.05);border-color:rgba(var(--color-foreground),.1)}.booking-modal__calendar-day--next-month:disabled{cursor:not-allowed;opacity:.3}.booking-modal__time-selection{margin-bottom:3rem;width:100%;align-self:flex-start;display:block}.booking-modal__time-selection:empty{display:block}.booking-modal__time-title{font-size:1.6rem;font-weight:600;color:rgb(var(--color-foreground));margin-bottom:1.5rem}.booking-modal__time-slots{display:flex;flex-wrap:wrap;gap:1rem}.booking-modal__time-slots:empty{display:flex}.booking-modal__time-chip{padding:1rem 2rem;border:.2rem solid rgba(var(--color-foreground),.2);border-radius:2.4rem;background-color:rgb(var(--color-background));color:rgb(var(--color-foreground));font-size:1.4rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.booking-modal__time-chip:hover{border-color:rgba(var(--color-button),.5);background-color:rgba(var(--color-button),.05)}.booking-modal__time-chip--selected{background-color:rgb(var(--color-button));color:rgb(var(--color-button-text));border-color:rgb(var(--color-button));font-weight:600}@media screen and (min-width:990px){.booking-modal__image-wrapper{display:block}.booking-modal__form-wrapper{width:60%;padding:6rem 4rem}.booking-modal__title{font-size:4rem}.booking-modal__close{top:3rem;right:3rem}.booking-modal__progress-bar{margin-left:0}}@media screen and (min-width:750px)and (max-width:989px){.booking-modal__form-wrapper{padding:5rem 3rem}.booking-modal__title{font-size:3.6rem}}@media screen and (max-width:749px){.booking-modal__form-wrapper{padding:3rem 2rem}.booking-modal__title{font-size:2.8rem}.booking-modal__close{top:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;padding:1rem}.booking-modal__actions{flex-direction:column;gap:1.6rem}.booking-modal__actions-group{width:100%;flex-direction:column}.booking-modal__actions-group--left,.booking-modal__actions-group--right,.booking-modal__button{width:100%}.booking-modal__option-label{padding:1.6rem}}
/*# sourceMappingURL=/cdn/shop/t/9/assets/component-booking-modal.css.map */
