/* CBS z-contact-booking.css - 9 booking-route rules split out of z-theme-brand.css 2026-08-29 (lane cbs-css-split-03-contact-booking); rules verbatim, original order. */

html body.page-booking .booking-form-modern {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
}
html body.page-booking .booking-form-modern .mb-3,
html body.page-booking .booking-form-modern .mb-4 {
  margin-bottom: 0 !important;
}
html body.page-booking .booking-form-modern :is(.form-control, .form-select):focus {
  border-color: #7b3fa0 !important;
  box-shadow: 0 0 0 4px rgba(111, 58, 145, 0.14) !important;
  transform: translateY(-1px);
}
html body.page-booking .services-cta,
html body.page-booking .service-booking-cta {
  position: relative;
  isolation: isolate;
}
@media (min-width: 992px) {
  html body.page-booking .booking-form-modern {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html body.page-booking .booking-form-modern .mb-3:has(textarea),
  html body.page-booking .booking-form-modern .slide-to-submit-field,
  html body.page-booking .booking-form-modern .text-center,
  html body.page-booking .booking-form-modern > div[style*="display: none"],
  html body.page-booking .booking-form-modern > input[type="hidden"] {
    grid-column: 1 / -1;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html body.page-booking .booking-page__card,
  html body.page-booking .booking-sidebar-modern__feature-item,
  html body.page-booking .booking-expect-step__card {
    animation: cbs-booking-rise 520ms ease both;
  }
  html body.page-booking .booking-sidebar-modern__feature-item:nth-child(2),
  html body.page-booking .booking-expect-step:nth-child(2) .booking-expect-step__card {
    animation-delay: 80ms;
  }
  html body.page-booking .booking-sidebar-modern__feature-item:nth-child(3),
  html body.page-booking .booking-expect-step:nth-child(3) .booking-expect-step__card {
    animation-delay: 140ms;
  }
}
