/* VIP Allports booking UI v1.3.21 — loaded after the legacy plugin stylesheet. */
#chaufb-spa-shell {
  --vip-dark: #071812;
  --vip-dark-2: #0c2119;
  --vip-gold: #e5b52e;
  --vip-gold-dark: #bd8610;
  --vip-text: #17211c;
  --vip-muted: #667085;
  --vip-line: #dfe4e7;
  --vip-soft: #f6f7f7;
  --vip-white: #fff;
  width: min(1220px, calc(100vw - 40px)) !important;
  max-width: 1220px !important;
  margin: 0 auto !important;
  padding: 58px 0 72px !important;
  color: var(--vip-text) !important;
  box-sizing: border-box !important;
  scroll-margin-top: 135px;
}
#chaufb-spa-shell *, #chaufb-spa-shell *::before, #chaufb-spa-shell *::after { box-sizing: border-box !important; }
#chaufb-spa-shell [hidden] { display: none !important; }

/* The legacy plugin clearfix uses ::before/::after table boxes. Once a
   .chaufb-cf element becomes CSS Grid/Flex those pseudo-elements become real
   layout items and shift fields/cards into the wrong columns. The SPA uses
   modern layout throughout, so remove only those legacy clearfix boxes here. */
#chaufb-spa-shell .chaufb-cf::before,
#chaufb-spa-shell .chaufb-cf::after {
  content: none !important;
  display: none !important;
}
#chaufb-spa-shell a { text-decoration: none; }

/* Keep address suggestions opaque and above neighbouring form controls. */
#chaufb-spa-shell .chaufb-content-wrapper .chaufb-form-group:focus-within {
  position: relative !important;
  z-index: 100 !important;
}
#chaufb-spa-shell .chaufb-autocomplete-wrapper {
  position: relative !important;
  overflow: visible !important;
}
#chaufb-spa-shell .chaufb-autocomplete-container {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 1000 !important;
  overflow-y: auto !important;
}
#chaufb-spa-shell .chaufb-autocomplete-container:empty { display: none !important; }
#chaufb-spa-shell .chaufb-autocomplete-item { background: #fff !important; }
#chaufb-spa-shell .chaufb-autocomplete-item:hover,
#chaufb-spa-shell .chaufb-autocomplete-item.active { background: #fff9e8 !important; }

#chaufb-spa-shell .chaufb-content-wrapper .chaufb-swap-row {
  position: relative;
  height: 12px;
  margin: -6px 0 6px !important;
  text-align: right;
}
#chaufb-spa-shell #chaufb-swap-addresses {
  position: absolute !important;
  right: 10px;
  top: -10px;
  width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #e5b52e !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #916809 !important;
  font-size: 22px !important;
  line-height: 30px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.1) !important;
  cursor: pointer;
}
#chaufb-spa-shell #chaufb-swap-addresses:focus-visible { outline: 2px solid #bd8610; outline-offset: 3px; }

/* Four-step progress */
#chaufb-spa-shell .chaufb-step-wrapper {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  margin: 0 0 34px !important;
  padding: 0 16px !important;
  float: none !important;
  overflow: visible !important;
}
#chaufb-spa-shell .chaufb-step {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: auto !important;
  float: none !important;
  text-align: center !important;
}
#chaufb-spa-shell .chaufb-step > a:first-child {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #eceff1 !important;
  color: #68737d !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
#chaufb-spa-shell .chaufb-step > a:last-child {
  display: block !important;
  margin-top: 8px !important;
  color: #6b7785 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}
#chaufb-spa-shell .chaufb-step-current > a:first-child { background: var(--vip-dark) !important; color: var(--vip-gold) !important; }
#chaufb-spa-shell .chaufb-step-current > a:last-child { color: var(--vip-dark) !important; }
#chaufb-spa-shell .chaufb-step-complete > a:first-child { background: var(--vip-gold) !important; color: var(--vip-dark) !important; }
#chaufb-spa-shell .chaufb-step-line {
  position: absolute !important;
  z-index: 1 !important;
  top: 16px !important;
  left: 13% !important;
  right: 13% !important;
  width: auto !important;
  height: 2px !important;
  margin: 0 !important;
  background: #e6e9eb !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-step-line > div { height: 2px !important; background: var(--vip-gold) !important; }

/* General layout */
#chaufb-spa-shell .chaufb-wrapper {
  display: grid !important;
  grid-template-columns: 265px minmax(0, 1fr) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}
#chaufb-spa-shell .chaufb-wrapper.chaufb-single-column { grid-template-columns: minmax(0, 1fr) !important; }
#chaufb-spa-shell .chaufb-main {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-single-column .chaufb-main { grid-column: 1 !important; }
#chaufb-spa-shell .chaufb-section-heading { margin: 0 0 20px !important; padding: 0 !important; }
#chaufb-spa-shell .chaufb-section-heading h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: clamp(25px, 3vw, 34px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}
#chaufb-spa-shell .chaufb-section-heading p { margin: 7px 0 0 !important; color: var(--vip-muted) !important; font-size: 14px !important; line-height: 1.5 !important; }

/* Step 1 */
#chaufb-spa-shell .chaufb-step-one form { margin: 0 !important; }
#chaufb-spa-shell .chaufb-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid #e7eaec !important;
  border-radius: 16px !important;
  background: #f6f7f7 !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-content-wrapper,
#chaufb-spa-shell .chaufb-map-wrapper {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  border: 1px solid var(--vip-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 9px 26px rgba(15, 23, 42, .045) !important;
}
#chaufb-spa-shell .chaufb-content-wrapper { padding: 20px !important; align-self: start !important; height: auto !important; }
#chaufb-spa-shell .chaufb-map-wrapper { padding: 7px !important; overflow: hidden !important; align-self: start !important; height: auto !important; }
#chaufb-spa-shell #chaufb-map { width: 100% !important; height: 390px !important; min-height: 390px !important; border-radius: 10px !important; overflow: hidden !important; }
#chaufb-spa-shell #chaufbform-route-summary {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px 18px !important;
  padding: 16px 12px 10px !important;
  color: var(--vip-muted) !important;
  font-size: 12px !important;
}
#chaufb-spa-shell #chaufbform-route-summary .chaufb-total-distance,
#chaufb-spa-shell #chaufbform-route-summary .chaufb-total-time { color: var(--vip-dark) !important; font-size: 17px !important; font-weight: 800 !important; }
#chaufb-spa-shell .chaufb-service-choices {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 16px !important;
}
#chaufb-spa-shell .chaufb-service-choices button {
  display: inline-flex !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #d9dee2 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #28352e !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  text-align: center !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
#chaufb-spa-shell .chaufb-service-choices button i { margin: 0 7px 0 0 !important; line-height: 1 !important; color: #b17d0c !important; }
#chaufb-spa-shell .chaufb-service-choices button.is-active { border-color: var(--vip-gold) !important; background: #fff9e8 !important; box-shadow: 0 0 0 2px rgba(229, 181, 46, .10) !important; }
#chaufb-spa-shell .chaufb-native-type { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }
#chaufb-spa-shell .chaufb-form-group,
#chaufb-spa-shell .chaufb-form-2-col-wrapper,
#chaufb-spa-shell .chaufb-cf { box-sizing: border-box !important; }
#chaufb-spa-shell .chaufb-content-wrapper .chaufb-form-group { width: 100% !important; margin: 0 0 12px !important; padding: 0 !important; float: none !important; clear: both !important; }
#chaufb-spa-shell .chaufb-form-2-col-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#chaufb-spa-shell .chaufb-form-2-col-wrapper > .chaufb-form-group {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-step-one .chaufb-form-2-col-wrapper { align-items: start !important; }
#chaufb-spa-shell .chaufb-step-one .chaufb-form-2-col-wrapper + .chaufb-form-2-col-wrapper { margin-top: 10px !important; }
#chaufb-spa-shell label { display: block !important; margin: 0 0 7px !important; color: #344039 !important; font-size: 12px !important; line-height: 1.3 !important; font-weight: 750 !important; }
#chaufb-spa-shell input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=hidden]),
#chaufb-spa-shell select,
#chaufb-spa-shell textarea,
#chaufb-spa-shell .chaufb-select-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 1px solid #d7dde1 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #17211c !important;
  box-shadow: none !important;
  font-size: 14px !important;
  opacity: 1 !important;
}
#chaufb-spa-shell input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=hidden]),
#chaufb-spa-shell select { min-height: 44px !important; padding: 9px 11px !important; }
#chaufb-spa-shell textarea { min-height: 118px !important; padding: 12px !important; resize: vertical !important; }
#chaufb-spa-shell .chaufb-select-wrapper { min-height: 44px !important; padding: 0 !important; overflow: hidden !important; }
#chaufb-spa-shell .chaufb-select-wrapper select { border: 0 !important; border-radius: 9px !important; }
#chaufb-spa-shell input::placeholder, #chaufb-spa-shell textarea::placeholder { color: #98a2b3 !important; opacity: 1 !important; }
#chaufb-spa-shell input:focus, #chaufb-spa-shell select:focus, #chaufb-spa-shell textarea:focus { border-color: var(--vip-gold) !important; outline: 3px solid rgba(229, 181, 46, .13) !important; }
#chaufb-spa-shell .chaufb-dropoff-controls { margin-top: 7px !important; font-size: 11px !important; color: #916809 !important; }
#chaufb-spa-shell #chaufb-return-trip-group label { display: flex !important; align-items: center !important; gap: 9px !important; font-size: 13px !important; cursor: pointer !important; }
#chaufb-spa-shell #chaufb-return-trip-group input { width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: var(--vip-gold) !important; }
#chaufb-spa-shell .chaufb-check-availability-button,
#chaufb-spa-shell .chaufb-continue-button,
#chaufb-spa-shell .chaufb-checkout-book-now,
#chaufb-spa-shell .chaufb-select-vehicle,
#chaufb-spa-shell .chaufb-general-button-1 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 11px 22px !important;
  border: 1px solid #d49c18 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f4ca59, var(--vip-gold)) !important;
  color: #111811 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
