/*
 * 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;
  }
}

/* Step 2: passenger and luggage panel, using the existing controls. */
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-carStepIntro {
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
  padding: 16px !important;
  border: 1px solid #79b58b !important;
  border-radius: 16px !important;
  background: #f2f9f3 !important;
  box-shadow: 0 2px 8px rgba(27, 144, 93, .06) !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-carStepTitle {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  font-size: 16px !important;
  line-height: normal !important;
  text-transform: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-carStepTitle::before,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-carStepTitle::after {
  content: none !important;
  display: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewHeader {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewIcon {
  display: flex !important;
  flex: 0 0 52px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #d9edda !important;
  color: #21824f !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewIcon svg {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  fill: currentColor !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewCopy {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  container-type: inline-size !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewTitle {
  margin: 0 !important;
  padding: 0 !important;
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-size: min(23px, 5.3cqi) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewSubtitle {
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: #344054 !important;
  -webkit-text-fill-color: #344054 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptVehFilters284 {
  margin-top: 0 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-vehicleChoiceTitle {
  margin: 4px 2px 8px !important;
  padding: 0 !important;
  color: #101828 !important;
  -webkit-text-fill-color: #101828 !important;
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
  text-transform: none !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: minmax(0, 2fr) minmax(0, 1fr) !important;
  gap: 12px !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: 0 !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: static !important;
  top: auto !important;
  left: auto !important;
  z-index: 12 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 6px !important;
  padding: 0 2px !important;
  border: 0 !important;
  background: transparent !important;
  color: #101828 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transform: none !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: 12px !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: auto 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: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !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: 12px !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) 9px !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .06) !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: 10px !important;
  border-left: 1px solid #d9dde3 !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: row !important;
  align-items: center !important;
  gap: 4px !important;
  white-space: nowrap !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: 0 !important;
  color: #101828 !important;
  font-size: 14px !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: 32px minmax(0, 1fr) 9px !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: 32px !important;
  min-width: 32px !important;
  height: 32px !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: 6px 7px !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;
}

/* One downward chevron inside each adult, child and luggage field. */
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart::after,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptBaggageBox#bptBaggageBox::after {
  content: "" !important;
  box-sizing: border-box !important;
  position: static !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  margin: 0 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 2px solid #101828 !important;
  border-bottom: 2px solid #101828 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: translateY(-2px) rotate(45deg) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptPassengerBox#bptPassengerBox:focus-visible,
html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] .bpt-step1NativeWrap:focus-within #bptBaggageBox#bptBaggageBox {
  outline: 2px solid #21824f !important;
  outline-offset: 3px !important;
}

@media (max-width: 600px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-carStepIntro {
    padding: 14px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewHeader {
    align-items: center !important;
    gap: 10px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewIcon {
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewIcon svg {
    width: 26px !important;
    height: 26px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewTitle {
    font-size: 11px !important;
    font-size: min(20px, 5.3cqi) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate .bpt-partyReviewSubtitle {
    font-size: 13px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptPassengerBox#bptPassengerBox .bpt-step1PassengerSummary {
    gap: 6px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart {
    grid-template-columns: 20px minmax(0, 1fr) 9px !important;
    gap: 4px !important;
    padding: 8px 4px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptPassengerBox#bptPassengerBox .bpt-step1PassengerPart > span:first-child {
    width: 20px !important;
    height: 30px !important;
  }

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

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptBaggageBox#bptBaggageBox .bpt-step1LuggageIcon {
    width: 20px !important;
    min-width: 20px !important;
    height: 30px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] #bptBaggageBox#bptBaggageBox .bpt-step1LuggageIcon::before {
    inset: 6px 3px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] :is(#bptStepAdultVal, #bptStepKidVal, #bptStepBagsVal) {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-s1-vehicles-open #bptS1#bptS1 #bptS1VehicleGate#bptS1VehicleGate #bptStep1PassengerBags#bptStep1PassengerBags[data-bpt-car-party-controls="1"] :is(#bptStepAdultVal, #bptStepKidVal, #bptStepBagsVal)::after {
    font-size: 11px !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;
  }
}

/* BPT Step 4 recap refresh — visual-only mobile layer based on the supplied reference.
 * Scope is intentionally limited to the reservation summary screen (#bptS3).
 * No fields, values, actions, calculations, payment logic or other wizard steps are changed.
 */
@media (max-width: 991px) {
  #bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-mobile-action-height: 178px;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 {
    box-sizing: border-box !important;
    padding: 0 !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #0f172a !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-summary-card {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 14px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 112px !important;
    grid-template-areas:
      "heading vehicle"
      "secure secure" !important;
    align-items: start !important;
    gap: 14px 12px !important;
    margin: 0 0 14px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading {
    grid-area: heading !important;
    align-self: center !important;
    min-width: 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading h2 {
    margin: 0 !important;
    color: #07101f !important;
    font-size: clamp(28px, 8.1vw, 35px) !important;
    font-weight: 850 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading p {
    margin: 9px 0 0 !important;
    color: #667085 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.28 !important;
    letter-spacing: -0.01em !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head {
    grid-area: vehicle !important;
    justify-self: end !important;
    align-self: start !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 112px !important;
    height: 82px !important;
    padding: 5px !important;
    border: 1px solid #e8ebf0 !important;
    border-radius: 19px !important;
    background: #fbfcfd !important;
    background-image: linear-gradient(145deg, #ffffff, #f7f8fa) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
    color: #344054 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head.has-vehicle-image .bpt-reference-head-document {
    display: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head:not(.has-vehicle-image) .bpt-reference-head-document {
    width: 34px !important;
    height: 34px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-secure-badge {
    grid-area: secure !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 13px !important;
    width: 100% !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: #edf9f2 !important;
    background-image: linear-gradient(100deg, #edf9f2 0%, #e9f8ef 100%) !important;
    color: #1ea866 !important;
    box-shadow: none !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-secure-badge svg {
    flex: 0 0 auto !important;
    width: 31px !important;
    height: 31px !important;
    stroke-width: 2 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-recap-frame {
    box-sizing: border-box !important;
    width: 100% !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child {
    position: relative !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(94px, 0.72fr) minmax(0, 1.28fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 7px 0 0 !important;
    padding: 13px 38px 13px 52px !important;
    border: 1px solid #e4e8ee !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.025) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child {
    min-height: 35px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 7px !important;
    padding-bottom: 1px !important;
    border-bottom: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child::before,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child::after,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child .k {
    display: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child .v {
    grid-column: 1 / -1 !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-align: right !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child + .row {
    min-height: 88px !important;
    margin-top: 0 !important;
    padding-top: 8px !important;
    border-top: 0 !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.025) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item + .item {
    border-left: 1px solid #e4e8ee !important;
    border-top: 1px solid #e4e8ee !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:last-child {
    display: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .k {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 760 !important;
    line-height: 1.28 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-transform: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .v {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #101828 !important;
    font-size: 14px !important;
    font-weight: 690 !important;
    line-height: 1.36 !important;
    letter-spacing: -0.012em !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon]::before {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    transform: translateY(-50%) !important;
    background: #344054 !important;
    -webkit-mask-image: var(--bpt-ref-row-icon) !important;
    mask-image: var(--bpt-ref-row-icon) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:not(:first-child)::after,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item::after,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child::after {
    content: "›" !important;
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    display: block !important;
    transform: translateY(-52%) !important;
    color: #667085 !important;
    font-family: Arial, sans-serif !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    pointer-events: none !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="route"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="pickup"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="client"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="payment"] .v {
    font-weight: 650 !important;
    line-height: 1.42 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    display: grid !important;
    grid-template-columns: minmax(108px, 0.42fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "total confirm"
      "total back" !important;
    align-items: center !important;
    gap: 7px 12px !important;
    box-sizing: border-box !important;
    min-height: 178px !important;
    padding: 14px max(14px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px)) !important;
    border: 0 !important;
    border-top: 1px solid #dcefe5 !important;
    border-radius: 24px 24px 0 0 !important;
    background: #effaf4 !important;
    background-image: linear-gradient(105deg, #f4fbf7 0%, #eaf9f1 100%) !important;
    box-shadow: 0 -12px 30px rgba(15, 23, 42, 0.10) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] .bpt-reference-total-block {
    grid-area: total !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 0 0 2px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-reference-total-block > span {
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-reference-total-block #bptBtnPriceS3 {
    margin: 2px 0 0 !important;
    color: #020817 !important;
    font-size: clamp(42px, 11.5vw, 50px) !important;
    font-weight: 900 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.045em !important;
    white-space: nowrap !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-reference-total-block small {
    margin-top: 7px !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm.bpt-reference-confirm {
    grid-area: confirm !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 9px 10px 9px 17px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #13b866 !important;
    background-image: linear-gradient(135deg, #16b967 0%, #08aa5d 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(16, 185, 101, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.015em !important;
    text-align: left !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm .bpt-btnLbl {
    min-width: 0 !important;
    color: #ffffff !important;
    font: inherit !important;
    text-align: left !important;
    white-space: normal !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm .bpt-reference-button-arrow {
    flex: 0 0 42px !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #12ad62 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm .bpt-reference-button-arrow svg {
    width: 23px !important;
    height: 23px !important;
    color: #12ad62 !important;
    stroke: #12ad62 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    grid-area: back !important;
    justify-self: start !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 132px !important;
    min-height: 45px !important;
    margin: 0 !important;
    padding: 8px 16px !important;
    border: 1px solid #aeb9b5 !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #253044 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2 .bpt-reference-back-label {
    display: inline !important;
  }
}

@media (max-width: 390px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-summary-card {
    padding-right: 11px !important;
    padding-left: 11px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-head {
    grid-template-columns: minmax(0, 1fr) 96px !important;
    gap: 12px 9px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading h2 {
    font-size: 27px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading p {
    font-size: 15px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head {
    width: 96px !important;
    height: 74px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child {
    grid-template-columns: minmax(82px, 0.7fr) minmax(0, 1.3fr) !important;
    gap: 8px !important;
    padding-right: 33px !important;
    padding-left: 47px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .k,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .v {
    font-size: 13px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    grid-template-columns: minmax(98px, 0.4fr) minmax(0, 1fr) !important;
    gap: 7px 9px !important;
    padding-right: max(10px, env(safe-area-inset-right, 0px)) !important;
    padding-left: max(10px, env(safe-area-inset-left, 0px)) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm.bpt-reference-confirm {
    padding-left: 13px !important;
    font-size: 14px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-width: 118px !important;
    font-size: 14px !important;
  }
}

/* BPT Step 4 mobile single-screen fit override — visual-only. */
@media (max-width: 991px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-mobile-action-height: 96px !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-summary-card {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 8px 8px 5px !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-head {
    grid-template-columns: minmax(0, 1fr) 82px !important;
    grid-template-areas:
      "heading vehicle"
      "secure vehicle" !important;
    align-items: center !important;
    gap: 5px 8px !important;
    margin: 0 0 5px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading {
    align-self: end !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading h2 {
    font-size: clamp(20px, 5.8vw, 24px) !important;
    line-height: .98 !important;
    letter-spacing: -0.035em !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading p {
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.14 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head {
    width: 82px !important;
    height: 62px !important;
    border-radius: 14px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head:not(.has-vehicle-image) .bpt-reference-head-document {
    width: 25px !important;
    height: 25px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-secure-badge {
    align-self: start !important;
    width: auto !important;
    min-height: 29px !important;
    padding: 5px 10px !important;
    gap: 7px !important;
    border-radius: 11px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-secure-badge svg {
    width: 18px !important;
    height: 18px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-recap-frame,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary {
    position: relative !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child {
    grid-template-columns: minmax(74px, .68fr) minmax(0, 1.32fr) !important;
    gap: 6px !important;
    min-height: 34px !important;
    margin: 3px 0 0 !important;
    padding: 5px 25px 5px 34px !important;
    border-radius: 11px !important;
    box-shadow: none !important;
  }

  /* Keep trip type visible without spending a separate row. */
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child {
    position: absolute !important;
    z-index: 3 !important;
    top: 5px !important;
    right: 25px !important;
    display: block !important;
    width: 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;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child .v {
    display: block !important;
    color: #667085 !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child + .row {
    min-height: 60px !important;
    margin-top: 0 !important;
    padding-top: 15px !important;
    padding-bottom: 5px !important;
    border: 1px solid #e4e8ee !important;
    border-radius: 12px !important;
  }

  /* Passenger + baggage are already paired in the markup; keep them on one line. */
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3px !important;
    margin: 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item {
    grid-template-columns: minmax(48px, .72fr) minmax(0, 1.28fr) !important;
    padding-right: 19px !important;
    padding-left: 29px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item + .item {
    border-top: 1px solid #e4e8ee !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .k,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .v {
    font-size: 11px !important;
    line-height: 1.14 !important;
    letter-spacing: -0.012em !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .k {
    font-weight: 790 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .v {
    font-weight: 670 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="route"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="payment"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="client"] .v {
    font-size: 10.5px !important;
    line-height: 1.12 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="payment"] {
    min-height: 58px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="client"] {
    min-height: 48px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon]::before {
    left: 9px !important;
    width: 18px !important;
    height: 18px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) [data-bpt-summary-icon]::before {
    left: 7px !important;
    width: 15px !important;
    height: 15px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:not(:first-child)::after,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item::after,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child::after {
    right: 7px !important;
    font-size: 21px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item::after {
    right: 5px !important;
    font-size: 18px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    grid-template-columns: minmax(88px, .36fr) minmax(0, 1fr) !important;
    grid-template-rows: 54px 28px !important;
    min-height: 96px !important;
    height: 96px !important;
    gap: 3px 8px !important;
    padding: 7px 8px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 17px 17px 0 0 !important;
    box-shadow: 0 -7px 18px rgba(15, 23, 42, .08) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-reference-total-block > span {
    font-size: 11px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-reference-total-block #bptBtnPriceS3 {
    margin-top: 0 !important;
    font-size: clamp(30px, 8.6vw, 36px) !important;
    line-height: .92 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-reference-total-block small {
    margin-top: 2px !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm.bpt-reference-confirm {
    min-height: 54px !important;
    height: 54px !important;
    padding: 6px 7px 6px 12px !important;
    border-radius: 15px !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm .bpt-reference-button-arrow {
    flex-basis: 35px !important;
    width: 35px !important;
    height: 35px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm .bpt-reference-button-arrow svg {
    width: 19px !important;
    height: 19px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-width: 98px !important;
    min-height: 28px !important;
    height: 28px !important;
    padding: 3px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-actionsTrust,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-sideGate,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-hidden-mini {
    display: none !important;
  }
}

/* Extra squeeze for short mobile viewports; still Step 4 only. */
@media (max-width: 991px) and (max-height: 700px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-mobile-action-height: 82px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-summary-card {
    padding: 5px 6px 3px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-head {
    grid-template-columns: minmax(0, 1fr) 68px !important;
    gap: 3px 6px !important;
    margin-bottom: 3px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading h2 {
    font-size: 18px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-heading p {
    margin-top: 2px !important;
    font-size: 9.5px !important;
    line-height: 1.05 !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-vehicle-head {
    width: 68px !important;
    height: 50px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-secure-badge {
    min-height: 24px !important;
    padding: 3px 8px !important;
    font-size: 10px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-secure-badge svg {
    width: 15px !important;
    height: 15px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child {
    min-height: 29px !important;
    margin-top: 2px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child + .row {
    min-height: 50px !important;
    padding-top: 12px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .k,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .v {
    font-size: 9.5px !important;
    line-height: 1.06 !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="route"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="payment"] .v,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="client"] .v {
    font-size: 9px !important;
    line-height: 1.04 !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="payment"] {
    min-height: 48px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon="client"] {
    min-height: 40px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    grid-template-rows: 45px 24px !important;
    min-height: 82px !important;
    height: 82px !important;
    padding-top: 5px !important;
    padding-bottom: calc(3px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptConfirm#bptConfirm.bpt-reference-confirm {
    min-height: 45px !important;
    height: 45px !important;
    font-size: 11.5px !important;
  }
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-height: 24px !important;
    height: 24px !important;
    font-size: 10px !important;
  }
}

/* BPT Step 4 mobile viewport fill balance — visual-only, no logic changes. */
@media (max-width: 991px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-summary-card {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-summary-head {
    flex: 0 0 auto !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-recap-frame {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: 100% !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:not(:first-child),
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .bpt-rowPair {
    flex: 1 1 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .bpt-rowPairTotal > .item:first-child {
    height: 100% !important;
  }
}

/* BPT Step 4 mobile: fill exactly to the fixed bottom action panel + reference row icons.
 * Visual-only override. Scope intentionally limited to the mobile reservation summary.
 */
@media (max-width: 991px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-step4-footer-height: 96px !important;
    --bpt-mobile-action-height: var(--bpt-step4-footer-height) !important;
    height: var(--bpt-mobile-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 {
    display: block !important;
    height: var(--bpt-mobile-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    max-height: var(--bpt-mobile-viewport-height, 100dvh) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* The information panel ends exactly where the fixed/sticky-looking footer begins. */
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 > .bpt-reference-summary-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: calc(var(--bpt-mobile-viewport-height, 100dvh) - var(--bpt-step4-footer-height)) !important;
    min-height: 0 !important;
    max-height: calc(var(--bpt-mobile-viewport-height, 100dvh) - var(--bpt-step4-footer-height)) !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 .bpt-reference-recap-frame {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: 100% !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:not(:first-child),
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .bpt-rowPair {
    flex: 1 1 0 !important;
    min-height: 0 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .bpt-rowPairTotal {
    margin-bottom: 0 !important;
  }

  /* Keep the bottom actions fixed at the visual viewport bottom. */
  html body #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-step4-footer-height)
    ) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--bpt-mobile-viewport-left, 0px) !important;
    z-index: 800 !important;
    width: var(--bpt-mobile-viewport-width, 100vw) !important;
    min-height: var(--bpt-step4-footer-height) !important;
    height: var(--bpt-step4-footer-height) !important;
    margin: 0 !important;
  }

  /* Explicit mobile icon set so every visible recap row matches the supplied reference. */
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary [data-bpt-summary-icon]::before {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #344054 !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="route"],
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="pickup"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="date"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="vehicle"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17h14l1-5-3-5H7l-3 5 1 5Z'/%3E%3Cpath d='M5 12h14M7 17v2M17 17v2'/%3E%3Ccircle cx='8' cy='14.5' r='1'/%3E%3Ccircle cx='16' cy='14.5' r='1'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="duration"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="passengers"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3.5 19v-1.5A5.5 5.5 0 0 1 9 12a5.5 5.5 0 0 1 5.5 5.5V19'/%3E%3Ccircle cx='17' cy='9' r='2.2'/%3E%3Cpath d='M16 13.2a4.5 4.5 0 0 1 4.5 4.5V19'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="baggage"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='7' width='14' height='14' rx='2'/%3E%3Cpath d='M9 7V4h6v3M9 11v6M15 11v6'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="options"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3Ccircle cx='9' cy='6' r='2' fill='white'/%3E%3Ccircle cx='15' cy='12' r='2' fill='white'/%3E%3Ccircle cx='8' cy='18' r='2' fill='white'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="payment"],
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="protection"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 9h18M7 15h4'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="client"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/g%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="promo"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M20 13 12 21 3 12V4h8l9 9Z M7.5 8h.01'/%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="flight"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m22 2-7 20-4-9-9-4 20-7Z M22 2 11 13'/%3E%3C/svg%3E") !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active [data-bpt-summary-icon="comment"] {
    --bpt-ref-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v8Z'/%3E%3C/svg%3E") !important;
  }
}

@media (max-width: 991px) and (max-height: 700px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-step4-footer-height: 82px !important;
  }
}

/* BPT Step 4 mobile micro-tuning: slightly tighter recap rows + taller Retour.
 * Visual-only override; intentionally scoped to Step 4 mobile summary.
 */
@media (max-width: 991px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-step4-footer-height: 102px !important;
    --bpt-mobile-action-height: var(--bpt-step4-footer-height) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child + .row {
    padding-top: 12px !important;
    padding-bottom: 3px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    grid-template-rows: 54px 34px !important;
    min-height: var(--bpt-step4-footer-height) !important;
    height: var(--bpt-step4-footer-height) !important;
    padding-top: 6px !important;
    padding-bottom: calc(5px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-height: 34px !important;
    height: 34px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}

@media (max-width: 991px) and (max-height: 700px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-step4-footer-height: 88px !important;
    --bpt-mobile-action-height: var(--bpt-step4-footer-height) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    grid-template-rows: 45px 30px !important;
    min-height: var(--bpt-step4-footer-height) !important;
    height: var(--bpt-step4-footer-height) !important;
    padding-top: 4px !important;
    padding-bottom: calc(3px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-height: 30px !important;
    height: 30px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}

/* BPT Step 4 mobile micro-tuning v2: tighter recap blocks + taller Retour.
 * Visual-only override; scoped strictly to Step 4 mobile summary.
 */
@media (max-width: 991px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-step4-footer-height: 116px !important;
    --bpt-mobile-action-height: var(--bpt-step4-footer-height) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPair:not(.bpt-rowPairTotal) > .item,
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary .bpt-rowPairTotal > .item:first-child {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptS3#bptS3 #bptSummary#bptSummary > .row:first-child + .row {
    padding-top: 8px !important;
    padding-bottom: 1px !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    grid-template-rows: 56px 44px !important;
    min-height: var(--bpt-step4-footer-height) !important;
    height: var(--bpt-step4-footer-height) !important;
    padding-top: 6px !important;
    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-height: 44px !important;
    height: 44px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

@media (max-width: 991px) and (max-height: 700px) {
  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active {
    --bpt-step4-footer-height: 98px !important;
    --bpt-mobile-action-height: var(--bpt-step4-footer-height) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active .bpt-actionsRow[data-step-actions="bptS3"] {
    grid-template-rows: 45px 38px !important;
    min-height: var(--bpt-step4-footer-height) !important;
    height: var(--bpt-step4-footer-height) !important;
    padding-top: 4px !important;
    padding-bottom: calc(4px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html body #bpt-mobile-wizard#bpt-mobile-wizard.bpt-mobile-public-flow.bpt-interface-summary-active #bptBackTo2#bptBackTo2.bpt-reference-back {
    min-height: 38px !important;
    height: 38px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}
