/* UX-09 — final form-density, label, time-picker, airport-return and map-metric refinements. */
.cb-booking-v2{--cb-field-h:46px;--cb-gap:8px}
.cb-booking-v2 .mptbm_search_area{position:relative!important;padding:16px!important;gap:6px!important}
.cb-booking-v2 .mptbm_search_area_header{margin:0 0 9px!important;padding:0!important;border:0!important}
.cb-booking-v2 .mptbm_search_area_header h3{font-size:18px!important;line-height:1.2!important}
.cb-booking-v2 .cb-mode-context{display:none!important}
.cb-booking-v2 .mpForm{min-width:0!important}
.cb-booking-v2 .mpForm>.inputList,.cb-booking-v2 .cb-capacity-grid,.cb-booking-v2 .cb-return-schedule-row{margin-bottom:7px!important}
.cb-booking-v2 .inputList,.cb-booking-v2 .inputList label,.cb-booking-v2 .cb-airport-detail-grid label,.cb-booking-v2 .cb-return-airport-field{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.cb-booking-v2 .inputList label>span:first-child,
.cb-booking-v2 .cb-airport-detail-grid label>span:first-child,
.cb-booking-v2 .cb-return-airport-field>span:first-child,
.cb-booking-v2 .cb-airport-roundtrip-start>span,
.cb-booking-v2 .cb-capacity-field label>span:first-child{display:block!important;margin:0 0 5px!important;min-height:14px!important;color:#667085!important;font-size:10px!important;font-weight:800!important;letter-spacing:.055em!important;line-height:1.35!important;text-transform:uppercase!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
.cb-booking-v2 .formControl{width:100%!important;max-width:100%!important;min-width:0!important;min-height:var(--cb-field-h)!important;height:var(--cb-field-h)!important;padding-top:8px!important;padding-bottom:8px!important;border-radius:11px!important;font-size:13px!important;box-sizing:border-box!important;text-overflow:ellipsis!important}
.cb-booking-v2 .cb-schedule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;margin-bottom:7px!important}
.cb-booking-v2 .cb-capacity-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%!important;margin-top:0!important}
.cb-booking-v2 .cb-capacity-grid>.inputList{width:auto!important;margin:0!important}
.cb-booking-v2 .cb-capacity-field input[type=number]{padding-left:42px!important}
.cb-booking-v2 .cb-return-context{margin:2px 0 7px!important;padding:8px 10px!important;font-size:10px!important;line-height:1.35!important}
.cb-booking-v2 .cb-waiting-help{margin:0 0 4px!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
.cb-booking-v2 .cb-airport-fields{margin:0 0 8px!important;padding:10px!important;border-radius:12px!important}
.cb-booking-v2 .cb-airport-direction{margin:0 0 8px!important}
.cb-booking-v2 .cb-airport-direction button{min-width:0!important;white-space:normal!important;line-height:1.2!important;overflow-wrap:anywhere!important}
.cb-booking-v2 .cb-airport-roundtrip-note{margin:6px 0!important;padding:8px 9px!important;line-height:1.35!important}
.cb-booking-v2 .cb-airport-roundtrip-start{margin:6px 0 8px!important;padding:9px!important}
.cb-booking-v2 .cb-airport-roundtrip-start__buttons button{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
.cb-booking-v2 .cb-airport-detail-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;min-width:0!important}
.cb-booking-v2 .cb-airport-detail-grid .formControl,.cb-booking-v2 .cb-return-airport-field .formControl{min-height:var(--cb-field-h)!important;height:var(--cb-field-h)!important}
.cb-booking-v2 .cb-meet-greet-request{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:8px!important;margin-top:8px!important;padding:9px 10px!important;min-width:0!important;overflow:hidden!important}
.cb-booking-v2 .cb-meet-greet-request span,.cb-booking-v2 .cb-meet-greet-request strong,.cb-booking-v2 .cb-meet-greet-request small{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
.cb-booking-v2 .cb-meet-greet-request strong{font-size:10px!important;line-height:1.35!important}.cb-booking-v2 .cb-meet-greet-request small{font-size:9px!important;line-height:1.4!important}
/* Return date/time and airport return flight information live in one compact 2x2 journey grid. */
.cb-booking-v2 .cb-return-schedule-row{display:none!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;padding:9px!important;border:1px solid #e5e8ee!important;border-radius:12px!important;background:#fafbfc!important}
.cb-booking-v2.cb-has-return .cb-return-schedule-row{display:grid!important}
.cb-booking-v2 .cb-return-schedule-row>.inputList{margin:0!important}
.cb-booking-v2 .cb-airport-return-details{display:contents!important}
.cb-booking-v2 .cb-airport-return-details[hidden]{display:none!important}
.cb-booking-v2 .cb-return-airport-field{position:relative!important;display:flex!important;flex-direction:column!important}
/* The custom time dialog is anchored to the whole planner, never the half-width time cell. */
.cb-booking-v2 .mptbm_search_area>.cb-time-picker{z-index:10060!important;top:var(--cb-picker-top,72px)!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;box-sizing:border-box!important;padding:15px!important;border-radius:16px!important;overflow:hidden!important}
.cb-booking-v2 .cb-time-picker__head{padding-bottom:10px!important}.cb-booking-v2 .cb-time-picker__readout{font-size:20px!important}
.cb-booking-v2 .cb-time-columns{grid-template-columns:1.15fr .85fr!important;gap:12px!important;padding:13px 0!important}
.cb-booking-v2 .cb-hour-grid,.cb-booking-v2 .cb-minute-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
.cb-booking-v2 .cb-time-picker [data-hour],.cb-booking-v2 .cb-time-picker [data-minute]{height:34px!important;min-width:0!important;padding:0!important;font-size:12px!important;border-radius:8px!important}
.cb-booking-v2 .cb-period{padding-top:11px!important}.cb-booking-v2 .cb-period>div{gap:7px!important}.cb-booking-v2 .cb-period button{min-height:38px!important;font-size:12px!important}
.cb-booking-v2 .cb-time-done{min-height:42px!important;margin-top:10px!important;border-radius:10px!important}
/* The configured map height is the whole planner card, including the persistent metric bar. */
.cb-booking-v2:not(.cb-results-visible) .mptbm_map_area{height:var(--shausm-map-height,500px)!important;min-height:var(--shausm-map-height,500px)!important;max-height:var(--shausm-map-height,500px)!important}
.shausm-booking-configured.cb-booking-v2:not(.cb-results-visible) .mptbm_map_collapsible_body{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.shausm-booking-configured.cb-booking-v2:not(.cb-results-visible) .mptbm_map_collapsible_body>.fullHeight{flex:1 1 0!important;height:auto!important;min-height:0!important;overflow:hidden!important}
.shausm-booking-configured.cb-booking-v2:not(.cb-results-visible) #mptbm_map_area{height:100%!important;min-height:0!important;max-height:none!important}
.cb-booking-v2:not(.cb-results-visible) .cb-route-status{display:flex!important;flex:0 0 auto!important;min-height:40px!important;padding:8px 14px!important}
.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time{display:grid!important;visibility:visible!important;flex:0 0 62px!important;min-height:62px!important;width:100%!important;position:relative!important;z-index:5!important}
.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time .cb-route-metric{padding:9px 14px!important}
.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time .cb-route-metric__icon{width:32px!important;height:32px!important;flex-basis:32px!important}
.cb-booking-v2.cb-results-visible .mptbm_map_area .cb-route-status,.cb-booking-v2.cb-results-visible .mptbm_map_area .mptbm_distance_time,.cb-booking-v2 .mptbm_map_area.mptbm_results_shown .cb-route-status,.cb-booking-v2 .mptbm_map_area.mptbm_results_shown .mptbm_distance_time{display:none!important}

/* UX-09.1 staging corrections: one label component for every schedule field. */
.cb-booking-v2 .cb-field-label{display:block!important;width:100%!important;min-width:0!important;min-height:14px!important;margin:0 0 5px!important;padding:0!important;color:#667085!important;font-family:inherit!important;font-size:10px!important;font-style:normal!important;font-weight:800!important;letter-spacing:.055em!important;line-height:1.35!important;text-transform:uppercase!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
.cb-booking-v2 .cb-schedule-field,.cb-booking-v2 .cb-return-field,.cb-booking-v2 .cb-schedule-field label,.cb-booking-v2 .cb-return-field label{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
/* Airport direction already owns One Way/Round Trip. Keep the native return select for fare logic, but remove the duplicate customer-facing Transfer Type row. */
.cb-booking-v2.cb-airport-mode [data-proxy-for="mptbm_taxi_return"],.cb-booking-v2.cb-airport-mode .cb-return-context{display:none!important}
@media(max-width:760px){.cb-booking-v2 .cb-schedule-row,.cb-booking-v2 .cb-return-schedule-row{grid-template-columns:1fr!important}.cb-booking-v2 .cb-airport-detail-grid{grid-template-columns:1fr!important}.cb-booking-v2 .cb-time-picker{left:10px!important;right:10px!important;width:auto!important}.cb-booking-v2:not(.cb-results-visible) .mptbm_map_area{height:min(var(--shausm-map-height,500px),420px)!important;min-height:min(var(--shausm-map-height,500px),420px)!important;max-height:min(var(--shausm-map-height,500px),420px)!important}}
@media(max-width:480px){.cb-booking-v2 .cb-capacity-grid{grid-template-columns:1fr 1fr!important}.cb-booking-v2 .cb-time-columns{grid-template-columns:1fr!important}.cb-booking-v2 .cb-hour-grid,.cb-booking-v2 .cb-minute-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.cb-booking-v2 .cb-time-picker [data-hour],.cb-booking-v2 .cb-time-picker [data-minute]{height:32px!important}}


/* UX-09.2 — tab persistence, synchronized planner/map height and route-metric layout. */
@media(min-width:981px){
.cb-booking-v2:not(.cb-results-visible) .mptb-tab-content.current>.justifyBetween{align-items:stretch!important}
.cb-booking-v2:not(.cb-results-visible) .mptb-tab-content.current .mptbm_map_area{height:var(--cb-planner-height,auto)!important;min-height:var(--cb-planner-height,0)!important;max-height:var(--cb-planner-height,none)!important}
.cb-booking-v2:not(.cb-results-visible) .mptb-tab-content.current .mptbm_map_collapsible_body{height:100%!important}
}
.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;border-top:1px solid #e7ebf0!important;background:#fff!important}
.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time>.cb-route-metric{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important;padding:10px 16px!important}
.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time>.cb-route-metric+.cb-route-metric{border-left:1px solid #e7ebf0!important}
.cb-booking-v2 .cb-route-metric__copy{flex:1 1 auto!important;min-width:0!important}
.cb-booking-v2 .cb-route-metric__copy h6,.cb-booking-v2 .cb-route-metric__copy strong{display:block!important;width:auto!important;text-align:left!important}
.cb-booking-v2 .cb-route-metric__copy strong{font-variant-numeric:tabular-nums!important}
@media(max-width:560px){.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time{grid-template-columns:1fr!important}.cb-booking-v2:not(.cb-results-visible) .mptbm_distance_time>.cb-route-metric+.cb-route-metric{border-left:0!important;border-top:1px solid #eef1f4!important}}

.cb-booking-v2 .cb-round-trip-applied{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:5px 9px!important;border-radius:999px!important;background:#f7f1e5!important;color:#8a6428!important;font-weight:800!important}

/* UX09.5 — keep selected Extra Service cards stable when the quantity control expands. */
.cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:72px minmax(0,1fr)!important;gap:18px!important;align-items:center!important;padding:18px 14px!important;border:1px solid transparent!important;border-bottom-color:#eef1f4!important;border-radius:16px!important}
.cb-booking-v2 .mptbm_extra_service_item.is-selected{background:#f7f9fc!important;border-color:#e2e7ed!important;box-shadow:0 16px 40px -36px rgba(15,23,42,.55)!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_icon,.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_thumb{width:64px!important;height:64px!important;border-radius:15px!important}
.cb-booking-v2 .mptbm_extra_service_item .fdColumn._fullWidth{width:100%!important;min-width:0!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;gap:24px!important;align-items:center!important;width:100%!important;min-width:0!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_info{min-width:0!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_info h4{font-size:16px!important;line-height:1.3!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_desc{max-width:720px!important;font-size:12px!important;line-height:1.55!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{display:grid!important;grid-template-columns:auto auto!important;gap:18px!important;align-items:center!important;justify-items:end!important;min-width:0!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_price{min-width:84px!important;text-align:right!important;font-size:16px!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;min-width:0!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty{flex:0 0 220px!important;width:220px!important;min-width:220px!important;margin:0!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{width:100%!important;max-width:220px!important;height:44px!important;padding:4px!important;border-radius:13px!important;background:#eef2f6!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec input[type="text"]{width:100%!important;min-width:44px!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{flex:0 0 auto!important;min-width:154px!important;height:46px!important;padding:0 18px!important;border-radius:13px!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select.mActive{background:linear-gradient(135deg,var(--cb-primary,#111827),#343b47)!important;color:var(--cb-accent,#c7a86b)!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select.mActive::after{content:"✓";margin-left:7px;color:var(--cb-accent,#c7a86b);font-weight:900}
@media(max-width:1080px){.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{grid-template-columns:1fr!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc-meta{justify-items:start!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{justify-items:start!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_price{text-align:left!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{justify-content:flex-start!important}}
@media(max-width:760px){.cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:56px minmax(0,1fr)!important;gap:12px!important;padding:15px 10px!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_icon,.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_thumb{width:52px!important;height:52px!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:1fr!important;justify-items:stretch!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(130px,auto)!important}.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty{width:100%!important;min-width:0!important;flex:1 1 auto!important}.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{max-width:none!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{min-width:130px!important}}
@media(max-width:480px){.cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:1fr!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{grid-template-columns:1fr!important}.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{width:100%!important}}

/* UX09.6 — staging corrections after live browser review. */
@media(min-width:981px){
  .cb-booking-v2:not(.cb-results-visible) .mptb-tab-content.current>.justifyBetween,
  .cb-booking-v2:not(.cb-results-visible) .mptb-tab-content.current>._dLayout{align-items:flex-start!important}
  .cb-booking-v2:not(.cb-results-visible) .mptb-tab-content.current .mptbm_search_area{height:auto!important;min-height:0!important;align-self:flex-start!important}
}
/* Final mobile trip-tab authority: always two columns, never horizontal scrolling. */
@media(max-width:760px){
  .cb-booking-v2 .mptb-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    gap:7px!important;
    overflow:visible!important;
    overflow-x:visible!important;
    scroll-snap-type:none!important;
    width:100%!important;
  }
  .cb-booking-v2 .mptb-tabs .tab-link{
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    white-space:normal!important;
    text-align:center!important;
    scroll-snap-align:none!important;
  }
  /* Mobile time picker becomes a stable bottom sheet so Return Time stays usable. */
  .cb-booking-v2 .mptbm_search_area>.cb-time-picker.is-open{
    position:fixed!important;
    z-index:999999!important;
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:auto!important;
    max-width:620px!important;
    max-height:86dvh!important;
    margin:0 auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    box-shadow:0 24px 80px -24px rgba(15,23,42,.7)!important;
  }
  .cb-booking-v2 .cb-time-columns{grid-template-columns:1fr!important}
  .cb-booking-v2 .cb-hour-grid,.cb-booking-v2 .cb-minute-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
/* The inherited dFlex utility must not win over the Extra Service card grid. */
.cb-booking-v2 .mptbm_extra_service_item{display:grid!important;width:100%!important;box-sizing:border-box!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{display:grid!important}
.cb-booking-v2 .mptbm_extra_service_item.is-selected .mptbm_exsvc_actions{align-items:center!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{white-space:nowrap!important}
@media(min-width:1081px){
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:auto minmax(390px,auto)!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{min-width:390px!important}
}
@media(max-width:760px){
  .cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:56px minmax(0,1fr)!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{grid-template-columns:1fr!important;gap:12px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:1fr!important;justify-items:stretch!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{grid-template-columns:minmax(0,1fr) minmax(120px,auto)!important;width:100%!important}
}
@media(max-width:480px){
  .cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:1fr!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{grid-template-columns:1fr!important}
}

/* UX09.8 — staging authority for Return Time, fleet views and Extras. */
.cb-booking-v2 .cb-time-error{
  margin:10px 0 2px!important;
  padding:10px 12px!important;
  border:1px solid #f4c7c3!important;
  border-radius:10px!important;
  background:#fff5f4!important;
  color:#b42318!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
.cb-booking-v2 .cb-time-picker.has-error{box-shadow:0 0 0 2px rgba(180,35,24,.12),0 24px 80px -24px rgba(15,23,42,.55)!important}

/* Selected and unselected extra-service cards keep one geometry at every state. */
.cb-booking-v2 .mptbm_extra_service_item,
.cb-booking-v2 .mptbm_extra_service_item *{box-sizing:border-box!important}
.cb-booking-v2 .mptbm_extra_service_item{display:grid!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.cb-booking-v2 .mptbm_extra_service_item>.fdColumn._fullWidth,
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top,
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_info,
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta,
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{min-width:0!important;max-width:100%!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{grid-template-columns:minmax(0,1fr) minmax(300px,420px)!important;gap:18px!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:minmax(72px,auto) minmax(0,1fr)!important;gap:12px!important;width:100%!important;justify-items:stretch!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_price{min-width:0!important;text-align:right!important;align-self:center!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{display:grid!important;grid-template-columns:minmax(96px,138px) minmax(118px,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;justify-content:stretch!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty{flex:0 1 138px!important;width:100%!important;min-width:0!important;max-width:138px!important;margin:0!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{width:100%!important;max-width:138px!important;min-width:0!important;height:42px!important;padding:3px!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec input[type="text"]{width:38px!important;min-width:34px!important;max-width:42px!important;padding-inline:2px!important;text-align:center!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{width:100%!important;min-width:118px!important;max-width:none!important;height:42px!important;padding:0 13px!important}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select.mActive::after{content:none!important;display:none!important}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-action-check{display:none!important}
@media(max-width:1080px){
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{grid-template-columns:1fr!important;gap:12px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{justify-self:end!important;max-width:320px!important}
}
@media(max-width:700px){
  .cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:52px minmax(0,1fr)!important;padding:14px 10px!important;gap:11px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_top{gap:10px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:1fr!important;gap:10px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_price{text-align:left!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{grid-template-columns:minmax(92px,118px) minmax(110px,1fr)!important;max-width:100%!important;justify-self:stretch!important}
  .cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty,.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{max-width:118px!important}
}
@media(max-width:460px){
  .cb-booking-v2 .mptbm_extra_service_item{grid-template-columns:1fr!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_icon,
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_thumb{width:54px!important;height:54px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{grid-template-columns:112px minmax(0,1fr)!important}
}

/* Phone fleet cards: images own the full card width in both views. List is
   deliberately roomier than grid so the view controls remain meaningful. */
@media(max-width:640px){
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_booking_item,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_booking_item{
    flex-direction:column!important;gap:0!important;padding:0!important;overflow:hidden!important
  }
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image{
    width:100%!important;max-width:100%!important;flex:0 0 auto!important;align-self:stretch!important
  }
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image .bg_image_area,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image .bg_image_area>div{
    width:100%!important;height:230px!important;min-height:230px!important;max-height:230px!important;background-size:cover!important;background-position:center!important
  }
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image .bg_image_area,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image .bg_image_area>div{
    width:100%!important;height:178px!important;min-height:178px!important;max-height:178px!important;background-size:cover!important;background-position:center!important
  }
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_main,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_main{padding:16px 16px 4px!important;justify-content:flex-start!important}
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_cta,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_cta{width:100%!important;max-width:100%!important;flex:0 0 auto!important;border-left:0!important;padding:14px 16px 16px!important}
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_price_col,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_price_col{align-items:flex-start!important}
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list h4.mptbm_vehicle_price,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid h4.mptbm_vehicle_price{text-align:left!important}
}

/* UX09.9 — final staging refinements: preserve the full vehicle photograph and
   keep Extra Service action controls anchored instead of shifting when the
   quantity selector appears. */
.cb-booking-v2 .mptbm_vehicle_image .bg_image_area,
.cb-booking-v2 .mptbm_vehicle_image .bg_image_area>div{
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-color:#f7f8fa!important;
}

.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{
  grid-template-columns:minmax(72px,auto) minmax(300px,330px)!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:330px!important;
  max-width:330px!important;
  min-width:300px!important;
  margin-left:auto!important;
}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty{
  flex:0 0 126px!important;
  width:126px!important;
  max-width:126px!important;
  min-width:0!important;
  margin:0!important;
}
.cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{
  width:126px!important;
  max-width:126px!important;
  min-width:0!important;
}
.cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{
  flex:0 0 184px!important;
  width:184px!important;
  min-width:184px!important;
  max-width:184px!important;
  margin-left:auto!important;
}
@media(max-width:1080px){
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc-meta,
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:auto minmax(280px,320px)!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{width:320px!important;max-width:320px!important;min-width:280px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{flex-basis:178px!important;width:178px!important;min-width:178px!important;max-width:178px!important}
}
@media(max-width:700px){
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_meta{grid-template-columns:1fr!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{width:100%!important;max-width:100%!important;min-width:0!important;justify-self:stretch!important}
  .cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty,
  .cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{flex-basis:112px!important;width:112px!important;max-width:112px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{flex:0 0 150px!important;width:150px!important;min-width:150px!important;max-width:150px!important}
}
@media(max-width:420px){
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_actions{gap:8px!important}
  .cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty,
  .cb-booking-v2 .mptbm_extra_service_item .cb-extra-qty .qtyIncDec{flex-basis:104px!important;width:104px!important;max-width:104px!important}
  .cb-booking-v2 .mptbm_extra_service_item .mptbm_exsvc_select{flex:0 0 138px!important;width:138px!important;min-width:138px!important;max-width:138px!important}
}

/* UX09.25 — booking-result vehicle imagery uses the same 16:9 cover contract
   as Fleet cards. This intentionally overrides older fixed-height/contain rules. */
.mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image{
  flex:0 0 270px!important;
  width:270px!important;
  max-width:270px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  align-self:center!important;
  overflow:hidden!important;
}
.mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
.mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image .bg_image_area,
.mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image .bg_image_area{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#f7f8fa!important;
}
.mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image .bg_image_area>div,
.mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image .bg_image_area>div{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:640px){
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image,
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_grid .mptbm_vehicle_image{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    align-self:stretch!important;
  }
}

/* UX09.30 — desktop Booking Results list media must fill the complete card height.
   Grid/mobile keeps the strict 16:9 media box; desktop list uses the same 16:9
   source image but cover-crops it into the card's full-height media column. */
@media(min-width:641px){
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image{
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    position:relative!important;
  }
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image .bg_image_area{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
  .mptbm_transport_search_area .mp_sticky_depend_area.mptbm_view_list .mptbm_vehicle_image .bg_image_area>div{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
}
