.wtx-location-combo{position:relative;min-width:0;width:100%}
.wtx-wrap .wtx-shell.wtx-combobox-shell{overflow:visible}
.wtx-location-combo input[type=text]{width:100%;box-sizing:border-box;padding-right:48px!important;font-size:16px;min-height:48px}
#wtx-quote-form .wtx-location-combo button.wtx-location-browse,#wtx-booking-form .wtx-location-combo button.wtx-location-browse{position:absolute!important;right:1px!important;left:auto!important;top:1px!important;bottom:auto!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:46px!important;min-height:46px!important;margin:0!important;border:0;background:transparent;color:#183e53;border-radius:6px;font-size:22px;cursor:pointer;padding:0!important}
.wtx-location-list{position:absolute;z-index:1000;top:49px;left:0;right:0;max-height:min(320px,45vh);overflow-y:auto;overscroll-behavior:contain;background:white;color:#163449;border:1px solid #8aabbc;border-radius:8px;box-shadow:0 8px 24px #1234;text-align:left}
.wtx-location-list[hidden],.wtx-location-note[hidden]{display:none!important}
/* Expanded lists participate in layout for outbound, return and extra legs. */
.wtx-location-combo .wtx-location-list{position:relative;top:auto;left:auto;right:auto;margin-top:6px;}
#wtx-booking-form .wtx-extra-fare-breakdown{margin:8px 0;font-size:14px;font-weight:400;line-height:1.5;}
#wtx-booking-form .wtx-extra-fare-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;}
#wtx-booking-form .wtx-extra-fare-breakdown dt{margin:0;overflow-wrap:anywhere;}
#wtx-booking-form .wtx-extra-fare-breakdown dd{margin:0;white-space:nowrap;}
#wtx-booking-form .wtx-extra-fare-breakdown .wtx-extra-fare-total{border-top:1px solid #ccdbe2;margin-top:4px;padding-top:8px;font-weight:700;}
.wtx-location-group{padding:10px 12px;background:#edf4f8;color:#456274;font-size:12px;font-weight:700;letter-spacing:.03em}
.wtx-location-option{min-height:44px;padding:12px;box-sizing:border-box;cursor:pointer;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.wtx-location-option:hover,.wtx-location-option[aria-selected=true]{background:#dceef7;color:#092f49;outline:2px solid #2c7295;outline-offset:-2px}
.wtx-location-status{font-size:12px;line-height:1.4;color:#466071;margin-top:5px}
.wtx-location-note{font-size:13px;line-height:1.5;margin-top:6px}
#wtx-booking-form select.wtx-location-native,#wtx-quote-form select.wtx-location-native{display:none!important;position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;pointer-events:none!important}
.wtx-location-combo input:focus{outline:2px solid #246e96;outline-offset:2px}
/* Fit padded/narrow parent containers, rather than only the viewport. */
@media(max-width:899px){
 .wtx-wrap.wtx-instant:has(.wtx-combobox-shell),
 .wtx-wrap.wtx-booking:has(.wtx-combobox-shell){max-width:100%!important;}
}
/* 113: Endpoint content must size its row in every service mode. Older vessel
   and booking rules reserve a fixed select track, excluding helper/details. */
.wtx-wrap:is(.wtx-instant,.wtx-booking) .wtx-shell.wtx-combobox-shell #wtx-quote-form .wtx-grid.wtx-grid-quote > .wtx-field.wtx-endpoint-field,
.wtx-wrap:is(.wtx-instant,.wtx-booking) .wtx-shell.wtx-combobox-shell #wtx-booking-form .wtx-grid.wtx-grid-quote > .wtx-field.wtx-endpoint-field{
 display:flex!important;flex-direction:column;align-items:stretch!important;
 height:auto!important;min-width:0;grid-template-rows:none!important;
}
.wtx-wrap:is(.wtx-instant,.wtx-booking) .wtx-shell.wtx-combobox-shell #wtx-quote-form .wtx-endpoint-field > .wtx-endpoint-heading,
.wtx-wrap:is(.wtx-instant,.wtx-booking) .wtx-shell.wtx-combobox-shell #wtx-booking-form .wtx-endpoint-field > .wtx-endpoint-heading{
 height:auto!important;max-height:none!important;min-height:0!important;
 margin-bottom:7px!important;flex-shrink:0;
}
.wtx-combobox-shell .wtx-endpoint-field > .wtx-location-combo,
.wtx-combobox-shell .wtx-endpoint-field > .wtx-vessel-details{flex-shrink:0;box-sizing:border-box;}
@media(min-width:900px){
 .wtx-wrap:is(.wtx-instant,.wtx-booking) .wtx-shell.wtx-combobox-shell #wtx-quote-form .wtx-endpoint-field > .wtx-endpoint-heading,
 .wtx-wrap:is(.wtx-instant,.wtx-booking) .wtx-shell.wtx-combobox-shell #wtx-booking-form .wtx-endpoint-field > .wtx-endpoint-heading{
  min-height:54px!important;margin-bottom:0!important;
 }
}
/* Baseline desktop tracks fixed the select row at 42px. The replacement also
   contains live status and venue notes: let that entire row size to its content. */
@media(min-width:900px){
 .wtx-wrap.wtx-instant .wtx-combobox-shell #wtx-quote-form > .wtx-grid-quote > .wtx-endpoint-field,
 .wtx-wrap.wtx-booking .wtx-combobox-shell #wtx-booking-form .wtx-grid-quote > .wtx-endpoint-field{
   grid-template-rows:auto auto auto!important;
 }
}

/* Quote-only alignment patch for reconciliation. Load after combobox CSS.
   The booking form, native pricing controls and endpoint values are untouched. */
@media (min-width:900px) {
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote {
  grid-template-rows:auto auto!important;
  row-gap:8px!important;
  align-items:stretch!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-field:is(.wtx-booking-type-field,.wtx-endpoint-field) {
  display:grid!important;
  grid-row:1 / span 2!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(54px,auto) auto!important;
  row-gap:8px!important;
  align-items:start!important;
  align-content:start!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
 }
 /* A shared intrinsic heading row also accommodates wrapped labels/zoom. */
 @supports (grid-template-rows:subgrid) {
  .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-field:is(.wtx-booking-type-field,.wtx-endpoint-field) {
   grid-template-rows:subgrid!important;
  }
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-booking-type-field > span,
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-endpoint-field > .wtx-endpoint-heading {
  grid-row:1!important;
  height:auto!important;
  min-height:20px!important;
  max-height:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  line-height:20px!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-endpoint-field > .wtx-endpoint-heading {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:6px!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form .wtx-endpoint-heading > label {
  margin:0!important;
  padding:0!important;
  line-height:20px!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-booking-type-field > select,
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-endpoint-field > .wtx-location-combo {
  grid-row:2!important;
  align-self:start!important;
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-booking-type-field > select,
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-grid.wtx-grid-quote > .wtx-endpoint-field .wtx-location-combo > input {
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  width:100%!important;
  box-sizing:border-box!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form .wtx-endpoint-heading .wtx-vessel-toggle input[type=checkbox] {
  width:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  margin:0!important;
  padding:0!important;
 }
 /* Reconciled secondary row: remove the nested 14px offset and let wrapped
    labels grow on shared tracks. Keep this quote-only and desktop-only. */
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row {
  grid-template-rows:minmax(30px,auto) 42px!important;
  row-gap:0!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row > .wtx-charter-fields-row {
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
  column-gap:14px!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row > .wtx-pax-field,
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row > .wtx-cruise-field,
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row > .wtx-charter-fields-row,
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row > .wtx-charter-fields-row > .wtx-field {
  grid-template-rows:minmax(30px,auto) 42px!important;
  grid-template-rows:subgrid!important;
  row-gap:0!important;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form > .wtx-compact-second-row .wtx-field > span {
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 0 10px!important;
  line-height:20px!important;
  overflow-wrap:anywhere;
 }
 .wtx-wrap.wtx-instant .wtx-shell.wtx-combobox-shell #wtx-quote-form .wtx-location-combo > button.wtx-location-browse {
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
 }
}
