/* UX-03: service-aware trip requirements, selected-vehicle handoff, extras and live summary. */
.cb-booking-v3 .cb-capacity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:2px}.cb-booking-v3 .cb-capacity-grid>.inputList{margin:0!important}.cb-booking-v3 [data-cb-field].cb-field-required label>span:first-child:after{content:' *';color:var(--cb-accent)}
.cb-booking-v3 .mptbm_results_controls_row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:14px 0!important}.cb-booking-v3 .mptbm_results_view_toggle{display:flex!important;gap:3px!important;padding:3px!important;border-radius:11px!important;background:#f1f3f6!important}.cb-booking-v3 .mptbm_results_view_toggle button{width:35px!important;height:34px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#8a94a5!important}.cb-booking-v3 .mptbm_results_view_toggle button.is-active{background:#fff!important;color:var(--cb-text)!important;box-shadow:0 3px 12px -8px rgba(17,24,39,.6)!important}.cb-booking-v3 .mptbm_results_sort select{min-height:40px!important;padding:0 34px 0 13px!important;background:#fff!important;border:1px solid #e5e8ed!important;border-radius:11px!important;font-weight:700!important;color:var(--cb-text)!important}
.cb-booking-v3 .mptbm_booking_item.selected{border-color:#91aa9c!important;background:linear-gradient(110deg,#f7fffb 0%,#fff 64%)!important;box-shadow:0 0 0 1px rgba(78,111,91,.12),0 16px 34px -29px rgba(17,24,39,.5)!important}.cb-booking-v3 .mptbm_transport_select.active_select{background:var(--cb-primary)!important;color:#fff!important}.cb-booking-v3 .mptbm_transport_select.active_select:before{content:'✓';margin-right:7px;font-weight:900}
.cb-booking-v3 .mptbm_extra_service{margin-top:22px!important}.cb-booking-v3 .cb-selected-vehicle{display:grid;grid-template-columns:150px 1fr minmax(145px,auto);align-items:center;gap:18px;margin:0 0 15px;padding:12px;border:1px solid #dbe3dd;border-radius:18px;background:linear-gradient(105deg,#f5fff9,#fff 70%);box-shadow:0 15px 36px -31px rgba(17,24,39,.55)}.cb-booking-v3 .cb-selected-vehicle__media{height:112px;border-radius:13px;overflow:hidden;background:#eef1f4}.cb-booking-v3 .cb-selected-vehicle__media img{width:100%;height:100%;object-fit:cover}.cb-booking-v3 .cb-selected-vehicle__eyebrow{display:block;margin-bottom:4px;color:#5c7766;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.cb-booking-v3 .cb-selected-vehicle h3{margin:0 0 10px!important;color:var(--cb-text)!important;font-size:18px!important}.cb-booking-v3 .cb-selected-vehicle__chips{display:flex;gap:7px;flex-wrap:wrap}.cb-booking-v3 .cb-selected-vehicle__chips span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e3e7ea;border-radius:999px;background:#fff;color:#647083;font-size:10px;font-weight:750}.cb-booking-v3 .cb-selected-vehicle__price{text-align:right}.cb-booking-v3 .cb-selected-vehicle__price small{display:block;color:#8a94a5;font-size:9px;font-weight:800;text-transform:uppercase}.cb-booking-v3 .cb-selected-vehicle__price strong{display:block;margin:3px 0 8px;color:var(--cb-text);font-size:20px}.cb-booking-v3 .cb-selected-vehicle__price>span{display:inline-flex;align-items:center;gap:5px;color:#28754c;font-size:10px;font-weight:800}
.cb-booking-v3 .mptbm_exsvc_panel{padding:22px!important;border:1px solid #e8eaee!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 45px -38px rgba(17,24,39,.65)!important}.cb-booking-v3 .mptbm_exsvc_header{margin-bottom:12px!important;padding-bottom:14px!important;border-bottom:1px solid #eceef1!important}.cb-booking-v3 .cb-extras-eyebrow{margin:0 0 5px!important;color:var(--cb-accent)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important}.cb-booking-v3 .mptbm_exsvc_header h3{margin:0!important;color:var(--cb-text)!important;font-size:20px!important;letter-spacing:-.02em!important}.cb-booking-v3 .cb-extras-subtitle{margin:6px 0 0!important;color:var(--cb-muted)!important;font-size:11px!important}.cb-booking-v3 .mptbm_extra_service_item{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:14px 0!important;border-bottom:1px solid #eef0f2!important}.cb-booking-v3 .mptbm_extra_service_item:last-child{border-bottom:0!important}.cb-booking-v3 .mptbm_exsvc_icon,.cb-booking-v3 .mptbm_exsvc_thumb{width:58px!important;height:58px!important;display:grid!important;place-items:center!important;border-radius:13px!important;background:#f2f4f7!important;color:var(--cb-primary)!important;overflow:hidden!important}.cb-booking-v3 .mptbm_exsvc_thumb img{width:100%!important;height:100%!important;object-fit:cover!important}.cb-booking-v3 .mptbm_exsvc_top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important}.cb-booking-v3 .mptbm_exsvc_info h4{margin:0 0 4px!important;font-size:13px!important;color:var(--cb-text)!important}.cb-booking-v3 .mptbm_exsvc_desc{max-width:650px;color:#667085!important;font-size:10px!important;line-height:1.5!important}.cb-booking-v3 .mptbm_exsvc_meta{display:grid!important;grid-template-columns:auto auto!important;align-items:center!important;gap:14px!important}.cb-booking-v3 .mptbm_exsvc_price{min-width:72px;text-align:right;color:var(--cb-text)!important;font-size:13px!important;font-weight:850!important}.cb-booking-v3 .mptbm_exsvc_actions{display:flex!important;align-items:center!important;gap:8px!important}.cb-booking-v3 .mptbm_exsvc_select{min-width:105px!important;min-height:38px!important;padding:0 13px!important;border:0!important;border-radius:10px!important;background:var(--cb-primary)!important;color:var(--cb-accent)!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.035em!important}.cb-booking-v3 .mptbm_exsvc_select.mActive{color:var(--cb-accent)!important;box-shadow:0 6px 15px -10px rgba(0,0,0,.75)!important}.cb-booking-v3 .cb-extra-action-check{display:none;margin-left:5px}.cb-booking-v3 .mptbm_exsvc_select.mActive .cb-extra-action-check{display:inline}.cb-booking-v3 .cb-extra-single .cb-extra-qty{display:none!important}.cb-booking-v3 .cb-extra-not-applicable{display:none!important}
.cb-booking-v3 .mptbm_exsvc_summary_footer{margin-top:16px!important;padding:18px!important;border:1px solid #e8eaee!important;border-radius:16px!important;background:#fbfcfd!important}.cb-booking-v3 .cb-summary-heading span{display:block;color:#8792a2;font-size:8px;font-weight:900;letter-spacing:.12em}.cb-booking-v3 .cb-summary-heading h3{margin:3px 0 12px!important;font-size:17px!important;color:var(--cb-text)!important}.cb-booking-v3 .mptbm_exsvc_summary_footer .divider{border-color:#e6e9ed!important}.cb-booking-v3 .mptbm_exsvc_summary_footer h4{font-size:18px!important}.cb-booking-v3 .mptbm_product_total_price{font-size:20px!important;color:var(--cb-text)!important}.cb-booking-v3 .mptbm_exsvc_footer{display:flex!important;justify-content:flex-end!important;margin-top:12px!important}.cb-booking-v3 .mptbm_exsvc_booknow{min-width:220px!important;min-height:48px!important;border:0!important;border-radius:12px!important;background:var(--cb-primary)!important;color:#fff!important;font-weight:850!important}.cb-booking-v3 .mptbm_exsvc_booknow .fas{color:var(--cb-accent)!important}
@media(max-width:760px){.cb-booking-v3 .cb-capacity-grid{grid-template-columns:1fr 1fr}.cb-booking-v3 .cb-selected-vehicle{grid-template-columns:90px 1fr}.cb-booking-v3 .cb-selected-vehicle__media{height:82px}.cb-booking-v3 .cb-selected-vehicle__price{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;text-align:left;padding-top:8px;border-top:1px solid #e8ece9}.cb-booking-v3 .cb-selected-vehicle__price strong{margin:0}.cb-booking-v3 .mptbm_extra_service_item{grid-template-columns:50px 1fr}.cb-booking-v3 .mptbm_exsvc_icon,.cb-booking-v3 .mptbm_exsvc_thumb{width:48px!important;height:48px!important}.cb-booking-v3 .mptbm_exsvc_top{grid-template-columns:1fr!important}.cb-booking-v3 .mptbm_exsvc_meta{grid-template-columns:1fr!important}.cb-booking-v3 .mptbm_exsvc_price{text-align:left}.cb-booking-v3 .mptbm_exsvc_footer{justify-content:stretch!important}.cb-booking-v3 .mptbm_exsvc_booknow{width:100%!important}}
@media(max-width:480px){.cb-booking-v3 .cb-capacity-grid{grid-template-columns:1fr}.cb-booking-v3 .cb-selected-vehicle__chips{display:none}.cb-booking-v3 .mptbm_exsvc_panel{padding:16px!important}.cb-booking-v3 .mptbm_extra_service_item{grid-template-columns:1fr!important}.cb-booking-v3 .mptbm_exsvc_icon,.cb-booking-v3 .mptbm_exsvc_thumb{width:48px!important;height:48px!important}.cb-booking-v3 .mptbm_exsvc_actions{justify-content:space-between}.cb-booking-v3 .mptbm_exsvc_select{min-width:118px!important}}

/* UX09.25 — selected-vehicle summary follows the global 16:9 vehicle-media rule. */
.cb-booking-v3 .cb-selected-vehicle__media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
}
.cb-booking-v3 .cb-selected-vehicle__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}


/* UX09.32 — mobile Extras cards and live summary alignment. */
@media(max-width:480px){
  .cb-booking-v3 .mptbm_exsvc_panel{padding:14px 8px 10px!important}
  .cb-booking-v3 .mptbm_extra_service_item{padding:14px 6px!important;gap:10px!important;text-align:center!important}
  .cb-booking-v3 .mptbm_exsvc_icon,.cb-booking-v3 .mptbm_exsvc_thumb{margin:0 auto!important}
  .cb-booking-v3 .mptbm_exsvc_info,.cb-booking-v3 .mptbm_exsvc_info h4,.cb-booking-v3 .mptbm_exsvc_desc{text-align:center!important;justify-content:center!important}
  .cb-booking-v3 .mptbm_exsvc_meta{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important}
  .cb-booking-v3 .mptbm_exsvc_price{display:block!important;width:100%!important;min-width:0!important;text-align:center!important}
  .cb-booking-v3 .mptbm_exsvc_actions{display:flex!important;align-items:center!important;justify-content:stretch!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important}
  .cb-booking-v3 .mptbm_exsvc_actions .cb-extra-qty{flex:0 0 auto!important;margin:0!important}
  .cb-booking-v3 .mptbm_exsvc_actions .qtyIncDec{margin:0!important}
  .cb-booking-v3 .mptbm_exsvc_select,.cb-booking-v3 button.mptbm_price_calculation.mptbm_exsvc_select{flex:1 1 0!important;width:auto!important;max-width:none!important;min-width:0!important}

  /* The generic mobile helper changes .justifyBetween to block. This footer is
     intentionally a compact price summary, so its left/right values stay inline. */
  .cb-booking-v3 .mptbm_exsvc_summary_footer ._textColor_4.justifyBetween,
  .cb-booking-v3 .mptbm_exsvc_summary_footer>.justifyBetween{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer ._textColor_4.justifyBetween>._dFlex_alignCenter{display:flex!important;align-items:center!important;min-width:0!important;gap:6px!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer .mptbm_product_name{min-width:0!important;overflow-wrap:anywhere!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer .mptbm_product_price,
  .cb-booking-v3 .mptbm_exsvc_summary_footer .mptbm_product_total_price{flex:0 0 auto!important;margin-left:auto!important;white-space:nowrap!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer .mptbm_extra_service_summary [class*="_justifyBetween"]{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer .mptbm_extra_service_summary ._dFlex_alignCenter{display:flex!important;align-items:center!important;min-width:0!important;gap:6px!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer .mptbm_extra_service_summary p{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;flex:0 0 auto!important;margin:0!important;white-space:nowrap!important}
  .cb-booking-v3 .mptbm_exsvc_summary_footer>.justifyBetween h4,
  .cb-booking-v3 .mptbm_exsvc_summary_footer>.justifyBetween h6{margin:0!important}
}

/* UX09.33 — final phone Extra Service price alignment.
   mptbm_style.css renders this value as inline-flex, so text-align alone cannot
   center its contents. Center the flex contents across the full mobile row. */
@media(max-width:640px){
  .cb-booking-v3 .mptbm_extra_service_item .mptbm_exsvc_price{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