#chaufb-spa-shell .chaufb-general-button-1 { border-color: #d9dee2 !important; background: #fff !important; color: #344039 !important; }
#chaufb-spa-shell .chaufb-check-availability-button { float: none !important; margin: 0 !important; min-width: 185px !important; text-align: center !important; white-space: nowrap !important; }
#chaufb-spa-shell .chaufb-check-availability-button i { margin: 0 !important; line-height: 1 !important; }
#chaufb-spa-shell .chaufb-trip-meta-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 2px !important;
}
#chaufb-spa-shell .chaufb-trip-meta-grid > .chaufb-form-group { margin-bottom: 0 !important; }
#chaufb-spa-shell #chaufb-return-trip-group { margin: 14px 0 0 !important; padding-top: 13px !important; border-top: 1px solid #edf0ee !important; }
#chaufb-spa-shell .chaufb-return-grid { margin-top: 10px !important; }
#chaufb-spa-shell .chaufb-step-one-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #edf0ee !important;
}
#chaufb-spa-shell .chaufb-route-error { clear: both !important; margin: 14px 0 !important; padding: 11px 13px !important; border: 1px solid #efb7b0 !important; border-radius: 9px !important; background: #fff3f1 !important; color: #9f2f24 !important; }

/* Compact sidebar on vehicle step */
#chaufb-spa-shell .chaufb-side {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: sticky !important;
  top: 135px !important;
  width: 100% !important;
  max-width: 285px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow: visible !important;
  border: 1px solid rgba(229, 181, 46, .22) !important;
  border-radius: 12px !important;
  background: linear-gradient(150deg, #0b2118, #06150f) !important;
  color: #fff !important;
  box-shadow: 0 14px 32px rgba(7, 24, 18, .12) !important;
}
#chaufb-spa-shell .chaufb-side-map { display: none !important; }
#chaufb-spa-shell .chaufb-side-inner { padding: 21px 20px !important; }
#chaufb-spa-shell .chaufb-side-inner > h3,
#chaufb-spa-shell .chaufb-side-heading h3 { margin: 0 0 14px !important; color: #fff !important; font-size: 19px !important; line-height: 1.2 !important; font-weight: 800 !important; }
#chaufb-spa-shell .chaufb-side-heading { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; }
#chaufb-spa-shell .chaufb-side-edit { display: none !important; }
#chaufb-spa-shell .chaufb-side-inner .chaufb-trip-locations-list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
#chaufb-spa-shell .chaufb-side-inner .chaufb-trip-locations-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(229, 181, 46, .17) !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-side-inner .chaufb-trip-locations-list li i { flex: 0 0 16px !important; width: 16px !important; margin: 2px 0 0 !important; color: var(--vip-gold) !important; font-size: 13px !important; }
#chaufb-spa-shell .chaufb-side-inner .chaufb-trip-locations-list li span { display: block !important; min-width: 0 !important; color: #f8faf9 !important; font-size: 12.5px !important; line-height: 1.42 !important; overflow-wrap: anywhere !important; }
#chaufb-spa-shell .chaufb-side-inner .chaufb-trip-locations-list li strong { display: block !important; margin-bottom: 3px !important; color: #aab8b0 !important; font-size: 9.5px !important; line-height: 1.2 !important; font-weight: 750 !important; letter-spacing: .055em !important; text-transform: uppercase !important; }
#chaufb-spa-shell .chaufb-side .chaufb-total-wrapper { display: flex !important; align-items: center !important; justify-content: space-between !important; margin: 14px 0 0 !important; padding: 14px 0 0 !important; border-top: 2px solid rgba(229, 181, 46, .65) !important; }
#chaufb-spa-shell .chaufb-side .chaufb-total-wrapper h3 { margin: 0 !important; color: #fff !important; font-size: 16px !important; }

/* Vehicle step: readable trip summary + compact horizontal fleet rows */
#chaufb-spa-shell .chaufb-vehicle-step {
  grid-template-columns: 285px minmax(0, 1fr) !important;
  gap: 24px !important;
}
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side {
  max-width: 265px !important;
  max-height: none !important;
  overflow: visible !important;
}
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side-inner { padding: 19px 18px 17px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side-inner > h3 { margin-bottom: 12px !important; font-size: 18px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side-inner .chaufb-trip-locations-list li { padding: 8px 0 !important; gap: 8px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side-inner .chaufb-trip-locations-list li span { font-size: 12px !important; line-height: 1.38 !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side-inner .chaufb-trip-locations-list li strong { margin-bottom: 3px !important; font-size: 9px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side-inner .chaufb-trip-locations-list li i { width: 14px !important; flex-basis: 14px !important; font-size: 12px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side .chaufb-total-wrapper { margin-top: 11px !important; padding-top: 11px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-side .chaufb-total-wrapper h3 { font-size: 15px !important; }

#chaufb-spa-shell .chaufb-vehicle-step .chaufb-section-heading { margin-bottom: 15px !important; }
#chaufb-spa-shell .chaufb-vehicle-step .chaufb-section-heading h2 { font-size: 29px !important; }
#chaufb-spa-shell .chaufb-vehicle-results-wrapper {
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
}
#chaufb-spa-shell .chaufb-vehicle-result {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 108px !important;
  margin: 0 !important;
  padding: 11px 17px !important;
  float: none !important;
  border: 1px solid #dfe4e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 5px 15px rgba(15, 23, 42, .03) !important;
}
#chaufb-spa-shell .chaufb-vehicle-result:hover {
  border-color: #d9b44c !important;
  box-shadow: 0 9px 24px rgba(15, 23, 42, .06) !important;
}
#chaufb-spa-shell .chaufb-vehicle-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 200px !important;
  height: 86px !important;
  margin: 0 !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-vehicle-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
#chaufb-spa-shell .chaufb-vehicle-details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 118px 98px !important;
  gap: 16px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}
#chaufb-spa-shell .chaufb-vehicle-copy {
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
#chaufb-spa-shell .chaufb-vehicle-title {
  margin: 0 !important;
  color: #101828 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
#chaufb-spa-shell .chaufb-vehicle-subtitle {
  margin: 3px 0 6px !important;
  color: #667085 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}
#chaufb-spa-shell .chaufb-vehicle-copy > ul,
#chaufb-spa-shell .chaufb-vehicle-copy .chaufb-vehicle-capacity {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#chaufb-spa-shell .chaufb-vehicle-copy > ul li,
#chaufb-spa-shell .chaufb-vehicle-copy .chaufb-vehicle-capacity li {
  margin: 0 !important;
  color: #4f5e68 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}
#chaufb-spa-shell .chaufb-vehicle-copy > ul li i,
#chaufb-spa-shell .chaufb-vehicle-copy .chaufb-vehicle-capacity li i {
  margin-right: 5px !important;
  color: var(--vip-dark) !important;
}
#chaufb-spa-shell .chaufb-vehicle-price-wrap {
  min-width: 0 !important;
  padding-left: 16px !important;
  border-left: 1px solid #e5e7eb !important;
}
#chaufb-spa-shell .chaufb-vehicle-price-wrap span {
  display: block !important;
  margin-bottom: 4px !important;
  color: #7a8591 !important;
  font-size: 10px !important;
}
#chaufb-spa-shell .chaufb-vehicle-price {
  display: block !important;
  color: #b97e00 !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
#chaufb-spa-shell .chaufb-select-vehicle {
  justify-self: end !important;
  width: 94px !important;
  min-width: 94px !important;
}
#chaufb-spa-shell .chaufb-step-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 22px 0 0 !important;
  clear: both !important;
}

/* Contact + payment */
#chaufb-spa-shell .chaufb-contact-layout { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr) !important; gap: 20px !important; align-items: start !important; }
#chaufb-spa-shell .chaufb-checkout-wrapper,
#chaufb-spa-shell .chaufb-payment-panel {
  width: 100% !important;
  margin: 0 !important;
  padding: 26px !important;
  float: none !important;
  border: 1px solid var(--vip-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(15, 23, 42, .045) !important;
}
#chaufb-spa-shell .chaufb-contact-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
#chaufb-spa-shell .chaufb-contact-grid > div { min-width: 0 !important; }
#chaufb-spa-shell .chaufb-contact-grid .chaufb-contact-full { grid-column: 1 / -1 !important; }
#chaufb-spa-shell .chaufb-payment-panel { background: var(--vip-dark) !important; border-color: #19372a !important; color: #fff !important; }
#chaufb-spa-shell .chaufb-payment-panel h3 { margin: 0 !important; color: #fff !important; font-size: 19px !important; font-weight: 800 !important; }
#chaufb-spa-shell .chaufb-payment-panel > p { margin: 7px 0 18px !important; color: #afbbb4 !important; font-size: 12px !important; line-height: 1.45 !important; }
#chaufb-spa-shell .chaufb-payment-options-wrapper { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin: 0 !important; }
#chaufb-spa-shell .chaufb-payment-option {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 11px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 13px 14px 13px 42px !important;
  float: none !important;
  border: 1px solid rgba(255,255,255,.17) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.045) !important;
  color: #fff !important;
  cursor: pointer !important;
}
#chaufb-spa-shell .chaufb-payment-option:has(input:checked) { border-color: var(--vip-gold) !important; background: rgba(229,181,46,.10) !important; box-shadow: inset 0 0 0 1px rgba(229,181,46,.2) !important; }
#chaufb-spa-shell .chaufb-payment-option input[type=radio] { position: absolute !important; left: 14px !important; top: 50% !important; width: 16px !important; height: 16px !important; margin: -8px 0 0 !important; accent-color: var(--vip-gold) !important; }
#chaufb-spa-shell .chaufb-payment-icon { display: grid !important; place-items: center !important; width: 34px !important; height: 34px !important; border-radius: 8px !important; background: rgba(255,255,255,.09) !important; color: var(--vip-gold) !important; }
#chaufb-spa-shell .chaufb-payment-option > span:last-child { display: block !important; min-width: 0 !important; }
#chaufb-spa-shell .chaufb-payment-option b { display: block !important; color: #fff !important; font-size: 13px !important; line-height: 1.3 !important; }
#chaufb-spa-shell .chaufb-payment-option small { display: block !important; margin-top: 3px !important; color: #b7c1bc !important; font-size: 10px !important; line-height: 1.35 !important; }

