.proweb-ecab-wrap{
  --proweb-ecab-max-width:500px;
  --proweb-bg:rgba(3,15,20,.94);
  --proweb-text:#fff;
  --proweb-muted:rgba(255,255,255,.55);
  --proweb-line:rgba(255,255,255,.47);
  --proweb-blue:#183a3a;
  width:100%;min-width:0;display:flex;position:relative;z-index:60;box-sizing:border-box
}
.proweb-ecab-align-left{justify-content:flex-start}.proweb-ecab-align-center{justify-content:center}.proweb-ecab-align-right{justify-content:flex-end}
.proweb-ecab-card,.proweb-ecab-card *{box-sizing:border-box}
.proweb-ecab-card{
  width:min(100%,var(--proweb-ecab-max-width));max-width:var(--proweb-ecab-max-width);min-width:0;
  padding:34px 30px 30px;color:var(--proweb-text)!important;background:var(--proweb-bg)!important;
  border:1px solid rgba(255,255,255,.44);border-radius:16px;box-shadow:0 22px 55px rgba(0,0,0,.25);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:visible;font-family:inherit
}
.proweb-ecab-hidden,.proweb-ecab-native-control-hidden,.proweb-ecab-leftover-hidden{display:none!important}
.proweb-ecab-card .mptbm_search_area,.proweb-ecab-card .mpForm,.proweb-ecab-card .inputList,.proweb-ecab-card label{background:transparent!important;box-shadow:none!important}
.proweb-ecab-card .mptbm_search_area{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;overflow:visible!important}
.proweb-ecab-layout{display:flex;flex-direction:column;gap:24px;width:100%;position:relative;z-index:5}
.proweb-ecab-row{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;width:100%}
.proweb-ecab-row.is-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.proweb-ecab-field{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;position:relative!important;float:none!important}
.proweb-ecab-field label{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important}
.proweb-ecab-field label>span:not(.mptbm_left_icon){display:block!important;margin:0 0 7px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;line-height:1.35!important;font-weight:800!important;letter-spacing:.02em!important;text-transform:uppercase!important}
.proweb-ecab-card .proweb-ecab-field .formControl,
.proweb-ecab-card .proweb-ecab-field input.formControl,
.proweb-ecab-card .proweb-ecab-field select.formControl{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;
  margin:0!important;padding:7px 38px 10px 0!important;background:transparent!important;background-image:none!important;
  border:0!important;border-bottom:1px solid var(--proweb-line)!important;border-radius:0!important;box-shadow:none!important;outline:0!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:inherit!important;font-size:16px!important;font-weight:500!important;line-height:1.4!important;opacity:1!important
}
.proweb-ecab-card .proweb-ecab-field .formControl::placeholder{color:var(--proweb-muted)!important;-webkit-text-fill-color:var(--proweb-muted)!important;opacity:1!important}
.proweb-ecab-card .proweb-ecab-field .formControl:focus{border-bottom-color:#fff!important;background:transparent!important;box-shadow:none!important}
.proweb-ecab-card .proweb-ecab-field .mptbm_left_icon{
  position:absolute!important;left:auto!important;right:0!important;bottom:8px!important;width:30px!important;height:34px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;color:rgba(255,255,255,.72)!important;font-size:17px!important;pointer-events:none!important
}
.proweb-ecab-card #mptbm_taxi_return,.proweb-ecab-card #mptbm_waiting_time{display:none!important}

/* Native eCab 2.1.0 time dropdowns: fully opaque and readable. */
.proweb-ecab-card .mp_input_select{position:relative!important;overflow:visible!important}
.proweb-ecab-card ul.mp_input_select_list,
.proweb-ecab-card ul.start_time_list,
.proweb-ecab-card ul.return_time_list{
  display:none;position:absolute!important;left:0!important;right:0!important;top:100%!important;width:100%!important;max-height:250px!important;
  margin:6px 0 0!important;padding:7px!important;overflow-y:auto!important;z-index:999999!important;
  background:#03080d!important;background-color:#03080d!important;background-image:none!important;opacity:1!important;
  border:1px solid rgba(255,255,255,.38)!important;border-radius:12px!important;box-shadow:0 18px 40px rgba(0,0,0,.55)!important
}
.proweb-ecab-card ul.mp_input_select_list li,
.proweb-ecab-card ul.start_time_list li,
.proweb-ecab-card ul.return_time_list li{
  display:block;min-height:38px!important;margin:0!important;padding:9px 12px!important;border:0!important;border-radius:8px!important;
  background:#03080d!important;background-color:#03080d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-size:14px!important;font-weight:600!important;line-height:20px!important;opacity:1!important;cursor:pointer!important
}
.proweb-ecab-card ul.mp_input_select_list li:hover,
.proweb-ecab-card ul.start_time_list li:hover,
.proweb-ecab-card ul.return_time_list li:hover{background:var(--proweb-blue)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.proweb-ecab-card ul.start_time_list li.mptbm-time-unavailable,
.proweb-ecab-card ul.start_time_list li.mptbm-time-unavailable:hover{
  display:flex!important;align-items:center!important;justify-content:space-between!important;background:#111a22!important;color:rgba(255,255,255,.5)!important;-webkit-text-fill-color:rgba(255,255,255,.5)!important;cursor:not-allowed!important
}
.proweb-ecab-card ul.start_time_list li.mptbm-time-unavailable::after{
  background:#e8edf3!important;color:#657080!important;padding:2px 7px!important;border-radius:999px!important;font-size:10px!important
}

/* Return ride uses the REAL #mptbm_taxi_return + #mptbm_return_date/time controls. */
.proweb-ecab-return-add-row{display:flex;justify-content:center;width:100%}
.proweb-ecab-return-add{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:50px!important;padding:12px 24px!important;margin:0!important;
  background:transparent!important;border:2px solid var(--proweb-blue)!important;border-radius:999px!important;color:#b7cccc!important;-webkit-text-fill-color:#b7cccc!important;
  font-family:inherit!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;cursor:pointer!important;box-shadow:none!important
}
.proweb-return-icon{width:18px;height:18px;display:inline-flex}.proweb-return-icon svg{width:18px;height:18px;display:block}
.proweb-ecab-return-section{display:none;flex-direction:column;gap:18px;width:100%}
.proweb-ecab-return-section.is-active{display:flex!important}
.proweb-ecab-return-title{display:flex;align-items:center;gap:14px;width:100%}
.proweb-ecab-return-title strong{color:#fff!important;font-size:15px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.02em!important}
.proweb-ecab-return-remove{
  width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;margin:0!important;border:1px solid #8fa7a7!important;border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#e8f0f0!important;color:#183a3a!important;-webkit-text-fill-color:#183a3a!important;
  font-size:24px!important;font-weight:400!important;line-height:1!important;cursor:pointer!important
}
.proweb-ecab-return-section .proweb-ecab-native-return-date,
.proweb-ecab-return-section .proweb-ecab-native-return-time{display:none!important}
.proweb-ecab-return-section.is-active .proweb-ecab-native-return-date,
.proweb-ecab-return-section.is-active .proweb-ecab-native-return-time{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;min-height:0!important;overflow:visible!important}

/* Actual eCab search button. No cloned/fake button. */
.proweb-ecab-submit-row{margin-top:0}
.proweb-ecab-field-submit{width:100%!important}
.proweb-ecab-card #mptbm_get_vehicle.proweb-ecab-search-button{
  width:100%!important;max-width:100%!important;min-height:62px!important;margin:0!important;padding:14px 20px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;
  background:var(--proweb-blue)!important;border:1px solid var(--proweb-blue)!important;border-radius:10px!important;box-shadow:0 12px 26px rgba(24,58,58,.32)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:inherit!important;font-size:18px!important;font-weight:800!important;line-height:1.2!important;text-transform:uppercase!important;cursor:pointer!important
}
.proweb-search-icon{width:20px;height:20px;display:inline-flex!important;color:#fff!important}.proweb-search-icon svg{display:block;width:20px;height:20px;stroke:#fff!important}
.proweb-search-label{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Flatpickr is appended to body by eCab. Keep it above Slider Revolution. */
.flatpickr-calendar{z-index:9999999!important}
.pac-container,.ui-autocomplete,.select2-container--open{z-index:9999999!important}

/* Prevent Slider Revolution from forcing odd widths. */
.tp-caption .proweb-ecab-wrap,.rs-layer .proweb-ecab-wrap,.rev_slider .proweb-ecab-wrap,
.tp-caption .proweb-ecab-card,.rs-layer .proweb-ecab-card,.rev_slider .proweb-ecab-card{min-width:0!important;max-width:100%!important}

.proweb-ecab-admin-message{padding:12px 14px;background:#fff3cd;border:1px solid #ffe69c;color:#664d03;border-radius:6px}

@media(max-width:1024px){.proweb-ecab-wrap{justify-content:center}.proweb-ecab-card{width:min(100%,540px)}}
@media(max-width:767px){
  .proweb-ecab-card{width:100%;max-width:100%;padding:24px 18px 20px;border-radius:12px}
  .proweb-ecab-layout{gap:20px}
  .proweb-ecab-row.is-two{grid-template-columns:minmax(0,1fr);gap:20px}
  .proweb-ecab-card #mptbm_get_vehicle.proweb-ecab-search-button{min-height:58px!important;font-size:17px!important}
}


/* 1.3.1 visual fixes: remove native white/grey panels and improve contrast */
.proweb-ecab-card .mptbm_transport_search_area,
.proweb-ecab-card .tabsContentNext,
.proweb-ecab-card .tabsContentNext > div,
.proweb-ecab-card .mptbm_search_area,
.proweb-ecab-card .mptbm_search_area.inputHorizontal,
.proweb-ecab-card .mpForm,
.proweb-ecab-card .inputList,
.proweb-ecab-card .mptbm_select_proxy,
.proweb-ecab-card div[data-collapse],
.proweb-ecab-card .fdColumn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.proweb-ecab-card .mptbm_transport_search_area{
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.proweb-ecab-card .tabsContentNext{
  padding:0 !important;
  border-radius:0 !important;
}
.proweb-ecab-card .mptbm_search_area,
.proweb-ecab-card .mptbm_search_area.inputHorizontal{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.proweb-ecab-card .proweb-ecab-field label,
.proweb-ecab-card .proweb-ecab-field label span:not(.mptbm_left_icon),
.proweb-ecab-card .proweb-ecab-return-title strong,
.proweb-ecab-card .mptbm_search_area label,
.proweb-ecab-card .mptbm_search_area label span:not(.mptbm_left_icon){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.proweb-ecab-card .proweb-ecab-field .formControl,
.proweb-ecab-card .proweb-ecab-field input.formControl,
.proweb-ecab-card .proweb-ecab-field select.formControl,
.proweb-ecab-card .proweb-ecab-field textarea.formControl{
  background:transparent !important;
  background-color:transparent !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.proweb-ecab-card .proweb-ecab-field .formControl::placeholder,
.proweb-ecab-card .proweb-ecab-field input.formControl::placeholder,
.proweb-ecab-card .proweb-ecab-field textarea.formControl::placeholder{
  color:rgba(255,255,255,.68) !important;
  -webkit-text-fill-color:rgba(255,255,255,.68) !important;
}
.proweb-ecab-card .mptbm_left_icon,
.proweb-ecab-card .proweb-ecab-field .mptbm_left_icon{
  color:rgba(255,255,255,.82) !important;
}
/* stronger override for native input backgrounds from eCab */
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl{
  background:#0000 !important;
  background-color:transparent !important;
  border-color:transparent !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
}
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:focus{
  background:transparent !important;
  background-color:transparent !important;
}


/* 1.3.2 — ALES-style location pins + teal accent */
.proweb-ecab-card .proweb-ecab-field-pickup .mptbm_left_icon,
.proweb-ecab-card .proweb-ecab-field-dropoff .mptbm_left_icon {
  display: none !important;
}
.proweb-ecab-card .proweb-ecab-field-pickup label::after,
.proweb-ecab-card .proweb-ecab-field-dropoff label::after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: 12px;
  width: 20px;
  height: 23px;
  pointer-events: none;
  background-color: rgba(255,255,255,.82);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.1 7-13A7 7 0 1 0 5 9c0 6.9 7 13 7 13Z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='9' r='2.25' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.1 7-13A7 7 0 1 0 5 9c0 6.9 7 13 7 13Z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='9' r='2.25' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  z-index: 6;
}

/* Keep every formerly-blue hero accent on the requested brand tone. */
.proweb-ecab-card #mptbm_get_vehicle.proweb-ecab-search-button {
  background: #183a3a !important;
  border-color: #183a3a !important;
  box-shadow: 0 12px 26px rgba(24,58,58,.32) !important;
}
.proweb-ecab-card #mptbm_get_vehicle.proweb-ecab-search-button:hover {
  background: #1d4747 !important;
  border-color: #1d4747 !important;
}
.proweb-ecab-card .proweb-ecab-return-add {
  border-color: #183a3a !important;
}
.proweb-ecab-card .proweb-ecab-return-add:hover {
  background: rgba(24,58,58,.28) !important;
}


/* 1.3.3 — improved readability in the time dropdown */
.proweb-ecab-card ul.mp_input_select_list,
.proweb-ecab-card ul.start_time_list,
.proweb-ecab-card ul.return_time_list {
  background: #050b10 !important;
  background-color: #050b10 !important;
  border-color: rgba(255,255,255,.28) !important;
}
.proweb-ecab-card ul.mp_input_select_list li,
.proweb-ecab-card ul.start_time_list li,
.proweb-ecab-card ul.return_time_list li {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.proweb-ecab-card ul.start_time_list li.mptbm-time-unavailable,
.proweb-ecab-card ul.return_time_list li.mptbm-time-unavailable,
.proweb-ecab-card ul.mp_input_select_list li.mptbm-time-unavailable,
.proweb-ecab-card ul.start_time_list li.mptbm-time-unavailable:hover,
.proweb-ecab-card ul.return_time_list li.mptbm-time-unavailable:hover,
.proweb-ecab-card ul.mp_input_select_list li.mptbm-time-unavailable:hover {
  background: #101a22 !important;
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
  opacity: 1 !important;
}
.proweb-ecab-card ul.start_time_list li.mptbm-time-unavailable::after,
.proweb-ecab-card ul.return_time_list li.mptbm-time-unavailable::after,
.proweb-ecab-card ul.mp_input_select_list li.mptbm-time-unavailable::after {
  content: "Fully booked" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f3f6f8 !important;
  color: #31404f !important;
  -webkit-text-fill-color: #31404f !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.proweb-ecab-card ul.start_time_list li:hover,
.proweb-ecab-card ul.return_time_list li:hover,
.proweb-ecab-card ul.mp_input_select_list li:hover {
  background: #183a3a !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}


/* 1.3.4 — return ride can never be before the outbound ride. */
.proweb-ecab-card ul.return_time_list li.proweb-return-time-too-early {
  display: none !important;
}


/* 1.3.5 — Passengers + Bags in the initial hero form, synced to eCab IDs. */
.proweb-ecab-people-row {
  margin-top: 2px;
}
.proweb-ecab-card .proweb-ecab-field-passengers .mptbm_left_icon,
.proweb-ecab-card .proweb-ecab-field-bags .mptbm_left_icon {
  display: none !important;
}
.proweb-ecab-card .proweb-ecab-field-passengers label::after,
.proweb-ecab-card .proweb-ecab-field-bags label::after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: 14px;
  width: 20px;
  height: 20px;
  pointer-events: none;
  background-color: rgba(255,255,255,.82);
  z-index: 6;
}
.proweb-ecab-card .proweb-ecab-field-passengers label::after {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3.5 19c.5-4 2.4-6 5.5-6s5 2 5.5 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='17' cy='9' r='2.2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M15.5 14c2.8-.3 4.6 1.4 5 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3.5 19c.5-4 2.4-6 5.5-6s5 2 5.5 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='17' cy='9' r='2.2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M15.5 14c2.8-.3 4.6 1.4 5 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.proweb-ecab-card .proweb-ecab-field-bags label::after {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='8' width='14' height='12' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2M8 12v4M16 12v4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='8' width='14' height='12' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2M8 12v4M16 12v4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.proweb-ecab-card .proweb-ecab-field-passengers select.formControl,
.proweb-ecab-card .proweb-ecab-field-bags select.formControl {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 38px !important;
  cursor: pointer !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
}
.proweb-ecab-card .proweb-ecab-field-passengers select.formControl option,
.proweb-ecab-card .proweb-ecab-field-bags select.formControl option {
  color: #fff !important;
  background: #071116 !important;
}


/* 1.3.6 — eCab vehicle results inside a centered modal instead of redirecting. */
body.proweb-ecab-modal-open {
  overflow: hidden !important;
}
.proweb-ecab-results-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  font-family: inherit;
}
.proweb-ecab-results-modal.is-open {
  display: flex !important;
}
.proweb-ecab-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.76);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.proweb-ecab-modal-dialog {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100vw - 56px));
  max-height: min(86vh, 900px);
  display: grid;
  grid-template-columns: 245px minmax(0,1fr);
  overflow: hidden;
  background: #fff;
  color: #0f172a;
  border-radius: 12px;
  box-shadow: 0 30px 90px rgba(0,0,0,.38);
}
.proweb-ecab-modal-close {
  position: absolute !important;
  top: 18px;
  right: 20px;
  z-index: 20;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 38px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.proweb-ecab-modal-rail {
  padding: 42px 34px;
  border-right: 1px solid #d8dee7;
  background: #fff;
}
.proweb-ecab-modal-kicker {
  color: #183a3a;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .01em;
}
.proweb-ecab-modal-note {
  margin-top: 8px;
  color: #64748b;
  font-size: 14px;
}
.proweb-ecab-modal-steps {
  margin-top: 34px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.proweb-ecab-modal-step {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 12px;
  align-items: center;
  color: #667085;
  font-size: 14px;
}
.proweb-ecab-modal-step > span {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e6efef;
  color: #183a3a;
  font-weight: 800;
}
.proweb-ecab-modal-step.is-active {
  color: #0f172a;
}
.proweb-ecab-modal-step.is-active > span {
  background: #183a3a;
  color: #fff;
}
.proweb-ecab-modal-main {
  min-width: 0;
  max-height: min(86vh, 900px);
  overflow-y: auto;
  padding: 40px 44px 42px;
  background: #fff;
}
.proweb-ecab-modal-header {
  padding-right: 48px;
  margin-bottom: 20px;
}
.proweb-ecab-modal-header h2 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}
.proweb-ecab-modal-header p {
  margin: 7px 0 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
}
.proweb-ecab-modal-mount,
.proweb-ecab-modal-mount .mptbm_transport_search_area,
.proweb-ecab-modal-mount .mptbm_map_area {
  width: 100% !important;
  max-width: 100% !important;
}
.proweb-ecab-results-modal .proweb-ecab-modal-transport {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}
/* The original search form stays intact in the DOM for eCab state/handlers,
   but it is not repeated inside the results modal. */
.proweb-ecab-results-modal .mptbm_search_area,
.proweb-ecab-results-modal .tabListsNext,
.proweb-ecab-results-modal .mptbm_map_area_header,
.proweb-ecab-results-modal .mptbm_map_collapsible_body,
.proweb-ecab-results-modal .get_details_next_link,
.proweb-ecab-results-modal .mptbm-map-warning {
  display: none !important;
}
.proweb-ecab-results-modal .mptbm_map_area {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.proweb-ecab-results-modal .mptbm_inline_search_results.mptbm_inline_results_active {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.proweb-ecab-results-modal .mptbm_inline_results_reset {
  display: none !important;
}
.proweb-ecab-results-modal .mptbm_inline_search_results .mptbm_results_toolbar {
  padding: 16px 18px !important;
  margin-bottom: 20px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #f7f8fa !important;
}
.proweb-ecab-results-modal .mptbm_inline_search_results .mptbm_booking_item {
  border-radius: 14px !important;
  box-shadow: 0 1px 3px rgba(15,23,42,.05), 0 8px 24px rgba(15,23,42,.06) !important;
}
.proweb-ecab-modal-target-hidden {
  display: none !important;
}

@media (max-width: 900px) {
  .proweb-ecab-results-modal { padding: 16px; }
  .proweb-ecab-modal-dialog {
    width: min(760px, calc(100vw - 32px));
    grid-template-columns: 1fr;
    max-height: 92vh;
  }
  .proweb-ecab-modal-rail {
    padding: 22px 24px 16px;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }
  .proweb-ecab-modal-note { display: none; }
  .proweb-ecab-modal-steps {
    margin-top: 14px;
    flex-direction: row;
    gap: 14px;
  }
  .proweb-ecab-modal-step { font-size: 13px; }
  .proweb-ecab-modal-main {
    max-height: calc(92vh - 115px);
    padding: 26px 24px 30px;
  }
}
@media (max-width: 600px) {
  .proweb-ecab-results-modal { padding: 0; }
  .proweb-ecab-modal-dialog {
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
  }
  .proweb-ecab-modal-rail { padding: 18px 18px 12px; }
  .proweb-ecab-modal-kicker { font-size: 14px; }
  .proweb-ecab-modal-steps { gap: 8px; }
  .proweb-ecab-modal-step { grid-template-columns: 26px 1fr; gap: 7px; font-size: 12px; }
  .proweb-ecab-modal-step > span { width: 26px; height: 26px; }
  .proweb-ecab-modal-main {
    max-height: calc(100dvh - 100px);
    padding: 22px 16px 26px;
  }
  .proweb-ecab-modal-header h2 { font-size: 21px !important; }
  .proweb-ecab-modal-close { top: 12px; right: 12px; }
}


/* 1.3.7 — keep result filters in sync with the hero search + one sort chevron only. */
.proweb-ecab-results-modal .mptbm_results_sort {
  position: relative !important;
}
.proweb-ecab-results-modal .mptbm_results_sort select.mptbm_sort_select,
.proweb-ecab-results-modal select.mptbm_sort_select.formControl {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  padding-right: 34px !important;
}
.proweb-ecab-results-modal .mptbm_results_sort::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #64748b;
  border-bottom: 1.5px solid #64748b;
  transform: translateY(-68%) rotate(45deg);
  pointer-events: none;
  z-index: 3;
}


/* 1.3.9 — safe map handling.
   IMPORTANT: eCab places .mptbm_inline_search_results INSIDE .mptbm_map_area.
   Therefore the wrapper itself must stay visible in the results modal.
   Only the actual map/header/collapsible body are hidden. */

/* While the transport form is back inside the hero, hide the entire map/results shell.
   This prevents Leaflet from appearing over the compact form after the modal closes. */
.proweb-ecab-card .mptbm_map_area {
  display: none !important;
}

/* Inside the results modal the wrapper is required for the AJAX vehicle results. */
.proweb-ecab-results-modal .mptbm_map_area {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Hide only the real map UI, never the wrapper containing results. */
.proweb-ecab-results-modal .mptbm_map_area_header,
.proweb-ecab-results-modal .mptbm_map_collapsible_body,
.proweb-ecab-results-modal #mptbm_map_area,
.proweb-ecab-results-modal .leaflet-container {
  display: none !important;
}

/* Old 1.3.8 class must never be allowed to hide the modal results wrapper. */
.proweb-ecab-results-modal .mptbm_map_area.proweb-ecab-map-force-hidden {
  display: block !important;
}


/* 1.3.10 — fix pickup/dropoff grey boxes in hero card */
.proweb-ecab-card .proweb-ecab-field-pickup .formControl,
.proweb-ecab-card .proweb-ecab-field-dropoff .formControl,
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl,
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: none !important;
  border-color: transparent !important;
  opacity: 1 !important;
}
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl::-webkit-input-placeholder,
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl::-webkit-input-placeholder,
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl::placeholder,
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl::placeholder {
  color: rgba(255,255,255,.72) !important;
  -webkit-text-fill-color: rgba(255,255,255,.72) !important;
}
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl:-webkit-autofill,
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl:-webkit-autofill:hover,
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl:-webkit-autofill:focus,
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl:-webkit-autofill,
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl:-webkit-autofill:hover,
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl:-webkit-autofill:focus {
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  transition: background-color 99999s ease-in-out 0s;
}
.proweb-ecab-card .proweb-ecab-field-pickup label,
.proweb-ecab-card .proweb-ecab-field-dropoff label {
  background: transparent !important;
  background-color: transparent !important;
}


/* 1.3.11 — eCab sets disabled .formControl to grey (#ddd5).
   Pickup / drop fields use disabled/readonly proxy inputs, so force them transparent. */
.proweb-ecab-card .proweb-ecab-field-pickup .formControl:disabled,
.proweb-ecab-card .proweb-ecab-field-dropoff .formControl:disabled,
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl[disabled],
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl[disabled],
.proweb-ecab-card .proweb-ecab-field-pickup input.formControl[readonly],
.proweb-ecab-card .proweb-ecab-field-dropoff input.formControl[readonly] {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: transparent !important;
  opacity: 1 !important;
}
.proweb-ecab-card .proweb-ecab-field-pickup .formControl:focus,
.proweb-ecab-card .proweb-ecab-field-dropoff .formControl:focus,
.proweb-ecab-card .proweb-ecab-field-pickup .formControl:disabled:focus,
.proweb-ecab-card .proweb-ecab-field-dropoff .formControl:disabled:focus {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}


/* 1.3.13 — strongest pickup/dropoff reset after modal/result rendering.
   eCab can re-style or disable these controls after an AJAX result cycle. */
.proweb-ecab-card.proweb-ecab-ready
.mptbm_transport_search_area
.proweb-ecab-layout
.proweb-ecab-field-pickup,
.proweb-ecab-card.proweb-ecab-ready
.mptbm_transport_search_area
.proweb-ecab-layout
.proweb-ecab-field-dropoff,
.proweb-ecab-card.proweb-ecab-ready
.mptbm_transport_search_area
.proweb-ecab-layout
.proweb-ecab-field-pickup *,
.proweb-ecab-card.proweb-ecab-ready
.mptbm_transport_search_area
.proweb-ecab-layout
.proweb-ecab-field-dropoff * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-pickup input.formControl,
.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-dropoff input.formControl,
.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-pickup input.formControl:disabled,
.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-dropoff input.formControl:disabled,
.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-pickup input.formControl[readonly],
.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-dropoff input.formControl[readonly] {
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--proweb-line) !important;
  border-radius: 0 !important;
}

.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-pickup label::after,
.proweb-ecab-card.proweb-ecab-ready
.proweb-ecab-field-dropoff label::after {
  background-color: rgba(255,255,255,.82) !important;
}


/* 1.3.15 — direct override of eCab's original grey .formControl styling
   for pickup/dropoff fields. This targets the native selectors that set
   background-color:#f1f4f9 in eCab itself. */
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area .inputList,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area .inputList label.fdColumn,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area .inputList.mptbm_manual_end_place,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area .inputList .fdColumn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:focus,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:hover,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:active,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:disabled,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl[disabled],
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl[readonly],
.proweb-ecab-card div.mptbm_transport_search_area #mptbm_map_start_place.formControl,
.proweb-ecab-card div.mptbm_transport_search_area #mptbm_map_end_place.formControl,
.proweb-ecab-card div.mptbm_transport_search_area #mptbm_manual_start_place.formControl,
.proweb-ecab-card div.mptbm_transport_search_area #mptbm_manual_end_place.formControl {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--proweb-line) !important;
  border-radius: 0 !important;
}

.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl::placeholder,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl::-webkit-input-placeholder {
  color: rgba(255,255,255,.72) !important;
  -webkit-text-fill-color: rgba(255,255,255,.72) !important;
}

.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:-webkit-autofill,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:-webkit-autofill:hover,
.proweb-ecab-card div.mptbm_transport_search_area .mptbm_search_area label .formControl:-webkit-autofill:focus {
  -webkit-text-fill-color: #ffffff !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  transition: background-color 9999s ease-in-out 0s !important;
}

/* Make sure right-side location icons remain visible above any reset state. */
.proweb-ecab-card .proweb-ecab-field-pickup .mptbm_left_icon,
.proweb-ecab-card .proweb-ecab-field-dropoff .mptbm_left_icon {
  background: transparent !important;
  color: rgba(255,255,255,.84) !important;
  z-index: 2 !important;
}


/* 1.3.18 — native checkout inside the custom results modal */
.proweb-ecab-results-modal .mptbm_order_summary.proweb-ecab-checkout-visible {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.proweb-ecab-results-modal .mptbm_order_summary.proweb-ecab-checkout-visible .mp_sticky_section,
.proweb-ecab-results-modal .mptbm_order_summary.proweb-ecab-checkout-visible .mainSection,
.proweb-ecab-results-modal .mptbm_order_summary.proweb-ecab-checkout-visible .mptbm_checkout_area {
  width: 100% !important;
  max-width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.proweb-ecab-results-modal .mptbm_order_summary.proweb-ecab-checkout-visible .mptbm_checkout_area {
  min-height: 120px !important;
}
.proweb-ecab-results-modal .proweb-ecab-modal-step.is-done > span {
  background: #e6efef !important;
  color: #183a3a !important;
}


/* 1.3.22 — booking anchor */
.proweb-ecab-wrap[data-proweb-booking-anchor] {
  scroll-margin-top: 100px;
}

@media (max-width: 767px) {
  .proweb-ecab-wrap[data-proweb-booking-anchor] {
    scroll-margin-top: 72px;
  }
}


/* 1.3.23 — booking form popup */
.proweb-booking-form-modal {
  position: fixed;
  inset: 0;
  z-index: 10000020;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.proweb-booking-form-modal.is-open {
  display: flex;
}
.proweb-booking-form-dialog {
  position: relative;
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100dvh - 36px);
  overflow: auto;
  border-radius: 18px;
}
.proweb-booking-form-dialog .proweb-ecab-wrap {
  width: 100% !important;
  justify-content: center !important;
  margin: 0 !important;
  transform: none !important;
}
.proweb-booking-form-dialog .proweb-ecab-card {
  width: 100% !important;
  max-width: 100% !important;
}
.proweb-booking-form-close {
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 20;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}
body.proweb-booking-form-modal-open {
  overflow: hidden !important;
}
@media (max-width: 767px) {
  .proweb-booking-form-modal {
    padding: 10px;
    align-items: flex-start;
    overflow-y: auto;
  }
  .proweb-booking-form-dialog {
    width: 100%;
    max-height: none;
    margin: 18px 0;
  }
  .proweb-booking-form-close {
    top: 8px;
    right: 10px;
  }
}


/* 1.3.25 — form-only booking popup.
   Keep the compact hero form exactly as it is; no route map in the popup. */
.proweb-booking-form-dialog {
  width: min(560px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 36px) !important;
  overflow: auto !important;
}

.proweb-booking-form-dialog .proweb-ecab-wrap,
.proweb-booking-form-dialog .proweb-ecab-card {
  width: 100% !important;
  max-width: 100% !important;
}

.proweb-booking-form-dialog .mptbm_map_area,
.proweb-booking-form-dialog .mptbm_map_area_header,
.proweb-booking-form-dialog .mptbm_map_collapsible_body,
.proweb-booking-form-dialog #mptbm_map_area,
.proweb-booking-form-dialog .leaflet-container {
  display: none !important;
}

/* eCab OSM autocomplete is appended to BODY with z-index:99999.
   The popup overlay is above that, so without this rule the suggestions
   exist but remain hidden behind the popup. */
body > .mptbm-osm-autocomplete {
  z-index: 10000150 !important;
  background: #fff !important;
  color: #172033 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.22) !important;
}

/* Google / jQuery / Select2 autocomplete fallbacks. */
body > .pac-container,
body > .ui-autocomplete,
body > .select2-container--open {
  z-index: 10000150 !important;
}

/* A clear close button for the booking popup. */
.proweb-booking-form-close {
  top: 10px !important;
  right: 10px !important;
  width: 40px !important;
  height: 40px !important;
  z-index: 100 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.96) !important;
  color: #0b1820 !important;
  -webkit-text-fill-color: #0b1820 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.22) !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

@media (max-width: 600px) {
  .proweb-booking-form-dialog {
    width: 100% !important;
    max-height: none !important;
    margin: 10px 0 !important;
  }
  .proweb-booking-form-close {
    position: fixed !important;
    top: 14px !important;
    right: 14px !important;
  }
}


/* 1.3.26 — interactive portals above the booking popup */
body.proweb-booking-form-modal-open .flatpickr-calendar,
body.proweb-booking-form-modal-open .flatpickr-calendar.open,
body.proweb-booking-form-modal-open .pac-container,
body.proweb-booking-form-modal-open .ui-autocomplete,
body.proweb-booking-form-modal-open .select2-container,
body.proweb-booking-form-modal-open .select2-container--open,
body.proweb-booking-form-modal-open .mptbm-osm-autocomplete {
  z-index: 10000250 !important;
  pointer-events: auto !important;
}

/* Flatpickr is appended directly to body, outside the modal DOM. */
body.proweb-booking-form-modal-open .flatpickr-calendar {
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Make sure autocomplete suggestions remain clickable. */
body.proweb-booking-form-modal-open .mptbm-osm-autocomplete,
body.proweb-booking-form-modal-open .mptbm-osm-autocomplete * {
  pointer-events: auto !important;
}


/* 1.3.27 — make real eCab/WooCommerce checkout visible inside the results modal. */
.proweb-ecab-results-modal .mptbm_checkout_area,
.proweb-ecab-results-modal .mptbm_checkout_area > *,
.proweb-ecab-results-modal .mptbm_checkout_area form.checkout,
.proweb-ecab-results-modal .mptbm_checkout_area form.woocommerce-checkout,
.proweb-ecab-results-modal .mptbm_checkout_area #customer_details,
.proweb-ecab-results-modal .mptbm_checkout_area .woocommerce-billing-fields {
  max-width: 100% !important;
}

.proweb-ecab-results-modal .mptbm_checkout_area .mptbm-cart-error,
.proweb-ecab-results-modal .mptbm_checkout_area .woocommerce-error,
.proweb-ecab-results-modal .mptbm_checkout_area .woocommerce-message {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #172033 !important;
  background: #fff4e5 !important;
  border: 1px solid #f0c36d !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
}


/* 1.3.28 — never repeat the compact hero form inside the results dialog. */
.proweb-ecab-results-modal.is-open .proweb-ecab-modal-transport > .mptbm_search_area,
.proweb-ecab-results-modal.is-open .proweb-ecab-modal-transport .mptbm_search_area,
.proweb-ecab-results-modal.is-open .proweb-ecab-modal-transport .proweb-ecab-layout {
  display: none !important;
}

/* Real booking errors stay visible without replacing the whole results screen. */
.proweb-ecab-booking-alert {
  margin: 14px 0 18px !important;
  padding: 12px 14px !important;
  border: 1px solid #f0c36d !important;
  border-radius: 10px !important;
  background: #fff7e6 !important;
  color: #704d00 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}


/* 1.3.34 — native eCab 2.1.0 Custom Payment details stage */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage {
  display: none;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 4px 0 14px !important;
  background: #fff !important;
  color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_custom_checkout {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 10px 0 8px !important;
  background: #fff !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_head h3,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field label,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_pm_name {
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_pm_sub {
  color: #6b7280 !important;
  -webkit-text-fill-color: #6b7280 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field_full {
  grid-column: 1 / -1 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field input {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 48px !important;
  box-sizing: border-box !important;
  padding: 0 14px !important;
  background: #fff !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  border: 1.5px solid #dce3e8 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_payment_methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_pm_card {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1.5px solid #183a3a !important;
  border-radius: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer {
  display: block !important;
  margin-top: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_footer {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 14px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
  min-width: 220px !important;
  min-height: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 12px 20px !important;
  background: #183a3a !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

@media (max-width: 620px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_fields {
    grid-template-columns: 1fr !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field_full {
    grid-column: auto !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_footer,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
    width: 100% !important;
  }
}


/* 1.3.35 — improved native details screen + notes field */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage {
  display: none;
  flex-direction: column;
  gap: 18px;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 6px 0 18px !important;
  background: transparent !important;
  color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-summary {
  background: #f5f7fb !important;
  border: 1px solid #e4e9f0 !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-eyebrow {
  margin: 0 0 8px !important;
  color: #1c66f2 !important;
  -webkit-text-fill-color: #1c66f2 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-route {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-route strong {
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-arrow {
  color: #6b7280 !important;
  -webkit-text-fill-color: #6b7280 !important;
  font-weight: 700 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-chips span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #ebeff5 !important;
  color: #5f6778 !important;
  -webkit-text-fill-color: #5f6778 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-vehicle {
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-total {
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_custom_checkout {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 20px 22px 8px !important;
  background: #ffffff !important;
  border: 1px solid #e4e9f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .04) !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_head_pay {
  margin-top: 26px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_head h3 {
  margin: 0 !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field_full {
  grid-column: 1 / -1 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field label {
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field input,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field textarea {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field input {
  height: 56px !important;
  padding: 0 16px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field textarea {
  min-height: 120px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field input::placeholder,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field textarea::placeholder {
  color: #a0a8b7 !important;
  -webkit-text-fill-color: #a0a8b7 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field input:focus,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field textarea:focus {
  outline: none !important;
  border-color: #1c66f2 !important;
  box-shadow: 0 0 0 4px rgba(28, 102, 242, .10) !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_payment_methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_pm_card {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px !important;
  border: 1.5px solid #183a3a !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer {
  display: block !important;
  margin: 0 !important;
  padding: 18px 22px !important;
  background: #ffffff !important;
  border: 1px solid #e4e9f0 !important;
  border-radius: 18px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer .divider {
  margin: 12px 0 !important;
  opacity: .6 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer h6,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer h4,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer span,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer div {
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer .mptbm_product_total_price,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer ._textTheme {
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_footer {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 2px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
  min-width: 240px !important;
  min-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px 22px !important;
  background: #183a3a !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: 0 16px 30px rgba(24, 58, 58, .24) !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now:hover,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now:focus {
  background: #214848 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

@media (max-width: 700px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_fields {
    grid-template-columns: 1fr !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_custom_checkout,
  .proweb-ecab-results-modal .proweb-ecab-journey-summary,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_summary_footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_footer,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
    width: 100% !important;
  }
}


/* 1.3.37 — required-field validation before opening vehicle results */
.proweb-ecab-validation-alert {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 12px !important;
  padding: 11px 13px !important;
  border: 1px solid rgba(220, 75, 75, .55) !important;
  border-radius: 9px !important;
  background: rgba(155, 38, 38, .14) !important;
  color: #ffd7d7 !important;
  -webkit-text-fill-color: #ffd7d7 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.proweb-ecab-field.proweb-ecab-validation-error,
.proweb-ecab-validation-error {
  border-color: rgba(235, 86, 86, .9) !important;
}

.proweb-ecab-validation-error input,
.proweb-ecab-validation-error select {
  border-bottom-color: #ef6b6b !important;
}

.proweb-booking-form-dialog .proweb-ecab-validation-alert {
  margin-top: 2px !important;
}


/* 1.3.38 — prevent submitting empty customer details */
.proweb-ecab-details-alert {
  margin-bottom: 16px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error label,
.proweb-ecab-results-modal .mptbm_checkout_area .proweb-ecab-details-error label {
  color: #c53b3b !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error input,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error textarea,
.proweb-ecab-results-modal .mptbm_checkout_area .proweb-ecab-details-error input,
.proweb-ecab-results-modal .mptbm_checkout_area .proweb-ecab-details-error textarea {
  border-color: #e45d5d !important;
  box-shadow: 0 0 0 2px rgba(228, 93, 93, .12) !important;
}


/* 1.3.39 — phone field with country code */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
  display: grid !important;
  grid-template-columns: 140px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-country {
  display: block !important;
  width: 100% !important;
  height: 56px !important;
  padding: 0 12px !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  appearance: auto !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row input {
  margin: 0 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-country:focus {
  outline: none !important;
  border-color: #1c66f2 !important;
  box-shadow: 0 0 0 4px rgba(28, 102, 242, .10) !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error .proweb-ecab-phone-country {
  border-color: #e45d5d !important;
  box-shadow: 0 0 0 2px rgba(228, 93, 93, .12) !important;
}

@media (max-width: 640px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}


/* 1.3.40 — robust phone field and button theme */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_cc_field .proweb-ecab-phone-row,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-country {
  display: block !important;
  width: 100% !important;
  height: 56px !important;
  padding: 0 12px !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row input {
  width: 100% !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
    grid-template-columns: 1fr !important;
  }
}


/* 1.3.41 — stable native details stage + site button color */
.proweb-ecab-native-placeholder {
  display: none !important;
}

.proweb-ecab-results-modal .mptbm_book_now,
.proweb-ecab-results-modal button.mptbm_book_now,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
  background: #183a3a !important;
  border-color: #183a3a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(24, 58, 58, .22) !important;
}

.proweb-ecab-results-modal .mptbm_book_now:hover,
.proweb-ecab-results-modal .mptbm_book_now:focus {
  background: #214848 !important;
  border-color: #214848 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-row {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  align-items: center !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-country {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-width: 120px !important;
  height: 56px !important;
  padding: 0 12px !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
}

@media (max-width: 640px) {
  .proweb-ecab-results-modal .proweb-ecab-phone-row {
    grid-template-columns: 120px minmax(0, 1fr) !important;
  }
}


/* 1.3.42 — hard validation + visible phone selector + site color */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
  display: grid !important;
  grid-template-columns: 135px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-country {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: 100% !important;
  min-width: 125px !important;
  height: 56px !important;
  padding: 0 10px !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error input,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error textarea,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error select {
  border-color: #e14d4d !important;
  box-shadow: 0 0 0 3px rgba(225, 77, 77, .12) !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error label {
  color: #b93434 !important;
  -webkit-text-fill-color: #b93434 !important;
}

.proweb-ecab-results-modal .proweb-ecab-details-alert {
  background: #fff1f1 !important;
  border: 1px solid #efb1b1 !important;
  color: #a92f2f !important;
  -webkit-text-fill-color: #a92f2f !important;
}

.proweb-ecab-results-modal .mptbm_book_now,
.proweb-ecab-results-modal button.mptbm_book_now,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
  background: #183a3a !important;
  border-color: #183a3a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(24, 58, 58, .22) !important;
}

.proweb-ecab-results-modal .mptbm_book_now:hover,
.proweb-ecab-results-modal .mptbm_book_now:focus {
  background: #214848 !important;
  border-color: #214848 !important;
}

@media (max-width: 640px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
    grid-template-columns: 118px minmax(0, 1fr) !important;
  }
}


/* 1.3.43 — full searchable country picker with flag, country name and dial code */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
  display: grid !important;
  grid-template-columns: 145px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  position: relative !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-picker {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-picker-button {
  width: 100% !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 12px !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-picker-button:hover,
.proweb-ecab-results-modal .proweb-ecab-phone-picker-button:focus {
  border-color: #183a3a !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(24, 58, 58, .10) !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-flag,
.proweb-ecab-results-modal .proweb-ecab-country-option-flag {
  flex: 0 0 auto !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-code {
  white-space: nowrap !important;
}

.proweb-ecab-results-modal .proweb-ecab-phone-chevron {
  margin-left: auto !important;
  opacity: .65 !important;
  font-size: 16px !important;
  transform: translateY(-1px) !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-dropdown {
  position: absolute !important;
  left: 0 !important;
  top: calc(100% + 8px) !important;
  z-index: 100050 !important;
  width: min(390px, 78vw) !important;
  max-width: 390px !important;
  padding: 8px !important;
  border: 1px solid #d9e1e8 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 45px rgba(15, 27, 39, .22) !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-dropdown[hidden] {
  display: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-search-wrap {
  padding: 2px 2px 8px !important;
  position: sticky !important;
  top: 0 !important;
  background: #ffffff !important;
  z-index: 2 !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-search {
  width: 100% !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d9e1e8 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-search:focus {
  outline: none !important;
  border-color: #183a3a !important;
  box-shadow: 0 0 0 3px rgba(24, 58, 58, .08) !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-list {
  max-height: 280px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-option {
  width: 100% !important;
  min-height: 44px !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  text-align: left !important;
  font: inherit !important;
  font-size: 14px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-option:hover,
.proweb-ecab-results-modal .proweb-ecab-country-option:focus,
.proweb-ecab-results-modal .proweb-ecab-country-option.is-selected {
  background: #eef5f4 !important;
  outline: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-option.is-selected {
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-weight: 700 !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-option-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.proweb-ecab-results-modal .proweb-ecab-country-option-code {
  opacity: .72 !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-details-error .proweb-ecab-phone-picker-button {
  border-color: #e14d4d !important;
  box-shadow: 0 0 0 3px rgba(225, 77, 77, .12) !important;
}

@media (max-width: 640px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-phone-row {
    grid-template-columns: 128px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-country-dropdown {
    width: min(360px, calc(100vw - 42px)) !important;
    max-width: calc(100vw - 42px) !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-country-option {
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
  }
}


/* 1.3.44 — country search filtering + flight field */
.proweb-ecab-results-modal .proweb-ecab-country-option[hidden] {
  display: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-flight-field input {
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1.5px solid #d8e0e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font: inherit !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .proweb-ecab-flight-field input:focus {
  outline: none !important;
  border-color: #183a3a !important;
  box-shadow: 0 0 0 3px rgba(24,58,58,.10) !important;
}


/* 1.3.45 — seamless popup -> search results handoff */
.proweb-booking-form-dialog {
  background: transparent;
}

.proweb-booking-search-handoff {
  position: absolute;
  inset: 0;
  z-index: 90;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border-radius: 18px;
  background: #07161c;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}

.proweb-booking-form-modal.is-searching .proweb-booking-search-handoff {
  display: flex;
}

.proweb-booking-form-modal.is-searching .proweb-booking-form-mount {
  visibility: hidden !important;
  pointer-events: none !important;
}

.proweb-booking-form-modal.is-searching .proweb-booking-form-close {
  opacity: 0 !important;
  pointer-events: none !important;
}

.proweb-booking-search-handoff-inner {
  width: 100%;
  max-width: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
}

.proweb-booking-search-handoff-inner strong {
  margin-top: 6px;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
}

.proweb-booking-search-handoff-inner > span:last-child {
  color: rgba(255,255,255,.68) !important;
  -webkit-text-fill-color: rgba(255,255,255,.68) !important;
  font-size: 13px;
}

.proweb-booking-search-spinner {
  width: 38px;
  height: 38px;
  display: block;
  border: 3px solid rgba(255,255,255,.24);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: proweb-booking-search-spin .72s linear infinite;
}

@keyframes proweb-booking-search-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
  .proweb-booking-form-modal.is-searching {
    align-items: center !important;
    overflow: hidden !important;
  }

  .proweb-booking-form-modal.is-searching .proweb-booking-form-dialog {
    margin: 0 !important;
    min-height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .proweb-booking-search-spinner {
    animation-duration: 1.5s;
  }
}


/* 1.3.46 — results modal polish + cleaner toolbar/cards */
.proweb-ecab-results-modal .mptbm_results_sort::after {
  content: none !important;
  display: none !important;
}

.proweb-ecab-results-modal .mptbm_inline_search_results {
  color: #0f172a !important;
}

.proweb-ecab-results-modal .mptbm_inline_search_results .mptbm_results_toolbar {
  padding: 20px 22px !important;
  margin-bottom: 22px !important;
  border: 1px solid #e6edf2 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .05) !important;
}

.proweb-ecab-results-modal .mptbm_results_trip {
  gap: 16px !important;
  align-items: center !important;
}

.proweb-ecab-results-modal .mptbm_results_trip_place_text {
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .mptbm_results_pin_start,
.proweb-ecab-results-modal .mptbm_results_pin_end {
  font-size: 14px !important;
}

.proweb-ecab-results-modal .mptbm_results_toolbar_middle {
  width: 100% !important;
  margin-top: 14px !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
  gap: 16px !important;
  padding-top: 16px !important;
  margin-top: 16px !important;
  border-top: 1px solid #edf2f7 !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_col {
  min-width: 0 !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_col h6 {
  margin: 0 0 6px !important;
  color: #94a3b8 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_col p {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.proweb-ecab-results-modal .mptbm_summary_col_waiting_hours {
  display: none !important;
}

.proweb-ecab-results-modal .mptbm_results_separator {
  margin: 24px 0 18px !important;
  background: #eef2f6 !important;
}

.proweb-ecab-results-modal .mptbm_results_controls_row {
  gap: 14px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.proweb-ecab-results-modal .mptbm_results_summary_title {
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .mptbm_results_controls_right {
  gap: 12px !important;
}

.proweb-ecab-results-modal .mptbm_results_view_toggle {
  padding: 5px !important;
  border: 1px solid #e6edf2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .04) !important;
}

.proweb-ecab-results-modal .mptbm_results_view_toggle button {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
}

.proweb-ecab-results-modal .mptbm_results_sort {
  position: relative !important;
  padding-right: 28px !important;
}

.proweb-ecab-results-modal .mptbm_results_sort select.mptbm_sort_select,
.proweb-ecab-results-modal select.mptbm_sort_select.formControl {
  min-height: 42px !important;
  padding: 8px 14px 8px 14px !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #e6edf2 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .04) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

.proweb-ecab-results-modal .mptbm_results_sort select.mptbm_sort_select::-ms-expand {
  display: none !important;
}

.proweb-ecab-results-modal .mptbm_results_sort:before {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 1.5px solid #64748b;
  border-bottom: 1.5px solid #64748b;
  transform: rotate(45deg);
  pointer-events: none;
  z-index: 3;
}

.proweb-ecab-results-modal .mptbm-vehicle-wrapper {
  margin-bottom: 18px !important;
  border: 1px solid #e6edf2 !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06) !important;
}

.proweb-ecab-results-modal .mptbm_booking_item {
  display: grid !important;
  grid-template-columns: 205px minmax(0, 1fr) 220px !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_image {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 210px !important;
  margin: 0 !important;
  background: linear-gradient(180deg, #f6f9fc 0%, #e9eef3 100%) !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_image .bg_image_area {
  width: 100% !important;
  min-height: 210px !important;
  height: 100% !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f6f9fc 0%, #e9eef3 100%) !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_image .bg_image_area > div {
  width: 100% !important;
  min-height: 210px !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_image .bg_image_area.proweb-ecab-image-empty,
.proweb-ecab-results-modal .mptbm_vehicle_image .bg_image_area.proweb-ecab-image-empty > div {
  background: linear-gradient(180deg, #f3f6f9 0%, #dfe7ee 100%) !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_main {
  padding: 26px 28px !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_header {
  margin-bottom: 10px !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_title,
.proweb-ecab-results-modal .mptbm_booking_item h5.mptbm_vehicle_title {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_rating {
  margin-bottom: 12px !important;
}

.proweb-ecab-results-modal .mptbm_features_grid {
  gap: 10px !important;
}

.proweb-ecab-results-modal .mptbm_feature_item {
  background: #f8fafc !important;
  border: 1px solid #e9eff5 !important;
  border-radius: 999px !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_cta {
  padding: 24px 22px !important;
  border-left: 1px solid #edf2f7 !important;
  background: #ffffff !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_price_col {
  align-items: flex-end !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_price {
  margin: 0 0 18px !important;
  color: #0f172a !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .mptbm-button-container,
.proweb-ecab-results-modal .mptbm_vehicle_cta_row,
.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_transport_select,
.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_view_details_toggle {
  width: 100% !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_transport_select {
  min-height: 44px !important;
  border-radius: 12px !important;
  background: #183a3a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #183a3a !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_transport_select:hover,
.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_transport_select:focus {
  background: #204646 !important;
  border-color: #204646 !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_view_details_toggle {
  min-height: 42px !important;
  margin-top: 10px !important;
  border: 1px solid #dce4eb !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-weight: 700 !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_cta .mptbm_view_details_toggle:hover {
  border-color: #c7d3dd !important;
  background: #f8fafc !important;
}

.proweb-ecab-results-modal .mptbm-tier-pricing-badge,
.proweb-ecab-results-modal .mptbm_best_price_badge,
.proweb-ecab-results-modal .best-price-badge {
  border-radius: 999px !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_details_panel {
  border-top: 1px solid #edf2f7 !important;
  background: #fcfdff !important;
}

@media (max-width: 1100px) {
  .proweb-ecab-results-modal .mptbm_booking_item {
    grid-template-columns: 170px minmax(0, 1fr) 190px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_main {
    padding: 22px 22px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_cta {
    padding: 22px 18px !important;
  }
}

@media (max-width: 900px) {
  .proweb-ecab-results-modal .mptbm_results_controls_row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .proweb-ecab-results-modal .mptbm_results_controls_right {
    width: 100% !important;
    justify-content: space-between !important;
  }

  .proweb-ecab-results-modal .mptbm_booking_item {
    grid-template-columns: 1fr !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_image,
  .proweb-ecab-results-modal .mptbm_vehicle_image .bg_image_area,
  .proweb-ecab-results-modal .mptbm_vehicle_image .bg_image_area > div {
    min-height: 190px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_cta {
    border-left: 0 !important;
    border-top: 1px solid #edf2f7 !important;
  }
}

@media (max-width: 600px) {
  .proweb-ecab-results-modal .mptbm_inline_search_results .mptbm_results_toolbar {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .proweb-ecab-results-modal .mptbm_results_trip {
    grid-template-columns: 1fr auto 1fr !important;
    gap: 10px !important;
  }

  .proweb-ecab-results-modal .mptbm_results_trip_place_text {
    font-size: 14px !important;
  }

  .proweb-ecab-results-modal .mptbm_results_controls_right {
    gap: 10px !important;
  }

  .proweb-ecab-results-modal .mptbm_results_sort {
    width: auto !important;
    flex: 1 1 auto !important;
  }

  .proweb-ecab-results-modal .mptbm_results_sort select.mptbm_sort_select,
  .proweb-ecab-results-modal select.mptbm_sort_select.formControl {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 12px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_main {
    padding: 18px 16px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_cta {
    padding: 16px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_title,
  .proweb-ecab-results-modal .mptbm_booking_item h5.mptbm_vehicle_title {
    font-size: 18px !important;
  }

  .proweb-ecab-results-modal .mptbm_vehicle_price {
    font-size: 22px !important;
    margin-bottom: 14px !important;
  }
}


/* 1.3.47 — remove sort/display controls + more breathing room for details */
.proweb-ecab-results-modal .mptbm_results_controls_row {
  justify-content: flex-start !important;
  align-items: center !important;
}

.proweb-ecab-results-modal .mptbm_results_controls_right,
.proweb-ecab-results-modal .mptbm_results_view_toggle,
.proweb-ecab-results-modal .mptbm_results_sort {
  display: none !important;
}

.proweb-ecab-results-modal .mptbm_results_summary_title {
  margin: 0 !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_details_panel {
  padding-bottom: 28px !important;
  margin-bottom: 16px !important;
  border-bottom-left-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
}

.proweb-ecab-results-modal .mptbm_vehicle_details_panel > *:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 600px) {
  .proweb-ecab-results-modal .mptbm_vehicle_details_panel {
    padding-bottom: 22px !important;
    margin-bottom: 12px !important;
  }
}


/* 1.3.48 — show return schedule + details footer navigation */
.proweb-ecab-results-modal .proweb-ecab-summary-return p {
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-return {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 12px !important;
  padding: 11px 13px !important;
  border: 1px solid #d9e7e5 !important;
  border-radius: 12px !important;
  background: #f5faf9 !important;
  color: #183a3a !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-return span {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: #6f8585 !important;
  -webkit-text-fill-color: #6f8585 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-return strong {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage {
  padding-bottom: 30px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_footer {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 10px !important;
  padding-bottom: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-details-back {
  min-width: 150px !important;
  min-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 14px 20px !important;
  border: 1.5px solid #183a3a !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.proweb-ecab-results-modal .proweb-ecab-details-back:hover,
.proweb-ecab-results-modal .proweb-ecab-details-back:focus {
  background: #f2f7f6 !important;
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
}

@media (max-width: 700px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage {
    padding-bottom: 22px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_footer {
    flex-direction: column-reverse !important;
    gap: 10px !important;
    padding-bottom: 8px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-details-back,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* 1.3.49 — stability fix for return-trip AJAX results */
.proweb-ecab-results-modal .proweb-ecab-summary-return {
  min-width: 0 !important;
}


/* 1.3.51 — stable two-row pickup/return display (based on working 1.3.49 flow) */
.proweb-ecab-results-modal .proweb-ecab-results-schedule {
  display: grid;
  gap: 8px;
  margin: 16px 0 14px !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-row {
  display: grid !important;
  grid-template-columns: 120px minmax(170px, 1fr) minmax(110px, .65fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 58px !important;
  padding: 10px 14px !important;
  border: 1px solid #e6edf2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-return {
  border-color: #d7e6e4 !important;
  background: #f7fbfa !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-title span {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 72px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #edf5f4 !important;
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-return .proweb-ecab-results-schedule-title span {
  background: #183a3a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-value span {
  display: block !important;
  margin-bottom: 3px !important;
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-value strong {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

/* Old pickup date/time columns are replaced visually by the schedule above. */
.proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_col_date,
.proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_col_time {
  display: none !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_row {
  grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
  gap: 18px !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-schedule {
  display: grid !important;
  gap: 7px !important;
  margin-top: 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-schedule-row {
  display: grid !important;
  grid-template-columns: 90px minmax(160px, 1fr) minmax(100px, .55fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 9px 11px !important;
  border: 1px solid #e3ebf0 !important;
  border-radius: 11px !important;
  background: #ffffff !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-schedule-row.is-return {
  border-color: #d7e6e4 !important;
  background: #f6faf9 !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-schedule-label {
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-schedule-item small {
  display: block !important;
  margin-bottom: 2px !important;
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.proweb-ecab-results-modal .proweb-ecab-journey-schedule-item strong {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* More breathing room around the final action row. */
.proweb-ecab-results-modal .mptbm_exsvc_footer {
  padding-bottom: 18px !important;
  gap: 14px !important;
}

@media (max-width: 760px) {
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row,
  .proweb-ecab-results-modal .proweb-ecab-journey-schedule-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-results-schedule-title,
  .proweb-ecab-results-modal .proweb-ecab-journey-schedule-label {
    grid-column: 1 / -1 !important;
  }

  .proweb-ecab-results-modal .mptbm_summary_top_row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row,
  .proweb-ecab-results-modal .proweb-ecab-journey-schedule-row {
    grid-template-columns: 1fr !important;
  }

  .proweb-ecab-results-modal .mptbm_summary_top_row {
    grid-template-columns: 1fr !important;
  }
}


/* 1.3.52 — results summary style polish */
.proweb-ecab-results-modal .mptbm_results_toolbar_middle {
  margin-top: 10px !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule {
  gap: 12px !important;
  margin: 18px 0 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-row {
  grid-template-columns: 132px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 22px !important;
  min-height: 0 !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .03) !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-title span {
  min-width: 84px !important;
  justify-content: center !important;
  padding: 8px 12px !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-value span {
  margin-bottom: 4px !important;
  font-size: 10px !important;
}

.proweb-ecab-results-modal .proweb-ecab-results-schedule-value strong {
  overflow: visible !important;
  text-overflow: initial !important;
  white-space: normal !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

/* Keep only the useful summary stats below the 2-row schedule and style them as cards. */
.proweb-ecab-results-modal .mptbm_summary_top_row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding-top: 0 !important;
  margin-top: 4px !important;
  border-top: 0 !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_top_col {
  padding: 14px 16px !important;
  border: 1px solid #e6edf2 !important;
  border-radius: 14px !important;
  background: #fbfcfd !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_top_col h6 {
  margin-bottom: 5px !important;
  color: #8fa0b4 !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_top_col p {
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Remove stray divider feel around the schedule zone. */
.proweb-ecab-results-modal .mptbm_results_separator {
  margin: 20px 0 16px !important;
  background: #eef3f6 !important;
}

@media (max-width: 760px) {
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 16px !important;
    padding: 14px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-results-schedule-title {
    grid-column: 1 / -1 !important;
  }

  .proweb-ecab-results-modal .mptbm_summary_top_row {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 10px !important;
  }

  .proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_top_col {
    padding: 12px !important;
  }

  .proweb-ecab-results-modal .mptbm_summary_top_row .mptbm_summary_top_col p {
    font-size: 14px !important;
  }
}

@media (max-width: 560px) {
  .proweb-ecab-results-modal .mptbm_summary_top_row {
    grid-template-columns: 1fr !important;
  }
}


/* 1.3.53 — per-leg schedule: remove Transfer Type and move distance/time into each leg */
.proweb-ecab-results-modal .proweb-ecab-results-schedule-row {
  grid-template-columns: 118px minmax(135px, 1.1fr) minmax(90px, .7fr) minmax(100px, .8fr) minmax(95px, .75fr) !important;
  gap: 18px !important;
  padding: 15px 16px !important;
}

/* The legacy eCab summary row duplicates information now shown in Pick-up / Return rows. */
.proweb-ecab-results-modal .mptbm_summary_top_row {
  display: none !important;
}

/* Avoid the horizontal divider that belonged to the old summary layout. */
.proweb-ecab-results-modal .mptbm_results_toolbar_middle {
  margin-top: 12px !important;
  border-top: 0 !important;
}

@media (max-width: 950px) {
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row {
    grid-template-columns: 100px repeat(2, minmax(0, 1fr)) !important;
  }
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row .proweb-ecab-results-schedule-value:nth-child(4),
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row .proweb-ecab-results-schedule-value:nth-child(5) {
    grid-row: 2 !important;
  }
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row .proweb-ecab-results-schedule-value:nth-child(4) {
    grid-column: 2 !important;
  }
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row .proweb-ecab-results-schedule-value:nth-child(5) {
    grid-column: 3 !important;
  }
}

@media (max-width: 600px) {
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-title {
    grid-column: 1 / -1 !important;
  }
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row .proweb-ecab-results-schedule-value:nth-child(4),
  .proweb-ecab-results-modal .proweb-ecab-results-schedule-row .proweb-ecab-results-schedule-value:nth-child(5) {
    grid-row: auto !important;
    grid-column: auto !important;
  }
}


/* 1.3.54 — clearer final action for the transfer booking */
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_book_now.proweb-ecab-confirm-booking {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.proweb-ecab-results-modal .proweb-ecab-transfer-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  min-width: 20px !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

/* 1.3.56 — successful booking stays inside the existing transfer modal */
.proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-header {
  display: none !important;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-mount,
.proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-transport,
.proweb-ecab-results-modal.is-confirmation .mptbm_inline_search_results,
.proweb-ecab-results-modal.is-confirmation .mptbm_order_summary,
.proweb-ecab-results-modal.is-confirmation .mptbm_checkout_area {
  width: 100% !important;
  max-width: none !important;
}

.proweb-ecab-results-modal.is-confirmation .mptbm_order_summary .mp_sticky_section,
.proweb-ecab-results-modal.is-confirmation .mptbm_order_summary .flexWrap,
.proweb-ecab-results-modal.is-confirmation .mptbm_order_summary .mainSection,
.proweb-ecab-results-modal.is-confirmation .mptbm_checkout_area {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response .proweb-booking-confirmation {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 2px 0 22px !important;
}

.proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response .proweb-bc-success {
  margin: 2px 0 22px !important;
}

.proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response .proweb-bc-success h1 {
  font-size: 27px !important;
}

.proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response .proweb-bc-card {
  max-width: 820px !important;
  margin: 0 auto !important;
}

.proweb-ecab-results-modal .proweb-ecab-modal-step-confirmation span {
  background: #183a3a !important;
  color: #fff !important;
}

@media (max-width: 760px) {
  .proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response .proweb-booking-confirmation {
    padding: 0 0 16px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-inline-confirmation-response .proweb-bc-success h1 {
    font-size: 23px !important;
  }
}


/* 1.3.57 — stable inline confirmation host */
.proweb-ecab-results-modal .proweb-ecab-confirmation-host {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0 8px 18px;
  box-sizing: border-box;
}

.proweb-ecab-results-modal .proweb-ecab-confirmation-host[hidden] {
  display: none !important;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-main {
  padding-top: 28px !important;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-mount {
  min-height: 0 !important;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-confirmation-host .proweb-booking-confirmation {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 0 18px !important;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-confirmation-host .proweb-bc-success,
.proweb-ecab-results-modal.is-confirmation .proweb-ecab-confirmation-host .proweb-bc-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 760px) {
  .proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-main {
    padding-top: 20px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-confirmation-host {
    padding: 0 0 14px;
  }
}


/* 1.3.58 — confirmation modal scroll stability */
.proweb-ecab-results-modal .proweb-ecab-modal-main {
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-modal-main {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scroll-behavior: auto !important;
}

.proweb-ecab-results-modal.is-confirmation .proweb-ecab-confirmation-host {
  min-height: max-content;
}


/* 1.3.60 — JS contrast guard fallback for location inputs */
.proweb-ecab-card input[data-proweb-location-contrast="dark"] {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}
.proweb-ecab-card input[data-proweb-location-contrast="light"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* 1.3.61 — DaniTransfer mobile hero booking form
   Compact two-column mobile layout, full-width inside Slider Revolution,
   safe spacing below the mobile header and better iPhone scrolling. */
@media (max-width: 767px) {

  /* Slider Revolution may keep the booking layer artificially narrow.
     Expand the actual form to almost the full phone viewport and center it. */
  .tp-caption .proweb-ecab-wrap,
  .rs-layer .proweb-ecab-wrap,
  .rev_slider .proweb-ecab-wrap {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    margin-top: 72px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: center !important;
  }

  .tp-caption .proweb-ecab-card,
  .rs-layer .proweb-ecab-card,
  .rev_slider .proweb-ecab-card,
  .proweb-ecab-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 18px 16px 16px !important;
    border-radius: 14px !important;
  }

  /* Main mobile compression: enough room to keep the CTA in the hero. */
  .proweb-ecab-layout {
    gap: 14px !important;
  }

  .proweb-ecab-row {
    gap: 12px !important;
  }

  /* Date + time and passengers + bags should stay side-by-side on phones. */
  .proweb-ecab-row.is-two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .proweb-ecab-field label > span:not(.mptbm_left_icon) {
    margin-bottom: 4px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    letter-spacing: .025em !important;
  }

  .proweb-ecab-card .proweb-ecab-field .formControl,
  .proweb-ecab-card .proweb-ecab-field input.formControl,
  .proweb-ecab-card .proweb-ecab-field select.formControl {
    height: 44px !important;
    min-height: 44px !important;
    padding-top: 5px !important;
    padding-bottom: 7px !important;
    padding-right: 32px !important;
    font-size: 16px !important; /* prevents iOS focus zoom */
    line-height: 1.3 !important;
  }

  .proweb-ecab-card .proweb-ecab-field .mptbm_left_icon {
    right: 0 !important;
    bottom: 6px !important;
    width: 27px !important;
    height: 30px !important;
    font-size: 16px !important;
  }

  .proweb-ecab-card .proweb-ecab-field-pickup label::after,
  .proweb-ecab-card .proweb-ecab-field-dropoff label::after {
    right: 2px !important;
    bottom: 10px !important;
    width: 18px !important;
    height: 21px !important;
  }

  .proweb-ecab-card .proweb-ecab-field-passengers label::after,
  .proweb-ecab-card .proweb-ecab-field-bags label::after {
    right: 2px !important;
    bottom: 11px !important;
    width: 18px !important;
    height: 18px !important;
  }

  .proweb-ecab-return-add-row {
    margin: 1px 0 !important;
  }

  .proweb-ecab-return-add {
    width: 100% !important;
    min-height: 44px !important;
    padding: 9px 14px !important;
    gap: 8px !important;
    font-size: 12px !important;
    letter-spacing: .015em !important;
  }

  .proweb-return-icon,
  .proweb-return-icon svg {
    width: 16px !important;
    height: 16px !important;
  }

  .proweb-ecab-return-section {
    gap: 12px !important;
  }

  .proweb-ecab-return-title {
    gap: 10px !important;
  }

  .proweb-ecab-return-title strong {
    font-size: 13px !important;
  }

  .proweb-ecab-return-remove {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    font-size: 21px !important;
  }

  .proweb-ecab-card #mptbm_get_vehicle.proweb-ecab-search-button {
    min-height: 54px !important;
    padding: 12px 14px !important;
    border-radius: 9px !important;
    gap: 9px !important;
    font-size: 16px !important;
    box-shadow: 0 9px 20px rgba(24,58,58,.28) !important;
  }

  .proweb-search-icon,
  .proweb-search-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Keep long date/time text from pushing the second column out of the card. */
  .proweb-ecab-row.is-two .proweb-ecab-field {
    min-width: 0 !important;
    overflow: visible !important;
  }

  .proweb-ecab-row.is-two .formControl {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Booking popup: same compact layout, but no artificial hero/header offset. */
  .proweb-booking-form-modal {
    padding:
      max(8px, env(safe-area-inset-top))
      8px
      max(8px, env(safe-area-inset-bottom)) !important;
    align-items: flex-start !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .proweb-booking-form-dialog {
    width: 100% !important;
    max-width: 440px !important;
    max-height: calc(100dvh - 16px) !important;
    margin: 0 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 14px !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
  }

  .proweb-booking-form-dialog .proweb-ecab-wrap {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .proweb-booking-form-dialog .proweb-ecab-card {
    border-radius: 14px !important;
  }

  .proweb-booking-form-close {
    position: sticky !important;
    float: right !important;
    top: 8px !important;
    right: 8px !important;
    margin: 8px 8px -48px 0 !important;
  }
}

/* Narrow phones: preserve two useful columns but tighten them further. */
@media (max-width: 390px) {
  .tp-caption .proweb-ecab-wrap,
  .rs-layer .proweb-ecab-wrap,
  .rev_slider .proweb-ecab-wrap {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .proweb-ecab-card {
    padding-left: 13px !important;
    padding-right: 13px !important;
  }

  .proweb-ecab-row.is-two {
    gap: 9px !important;
  }

  .proweb-ecab-field label > span:not(.mptbm_left_icon) {
    font-size: 10.5px !important;
  }

  .proweb-ecab-card #mptbm_get_vehicle.proweb-ecab-search-button {
    font-size: 15px !important;
  }
}


/* 1.3.62 — mobile vertical centering refinement for DaniTransfer hero form */
@media (max-width: 767px) {
  .tp-caption .proweb-ecab-wrap,
  .rs-layer .proweb-ecab-wrap,
  .rev_slider .proweb-ecab-wrap {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }

  /* If the layer itself has a lower anchor inside Slider Revolution,
     gently pull the visual card upward without affecting desktop. */
  .tp-caption .proweb-ecab-card,
  .rs-layer .proweb-ecab-card,
  .rev_slider .proweb-ecab-card {
    transform: translateY(-16px) !important;
  }

  /* Keep the internal spacing comfortable after the upward nudge. */
  .proweb-ecab-layout {
    gap: 13px !important;
  }
}

@media (max-width: 390px) {
  .tp-caption .proweb-ecab-card,
  .rs-layer .proweb-ecab-card,
  .rev_slider .proweb-ecab-card {
    transform: translateY(-10px) !important;
  }
}


/* 1.3.63 — harden overlay/calendar/dropdown colors so no dark text becomes unreadable */
.flatpickr-calendar {
  background: #ffffff !important;
  border: 1px solid rgba(14, 43, 44, .18) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.22) !important;
  color: #132326 !important;
}

.flatpickr-months .flatpickr-month {
  background: #173f40 !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  fill: #ffffff !important;
}

.flatpickr-monthDropdown-months,
.flatpickr-current-month,
.flatpickr-current-month .cur-year,
.flatpickr-current-month input.cur-year,
.flatpickr-current-month .numInputWrapper,
.flatpickr-current-month .numInputWrapper input {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  background: transparent !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  font-weight: 700 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option,
.flatpickr-current-month .flatpickr-monthDropdown-months optgroup {
  color: #132326 !important;
  background: #ffffff !important;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #ffffff !important;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #ffffff !important;
}

.flatpickr-weekdays {
  background: #f7f8fa !important;
}

span.flatpickr-weekday {
  color: #6a778a !important;
  font-weight: 700 !important;
}

.flatpickr-day {
  color: #25323c !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #bdc7d3 !important;
}

.flatpickr-day.today {
  border-color: #173f40 !important;
  color: #173f40 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #173f40 !important;
  border-color: #173f40 !important;
  color: #ffffff !important;
}

.flatpickr-day:hover {
  background: rgba(23,63,64,.10) !important;
}

.flatpickr-time,
.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
  color: #132326 !important;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover {
  background: rgba(23,63,64,.08) !important;
}

/* Additional dropdown/autocomplete hardening */
.ui-timepicker-wrapper,
.ui-timepicker-standard,
.ui-menu,
.ui-autocomplete,
.select2-dropdown {
  color: #132326 !important;
}

.ui-timepicker-wrapper a,
.ui-timepicker-standard a,
.ui-menu-item-wrapper,
.select2-results__option {
  color: #132326 !important;
}

.select2-dropdown .select2-search__field {
  color: #132326 !important;
  background: #ffffff !important;
}

/* In the hero card, keep placeholder-style helper text readable. */
.proweb-ecab-card .formControl::placeholder,
.proweb-ecab-card input::placeholder {
  color: rgba(255,255,255,.72) !important;
  -webkit-text-fill-color: rgba(255,255,255,.72) !important;
}


/* 1.3.64 — universal mobile centering + hard Flatpickr contrast guard */
@media (max-width: 767px) {
  html body .tp-caption .proweb-ecab-wrap,
  html body .rs-layer .proweb-ecab-wrap,
  html body .rev_slider .proweb-ecab-wrap {
    box-sizing: border-box !important;
    width: calc(100vw - 32px) !important;
    max-width: 560px !important;
    min-width: 0 !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body .tp-caption .proweb-ecab-card,
  html body .rs-layer .proweb-ecab-card,
  html body .rev_slider .proweb-ecab-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Flatpickr: stronger than theme/eCab rules, including Safari text fill. */
html body .flatpickr-calendar .flatpickr-current-month,
html body .flatpickr-calendar .flatpickr-current-month *,
html body .flatpickr-calendar .flatpickr-current-month input,
html body .flatpickr-calendar .flatpickr-current-month input.cur-year,
html body .flatpickr-calendar .flatpickr-current-month .cur-year,
html body .flatpickr-calendar .flatpickr-current-month .numInputWrapper input,
html body .flatpickr-calendar.open .flatpickr-current-month input.cur-year {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html body .flatpickr-calendar .flatpickr-current-month select.flatpickr-monthDropdown-months {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

html body .flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
html body .flatpickr-calendar .flatpickr-months .flatpickr-next-month,
html body .flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
html body .flatpickr-calendar .flatpickr-months .flatpickr-next-month svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  opacity: 1 !important;
}

/* Generic overlay/readability guard for eCab dropdowns and pickers. */
html body .ui-timepicker-wrapper,
html body .ui-timepicker-standard,
html body .ui-menu,
html body .ui-autocomplete,
html body .select2-dropdown {
  background: #ffffff !important;
}

html body .ui-timepicker-wrapper *,
html body .ui-timepicker-standard *,
html body .ui-menu *,
html body .ui-autocomplete *,
html body .select2-dropdown * {
  color: #132326 !important;
  -webkit-text-fill-color: #132326 !important;
}

/* 1.4.0 — eCab 2.1.0: move optional extras into the Your details step */
.proweb-ecab-results-modal .proweb-ecab-awaiting-details .mptbm_extra_service {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_panel,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .dLayout.mptbm_exsvc_panel {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 20px 22px 10px !important;
  background: #ffffff !important;
  border: 1px solid #e4e9f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .04) !important;
  color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_header {
  margin: 0 0 14px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_header h3 {
  margin: 0 !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_header h3::before {
  width: 5px !important;
  height: 22px !important;
  background: #183a3a !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_extra_service_item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 15px 6px !important;
  border-radius: 12px !important;
  border-left: 0 !important;
  border-top: 1px solid #eef1f5 !important;
  background: transparent !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_extra_service_item:first-of-type {
  border-top: 0 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_extra_service_item.mActive {
  background: #f3f8f7 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_thumb,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_icon {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  flex: 0 0 56px !important;
  border-radius: 12px !important;
  background: #f3f6f8 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_icon span {
  color: #183a3a !important;
  -webkit-text-fill-color: #183a3a !important;
  font-size: 22px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_top {
  align-items: center !important;
  gap: 18px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_info h4,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_price {
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_info h4 {
  font-size: 15px !important;
  font-weight: 800 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_desc,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_desc .mp_load_more_text_area {
  color: #6b7280 !important;
  -webkit-text-fill-color: #6b7280 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_meta {
  align-items: flex-end !important;
  gap: 9px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_actions {
  gap: 8px !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_actions .qtyIncDec,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage .qtyIncDec {
  height: 38px !important;
  border-color: #dfe6eb !important;
  background: #f5f7f9 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_select,
.proweb-ecab-results-modal .proweb-ecab-native-details-stage button.mptbm_price_calculation.mptbm_exsvc_select {
  min-width: 112px !important;
  height: 40px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  background: #183a3a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(24, 58, 58, .14) !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_select.mActive {
  background: #486565 !important;
}

.proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_stoppage_panel {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

@media (max-width: 700px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_panel,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .dLayout.mptbm_exsvc_panel {
    padding: 16px 14px 8px !important;
    border-radius: 15px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_extra_service_item {
    align-items: flex-start !important;
    gap: 11px !important;
    padding: 14px 2px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_thumb,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    flex-basis: 48px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_top {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_meta {
    width: 100% !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_actions {
    flex-wrap: nowrap !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_select,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage button.mptbm_price_calculation.mptbm_exsvc_select {
    width: auto !important;
    min-width: 104px !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 460px) {
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_extra_service_item {
    display: block !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_thumb,
  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_icon {
    display: none !important;
  }

  .proweb-ecab-results-modal .proweb-ecab-native-details-stage .mptbm_exsvc_meta {
    margin-top: 8px !important;
  }
}

/* Dani Transfer booking terms acceptance */
.proweb-ecab-terms-acceptance{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 0!important;
  padding:12px 14px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(24,58,58,.16)!important;
  border-radius:10px!important;
  background:#f8faf9!important;
  color:#374151!important;
  font-size:13px!important;
  line-height:1.45!important;
  cursor:pointer!important;
}
.proweb-ecab-terms-acceptance input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
  margin:2px 0 0!important;
  accent-color:#183a3a!important;
}
.proweb-ecab-terms-acceptance span{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.proweb-ecab-terms-acceptance .proweb-ecab-terms-copy{
  display:block!important;
  width:100%!important;
  white-space:normal!important;
}
.proweb-ecab-terms-acceptance .proweb-ecab-terms-line,
.proweb-ecab-terms-acceptance .proweb-ecab-terms-payment{
  display:block!important;
  width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.proweb-ecab-terms-acceptance .proweb-ecab-terms-payment{
  margin-top:4px!important;
  color:#667085!important;
}
.proweb-ecab-terms-acceptance a{
  color:#183a3a!important;
  font-weight:700!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.proweb-ecab-terms-acceptance:has(input:focus-visible){
  outline:2px solid rgba(24,58,58,.18)!important;
  outline-offset:2px!important;
}
.proweb-ecab-details-error.proweb-ecab-terms-acceptance,
.proweb-ecab-terms-acceptance.proweb-ecab-details-error{
  border-color:#c4382e!important;
  background:rgba(196,56,46,.05)!important;
}
@media (max-width:767px){
  .proweb-ecab-terms-acceptance{
    grid-template-columns:19px minmax(0,1fr)!important;
    gap:9px!important;
    margin-top:14px!important;
    padding:11px 12px!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  .proweb-ecab-terms-acceptance .proweb-ecab-terms-payment{
    margin-top:5px!important;
  }
}
