/* MARAFAL Sticky Finder 1.5.13 — true one-row mobile fields. */
#marafal-sticky-finder.mst-sticky {
  --mst-top:0px;
  position:fixed;
  inset:auto 0 auto 0;
  top:var(--mst-top);
  z-index:900;
  display:block;
  width:100%;
  max-width:100vw;
  background:#fff;
  box-shadow:0 8px 26px rgba(12,23,35,.13);
  border-bottom:2px solid #b40000;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .17s ease,transform .17s ease,visibility .17s;
  box-sizing:border-box;
}
#marafal-sticky-finder.mst-sticky.is-visible {visibility:visible;opacity:1;pointer-events:auto;transform:none}
#marafal-sticky-finder *,#marafal-sticky-finder *:before,#marafal-sticky-finder *:after {box-sizing:border-box}

#marafal-sticky-finder .mst-bar {
  display:flex;
  align-items:center;
  gap:18px;
  width:min(1280px,calc(100% - 36px));
  min-height:72px;
  margin:auto;
  padding:7px 0;
}
#marafal-sticky-finder .mst-brand {
  display:flex;flex-direction:column;gap:3px;flex:0 0 auto;
  color:#b40000;font-weight:900;font-size:17px;letter-spacing:.045em;line-height:1.1;
}
#marafal-sticky-finder .mst-brand small {color:#656c76;font-size:8px;font-weight:750;letter-spacing:.095em}

/* Strip the full Route Finder chrome only inside the sticky bar. */
#marafal-sticky-finder .mdb2-route-finder-compact {
  position:relative;
  flex:1;
  min-width:0;
  overflow:visible;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#marafal-sticky-finder .mdb2-route-finder-compact:before {display:none}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-grid-premium {
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.2fr) minmax(150px,.82fr) minmax(188px,.8fr);
  gap:0;
  align-items:stretch;
  min-height:54px;
  padding:4px;
  border:1px solid #b40000;
  border-radius:12px;
  background:#fff;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-field {
  min-width:0;
  padding:5px 12px 4px;
  border-right:1px solid #e5e7eb;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-field label {
  display:block;
  margin:0 0 1px;
  color:#68707a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.1;
  text-transform:uppercase;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-autocomplete-control,
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control {
  min-height:29px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-autocomplete-control:focus-within,
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control:focus-within {box-shadow:none}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-autocomplete-control input,
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control input {
  min-height:29px;
  padding:2px 30px 2px 17px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#282d33;
  font-size:11px;
  font-weight:750;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control input[type="date"] {padding-left:0;padding-right:4px}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-icon {left:1px;font-size:7px}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-arrow {right:-4px;width:28px;height:27px;font-size:16px}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-submit-wrap {display:flex;padding-left:7px;min-width:0}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-submit {
  width:100%;
  min-width:0;
  min-height:44px;
  margin:0;
  padding:8px 14px;
  border-radius:8px;
  font-size:11px;
  white-space:nowrap;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-message-compact {
  position:absolute;
  top:calc(100% + 4px);
  right:4px;
  z-index:3;
  max-width:min(360px,90vw);
  padding:0;
  background:#fff;
  color:#b40000;
  font-size:9px;
  font-weight:800;
  text-align:right;
  pointer-events:none;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-menu {
  top:calc(100% + 4px);
  z-index:999999;
  display:block !important;
  max-height:220px;
  overflow:auto;
  padding:4px;
  border:1px solid #dfe3e8;
  border-radius:9px;
  background:#fff;
  box-shadow:0 12px 30px rgba(17,24,39,.14);
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-menu[hidden] {display:none !important}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-option {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:9px 11px !important;
  border:0 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#20252b !important;
  text-align:left !important;
  font-size:12px !important;
  font-weight:650 !important;
  line-height:1.25 !important;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-option:hover,
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-option:focus {
  background:#fff3f3 !important;
  color:#b40000 !important;
  outline:none !important;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-empty {
  padding:9px 11px;
  color:#747b84;
  font-size:11px;
}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-autocomplete-control input {padding-right:4px}
#marafal-sticky-finder .mdb2-route-finder-compact .mdb2-arrow {display:none !important}

@media (max-width:980px) {
  #marafal-sticky-finder .mst-brand {display:none}
  #marafal-sticky-finder .mst-bar {width:calc(100% - 20px);min-height:68px}
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-grid-premium {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(145px,.72fr) minmax(165px,.75fr);
  }
}

@media (max-width:767px) {
  /* Mobile: TRUE horizontal row = From | To | Date. CTA remains a compact second row. */
  #marafal-sticky-finder .mst-bar {
    width:calc(100% - 10px);
    min-height:72px;
    padding:4px 0;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-grid-premium {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.82fr) !important;
    gap:0 !important;
    min-height:0;
    padding:3px;
    border-radius:10px;
  }
  /* The main Route Finder mobile CSS forces location fields full-width with !important.
     Reset that ONLY inside the sticky compact finder. */
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-origin-field,
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-destination-field,
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-date-field {
    grid-column:auto !important;
    min-width:0 !important;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-origin-field {grid-column:1 !important;}
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-destination-field {grid-column:2 !important;}
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-date-field {grid-column:3 !important;}
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-field {
    min-width:0;
    padding:3px 6px 2px;
    border-bottom:0 !important;
    border-right:1px solid #e5e7eb;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-date-field {border-right:0}
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-field label {
    margin-bottom:0;
    font-size:7px;
    line-height:1;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-autocomplete-control,
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control {
    min-height:25px;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-icon {display:none}
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-autocomplete-control input,
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control input {
    min-height:25px;
    padding:1px 2px;
    font-size:9px;
    line-height:1.15;
    text-overflow:ellipsis;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-control input[type="date"] {
    padding:1px 0;
    font-size:8.5px;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-submit-wrap {
    grid-column:1 / -1 !important;
    padding:3px 0 0;
    border-top:1px solid #eef0f2;
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-submit {
    min-height:32px;
    padding:4px 8px;
    border-radius:7px;
    font-size:10px;
  }
  /* Suggestions can be wider than the narrow mobile column. */
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-origin-menu {
    left:0;
    right:auto;
    width:min(210px,calc(100vw - 20px));
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-destination-menu {
    left:auto;
    right:0;
    width:min(210px,calc(100vw - 20px));
  }
  #marafal-sticky-finder .mdb2-route-finder-compact .mdb2-route-message-compact {
    right:3px;
    top:calc(100% + 2px);
    font-size:8px;
  }

  /* iOS Safari/WebKit auto-zooms focused form controls below 16px.
     Keep every interactive field at a computed 16px to prevent that viewport jump. */
  #marafal-sticky-finder .mdb2-route-finder-compact input,
  #marafal-sticky-finder .mdb2-route-finder-compact select,
  #marafal-sticky-finder .mdb2-route-finder-compact textarea {
    font-size:16px !important;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
}

@media(prefers-reduced-motion:reduce){#marafal-sticky-finder.mst-sticky{transition:none}}

#marafal-sticky-finder-spacer {display:block;width:100%;min-height:0;margin:0;padding:0;border:0;pointer-events:none;background:transparent}

body.mdb2-booking-expanded #marafal-sticky-finder.mst-sticky {
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(-8px) !important;
}
body.mdb2-booking-expanded #marafal-sticky-finder-spacer {height:0 !important}
