.default-textarea{height:100px}.date-time-selector{margin-top:1rem}.date-input-wrapper,.datepicker-wrapper{position:relative}.date-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid hsl(210,12%,88%);border-radius:6px;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;background-color:#fff}.date-input:hover{border-color:#22d3ee}.date-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px rgba(8,145,178,.1);outline:none}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:opacity(.6);-webkit-transition:all .25s cubic-bezier(.4,0,.2,1);transition:all .25s cubic-bezier(.4,0,.2,1)}.date-input::-webkit-calendar-picker-indicator:hover{filter:opacity(1)}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%;display:block}.react-datepicker-popper{z-index:1050}.custom-calendar{font-family:inherit;border:2px solid #0891b2;border-radius:8px;box-shadow:0 6px 20px rgba(8,145,178,.12);overflow:hidden}.custom-calendar .react-datepicker__triangle{display:none}.custom-calendar .react-datepicker__navigation{top:14px;width:32px;height:32px;border-radius:6px;transition:all .25s cubic-bezier(.4,0,.2,1)}.custom-calendar .react-datepicker__navigation--previous{left:12px}.custom-calendar .react-datepicker__navigation--next{right:12px}.custom-calendar .react-datepicker__navigation-icon:before{border-color:#0891b2;border-width:2px 2px 0 0;width:8px;height:8px}.custom-calendar .react-datepicker__navigation:hover{background-color:rgba(8,145,178,.1)}.custom-calendar .react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:#0e7490}.custom-calendar .react-datepicker__month-container{background-color:#fff}.custom-calendar .react-datepicker__header{background:linear-gradient(135deg,hsl(0,0%,100%),rgba(8,145,178,.02));border-bottom:2px solid #22d3ee;padding-top:1.25rem;padding-bottom:.75rem}.custom-calendar .react-datepicker__current-month{color:hsl(210,18%,14%);font-weight:600;font-size:1.05rem;margin-bottom:.75rem}.custom-calendar .react-datepicker__day-names{margin-bottom:.5rem;display:flex;justify-content:space-around}.custom-calendar .react-datepicker__day-name{color:hsl(210,10%,46%);font-weight:600;font-size:.875rem;width:2.5rem;line-height:2.5rem;text-transform:uppercase;letter-spacing:.5px}.custom-calendar .react-datepicker__month{margin:.75rem}.custom-calendar .react-datepicker__week{display:flex;justify-content:space-around}.custom-calendar .react-datepicker__day{width:2.5rem;line-height:2.5rem;margin:.2rem;color:hsl(210,12%,38%);border-radius:6px;transition:all .25s cubic-bezier(.4,0,.2,1);font-size:.9rem;font-weight:500}.custom-calendar .react-datepicker__day:hover{background-color:#22d3ee;color:#fff;transform:scale(1.05)}.custom-calendar .react-datepicker__day--keyboard-selected,.custom-calendar .react-datepicker__day--selected{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;font-weight:600;box-shadow:0 2px 4px rgba(8,145,178,.3)}.custom-calendar .react-datepicker__day--keyboard-selected:hover,.custom-calendar .react-datepicker__day--selected:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:scale(1.05)}.custom-calendar .react-datepicker__day--today{font-weight:700;color:#0891b2;background-color:rgba(0,0,0,0);border:2px solid #0891b2}.custom-calendar .react-datepicker__day--today:hover{background-color:#22d3ee;color:#fff;border-color:#22d3ee}.custom-calendar .react-datepicker__day--today.react-datepicker__day--selected{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:rgba(0,0,0,0)}.custom-calendar .react-datepicker__day--disabled{color:hsl(210,10%,82%);cursor:not-allowed;background-color:hsl(210,20%,98%)}.custom-calendar .react-datepicker__day--disabled:hover{background-color:hsl(210,20%,98%);color:hsl(210,10%,82%);transform:none}.custom-calendar .react-datepicker__day--outside-month{color:hsl(210,8%,68%);opacity:.5}.custom-calendar .react-datepicker__day--in-range{background-color:rgba(8,145,178,.1);color:hsl(210,15%,24%)}.custom-calendar .react-datepicker__today-button{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-top:2px solid #22d3ee;padding:.75rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.custom-calendar .react-datepicker__today-button:hover{background:linear-gradient(135deg,#0e7490,#155e75)}.selected-date-display{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,rgba(8,145,178,.05),rgba(34,211,238,.08));border:1px solid #22d3ee;border-radius:6px;color:hsl(210,15%,24%);font-weight:500;font-size:.95rem}.selected-date-display .date-icon{font-size:1.25rem}.time-select{padding:.75rem 1rem;font-size:1rem;border:2px solid hsl(210,12%,88%);border-radius:6px;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer}.time-select:hover:not(:disabled){border-color:#22d3ee}.time-select:focus{border-color:#0891b2;box-shadow:0 0 0 3px rgba(8,145,178,.1);outline:none}.time-select:disabled{background-color:hsl(210,14%,93%);cursor:not-allowed;opacity:.6}.time-select option{padding:.5rem}.time-select option:disabled{color:hsl(210,8%,68%)}.booking-summary{margin-top:2rem;background:linear-gradient(135deg,hsl(0,0%,100%),rgba(8,145,178,.02));border:2px solid #0891b2;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(8,145,178,.12)}.summary-header{background:linear-gradient(135deg,#0891b2,#0e7490);padding:1rem 1.5rem;color:#fff}.summary-header h5{margin:0;font-size:1.1rem;font-weight:600}.summary-content{padding:1.5rem}.summary-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.summary-row:last-child{margin-bottom:0}.summary-item{display:flex;align-items:flex-start;gap:.75rem;flex:1 1;min-width:200px;padding:1rem;background-color:#fff;border:1px solid hsl(210,12%,88%);border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .25s cubic-bezier(.4,0,.2,1)}.summary-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.08)}.summary-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.summary-details{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.summary-label{font-size:.85rem;color:hsl(210,10%,46%);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1rem;color:hsl(210,18%,14%);font-weight:600}.summary-note{padding:1rem 1.5rem;background-color:rgba(34,211,238,.08);border-top:1px solid #22d3ee}.summary-note small{color:hsl(210,12%,38%);line-height:1.5}.summary-note small strong{color:#0e7490}@media(max-width:768px){.summary-row{flex-direction:column}.summary-item{min-width:100%}.booking-summary{margin-top:1.5rem}.summary-content{padding:1rem}.summary-header{padding:.75rem 1rem}.summary-header h5{font-size:1rem}.summary-note{padding:.75rem 1rem}.custom-calendar .react-datepicker__day,.custom-calendar .react-datepicker__day-name{width:2.2rem;line-height:2.2rem;font-size:.85rem}.custom-calendar .react-datepicker__current-month{font-size:1rem}}@media(max-width:576px){.date-input,.time-select{font-size:.95rem;padding:.6rem .85rem}.selected-date-display{font-size:.9rem;padding:.6rem .85rem}.selected-date-display .date-icon{font-size:1.1rem}.summary-icon{font-size:1.25rem}.summary-value{font-size:.95rem}.summary-item{padding:.75rem}.custom-calendar .react-datepicker__day,.custom-calendar .react-datepicker__day-name{width:2rem;line-height:2rem;font-size:.8rem;margin:.15rem}.custom-calendar .react-datepicker__current-month{font-size:.95rem}.custom-calendar .react-datepicker__header{padding-top:1rem;padding-bottom:.5rem}.custom-calendar .react-datepicker__month{margin:.5rem}.custom-calendar .react-datepicker__navigation{width:28px;height:28px;top:12px}.custom-calendar .react-datepicker__navigation-icon:before{width:7px;height:7px}}.form-label{display:block;margin-bottom:.5rem;color:hsl(210,15%,24%);font-size:1rem}.form-label.fw-semibold{font-weight:600}.text-muted{color:hsl(210,10%,46%);font-size:.875rem;margin-top:.25rem;display:block}#stripe-payment-form{background-color:#fff;padding:2rem;border-radius:8px;border:2px solid hsl(210,12%,88%);box-shadow:0 2px 12px rgba(8,145,178,.08)}#stripe-payment-form .payment-form-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-bottom:1rem;border-bottom:2px solid hsl(210,12%,88%)}#stripe-payment-form .payment-title{margin:0;font-size:1.5rem;font-weight:600;color:hsl(210,15%,24%)}#stripe-payment-form .payment-amount{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}#stripe-payment-form .payment-amount .amount-label{font-size:.85rem;color:hsl(210,10%,46%);font-weight:500}#stripe-payment-form .payment-amount .amount-value{font-size:1.75rem;font-weight:700;color:#0891b2}#stripe-payment-form .form-group .form-label{display:block;margin-bottom:.5rem}#stripe-payment-form .card-holder-name__label,#stripe-payment-form .form-group .form-label{font-weight:500;font-size:.95rem;color:hsl(210,15%,24%)}#stripe-payment-form .card-holder-name__input{width:100%;padding:.75rem 1rem;color:hsl(210,15%,24%);font-weight:400;font-size:1rem;border-radius:6px;border:2px solid hsl(210,12%,88%);box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .25s cubic-bezier(.4,0,.2,1)}#stripe-payment-form .card-holder-name__input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px rgba(8,145,178,.1)}#stripe-payment-form .card-holder-name__input:disabled{background-color:hsl(210,14%,93%);cursor:not-allowed;opacity:.6}#stripe-payment-form .card-holder-name__input::placeholder{color:hsl(210,8%,68%)}#stripe-payment-form .payment-element-wrapper{padding:1rem;background-color:hsl(210,20%,98%);border-radius:6px;border:1px solid hsl(210,12%,88%)}#stripe-payment-form .payment-security-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,rgba(41.31,188.19,134.334,.08),rgba(41.31,188.19,134.334,.05));border:1px solid hsla(158,64%,45%,.2);border-radius:6px}#stripe-payment-form .payment-security-notice .security-icon{font-size:1.25rem;flex-shrink:0}#stripe-payment-form .payment-security-notice .security-text{font-size:.9rem;color:hsl(210,12%,38%);font-weight:500}#stripe-payment-form .payment-submit-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#0891b2,#0e7490);border:none;border-radius:6px;color:#fff;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer}#stripe-payment-form .payment-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(8,145,178,.12)}#stripe-payment-form .payment-submit-btn:active:not(:disabled){transform:translateY(0)}#stripe-payment-form .payment-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}#stripe-payment-form .alert{margin-top:1rem;padding:.875rem 1rem;border-radius:6px;font-size:.9rem;line-height:1.5}#stripe-payment-form .alert.alert-warning{background-color:hsla(38,92%,55%,.1);border:1px solid hsl(38,92%,55%);color:hsl(210,15%,24%)}.stripe-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background-color:#fff;border-radius:8px;border:2px solid hsl(210,12%,88%);box-shadow:0 2px 12px rgba(8,145,178,.08)}.stripe-loading-state .loading-spinner{width:48px;height:48px;border:4px solid hsl(210,12%,88%);border-top-color:#0891b2;border-radius:50%;animation:spinner .8s linear infinite;margin-bottom:1rem}.stripe-loading-state p{color:hsl(210,10%,46%);font-size:1rem;font-weight:500;margin:0}@keyframes spinner{to{transform:rotate(1turn)}}@media(max-width:768px){#stripe-payment-form{padding:1.5rem}#stripe-payment-form .payment-form-header{flex-direction:column;align-items:flex-start}#stripe-payment-form .payment-title{font-size:1.3rem}#stripe-payment-form .payment-amount{align-items:flex-start}#stripe-payment-form .payment-amount .amount-value{font-size:1.5rem}}@media(max-width:576px){#stripe-payment-form{padding:1.25rem}#stripe-payment-form .payment-title{font-size:1.2rem}#stripe-payment-form .payment-amount .amount-value{font-size:1.3rem}#stripe-payment-form .card-holder-name__input{font-size:.95rem;padding:.6rem .85rem}#stripe-payment-form .payment-element-wrapper{padding:.75rem}#stripe-payment-form .payment-security-notice{padding:.6rem .85rem}#stripe-payment-form .payment-security-notice .security-icon{font-size:1.1rem}#stripe-payment-form .payment-security-notice .security-text{font-size:.85rem}#stripe-payment-form .payment-submit-btn{padding:.875rem 1.5rem;font-size:1rem}.stripe-loading-state{padding:2rem 1.25rem}.stripe-loading-state .loading-spinner{width:40px;height:40px}.stripe-loading-state p{font-size:.9rem}}.invoice .priceDetails{font-size:18px;font-weight:500;color:hsl(210,20%,8%)}.invoice .lineItem.label{font-size:14px;text-align:left}.invoice .lineItem.lineTotal{font-size:14px;text-align:right}.invoice .lineItem.grandTotalLabel{font-size:18px;font-weight:500;text-align:left}.invoice .lineItem.grandTotalAmount{font-size:18px;font-weight:500;text-align:right}.invoice .border-top-black{border-top:1px solid hsl(210,8%,68%)}.invoice .border-bottom-black,.invoice .border-bottom-line{border-bottom:1px solid hsl(210,20%,8%)}.invoice .border-bottom-line{border-top:1px solid hsl(210,20%,8%)}.invoice-booking .invoice-card{background:#fff;border:2px solid hsl(210,12%,88%);border-radius:8px;overflow:hidden;box-shadow:0 2px 12px rgba(8,145,178,.08);transition:all .25s cubic-bezier(.4,0,.2,1)}.invoice-booking .invoice-card:hover{box-shadow:0 6px 20px rgba(8,145,178,.12)}.invoice-booking .invoice-header{background:linear-gradient(135deg,#0891b2,#0e7490);padding:1.25rem 1.5rem;color:#fff}.invoice-booking .invoice-title{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.invoice-booking .invoice-date{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;color:hsla(0,0%,100%,.95);font-weight:500}.invoice-booking .invoice-date .date-icon,.invoice-booking .invoice-date .time-icon{font-size:1rem}.invoice-booking .invoice-body{padding:0}.invoice-booking .invoice-table{width:100%;border-collapse:collapse}.invoice-booking .invoice-table tbody tr{border-bottom:1px solid hsl(210,12%,88%)}.invoice-booking .invoice-table tbody tr:last-child{border-bottom:none}.invoice-booking .invoice-row td{padding:1rem 1.5rem;vertical-align:top}.invoice-booking .invoice-row.addon-row{background-color:rgba(8,145,178,.02)}.invoice-booking .invoice-row .item-details .item-name{font-size:1rem;font-weight:600;color:hsl(210,15%,24%);margin-bottom:.25rem}.invoice-booking .invoice-row .item-details .item-variant{font-size:.85rem;color:hsl(210,10%,46%);margin-bottom:.25rem}.invoice-booking .invoice-row .item-details .item-duration{font-size:.8rem;color:hsl(210,8%,55%);margin-top:.25rem}.invoice-booking .invoice-row .item-price{text-align:right;font-size:1rem;font-weight:600;color:hsl(210,18%,14%);white-space:nowrap}.invoice-booking .section-divider{background-color:hsl(210,14%,93%)}.invoice-booking .section-divider td{padding:.75rem 1.5rem}.invoice-booking .section-divider .section-title{font-size:.85rem;font-weight:600;color:hsl(210,12%,38%);text-transform:uppercase;letter-spacing:.5px}.invoice-booking .subtotal-row{background-color:hsl(210,20%,98%)}.invoice-booking .subtotal-row td{padding:.875rem 1.5rem;font-size:.95rem}.invoice-booking .subtotal-row .subtotal-label{font-weight:500;color:hsl(210,12%,38%)}.invoice-booking .subtotal-row .subtotal-amount{text-align:right;font-weight:600;color:hsl(210,15%,24%)}.invoice-booking .discount-row{background:linear-gradient(135deg,rgba(41.31,188.19,134.334,.08),rgba(41.31,188.19,134.334,.05));border-top:1px solid hsla(158,64%,45%,.2);border-bottom:1px solid hsla(158,64%,45%,.2)}.invoice-booking .discount-row td{padding:.875rem 1.5rem}.invoice-booking .discount-row .discount-label .discount-name{font-size:.95rem;font-weight:600;color:hsl(158,64%,45%);margin-bottom:.125rem}.invoice-booking .discount-row .discount-label .discount-rate{font-size:.8rem;color:hsl(158,64%,45%);font-weight:500}.invoice-booking .discount-row .discount-amount{text-align:right;font-size:.95rem;font-weight:700;color:hsl(158,64%,45%)}.invoice-booking .tax-row{background-color:hsl(210,20%,98%)}.invoice-booking .tax-row td{padding:.875rem 1.5rem;font-size:.9rem}.invoice-booking .tax-row .tax-label{font-weight:500;color:hsl(210,12%,38%)}.invoice-booking .tax-row .tax-amount{text-align:right;font-weight:600;color:hsl(210,15%,24%)}.invoice-booking .total-row{background:linear-gradient(135deg,#0891b2,#0e7490);border-top:3px solid #0e7490}.invoice-booking .total-row td{padding:1.25rem 1.5rem}.invoice-booking .total-row .total-label .total-text{display:block;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.25rem}.invoice-booking .total-row .total-label .total-duration{font-size:.85rem;color:hsla(0,0%,100%,.9);font-weight:500}.invoice-booking .total-row .total-amount{text-align:right;font-size:1.5rem;font-weight:700;color:#fff}.invoice-booking .invoice-footer{padding:1rem 1.5rem;background-color:rgba(8,145,178,.05);border-top:1px solid #22d3ee}.invoice-booking .invoice-note small{font-size:.85rem;color:hsl(210,12%,38%);line-height:1.5}.invoice-booking .invoice-note small strong{color:#0e7490;font-weight:600}@media(max-width:768px){.invoice-booking .invoice-card{border-radius:6px}.invoice-booking .invoice-header{padding:1rem 1.25rem}.invoice-booking .invoice-title{font-size:1.1rem}.invoice-booking .invoice-date{font-size:.85rem;flex-wrap:wrap}.invoice-booking .invoice-row td{padding:.875rem 1.25rem}.invoice-booking .invoice-row .item-details .item-name{font-size:.95rem}.invoice-booking .invoice-row .item-details .item-variant{font-size:.8rem}.invoice-booking .invoice-row .item-price{font-size:.95rem}.invoice-booking .total-row td{padding:1rem 1.25rem}.invoice-booking .total-row .total-label .total-text{font-size:1rem}.invoice-booking .total-row .total-amount{font-size:1.3rem}.invoice-booking .invoice-footer{padding:.875rem 1.25rem}}@media(max-width:576px){.invoice-booking .invoice-header{padding:.875rem 1rem}.invoice-booking .invoice-title{font-size:1rem}.invoice-booking .invoice-date{font-size:.8rem}.invoice-booking .invoice-row td{padding:.75rem 1rem}.invoice-booking .invoice-row .item-details .item-name{font-size:.9rem}.invoice-booking .invoice-row .item-details .item-duration,.invoice-booking .invoice-row .item-details .item-variant{font-size:.75rem}.invoice-booking .invoice-row .item-price{font-size:.9rem}.invoice-booking .section-divider td{padding:.6rem 1rem}.invoice-booking .section-divider .section-title{font-size:.8rem}.invoice-booking .discount-row td,.invoice-booking .subtotal-row td,.invoice-booking .tax-row td{padding:.75rem 1rem;font-size:.85rem}.invoice-booking .total-row td{padding:.875rem 1rem}.invoice-booking .total-row .total-label .total-text{font-size:.95rem}.invoice-booking .total-row .total-amount{font-size:1.2rem}.invoice-booking .invoice-footer{padding:.75rem 1rem}.invoice-booking .invoice-note small{font-size:.8rem}}.invoice .text-muted{color:hsl(210,8%,55%)}.invoice .text-center{text-align:center}.invoice .py-4{padding-top:2rem;padding-bottom:2rem}.extended-pricing-row{background-color:rgba(8,145,178,.03)}.extended-pricing-row .item-details .item-name{font-size:1rem;font-weight:600;color:#0891b2;margin-bottom:.25rem}.extended-pricing-row .item-details .item-variant{font-size:.85rem;color:hsl(210,10%,46%);margin-bottom:.125rem}.extended-pricing-row .item-details .item-quantity{font-size:.8rem;color:hsl(210,8%,55%);margin-top:.125rem}.extended-pricing-row .item-price{color:#0891b2;font-weight:600}@media(max-width:768px){.extended-pricing-row .item-details .item-name{font-size:.95rem}.extended-pricing-row .item-details .item-variant{font-size:.8rem}.extended-pricing-row .item-price{font-size:.95rem}}@media(max-width:576px){.extended-pricing-row .item-details .item-name{font-size:.9rem}.extended-pricing-row .item-details .item-quantity,.extended-pricing-row .item-details .item-variant{font-size:.75rem}.extended-pricing-row .item-price{font-size:.9rem}}.default-bg-success{background-color:hsl(158,64%,45%)}.default-bg-danger{background-color:hsl(0,72%,51%)}.default-bg-warning{background-color:hsl(38,92%,55%)}.marketplace-color{color:#0891b2}.marketplace-color-bg{background-color:#0891b2;color:#fff}.marketplace-color-border{border:2px solid #0891b2}.marketplace-color-btn{background-color:#0891b2;color:#fff;font-weight:600;border-radius:8px;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(8,145,178,.12)}.marketplace-color-btn:hover{background-color:#0e7490;color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px rgba(8,145,178,.12)}.marketplace-color-btn:active,.marketplace-color-btn:focus,.marketplace-color-btn:focus-visible{background-color:#0e7490;color:#fff;transform:translateY(0);box-shadow:0 1px 3px rgba(8,145,178,.15);outline:none}.marketplace-color-btn-outline{background-color:rgba(0,0,0,0);color:#0891b2;border:2px solid #0891b2;font-weight:600;border-radius:8px;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.marketplace-color-btn-outline:hover{background-color:#0891b2;color:#fff;transform:translateY(-1px);box-shadow:0 2px 12px rgba(8,145,178,.08)}.marketplace-color-btn-outline:active,.marketplace-color-btn-outline:focus,.marketplace-color-btn-outline:focus-visible{background-color:#0e7490;color:#fff;border-color:#0e7490;transform:translateY(0)}@keyframes pulse-subtle{0%,to{box-shadow:0 4px 16px rgba(8,145,178,.25)}50%{box-shadow:0 4px 24px rgba(8,145,178,.4)}}@keyframes checkmark-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.booking-page .sticky-sidebar{position:sticky;top:5.5rem;max-height:calc(100vh - 4rem);overflow-y:auto;padding:0;margin-bottom:1.5rem;background:linear-gradient(135deg,hsl(0,0%,100%),hsl(210,20%,98%));border:2px solid hsl(210,14%,93%);border-radius:12px;box-shadow:0 8px 32px rgba(8,145,178,.12)}.booking-page .sticky-sidebar::-webkit-scrollbar{width:6px}.booking-page .sticky-sidebar::-webkit-scrollbar-track{background:hsl(210,20%,98%);border-radius:8px}.booking-page .sticky-sidebar::-webkit-scrollbar-thumb{background:#22d3ee;border-radius:8px}.booking-page .sticky-sidebar::-webkit-scrollbar-thumb:hover{background:#0891b2}.booking-page h2{position:relative;margin-bottom:2rem;padding-bottom:1rem;font-size:1.75rem;font-weight:700;color:hsl(210,18%,14%)}.booking-page h2:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:4px;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:3px;transition:width .3s ease}.booking-page h2:hover:after{width:120px}.booking-page h3{margin-bottom:1.25rem;font-size:1.35rem;font-weight:600;color:hsl(210,15%,24%)}.booking-page .booking-section{margin-bottom:3rem;padding:2rem;background:#fff;border-radius:12px;border:1px solid hsl(210,14%,93%);box-shadow:0 4px 20px rgba(0,0,0,.04);transition:all .3s ease}.booking-page .booking-section:hover{box-shadow:0 6px 28px rgba(0,0,0,.08)}.booking-page .pricing-tier-features{margin-top:2rem;animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-page .features-card{padding:1rem;background:linear-gradient(135deg,rgba(8,145,178,.05),rgba(34,211,238,.03));border-radius:12px;box-shadow:0 4px 16px rgba(8,145,178,.08);transition:all .3s ease}.booking-page .features-card:hover{box-shadow:0 6px 24px rgba(8,145,178,.12)}.booking-page .features-title{margin-bottom:.75rem;font-size:.95rem;font-weight:600;color:hsl(210,15%,24%)}.booking-page .features-title:before{content:"✨";font-size:.95rem}.booking-page .features-list{list-style:none;padding:0;margin:0 0 1.5rem}.booking-page .feature-item{display:flex;align-items:flex-start;gap:1rem;padding:0;color:hsl(210,12%,38%);font-size:.95rem;line-height:1.6}.booking-page .feature-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:6px;font-size:.8rem;font-weight:700}.booking-page .feature-text{flex:1 1}.booking-page .features-notes{padding-top:1.25rem;border-top:1px solid rgba(8,145,178,.2)}.booking-page .notes-label{margin-bottom:.75rem;font-size:.95rem;font-weight:600;color:hsl(210,15%,24%)}.booking-page .notes-list{list-style:none;padding:0;margin:0}.booking-page .note-item{display:flex;align-items:flex-start;gap:.75rem;padding:0;font-size:.9rem;line-height:1.5;color:hsl(210,10%,46%)}.booking-page .note-item:before{content:"•";flex-shrink:0;color:#0891b2;font-weight:700;margin-top:.1rem}.booking-page .addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.booking-page .addon-card{position:relative;display:flex;flex-direction:column;height:100%;padding:1.75rem;background:linear-gradient(135deg,hsl(0,0%,100%),hsl(210,20%,98%));border:2px solid hsl(210,12%,88%);border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.06);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.booking-page .addon-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#0891b2,#0e7490);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.booking-page .addon-card:hover{border-color:#22d3ee;transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px rgba(8,145,178,.15)}.booking-page .addon-card:hover:before{transform:scaleX(1)}.booking-page .addon-card:hover .addon-card-icon{transform:scale(1.1) rotate(5deg)}.booking-page .addon-card.addon-card-selected{border-color:#0891b2;background:linear-gradient(135deg,rgba(8,145,178,.08),rgba(34,211,238,.04));box-shadow:0 8px 28px rgba(8,145,178,.2);transform:translateY(-2px)}.booking-page .addon-card.addon-card-selected:before{transform:scaleX(1);height:5px}.booking-page .addon-card.addon-card-selected .addon-card-checkbox{animation:checkbox-bounce .5s ease}.booking-page .addon-card.addon-card-highlight{border-color:hsl(38,92%,55%);background:linear-gradient(135deg,hsl(0,0%,100%),rgba(245.82,168.402,34.68,.05))}.booking-page .addon-card.addon-card-highlight:before{background:linear-gradient(135deg,hsl(38,92%,55%),hsl(38,92%,45%))}.booking-page .addon-card.addon-card-highlight:hover{border-color:hsl(38,92%,50%);box-shadow:0 12px 32px hsla(38,92%,55%,.15)}.booking-page .addon-card.addon-card-highlight.addon-card-selected{border-color:hsl(38,92%,55%);background:linear-gradient(135deg,rgba(245.82,168.402,34.68,.1),rgba(245.82,168.402,34.68,.05))}.booking-page .addon-card.addon-card-highlight .addon-card-badge{background:hsl(38,92%,55%)}@keyframes checkbox-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.booking-page .addon-card-badge{position:absolute;top:1rem;right:1rem;padding:.35rem .85rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;box-shadow:0 2px 8px rgba(8,145,178,.3);z-index:2}.booking-page .addon-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.booking-page .addon-card-icon{flex-shrink:0;font-size:2.5rem;line-height:1;transition:all .4s cubic-bezier(.4,0,.2,1)}.booking-page .addon-card-title{flex:1 1;font-size:1.2rem;font-weight:700;color:hsl(210,18%,14%);line-height:1.3}.booking-page .addon-quantity-control{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,hsl(0,0%,100%),hsl(210,20%,98%));border:2px solid hsl(210,12%,88%);border-radius:8px;transition:all .3s ease}.booking-page .addon-quantity-control:hover{border-color:#22d3ee;box-shadow:0 4px 12px rgba(8,145,178,.08)}.booking-page .addon-quantity-control .addon-quantity-label{flex-shrink:0;font-size:.95rem;font-weight:600;color:hsl(210,12%,38%);margin:0}.booking-page .addon-quantity-control .addon-quantity-input-wrapper{display:flex;align-items:center;gap:.5rem;flex:1 1;justify-content:flex-end}.booking-page .addon-quantity-control .addon-quantity-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:6px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(8,145,178,.2)}.booking-page .addon-quantity-control .addon-quantity-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px rgba(8,145,178,.3)}.booking-page .addon-quantity-control .addon-quantity-btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 6px rgba(8,145,178,.2)}.booking-page .addon-quantity-control .addon-quantity-btn:disabled{opacity:.5;cursor:not-allowed;background:hsl(210,10%,82%);box-shadow:none}.booking-page .addon-quantity-control .addon-quantity-input{width:70px;height:36px;text-align:center;font-size:1.1rem;font-weight:700;color:hsl(210,18%,14%);border:2px solid hsl(210,10%,82%);border-radius:6px;background:#fff;transition:all .3s ease;-moz-appearance:textfield}.booking-page .addon-quantity-control .addon-quantity-input::-webkit-inner-spin-button,.booking-page .addon-quantity-control .addon-quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.booking-page .addon-quantity-control .addon-quantity-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px rgba(8,145,178,.1)}.booking-page .addon-quantity-control .addon-quantity-input:hover{border-color:#22d3ee}.booking-page .addon-card-checkbox{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;background-color:#fff;border:2.5px solid hsl(210,10%,82%);border-radius:6px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.booking-page .addon-card-checkbox:hover{border-color:#0891b2;transform:scale(1.05)}.booking-page .addon-card-checkbox.checked{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(8,145,178,.3)}.booking-page .addon-card-checkbox.checked span{animation:checkmark-pop .4s ease}.booking-page .addon-card-checkbox span{font-size:16px;line-height:1}.booking-page .addon-card-description{margin-bottom:1.25rem;font-size:.95rem;line-height:1.6;color:hsl(210,12%,38%)}.booking-page .addon-card-pricing{margin-bottom:1.25rem}.booking-page .addon-card-pricing,.booking-page .addon-price-options{display:flex;flex-direction:column;gap:.75rem}.booking-page .addon-price-option{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#fff;border:2px solid hsl(210,12%,88%);border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.booking-page .addon-price-option:hover{border-color:#22d3ee;background:linear-gradient(135deg,hsl(0,0%,100%),rgba(34,211,238,.05));transform:translateX(4px);box-shadow:0 4px 12px rgba(8,145,178,.1)}.booking-page .addon-price-option input[type=radio]{margin-right:.75rem;width:20px;height:20px;accent-color:#0891b2;cursor:pointer;transition:transform .2s ease}.booking-page .addon-price-option input[type=radio]:checked{transform:scale(1.1)}.booking-page .addon-price-option:has(input[type=radio]:checked){border-color:#0891b2;background:linear-gradient(135deg,rgba(8,145,178,.08),rgba(34,211,238,.04));font-weight:600;box-shadow:0 4px 12px rgba(8,145,178,.15);transform:translateX(4px)}.booking-page .addon-price-option .addon-price-label{flex:1 1;font-size:.95rem;color:hsl(210,15%,24%)}.booking-page .addon-price-option .addon-price-value{font-size:1.1rem;font-weight:700;color:#0891b2}.booking-page .addon-price-option .addon-price-value .addon-price-total{font-size:.9rem;color:hsl(210,10%,46%);margin-left:.25rem}.booking-page .addon-card-list{margin:0 0 1.25rem;padding:0;list-style:none}.booking-page .addon-card-list li{position:relative;padding:.6rem 0 .6rem 2rem;font-size:.9rem;line-height:1.5;color:hsl(210,12%,38%);transition:all .2s ease}.booking-page .addon-card-list li:before{content:"✓";position:absolute;left:0;top:.6rem;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-weight:700;font-size:.85rem;color:#fff;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:50%}.booking-page .addon-card-list li:hover{color:hsl(210,18%,14%);padding-left:2.25rem}.booking-page .addon-card-note{margin-top:1.25rem;padding-top:1.25rem;border-top:2px dashed hsl(210,12%,88%);font-size:.85rem;font-style:italic;color:hsl(210,10%,46%);line-height:1.5}.booking-page .addon-card-contact{margin-top:1.25rem;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(8,145,178,.1),rgba(34,211,238,.05));border:2px solid #22d3ee;border-radius:8px;font-weight:600;font-size:.95rem;color:#0e7490;text-align:center;transition:all .3s ease}.booking-page .addon-card-contact:hover{background:linear-gradient(135deg,rgba(8,145,178,.15),rgba(34,211,238,.08));transform:translateY(-2px)}.booking-page .total-duration-display{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,rgba(41.31,188.19,134.334,.1),rgba(41.31,188.19,134.334,.05));border:2px solid hsla(158,64%,45%,.3);border-radius:8px;font-size:1rem;font-weight:500;color:hsl(210,18%,14%);box-shadow:0 4px 12px hsla(158,64%,45%,.15)}.booking-page .total-duration-display .duration-icon{font-size:1.5rem}.booking-page .total-duration-display strong{font-weight:700;color:hsl(158,64%,45%)}.booking-page .payment-initialization{padding:2.5rem;background:linear-gradient(135deg,hsl(0,0%,100%),hsl(210,20%,98%));border:2px solid hsl(210,12%,88%);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.08)}.booking-page .payment-requirements-check h5{margin-bottom:1.5rem;font-size:1.2rem;font-weight:700;color:hsl(210,18%,14%)}.booking-page .requirements-list{display:flex;flex-direction:column;gap:1rem}.booking-page .requirement-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#fff;border:2px solid hsl(210,12%,88%);border-radius:8px;font-size:1rem;color:hsl(210,12%,38%);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.04)}.booking-page .requirement-item.complete{background:linear-gradient(135deg,rgba(41.31,188.19,134.334,.1),rgba(41.31,188.19,134.334,.05));border-color:hsl(158,64%,45%);font-weight:600;color:hsl(210,18%,14%);transform:translateX(4px);box-shadow:0 4px 16px hsla(158,64%,45%,.2)}.booking-page .requirement-item.complete .requirement-icon{animation:icon-bounce .6s ease}.booking-page .requirement-item .requirement-icon{flex-shrink:0;font-size:1.5rem}@keyframes icon-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.booking-page .booking-note{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,rgba(8,145,178,.1),rgba(34,211,238,.05));border:2px solid #22d3ee;border-radius:8px;font-size:.95rem;line-height:1.7;color:hsl(210,15%,24%);box-shadow:0 4px 16px rgba(8,145,178,.1)}.booking-page .booking-note .note-icon{flex-shrink:0;margin-top:.125rem;font-size:1.5rem}.booking-page .booking-note strong{font-weight:700;color:#0891b2}.booking-page .btn-primary{position:relative;padding:1.25rem 2.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);border:none;font-weight:700;font-size:1.05rem;letter-spacing:.5px;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.booking-page .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.booking-page .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(8,145,178,.3)}.booking-page .btn-primary:hover:before{left:100%}.booking-page .btn-primary:active,.booking-page .btn-primary:focus{transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.2)}.booking-page .btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.booking-page .btn-primary:disabled:hover:before{left:-100%}.booking-page .spinner-border{display:inline-block;width:1rem;height:1rem;vertical-align:text-bottom;border:2px solid;border-right:2px solid rgba(0,0,0,0);border-radius:50%;animation:spinner-border .75s linear infinite}.booking-page .spinner-border.spinner-border-sm{width:.875rem;height:.875rem;border-width:2px}@keyframes spinner-border{to{transform:rotate(1turn)}}@media(max-width:992px){.booking-page .progress-steps:before{left:1.5rem;right:1.5rem}.booking-page .progress-step .step-circle{width:2.75rem;height:2.75rem;font-size:1rem}.booking-page .progress-step .step-label{font-size:.8rem}.booking-page .addons-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}}@media(max-width:768px){.booking-page .booking-progress{padding:1.25rem 1.5rem;margin-bottom:2rem}.booking-page .progress-steps:before{display:none}.booking-page .progress-step .step-circle{width:2.5rem;height:2.5rem;font-size:.95rem}.booking-page .progress-step .step-label{font-size:.75rem}.booking-page .sticky-sidebar{position:relative;top:0;max-height:none;margin-top:2.5rem}.booking-page .booking-section{padding:1.5rem}.booking-page .addons-grid{grid-template-columns:1fr}.booking-page .addon-card{padding:1.5rem}.booking-page .addon-card-icon{font-size:2.25rem}.booking-page .addon-card-title{font-size:1.1rem}.booking-page .addon-price-option{padding:.875rem 1rem}.booking-page .selected-addons-summary{padding:1.5rem}.booking-page .summary-total-amount{font-size:1.5rem}.booking-page .features-card{padding:1.5rem}.booking-page .features-title{margin-bottom:1rem}.booking-page .feature-item{padding:.6rem 0;font-size:.9rem}.booking-page h2{font-size:1.5rem}}@media(max-width:576px){.booking-page .booking-progress{padding:1rem;margin-bottom:1.5rem}.booking-page .progress-steps{gap:.5rem}.booking-page .progress-step .step-circle{width:2.25rem;height:2.25rem;font-size:.85rem}.booking-page .progress-step .step-label{font-size:.7rem}.booking-page .booking-section{padding:1.25rem;margin-bottom:2rem}.booking-page .addon-card{padding:1.25rem}.booking-page .addon-card-header{gap:.75rem}.booking-page .addon-card-icon{font-size:2rem}.booking-page .addon-card-title{font-size:1rem}.booking-page .addon-card-badge{top:.75rem;right:.75rem;padding:.25rem .65rem;font-size:.7rem}.booking-page .addon-quantity-control{flex-direction:column;align-items:stretch;gap:.75rem;padding:.875rem}.booking-page .addon-quantity-control .addon-quantity-label{font-size:.9rem}.booking-page .addon-quantity-control .addon-quantity-input-wrapper{justify-content:center}.booking-page .addon-quantity-control .addon-quantity-btn{width:40px;height:40px;font-size:1.35rem}.booking-page .addon-quantity-control .addon-quantity-input{width:80px;height:40px;font-size:1.15rem}.booking-page .addon-price-option{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.875rem 1rem}.booking-page .addon-price-option input[type=radio]{margin-right:0}.booking-page .addon-price-option .addon-price-value{align-self:flex-end;font-size:1.15rem}.booking-page .selected-addons-summary{padding:1.25rem}.booking-page .selected-addons-summary h4{font-size:1.1rem}.booking-page .summary-item{flex-wrap:wrap;gap:.75rem;padding:1rem}.booking-page .summary-item-icon{font-size:1.5rem}.booking-page .summary-item-price{font-size:1.15rem}.booking-page .summary-total{font-size:1rem}.booking-page .summary-total-amount{font-size:1.35rem}.booking-page .service-duration-info,.booking-page .total-duration-display{padding:.875rem 1rem;font-size:.9rem}.booking-page .service-duration-info .duration-icon,.booking-page .total-duration-display .duration-icon{font-size:1.25rem}.booking-page .payment-initialization{padding:1.5rem}.booking-page .payment-requirements-check h5{font-size:1.05rem}.booking-page .requirement-item{padding:1rem 1.25rem;font-size:.95rem}.booking-page .requirement-item .requirement-icon{font-size:1.35rem}.booking-page .booking-note{padding:1rem 1.25rem;font-size:.9rem}.booking-page .booking-note .note-icon{font-size:1.35rem}.booking-page .features-card{padding:1.25rem;margin-top:1.5rem}.booking-page .features-title{margin-bottom:.875rem}.booking-page .feature-item{padding:0;font-size:.9rem;gap:.75rem}.booking-page .feature-icon{width:22px;height:22px;font-size:.75rem}.booking-page .features-notes{padding-top:1rem}.booking-page .notes-label{font-size:.9rem;margin-bottom:.5rem}.booking-page .note-item{font-size:.85rem}.booking-page .btn-primary{padding:1rem 2rem;font-size:1rem}.booking-page h2{font-size:1.35rem;margin-bottom:1.5rem}.booking-page h3{font-size:1.15rem}}