/* Booking summary */
#chaufb-spa-shell .chaufb-summary-page,
#chaufb-spa-shell .chaufb-summary-page .chaufb-main { width: 100% !important; max-width: none !important; margin: 0 !important; }
#chaufb-spa-shell .chaufb-summary-heading { margin-bottom: 22px !important; }
#chaufb-spa-shell .chaufb-summary-layout { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px !important; gap: 24px !important; align-items: start !important; }
#chaufb-spa-shell .chaufb-summary-primary { display: grid !important; gap: 20px !important; min-width: 0 !important; }
#chaufb-spa-shell .chaufb-summary-order { display: grid !important; gap: 16px !important; min-width: 0 !important; position: sticky !important; top: 110px !important; }
#chaufb-spa-shell .chaufb-summary-panel { width: 100% !important; margin: 0 !important; padding: 22px !important; float: none !important; border: 1px solid #e2e8e5 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 8px 26px rgba(8,31,23,.055) !important; color: #132019 !important; }
#chaufb-spa-shell .chaufb-summary-panel-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; margin: 0 0 18px !important; }
#chaufb-spa-shell .chaufb-summary-panel-head h3,
#chaufb-spa-shell .chaufb-summary-price-card > h3 { margin: 2px 0 0 !important; color: #0b1e16 !important; font-size: 18px !important; line-height: 1.25 !important; font-weight: 750 !important; }
#chaufb-spa-shell .chaufb-summary-kicker { display: block !important; color: #b8860b !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: .11em !important; line-height: 1.3 !important; text-transform: uppercase !important; }
#chaufb-spa-shell .chaufb-summary-edit { display: inline-flex !important; align-items: center !important; gap: 5px !important; flex: 0 0 auto !important; min-height: 32px !important; padding: 6px 11px !important; border: 1px solid #d9a916 !important; border-radius: 999px !important; background: #fff !important; color: #8b6900 !important; font-size: 10px !important; font-weight: 750 !important; line-height: 1 !important; text-decoration: none !important; }
#chaufb-spa-shell .chaufb-summary-edit:hover { background: #fff8df !important; color: #705500 !important; }

#chaufb-spa-shell .chaufb-summary-info-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; border: 1px solid #edf0ee !important; border-radius: 12px !important; overflow: hidden !important; }
#chaufb-spa-shell .chaufb-summary-info-item { min-width: 0 !important; padding: 14px 16px !important; border-bottom: 1px solid #edf0ee !important; }
#chaufb-spa-shell .chaufb-summary-info-item:nth-child(odd) { border-right: 1px solid #edf0ee !important; }
#chaufb-spa-shell .chaufb-summary-info-item:nth-last-child(-n+2) { border-bottom: 0 !important; }
#chaufb-spa-shell .chaufb-summary-info-item span,
#chaufb-spa-shell .chaufb-summary-location span:not(.chaufb-summary-location-icon),
#chaufb-spa-shell .chaufb-summary-metrics span,
#chaufb-spa-shell .chaufb-summary-payment-row > div > span { display: block !important; margin: 0 0 5px !important; color: #77847e !important; font-size: 9px !important; font-weight: 750 !important; letter-spacing: .045em !important; line-height: 1.3 !important; text-transform: uppercase !important; }
#chaufb-spa-shell .chaufb-summary-info-item strong,
#chaufb-spa-shell .chaufb-summary-location strong,
#chaufb-spa-shell .chaufb-summary-metrics strong,
#chaufb-spa-shell .chaufb-summary-payment-row strong { display: block !important; color: #101b16 !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.5 !important; overflow-wrap: anywhere !important; }
#chaufb-spa-shell .chaufb-summary-payment-row { display: grid !important; grid-template-columns: 42px minmax(0,1fr) auto !important; align-items: center !important; gap: 12px !important; margin-top: 16px !important; padding: 14px 16px !important; border-radius: 12px !important; background: #071812 !important; }
#chaufb-spa-shell .chaufb-summary-payment-icon { display: grid !important; place-items: center !important; width: 38px !important; height: 38px !important; border-radius: 9px !important; background: rgba(229,181,46,.12) !important; color: #e5b52e !important; font-size: 16px !important; }
#chaufb-spa-shell .chaufb-summary-payment-row > div > span { color: #9caf9f !important; }
#chaufb-spa-shell .chaufb-summary-payment-row strong { color: #fff !important; }
#chaufb-spa-shell .chaufb-summary-payment-row > a { color: #e5b52e !important; font-size: 10px !important; font-weight: 750 !important; text-decoration: none !important; }

#chaufb-spa-shell .chaufb-summary-map { width: 100% !important; overflow: hidden !important; border: 1px solid #e4e9e6 !important; border-radius: 13px !important; background: #eef1ef !important; }
#chaufb-spa-shell .chaufb-summary-map #chaufb-google-map-preview { width: 100% !important; height: 300px !important; min-height: 300px !important; }
#chaufb-spa-shell .chaufb-summary-route { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; margin-top: 16px !important; }
#chaufb-spa-shell .chaufb-summary-location { display: grid !important; grid-template-columns: 34px minmax(0,1fr) !important; gap: 10px !important; align-items: start !important; min-width: 0 !important; padding: 14px !important; border: 1px solid #edf0ee !important; border-radius: 12px !important; background: #fafbfa !important; }
#chaufb-spa-shell .chaufb-summary-location-icon { display: grid !important; place-items: center !important; width: 32px !important; height: 32px !important; border-radius: 50% !important; background: #fff5cd !important; color: #b98600 !important; }
#chaufb-spa-shell .chaufb-summary-metrics { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; margin-top: 14px !important; border: 1px solid #edf0ee !important; border-radius: 12px !important; overflow: hidden !important; }
#chaufb-spa-shell .chaufb-summary-metrics > div { min-width: 0 !important; padding: 14px !important; border-right: 1px solid #edf0ee !important; }
#chaufb-spa-shell .chaufb-summary-metrics > div:last-child { border-right: 0 !important; }
#chaufb-spa-shell .chaufb-summary-metrics strong { font-size: 12px !important; }

#chaufb-spa-shell .chaufb-summary-vehicle-card { padding-bottom: 18px !important; }
#chaufb-spa-shell .chaufb-summary-vehicle-image { display: grid !important; place-items: center !important; min-height: 165px !important; margin: 2px 0 12px !important; padding: 10px !important; border-radius: 12px !important; background: #f8faf9 !important; }
#chaufb-spa-shell .chaufb-summary-vehicle-image img { display: block !important; width: 100% !important; max-width: 280px !important; height: 145px !important; margin: 0 auto !important; object-fit: contain !important; }
#chaufb-spa-shell .chaufb-summary-vehicle-name { color: #0d1c15 !important; font-size: 17px !important; font-weight: 800 !important; line-height: 1.3 !important; text-align: center !important; }

#chaufb-spa-shell .chaufb-summary-price-card { padding: 20px !important; }
#chaufb-spa-shell .chaufb-summary-price-card > h3 { margin-bottom: 12px !important; }
#chaufb-spa-shell .chaufb-summary-price-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 12px 0 !important; border-bottom: 1px solid #edf0ee !important; color: #65726c !important; font-size: 11px !important; }
#chaufb-spa-shell .chaufb-summary-price-row strong { color: #16221c !important; font-size: 13px !important; font-weight: 750 !important; }
#chaufb-spa-shell .chaufb-summary-price-total { display: flex !important; align-items: end !important; justify-content: space-between !important; gap: 12px !important; margin: 8px -20px -2px !important; padding: 18px 20px !important; background: #071812 !important; color: #fff !important; }
#chaufb-spa-shell .chaufb-summary-price-total span { font-size: 12px !important; font-weight: 700 !important; }
#chaufb-spa-shell .chaufb-summary-price-total strong { color: #e5b52e !important; font-size: 23px !important; line-height: 1 !important; font-weight: 850 !important; }
#chaufb-spa-shell .chaufb-summary-actions { display: grid !important; gap: 10px !important; margin: 18px 0 0 !important; }
#chaufb-spa-shell .chaufb-summary-actions .chaufb-checkout-book-now { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; width: 100% !important; min-height: 48px !important; margin: 0 !important; padding: 12px 18px !important; border: 1px solid #c99814 !important; border-radius: 999px !important; background: #e5b52e !important; color: #071812 !important; font-size: 12px !important; font-weight: 800 !important; cursor: pointer !important; }
#chaufb-spa-shell .chaufb-summary-back { display: flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; color: #5c6963 !important; font-size: 10px !important; font-weight: 700 !important; text-decoration: none !important; }

