/* 2.6.3 Map workspace layout: full map, floating Trip Planner with step indicator, live Trip Summary.
   Presentation only. Active when Booking Forms > Layout is "Map workspace"; scoped so results, extras and checkout keep their own layout.
   All colours come from the brand tokens (--cb-*); optional --sbf-* variables fine-tune this layout. */
.cb-booking-v2.shausm-layout-planner{--sbf-card-w:408px;--sbf-r:var(--sbf-radius,22px);--sbf-ink:var(--cb-text,#14213d);--sbf-muted:var(--cb-muted,#667085);--sbf-line:rgba(15,23,42,.1);--sbf-card:var(--cb-surface,#fff);--sbf-pri:var(--cb-primary,#0f3d91);--sbf-acc:var(--cb-accent,#c9a227)}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container{position:relative!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tabs-content-wrap,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-content{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace{position:relative!important;isolation:isolate;display:block!important;width:100%!important;max-width:100%!important;min-height:var(--shausm-map-height,640px)!important;margin:0!important;padding:0!important;overflow:hidden;background:#e8edf3;border:1px solid var(--sbf-line);border-radius:var(--sbf-r);box-shadow:0 24px 60px -30px rgba(15,23,42,.45)}
/* Map fills the workspace */
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace>.mptbm_map_area{position:absolute!important;inset:0!important;z-index:auto!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area_header{display:none!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .mptbm_map_collapsible_body,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .fullHeight{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;display:block!important;margin:0!important;padding:0!important;border:0!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) #mptbm_map_area{position:absolute!important;inset:0!important;z-index:0!important;isolation:isolate;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .cb-route-status{display:none!important}
/* Route distance / time: floating pill at the bottom of the map */
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .mptbm_distance_time{position:absolute!important;z-index:4!important;left:calc(var(--sbf-card-w) + 48px)!important;right:auto!important;bottom:16px!important;top:auto!important;width:auto!important;min-height:0!important;flex:none!important;display:flex!important;gap:0!important;margin:0!important;padding:0!important;background:var(--sbf-card)!important;border:1px solid var(--sbf-line)!important;border-radius:16px!important;box-shadow:0 14px 34px -14px rgba(15,23,42,.45)!important;overflow:hidden}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .mptbm_distance_time .cb-route-metric{padding:9px 16px!important;min-height:0!important;border:0!important;background:transparent!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .mptbm_distance_time .cb-route-metric+.cb-route-metric{border-left:1px solid var(--sbf-line)!important}
/* Floating Trip Planner card */
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace>.mptbm_search_area{position:relative!important;z-index:5;float:none!important;width:var(--sbf-card-w)!important;max-width:calc(100% - 32px)!important;max-height:calc(100% - 32px)!important;margin:16px!important;padding:78px 20px 20px!important;overflow:auto;background:var(--sbf-card)!important;border:1px solid var(--sbf-line)!important;border-radius:var(--sbf-r)!important;box-shadow:0 22px 50px -22px rgba(15,23,42,.5)!important;box-sizing:border-box!important;scrollbar-width:thin}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible):has(.mptb-tabs) .shausm-workspace>.mptbm_search_area{padding-top:136px!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_search_area_header{margin:0 0 10px!important;padding:0!important;border:0!important;background:transparent!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_search_area_header h3{margin:0!important;font-size:19px!important;font-weight:800!important;color:var(--sbf-ink)!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_search_area_header_icon{color:var(--sbf-acc)!important}
/* Step indicator, on top of the card */
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext{position:absolute!important;z-index:7!important;top:30px!important;left:36px!important;width:calc(var(--sbf-card-w) - 40px)!important;max-width:calc(100% - 72px)!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;gap:6px!important;background:transparent!important;border:0!important;box-shadow:none!important;inset-inline-end:auto!important;transform:none!important}
.cb-booking-v2.shausm-layout-planner .tabListsNext .tabItemNext,.cb-booking-v2.shausm-layout-planner .tabListsNext .shausm-step-static{flex-direction:row!important;flex:1 1 0!important;min-width:0!important;display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;cursor:default;position:static!important;text-align:left!important}
.cb-booking-v2.shausm-layout-planner .tabListsNext .circleIcon{flex:0 0 24px!important;width:24px!important;height:24px!important;min-width:24px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:11px!important;font-weight:800!important;line-height:1!important;color:var(--sbf-muted)!important;background:#eef1f5!important;border:0!important}
.cb-booking-v2.shausm-layout-planner .tabListsNext .tabItemNext.active .circleIcon,.cb-booking-v2.shausm-layout-planner .tabListsNext .circleIcon.success{color:#fff!important;background:var(--sbf-pri)!important}
.cb-booking-v2.shausm-layout-planner .tabListsNext .circleTitle{margin:0!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;color:var(--sbf-muted)!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;text-transform:none!important;letter-spacing:0!important}
.cb-booking-v2.shausm-layout-planner .tabListsNext .tabItemNext.active .circleTitle{color:var(--sbf-ink)!important}
.cb-booking-v2.shausm-layout-planner .tabListsNext .tabItemNext+.tabItemNext::before,.cb-booking-v2.shausm-layout-planner .tabListsNext .shausm-step-static::before{content:"";flex:0 0 10px;height:2px;margin-right:2px;background:#dfe4ec;border-radius:2px}
/* Service tabs as a segmented control under the steps */
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs{position:absolute!important;z-index:7;top:84px!important;left:36px!important;width:calc(var(--sbf-card-w) - 40px)!important;max-width:calc(100% - 72px)!important;min-width:0!important;height:auto!important;margin:0!important;padding:4px!important;display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px!important;list-style:none;background:#eef1f5!important;border:0!important;border-radius:14px!important;box-sizing:border-box!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs>li.tab-link{display:flex!important;align-items:center;justify-content:center;gap:6px;min-width:0;margin:0!important;padding:9px 6px!important;font-size:12.5px!important;font-weight:700!important;line-height:1.1!important;color:var(--sbf-ink)!important;background:transparent!important;border:0!important;border-radius:11px!important;box-shadow:none!important;cursor:pointer;white-space:nowrap}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs>li.tab-link i{font-size:12px;opacity:.85}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs>li.tab-link:hover{background:color-mix(in srgb,var(--sbf-pri) 10%,transparent)!important;color:var(--sbf-ink)!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs>li.tab-link.current{color:#fff!important;background:var(--sbf-pri)!important;box-shadow:0 8px 16px -10px color-mix(in srgb,var(--sbf-pri) 80%,transparent)!important}
/* Trip Summary card (built by chauffeur-booking-v10.js, live from the form fields) */
.shausm-trip-summary{display:none}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-trip-summary{display:block;position:absolute;z-index:6;top:16px;right:16px;width:318px;max-height:calc(100% - 32px);overflow:auto;margin:0;padding:0;color:var(--sbf-ink);background:var(--sbf-card);border:1px solid var(--sbf-line);border-radius:var(--sbf-r);box-shadow:0 22px 50px -22px rgba(15,23,42,.5);font-size:13px;line-height:1.35;scrollbar-width:thin}
.shausm-trip-summary__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--sbf-line)}
.shausm-trip-summary__head h3{margin:0;font-size:16px;font-weight:800;color:var(--sbf-ink)}
.shausm-trip-summary__toggle{display:none;appearance:none;cursor:pointer;width:30px;height:30px;padding:0;color:var(--sbf-ink);background:#eef1f5;border:0;border-radius:50%;font-size:16px;line-height:1}
.shausm-trip-summary__body{padding:6px 18px 16px}
.shausm-ts-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--sbf-line)}
.shausm-ts-row:last-child{border-bottom:0}
.shausm-ts-row>small{flex:0 0 96px;color:var(--sbf-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding-top:2px}
.shausm-ts-row>div{flex:1 1 auto;min-width:0;font-weight:600;color:var(--sbf-ink);overflow-wrap:anywhere}
.shausm-ts-stops{margin:0;padding:0;list-style:none}
.shausm-ts-stops li{display:flex;align-items:flex-start;gap:9px;margin:0 0 7px;font-weight:600}
.shausm-ts-stops li:last-child{margin-bottom:0}
.shausm-ts-stops i{flex:0 0 18px;height:18px;margin-top:1px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-style:normal;font-size:10px;font-weight:800;color:#fff;background:var(--sbf-pri)}
.shausm-ts-stops li.is-mid i{background:#7c3aed}
.shausm-ts-stops li.is-end i{background:#dc2626}
.shausm-ts-empty{color:var(--sbf-muted);font-weight:500}
.shausm-ts-fare{margin:6px 0 0;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--sbf-pri) 7%,transparent);border-radius:14px}
.shausm-ts-fare strong{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.shausm-ts-fare span{font-size:12px;color:var(--sbf-muted);text-align:right}
/* Tablet and mobile: stacked, map on top, Trip Summary collapsible */
@media (max-width:1180px){
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace>.mptbm_map_area .mptbm_distance_time{left:16px!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-trip-summary{top:auto;right:16px;bottom:72px;width:300px;max-height:48%}
}
@media (max-width:900px){
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace{display:flex!important;flex-direction:column;min-height:0!important;overflow:visible;background:transparent;border:0;box-shadow:none}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace>.mptbm_map_area{position:relative!important;inset:auto!important;order:1;height:auto!important;display:flex!important;flex-direction:column;border-radius:var(--sbf-r)!important;overflow:hidden!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .mptbm_map_collapsible_body,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .fullHeight{position:relative!important;inset:auto!important;height:240px!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptbm_map_area .mptbm_distance_time{position:relative!important;left:auto!important;bottom:auto!important;width:100%!important;border-radius:0!important;border-width:1px 0 0!important;box-shadow:none!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext{position:relative!important;top:auto!important;left:auto!important;width:100%!important;max-width:none!important;padding:12px 14px!important;order:-1;background:var(--sbf-card)!important;border-bottom:1px solid var(--sbf-line)!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace>.mptbm_search_area,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible):has(.mptb-tabs) .shausm-workspace>.mptbm_search_area{order:0;width:auto!important;max-width:none!important;max-height:none!important;margin:0 0 12px!important;padding:16px!important;overflow:visible}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs{position:relative!important;top:auto;left:auto;width:100%;max-width:none;margin:0 0 10px!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-trip-summary{position:relative;order:2;top:auto;right:auto;bottom:auto;width:auto;max-height:none;margin:12px 0 0;box-shadow:none}
  .shausm-trip-summary__toggle{display:inline-flex;align-items:center;justify-content:center}
  .shausm-trip-summary.is-collapsed .shausm-trip-summary__body{display:none}
  .shausm-trip-summary.is-collapsed .shausm-trip-summary__head{border-bottom:0}
}
@media (max-width:480px){.cb-booking-v2.shausm-layout-planner .tabListsNext .circleTitle{font-size:10px!important}.shausm-ts-row>small{flex-basis:78px}}
/* 2.6.3 polish: only the current step shows its label; tabs wrap their text instead of squeezing */
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext .tabItemNext:not(.active) .circleTitle,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext .shausm-step-static .circleTitle{display:none!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext .tabItemNext.active{flex:2 1 0!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs>li.tab-link{flex-direction:column;gap:3px;padding:8px 4px!important;font-size:11.5px!important;white-space:normal;text-align:center;line-height:1.15!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs{top:80px!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible):has(.mptb-tabs) .shausm-workspace>.mptbm_search_area{padding-top:150px!important}
.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext::before,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext::after,.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .shausm-workspace .tabListsNext .tabItemNext::after{display:none!important}
@media (max-width:900px){
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs{position:relative!important;top:auto!important;left:auto!important;width:100%!important;max-width:none!important;margin:0 0 10px!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible):has(.mptb-tabs) .shausm-workspace>.mptbm_search_area{padding-top:16px!important}
  .cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs>li.tab-link{flex-direction:row;padding:10px 6px!important}
}
@media (max-width:560px){.cb-booking-v2.shausm-layout-planner:not(.cb-results-visible) .mptb-tab-container>.mptb-tabs{grid-auto-flow:row;grid-template-columns:1fr 1fr!important;grid-auto-columns:auto;overflow:visible!important}}
