/* SwervCuts booking polish — additive customer-experience layer. */
.booking-confidence{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 4px
}
.booking-confidence .proof{
  min-width:0;padding:11px 10px;border:1px solid rgba(215,239,228,.12);
  border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));
  text-align:center
}
.booking-confidence .proof strong{display:block;font-size:.72rem;color:var(--text);letter-spacing:.02em}
.booking-confidence .proof span{display:block;margin-top:3px;font-size:.61rem;color:var(--text-faint);line-height:1.25}

#bookStepBody{position:relative}
.booking-flow-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--border)
}
.booking-flow-head .eyebrow{
  font-size:.62rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--forest-ink)
}
.booking-flow-head .step-name{margin-top:3px;font-size:.78rem;color:var(--text-dim)}
.booking-flow-head .step-count{
  flex:0 0 auto;font-family:'Bebas Neue',Impact,sans-serif;font-size:1.55rem;letter-spacing:.09em;color:var(--text)
}
.flow-note{
  margin:10px 0 16px;padding:12px 13px;border-radius:11px;
  border:1px solid rgba(215,239,228,.12);background:rgba(35,71,50,.18);
  color:var(--text-dim);font-size:.78rem;line-height:1.45
}
.flow-note strong{color:var(--text)}
.flow-note.success{border-color:rgba(91,174,125,.3);background:rgba(47,107,80,.16)}

#bookStepBody .card{
  border-color:rgba(215,239,228,.11);
  box-shadow:0 14px 38px rgba(0,0,0,.22)
}
#bookStepBody .svc-row{padding:15px 2px}
#bookStepBody .svc-row .name{font-size:.96rem}
#bookStepBody .svc-row .sub{line-height:1.35}
#bookStepBody input,#bookStepBody textarea{
  background:#111411;border-color:rgba(215,239,228,.13);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease
}
#bookStepBody input:focus,#bookStepBody textarea:focus{
  border-color:rgba(128,190,153,.58);box-shadow:0 0 0 3px rgba(47,107,80,.17);background:#121713
}
#bookStepBody .slot-btn{
  min-height:46px;border-radius:12px;background:linear-gradient(180deg,#171c18,#121512);
  border-color:rgba(215,239,228,.13)
}
#bookStepBody .slot-btn.selected{
  border-color:#7bb492;background:linear-gradient(180deg,#214936,#183d2e);
  box-shadow:0 10px 24px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.04)
}
#bookStepBody .day-tab{
  border-radius:12px;background:#121512;border-color:rgba(215,239,228,.1)
}
#bookStepBody .day-tab.selected{
  border-color:rgba(123,180,146,.55);background:#1a2e22
}
.sticky-footer{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px)
}
.sticky-footer .btn{
  min-height:52px;border-radius:13px;box-shadow:0 16px 34px rgba(0,0,0,.32)
}
.next-steps{
  display:grid;gap:9px;margin:16px 0 2px;padding:15px;border:1px solid rgba(215,239,228,.12);
  border-radius:13px;background:linear-gradient(145deg,rgba(35,71,50,.2),rgba(13,16,14,.9))
}
.next-steps .row{display:flex;gap:10px;align-items:flex-start}
.next-steps .n{
  width:22px;height:22px;display:grid;place-items:center;border-radius:50%;
  background:#234732;color:#d7efe4;font-size:.65rem;font-weight:800;flex:0 0 auto
}
.next-steps strong{display:block;font-size:.79rem}
.next-steps span{display:block;margin-top:2px;font-size:.7rem;line-height:1.35;color:var(--text-faint)}
.review-assurance{
  display:flex;gap:8px;flex-wrap:wrap;margin:13px 0
}
.review-assurance .pill{background:#151a16}
@media(max-width:390px){
  .booking-confidence{grid-template-columns:1fr 1fr}
  .booking-confidence .proof:last-child{grid-column:1/-1}
}