#chaufb-spa-shell .chaufb-vehicle-condition-wrapper { margin: 0 0 18px !important; padding: 14px 16px !important; border: 1px solid #efc0b8 !important; border-radius: 10px !important; background: #fff5f2 !important; color: #7d2d24 !important; }
#chaufb-spa-shell .chaufb-vehicle-condition-wrapper h4 { margin: 0 0 6px !important; color: #7d2d24 !important; }
#chaufb-spa-shell .chaufb-vehicle-condition-wrapper ul { margin: 0 !important; padding-left: 18px !important; }
#chaufb-spa-shell .chaufb-complete-wrapper { padding: 42px !important; border: 1px solid var(--vip-line) !important; border-radius: 14px !important; background: #fff !important; text-align: center !important; }
#chaufb-spa-shell .chaufb-complete-wrapper i { color: var(--vip-gold) !important; font-size: 40px !important; }

@media (max-width: 1040px) {
  #chaufb-spa-shell { width: min(950px, calc(100vw - 28px)) !important; }
  #chaufb-spa-shell .chaufb-container { grid-template-columns: 1fr !important; }
  #chaufb-spa-shell #chaufb-map { height: 330px !important; min-height: 330px !important; }
  #chaufb-spa-shell .chaufb-wrapper { grid-template-columns: 225px minmax(0, 1fr) !important; gap: 20px !important; }
  #chaufb-spa-shell .chaufb-side { max-width: 225px !important; }
  #chaufb-spa-shell .chaufb-vehicle-step { grid-template-columns: 240px minmax(0, 1fr) !important; gap: 18px !important; }
  #chaufb-spa-shell .chaufb-vehicle-step .chaufb-side { max-width: 240px !important; }
  #chaufb-spa-shell .chaufb-vehicle-result { grid-template-columns: 155px minmax(0, 1fr) !important; gap: 14px !important; padding: 10px 14px !important; min-height: 102px !important; }
  #chaufb-spa-shell .chaufb-vehicle-image { width: 155px !important; height: 78px !important; }
  #chaufb-spa-shell .chaufb-vehicle-details { grid-template-columns: minmax(0, 1fr) 102px 90px !important; gap: 12px !important; }
  #chaufb-spa-shell .chaufb-select-vehicle { width: 88px !important; min-width: 88px !important; }
  #chaufb-spa-shell .chaufb-contact-layout { grid-template-columns: 1fr !important; }
  #chaufb-spa-shell .chaufb-payment-options-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #chaufb-spa-shell .chaufb-payment-option { min-height: 105px !important; grid-template-columns: 1fr !important; align-content: center !important; padding: 38px 12px 12px !important; text-align: center !important; }
  #chaufb-spa-shell .chaufb-payment-icon { margin: auto !important; }
  #chaufb-spa-shell .chaufb-summary-layout { grid-template-columns: minmax(0,1fr) 300px !important; gap: 18px !important; }
  #chaufb-spa-shell .chaufb-summary-order { top: 90px !important; }
  #chaufb-spa-shell .chaufb-summary-metrics { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #chaufb-spa-shell .chaufb-summary-metrics > div:nth-child(2) { border-right: 0 !important; }
  #chaufb-spa-shell .chaufb-summary-metrics > div:nth-child(-n+2) { border-bottom: 1px solid #edf0ee !important; }
}

@media (max-width: 760px) {
  #chaufb-spa-shell { width: calc(100vw - 20px) !important; padding: 34px 0 52px !important; scroll-margin-top: 100px; }
  #chaufb-spa-shell .chaufb-step-wrapper { margin-bottom: 26px !important; padding: 0 4px !important; }
  #chaufb-spa-shell .chaufb-step > a:first-child { width: 30px !important; height: 30px !important; }
  #chaufb-spa-shell .chaufb-step > a:last-child { font-size: 9px !important; }
  #chaufb-spa-shell .chaufb-step-line { top: 14px !important; left: 12% !important; right: 12% !important; }
  #chaufb-spa-shell .chaufb-section-heading h2 { font-size: 26px !important; }
  #chaufb-spa-shell .chaufb-container { padding: 10px !important; gap: 10px !important; border-radius: 14px !important; }
  #chaufb-spa-shell .chaufb-content-wrapper { padding: 17px !important; }
  #chaufb-spa-shell #chaufb-map { height: 280px !important; min-height: 280px !important; }
  #chaufb-spa-shell .chaufb-service-choices { grid-template-columns: 1fr 1fr !important; }
  #chaufb-spa-shell .chaufb-form-2-col-wrapper,
  #chaufb-spa-shell .chaufb-contact-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  #chaufb-spa-shell .chaufb-contact-grid > div { margin-bottom: 16px !important; }
  #chaufb-spa-shell .chaufb-wrapper { grid-template-columns: 1fr !important; }
  #chaufb-spa-shell .chaufb-main { grid-column: 1 !important; grid-row: 1 !important; }
  #chaufb-spa-shell .chaufb-side { grid-column: 1 !important; grid-row: 2 !important; position: static !important; max-width: none !important; margin-top: 4px !important; }
  #chaufb-spa-shell .chaufb-vehicle-step .chaufb-side { max-width: none !important; max-height: none !important; overflow: visible !important; }
  #chaufb-spa-shell .chaufb-vehicle-result { grid-template-columns: 120px minmax(0, 1fr) !important; gap: 14px !important; padding: 14px !important; }
  #chaufb-spa-shell .chaufb-vehicle-image { width: 120px !important; height: 82px !important; }
  #chaufb-spa-shell .chaufb-vehicle-details { grid-template-columns: minmax(0, 1fr) auto !important; gap: 12px !important; }
  #chaufb-spa-shell .chaufb-vehicle-copy { grid-column: 1 / -1 !important; }
  #chaufb-spa-shell .chaufb-vehicle-price-wrap { grid-column: 1 !important; padding: 0 !important; border-left: 0 !important; }
  #chaufb-spa-shell .chaufb-select-vehicle { grid-column: 2 !important; justify-self: end !important; width: 100px !important; min-width: 100px !important; }
  #chaufb-spa-shell .chaufb-checkout-wrapper, #chaufb-spa-shell .chaufb-payment-panel { padding: 18px !important; }
  #chaufb-spa-shell .chaufb-payment-options-wrapper { grid-template-columns: 1fr !important; }
  #chaufb-spa-shell .chaufb-payment-option { min-height: 72px !important; grid-template-columns: 34px minmax(0,1fr) !important; padding: 13px 14px 13px 42px !important; text-align: left !important; }
  #chaufb-spa-shell .chaufb-summary-layout { grid-template-columns: 1fr !important; }
  #chaufb-spa-shell .chaufb-summary-order { position: static !important; }
  #chaufb-spa-shell .chaufb-summary-info-grid, #chaufb-spa-shell .chaufb-summary-route { grid-template-columns: 1fr !important; }
  #chaufb-spa-shell .chaufb-summary-info-item { border-right: 0 !important; border-bottom: 1px solid #edf0ee !important; }
  #chaufb-spa-shell .chaufb-summary-info-item:last-child { border-bottom: 0 !important; }
  #chaufb-spa-shell .chaufb-summary-metrics { grid-template-columns: 1fr 1fr !important; }
  #chaufb-spa-shell .chaufb-summary-map #chaufb-google-map-preview { height: 250px !important; min-height: 250px !important; }
  #chaufb-spa-shell .chaufb-summary-panel { padding: 17px !important; }
  #chaufb-spa-shell .chaufb-summary-price-total { margin-left: -17px !important; margin-right: -17px !important; }
  #chaufb-spa-shell .chaufb-summary-actions, #chaufb-spa-shell .chaufb-step-actions { align-items: stretch !important; }
  #chaufb-spa-shell .chaufb-summary-actions > *, #chaufb-spa-shell .chaufb-step-actions > * { width: 100% !important; }
}


/* Trip Details compact layout + frontend datepicker reset (v1.3.19) */
@media (max-width: 1040px) {
  #chaufb-spa-shell .chaufb-trip-meta-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  #chaufb-spa-shell .chaufb-trip-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  #chaufb-spa-shell .chaufb-return-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  #chaufb-spa-shell .chaufb-step-one-actions { justify-content: stretch !important; }
  #chaufb-spa-shell .chaufb-step-one-actions .chaufb-check-availability-button { width: 100% !important; }
}
@media (max-width: 480px) {
  #chaufb-spa-shell .chaufb-service-choices { gap: 6px !important; }
  #chaufb-spa-shell .chaufb-service-choices button { padding: 8px 7px !important; font-size: 12px !important; }
  #chaufb-spa-shell .chaufb-trip-meta-grid,
  #chaufb-spa-shell .chaufb-return-grid { grid-template-columns: 1fr !important; }
}

/* jQuery UI datepicker is appended to <body>, so it must be styled outside the SPA shell. */
body #ui-datepicker-div.ui-datepicker,
body #ui-datepicker-div {
  width: 320px !important;
  max-width: calc(100vw - 24px) !important;
  padding: 12px !important;
  border: 1px solid #dfe4e7 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #17211c !important;
  box-shadow: 0 16px 42px rgba(7, 24, 18, .16) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  z-index: 999999 !important;
  box-sizing: border-box !important;
}
body #ui-datepicker-div * { box-sizing: border-box !important; }
body #ui-datepicker-div .ui-datepicker-header {
  position: relative !important;
  min-height: 38px !important;
  margin: 0 0 6px !important;
  padding: 2px 40px 6px !important;
  border: 0 !important;
  background: transparent !important;
}
body #ui-datepicker-div .ui-datepicker-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #17211c !important;
  font-size: 14px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
