.booking-page{font-family:var(--font-sans);color:#1c1e1a;background:#fff;font-size:14px;line-height:1.5;touch-action:pan-y!important;overscroll-behavior-x:none!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important}@media screen and (width<=768px){.booking-page input,.booking-page select,.booking-page textarea,input,select,textarea{font-size:16px!important}}.booking-page .input-wrap input,.booking-page .field input,.booking-page .field select,.booking-page .field textarea{touch-action:manipulation;font-size:16px!important}.booking-page [hidden]{display:none!important}.booking-page .picker{padding-top:2.25rem;padding-bottom:4rem}.booking-page .picker-top{border-bottom:1px solid #eceae4;justify-content:space-between;align-items:center;margin-bottom:1.75rem;padding-bottom:1rem;display:flex}.booking-page .picker h1{font-family:var(--font-serif);margin-bottom:.35rem;font-size:clamp(1.65rem,5vw,2.1rem);font-weight:400}.booking-page .therapist-preselected-banner{color:#faf9f6;background:linear-gradient(135deg,#1e261e 0%,#273027 100%);border:1px solid #8c735273;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 1.5rem;padding:.85rem 1.25rem;display:flex}.booking-page .tpb-content{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.booking-page .tpb-badge{color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#8c7352;padding:.25rem .55rem;font-size:.625rem;font-weight:700}.booking-page .tpb-text{color:#faf9f6e6;font-size:.88rem}.booking-page .tpb-text strong{color:#fff;font-weight:600}.booking-page .tpb-change-btn{color:#faf9f6bf;text-underline-offset:3px;white-space:nowrap;font-size:.75rem;text-decoration:underline;transition:color .15s}.booking-page .tpb-change-btn:hover{color:#fff}.booking-page .intro{color:#666;margin-bottom:1.5rem}.booking-page .text-button{font-family:var(--font-sans);color:#6e6a63;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:500;text-decoration:underline;transition:color .15s}.booking-page .text-button:hover{color:#1c1e1a}.booking-page .checkout-grid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);min-height:100vh;display:grid}.booking-page .checkout-main{box-sizing:border-box;background:#fff;width:100%;max-width:680px;margin-left:auto;margin-right:0;padding:2.25rem clamp(1.75rem,4.5vw,4rem) 4.5rem}.booking-page .checkout-summary{background:#f7f6f2;border-left:1px solid #e8e6e0}.booking-page .summary-inner{max-width:430px;padding:1.75rem clamp(1.5rem,3vw,2.5rem);position:sticky;top:1.75rem}.booking-page .co-header{border-bottom:1px solid #eae7e0;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:1.25rem;display:flex}.booking-page .co-brand{font-family:var(--font-serif);letter-spacing:.18em;color:#1c1e1a;font-size:1.55rem;font-weight:400}.booking-page .co-secure{letter-spacing:.06em;text-transform:uppercase;color:#7c756b;align-items:center;gap:.4rem;font-size:.72rem;font-weight:500;display:inline-flex}.booking-page .booking-stepper{background:#faf8f4;border:1px solid #eae5d9;border-radius:10px;justify-content:space-between;align-items:center;margin:1.15rem 0 1.25rem;padding:.75rem 1.15rem;display:flex}.booking-page .stepper-item{cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:.5rem;padding:.25rem .35rem;transition:all .2s;display:flex}.booking-page .stepper-item:disabled{cursor:not-allowed;opacity:.55}.booking-page .stepper-circle{color:#7a7265;background:#eae5d9;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.booking-page .stepper-item.is-active .stepper-circle{background:var(--color-deep-olive,#273027);color:#fff;box-shadow:0 2px 6px #27302740}.booking-page .stepper-item.is-done .stepper-circle{background:var(--color-muted-bronze,#9b815d);color:#fff}.booking-page .stepper-label{color:#7a7265;white-space:nowrap;font-size:.82rem;font-weight:600}.booking-page .stepper-item.is-active .stepper-label{color:#171915;font-weight:700}.booking-page .stepper-item.is-done .stepper-label{color:#4a463f}.booking-page .stepper-divider{background:#ddd8cb;flex:1;min-width:12px;height:1px;margin:0 .5rem}.booking-page .selected-treatment-pill{background:#f4f7f2;border:1px solid #dce6d6;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.75rem 1rem;display:flex}.booking-page .stp-info{flex-direction:column;gap:.15rem;display:flex}.booking-page .stp-badge{letter-spacing:.08em;text-transform:uppercase;color:#3e5a35;font-size:.65rem;font-weight:700}.booking-page .stp-title{color:#1e271d;font-size:.95rem;font-weight:600}.booking-page .stp-change-btn{color:#6a7a62;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.78rem;font-weight:600;text-decoration:underline}.booking-page .stp-change-btn:hover{color:#1e271d}.booking-page .step-cta-row{border-top:1px solid #ece7dc;margin-top:1.5rem;padding-top:.75rem}.booking-page .step-continue-btn{background:var(--color-deep-olive,#273027);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:50px;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #2730272e}.booking-page .step-continue-btn:hover{background:var(--color-muted-bronze,#9b815d);transform:translateY(-1px)}.booking-page #step-1-cta-wrap,.booking-page #step-2-cta-wrap,.booking-page .step-1-cta,.booking-page .step-2-cta{display:none!important}.booking-page .co-step{border-bottom:1px solid #eae7e0;padding:1.65rem 0;transition:opacity .25s}.booking-page .co-step.is-substep{border-top:1px solid #eae7e0;border-bottom:0;margin-top:1.85rem;padding-top:1.75rem;padding-bottom:.25rem}.booking-page .co-step.is-locked{opacity:.48}.booking-page .step-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-page .step-title-group{align-items:flex-start;gap:.85rem;display:flex}.booking-page .step-num{color:#6e5a3e;letter-spacing:.04em;background:#fbfaf8;border:1px solid #c5bca8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:.1rem;font-size:.7rem;font-weight:600;display:inline-flex}.booking-page .co-step.is-locked .step-num{color:#8c8881;background:#f7f6f2;border-color:#dcd9d0}.booking-page .step-num.is-done{color:#6e583b;background:#f4f0e8;border-color:#8c7352}.booking-page .step-header h2{font-family:var(--font-serif);letter-spacing:-.01em;color:#1c1e1a;margin:0;font-size:1.25rem;font-weight:400;line-height:1.25}.booking-page .step-sub{font-family:var(--font-sans);color:#7c7870;margin:.2rem 0 0;font-size:.8rem}.booking-page .step-summary-line{color:#6e583b;margin:.2rem 0 0;font-size:.8rem;font-weight:500}.booking-page .step-body{margin-top:1.25rem;padding-left:2.6rem}.booking-page .schedule-block{margin-bottom:1.35rem}.booking-page .sub-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.booking-page .sub-label{text-transform:uppercase;letter-spacing:.1em;color:#6e6a63;font-size:.72rem;font-weight:600}.booking-page .sub-label strong{color:#1c1e1a;font-weight:600}.booking-page .sub-hint{color:#8c8881;font-size:.74rem}.booking-page .duration-upgrade-bar{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.booking-page .dur-option{cursor:pointer;text-align:center;box-sizing:border-box;background:#fff;border:1px solid #e0ddd5;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:.75rem .4rem;transition:all .15s;display:flex;position:relative}.booking-page .dur-option:hover{background:#faf8f5;border-color:#8c7352}.booking-page .dur-option.is-selected{background:#f7f4ee;border-color:#8c7352;box-shadow:0 0 0 1px #8c7352}.booking-page .dur-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#2e3a2d;border-radius:8px;padding:1px 6px;font-size:.58rem;font-weight:700;position:absolute;top:-7px}.booking-page .dur-mins{color:#1c1e1a;font-size:.95rem;font-weight:700;line-height:1.2}.booking-page .dur-sub{color:#7a766e;white-space:nowrap;margin:2px 0 3px;font-size:.72rem;line-height:1.2}.booking-page .dur-price{color:#2e3a2d;white-space:nowrap;font-size:.88rem;font-weight:700;line-height:1.2}.booking-page .dur-option b{color:#6e583b;white-space:nowrap;font-size:.8rem;font-weight:600}.booking-page .calendar-pill-trigger{color:var(--color-deep-olive,#2e3a2d);cursor:pointer;background:#f3efe6;border:1px solid #ded7c8;border-radius:6px;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.booking-page .calendar-pill-trigger:hover{background:#ebe5d8;border-color:#2e3a2d}.booking-page .date-picker-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.booking-page .quick-dates{grid-template-columns:repeat(5,1fr);gap:.45rem;display:grid}@media (width<=600px){.booking-page .quick-dates{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem;padding-bottom:2px;display:flex;overflow-x:auto}.booking-page .quick-dates::-webkit-scrollbar{display:none}.booking-page .date-chip{scroll-snap-align:start;flex:0 0 calc(20% - .32rem);min-width:64px}}.booking-page .date-chip{font-family:var(--font-sans);color:#3a3834;cursor:pointer;background:#fff;border:1px solid #e2dfd7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;padding:.48rem .3rem;transition:all .16s;display:flex}.booking-page .date-chip span{text-transform:uppercase;letter-spacing:.05em;color:#8c8881;font-size:.62rem;font-weight:600;line-height:1}.booking-page .date-chip strong{font-family:var(--font-serif);color:#1c1e1a;font-size:.95rem;font-weight:600;line-height:1.15}.booking-page .date-chip:hover{background:#fcfbf9;border-color:#2e3a2d}.booking-page .date-chip[aria-pressed=true]{color:#fff;background:#2e3a2d;border-color:#2e3a2d;box-shadow:0 2px 6px #2e3a2d33}.booking-page .date-chip[aria-pressed=true] span{color:#ffffffd1}.booking-page .date-chip[aria-pressed=true] strong{color:#fff}.booking-page .asap-slot-btn{color:#1c1e1a;width:100%;font-family:var(--font-sans);cursor:pointer;background:#fbf9f5;border:1px solid #dcd5c7;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.65rem;padding:.68rem .9rem;transition:all .16s;display:flex}.booking-page .asap-slot-btn:hover{background:#f6f3ec;border-color:#8c7352}.booking-page .asap-slot-btn[aria-pressed=true]{background:#f6f3ec;border-color:#8c7352;box-shadow:inset 0 0 0 1px #8c7352}.booking-page .asap-left{align-items:center;gap:.55rem;font-size:.82rem;font-weight:600;display:flex}.booking-page .asap-pulse{background:#8c7352;border-radius:50%;width:8px;height:8px;display:inline-block}.booking-page .asap-right{color:#6e583b;font-size:.72rem;font-weight:500}.booking-page .period-tabs{background:#f7f6f2;border:1px solid #eae7e0;border-radius:8px;gap:.3rem;margin-bottom:.65rem;padding:.22rem;display:inline-flex}.booking-page .period-tab{color:#6e6a63;cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .7rem;font-size:.73rem;font-weight:500;transition:all .14s}.booking-page .period-tab.is-active{color:#1c1e1a;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000000d}.booking-page .time-slots{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}@media (width<=480px){.booking-page .time-slots{grid-template-columns:repeat(3,1fr);gap:.35rem}}.booking-page .slot-button{font-family:var(--font-sans);color:#2c2a26;cursor:pointer;text-align:center;white-space:nowrap;background:#fff;border:1px solid #dedad1;border-radius:6px;padding:.5rem .25rem;font-size:.82rem;font-weight:500;transition:all .15s}.booking-page .slot-button:hover{background:#fbf9f5;border-color:#2e3a2d}.booking-page .slot-button[aria-pressed=true]{color:#fff;background:#2e3a2d;border-color:#2e3a2d;font-weight:600;box-shadow:0 2px 6px #2e3a2d38}.booking-page .therapist-strip{border-top:1px solid #f0ede6;margin-top:1.35rem;padding-top:1.2rem}.booking-page .therapist-pills{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:.6rem;display:grid}.booking-page .therapist-card-option{color:#3a3834;cursor:pointer;background:#fff;border:1px solid #e2dfd7;border-radius:10px;align-items:center;gap:.6rem;padding:.55rem .7rem;transition:all .18s;display:flex}.booking-page .therapist-card-option input{opacity:0;width:0;height:0;position:absolute}.booking-page .therapist-card-option:hover{background:#fcfbf9;border-color:#b5a48b}.booking-page .therapist-card-option:has(input:checked),.booking-page .therapist-card-option.is-selected{color:#1c1e1a;background:#f6f3ec;border-color:#8c7352;box-shadow:inset 0 0 0 1px #8c7352}.booking-page .tp-dot{border:1.5px solid #b5a48b;border-radius:50%;flex-shrink:0;width:16px;height:16px}.booking-page .therapist-card-option:has(input:checked) .tp-dot,.booking-page .therapist-card-option.is-selected .tp-dot{background:#8c7352;border-color:#8c7352;box-shadow:inset 0 0 0 3px #f6f3ec}.booking-page .tp-avatar{object-fit:cover;object-position:center 20%;border:1px solid #e2dfd7;border-radius:50%;flex-shrink:0;width:32px;height:32px}.booking-page .tp-info{flex-direction:column;min-width:0;display:flex}.booking-page .tp-name{color:#1c1e1a;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.booking-page .tp-sub{color:#7c7870;white-space:nowrap;font-size:.68rem}.booking-page .gps-inline-btn{font-family:var(--font-sans);color:#6e583b;cursor:pointer;white-space:nowrap;background:#fbf9f5;border:1px solid #dcd5c7;border-radius:8px;align-items:center;gap:.35rem;padding:.38rem .75rem;font-size:.74rem;font-weight:500;transition:all .15s;display:inline-flex}.booking-page .gps-inline-btn:hover{background:#f4f0e8;border-color:#8c7352}.booking-page .luxury-map-card{background:#fcfbf9;border:1px solid #e2dfd7;border-radius:12px;margin-bottom:1.25rem;padding:.9rem}.booking-page .map-search-row{align-items:center;display:flex;position:relative}.booking-page .search-pin-ic{color:#8c7352;pointer-events:none;position:absolute;left:.8rem}.booking-page .map-search-row input{width:100%;height:44px;font-family:var(--font-sans);color:#1c1e1a;background:#fff;border:1px solid #dcd8cf;border-radius:8px;padding:0 2.2rem 0 2.35rem;font-size:.85rem;transition:border-color .15s}.booking-page .map-search-row input:focus,.booking-page .lux-input:focus{border-color:#8c7352;outline:none;box-shadow:0 0 0 1px #8c7352}.booking-page .map-clear-btn{color:#888;font-size:.78rem;position:absolute;right:.65rem}.booking-page .map-suggestions{z-index:30;background:#fff;border:1px solid #dcd8cf;border-radius:8px;max-height:160px;margin:.25rem 0 0;padding:.25rem;list-style:none;position:relative;overflow-y:auto;box-shadow:0 8px 24px #00000014}.booking-page .map-suggestions li button{text-align:left;border-radius:6px;width:100%;padding:.45rem .65rem;font-size:.8rem}.booking-page .map-suggestions li button:hover{background:#f7f6f2}.booking-page .location-search-header{margin-bottom:.35rem}.booking-page .map-input-group{align-items:stretch;gap:.5rem;width:100%;display:flex}.booking-page .map-input-group .map-search-row{flex:1;min-width:0}.booking-page .locate-me-btn{color:#6e583b;cursor:pointer;white-space:nowrap;background:#faf7f2;border:1px solid #9b815d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .95rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.booking-page .locate-me-btn:hover{color:#fff;background:#9b815d}.booking-page .locate-me-btn.is-locating{opacity:.7;pointer-events:none}@media (width<=440px){.booking-page .map-input-group{flex-direction:column;gap:.5rem}.booking-page .locate-me-btn{width:100%;min-height:40px}}.booking-page #map-drawer{margin-top:.75rem}.booking-page .google-map-iframe{background:#f4f3ef;border:1px solid #d6d0c4;border-radius:8px;width:100%;height:180px;display:block}.booking-page .dubai-map{background:#f4f3ef;border:1px solid #d6d0c4;border-radius:8px;width:100%;height:165px;overflow:hidden}.booking-page .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-page .map-foot{color:#7c7870;justify-content:space-between;align-items:center;margin-top:.45rem;padding:0 .15rem;font-size:.75rem;display:flex}.booking-page .map-foot a{color:#9b815d;font-size:.76rem;font-weight:600;text-decoration:underline}.booking-page .guest-inputs{gap:.9rem;display:grid}.booking-page .field-group{flex-direction:column;gap:.32rem;display:flex}.booking-page .field-lbl{text-transform:uppercase;letter-spacing:.08em;color:#6e6a63;font-size:.72rem;font-weight:600}.booking-page .lux-input{width:100%;height:44px;font-family:var(--font-sans);color:#1c1e1a;background:#fff;border:1px solid #dcd8cf;border-radius:8px;padding:0 .85rem;font-size:.86rem;transition:border-color .15s}.booking-page .lux-input::placeholder{color:#9e9a92}.booking-page .ci-pair{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.booking-page .inline-links-row{flex-wrap:wrap;gap:1.5rem;padding-top:.2rem;display:flex}.booking-page .tiny-toggle{font-size:.76rem}.booking-page .tiny-toggle summary{cursor:pointer;color:#6e583b;font-weight:500}.booking-page .addons-mini{flex-wrap:wrap;gap:.9rem;margin-top:.5rem;display:flex}.booking-page .product-option{cursor:pointer;align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.booking-page .pay-badges{color:#8c8881;letter-spacing:.03em;font-size:.7rem;font-weight:500}.booking-page .payment-cards-stack{flex-direction:column;gap:.85rem;margin-bottom:.85rem;display:flex}.booking-page .pay-choice-card{cursor:pointer;background:#faf9f6;border:1.5px solid #dcd8cf;border-radius:12px;padding:1.15rem 1.25rem;transition:all .2s}.booking-page .pay-choice-card:hover{border-color:var(--color-deep-olive,#2e3a2d)}.booking-page .pay-choice-card.is-selected{border:2px solid var(--color-deep-olive,#2e3a2d);background:#faf9f6;box-shadow:0 4px 14px #2e3a2d14}.booking-page .pay-choice-card:not(.is-selected) .opc-check-box{color:#0000;background:0 0;border:2px solid #ccc}.booking-page .ziina-icons-row{border-top:1px dashed #dcd8cf;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.65rem;display:flex}.booking-page .ziina-pill{color:#171915;cursor:pointer;background:#fff;border:1.5px solid #dcd8cf;border-radius:6px;justify-content:center;align-items:center;padding:.3rem .65rem;font-family:inherit;font-size:.74rem;font-weight:700;transition:all .15s;display:inline-flex}.booking-page .ziina-pill:hover{border-color:var(--color-deep-olive,#2e3a2d);transform:translateY(-1px)}.booking-page .ziina-pill.card-pill.is-active{border-color:var(--color-deep-olive,#2e3a2d);color:#1c1e1a;background:#f4f0e8}.booking-page .ziina-pill.apple-pay{color:#fff;background:#000;border-color:#000}.booking-page .ziina-pill.apple-pay:hover{background:#1e1e1e}.booking-page .ziina-pill.g-pay{color:#3c4043;background:#f1f3f4;border-color:#dadce0}.booking-page .ziina-pill.g-pay:hover{background:#e8eaed}.booking-page .ziina-note{color:#7c7870;margin-left:auto;font-size:.72rem;font-weight:500}.booking-page .opc-status-badge.card-badge{color:#fff;background:#2e3a2d}.booking-page .opc-status-badge.ziina-badge{color:#fff;background:#128c7e}.booking-page .test-drawer-container{margin-top:.65rem}.booking-page .test-mode-toggle-chip{color:#7d602f;cursor:pointer;background:#fdfbf7;border:1px dashed #c4a777;border-radius:6px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.booking-page .test-mode-toggle-chip:hover{background:#f7eedb;border-color:#a88548}.booking-page .test-mode-toggle-chip.is-active{color:#276321;background:#eef6ec;border:1px solid #5b9b54}.booking-page .ziina-test-banner{color:#5c471f;background:#fcf9f2;border:1px dashed #d8bc81;border-radius:10px;margin-top:.65rem;padding:.85rem 1rem;font-size:.78rem}.booking-page .test-banner-header{color:#734f0e;align-items:center;gap:.45rem;margin-bottom:.5rem;font-weight:700;display:flex}.booking-page .test-pulse-dot{background:#e67e22;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #e67e2233}.booking-page .test-sub-note{color:#8c7352;font-size:.72rem;font-weight:400}.booking-page .test-cards-list{flex-direction:column;gap:.4rem;display:flex}.booking-page .test-card-box{background:#fff;border:1px solid #ebd7af;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .65rem;display:flex}.booking-page .test-card-box strong{color:#2c2a26;font-size:.72rem}.booking-page .test-code{color:#1a1a1a;letter-spacing:.05em;background:#f5f2eb;border-radius:4px;padding:.15rem .4rem;font-family:monospace;font-size:.82rem;font-weight:700}.booking-page .test-card-meta{color:#8c7352;font-size:.7rem}.booking-page .onsite-pay-card{background:#faf9f6;border-radius:12px;margin-bottom:.85rem;padding:1.15rem 1.25rem}.booking-page .opc-select-header{align-items:flex-start;gap:.85rem;display:flex}.booking-page .opc-check-box{background:var(--color-deep-olive,#2e3a2d);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;display:flex}.booking-page .opc-title-group{flex:1}.booking-page .opc-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.booking-page .opc-method-name{color:#171915;font-size:.95rem;font-weight:700}.booking-page .opc-status-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--color-deep-olive,#2e3a2d);background:#2e3a2d1a;border-radius:12px;padding:.2rem .55rem;font-size:.65rem;font-weight:700}.booking-page .opc-method-desc{color:#555e4f;margin:0 0 .75rem;font-size:.8rem;line-height:1.4}.booking-page .opc-total-row{color:#171915;border-top:1px dashed #dcd8cf;justify-content:space-between;align-items:baseline;padding-top:.75rem;font-size:.9rem;font-weight:600;display:flex}.booking-page .opc-amount{color:var(--color-deep-olive,#2e3a2d);font-size:1.35rem;font-weight:700}@media (width>=901px){.booking-page #step-3-cta-wrap,.booking-page .step-3-cta{display:none!important}}@media (width<=900px){.booking-page .sidebar-cta-wrap{display:none!important}.booking-page .step-3-cta{margin-top:1rem;display:block!important}}.booking-page .sidebar-cta-btn,.booking-page .pay-submit-btn{cursor:pointer;transition:all .2s;width:100%!important;min-height:46px!important;font-family:var(--font-sans)!important;letter-spacing:.015em!important;text-transform:none!important;color:#fff!important;background:#273027!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;gap:.35rem!important;padding:.72rem 1.15rem!important;font-size:.92rem!important;font-weight:600!important;line-height:1.3!important;display:inline-flex!important;box-shadow:0 3px 12px #27302724!important}.booking-page .btn-spinner{vertical-align:middle;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-right:.45rem;animation:.65s linear infinite cta-spin;display:inline-block}@keyframes cta-spin{to{transform:rotate(360deg)}}.booking-page .sidebar-cta-btn:hover,.booking-page .pay-submit-btn:hover{transform:translateY(-1px);background:var(--color-muted-bronze,#9b815d)!important}.booking-page .plan-grid{border:0;grid-template-columns:1fr 1fr;gap:.75rem;margin:0 0 1rem;padding:0;display:grid}.booking-page .plan-option{cursor:pointer;background:#fff;border:1px solid #e2dfd7;border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;transition:all .18s;display:flex;position:relative}.booking-page .plan-option input{opacity:0;width:0;height:0;position:absolute}.booking-page .plan-option:hover{border-color:#b5a48b}.booking-page .plan-option:has(input:checked){background:#fbf9f5;border-color:#8c7352;box-shadow:inset 0 0 0 1px #8c7352}.booking-page .po-top{align-items:center;gap:.45rem;display:flex}.booking-page .po-radio-dot{border:1.5px solid #c5bca8;border-radius:50%;flex-shrink:0;width:15px;height:15px}.booking-page .plan-option:has(input:checked) .po-radio-dot{background:#8c7352;border-color:#8c7352;box-shadow:inset 0 0 0 3px #fbf9f5}.booking-page .po-top strong{color:#1c1e1a;flex:1;font-size:.84rem;font-weight:600}.booking-page .po-badge{letter-spacing:.05em;color:#6e583b;background:#efe9dd;border:1px solid #d8cbb8;border-radius:4px;padding:.14rem .45rem;font-size:.62rem;font-weight:600}.booking-page .po-badge-muted{color:#6e6a63;background:#f4f3ef;border-radius:4px;padding:.14rem .45rem;font-size:.62rem;font-weight:500}.booking-page .po-prices{align-items:baseline;gap:.4rem;padding-left:1.4rem;display:flex}.booking-page .po-prices s{color:#96928a;font-size:.76rem}.booking-page .po-prices b{font-family:var(--font-serif);color:#1c1e1a;font-size:1.08rem;font-weight:600}.booking-page .po-prices span{color:#7c7870;font-size:.72rem}.booking-page .plan-option small{color:#7c7870;padding-left:1.4rem;font-size:.72rem;line-height:1.3}.booking-page .card-box{background:#fcfbf9;border:1px solid #e2dfd7;border-radius:10px;padding:.85rem 1rem}.booking-page .card-box-label{text-transform:uppercase;letter-spacing:.08em;color:#6e6a63;justify-content:space-between;align-items:center;margin-bottom:.55rem;font-size:.72rem;font-weight:600;display:flex}.booking-page .card-box-label small{text-transform:none;letter-spacing:0;color:#8c8881;font-weight:400}.booking-page .card-inline-row{grid-template-columns:1fr 100px 84px;gap:.55rem;display:grid}.booking-page .field-error{color:#b83b2b;margin:.45rem 0 0;font-size:.8rem;font-weight:600}.booking-page .line-item{align-items:center;gap:.85rem;padding-bottom:1rem;display:flex}.booking-page .li-thumb{flex:none;position:relative}.booking-page .li-thumb img{object-fit:cover;border:1px solid #e2dfd7;border-radius:8px;width:60px;height:60px}.booking-page .qty{color:#fff;background:#6e6a63;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font-size:.66rem;font-weight:600;display:flex;position:absolute;top:-6px;right:-6px}.booking-page .li-info{flex:1}.booking-page .li-info strong{color:#1c1e1a;font-size:.88rem;font-weight:600;line-height:1.3;display:block}.booking-page .li-info small{color:#7c7870;font-size:.74rem}.booking-page #addon-summary div{justify-content:space-between;margin:-.2rem 0 .7rem;font-size:.8rem;display:flex}.booking-page .visit-summary{border-top:1px solid #e4e1d8;gap:.35rem;padding:.8rem 0;font-size:.8rem;display:grid}.booking-page .visit-summary div{justify-content:space-between;gap:.75rem;display:flex}.booking-page .visit-summary div span:first-child{color:#7c7870}.booking-page .visit-summary div strong{color:#1c1e1a;font-weight:600}.booking-page .visit-summary .text-button{justify-self:start;font-size:.74rem}.booking-page .totals{border-top:1px solid #e4e1d8;padding-top:.8rem}.booking-page .totals p{color:#4a4742;justify-content:space-between;margin:.35rem 0;font-size:.82rem;display:flex}.booking-page .free-tag{letter-spacing:.04em;color:#6e583b;font-size:.68rem;font-weight:600}.booking-page .discount-row{font-weight:600;color:#6e583b!important}.booking-page .totals .grand{color:#1c1e1a;margin-top:.65rem;font-size:.96rem;font-weight:600}.booking-page .grand strong{font-size:1.25rem;font-weight:700}.booking-page .grand small{color:#7c7870;font-size:.72rem;font-weight:400}.booking-page .sidebar-payment{background:#fff;border:1px solid #e4e1d8;border-radius:6px;margin-top:.65rem;padding:.45rem .75rem}.booking-page .sidebar-payment p{color:#1c1e1a;margin:.2rem 0;font-size:.82rem;font-weight:600}.booking-page .sidebar-cta-wrap{margin:1rem 0 .85rem}.booking-page .sidebar-cta-btn{width:100%;min-height:48px;font-family:var(--font-sans);letter-spacing:.02em;text-transform:none;color:#fff;background:#273027;border-radius:6px;font-size:.86rem;font-weight:600}.booking-page .sidebar-cta-hint{color:#7c7870;text-align:center;margin-top:.4rem;font-size:.72rem}.booking-page .gift{color:#6e583b;margin-top:.65rem;font-size:.76rem;font-weight:500}.booking-page .trust{color:#6e6a63;gap:.28rem;margin:.85rem 0;padding:0;font-size:.74rem;list-style:none;display:grid}.booking-page .mobile-only-actions,.booking-page .mobile-summary{display:none}@media (width<=860px){.booking-page .checkout-grid{grid-template-columns:100%}.booking-page .checkout-summary{display:none}.booking-page .checkout-main{padding:1.5rem 1rem 3rem}.booking-page .mobile-only-actions{margin-top:1rem;display:block}.booking-page .mobile-pay-btn{text-transform:none;border-radius:8px;width:100%;min-height:50px;font-size:.9rem;font-weight:600}.booking-page .mobile-summary{background:#f7f6f2;border-bottom:1px solid #e8e6e0;display:block}.booking-page .mobile-summary summary{cursor:pointer;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-size:.84rem;font-weight:600;list-style:none;display:flex}.booking-page .mobile-summary summary::-webkit-details-marker{display:none}.booking-page .ms-body{padding:0 1rem 1rem}.booking-page .plan-grid,.booking-page .ci-pair{grid-template-columns:1fr}}.booking-page .intl-phone-combo{box-sizing:border-box!important;background:#fff!important;border:1px solid #dcd8cf!important;border-radius:8px!important;align-items:center!important;width:100%!important;height:48px!important;transition:border-color .15s,box-shadow .15s!important;display:flex!important;overflow:hidden!important}.booking-page .intl-phone-combo:focus-within{border-color:#2e3a2d!important;box-shadow:0 0 0 1px #2e3a2d,0 1px 3px #0000000d!important}.booking-page .country-code-wrap{background:#faf8f5!important;border-right:1px solid #e2ded7!important;flex:0 0 108px!important;align-items:center!important;height:100%!important;display:flex!important;position:relative!important}.booking-page .country-code-select{width:100%!important;height:100%!important;font-family:var(--font-sans)!important;color:#2c2a26!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;background:0 0!important;border:none!important;outline:none!important;padding:0 1.25rem 0 .65rem!important;font-size:15px!important;font-weight:500!important}.booking-page .country-caret{pointer-events:none!important;color:#777!important;font-size:10px!important;position:absolute!important;top:50%!important;right:8px!important;transform:translateY(-50%)!important}.booking-page .phone-national-input{width:100%!important;min-width:0!important;height:100%!important;font-family:var(--font-sans)!important;color:#1c1e1a!important;box-shadow:none!important;box-sizing:border-box!important;background:0 0!important;border:none!important;border-radius:0!important;outline:none!important;flex:auto!important;padding:0 .85rem!important;font-size:16px!important}.booking-page .phone-national-input:focus{box-shadow:none!important;border:none!important;outline:none!important}.booking-page .phone-error-msg{color:#c94a4a;margin:.35rem 0 0;font-size:.78rem;font-weight:500}.booking-page .payment-plan-grid{flex-direction:column;gap:.65rem;margin-bottom:.85rem;display:flex}.booking-page .pay-plan-card{cursor:pointer!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important;box-sizing:border-box!important;background:#fff!important;border:1.5px solid #dedad1!important;border-radius:10px!important;align-items:center!important;gap:.85rem!important;padding:.85rem 1rem!important;transition:all .15s!important;display:flex!important}.booking-page .pay-plan-card:hover{background:#fdfcfb!important;border-color:#2e3a2d!important}.booking-page .pay-plan-card.is-selected{background:#f7f9f6!important;border-color:#2e3a2d!important;box-shadow:0 2px 8px #2e3a2d14!important}.booking-page .ppc-radio-wrap{flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:20px!important;height:20px!important;display:flex!important;position:relative!important}.booking-page .ppc-radio-wrap input[type=radio]{opacity:0!important;cursor:pointer!important;width:100%!important;height:100%!important;margin:0!important;position:absolute!important;inset:0!important}.booking-page .ppc-radio-custom{box-sizing:border-box!important;background:#fff!important;border:2px solid #b8b2a7!important;border-radius:50%!important;width:18px!important;height:18px!important;transition:all .15s!important;display:inline-block!important;position:relative!important}.booking-page .pay-plan-card.is-selected .ppc-radio-custom{background:#2e3a2d!important;border-color:#2e3a2d!important}.booking-page .pay-plan-card.is-selected .ppc-radio-custom:after{content:""!important;background:#fff!important;border-radius:50%!important;width:6px!important;height:6px!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.booking-page .ppc-details{flex:auto!important;min-width:0!important}.booking-page .ppc-header-row{align-items:center!important;gap:.5rem!important;margin-bottom:.15rem!important;display:flex!important}.booking-page .ppc-title{color:#1c1e1a!important;font-size:.95rem!important;font-weight:700!important}.booking-page .ppc-discount-tag{color:#fff!important;letter-spacing:.04em!important;text-transform:uppercase!important;background:#2e7d32!important;border-radius:4px!important;align-items:center!important;padding:.15rem .45rem!important;font-size:.68rem!important;font-weight:700!important;display:inline-flex!important}.booking-page .ppc-split-tag{color:#fff!important;letter-spacing:.04em!important;text-transform:uppercase!important;background:#e65100!important;border-radius:4px!important;align-items:center!important;padding:.15rem .45rem!important;font-size:.68rem!important;font-weight:700!important;display:inline-flex!important}.booking-page .ppc-note{color:#6a6459!important;font-size:.78rem!important;display:block!important}.booking-page .ppc-pricing{text-align:right!important;flex-direction:column!important;flex:none!important;align-items:flex-end!important;display:flex!important}.booking-page .ppc-strike{color:#9c9489!important;font-size:.75rem!important;text-decoration:line-through!important}.booking-page .ppc-amount{color:#2e3a2d!important;font-size:1.05rem!important;font-weight:700!important}.booking-page .payment-methods-bar{border-top:1px dashed #e5e0d8!important;flex-wrap:wrap!important;gap:.4rem!important;margin-top:.75rem!important;padding-top:.75rem!important;display:flex!important}.booking-page .slot-button.is-slot-booked{opacity:.3!important;cursor:not-allowed!important;color:#a8a29e!important;background:#f5f3ef!important;border-color:#e5e0d8!important;text-decoration:line-through!important}.booking-page .therapist-card-option.is-therapist-booked{opacity:.45!important;cursor:not-allowed!important;background:#fbf9f5!important}.booking-page .tp-conflict-badge{color:#c94a4a!important;font-size:.7rem!important;font-weight:600!important;display:block!important}
