.booking-strip{background:#e5e9e7;padding:30px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.booking-strip-copy{display:flex;align-items:center;gap:22px}.booking-strip-copy strong{font-size:18px;letter-spacing:-.04em}.booking-strip-copy p{font-size:12px;color:var(--muted);margin:7px 0 0}
.booking-strip-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}.booking-history-link{border:0;background:none;font-size:12px;color:var(--ink);text-decoration:underline;text-underline-offset:5px}.booking-strip .button{padding:13px 20px}
.booking-dialog{width:min(1000px,calc(100% - 32px));padding:0;max-height:92svh;overscroll-behavior:contain}.booking-dialog [hidden]{display:none!important}
.booking-dialog-head{padding:30px 35px 22px;border-bottom:1px solid var(--line);position:relative}.booking-dialog-head .dialog-brand{display:inline-flex;gap:12px;align-items:center}.booking-dialog-head .dialog-brand small{font:11px var(--sans);display:inline-block;border:1px solid #c3c9c7;padding:4px 7px;margin:0;color:var(--muted);font-style:normal}.booking-dialog-head h2{font-size:27px;margin:14px 0 8px;letter-spacing:-.06em;padding-right:50px}.booking-dialog-head p{font-size:11px;margin:0;line-height:1.8}.booking-dialog-head .dialog-close{top:23px;right:27px}
.booking-steps{padding:20px 35px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.booking-steps>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#667078}.booking-steps b{display:grid;place-items:center;width:24px;height:24px;border:1px solid #c2c9c7;border-radius:50%;font-family:var(--display);font-size:14px;font-weight:500}.booking-steps .is-active{color:var(--ink);font-weight:700}.booking-steps .is-active b{background:var(--ink);color:white;border-color:var(--ink)}.booking-steps>i{width:35px;height:1px;background:var(--line)}.booking-steps .booking-history-link{margin-left:auto;font-size:10px}
.booking-layout{display:grid;grid-template-columns:1fr 245px}.booking-main{padding:28px 30px 30px 35px}.booking-field-title{font-size:13px;font-weight:700;margin:0 0 12px;display:flex;justify-content:space-between;align-items:center}.booking-field-title small{font-size:10px;margin:0;font-weight:400}
.booking-programs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:25px}.booking-program{padding:14px 11px;background:transparent;border:1px solid #cbd2cf;text-align:left;color:var(--ink)}.booking-program[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fff}.booking-program strong{display:block;font-size:12px;letter-spacing:-.03em}.booking-program span{font-size:9px;display:block;color:var(--muted);margin-top:7px;line-height:1.6}.booking-program small{font-size:10px;margin-top:12px;color:#a74422}
.booking-calendar{border:1px solid var(--line);padding:15px 18px;margin-bottom:20px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.calendar-head strong{font-size:14px}.calendar-controls{display:flex;gap:7px}.calendar-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);width:27px;height:27px;font-size:18px;line-height:1}.calendar-controls button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-weekdays{font-size:10px;color:var(--muted);padding:0 0 8px}.calendar-weekdays span:first-child{color:#b64f36}.calendar-day{height:33px;border:0;background:none;color:var(--ink);font-size:12px;border-radius:2px}.calendar-day:hover:not(:disabled){background:#dce2df}.calendar-day:disabled{color:#b8c1bd;cursor:default}.calendar-day[aria-pressed=true]{background:var(--ink);color:white}
.booking-times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.booking-time{padding:10px 5px;background:none;border:1px solid #c6ceca;color:var(--ink)}.booking-time strong{font-size:13px;font-weight:500}.booking-time small{font-size:9px;margin:3px 0 0}.booking-time:disabled{background:#e5e9e6;border-color:#e5e9e6;color:#9ba59f;cursor:default}.booking-time:disabled small{color:#89958d}.booking-time[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.booking-time[aria-pressed=true] small{color:#e3e8e4}
.booking-summary{background:#e5e9e6;padding:30px 24px;display:flex;flex-direction:column}.booking-summary>span{font-family:var(--display);font-size:23px;font-weight:700;letter-spacing:-.02em}.booking-summary h3{font-size:15px;line-height:1.6;letter-spacing:-.04em;margin:23px 0}.booking-summary dl{margin:0}.booking-summary dt{font-size:10px;color:var(--muted);margin:18px 0 6px}.booking-summary dd{margin:0;font-size:12px;line-height:1.7}.booking-price{margin-top:26px;border-top:1px solid #bdc7c0;padding-top:20px}.booking-price span{font-size:10px;color:var(--muted)}.booking-price strong{font-family:var(--sans);font-size:26px;display:block;margin:7px 0;font-weight:800;letter-spacing:-.05em}.booking-summary>p{margin-top:auto;padding-top:35px;font-size:10px;line-height:1.9}
.booking-demo-note{background:#ff713b12;color:#87401f!important;border-left:2px solid var(--orange);padding:12px 14px;line-height:1.9;margin:0 0 22px;font-size:11px!important}.booking-contact-fields{display:grid;gap:17px}.booking-contact-fields label{font-size:12px;font-weight:600}.booking-contact-fields input,.booking-contact-fields select{display:block;width:100%;border:1px solid #bdc7c0;background:transparent;padding:13px 12px;margin-top:8px;font:12px var(--sans);border-radius:0;color:var(--ink)}.booking-contact-fields input:focus,.booking-contact-fields select:focus{outline:2px solid var(--ink);outline-offset:2px}.booking-contact-fields input::placeholder{color:#8a9690}.booking-fill{border:0;background:none;color:#9b421e;text-decoration:underline;text-underline-offset:4px;font:11px var(--sans);padding:0}.booking-contact-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.booking-contact-heading h3{font-size:15px;margin:0}.booking-consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.8;margin:22px 0}.booking-consent input{margin-top:4px;flex-shrink:0}.booking-contact-actions{display:flex;gap:10px}.booking-contact-actions #booking-back{border:1px solid var(--line);background:transparent;padding:13px 18px;color:var(--ink);font-size:12px;white-space:nowrap}
.booking-dialog .button:disabled{opacity:.45;cursor:not-allowed}.booking-bottom-note{padding:16px 35px;background:var(--paper);border-top:1px solid var(--line);font-size:9px;color:var(--muted);line-height:1.8;margin:0!important}.booking-message{background:#fff0e8;color:#923b17;font-size:12px;padding:14px 35px;margin:0;border-bottom:1px solid #e3c3b1}
.booking-success{padding:45px 10px 35px;text-align:center;grid-column:1/-1;outline:none}.booking-success-mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 22px;border:1px solid #bdc7c0;border-radius:50%;font-size:30px;color:#455d4e;background:#e5e9e6}.booking-status{font-size:10px;padding:5px 9px;background:#e8dfd3;color:#75532a;display:inline-block}.booking-status.cancelled{background:#e3e7e3;color:#667078}.booking-success h3{font-size:24px;letter-spacing:-.05em;margin:18px 0}.booking-success #success-detail{white-space:pre-line;font-size:13px;line-height:2;color:var(--ink)}.booking-success #success-number{font:18px var(--display);letter-spacing:.04em;color:var(--muted);display:block;margin:20px 0}.booking-success .button{max-width:320px;margin-top:15px}.booking-success p:last-of-type{font-size:11px;color:#a14924}.booking-layout:has(.booking-success:not([hidden])){grid-template-columns:1fr}
.booking-history{padding:30px 35px;outline:none}.booking-history-intro{font-size:12px;margin:0 0 22px!important}.booking-history-list{display:grid;gap:14px;margin-bottom:25px}.booking-history-item{border:1px solid var(--line);padding:22px;background:#ffffff55}.booking-history-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.booking-history-head small{font-family:var(--display);font-size:13px;margin:0}.booking-history-item h3{font-size:19px;letter-spacing:-.04em;margin:18px 0 8px}.booking-history-item p{margin:0;font-size:12px}.booking-cancel{margin-top:17px;border:0;border-bottom:1px solid #8b9690;background:none;padding:0 0 3px;color:var(--muted);font-size:11px}.booking-cancel-confirm{margin-top:20px;display:flex;align-items:center;gap:12px}.booking-cancel-confirm span{font-size:11px;margin-right:auto}.booking-cancel-confirm button{border:1px solid var(--line);background:none;padding:8px 12px;font-size:11px;color:var(--ink)}.booking-cancel-confirm button:first-of-type{background:var(--ink);color:white;border-color:var(--ink)}.booking-empty{padding:35px 0;text-align:center;line-height:2!important}.booking-new{max-width:300px}#booking-schedule .button{margin-top:2px}

@media(max-width:760px){.booking-strip{padding:25px 6%;align-items:start;flex-direction:column;gap:22px}.booking-strip-copy{gap:12px}.booking-strip-copy strong{font-size:16px}.booking-strip-copy p{font-size:10px;line-height:1.7}.booking-strip-actions{justify-content:space-between;width:100%}.booking-strip .button{font-size:11px}.booking-dialog{max-height:94svh;width:calc(100% - 20px)}.booking-dialog-head{padding:24px 20px 20px}.booking-dialog-head h2{font-size:23px;line-height:1.4;padding-right:15px}.booking-dialog-head p{font-size:10px;padding-right:10px}.booking-dialog-head .dialog-close{right:13px;top:15px}.booking-steps{padding:17px 20px;gap:9px;flex-wrap:wrap}.booking-steps>span{font-size:10px;gap:5px}.booking-steps b{width:21px;height:21px;font-size:12px}.booking-steps>i{width:15px}.booking-steps .booking-history-link{font-size:9px}.booking-layout{grid-template-columns:1fr}.booking-main{padding:22px 20px}.booking-programs{gap:6px}.booking-program{padding:12px 8px}.booking-program strong{font-size:11px}.booking-program span{font-size:8px}.booking-program small{font-size:9px}.booking-calendar{padding:13px}.calendar-day{height:35px}.booking-summary{padding:22px 20px;display:block;border-top:1px solid var(--line)}.booking-summary>span{display:none}.booking-summary h3{margin:0 0 12px;font-size:14px}.booking-summary dl{display:grid;grid-template-columns:70px 1fr;gap:8px}.booking-summary dt{margin:0}.booking-summary dd{font-size:11px}.booking-price{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:14px}.booking-price strong{font-size:23px;margin:0}.booking-summary>p{padding-top:0;margin:9px 0 0;font-size:9px}.booking-bottom-note{padding:13px 20px;font-size:8px}.booking-history{padding:23px 20px}.booking-history-item{padding:18px}.booking-message{padding:12px 20px;font-size:11px}.booking-success{padding-top:20px}.booking-success h3{font-size:21px}.booking-success #success-detail{font-size:12px}.booking-cancel-confirm{flex-wrap:wrap}.booking-cancel-confirm span{width:100%}.booking-demo-note{font-size:10px!important}.booking-contact-fields label{font-size:11px}.booking-contact-fields input,.booking-contact-fields select{font-size:16px}.booking-consent{font-size:10px}}