body #ui-datepicker-div .ui-datepicker-prev,
body #ui-datepicker-div .ui-datepicker-next {
  position: absolute !important;
  top: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f5f7f6 !important;
  color: #17211c !important;
  text-decoration: none !important;
  cursor: pointer !important;
  float: none !important;
}
body #ui-datepicker-div .ui-datepicker-prev { left: 0 !important; }
body #ui-datepicker-div .ui-datepicker-next { right: 0 !important; }
body #ui-datepicker-div .ui-datepicker-prev span,
body #ui-datepicker-div .ui-datepicker-next span { display: none !important; }
body #ui-datepicker-div .ui-datepicker-prev::after,
body #ui-datepicker-div .ui-datepicker-next::after {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-align: center !important;
}
body #ui-datepicker-div .ui-datepicker-prev::after { content: "‹" !important; }
body #ui-datepicker-div .ui-datepicker-next::after { content: "›" !important; }
body #ui-datepicker-div table.ui-datepicker-calendar {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 2px !important;
  table-layout: fixed !important;
  background: #fff !important;
}
body #ui-datepicker-div .ui-datepicker-calendar thead,
body #ui-datepicker-div .ui-datepicker-calendar tbody,
body #ui-datepicker-div .ui-datepicker-calendar tr { background: transparent !important; }
body #ui-datepicker-div .ui-datepicker-calendar th {
  height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #7b8781 !important;
  font-size: 11px !important;
  line-height: 28px !important;
  font-weight: 650 !important;
  text-align: center !important;
}
body #ui-datepicker-div .ui-datepicker-calendar td {
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
}
body #ui-datepicker-div .ui-datepicker-calendar td a,
body #ui-datepicker-div .ui-datepicker-calendar td span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #344039 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
body #ui-datepicker-div .ui-datepicker-calendar td a:hover { background: #fff6dc !important; color: #7d5900 !important; }
body #ui-datepicker-div .ui-datepicker-calendar .ui-datepicker-current-day a,
body #ui-datepicker-div .ui-datepicker-calendar .ui-state-active {
  background: #e5b52e !important;
  color: #071812 !important;
  font-weight: 800 !important;
}
body #ui-datepicker-div .ui-datepicker-calendar .ui-datepicker-today a { box-shadow: inset 0 0 0 1px #e5b52e !important; }
body #ui-datepicker-div .ui-datepicker-unselectable span,
body #ui-datepicker-div .ui-state-disabled span { color: #c6cdca !important; opacity: .8 !important; }


/* Booking Summary reference layout v1.3.21 */
#chaufb-spa-shell .chaufb-final-summary-page,
#chaufb-spa-shell .chaufb-final-summary-page .chaufb-main {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
#chaufb-spa-shell .chaufb-final-heading {
  margin:0 0 18px !important;
}
#chaufb-spa-shell .chaufb-final-heading h2 {
  margin:0 0 5px !important;
  font-size:30px !important;
  line-height:1.15 !important;
}
#chaufb-spa-shell .chaufb-final-heading p {
  margin:0 !important;
  font-size:13px !important;
  color:#667085 !important;
}
#chaufb-spa-shell .chaufb-final-grid {
  display:grid !important;
  grid-template-columns:250px minmax(0,1fr) 320px !important;
  gap:16px !important;
  align-items:start !important;
  width:100% !important;
}
#chaufb-spa-shell .chaufb-final-trip-card,
#chaufb-spa-shell .chaufb-final-booking-card,
#chaufb-spa-shell .chaufb-final-checkout-card {
  min-width:0 !important;
  margin:0 !important;
  border:1px solid #e1e6e3 !important;
  border-radius:10px !important;
  box-shadow:0 5px 18px rgba(7,24,18,.045) !important;
  overflow:hidden !important;
}
#chaufb-spa-shell .chaufb-final-booking-card,
#chaufb-spa-shell .chaufb-final-checkout-card {
  background:#fff !important;
}

/* Left trip summary */
#chaufb-spa-shell .chaufb-final-trip-card {
  padding:16px !important;
  border-color:#10281f !important;
  background:#071812 !important;
  color:#fff !important;
}
#chaufb-spa-shell .chaufb-final-card-head {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:0 !important;
}
#chaufb-spa-shell .chaufb-final-card-head h3 {
  margin:0 !important;
  color:#0c1b14 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
#chaufb-spa-shell .chaufb-final-card-head > div > span {
  display:block !important;
  margin:0 0 2px !important;
  color:#7d8983 !important;
  font-size:9px !important;
  font-weight:750 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
#chaufb-spa-shell .chaufb-final-card-head > a {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  min-height:28px !important;
  padding:5px 9px !important;
  border:1px solid #d5a20d !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#8a6800 !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
#chaufb-spa-shell .chaufb-final-card-head-dark {
  margin:0 0 10px !important;
}
#chaufb-spa-shell .chaufb-final-card-head-dark h3 {
  color:#fff !important;
  font-size:18px !important;
}
#chaufb-spa-shell .chaufb-final-card-head-dark > a {
  border-color:#e5b52e !important;
  background:transparent !important;
  color:#e5b52e !important;
}
#chaufb-spa-shell .chaufb-final-vehicle-mini {
  display:grid !important;
  grid-template-columns:88px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
  padding:8px 0 11px !important;
  border-bottom:1px solid rgba(229,181,46,.24) !important;
}
#chaufb-spa-shell .chaufb-final-vehicle-mini-image {
  display:grid !important;
  place-items:center !important;
  width:88px !important;
  height:54px !important;
  background:transparent !important;
  overflow:hidden !important;
}
#chaufb-spa-shell .chaufb-final-vehicle-mini-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
#chaufb-spa-shell .chaufb-final-vehicle-mini span {
  display:block !important;
  margin:0 0 2px !important;
  color:#91a39a !important;
  font-size:8px !important;
  font-weight:750 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}
#chaufb-spa-shell .chaufb-final-vehicle-mini strong {
  display:block !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1.35 !important;
  font-weight:750 !important;
}
#chaufb-spa-shell .chaufb-final-trip-list {
  display:grid !important;
}
#chaufb-spa-shell .chaufb-final-trip-list > div {
  display:grid !important;
  grid-template-columns:20px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:start !important;
  padding:8px 0 !important;
  border-bottom:1px solid rgba(229,181,46,.18) !important;
}
#chaufb-spa-shell .chaufb-final-trip-list > div:last-child {
  border-bottom:0 !important;
  padding-bottom:0 !important;
}
#chaufb-spa-shell .chaufb-final-trip-list i {
  color:#e5b52e !important;
  font-size:11px !important;
  line-height:16px !important;
  text-align:center !important;
}
#chaufb-spa-shell .chaufb-final-trip-list small {
  display:block !important;
  margin:0 0 2px !important;
  color:#91a39a !important;
  font-size:8px !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
}
#chaufb-spa-shell .chaufb-final-trip-list strong {
  display:block !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:1.42 !important;
  font-weight:650 !important;
  overflow-wrap:anywhere !important;
}

/* Middle booking summary */
#chaufb-spa-shell .chaufb-final-booking-card {
  padding:16px !important;
}
#chaufb-spa-shell .chaufb-final-booking-card > .chaufb-final-card-head {
  margin:0 0 11px !important;
}
#chaufb-spa-shell .chaufb-final-summary-table {
  border:1px solid #e7ebe9 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#fff !important;
}
#chaufb-spa-shell .chaufb-final-summary-table > div {
  display:grid !important;
  grid-template-columns:135px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  min-height:35px !important;
  padding:8px 11px !important;
  border-bottom:1px solid #edf0ee !important;
}
#chaufb-spa-shell .chaufb-final-summary-table > div:nth-child(even) {
  background:#fbfcfb !important;
}
#chaufb-spa-shell .chaufb-final-summary-table > div:last-child {
  border-bottom:0 !important;
}
#chaufb-spa-shell .chaufb-final-summary-table span {
  color:#65726c !important;
  font-size:10px !important;
  line-height:1.4 !important;
}
#chaufb-spa-shell .chaufb-final-summary-table strong {
  color:#132019 !important;
  font-size:10.5px !important;
  line-height:1.4 !important;
  font-weight:750 !important;
  text-align:right !important;
  overflow-wrap:anywhere !important;
}

/* Right total + payment card */
#chaufb-spa-shell .chaufb-final-payment-column {
  min-width:0 !important;
}
#chaufb-spa-shell .chaufb-final-checkout-card {
  padding:0 !important;
}
#chaufb-spa-shell .chaufb-final-checkout-section {
  padding:16px !important;
}
#chaufb-spa-shell .chaufb-final-checkout-section > h3,
#chaufb-spa-shell .chaufb-final-payment-section .chaufb-final-card-head h3 {
  margin:0 0 10px !important;
  color:#0c1b14 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
#chaufb-spa-shell .chaufb-final-checkout-divider {
  height:1px !important;
  margin:0 16px !important;
  background:#e8ecea !important;
}
#chaufb-spa-shell .chaufb-final-price-row {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:7px 0 !important;
  color:#5f6d66 !important;
  font-size:10px !important;
  line-height:1.35 !important;
}
#chaufb-spa-shell .chaufb-final-price-row strong {
  color:#16211b !important;
  font-size:10.5px !important;
  font-weight:750 !important;
  white-space:nowrap !important;
}
#chaufb-spa-shell .chaufb-final-total-row {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:8px 0 0 !important;
  padding:10px 11px !important;
  border-radius:6px !important;
  background:#fff2c7 !important;
  color:#101a15 !important;
}
#chaufb-spa-shell .chaufb-final-total-row span {
  font-size:13px !important;
  font-weight:850 !important;
}
#chaufb-spa-shell .chaufb-final-total-row strong {
  color:#071812 !important;
  font-size:16px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
