body.booking-body{
  font-family:"Roboto",Arial,sans-serif;
  background:#f7f7f8;
  color:#292b36;
}
.booking-topbar{background:#fff;color:#282a35;border-bottom:1px solid #e5e5e8;position:relative;z-index:20}
.booking-business-name{font-size:15px;font-weight:700}
.booking-login{color:#555!important;font-size:13px;font-weight:500}
.booking-main{padding-top:16px}
.booking-intro{gap:28px;align-items:stretch}
.booking-cover{min-height:390px;border-radius:17px;background-color:#292b36;box-shadow:none}
.booking-contact-card{height:100%;padding:20px;background:#fff;border:1px solid #dedee3;border-radius:17px;box-shadow:none}
.booking-contact-card h2{font-size:15px;font-weight:600;margin-bottom:17px}
.contact-list{gap:14px}
.contact-list>*{grid-template-columns:24px 1fr;column-gap:8px;font-size:13px;color:#484a54}
.contact-list>*>svg{grid-row:1/3;width:16px;height:16px;color:#4b4d59;margin-top:2px}
.contact-list>* b{grid-column:2;font-size:10px;font-weight:500;color:#8a8b93;letter-spacing:.05em}
.contact-list>*:not(.contact-hours){grid-template-rows:auto auto;align-content:start}
.contact-list>*:not(.contact-hours)>:not(svg){grid-column:2;min-width:0;overflow-wrap:anywhere}
.contact-hours{grid-template-columns:24px minmax(0,1fr);align-content:start}
.contact-hours>svg{grid-column:1;grid-row:1/-1}
.contact-hours>b,.contact-hours>strong,.contact-hours>small{grid-column:2}
.intro-professionals{margin-top:18px;padding-top:15px}
.intro-professionals h3{font-size:13px;font-weight:600}
.intro-person{width:38px;height:38px;border:2px solid #fff;box-shadow:0 0 0 1px #ddd;background:#ececf0;border-radius:50%}
.booking-profile{padding:20px 0 30px;border-bottom:1px solid #e7e7e9;margin-bottom:22px}
.booking-profile h1{font-size:27px;font-weight:700;letter-spacing:-.025em;color:#292b36}
.booking-profile p{font-size:13px;line-height:1.6;color:#5f6068}
.booking-kicker,.booking-step-label{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--booking-accent)}
.booking-socials a{display:flex;align-items:center;gap:6px;padding:7px 10px;border:0;background:transparent;color:#555!important;font-size:12px;font-weight:500}
.booking-socials svg{width:16px;height:16px;color:var(--booking-accent)}
.booking-progress{position:sticky;top:8px;margin-bottom:12px;padding:5px;background:#eff0f1;border:1px solid #e1e2e4;border-radius:11px;box-shadow:0 5px 16px rgba(28,31,38,.06)}
.booking-progress span{padding:8px;font-size:11px;font-weight:500;color:#8a8b92;border-radius:8px}
.booking-progress span.is-active{background:#fff;color:#292b36;box-shadow:0 2px 7px rgba(25,28,35,.08)}
.booking-progress span.is-complete{color:#4f5159}
.booking-progress b{width:21px;height:21px;background:#d9dade;color:#666}
.booking-progress .is-active b{background:var(--booking-accent);color:#fff}
.booking-progress .is-complete b{background:#5c5e66;color:#fff}
.booking-progress svg{width:12px;height:12px}
.booking-section{padding:24px;background:#fff!important;border:1px solid #dedee3;border-radius:16px;box-shadow:none}
.booking-section-head{margin-bottom:18px}
.booking-section-head h2{display:flex;align-items:center;gap:9px;font-size:25px;font-weight:600;letter-spacing:-.025em;color:#292b36}
.booking-section-head h2>svg{width:24px;height:24px;padding:4px;color:var(--booking-accent);background:color-mix(in srgb,var(--booking-accent) 9%,white);border-radius:7px}
.booking-section-head p{font-size:12px;color:#777981}
.service-grid{gap:18px}
.service-card,.service-card:nth-child(n){min-height:185px;padding:19px;background:#fff;border:1px solid color-mix(in srgb,var(--booking-accent) 55%,#d9d9df);border-radius:13px;box-shadow:none;gap:9px}
.service-card:hover{transform:none;border-color:var(--booking-accent);box-shadow:0 6px 18px rgba(32,35,43,.07)}
.service-card.is-selected{outline:2px solid var(--booking-accent);outline-offset:-2px;background:color-mix(in srgb,var(--booking-accent) 3%,white)}
.service-card-top{font-size:15px;font-weight:500}
.service-card-top em{background:color-mix(in srgb,var(--booking-accent) 10%,white);color:var(--booking-accent);font-size:9px;font-weight:600}
.service-description{font-size:12px;line-height:1.55;color:#74757d}
.service-meta span{font-size:12px;color:#8a8b92}
.service-meta b{font-size:17px;font-weight:600}
.service-action{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--booking-accent);font-size:11px;font-weight:600}
.service-action svg{width:14px;height:14px}
.professional-grid{gap:12px}
.professional-card{padding:13px;border-radius:13px;border-color:#dedee3;box-shadow:none}
.professional-card:hover,.professional-card.is-selected{border-color:var(--booking-accent);box-shadow:none}
.professional-card.is-selected{background:color-mix(in srgb,var(--booking-accent) 4%,white)}
.professional-avatar,.professional-card:nth-child(n) .professional-avatar{width:46px;height:46px;background:#ececf0;color:#4c4e57;border-radius:50%}
.professional-any{background:var(--booking-primary)!important;color:#fff!important}
.professional-card strong{font-size:13px;font-weight:600}.professional-card small{font-size:11px}
.booking-body input,.booking-body textarea{padding:11px 12px;border-radius:9px;border-color:#d8d9dd;font-size:13px}
.booking-body input:focus,.booking-body textarea:focus{border-color:var(--booking-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--booking-accent) 11%,transparent)}
.slot-button,.slot-button:nth-child(n){padding:9px 13px;border:1px solid #d8d9dd;border-radius:8px;background:#fff;color:#44464f;font-size:12px;font-weight:600}
.slot-button:hover,.slot-button.is-selected{border-color:var(--booking-accent);background:var(--booking-accent);color:#fff}
.booking-submit{border-radius:9px;background:var(--booking-accent);box-shadow:none;font-size:13px;font-weight:600}
.booking-live-recap{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.booking-live-recap[hidden]{display:none}
.booking-recap-item,.booking-recap-item:nth-child(n){flex:1;min-width:190px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;text-align:left;padding:9px 11px;border:1px solid #dedee3;border-radius:10px;background:#fff;color:#343640;cursor:pointer;box-shadow:none}
.booking-recap-item:hover{border-color:var(--booking-accent)}
.booking-recap-item>svg:first-child{width:17px;height:17px;color:var(--booking-accent)}.booking-recap-item>svg:last-child{width:12px;height:12px;color:#92939a}
.booking-recap-item span{display:grid;gap:1px;min-width:0}.booking-recap-item small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#92939a;font-weight:500}.booking-recap-item strong{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-summary{padding:0;background:#fff;border-color:#dedee3;border-radius:11px;overflow:hidden}
.booking-summary.is-visible{display:grid;grid-template-columns:195px 1fr;gap:0;flex-wrap:initial}
.booking-summary-head{display:grid;align-content:center;gap:3px;padding:16px 18px;background:var(--booking-primary);color:#fff}
.booking-summary-head>svg{width:16px;height:16px;color:var(--booking-accent)}
.booking-summary-head small{font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;opacity:.68}
.booking-summary-head strong{font-size:14px;font-weight:600;line-height:1.25}
.booking-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.booking-summary-grid>div{display:grid;align-content:center;gap:3px;padding:12px 13px;border-left:1px solid #e3e3e6;min-width:0}
.booking-summary-grid small{color:#92939a;font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.booking-summary-grid strong{font-size:10px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.booking-check{font-size:12px}.booking-footer{font-size:12px;background:#fff;color:#777}
.confirmation-card{box-shadow:none;border-radius:16px}.confirmation-page{background:linear-gradient(135deg,var(--booking-primary),color-mix(in srgb,var(--booking-primary) 82%,#000))}

@media(min-width:801px){
  .booking-container{width:min(1140px,calc(100% - 48px))}
  .booking-topbar-inner{height:62px}
  .booking-main{padding:16px 0 52px}
  .booking-intro{grid-template-columns:minmax(0,1.72fr) minmax(285px,.96fr)}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .date-time-layout{grid-template-columns:230px 1fr;gap:24px}
  .booking-form-grid{gap:14px}
}
@media(max-width:800px){
  .booking-main{padding-top:10px}.booking-intro{gap:12px}.booking-cover{min-height:270px}.booking-contact-card{padding:17px}
  .booking-profile{padding:18px 0 24px}.booking-profile h1{font-size:25px}.booking-section{padding:19px}.booking-section-head h2{font-size:22px}
  .booking-summary.is-visible{grid-template-columns:1fr}.booking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary-grid>div{border-left:0;border-top:1px solid #e3e3e6}.booking-summary-grid>div:last-child{grid-column:1/-1}
}
@media(max-width:520px){.booking-cover{min-height:220px}.booking-progress{top:5px}.service-card,.service-card:nth-child(n){min-height:170px}.booking-recap-item{min-width:100%}}
