/* Booking UX v2 — composed from the strongest interaction patterns in the reference set, not a clone of any one screen. */
.cb-booking-v2{max-width:1380px!important}.cb-booking-v2 .mptbm-product-booking-header{padding:26px 32px 20px}.cb-booking-v2 .mptbm-product-booking-header__trust{align-self:center}.cb-booking-v2 .mptb-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));width:min(760px,100%)!important;border-radius:18px!important;padding:5px!important}.cb-booking-v2 .mptb-tabs .tab-link{min-width:0!important;text-align:center!important;border-radius:14px!important;font-weight:750!important}.cb-booking-v2 .mptb-tab-content>.justifyBetween,.cb-booking-v2 .mptb-tab-content>._dLayout{gap:14px}.cb-booking-v2 .mptb-tab-content>.justifyBetween{align-items:stretch}.cb-booking-v2 .mptbm_search_area{width:min(390px,34%)!important;flex:0 0 min(390px,34%)!important;padding:24px!important}.cb-booking-v2 .mptbm_map_area{flex:1 1 auto!important;min-width:0!important;border:1px solid rgba(17,24,39,.07)!important;border-radius:var(--cb-radius,16px)!important;overflow:hidden!important;background:#fff!important;box-shadow:0 12px 40px -32px rgba(17,24,39,.45)!important}.cb-booking-v2 .mptbm_map_area_header{display:none!important}.cb-booking-v2 .mptbm_map_collapsible_body{display:flex!important;flex-direction:column!important;height:100%!important}.cb-booking-v2 .mptbm_map_collapsible_body>.fullHeight{min-height:510px!important;flex:1 1 510px!important}.cb-booking-v2 #mptbm_map_area{min-height:510px!important;border:0!important;border-radius:0!important}.cb-booking-v2 .mptbm_search_area_header{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:4px!important}.cb-booking-v2 .mptbm_search_area_header h3{font-size:20px!important;letter-spacing:-.02em!important}.cb-booking-v2 .cb-mode-context{margin:0 0 18px;padding:0 0 15px;border-bottom:1px solid #eceef1}.cb-booking-v2 .cb-mode-context strong{display:block;color:var(--cb-text);font-size:13px;line-height:1.25}.cb-booking-v2 .cb-mode-context span{display:block;margin-top:5px;color:var(--cb-muted);font-size:11px;line-height:1.45}.cb-booking-v2 .mpForm>.inputList{margin-bottom:13px!important}.cb-booking-v2 .inputList label>span:first-child{font-size:10px!important;font-weight:800!important;letter-spacing:.055em!important;color:#67748a!important;text-transform:uppercase}.cb-booking-v2 input.formControl,.cb-booking-v2 select.formControl{min-height:55px!important;padding-left:48px!important;background:#f2f4f7!important;border-color:transparent!important;font-size:13px!important;font-weight:650!important}.cb-booking-v2 .mptbm_left_icon{left:16px!important;color:var(--cb-text)!important;font-size:14px!important}.cb-booking-v2 #mptbm_get_vehicle{min-height:58px!important;border:0!important;border-radius:13px!important;background:var(--cb-primary)!important;color:#fff!important;font-size:14px!important;font-weight:800!important;letter-spacing:.01em!important;box-shadow:0 12px 22px -15px rgba(0,0,0,.65)!important}.cb-booking-v2 #mptbm_get_vehicle .fas{color:var(--cb-accent)!important}.cb-booking-v2 .cb-cta-label{margin-left:4px}.cb-booking-v2 .mptbm_distance_time{order:5!important;display:grid!important;grid-template-columns:1fr 1fr!important;padding:0!important;border:0!important;background:#fff!important}.cb-booking-v2 .mptbm_distance_time>div{display:contents!important}.cb-booking-v2 .mptbm_distance_time ._dFlex_pR_xs,.cb-booking-v2 .mptbm_distance_time .dFlex{min-height:70px!important;display:flex!important;align-items:center!important;padding:12px 20px!important}.cb-booking-v2 .mptbm_distance_time ._dFlex_pR_xs{border-right:1px solid #e7e9ed}.cb-booking-v2 .mptbm_distance_time h6{margin:0 0 3px!important;color:#728096!important;font-size:9px!important;font-weight:900!important;letter-spacing:.09em!important}.cb-booking-v2 .mptbm_distance_time strong{color:var(--cb-text)!important;font-size:14px!important}.cb-booking-v2 .mptbm_distance_time h1{font-size:20px!important}.cb-booking-v2 .cb-route-status{order:4;display:flex;align-items:center;gap:10px;padding:11px 18px;border-top:1px solid #eef0f2;background:#fbfcfd}.cb-booking-v2 .cb-route-status__dot{width:9px;height:9px;border-radius:50%;background:#c9ced7;box-shadow:0 0 0 5px #f0f2f5}.cb-booking-v2 .cb-route-status.is-ready .cb-route-status__dot{background:#19a66a;box-shadow:0 0 0 5px #e6f7ef}.cb-booking-v2 .cb-route-status strong{display:block;font-size:11px;color:var(--cb-text)}.cb-booking-v2 .cb-route-status small{display:block;margin-top:2px;font-size:10px;color:var(--cb-muted)}
/* Custom segmented time picker. The original allowed-time list stays in the DOM as the source of truth. */
.cb-booking-v2 .cb-native-time-options{display:none!important}.cb-booking-v2 .mp_input_select.cb-time-open{position:relative!important;z-index:10050!important}.cb-booking-v2 .cb-time-picker{position:absolute!important;z-index:10040!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;width:auto!important;max-width:100%!important;box-sizing:border-box!important;padding:18px!important;border:1px solid #e2e5e9!important;border-radius:20px!important;background:#fff!important;box-shadow:0 22px 60px -25px rgba(17,24,39,.55)!important}.cb-booking-v2 .cb-time-picker[hidden]{display:none!important}.cb-booking-v2 .cb-time-picker__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #eceef1}.cb-booking-v2 .cb-time-picker__head small,.cb-booking-v2 .cb-time-picker h4{display:block;margin:0 0 5px;color:#8a929d;font-size:10px;font-weight:850;letter-spacing:.11em}.cb-booking-v2 .cb-time-picker__readout{display:block;color:var(--cb-text);font-size:23px;letter-spacing:.02em}.cb-booking-v2 .cb-time-close{width:34px;height:34px;border:0!important;border-radius:50%!important;background:#f1f3f5!important;color:#667085!important;font-size:20px!important;line-height:1!important}.cb-booking-v2 .cb-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:17px 0}.cb-booking-v2 .cb-hour-grid,.cb-booking-v2 .cb-minute-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cb-booking-v2 .cb-time-picker [data-hour],.cb-booking-v2 .cb-time-picker [data-minute]{min-width:0!important;height:37px!important;padding:0!important;border:0!important;border-radius:11px!important;background:#f5f6f8!important;color:var(--cb-text)!important;font-size:13px!important;font-weight:700!important}.cb-booking-v2 .cb-time-picker button.is-selected{background:var(--cb-primary)!important;color:#fff!important;box-shadow:0 6px 14px -9px rgba(0,0,0,.75)!important}.cb-booking-v2 .cb-period{padding-top:14px;border-top:1px solid #eceef1}.cb-booking-v2 .cb-period>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cb-booking-v2 .cb-period button{min-height:44px!important;border:1px solid #e1e4e8!important;border-radius:13px!important;background:#fff!important;color:var(--cb-text)!important;font-weight:800!important}.cb-booking-v2 .cb-time-done{width:100%!important;min-height:48px!important;margin-top:14px!important;border:0!important;border-radius:13px!important;background:var(--cb-primary)!important;color:#fff!important;font-weight:850!important}.cb-booking-v2 .cb-time-done:disabled{opacity:.35}.cb-booking-v2 .cb-time-picker.has-error{animation:cbShake .28s linear 1}@keyframes cbShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
/* Search result workspace */
.cb-booking-v2 .mptbm_inline_search_results:not(:empty){padding:18px!important;background:#fff!important}.cb-booking-v2 .cb-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 15px;padding:0 0 14px;border-bottom:1px solid #edf0f2}.cb-booking-v2 .cb-results-toolbar small{display:block;color:var(--cb-accent);font-size:9px;font-weight:900;letter-spacing:.11em}.cb-booking-v2 .cb-results-toolbar strong{display:block;margin-top:3px;color:var(--cb-text);font-size:17px}.cb-booking-v2 .cb-view-toggle{display:flex;padding:3px;border-radius:10px;background:#f1f3f5}.cb-booking-v2 .cb-view-toggle button{width:34px;height:32px;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#8b95a6!important}.cb-booking-v2 .cb-view-toggle button.is-active{background:#fff!important;color:var(--cb-text)!important;box-shadow:0 3px 12px -8px #111827!important}.cb-booking-v2 .mptbm_inline_search_results[data-cb-view="grid"] .mptbm-transportation-item-holder,.cb-booking-v2 .mptbm_inline_search_results[data-cb-view="grid"] .mptbm-transportation-holder{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
@media(max-width:980px){.cb-booking-v2 .mptb-tab-content>.justifyBetween{display:block!important}.cb-booking-v2 .mptbm_search_area{width:100%!important;max-width:none!important;flex-basis:auto!important}.cb-booking-v2 .mptbm_map_area{margin-top:14px!important}.cb-booking-v2 .mptbm_map_collapsible_body>.fullHeight,.cb-booking-v2 #mptbm_map_area{min-height:390px!important}.cb-booking-v2 .mptbm_inline_search_results[data-cb-view="grid"] .mptbm-transportation-item-holder,.cb-booking-v2 .mptbm_inline_search_results[data-cb-view="grid"] .mptbm-transportation-holder{grid-template-columns:1fr!important}}
@media(max-width:560px){.cb-booking-v2 .mptbm-product-booking-header{display:none!important}.cb-booking-v2 .tabListsNext{position:sticky;top:0;z-index:20}.cb-booking-v2 .mptb-tabs{grid-auto-flow:column;grid-auto-columns:minmax(105px,1fr);grid-template-columns:none!important;overflow-x:auto!important}.cb-booking-v2 .mptbm_search_area{padding:17px!important}.cb-booking-v2 .mptbm_map_collapsible_body>.fullHeight,.cb-booking-v2 #mptbm_map_area{min-height:300px!important}.cb-booking-v2 .cb-time-picker{position:fixed!important;left:12px!important;right:12px!important;bottom:12px!important;top:auto!important;width:auto!important;max-height:78vh!important;overflow:auto!important}.cb-booking-v2 .cb-time-columns{grid-template-columns:1fr!important}.cb-booking-v2 .cb-results-toolbar strong{font-size:14px}}

.cb-booking-v2.cb-results-visible .mptbm_map_area .cb-route-status,.cb-booking-v2.cb-results-visible .mptbm_map_area .mptbm_distance_time{display:none!important}.cb-booking-v2 .cb-capacity-field input[type=number]{appearance:textfield;-moz-appearance:textfield}.cb-booking-v2 .cb-capacity-field input[type=number]::-webkit-inner-spin-button,.cb-booking-v2 .cb-capacity-field input[type=number]::-webkit-outer-spin-button{opacity:1}

/* UX-06.2 time-picker containment and deterministic interaction states. */
.cb-booking-v2 .mp_input_select.cb-time-open{position:relative!important;isolation:isolate}
.cb-booking-v2 .cb-time-picker{inset-inline:0!important;max-width:100%!important;overflow:hidden!important}
.cb-booking-v2 .cb-time-picker [data-hour]:hover,.cb-booking-v2 .cb-time-picker [data-hour]:focus,.cb-booking-v2 .cb-time-picker [data-minute]:hover,.cb-booking-v2 .cb-time-picker [data-minute]:focus{background:#eef0f3!important;color:var(--cb-text)!important;opacity:1!important;outline:2px solid color-mix(in srgb,var(--cb-accent) 28%,transparent)!important;outline-offset:1px!important}
.cb-booking-v2 .cb-time-picker [data-hour].is-selected,.cb-booking-v2 .cb-time-picker [data-hour].is-selected:hover,.cb-booking-v2 .cb-time-picker [data-hour].is-selected:focus,.cb-booking-v2 .cb-time-picker [data-minute].is-selected,.cb-booking-v2 .cb-time-picker [data-minute].is-selected:hover,.cb-booking-v2 .cb-time-picker [data-minute].is-selected:focus,.cb-booking-v2 .cb-period button.is-selected,.cb-booking-v2 .cb-period button.is-selected:hover,.cb-booking-v2 .cb-period button.is-selected:focus{background:var(--cb-primary)!important;color:#fff!important;opacity:1!important}
.cb-booking-v2 .cb-period button:hover,.cb-booking-v2 .cb-period button:focus{background:#f8f9fa!important;color:var(--cb-text)!important;opacity:1!important;outline:2px solid color-mix(in srgb,var(--cb-accent) 28%,transparent)!important;outline-offset:1px!important}
/* Once vehicle results own the trip summary, hide the map's duplicate live route strip completely. */
.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}