#chaufb-spa-shell .chaufb-final-payment-section .chaufb-final-card-head {
  margin:0 0 10px !important;
}
#chaufb-spa-shell .chaufb-final-payment-section .chaufb-final-card-head h3 {
  margin:0 !important;
}
#chaufb-spa-shell .chaufb-final-payment-selected {
  display:grid !important;
  grid-template-columns:18px 24px minmax(0,1fr) auto !important;
  gap:8px !important;
  align-items:center !important;
  min-height:48px !important;
  padding:9px 10px !important;
  border:1px solid #dde4e0 !important;
  border-radius:7px !important;
  background:#fff !important;
}
#chaufb-spa-shell .chaufb-final-payment-radio {
  display:grid !important;
  place-items:center !important;
  width:17px !important;
  height:17px !important;
  border-radius:50% !important;
  background:#e5b52e !important;
  color:#071812 !important;
  font-size:7px !important;
}
#chaufb-spa-shell .chaufb-final-payment-icon {
  color:#b98500 !important;
  font-size:17px !important;
  text-align:center !important;
}
#chaufb-spa-shell .chaufb-final-payment-selected strong {
  color:#15211b !important;
  font-size:10.5px !important;
  line-height:1.3 !important;
  font-weight:750 !important;
}
#chaufb-spa-shell .chaufb-final-card-badges {
  display:flex !important;
  align-items:center !important;
  gap:3px !important;
}
#chaufb-spa-shell .chaufb-final-card-badges b {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:26px !important;
  height:16px !important;
  padding:0 4px !important;
  border:1px solid #d9dfdc !important;
  border-radius:3px !important;
  background:#f8faf9 !important;
  color:#30413a !important;
  font-size:6.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
#chaufb-spa-shell .chaufb-final-payment-section p {
  margin:9px 0 0 !important;
  color:#77837d !important;
  font-size:8.5px !important;
  line-height:1.4 !important;
}
#chaufb-spa-shell .chaufb-final-payment-section p i {
  margin-right:5px !important;
  color:#d3a00d !important;
}

/* Bottom actions */
#chaufb-spa-shell .chaufb-final-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:18px 0 0 !important;
}
#chaufb-spa-shell .chaufb-final-actions form {
  margin:0 !important;
}
#chaufb-spa-shell .chaufb-final-back {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  min-height:44px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:#ecefed !important;
  color:#26342d !important;
  font-size:9px !important;
  font-weight:750 !important;
  line-height:1.15 !important;
  text-decoration:none !important;
}
#chaufb-spa-shell .chaufb-final-back small {
  display:block !important;
  color:#59665f !important;
  font-size:8px !important;
  font-weight:750 !important;
}
#chaufb-spa-shell .chaufb-final-book-now {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:16px !important;
  min-width:176px !important;
  min-height:46px !important;
  padding:11px 22px !important;
  border:1px solid #c9970d !important;
  border-radius:999px !important;
  background:#e5b52e !important;
  color:#071812 !important;
  font-size:10.5px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
#chaufb-spa-shell .chaufb-final-book-now:hover {
  filter:brightness(.97) !important;
}

@media (max-width:1100px) {
  #chaufb-spa-shell .chaufb-final-grid {
    grid-template-columns:230px minmax(0,1fr) 285px !important;
    gap:14px !important;
  }
  #chaufb-spa-shell .chaufb-final-summary-table > div {
    grid-template-columns:112px minmax(0,1fr) !important;
  }
}
@media (max-width:900px) {
  #chaufb-spa-shell .chaufb-final-grid {
    grid-template-columns:235px minmax(0,1fr) !important;
  }
  #chaufb-spa-shell .chaufb-final-payment-column {
    grid-column:2 !important;
  }
}
@media (max-width:760px) {
  #chaufb-spa-shell .chaufb-final-grid {
    grid-template-columns:1fr !important;
  }
  #chaufb-spa-shell .chaufb-final-payment-column {
    grid-column:auto !important;
  }
  #chaufb-spa-shell .chaufb-final-summary-table > div {
    grid-template-columns:1fr !important;
    gap:3px !important;
  }
  #chaufb-spa-shell .chaufb-final-summary-table strong {
    text-align:left !important;
  }
  #chaufb-spa-shell .chaufb-final-actions {
    align-items:stretch !important;
  }
  #chaufb-spa-shell .chaufb-final-actions > * {
    flex:1 1 50% !important;
  }
  #chaufb-spa-shell .chaufb-final-actions form {
    display:flex !important;
  }
  #chaufb-spa-shell .chaufb-final-book-now {
    width:100% !important;
    min-width:0 !important;
  }
}
@media (max-width:480px) {
  #chaufb-spa-shell .chaufb-final-heading h2 {
    font-size:25px !important;
  }
  #chaufb-spa-shell .chaufb-final-actions {
    flex-direction:column-reverse !important;
  }
  #chaufb-spa-shell .chaufb-final-actions > * {
    width:100% !important;
  }
  #chaufb-spa-shell .chaufb-final-back {
    justify-content:center !important;
  }
  #chaufb-spa-shell .chaufb-final-payment-selected {
    grid-template-columns:18px 24px minmax(0,1fr) !important;
  }
  #chaufb-spa-shell .chaufb-final-card-badges {
    display:none !important;
  }
}

/* Booking Summary: one journey card, one checkout card. */
#chaufb-spa-shell .chaufb-final-summary-page { display:block !important; }
#chaufb-spa-shell .chaufb-final-summary-page .chaufb-main { display:block !important; grid-column:auto !important; grid-row:auto !important; }
#chaufb-spa-shell .chaufb-final-grid { display:grid !important; grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr) !important; gap:20px !important; align-items:start !important; }
#chaufb-spa-shell .chaufb-final-journey,
#chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card { width:100% !important; min-width:0 !important; height:auto !important; margin:0 !important; padding:20px !important; border:1px solid #e2e8e5 !important; border-radius:14px !important; background:#fff !important; box-shadow:0 6px 24px rgba(7,24,18,.05) !important; }
#chaufb-spa-shell .chaufb-final-heading { margin-bottom:18px !important; }
#chaufb-spa-shell .chaufb-final-heading h2 { font-size:28px !important; }
#chaufb-spa-shell .chaufb-final-heading p { font-size:14px !important; }
#chaufb-spa-shell .chaufb-final-journey-head { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:14px !important; margin-bottom:16px !important; }
#chaufb-spa-shell .chaufb-final-vehicle-mini { display:flex !important; align-items:center !important; gap:14px !important; padding:0 !important; border:0 !important; }
#chaufb-spa-shell .chaufb-final-vehicle-mini img { display:block !important; width:120px !important; height:70px !important; object-fit:contain !important; }
#chaufb-spa-shell .chaufb-final-vehicle-mini span { color:#78877e !important; font-size:12px !important; }
#chaufb-spa-shell .chaufb-final-vehicle-mini strong { color:#101c15 !important; font-size:19px !important; line-height:1.2 !important; }
#chaufb-spa-shell .chaufb-final-edit { flex:0 0 auto !important; color:#826000 !important; font-size:13px !important; font-weight:700 !important; text-decoration:none !important; }
#chaufb-spa-shell .chaufb-final-map { display:block !important; width:100% !important; height:280px !important; min-height:280px !important; margin:0 0 18px !important; border-radius:10px !important; background:#e9eeeb !important; overflow:hidden !important; }
#chaufb-spa-shell .chaufb-final-places { display:grid !important; gap:14px !important; padding:2px 0 18px !important; border-bottom:1px solid #e6ebe7 !important; }
#chaufb-spa-shell .chaufb-final-places > div { display:flex !important; align-items:start !important; gap:12px !important; }
#chaufb-spa-shell .chaufb-final-place-dot { flex:0 0 13px !important; width:13px !important; height:13px !important; margin-top:6px !important; border:3px solid #d7a817 !important; border-radius:50% !important; }
#chaufb-spa-shell .chaufb-final-place-drop { background:#0a2016 !important; border-color:#0a2016 !important; }
#chaufb-spa-shell .chaufb-final-places small,
#chaufb-spa-shell .chaufb-final-facts small,
#chaufb-spa-shell .chaufb-final-payment-choice small { display:block !important; margin-bottom:3px !important; color:#708076 !important; font-size:12px !important; line-height:1.3 !important; }
#chaufb-spa-shell .chaufb-final-places strong { display:block !important; color:#102018 !important; font-size:15px !important; line-height:1.4 !important; font-weight:700 !important; overflow-wrap:anywhere !important; }
#chaufb-spa-shell .chaufb-final-facts { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; padding-top:18px !important; }
#chaufb-spa-shell .chaufb-final-facts strong { display:block !important; color:#13231a !important; font-size:14px !important; font-weight:700 !important; line-height:1.4 !important; }
#chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card > h3 { margin:0 0 14px !important; color:#102018 !important; font-size:20px !important; line-height:1.25 !important; }
#chaufb-spa-shell .chaufb-final-price-row { padding:10px 0 !important; border-bottom:1px solid #edf0ee !important; font-size:14px !important; }
#chaufb-spa-shell .chaufb-final-price-row strong { font-size:14px !important; }
#chaufb-spa-shell .chaufb-final-total-row { margin:14px 0 0 !important; padding:15px !important; border-radius:9px !important; }
#chaufb-spa-shell .chaufb-final-total-row span { font-size:16px !important; }
#chaufb-spa-shell .chaufb-final-total-row strong { font-size:22px !important; }
#chaufb-spa-shell .chaufb-final-payment-choice { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:12px !important; margin-top:18px !important; padding-top:18px !important; border-top:1px solid #e6ebe7 !important; }
#chaufb-spa-shell .chaufb-final-payment-choice strong { display:block !important; color:#13231a !important; font-size:15px !important; }
#chaufb-spa-shell .chaufb-final-payment-choice a { color:#8b6700 !important; font-size:13px !important; font-weight:700 !important; }
#chaufb-spa-shell .chaufb-final-actions { margin-top:20px !important; }
#chaufb-spa-shell .chaufb-final-back { font-size:13px !important; }
#chaufb-spa-shell .chaufb-final-back small { font-size:11px !important; }
#chaufb-spa-shell .chaufb-final-book-now { min-width:190px !important; font-size:14px !important; }
@media (max-width:900px) {
  #chaufb-spa-shell .chaufb-final-grid { grid-template-columns:1fr !important; }
  #chaufb-spa-shell .chaufb-final-facts { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:560px) {
  #chaufb-spa-shell .chaufb-final-journey,
  #chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card { padding:15px !important; }
  #chaufb-spa-shell .chaufb-final-vehicle-mini img { width:85px !important; height:55px !important; }
  #chaufb-spa-shell .chaufb-final-vehicle-mini strong { font-size:16px !important; }
  #chaufb-spa-shell .chaufb-final-map { height:230px !important; min-height:230px !important; }
  #chaufb-spa-shell .chaufb-final-facts { grid-template-columns:1fr 1fr !important; gap:14px !important; }
}

