/*
 * BPT 1.0.298
 * Scoped interface refinements:
 * - mobile full-screen flow for the visible vehicle, details and summary steps;
 * - scroll-safe controls and visual-keyboard viewport geometry on mobile;
 * - Step 3 details/payment visual parity with the Step 1 field language;
 * - desktop-only vertical stacking for paired Step 4 summary rows.
 *
 * The initial route form and the thank-you screen are outside every selector.
 */

/* Step 3 (details/payment): white canvas and consistent Step 1-like controls. */
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active {
  --bpt-step3-field-line: #d9dde3;
  --bpt-step3-field-shadow: 0 1px 3px rgba(15, 23, 42, .065);
  background: #ffffff !important;
  background-image: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active > .bpt-shell,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active > .bpt-shell > .bpt-card,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active > .bpt-shell > .bpt-card > .bpt-inner,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active .bpt-body,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2SideGate#bptS2SideGate,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2SideGate#bptS2SideGate .bpt-sideGateInner {
  background: #ffffff !important;
  background-image: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 #bptClientTypeSwitch#bptClientTypeSwitch,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 .bpt-row[data-bpt-floating-label]:not(.bpt-required-invalid):not(:focus-within),
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 #bptPromoRow#bptPromoRow:not(.bpt-promoApplied):not(:focus-within),
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 .bpt-reference-comment-field:not(:focus-within),
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 #bptExtras#bptExtras .bpt-extra:not(.on):not(.is-on):not(.is-selected):not([aria-pressed="true"]),
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 #bptExtras#bptExtras .bpt-extraCard:not(.on):not(.is-on):not(.is-selected):not([aria-pressed="true"]),
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 #bptPayField#bptPayField .bpt-payRow:not(.sel):not([aria-checked="true"]):not([aria-selected="true"]) {
  border-color: var(--bpt-step3-field-line) !important;
  border-style: solid !important;
  border-width: 1.5px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: var(--bpt-step3-field-shadow) !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 .bpt-reference-promo-comment > .bpt-hint:first-child {
  position: relative !important;
  z-index: 3 !important;
  width: max-content !important;
  max-width: calc(100% - 28px) !important;
  margin: 4px 0 -8px 18px !important;
  padding: 0 7px !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 [data-bpt-floating-label] {
  position: relative !important;
  padding-top: 15px !important;
  overflow: visible !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 [data-bpt-floating-label]::before {
  content: attr(data-bpt-floating-label) !important;
  position: absolute !important;
  top: 0 !important;
  left: 18px !important;
  z-index: 4 !important;
  display: block !important;
  width: auto !important;
  max-width: calc(100% - 28px) !important;
  padding: 0 7px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  transform: translateY(-50%) !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 [data-bpt-floating-duplicate="true"] .bpt-input::placeholder,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 [data-bpt-floating-duplicate="true"] textarea::placeholder {
  color: transparent !important;
  opacity: 0 !important;
  font-size: 0 !important;
  -webkit-text-fill-color: transparent !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 [data-bpt-floating-label] .bpt-dot,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active #bptS2#bptS2 [data-bpt-floating-label] .bpt-reference-comment-icon {
  margin-top: 2px !important;
}

/* Step 4 desktop: each non-total pair is shown as 1 item then 1 item. */
@media (min-width: 992px) {
  html body.bpt-desktop-flow-modal-open
  > .bpt-desktopModalHost
  > #bpt-mobile-wizard#bpt-mobile-wizard.bpt-interface-details-active.bpt-browser-focused.bpt-flow-modal-active
  #bptS2#bptS2 {
    background: #ffffff !important;
    background-image: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard:is(.bpt-step3, .bpt-step-3)
  #bptS3#bptS3 #bptSummary#bptSummary
  .bpt-rowPair:not(.bpt-rowPairTotal) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard:is(.bpt-step3, .bpt-step-3)
  #bptS3#bptS3 #bptSummary#bptSummary
  .bpt-rowPair:not(.bpt-rowPairTotal) > .item + .item {
    border-left: 0 !important;
    border-top: 1px solid var(--bpt-ref-line, #e6e9ee) !important;
  }
}

/* Visible mobile Steps 2–4: full viewport, scrollable body, fixed actions. */
@media (max-width: 991px) {
  html.bpt-mobile-public-flow-open,
  body.bpt-mobile-public-flow-open,
  html.bpt-mobile-viewport-portal-open,
  body.bpt-mobile-viewport-portal-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html body > #bptMobileViewportHost298#bptMobileViewportHost298 {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482799 !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100svh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    contain: none !important;
    isolation: isolate !important;
    transform: none !important;
    -webkit-transform: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: #f8fafc !important;
    pointer-events: auto !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow {
    position: fixed !important;
    top: var(--bpt-mobile-viewport-top, 0px) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--bpt-mobile-viewport-left, 0px) !important;
    z-index: 2147482800 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: var(--bpt-mobile-viewport-width, 100vw) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100svh !important;
    height: var(--bpt-mobile-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    max-height: var(--bpt-mobile-viewport-height, 100dvh) !important;
    margin: 0 !important;
    padding: env(safe-area-inset-top, 0px) 0 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    contain: none !important;
    isolation: isolate !important;
    transform: none !important;
    -webkit-transform: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    background: #f8fafc !important;
    background-image: linear-gradient(180deg, #f8fafc, #f1f5f9) !important;
    color-scheme: light !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active {
    background: #ffffff !important;
    background-image: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow > .bpt-shell,
  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow > .bpt-shell > .bpt-card,
  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow > .bpt-shell > .bpt-card > .bpt-inner {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow > .bpt-shell {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow > .bpt-shell > .bpt-card {
    display: block !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow > .bpt-shell > .bpt-card > .bpt-inner {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 0 12px !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    background-image: linear-gradient(180deg, #f8fafc, #f1f5f9) !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active > .bpt-shell > .bpt-card > .bpt-inner {
    background: #ffffff !important;
    background-image: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow .bpt-top,
  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow .bpt-progressRow {
    flex: 0 0 auto !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow .bpt-body {
    position: relative !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding-bottom: calc(var(--bpt-mobile-action-height, 150px) + 12px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    scroll-padding-bottom: calc(var(--bpt-mobile-action-height, 150px) + 12px) !important;
  }

  /*
   * The green cues below are the only mobile scroll indicators. Conceal the
   * platform bars without changing any owner's overflow or momentum behavior.
   */
  html body #bpt-mobile-wizard.bpt-mobile-public-flow .bpt-body,
  html body #bpt-mobile-wizard #bptSheetBody,
  html body #bpt-mobile-wizard .bpt-sheetBody,
  html body #bpt-mobile-wizard #bptPassengerPanel,
  html body #bpt-mobile-wizard #bptTimePanel,
  html body #bpt-mobile-wizard .bpt-timeWheel,
  html body #bpt-mobile-wizard .bpt-dtInlineWheel,
  html body #bpt-mobile-wizard .bpt-dtMonthSingle,
  html body #bpt-mobile-wizard .bpt-counterSelect__menu,
  html body .bpt-counterSelect__menu.is-floating,
  html body .bpt-bagInfoBackdrop291,
  html body .bpt-bagInfoBody291,
  html body .bpt-offerShareMain,
  html body .bpt-protection-dialog,
  html body #bpt-mobile-wizard .bpt-flight-finder__results,
  html body #bptAddReturnPickerOverlay .bpt-add-return-picker__body,
  html body #bptAddReturnPickerOverlay .bpt-add-return-picker__time-wheel,
  html body #bpt-mobile-wizard .bpt-thank-return-counter__menu,
  html body .bpt-fpBody {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  html body #bpt-mobile-wizard.bpt-mobile-public-flow .bpt-body::-webkit-scrollbar,
  html body #bpt-mobile-wizard #bptSheetBody::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-sheetBody::-webkit-scrollbar,
  html body #bpt-mobile-wizard #bptPassengerPanel::-webkit-scrollbar,
  html body #bpt-mobile-wizard #bptTimePanel::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-timeWheel::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-dtInlineWheel::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-dtMonthSingle::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-counterSelect__menu::-webkit-scrollbar,
  html body .bpt-counterSelect__menu.is-floating::-webkit-scrollbar,
  html body .bpt-bagInfoBackdrop291::-webkit-scrollbar,
  html body .bpt-bagInfoBody291::-webkit-scrollbar,
  html body .bpt-offerShareMain::-webkit-scrollbar,
  html body .bpt-protection-dialog::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-flight-finder__results::-webkit-scrollbar,
  html body #bptAddReturnPickerOverlay .bpt-add-return-picker__body::-webkit-scrollbar,
  html body #bptAddReturnPickerOverlay .bpt-add-return-picker__time-wheel::-webkit-scrollbar,
  html body #bpt-mobile-wizard .bpt-thank-return-counter__menu::-webkit-scrollbar,
  html body .bpt-fpBody::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  html body > #bptMobilePanelScrollCue304.bpt-mobilePanelScrollCue304 {
    position: fixed !important;
    top: var(--bpt-panel-scroll-cue-top, 6px) !important;
    right: var(--bpt-panel-scroll-cue-right, 4px) !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2147483647 !important;
    display: none !important;
    box-sizing: border-box !important;
    width: 5px !important;
    height: var(--bpt-panel-scroll-cue-height, 48px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(0, 166, 90, .20) !important;
    box-shadow: 0 0 0 1px rgba(0, 129, 69, .10) !important;
    opacity: 1 !important;
    pointer-events: none !important;
    touch-action: none !important;
  }

  html body > #bptMobilePanelScrollCue304.bpt-mobilePanelScrollCue304[aria-hidden="false"] {
    display: block !important;
  }

  html body
  > #bptMobilePanelScrollCue304.bpt-mobilePanelScrollCue304
  > .bpt-mobilePanelScrollCueThumb304 {
    position: absolute !important;
    inset: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    height: var(--bpt-panel-scroll-cue-thumb-height, 24px) !important;
    border-radius: inherit !important;
    background: #00a65a !important;
    box-shadow: 0 1px 4px rgba(0, 102, 54, .30) !important;
    transform: translate3d(
      0,
      var(--bpt-panel-scroll-cue-thumb-offset, 0px),
      0
    ) !important;
    -webkit-transform: translate3d(
      0,
      var(--bpt-panel-scroll-cue-thumb-offset, 0px),
      0
    ) !important;
    pointer-events: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow .bpt-body.bpt-animating {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    perspective: none !important;
    -webkit-perspective: none !important;
    transform-style: flat !important;
    -webkit-transform-style: flat !important;
  }

  /*
   * A dedicated non-interactive indicator stays visible on every genuinely
   * scrollable public screen. Native mobile scrollbars auto-hide, so this cue
   * gives the same affordance consistently on iOS and Android.
   */
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow
  > #bptMobileScrollCue298.bpt-mobileScrollCue298 {
    position: absolute !important;
    top: var(--bpt-scroll-cue-top, 6px) !important;
    right: max(3px, env(safe-area-inset-right, 0px)) !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 790 !important;
    display: none !important;
    box-sizing: border-box !important;
    width: 5px !important;
    height: var(--bpt-scroll-cue-height, 48px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(0, 166, 90, .20) !important;
    box-shadow: 0 0 0 1px rgba(0, 129, 69, .10) !important;
    opacity: 1 !important;
    pointer-events: none !important;
    touch-action: none !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-has-mobile-scroll-cue298:is(
    .bpt-interface-vehicles-active,
    .bpt-interface-details-active,
    .bpt-interface-summary-active
  )
  > #bptMobileScrollCue298.bpt-mobileScrollCue298 {
    display: block !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow
  > #bptMobileScrollCue298.bpt-mobileScrollCue298
  > .bpt-mobileScrollCueThumb298 {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    height: var(--bpt-scroll-cue-thumb-height, 36px) !important;
    border-radius: inherit !important;
    background: #00a65a !important;
    box-shadow: 0 1px 4px rgba(0, 102, 54, .30) !important;
    opacity: 1 !important;
    transform: translate3d(
      0,
      var(--bpt-scroll-cue-thumb-offset, 0px),
      0
    ) !important;
    -webkit-transform: translate3d(
      0,
      var(--bpt-scroll-cue-thumb-offset, 0px),
      0
    ) !important;
    pointer-events: none !important;
  }

  #bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-vehicles-active {
    --bpt-mobile-action-height: 78px;
  }

  #bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active {
    --bpt-mobile-action-height: 88px;
  }

  #bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-mobile-action-height: 150px;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-vehicles-active
  #bptS1#bptS1,
  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active #bptS2#bptS2,
  html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-vehicles-active
  .bpt-actionsRow[data-step-actions="bptS1"],
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active
  .bpt-actionsRow[data-step-actions="bptS2"],
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active
  .bpt-actionsRow[data-step-actions="bptS3"] {
    position: fixed !important;
    inset: auto !important;
    top: calc(
      var(--bpt-mobile-viewport-top, 0px) +
      var(--bpt-mobile-viewport-height, 100dvh) -
      var(--bpt-mobile-action-height, 150px)
    ) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--bpt-mobile-viewport-left, 0px) !important;
    box-sizing: border-box !important;
    z-index: 800 !important;
    width: var(--bpt-mobile-viewport-width, 100vw) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /*
   * visualViewport shrinkage plus a focused editable marks a real soft
   * keyboard. The actions disappear instead of being pushed over the form.
   */
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-mobile-keyboard-open298:is(
    .bpt-interface-vehicles-active,
    .bpt-interface-details-active,
    .bpt-interface-summary-active
  )
  .bpt-actionsRow[data-step-actions] {
    display: none !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-mobile-keyboard-open298:is(
    .bpt-interface-vehicles-active,
    .bpt-interface-details-active,
    .bpt-interface-summary-active
  )
  .bpt-body {
    padding-bottom: 12px !important;
    scroll-padding-bottom: 12px !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-vehicles-active
  .bpt-actionsRow[data-step-actions="bptS1"],
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active
  .bpt-actionsRow[data-step-actions="bptS2"] {
    padding:
      10px
      max(12px, env(safe-area-inset-right, 0px))
      calc(10px + env(safe-area-inset-bottom, 0px))
      max(12px, env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid rgba(148, 163, 184, .24) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 -12px 30px rgba(15, 23, 42, .10) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active
  .bpt-actionsRow[data-step-actions="bptS3"] {
    padding-right: max(12px, env(safe-area-inset-right, 0px)) !important;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: max(12px, env(safe-area-inset-left, 0px)) !important;
    box-shadow: 0 -12px 30px rgba(15, 23, 42, .12) !important;
  }

  /*
   * The vehicle screen has an older seven-ID rule that removes all side
   * padding. This active mobile-flow selector deliberately outranks it.
   */
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-vehicles-active
  #bptS1#bptS1
  #bptS1VehicleGate#bptS1VehicleGate
  .bpt-actionsRow[data-step-actions="bptS1"] {
    position: fixed !important;
    inset: auto !important;
    top: calc(
      var(--bpt-mobile-viewport-top, 0px) +
      var(--bpt-mobile-viewport-height, 100dvh) -
      var(--bpt-mobile-action-height, 78px)
    ) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--bpt-mobile-viewport-left, 0px) !important;
    box-sizing: border-box !important;
    width: var(--bpt-mobile-viewport-width, 100vw) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding:
      10px
      max(12px, env(safe-area-inset-right, 0px))
      calc(10px + env(safe-area-inset-bottom, 0px))
      max(12px, env(safe-area-inset-left, 0px)) !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-vehicles-active
  #bptS1#bptS1 {
    transform: none !important;
    -webkit-transform: none !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active
  #bptS2#bptS2 > .bpt-reference-client-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-details-active
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-vehicle img {
    transform: scale(2) !important;
    -webkit-transform: scale(2) !important;
  }
}

/*
 * Vehicle screen: these are the original Step 1 passenger and baggage
 * controls moved intact into the vehicle gate. Mirror their original field
 * language here because the Step 1 rules are intentionally scoped to the
 * closed gate.
 */
html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
.bpt-step1Control {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-top: 8px !important;
  overflow: visible !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
.bpt-step1Label {
  position: absolute !important;
  top: 8px !important;
  left: 16px !important;
  z-index: 12 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 7px !important;
  border: 0 !important;
  background: #ffffff !important;
  color: #101828 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
.bpt-step1Field {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 6px 10px 6px 9px !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 17px !important;
  background: #ffffff !important;
  background-image: none !important;
  color: #101828 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .06) !important;
  overflow: visible !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
.bpt-step1Field::after {
  content: none !important;
  display: none !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
.bpt-step1Field > .bpt-step1Icon {
  flex: 0 0 29px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 29px !important;
  min-width: 29px !important;
  height: 29px !important;
  margin: 0 !important;
  color: #169b5f !important;
  opacity: 1 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
.bpt-step1NativeInput {
  position: absolute !important;
  inset: 8px 0 0 !important;
  z-index: 20 !important;
  width: 100% !important;
  height: 56px !important;
  margin: 0 !important;
  opacity: .001 !important;
  cursor: pointer !important;
}

@media (max-width: 430px) {
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
  #bptS1VehicleGate#bptS1VehicleGate
  #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] {
    gap: 8px !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
  #bptS1VehicleGate#bptS1VehicleGate
  #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
  .bpt-step1Field {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox {
  padding-right: 28px !important;
  padding-left: 7px !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox > .bpt-step1Icon {
  display: none !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerSummary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  font-size: 14px !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart + .bpt-step1PassengerPart {
  padding-left: 5px !important;
  border-left: 1px solid #e4e7ec !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart > span:first-child {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 11px !important;
  background: #eef8f2 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart:nth-child(2) > span:first-child {
  background: #fff6dc !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart > span:first-child::before {
  content: "" !important;
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  background: #169b5f !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='%23000'/%3E%3Cpath fill='%23000' d='M5 21v-2a7 7 0 0 1 14 0v2H5Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='%23000'/%3E%3Cpath fill='%23000' d='M5 21v-2a7 7 0 0 1 14 0v2H5Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart:nth-child(2) > span:first-child::before {
  width: 21px !important;
  height: 21px !important;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='%23f3c84b'/%3E%3Cpath fill='%23875b23' d='M5 11c.3-5.2 3.5-7.8 7.2-7.8 3.9 0 6.6 2.8 6.8 7.4-1.8-1.7-3.8-2.5-6.2-2.5-3 0-5.5 1-7.8 2.9Z'/%3E%3Ccircle cx='9' cy='12.8' r='.9' fill='%23533b24'/%3E%3Ccircle cx='15' cy='12.8' r='.9' fill='%23533b24'/%3E%3Cpath d='M9.3 16c1.7 1.2 3.7 1.2 5.4 0' fill='none' stroke='%23533b24' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  -webkit-mask: none !important;
  mask: none !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
:is(#bptStepAdultVal, #bptStepKidVal, #bptStepBagsVal) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  color: #101828 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
:is(#bptStepAdultVal, #bptStepKidVal, #bptStepBagsVal)::after {
  display: block !important;
  margin-top: 3px !important;
  color: #344054 !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptStepAdultVal#bptStepAdultVal::after { content: "Adulte" !important; }
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptStepKidVal#bptStepKidVal::after { content: "Enfant" !important; }
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptStepBagsVal#bptStepBagsVal::after { content: "Bagage" !important; }

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptBaggageBox#bptBaggageBox {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptBaggageBox#bptBaggageBox .bpt-step1LuggageIcon {
  position: relative !important;
  display: block !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  background-color: #eef8f2 !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptBaggageBox#bptBaggageBox .bpt-step1LuggageIcon::before {
  content: "" !important;
  position: absolute !important;
  inset: 8px 9px !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #169b5f !important;
  box-shadow: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 2h6a2 2 0 0 1 2 2v2h1.5A2.5 2.5 0 0 1 21 8.5v11a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-11A2.5 2.5 0 0 1 5.5 6H7V4a2 2 0 0 1 2-2Zm0 4h6V4H9v2Zm-2 3H5v10h2V9Zm12 0h-2v10h2V9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 2h6a2 2 0 0 1 2 2v2h1.5A2.5 2.5 0 0 1 21 8.5v11a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-11A2.5 2.5 0 0 1 5.5 6H7V4a2 2 0 0 1 2-2Zm0 4h6V4H9v2Zm-2 3H5v10h2V9Zm12 0h-2v10h2V9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open
#bptS1VehicleGate#bptS1VehicleGate
#bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"]
#bptBaggageBox#bptBaggageBox .bpt-step1LuggageIcon::after {
  content: none !important;
  display: none !important;
}

/* Step 3 badge: transparent vehicle image plate and no date/time divider. */
html body
#bpt-mobile-wizard#bpt-mobile-wizard
#bptS2#bptS2
#bptMini2#bptMini2[data-bpt-details-badge="1"]
.bpt-transfer-vehicle-pane .bpt-transfer-vehicle {
  border-radius: 0 !important;
  background: transparent !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard
#bptS2#bptS2
#bptMini2#bptMini2[data-bpt-details-badge="1"]
.bpt-transfer-date-item {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard
#bptS2#bptS2
#bptMini2#bptMini2[data-bpt-details-badge="1"]
.bpt-transfer-date-item > .bpt-transfer-date-separator {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard
#bptS2#bptS2
#bptMini2#bptMini2[data-bpt-details-badge="1"]
.bpt-transfer-date-part--time {
  grid-column: 2 !important;
}

@media (max-width: 650px) {
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-date-item {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-date-part--time {
    grid-column: 1 !important;
  }
}

/* Step 3 badge: keep the payable amount prominent without crowding the card. */
html body
#bpt-mobile-wizard#bpt-mobile-wizard
#bptS2#bptS2
#bptMini2#bptMini2[data-bpt-details-badge="1"]
.bpt-transfer-price .price {
  font-size: clamp(36px, 4.8vw, 54px) !important;
}

html body
#bpt-mobile-wizard#bpt-mobile-wizard
#bptS2#bptS2
#bptMini2#bptMini2[data-bpt-details-badge="1"]
.bpt-transfer-price > span {
  font-size: clamp(12px, 1.35vw, 16px) !important;
}

@media (max-width: 650px) {
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-price .price {
    font-size: 30px !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-price > span {
    font-size: 11px !important;
  }
}

@media (max-width: 430px) {
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-price .price {
    font-size: 28px !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-price > span {
    font-size: 10px !important;
  }
}

@media (min-width: 992px) {
  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-price .price {
    font-size: 21px !important;
  }

  html body
  #bpt-mobile-wizard#bpt-mobile-wizard
  #bptS2#bptS2
  #bptMini2#bptMini2[data-bpt-details-badge="1"]
  .bpt-transfer-price > span {
    font-size: 10px !important;
  }
}
