/* Booking widget (en-US/book-a-call). Sits in the quote layout; the panel reuses .form. */
.booking [hidden] { display: none !important; }
.booking .form { gap: 20px; }
.booking-step { display: grid; gap: 16px; }
.booking-step h2 { font-family: var(--display); font-size: 1.3rem; margin: 0; color: var(--ink); }
.booking-step h2:focus { outline: none; }
.booking-tz, .booking-muted, .booking-summary { margin: 0; font-size: .92rem; color: var(--muted); }
.booking-summary { font-family: var(--display); font-weight: 600; color: var(--teal-dark); }
.booking-days, .booking-slots { display: flex; flex-wrap: wrap; gap: 8px; }
.booking-slots { padding-top: 14px; border-top: 1px solid var(--line); }
.booking-chip {
  font-family: var(--display); font-weight: 600; font-size: .9rem;
  padding: .6em .95em; border: 1px solid #d1d5dc; border-radius: var(--r-btn);
  background: #fff; color: var(--text); cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}
.booking-chip:hover { border-color: var(--teal); }
.booking-chip:focus-visible { outline: 3px solid rgba(83,173,184,.35); }
.booking-chip[aria-pressed="true"] { background: var(--teal); border-color: var(--teal); color: #fff; }
.booking-back {
  justify-self: start; padding: 0; border: 0; background: none; cursor: pointer;
  font-family: var(--display); font-weight: 600; font-size: .9rem; color: var(--teal);
}
.booking-back:hover { text-decoration: underline; }
.booking .btn[disabled] { opacity: .7; cursor: wait; transform: none; }
.booking-error { margin: 0; padding: 10px 14px; border-radius: var(--r-btn); background: #fef3f2; color: #b42318; font-size: .92rem; }
.booking .form a { color: var(--teal-dark); }
