/* Express Taxi homepage widget — v0.1.4.
 * Only .etw-widget-root is styled. The full CHBS booking form and other
 * CHBS widgets keep their own CSS and JavaScript behaviour.
 */
.etw-widget-root {
  --etw-navy:#13286d;
  --etw-yellow:#f1c232;
  --etw-outline:#e4e8f0;
  --etw-copy:#293b59;
  --etw-muted:#8792a6;
  width:100%; max-width:100%; min-width:0;
  color:var(--etw-navy);
  container-type:inline-size;
}
.etw-widget-root *, .etw-widget-root *::before, .etw-widget-root *::after { box-sizing:border-box; }
.etw-widget-root .chbs-main.chbs-widget { width:100% !important; max-width:100% !important; background:transparent; }
.etw-widget-root .chbs-layout-column-left, .etw-widget-root .chbs-tab { width:100%; max-width:100%; min-width:0; }
.etw-widget-root .chbs-tab.ui-tabs { margin:0; }
.etw-widget-root .chbs-tab.ui-tabs .ui-tabs-panel { padding:0 !important; overflow:visible !important; }
.etw-widget-root .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-panel#panel-1 {
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  border:1px solid var(--etw-outline);
  border-radius:5px;
  background:#fff;
  box-shadow:0 3px 13px rgba(19,41,88,.07);
  padding:0 !important;
  overflow:visible !important;
}
.etw-widget-root #panel-1 > * { min-width:0; max-width:100%; }
/* Address row */
.etw-widget-root #panel-1 > .chbs-form-field-pickup-location { grid-column:span 3; grid-row:1; }
.etw-widget-root #panel-1 > .chbs-form-field-dropoff-location { grid-column:span 3; grid-row:1; }
/* Each visible stop has a single, concise address field. */
.etw-widget-root #panel-1 > .chbs-form-field-waypoint:not(.chbs-hidden) {
  grid-column:1/-1; float:none; width:100%;
  border-top:1px solid var(--etw-outline) !important;
  background:#fbfcff;
}
.etw-widget-root #panel-1 > .chbs-form-field-waypoint.chbs-hidden,
.etw-widget-root #panel-1 > .chbs-form-field-waypoint-duration.chbs-hidden,
.etw-widget-root #panel-1 > .chbs-form-field-return-date-time.chbs-hidden { display:none !important; }
.etw-widget-root #panel-1 > .chbs-form-field-waypoint-duration:not(.chbs-hidden) { display:none !important; }
.etw-widget-root #panel-1 > .etw-waypoint-tools {
  grid-column:1/-1;
  display:flex; flex-wrap:wrap; align-items:center; gap:9px;
  width:100%; min-height:35px;
  margin:0; padding:4px 14px;
  background:#fff;
  border-top:1px solid var(--etw-outline);
  clear:both;
}
.etw-widget-root .etw-add-stop {
  appearance:none; background:transparent !important; border:0 !important;
  color:var(--etw-navy) !important; box-shadow:none !important;
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 6px !important;
  font-family:inherit !important; font-size:12px !important; font-weight:600 !important; line-height:1.5 !important;
  text-transform:none !important; letter-spacing:0 !important;
  cursor:pointer;
}
.etw-widget-root .etw-add-stop > span { color:#cf9700; font-size:19px; line-height:12px; }
.etw-widget-root .etw-add-stop:hover,
.etw-widget-root .etw-add-stop:focus-visible { text-decoration:underline; outline-offset:2px; }
.etw-widget-root .etw-feedback { color:#b42318; font-size:12px; line-height:18px; }
/* Dates + journey type share a single row for a compact homepage footprint. */
.etw-widget-root #panel-1 > .chbs-form-field-pickup-date-time {
  grid-column:span 4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%; float:none; margin:0 !important;
  border-top:1px solid var(--etw-outline);
}
.etw-widget-root #panel-1 > .chbs-form-field-transfer-type { grid-column:span 2; margin:0; border-top:1px solid var(--etw-outline) !important; }
.etw-widget-root #panel-1 > .chbs-form-field-return-date-time:not(.chbs-hidden) {
  grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%; float:none; border-top:1px solid var(--etw-outline);
}
.etw-widget-root #panel-1 > .chbs-form-field-extra-time,
.etw-widget-root #panel-1 > .chbs-form-field-passenger { grid-column:1/-1; width:100%; }
/* Neutral field surfaces and smaller typography, matching the current homepage. */
.etw-widget-root .chbs-main #panel-1 .chbs-form-field {
  min-width:0; min-height:65px; max-width:100%;
  float:none; margin:0 !important;
  padding:10px 0 5px !important;
  border:0 !important;
  background:transparent;
}
.etw-widget-root .chbs-main #panel-1 > .chbs-form-field-pickup-location,
.etw-widget-root .chbs-main #panel-1 > .chbs-form-field-dropoff-location { min-height:68px; }
.etw-widget-root #panel-1 > .chbs-form-field-pickup-location,
.etw-widget-root #panel-1 > .chbs-form-field-pickup-date-time > .chbs-form-field:first-child,
.etw-widget-root #panel-1 > .chbs-form-field-return-date-time > .chbs-form-field:first-child { border-right:1px solid var(--etw-outline) !important; }
.etw-widget-root #panel-1 > .chbs-form-field-pickup-date-time { border-right:1px solid var(--etw-outline); }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field > label {
  display:flex; align-items:center; gap:5px;
  position:relative;
  margin:0 11px 0 13px !important;
  padding:0 !important;
  font-size:10px !important; font-weight:700 !important;
  line-height:17px !important; letter-spacing:.025em;
  color:var(--etw-navy) !important;
  white-space:normal; overflow-wrap:anywhere;
  text-transform:uppercase;
}
.etw-widget-root .chbs-main #panel-1 .chbs-form-field > label .chbs-my-location-link { font-size:10px; font-weight:400; text-transform:none; }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field input:not([type="hidden"]),
.etw-widget-root .chbs-main #panel-1 .chbs-form-field select,
.etw-widget-root .chbs-main #panel-1 .chbs-form-field .ui-selectmenu-button {
  width:100%; max-width:100%; min-width:0;
  height:37px !important;
  margin:0 !important;
  padding:2px 12px 7px 13px !important;
  border:0 !important; outline:0;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--etw-copy) !important;
  font-family:inherit !important; font-size:14px !important; font-weight:500 !important; line-height:24px !important;
  text-overflow:ellipsis;
}
.etw-widget-root .chbs-main #panel-1 .chbs-form-field input::placeholder { color:#a2aab8 !important; opacity:1; font-weight:400; }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field input:focus,
.etw-widget-root .chbs-main #panel-1 .chbs-form-field .ui-selectmenu-button:focus { box-shadow:inset 0 -2px var(--etw-yellow) !important; }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field-location-switch > input[type="text"] { padding-left:35px !important; padding-right:45px !important; }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field-dropoff-location > input[type="text"] { padding-right:12px !important; }
.etw-widget-root .chbs-main #panel-1 .chbs-meta-icon-2 { top:39px !important; left:13px !important; }
.etw-widget-root .chbs-main #panel-1 .chbs-location-add { display:none !important; }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field-waypoint:not(.chbs-hidden) .chbs-location-remove {
  display:block !important; top:30px !important; right:13px !important;
  width:32px !important; height:32px !important;
  border:1px solid var(--etw-outline) !important; border-radius:4px;
  font-size:22px !important; line-height:28px !important;
  color:var(--etw-navy) !important; background:#fff;
}
.etw-widget-root .chbs-main #panel-1 .chbs-form-field-waypoint:not(.chbs-hidden) > input[type="text"] { padding-right:57px !important; }
.etw-widget-root .chbs-main #panel-1 .chbs-form-field-waypoint:not(.chbs-hidden) .chbs-location-remove:hover { border-color:var(--etw-yellow) !important; }
.etw-widget-root .chbs-main #panel-1 .ui-selectmenu-button { display:flex; align-items:center; padding-bottom:0 !important; }
.etw-widget-root .chbs-main #panel-1 .ui-selectmenu-button .ui-selectmenu-text { margin:0; font:inherit; line-height:24px; overflow:hidden; text-overflow:ellipsis; }
.etw-widget-root .chbs-main .chbs-button-widget-submit {
  float:right !important; width:auto !important; min-height:43px;
  padding:12px 23px !important; margin:13px 0 0 !important;
  border:0 !important; border-radius:5px !important;
  background:var(--etw-yellow) !important; color:var(--etw-navy) !important;
  font-size:13px !important; font-weight:800 !important; line-height:19px !important;
  letter-spacing:.02em; text-align:center; text-decoration:none !important;
  box-shadow:none !important;
}
.etw-widget-root .chbs-main .chbs-button-widget-submit:hover,
.etw-widget-root .chbs-main .chbs-button-widget-submit:focus-visible { background:#e9b51a !important; }
.etw-widget-root .chbs-main.chbs-widget .chbs-main-content>div>div:last-child { margin-top:0 !important; }
/* Replace limited native title-only help with pointer, keyboard and touch help. */
.etw-widget-root #panel-1 .chbs-tooltip.chbs-meta-icon-question { display:none !important; }
.etw-widget-root .etw-help {
  appearance:none; flex:0 0 auto;
  display:inline-flex; justify-content:center; align-items:center;
  width:15px; height:15px; padding:0; margin:0 0 0 1px;
  border:1px solid #aeb8c9 !important; border-radius:50%;
  background:#fff !important; color:#6f7f98 !important;
  box-shadow:none !important; cursor:help;
  font:700 10px/1 Arial,sans-serif !important; text-transform:none !important;
}
.etw-widget-root .etw-help:hover,
.etw-widget-root .etw-help:focus-visible,
.etw-widget-root .etw-help[aria-expanded="true"] { color:var(--etw-navy) !important; border-color:var(--etw-navy) !important; outline-offset:2px; }
.etw-tooltip-bubble {
  position:fixed; z-index:2147483000;
  width:max-content; max-width:min(320px, calc(100vw - 28px));
  padding:10px 12px; border-radius:5px;
  color:#fff; background:#172a59; box-shadow:0 7px 28px rgba(10,22,48,.28);
  font:400 13px/1.5 Arial,Helvetica,sans-serif;
  letter-spacing:0; text-transform:none; text-align:left;
  pointer-events:none;
}
.etw-tooltip-bubble[hidden] { display:none !important; }
.etw-error { padding:12px; border:1px solid #f0c3c3; border-radius:5px; color:#b42318; background:#fff; }
/* Embed-safe responsive behavior: use widget width, not just device width. */
@container (max-width:680px) {
  .etw-widget-root #panel-1 > .chbs-form-field-pickup-location,
  .etw-widget-root #panel-1 > .chbs-form-field-dropoff-location { grid-column:1/-1; grid-row:auto; }
  .etw-widget-root #panel-1 > .chbs-form-field-pickup-location { border-right:0 !important; border-bottom:1px solid var(--etw-outline) !important; }
  .etw-widget-root #panel-1 > .chbs-form-field-pickup-date-time { grid-column:1/-1; border-right:0; }
  .etw-widget-root #panel-1 > .chbs-form-field-transfer-type { grid-column:1/-1; border-top:1px solid var(--etw-outline) !important; }
  .etw-widget-root .chbs-main #panel-1 .chbs-form-field input:not([type="hidden"]),
  .etw-widget-root .chbs-main #panel-1 .chbs-form-field .ui-selectmenu-button { font-size:16px !important; }
  .etw-widget-root .chbs-main .chbs-button-widget-submit { float:none !important; width:100% !important; margin:12px 0 0 !important; }
}
@container (max-width:360px) {
  .etw-widget-root #panel-1 > .chbs-form-field-pickup-date-time,
  .etw-widget-root #panel-1 > .chbs-form-field-return-date-time:not(.chbs-hidden) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .etw-widget-root .chbs-main #panel-1 .chbs-form-field > label { font-size:9px !important; margin-left:9px !important; margin-right:7px !important; }
  .etw-widget-root .chbs-main #panel-1 .chbs-form-field input:not([type="hidden"]),
  .etw-widget-root .chbs-main #panel-1 .chbs-form-field .ui-selectmenu-button { padding-left:9px !important; padding-right:8px !important; font-size:13px !important; }
}
@media (prefers-reduced-motion:reduce) { .etw-widget-root .chbs-button-widget-submit { transition:none !important; } }
/* CHBS gives its 50%-width date fields a float and width even inside grid;
 * restore the full grid-track width to avoid clipped labels on mobile. */
.etw-widget-root .chbs-main #panel-1 > .chbs-form-field-pickup-date-time > .chbs-form-field,
.etw-widget-root .chbs-main #panel-1 > .chbs-form-field-return-date-time > .chbs-form-field {
  width:100% !important; min-width:0; float:none !important;
}