/* Compact, centered Booking Summary column. */
#chaufb-spa-shell .chaufb-final-summary-page .chaufb-main {
  width:min(100%, 640px) !important;
  max-width:640px !important;
  margin:0 auto !important;
}
#chaufb-spa-shell .chaufb-final-heading { margin-bottom:12px !important; }
#chaufb-spa-shell .chaufb-final-heading h2 { font-size:25px !important; }
#chaufb-spa-shell .chaufb-final-heading p { font-size:12px !important; }
#chaufb-spa-shell .chaufb-final-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
}
#chaufb-spa-shell .chaufb-final-journey,
#chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card {
  padding:18px 20px !important;
  box-shadow:none !important;
}
#chaufb-spa-shell .chaufb-final-journey {
  border-bottom:0 !important;
  border-radius:12px 12px 0 0 !important;
}
#chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card {
  border-top:1px solid #edf0ee !important;
  border-radius:0 0 12px 12px !important;
}
#chaufb-spa-shell .chaufb-final-journey-head { margin-bottom:10px !important; }
#chaufb-spa-shell .chaufb-final-vehicle-mini img { width:90px !important; height:50px !important; }
#chaufb-spa-shell .chaufb-final-vehicle-mini strong { font-size:16px !important; }
#chaufb-spa-shell .chaufb-final-map { height:195px !important; min-height:195px !important; margin-bottom:13px !important; border-radius:7px !important; }
#chaufb-spa-shell .chaufb-final-places { gap:9px !important; padding-bottom:12px !important; }
#chaufb-spa-shell .chaufb-final-places strong { font-size:13px !important; }
#chaufb-spa-shell .chaufb-final-places small,
#chaufb-spa-shell .chaufb-final-facts small,
#chaufb-spa-shell .chaufb-final-payment-choice small { font-size:11px !important; margin-bottom:2px !important; }
#chaufb-spa-shell .chaufb-final-facts { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px 14px !important; padding-top:13px !important; }
#chaufb-spa-shell .chaufb-final-facts strong { font-size:12px !important; }
#chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card > h3 { margin-bottom:8px !important; font-size:16px !important; }
#chaufb-spa-shell .chaufb-final-price-row { padding:6px 0 !important; font-size:12px !important; }
#chaufb-spa-shell .chaufb-final-price-row strong { font-size:12px !important; }
#chaufb-spa-shell .chaufb-final-total-row { margin-top:10px !important; padding:11px 13px !important; }
#chaufb-spa-shell .chaufb-final-total-row span { font-size:14px !important; }
#chaufb-spa-shell .chaufb-final-total-row strong { font-size:18px !important; }
#chaufb-spa-shell .chaufb-final-payment-choice { margin-top:11px !important; padding-top:11px !important; }
#chaufb-spa-shell .chaufb-final-payment-choice strong { font-size:13px !important; }
#chaufb-spa-shell .chaufb-final-actions { margin-top:12px !important; }
#chaufb-spa-shell .chaufb-final-book-now { min-height:42px !important; font-size:13px !important; }
@media (max-width:560px) {
  #chaufb-spa-shell .chaufb-final-summary-page .chaufb-main { width:100% !important; }
  #chaufb-spa-shell .chaufb-final-journey,
  #chaufb-spa-shell .chaufb-final-grid > .chaufb-final-checkout-card { padding:14px !important; }
  #chaufb-spa-shell .chaufb-final-facts { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #chaufb-spa-shell .chaufb-final-map { height:180px !important; min-height:180px !important; }
}

/* 1.3.41 – vehicle features + extras on the vehicle card */
#chaufb-spa-shell .chaufb-vehicle-copy > ul.chaufb-vehicle-features {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, max-content)) !important;
  gap: 4px 18px !important;
  margin: 9px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#chaufb-spa-shell .chaufb-vehicle-copy > ul.chaufb-vehicle-features li {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
  color: #344054 !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}
#chaufb-spa-shell .chaufb-vehicle-copy > ul.chaufb-vehicle-features li i {
  flex: 0 0 auto !important;
  margin: 0 !important;
  color: var(--vip-gold-dark) !important;
  font-size: 10px !important;
}
#chaufb-spa-shell .chaufb-trip-options {
  margin: 16px 0 0 !important;
  padding: 18px 20px !important;
  border: 1px solid #dfe4e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 5px 15px rgba(15, 23, 42, .03) !important;
}
#chaufb-spa-shell .chaufb-trip-options-head h3 {
  margin: 0 !important;
  color: #101828 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
#chaufb-spa-shell .chaufb-trip-options-head p {
  margin: 3px 0 12px !important;
  color: var(--vip-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
#chaufb-spa-shell .chaufb-trip-options-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
#chaufb-spa-shell .chaufb-trip-option {
  display: grid !important;
  font-weight: 400 !important;
  grid-template-columns: 18px 32px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  border: 1px solid #e3e7ea !important;
  border-radius: 10px !important;
  background: var(--vip-soft) !important;
  cursor: pointer !important;
  transition: border-color .15s, background .15s !important;
}
#chaufb-spa-shell .chaufb-trip-option:hover { border-color: #d9b44c !important; }
#chaufb-spa-shell .chaufb-trip-option:has(input:checked) {
  border-color: var(--vip-gold) !important;
  background: #fffaeb !important;
  box-shadow: 0 0 0 2px rgba(229, 181, 46, .12) !important;
}
#chaufb-spa-shell .chaufb-trip-option input[type=checkbox] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--vip-gold-dark) !important;
  cursor: pointer !important;
}
#chaufb-spa-shell .chaufb-trip-option-icon {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: var(--vip-dark) !important;
  color: var(--vip-gold) !important;
  font-size: 14px !important;
}
#chaufb-spa-shell .chaufb-trip-option-copy { min-width: 0 !important; }
#chaufb-spa-shell .chaufb-trip-option-copy b {
  display: block !important;
  color: #101828 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
#chaufb-spa-shell .chaufb-trip-option-copy small {
  display: block !important;
  font-weight: 400 !important;
  color: var(--vip-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
#chaufb-spa-shell .chaufb-trip-option-price {
  color: #b97e00 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
#chaufb-spa-shell button.chaufb-select-vehicle { font-family: inherit !important; }

@media (max-width: 760px) {
  #chaufb-spa-shell .chaufb-vehicle-copy > ul.chaufb-vehicle-features { grid-template-columns: 1fr !important; }
  /* Mobile: journey options sit above the vehicle list so they are seen before Select. */
  #chaufb-spa-shell .chaufb-vehicle-step .chaufb-main { display: flex !important; flex-direction: column !important; }
  #chaufb-spa-shell .chaufb-vehicle-step .chaufb-main > .chaufb-section-heading { order: -2 !important; }
  #chaufb-spa-shell .chaufb-vehicle-step .chaufb-main > .chaufb-trip-options { order: -1 !important; margin: 0 0 14px !important; }
  #chaufb-spa-shell .chaufb-trip-options { padding: 16px !important; }
  #chaufb-spa-shell .chaufb-trip-options-list { grid-template-columns: 1fr !important; }
}

/* 1.3.43 – notes field: stops warning + name on board help */
#chaufb-spa-shell .chaufb-stops-warning {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  border: 1px solid #f1cf6b !important;
  border-left: 4px solid var(--vip-gold) !important;
  border-radius: 10px !important;
  background: #fff7dc !important;
  color: #5c4300 !important;
}
#chaufb-spa-shell .chaufb-stops-warning > i {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
  color: var(--vip-gold-dark) !important;
  font-size: 15px !important;
}
#chaufb-spa-shell .chaufb-stops-warning p {
  margin: 0 !important;
  color: #5c4300 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
#chaufb-spa-shell .chaufb-stops-warning strong { color: #3d2c00 !important; font-weight: 800 !important; }
#chaufb-spa-shell .chaufb-stops-warning a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-left: 2px !important;
  color: #8a5d00 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
}
#chaufb-spa-shell .chaufb-stops-warning a i { font-size: 11px !important; }
#chaufb-spa-shell .chaufb-notes-field .chaufb-field-help {
  display: block !important;
  margin: -2px 0 8px !important;
  color: var(--vip-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* 1.3.44 – customer notes on Booking Summary */
#chaufb-spa-shell .chaufb-final-notes {
  margin: 14px 0 0 !important;
  padding: 13px 15px !important;
  border: 1px solid #edf0ee !important;
  border-radius: 10px !important;
  background: #fbfaf6 !important;
}
#chaufb-spa-shell .chaufb-final-notes-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 5px !important;
}
#chaufb-spa-shell .chaufb-final-notes-head small {
  color: #7a8591 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}
