#bookingApp button,#bookingSuccess button{cursor:pointer}#bookingApp button.card,#bookingSuccess button.card{text-align:left;border:1px solid #d1d5db;border-radius:8px;color:#4b5563;padding:1.5rem;transition:.2s ease-out;margin-bottom:1rem;width:100%}@media(min-width: 992px){#bookingApp button.card--half,#bookingSuccess button.card--half{width:calc(50% - .75rem)}}#bookingApp button.pill,#bookingSuccess button.pill{display:inline-block;border:1px solid #d1d5db;transition:.2s ease-out;margin:0 .5rem .5rem 0;color:#4b5563;border-radius:999px;padding:1rem 2rem;background:#fff;height:50px;line-height:20px;width:115px}#bookingApp button.nav,#bookingSuccess button.nav{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:rgba(249,250,251,0);width:2rem;height:2rem;color:#4b5563;padding:0;font-size:1.5rem;font-weight:bold;margin-bottom:2rem;border:none}#bookingApp button.nav:hover,#bookingSuccess button.nav:hover{background-color:#f9fafb}#bookingApp button.xd_btn,#bookingSuccess button.xd_btn{padding:1rem 2rem;border-radius:8px !important;color:#fff;padding:1rem 2rem;font-weight:700;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease}#bookingApp button.xd_btn:hover,#bookingSuccess button.xd_btn:hover{background-color:rgba(0,2,252,.5098039216) !important}#bookingApp button.xd_btn--100,#bookingSuccess button.xd_btn--100{width:100%}#bookingApp button *,#bookingSuccess button *{pointer-events:none;margin:.3rem 0}#bookingApp button:disabled,#bookingSuccess button:disabled{cursor:not-allowed}#bookingApp button:disabled *,#bookingSuccess button:disabled *{color:#d1d5db}#bookingApp button:disabled:hover,#bookingSuccess button:disabled:hover{background-color:rgba(249,250,251,0)}#bookingApp nav,#bookingSuccess nav{display:flex;justify-content:space-between}#bookingApp .pills,#bookingSuccess .pills{margin-bottom:1.5rem}#bookingApp select,#bookingSuccess select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:url("data:image/svg+xml;utf8,<svg fill=\"%232c3e50\" height=\"12\" viewBox=\"0 0 24 24\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>") no-repeat right 10px center;background-size:12px;padding-right:30px;position:relative;z-index:1}#bookingApp select:invalid,#bookingSuccess select:invalid{background-image:url("data:image/svg+xml;utf8,<svg fill=\"%23adb5bd\" height=\"12\" viewBox=\"0 0 24 24\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>")}#bookingApp select:valid,#bookingSuccess select:valid{background-image:url("data:image/svg+xml;utf8,<svg fill=\"%232c3e50\" height=\"12\" viewBox=\"0 0 24 24\" width=\"12\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>")}#bookingApp select:focus,#bookingSuccess select:focus{z-index:999}#bookingApp .payment-details-banner__group,#bookingSuccess .payment-details-banner__group{flex-basis:calc(50% - 2rem)}#bookingApp .payment-details-content,#bookingSuccess .payment-details-content{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}#bookingApp .box-shadow,#bookingSuccess .box-shadow{padding:2rem;box-shadow:0 8px 30px rgba(0,0,0,.12);border-radius:8px}#bookingApp fieldset,#bookingSuccess fieldset{border:none !important;background:none;padding:0;margin-bottom:20px}#bookingApp fieldset label,#bookingSuccess fieldset label{display:block;margin-bottom:8px}#bookingApp fieldset input:not([name=passcode]),#bookingApp fieldset select,#bookingApp fieldset textarea,#bookingSuccess fieldset input:not([name=passcode]),#bookingSuccess fieldset select,#bookingSuccess fieldset textarea{width:100%;padding:16px;border:2px solid #e9ecef;border-radius:8px;font-size:16px;background-color:#fafbfc;color:#2c3e50;transition:all .3s ease;height:50px;font-weight:300}#bookingApp fieldset input:not([name=passcode]):focus,#bookingApp fieldset select:focus,#bookingApp fieldset textarea:focus,#bookingSuccess fieldset input:not([name=passcode]):focus,#bookingSuccess fieldset select:focus,#bookingSuccess fieldset textarea:focus{outline:none;border-color:#154eff;background-color:#fff;box-shadow:0 0 0 3px rgba(76,175,80,.1);transform:translateY(-1px)}#bookingApp fieldset input:not([name=passcode])::placeholder,#bookingApp fieldset select::placeholder,#bookingApp fieldset textarea::placeholder,#bookingSuccess fieldset input:not([name=passcode])::placeholder,#bookingSuccess fieldset select::placeholder,#bookingSuccess fieldset textarea::placeholder{color:#adb5bd}#bookingApp fieldset input:not([name=passcode])[type=date]:invalid,#bookingApp fieldset select[type=date]:invalid,#bookingApp fieldset textarea[type=date]:invalid,#bookingSuccess fieldset input:not([name=passcode])[type=date]:invalid,#bookingSuccess fieldset select[type=date]:invalid,#bookingSuccess fieldset textarea[type=date]:invalid{color:#adb5bd;background:#fafbfc}#bookingApp fieldset input:not([name=passcode])[type=date]:valid,#bookingApp fieldset select[type=date]:valid,#bookingApp fieldset textarea[type=date]:valid,#bookingSuccess fieldset input:not([name=passcode])[type=date]:valid,#bookingSuccess fieldset select[type=date]:valid,#bookingSuccess fieldset textarea[type=date]:valid{color:#2c3e50;background:#fafbfc}#bookingApp fieldset select,#bookingSuccess fieldset select{padding:0 1rem;background-color:#fafbfc !important;color:#2c3e50}#bookingApp fieldset select option:disabled,#bookingSuccess fieldset select option:disabled{color:#adb5bd}#bookingApp fieldset select:invalid,#bookingSuccess fieldset select:invalid{color:#adb5bd}#bookingApp #card-element,#bookingSuccess #card-element{width:100%;padding:16px;border:2px solid #e9ecef;border-radius:8px;font-size:16px;background:#fafbfc;transition:all .3s ease}#bookingApp #card-element:focus-within,#bookingSuccess #card-element:focus-within{outline:none;border-color:#154eff;background:#fff;box-shadow:0 0 0 3px rgba(76,175,80,.1);transform:translateY(-1px)}#bookingApp input[name=passcode],#bookingSuccess input[name=passcode]{width:100%;font-size:3rem;text-align:center;margin-bottom:3rem;border-radius:8px}#bookingApp .nameset,#bookingSuccess .nameset{display:flex;gap:1rem}#bookingApp .nameset fieldset:first-of-type,#bookingSuccess .nameset fieldset:first-of-type{width:144px}#bookingApp .phoneset,#bookingSuccess .phoneset{display:flex;gap:.5rem}#bookingApp .phoneset select:first-child,#bookingSuccess .phoneset select:first-child{flex:0 0 90px;min-width:90px}#bookingApp .phoneset input:first-child,#bookingSuccess .phoneset input:first-child{flex:0 0 100px}#bookingApp .phoneset input:last-child,#bookingSuccess .phoneset input:last-child{flex:1}#bookingApp .nameset,#bookingApp .personal-info,#bookingApp .contact-info,#bookingApp .address-info,#bookingSuccess .nameset,#bookingSuccess .personal-info,#bookingSuccess .contact-info,#bookingSuccess .address-info{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}#bookingApp .nameset fieldset,#bookingApp .personal-info fieldset,#bookingApp .contact-info fieldset,#bookingApp .address-info fieldset,#bookingSuccess .nameset fieldset,#bookingSuccess .personal-info fieldset,#bookingSuccess .contact-info fieldset,#bookingSuccess .address-info fieldset{flex:1;min-width:200px;margin-bottom:0}@media(max-width: 768px){#bookingApp .nameset,#bookingApp .personal-info,#bookingApp .contact-info,#bookingApp .address-info,#bookingSuccess .nameset,#bookingSuccess .personal-info,#bookingSuccess .contact-info,#bookingSuccess .address-info{flex-direction:column;gap:0}#bookingApp .nameset fieldset,#bookingApp .personal-info fieldset,#bookingApp .contact-info fieldset,#bookingApp .address-info fieldset,#bookingSuccess .nameset fieldset,#bookingSuccess .personal-info fieldset,#bookingSuccess .contact-info fieldset,#bookingSuccess .address-info fieldset{margin-bottom:1rem}}#bookingApp .nameset fieldset:first-child,#bookingSuccess .nameset fieldset:first-child{flex:0 0 120px;min-width:120px}@media(max-width: 768px){#bookingApp .nameset fieldset:first-child,#bookingSuccess .nameset fieldset:first-child{flex:1;min-width:200px}}#bookingApp .personal-info fieldset,#bookingSuccess .personal-info fieldset{flex:1;min-width:180px}#bookingApp .contact-info fieldset:first-child,#bookingSuccess .contact-info fieldset:first-child{flex:1.2}#bookingApp .contact-info fieldset:last-child,#bookingSuccess .contact-info fieldset:last-child{flex:1}#bookingApp .address-info fieldset:first-child,#bookingSuccess .address-info fieldset:first-child{flex:2}#bookingApp .address-info fieldset:last-child,#bookingSuccess .address-info fieldset:last-child{flex:0 0 150px;min-width:150px}@media(max-width: 768px){#bookingApp .address-info fieldset:last-child,#bookingSuccess .address-info fieldset:last-child{flex:1;min-width:200px}}#bookingApp .phoneset,#bookingSuccess .phoneset{display:flex;gap:.5rem}#bookingApp .phoneset select:first-child,#bookingSuccess .phoneset select:first-child{flex:0 0 90px;min-width:90px}#bookingApp .phoneset input:first-child,#bookingSuccess .phoneset input:first-child{flex:0 0 100px}#bookingApp .phoneset input:last-child,#bookingSuccess .phoneset input:last-child{flex:1}#bookingApp .error,#bookingSuccess .error{border-color:#dc3545 !important;background-color:#fff5f5 !important}#bookingApp .error:focus,#bookingApp .error:focus-within,#bookingSuccess .error:focus,#bookingSuccess .error:focus-within{border-color:#dc3545 !important;box-shadow:0 0 0 3px rgba(220,53,69,.1) !important}#bookingApp .error-message,#bookingSuccess .error-message{color:#dc3545;font-size:14px;font-weight:500;margin-top:3px;margin-bottom:10px;display:flex;align-items:center;position:absolute}#bookingApp .error-message::before,#bookingSuccess .error-message::before{content:"⚠ ";margin-right:4px;font-size:12px}#bookingApp fieldset,#bookingSuccess fieldset{position:relative}#bookingApp fieldset select:focus,#bookingSuccess fieldset select:focus{overflow:visible}#bookingApp fieldset:has(select:focus),#bookingSuccess fieldset:has(select:focus){z-index:1000;position:relative}#bookingApp .g-recaptcha,#bookingSuccess .g-recaptcha{margin:20px 0;text-align:center}#bookingApp .g-recaptcha.g-recaptcha-invisible .grecaptcha-badge,#bookingSuccess .g-recaptcha.g-recaptcha-invisible .grecaptcha-badge{visibility:hidden !important}#bookingApp .error-message[data-field=recaptcha],#bookingSuccess .error-message[data-field=recaptcha]{color:#e53e3e;font-size:14px;margin-top:10px;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:15px;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.1)}#bookingApp .error-message[data-field=recaptcha]::before,#bookingSuccess .error-message[data-field=recaptcha]::before{content:"⚠️ ";margin-right:8px}#bookingApp .error-message[data-field=recaptcha] button,#bookingSuccess .error-message[data-field=recaptcha] button{background:#e53e3e;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;margin-top:10px;transition:background-color .2s}#bookingApp .error-message[data-field=recaptcha] button:hover,#bookingSuccess .error-message[data-field=recaptcha] button:hover{background:#c53030}#bookingApp h2,#bookingSuccess h2{font-size:28px !important;font-weight:400 !important;line-height:30px !important;margin-bottom:1rem !important}#bookingApp h3,#bookingSuccess h3{font-size:28px !important;font-weight:300 !important;line-height:30px !important;margin-bottom:1rem !important}#bookingApp h1,#bookingApp h2,#bookingApp h3,#bookingApp h4,#bookingApp h5,#bookingApp h6,#bookingSuccess h1,#bookingSuccess h2,#bookingSuccess h3,#bookingSuccess h4,#bookingSuccess h5,#bookingSuccess h6{margin-block-end:0;margin-block-start:0}#bookingApp strong,#bookingSuccess strong{font-weight:300 !important}#bookingApp,#bookingSuccess{max-width:822px;margin:0 auto}#bookingApp [type=text],#bookingApp [type=email],#bookingApp [type=tel],#bookingApp textarea,#bookingSuccess [type=text],#bookingSuccess [type=email],#bookingSuccess [type=tel],#bookingSuccess textarea{margin-top:0}#bookingApp .cards,#bookingSuccess .cards{display:flex;justify-content:space-between;flex-wrap:wrap}#bookingApp .svg-move,#bookingSuccess .svg-move{margin-right:5px;vertical-align:sub;padding-bottom:18px}#bookingApp ul,#bookingSuccess ul{padding:0;margin:0}#bookingApp ul li,#bookingSuccess ul li{list-style:none;padding:0}#bookingApp .card,#bookingSuccess .card{padding:1rem;border:1px solid #e1e5e9;border-radius:8px;text-align:left;width:100%;transition:all .2s ease}#bookingApp .card:hover,#bookingSuccess .card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}#bookingApp .card:disabled,#bookingSuccess .card:disabled{opacity:.5;cursor:not-allowed}#bookingApp .card h4,#bookingSuccess .card h4{margin:0 0 .5rem 0;display:flex;justify-content:space-between;align-items:center}#bookingApp .card h4 .treatment-price,#bookingSuccess .card h4 .treatment-price{color:#0073aa;font-weight:600;font-size:.9em;margin-left:auto;padding-left:1rem}#bookingApp .card h4 .treatment-duration,#bookingSuccess .card h4 .treatment-duration{color:#666;font-weight:500;font-size:.85em;margin-left:.5rem}#bookingApp .card p,#bookingSuccess .card p{margin:0;color:#666;font-size:.9rem}#bookingApp .treatment-details-banner,#bookingSuccess .treatment-details-banner{border-radius:8px;margin-bottom:2rem}#bookingApp .treatment-details-banner .treatment-header,#bookingSuccess .treatment-details-banner .treatment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}#bookingApp .no-availability-container,#bookingSuccess .no-availability-container{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#f9fafb;padding:2rem;border-radius:8px;margin:2rem 0;position:relative}#bookingApp .no-availability-container::before,#bookingSuccess .no-availability-container::before{content:"...";position:absolute;left:50%;top:-7px;transform:translateX(-50%) rotate(90deg);color:#9ca3af;font-size:1.2em}#bookingApp .no-availability-container::after,#bookingSuccess .no-availability-container::after{content:"...";position:absolute;bottom:-7px;left:50%;transform:translateX(-50%) rotate(90deg);color:#9ca3af;font-size:1.2em}#bookingApp .no-availability-message,#bookingSuccess .no-availability-message{text-align:center}#bookingApp .no-availability-dates,#bookingSuccess .no-availability-dates{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:.5rem}#bookingApp .no-availability-text,#bookingSuccess .no-availability-text{font-weight:600;color:#9ca3af}.payment-details-banner{background:#fff;padding:2rem;margin-bottom:1rem;border:1px solid #154eff !important;box-shadow:0 2px 4px rgba(0,0,0,.05);position:relative;border-radius:8px}.payment-container{margin:0 auto}.payment-container .payment-subheading{text-align:center;color:#666;margin-bottom:30px;font-size:16px}.appointment-summary{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:30px;border:1px solid #e9ecef}.appointment-summary h3{margin:0 0 15px 0;color:#333;font-size:18px}.appointment-summary .summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.appointment-summary .summary-item:not(:last-child){border-bottom:1px solid #e9ecef}.appointment-summary .summary-item.deposit-amount{font-weight:bold;font-size:18px}.appointment-summary .summary-item.deposit-amount .amount{color:#28a745;font-size:20px}.payment-form{background:#fff;border-radius:8px;padding:35px 9rem;border:1px solid #e1e5e9;box-shadow:0 8px 30px rgba(0,0,0,.12);position:relative}.payment-form::before{content:"🔒 Secure Payment";position:absolute;top:-12px;left:50%;transform:translateX(-50%);color:#fff;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#154eff}.payment-form h3{margin:0 0 25px 0;color:#2c3e50;font-size:22px;font-weight:600;text-align:center;border-bottom:2px solid #f8f9fa;padding-bottom:15px}.payment-form .card-row{display:grid;grid-template-columns:2fr 1fr;gap:15px}@media(max-width: 768px){.payment-form .card-row{grid-template-columns:1fr}}.payment-form fieldset{margin-bottom:20px;border:none;padding:0}.payment-form fieldset input{width:100%;padding:16px;border:2px solid #e9ecef;border-radius:8px;font-size:16px;background:#fafbfc;transition:all .3s ease}.payment-form fieldset input:focus{outline:none;border-color:#154eff;background:#fff;box-shadow:0 0 0 3px rgba(76,175,80,.1);transform:translateY(-1px)}.payment-form fieldset input::placeholder{color:#adb5bd}.payment-form fieldset .stripe-elements-fieldset #card-element{padding:16px;border:2px solid #e9ecef;border-radius:8px;background:#fafbfc;transition:all .3s ease}.payment-form fieldset .stripe-elements-fieldset #card-element.StripeElement--focus{border-color:#154eff;background:#fff;box-shadow:0 0 0 3px rgba(76,175,80,.1);transform:translateY(-1px)}.payment-form fieldset .stripe-elements-fieldset #card-element.StripeElement--invalid{border-color:#dc3545}.payment-form fieldset .stripe-elements-fieldset #card-errors{color:#dc3545;font-size:14px;margin-top:8px;font-weight:500}.payment-form .payment-notice{border-radius:8px;padding:20px;margin:25px 0;display:flex;align-items:center;gap:12px}.payment-form .payment-notice::before{content:"🛡️";font-size:20px;flex-shrink:0}.payment-form .payment-notice p{margin:0;font-size:14px;line-height:1.5;font-weight:500}.payment-form .payment-buttons{margin-top:25px}.security-badges{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px;padding:20px;background:#f8f9fa;border-radius:8px;border-top:1px solid #e9ecef}.security-badges .badge{display:flex;align-items:center;gap:8px;color:#6c757d;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.security-badges .badge.ssl::before{content:"🔒"}.security-badges .badge.stripe::before{content:"💳"}.security-badges .badge.secure::before{content:"🛡️"}@media(max-width: 576px){.security-badges{flex-direction:column;gap:10px}}.confirmation-container{max-width:600px;margin:0 auto;padding:40px 20px;text-align:center}.confirmation-container .success-icon,.confirmation-container .error-icon{font-size:4rem;display:block}.confirmation-container h2{color:#2c3e50;margin-bottom:10px;font-size:2rem}.confirmation-container .confirmation-subheading{color:#666;margin-bottom:30px;font-size:1.1rem}.appointment-details,.payment-summary{background:#f8f9fa;border-radius:8px;padding:25px;margin:20px 0;text-align:left}.appointment-details h3,.payment-summary h3{margin:0 0 15px 0;color:#2c3e50;font-size:1.2rem;text-align:center;border-bottom:2px solid #e9ecef;padding-bottom:10px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:600;color:#495057}.detail-row .value{color:#2c3e50}.payment-note{text-align:center;margin:15px 0 0 0}.next-steps{background:linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);border-radius:8px;padding:25px;margin:20px 0;text-align:left}.next-steps h3{margin:0 0 15px 0;color:#2c3e50;text-align:center}.next-steps ul{list-style:none;padding:0;margin:0}.next-steps ul li{padding:8px 0;color:#495057;line-height:1.5}.confirmation-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}@media(max-width: 767px){#bookingApp .payment-form,#bookingSuccess .payment-form{padding:35px 1rem}#bookingApp .payment-form::before,#bookingSuccess .payment-form::before{max-width:100%;width:80%;text-align:center}#bookingApp .security-badges,#bookingSuccess .security-badges{align-items:baseline}#bookingApp .payment-details-banner__group,#bookingSuccess .payment-details-banner__group{width:100%;position:relative;flex-basis:100%}#bookingApp .payment-details-banner__group p,#bookingSuccess .payment-details-banner__group p{padding-left:1rem}#bookingApp .payment-details-banner__group span,#bookingSuccess .payment-details-banner__group span{position:absolute;left:-1rem;font-size:28px;padding-top:15px;width:26px !important;height:26px !important;padding-top:21px}#bookingApp .payment-details-banner__group specialspan,#bookingSuccess .payment-details-banner__group specialspan{margin-top:6px;padding-top:7px}#bookingApp p,#bookingSuccess p{margin-bottom:0}#bookingApp .treatment-details-banner p,#bookingSuccess .treatment-details-banner p{margin-bottom:.5rem}#bookingApp .pills,#bookingSuccess .pills{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}#bookingApp button.pill,#bookingSuccess button.pill{flex-basis:calc(50% - .5rem);margin:0}#bookingApp fieldset input:not([name=passcode]),#bookingApp #bookingApp fieldset select,#bookingApp #bookingApp fieldset textarea,#bookingSuccess fieldset input:not([name=passcode]),#bookingSuccess #bookingApp fieldset select,#bookingSuccess #bookingApp fieldset textarea{margin-bottom:0}#bookingApp fieldset,#bookingSuccess fieldset{margin-bottom:0}#bookingApp label[for=marketing],#bookingSuccess label[for=marketing]{width:81%;font-size:12px;line-height:11px;margin-bottom:15px;display:block}#bookingApp input[type=checkbox]#marketing,#bookingSuccess input[type=checkbox]#marketing{margin-bottom:10px}#bookingApp form:has(#marketing)>div:last-child,#bookingSuccess form:has(#marketing)>div:last-child{margin-top:25px}#bookingApp .rc-anchor-container,#bookingSuccess .rc-anchor-container{width:100%}}
