.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
.booking-main{min-width:0}
.visit-summary{position:sticky;top:104px;border:1px solid var(--taupe);background:#f9f5ef;padding:1.25rem}
.visit-summary .eyebrow{margin-top:0}
.visit-items{display:grid;gap:.75rem}
.visit-item{display:flex;gap:.75rem;align-items:start;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--taupe)}
.visit-item>span{display:grid;min-width:0}
.visit-item strong{line-height:1.35}
.visit-item small{color:#6d6259}
.visit-remove{border:0;background:transparent;color:#765334;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.15rem;min-height:32px}
.visit-totals{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:1rem 0;padding-top:.25rem}
.visit-totals span{color:#6d6259}
.visit-continue{width:100%}
.service-choice{cursor:default;min-height:84px}
.service-choice-action{display:flex!important;align-items:center;gap:1rem;grid-auto-flow:column}
.add-service{min-width:94px;min-height:44px;padding:.55rem .8rem;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;font-weight:600}
.add-service.added{background:#ede6dc;color:var(--ink)}
.summary-line{display:grid;margin-bottom:.6rem;line-height:1.4}
.summary-line small{font-weight:400;color:#6d6259}
.review-summary{align-items:start}
.visit-mobile{display:none}
.choice:focus-visible,.pill:focus-visible,.slot:focus-visible,.add-service:focus-visible,.visit-remove:focus-visible,.visit-mobile-toggle:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b88558;outline-offset:3px}
.button:disabled,.slot:disabled,.add-service:disabled{cursor:wait;opacity:.58}
.consent-option{grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important}
.consent-option>input[type="checkbox"]{display:block;grid-column:1;width:20px!important;min-width:20px!important;max-width:20px;height:20px!important;min-height:20px;margin:.15rem 0 0!important}
.consent-option-copy{grid-column:2;width:auto!important;max-width:100%;white-space:normal;overflow-wrap:break-word}
.consent-option-copy>span{display:block!important;width:auto!important}
@media(max-width:960px){.booking-layout{grid-template-columns:minmax(0,1fr)}.visit-summary{position:static;order:-1}.booking-main{order:1}}
@media(max-width:600px){
  body:has(#booking-root){padding-bottom:92px}
  .booking-card{padding:1.15rem;overflow:visible}
  .booking-layout{display:block}
  .visit-summary{display:none}
  .visit-mobile{display:block;position:fixed;z-index:45;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--taupe);box-shadow:0 -14px 40px rgba(40,30,22,.14);padding:max(.65rem,env(safe-area-inset-bottom)) .75rem .65rem}
  .visit-mobile-detail{max-height:44svh;overflow:auto;padding:.35rem .2rem .7rem}
  .visit-mobile-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}
  .visit-mobile-bar>.button{min-width:108px}
  .visit-mobile-toggle{display:grid;text-align:left;border:0;background:transparent;color:var(--ink);padding:.25rem;min-width:0;cursor:pointer}
  .visit-mobile-toggle strong,.visit-mobile-toggle small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .visit-mobile-toggle small{color:#6d6259}
  .service-choice{align-items:flex-start;padding:.9rem}
  .service-choice-action{align-items:end!important;gap:.45rem;grid-auto-flow:row}
  .service-choice-action b{font-size:.9rem}
  .add-service{min-width:88px}
  .booking-card h2{font-size:clamp(2.25rem,12vw,3.45rem);margin-bottom:1rem}
  .booking-main>.lede{font-size:1rem}
  .consent-option{padding:.9rem .75rem!important;gap:.7rem!important}
}
@media(max-width:360px){.service-choice{display:grid}.service-choice-action{width:100%;display:flex!important;flex-direction:row;justify-content:space-between;align-items:center!important}.visit-mobile-bar>.button{min-width:96px;padding:.7rem .8rem}.visit-mobile-toggle strong{font-size:.9rem}}