#chaufb-spa-shell .chaufb-final-notes-head small i { margin-right: 4px !important; color: var(--vip-gold-dark) !important; }
#chaufb-spa-shell .chaufb-final-notes-head a {
  color: #8a5d00 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
#chaufb-spa-shell .chaufb-final-notes p {
  margin: 0 !important;
  color: #101828 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  white-space: pre-line !important;
  overflow-wrap: anywhere !important;
}
#chaufb-spa-shell .chaufb-final-notes p.chaufb-final-notes-empty { color: var(--vip-muted) !important; font-size: 13px !important; }

/* 1.3.46 – return discount is the only line shown besides the total */
#chaufb-spa-shell .chaufb-final-discount-row strong { color: #127a43 !important; }

/* 1.3.48 – hourly hire: end at a different location */
#chaufb-spa-shell #chaufb-hourly-end-check-group label { display: flex !important; align-items: center !important; gap: 9px !important; margin: 0 !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important; }
#chaufb-spa-shell #chaufb-hourly-end-check-group input { width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: var(--vip-gold) !important; }

/* ==========================================================================
   1.3.49 – Quick booking bar [chaufb_quick_booking]
   Site tones: black header + gold #F8B54A. !important keeps the theme's
   global button/input styles out of the bar.
   ========================================================================== */
.chaufb-quick {
  --q-gold: #f8b54a;
  --q-gold-dark: #e9a12f;
  --q-glass: rgba(8, 8, 10, .72);
  --q-line: rgba(255, 255, 255, .14);
  --q-label: rgba(255, 255, 255, .62);
  position: relative;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  font-family: inherit;
  text-align: left;
  box-sizing: border-box;
}
.chaufb-quick *, .chaufb-quick *::before, .chaufb-quick *::after { box-sizing: border-box; }
.chaufb-quick [hidden][hidden] { display: none !important; }

/* Tabs: no white panel, sit straight on the slider */
.chaufb-quick-tabs { display: inline-flex; gap: 8px; margin: 0 0 12px; padding: 0; background: none; border: 0; }
.chaufb-quick .chaufb-quick-tabs button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(255, 255, 255, .35) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, .35) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s !important;
}
.chaufb-quick .chaufb-quick-tabs button i { color: var(--q-gold) !important; font-size: 13px !important; }
.chaufb-quick .chaufb-quick-tabs button:hover { border-color: var(--q-gold) !important; }
.chaufb-quick .chaufb-quick-tabs button.is-active { background: var(--q-gold) !important; border-color: var(--q-gold) !important; color: #fff !important; }
.chaufb-quick .chaufb-quick-tabs button.is-active i { color: #fff !important; }

/* Bar: dark glass like the header */
.chaufb-quick-bar {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 8px;
  border: 1px solid var(--q-line);
  border-radius: 18px;
  background: var(--q-glass);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.chaufb-quick-field {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 0;
  min-width: 0;
  padding: 10px 16px;
  border-right: 1px solid var(--q-line);
}
.chaufb-quick-field > i { flex: 0 0 auto; color: var(--q-gold); font-size: 15px; }
.chaufb-quick-field label { display: block; flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; cursor: text; }
.chaufb-quick-field label > span:first-child,
.chaufb-quick-pax-label {
  display: block;
  margin: 0 0 3px;
  color: var(--q-label);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .02em;
}
.chaufb-quick input[type="text"],
.chaufb-quick input[type="date"],
.chaufb-quick select {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  outline: none !important;
  color-scheme: dark;
  -webkit-appearance: none;
  appearance: none;
}
.chaufb-quick input[type="text"]::placeholder { color: rgba(255, 255, 255, .45) !important; font-weight: 500 !important; }
.chaufb-quick select { cursor: pointer; }
.chaufb-quick select option { background: #111; color: #fff; }
.chaufb-quick-datetime { display: flex; align-items: center; gap: 10px; }
/* Date keeps its own width so the time sits right next to it (1.3.50b) */
.chaufb-quick-datetime input[type="date"] { flex: 0 0 auto; width: 9.4em !important; min-width: 0 !important; }
.chaufb-quick-datetime select { flex: 0 0 auto; width: auto !important; padding: 0 2px 0 10px !important; border-left: 1px solid var(--q-line) !important; }
.chaufb-quick-field:focus-within { background: rgba(255, 255, 255, .06); border-radius: 12px; }

.chaufb-quick-from, .chaufb-quick-to { flex: 1.35 1 0; }
.chaufb-quick-date { flex: 0 0 auto; }
.chaufb-quick-return { flex: 0 1 auto; }
.chaufb-quick-pax { flex: 0 0 auto; flex-direction: column; align-items: flex-start; gap: 0; border-right: 0; }
.chaufb-quick.has-return .chaufb-quick-from,
.chaufb-quick.has-return .chaufb-quick-to { flex: 1 1 0; }
.chaufb-quick.has-return .chaufb-quick-date,
.chaufb-quick.has-return .chaufb-quick-return { flex: 0 0 auto; }
@media (min-width: 1081px) {
  /* Room for the addresses when a return date is added */
  .chaufb-quick.has-return .chaufb-quick-field > i { display: none; }
  .chaufb-quick.has-return .chaufb-quick-field { padding-left: 14px; padding-right: 14px; }

}

.chaufb-quick .chaufb-quick-add-return {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.chaufb-quick .chaufb-quick-add-return i { color: var(--q-gold) !important; }
.chaufb-quick .chaufb-quick-add-return:hover { color: var(--q-gold) !important; }
.chaufb-quick-return-fields { display: flex; align-items: center; gap: 8px; width: 100%; }
.chaufb-quick .chaufb-quick-remove-return {
  flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  width: 26px !important;
  height: 26px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--q-line) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .7) !important;
  font-size: 12px !important;
  cursor: pointer !important;
}

.chaufb-quick-stepper { display: inline-flex; align-items: center; gap: 8px; }
.chaufb-quick .chaufb-quick-stepper button {
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .4) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.chaufb-quick .chaufb-quick-stepper button:hover { border-color: var(--q-gold) !important; color: var(--q-gold) !important; }
.chaufb-quick .chaufb-quick-stepper input[type="number"] {
  width: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center !important;
  -moz-appearance: textfield;
}
.chaufb-quick-stepper input::-webkit-outer-spin-button,
.chaufb-quick-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Same look as the header's "Get A Quote" button */
.chaufb-quick .chaufb-quick-submit {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-width: 160px !important;
  min-height: 0 !important;
  margin: 0 0 0 6px !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--q-gold) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .15s, transform .15s !important;
}
.chaufb-quick .chaufb-quick-submit:hover { background: var(--q-gold-dark) !important; transform: translateY(-1px); }
.chaufb-quick .chaufb-quick-submit.is-loading { opacity: .75; pointer-events: none; }

.chaufb-quick-suggest {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 50;
  display: none;
  min-width: 280px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  background: #111214;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .45);
}
.chaufb-quick-suggest.is-open { display: block; }
.chaufb-quick-suggest-item {
  padding: 11px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  color: #fff;
  font-size: 14px;
  line-height: 1.35;
  cursor: pointer;
}
.chaufb-quick-suggest-item:last-child { border-bottom: 0; }
.chaufb-quick-suggest-item:hover, .chaufb-quick-suggest-item.is-active { background: rgba(248, 181, 74, .16); }

.chaufb-quick-tagline {
  margin: 12px 0 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
}

@media (max-width: 1080px) {
  .chaufb-quick-bar { flex-wrap: wrap; gap: 6px; }
  .chaufb-quick-field { flex: 1 1 calc(50% - 6px); border: 1px solid var(--q-line); border-radius: 12px; }
  .chaufb-quick-return, .chaufb-quick.has-return .chaufb-quick-return, .chaufb-quick-pax { flex: 1 1 calc(50% - 6px); }
  .chaufb-quick.has-return .chaufb-quick-date,
  .chaufb-quick.has-return .chaufb-quick-from,
  .chaufb-quick.has-return .chaufb-quick-to { flex: 1 1 calc(50% - 6px); }
  .chaufb-quick-pax { flex-direction: row; align-items: center; justify-content: space-between; border-right: 1px solid var(--q-line); }
  .chaufb-quick .chaufb-quick-submit { flex: 1 1 100% !important; min-height: 52px !important; margin: 0 !important; }
}
@media (max-width: 600px) {
  .chaufb-quick-tabs { display: flex; width: 100%; }
  .chaufb-quick .chaufb-quick-tabs button { flex: 1 1 0 !important; justify-content: center !important; }
  .chaufb-quick .chaufb-quick-field, .chaufb-quick-return, .chaufb-quick.has-return .chaufb-quick-return,
  .chaufb-quick.has-return .chaufb-quick-date, .chaufb-quick.has-return .chaufb-quick-from,
  .chaufb-quick.has-return .chaufb-quick-to, .chaufb-quick-pax { flex: 1 1 100%; }
  .chaufb-quick-tagline { font-size: 13px; }
}

/* Reservation page while the quick search continues to Choose a Vehicle */
#chaufb-spa-shell .chaufb-quick-overlay { display: none; }
#chaufb-spa-shell .chaufb-quick-overlay.is-visible {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .86);
}
#chaufb-spa-shell .chaufb-quick-overlay span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 22px;
  border-radius: 12px;
  background: var(--vip-dark);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .2);
}
#chaufb-spa-shell .chaufb-quick-overlay i { color: var(--vip-gold); }

/* 1.3.52 – hourly hire mileage note */
#chaufb-spa-shell .chaufb-hours-note { margin: 6px 0 0 !important; color: var(--vip-muted) !important; font-size: 12px !important; line-height: 1.4 !important; }
