:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --navy: rgba(7,18,33,.96);
  --blue: #1681ff;
  --green: #2adf9c;
  --red: #ff5368;
  --glass: rgba(249,251,255,.95);
  --ink: #112033;
  --muted: #6f8096;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: #e8e2d8; }
button { font: inherit; }
#map { position: absolute; inset: 0; }

.topbar {
  position: fixed;
  z-index: 20;
  left: 22px;
  right: 22px;
  top: 20px;
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px 12px 18px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 19px;
  background: var(--glass);
  box-shadow: 0 15px 42px rgba(24,39,60,.14);
  backdrop-filter: blur(16px);
}
.topbar strong, .topbar span { display: block; }
.topbar strong { color: var(--ink); font-size: 17px; }
.topbar span { margin-top: 3px; color: var(--muted); font-size: 11px; }

.top-actions { display: flex; gap: 8px; }
.top-actions button {
  min-width: 92px;
  padding: 10px 14px;
  border: 1px solid rgba(20,46,79,.12);
  border-radius: 12px;
  color: var(--ink);
  background: white;
  cursor: pointer;
  font-weight: 850;
}
.top-actions button.active { color: white; border-color: var(--blue); background: var(--blue); }

.setup-panel {
  position: fixed;
  z-index: 22;
  left: 24px;
  bottom: 48px;
  width: 360px;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  color: white;
  background: var(--navy);
  box-shadow: 0 20px 58px rgba(1,10,25,.36);
}
.setup-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.setup-panel header strong, .setup-panel header span { display: block; }
.setup-panel header strong { font-size: 17px; }
.setup-panel header span { margin-top: 3px; color: #8ea1b8; font-size: 10px; }

.health-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #f1b94a;
  box-shadow: 0 0 16px rgba(241,185,74,.64);
}
.health-dot.ready { background: var(--green); box-shadow: 0 0 16px rgba(42,223,156,.7); }

.setup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.setup-grid button, .primary {
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  color: #eaf4ff;
  background: rgba(255,255,255,.055);
  cursor: pointer;
  font-weight: 820;
}
.setup-grid button:hover { background: rgba(255,255,255,.1); }
.primary {
  width: 100%;
  margin-top: 9px;
  border-color: rgba(40,141,255,.72);
  background: linear-gradient(180deg,#2695ff,#0b6de7);
}
.primary:disabled { cursor: not-allowed; opacity: .44; }

#setupStatus {
  margin: 12px 0 0;
  padding: 10px 11px;
  border-radius: 11px;
  color: #9fb1c5;
  background: rgba(0,0,0,.16);
  font-size: 11px;
  line-height: 1.45;
}

.turn-card {
  position: fixed;
  z-index: 23;
  left: 24px;
  top: 108px;
  width: min(360px,calc(100vw - 48px));
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 18px 19px;
  border: 1px solid rgba(64,148,255,.36);
  border-radius: 18px;
  color: white;
  background: linear-gradient(145deg,rgba(14,45,84,.97),rgba(7,25,49,.97));
  box-shadow: 0 18px 50px rgba(0,31,75,.30);
}
.turn-icon {
  flex: 0 0 58px;
  color: #6cb0ff;
  font-size: 52px;
  font-weight: 900;
  line-height: 1;
}
.turn-card strong, .turn-card small { display: block; }
.turn-card strong { font-size: 20px; line-height: 1.2; }
.turn-card small { margin-top: 7px; color: #bac9dc; font-size: 13px; }

.drive-hud {
  position: fixed;
  z-index: 23;
  left: 50%;
  bottom: 34px;
  width: min(1220px,calc(100vw - 44px));
  min-height: 92px;
  display: grid;
  grid-template-columns: .8fr 1.35fr 1.45fr .9fr .8fr .9fr;
  transform: translateX(-50%);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  color: white;
  background: var(--navy);
  box-shadow: 0 20px 58px rgba(0,0,0,.36);
}
.drive-hud > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px 18px;
  border-right: 1px solid rgba(255,255,255,.07);
}
.drive-hud > div:last-child { border-right: 0; }
.drive-hud span { color: #8fa0b5; font-size: 10px; font-weight: 800; }
.drive-hud strong {
  margin-top: 7px;
  overflow: hidden;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.drive-hud .focus {
  align-items: center;
  text-align: center;
  border: 1px solid rgba(54,129,255,.30);
  border-radius: 17px;
  background: linear-gradient(180deg,rgba(16,44,81,.98),rgba(8,28,54,.98));
  transform: scale(1.05);
}
.drive-hud .focus span { color: white; font-size: 28px; font-weight: 900; }
.drive-hud .focus strong { color: #83b9ff; font-size: 16px; }

.statusbar {
  position: fixed;
  z-index: 24;
  left: 0;
  right: 0;
  bottom: 0;
  height: 23px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 24px;
  color: #bbc8d6;
  background: #07111f;
  font-size: 10px;
}

.bx-pro-vehicle {
  position: relative;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.bx-pro-vehicle .ring {
  position: absolute;
  width: 32px;
  height: 32px;
  border: 1.4px solid rgba(42,223,156,.8);
  border-radius: 50%;
  animation: bxRadar 2.4s ease-out infinite;
  will-change: transform, opacity;
}
.bx-pro-vehicle .ring.two { animation-delay: 1.2s; }
.bx-pro-vehicle .arrow {
  position: relative;
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border: 2px solid white;
  border-radius: 50%;
  color: white;
  background: linear-gradient(180deg,#34e1a3,#0ca471);
  box-shadow: 0 0 0 5px rgba(42,223,156,.15),0 0 20px rgba(42,223,156,.55);
  font: 900 16px/1 system-ui;
}

.bx-pro-destination,
.bx-pro-start {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 2px solid white;
  border-radius: 50%;
  color: white;
  font: 900 14px/1 system-ui;
}
.bx-pro-destination {
  background: var(--red);
  box-shadow: 0 0 0 5px rgba(255,83,104,.18);
}
.bx-pro-start {
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(42,223,156,.18);
}

.maplibregl-ctrl-bottom-right { bottom: 118px; }

@keyframes bxRadar {
  0% { transform: scale(.55); opacity: .82; }
  100% { transform: scale(1.58); opacity: 0; }
}

@media (max-width: 820px) {
  .topbar { left: 10px; right: 10px; top: 10px; }
  .setup-panel { left: 10px; right: 10px; bottom: 32px; width: auto; }
  .turn-card { left: 10px; top: 92px; width: calc(100vw - 20px); }
  .drive-hud {
    bottom: 28px;
    width: calc(100vw - 18px);
    grid-template-columns: 1fr 1.2fr 1.35fr;
  }
  .drive-hud > div:nth-child(4),
  .drive-hud > div:nth-child(5),
  .drive-hud > div:nth-child(6) { display: none; }
  .statusbar { gap: 12px; padding: 0 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .bx-pro-vehicle .ring { animation: none; opacity: .28; }
}

/* =========================================================
   BARGAINX MAP PRO V2.2 — SEARCH + DRIVE STABILITY
   New styling only. No old-map assets are imported.
   ========================================================= */

.topbar {
  display: grid;
  grid-template-columns: minmax(130px,.55fr) minmax(360px,1.7fr) auto;
  align-items: center;
}

.brand-block {
  min-width: 0;
}

.search-shell {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto 44px;
  align-items: center;
  gap: 6px;
  width: min(760px,100%);
  justify-self: center;
  padding: 5px 6px 5px 10px;
  border: 1px solid rgba(28,55,87,.14);
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 6px 20px rgba(39,55,78,.08);
}

.search-icon {
  display: grid;
  place-items: center;
  color: #8190a2;
  font-size: 23px;
  transform: rotate(-15deg);
}

.search-shell input {
  min-width: 0;
  height: 39px;
  border: 0;
  outline: 0;
  color: #142234;
  background: transparent;
  font: 700 14px/1.2 inherit;
}

.search-shell input::placeholder {
  color: #8997a7;
  font-weight: 600;
}

.search-submit,
.locate-button {
  height: 39px;
  border: 0;
  border-radius: 11px;
  cursor: pointer;
  font-weight: 850;
}

.search-submit {
  padding: 0 16px;
  color: white;
  background: linear-gradient(180deg,#2a95ff,#0d6fe8);
}

.locate-button {
  width: 39px;
  color: #1372dc;
  background: #eaf4ff;
  font-size: 20px;
}

.search-results {
  position: absolute;
  z-index: 80;
  left: 0;
  right: 0;
  top: calc(100% + 9px);
  max-height: min(420px,65vh);
  overflow: auto;
  padding: 8px;
  border: 1px solid rgba(17,41,72,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 24px 65px rgba(12,27,48,.25);
  backdrop-filter: blur(18px);
}

.search-result {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 11px;
  border: 0;
  border-radius: 12px;
  color: #162437;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.search-result:hover,
.search-result:focus-visible {
  outline: 0;
  background: #edf5ff;
}

.search-result .result-pin {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: white;
  background: linear-gradient(180deg,#2b93ff,#166cdf);
  font-weight: 900;
}

.search-result strong,
.search-result small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-result strong {
  font-size: 13px;
}

.search-result small {
  margin-top: 4px;
  color: #728197;
  font-size: 10px;
}

.search-result .result-type {
  color: #4e6178;
  font-size: 10px;
  font-weight: 800;
}

.search-empty {
  padding: 18px 14px;
  color: #6d7d90;
  text-align: center;
  font-size: 12px;
}

.place-modal {
  position: fixed;
  z-index: 90;
  left: 50%;
  top: 52%;
  width: min(780px,calc(100vw - 34px));
  display: grid;
  grid-template-columns: minmax(230px,.82fr) minmax(320px,1.18fr);
  transform: translate(-50%,-50%);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  background: rgba(7,18,33,.98);
  box-shadow: 0 34px 100px rgba(0,0,0,.46);
}

.modal-close {
  position: absolute;
  z-index: 2;
  right: 14px;
  top: 12px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  color: white;
  background: rgba(0,0,0,.24);
  cursor: pointer;
  font-size: 27px;
}

.place-media {
  min-height: 340px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 65% 28%,rgba(79,162,255,.52),transparent 26%),
    linear-gradient(145deg,#11345d,#091829 54%,#102a45);
}

.place-badge {
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 31px;
  color: white;
  background: linear-gradient(145deg,#2c9cff,#0c5cb8);
  box-shadow: 0 25px 60px rgba(0,64,143,.45);
  font-size: 46px;
  font-weight: 950;
}

.place-copy {
  padding: 34px 34px 30px;
  color: white;
}

.place-category {
  color: #57caa1;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.place-copy h2 {
  margin: 11px 0 9px;
  font-size: clamp(24px,3vw,36px);
  line-height: 1.08;
}

.place-copy p {
  margin: 0;
  color: #aebdd0;
  font-size: 13px;
  line-height: 1.55;
}

.place-copy dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 24px 0;
}

.place-copy dl div {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
}

.place-copy dt {
  color: #7f91a8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.place-copy dd {
  margin: 6px 0 0;
  color: #eaf4ff;
  font-size: 13px;
  font-weight: 800;
}

.modal-actions {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 10px;
}

.modal-actions button {
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  color: white;
  background: rgba(255,255,255,.06);
  cursor: pointer;
  font-weight: 850;
}

.modal-actions .modal-primary {
  border-color: #1681ff;
  background: linear-gradient(180deg,#2492ff,#0c6ee7);
}

.bx-pro-vehicle {
  width: 44px;
  height: 44px;
}

.bx-pro-vehicle .ring {
  width: 27px;
  height: 27px;
}

.bx-pro-vehicle .arrow {
  width: 29px;
  height: 29px;
  font-size: 13px;
  box-shadow: 0 0 0 4px rgba(42,223,156,.14),0 0 16px rgba(42,223,156,.5);
}

.route-transitioning .bx-pro-vehicle .arrow {
  box-shadow: 0 0 0 4px rgba(42,223,156,.15),0 0 24px rgba(42,223,156,.72);
}

@media (max-width: 1040px) {
  .topbar {
    grid-template-columns: auto minmax(260px,1fr) auto;
  }

  .brand-block span {
    display: none;
  }

  .top-actions button {
    min-width: 70px;
  }
}

@media (max-width: 760px) {
  .topbar {
    left: 8px;
    right: 8px;
    top: 8px;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 8px;
  }

  .brand-block {
    display: none;
  }

  .search-shell {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .top-actions {
    grid-column: 2;
    grid-row: 1;
  }

  .place-modal {
    grid-template-columns: 1fr;
    max-height: calc(100vh - 24px);
    overflow: auto;
  }

  .place-media {
    min-height: 170px;
  }

  .place-badge {
    width: 88px;
    height: 88px;
    border-radius: 23px;
    font-size: 31px;
  }

  .place-copy {
    padding: 24px 20px 22px;
  }
}

/* =========================================================
   BARGAINX MAP PRO V2.3 — SMART SEARCH + DIRECTIONS UX
   Current Map Pro only. No old-map assets or runtime code.
   ========================================================= */

[hidden] {
  display: none !important;
}

body.modal-open {
  overflow: hidden;
}

body.modal-open .turn-card,
body.modal-open .drive-hud,
body.modal-open .setup-panel {
  opacity: .12;
  pointer-events: none;
}

.topbar {
  grid-template-columns: 46px minmax(92px,.35fr) minmax(420px,1.7fr) auto;
  gap: 12px;
}

.menu-button {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(22,49,80,.12);
  border-radius: 13px;
  color: #23364d;
  background: rgba(255,255,255,.97);
  box-shadow: 0 7px 22px rgba(28,46,70,.09);
  cursor: pointer;
  font-size: 20px;
  font-weight: 900;
}

.search-shell {
  grid-template-columns: 34px minmax(0,1fr) 38px 40px auto;
  padding: 5px 6px 5px 10px;
}

.search-clear {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 10px;
  color: #6f8095;
  background: transparent;
  cursor: pointer;
  font-size: 23px;
  line-height: 1;
}

.search-clear:hover {
  color: #17304e;
  background: #edf4fc;
}

.search-submit {
  min-width: 96px;
}

.search-results {
  padding: 0;
  border-radius: 13px;
  overflow: auto;
  backdrop-filter: none;
}

.search-result {
  grid-template-columns: 46px minmax(0,1fr) auto;
  min-height: 64px;
  padding: 9px 14px;
  border-bottom: 1px solid #e9eef5;
  border-radius: 0;
}

.search-result:last-child {
  border-bottom: 0;
}

.search-result[aria-selected="true"],
.search-result:hover,
.search-result:focus-visible {
  background: #eef5ff;
}

.search-result .result-pin {
  color: #2e6fc5;
  background: #edf4ff;
  border: 1px solid #d3e1f3;
}

.search-result[data-kind="car"] .result-pin {
  color: #e65055;
  background: #fff0f1;
  border-color: #f6d1d3;
}

.search-result[data-kind="park"] .result-pin {
  color: #48a66e;
  background: #edf9f1;
  border-color: #cdebd7;
}

.search-result strong {
  font-size: 13px;
}

.search-result small {
  font-size: 10px;
}

.result-type {
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-footer {
  width: 100%;
  padding: 12px 16px;
  border: 0;
  border-top: 1px solid #e4eaf2;
  color: #1875df;
  background: #fbfdff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}

.modal-backdrop {
  position: fixed;
  z-index: 88;
  inset: 0;
  background: rgba(3,10,20,.38);
}

.place-modal {
  z-index: 90;
  top: 50%;
  width: min(720px,calc(100vw - 34px));
  grid-template-columns: minmax(220px,.72fr) minmax(340px,1.28fr);
}

.place-media {
  min-height: 360px;
}

.place-photo-placeholder {
  display: grid;
  place-items: center;
  gap: 12px;
}

.place-photo-placeholder small {
  color: rgba(255,255,255,.67);
  font-size: 11px;
  font-weight: 750;
}

.modal-close,
.route-panel header button {
  display: grid;
  place-items: center;
  line-height: 1;
}

.modal-actions.secondary-row {
  margin-top: 10px;
  grid-template-columns: 1fr 1fr;
}

.modal-actions button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.right-rail {
  position: fixed;
  z-index: 28;
  right: 24px;
  top: 50%;
  display: grid;
  gap: 9px;
  transform: translateY(-42%);
}

.right-rail button {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(21,50,84,.13);
  border-radius: 15px;
  color: #17263a;
  background: rgba(255,255,255,.97);
  box-shadow: 0 9px 26px rgba(28,44,66,.15);
  cursor: pointer;
  font-weight: 900;
}

.right-rail button:hover,
.right-rail button.active {
  color: white;
  border-color: #167df1;
  background: linear-gradient(180deg,#2a95ff,#106fe4);
}

.right-rail .rail-danger {
  color: white;
  border-color: #0c1726;
  background: #0b1727;
  font-size: 25px;
}

.route-panel {
  position: fixed;
  z-index: 40;
  right: 88px;
  top: 50%;
  width: min(370px,calc(100vw - 110px));
  max-height: calc(100vh - 150px);
  transform: translateY(-44%);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  color: white;
  background: rgba(6,16,28,.98);
  box-shadow: 0 25px 70px rgba(0,0,0,.40);
}

.route-panel > header {
  min-height: 61px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 15px 13px 18px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.route-panel > header strong {
  font-size: 17px;
}

.route-panel > header button {
  width: 37px;
  height: 37px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 11px;
  color: white;
  background: rgba(255,255,255,.06);
  cursor: pointer;
  font-size: 24px;
}

.route-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.route-tabs button {
  min-height: 49px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #a8b6c7;
  background: transparent;
  cursor: pointer;
  font-weight: 820;
}

.route-tabs button.active {
  color: #66a9ff;
  border-bottom-color: #2c88ff;
}

.route-summary-view,
.route-steps-view {
  padding: 16px;
  overflow: auto;
  max-height: calc(100vh - 270px);
}

.route-point {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 11px;
  align-items: start;
  margin-bottom: 16px;
}

.route-point i {
  margin-top: 5px;
}

.point-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(255,255,255,.05);
}

.point-dot.start {
  background: #35c77a;
}

.point-dot.destination {
  background: #e94d58;
}

.point-line {
  width: 3px;
  height: 37px;
  margin-left: 5px;
  border-radius: 4px;
  background: #207ef0;
}

.route-point small,
.route-stats small {
  display: block;
  color: #8797ab;
  font-size: 9px;
  font-weight: 900;
}

.route-point strong {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.35;
}

.route-stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 7px;
  margin-top: 21px;
}

.route-stats div {
  min-width: 0;
}

.route-stats strong {
  display: block;
  margin-top: 6px;
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.route-progress {
  height: 7px;
  margin: 18px 0;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(255,255,255,.11);
}

.route-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#28d69a,#2388ff);
  transition: width .25s linear;
}

.route-primary {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  color: white;
  background: linear-gradient(180deg,#2a91ff,#116de0);
  cursor: pointer;
  font-weight: 850;
}

.route-steps-list {
  display: grid;
  gap: 8px;
}

.route-step {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}

.route-step-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #7eb6ff;
  background: rgba(31,118,226,.17);
  font-size: 21px;
  font-weight: 900;
}

.route-step strong,
.route-step small {
  display: block;
}

.route-step strong {
  font-size: 12px;
  line-height: 1.3;
}

.route-step small {
  margin-top: 4px;
  color: #8899ad;
  font-size: 10px;
}

.route-step-distance {
  color: #aebdd0;
  font-size: 10px;
  font-weight: 850;
}

.maplibregl-ctrl-group {
  display: none;
}

@media (max-width: 1040px) {
  .topbar {
    grid-template-columns: 44px minmax(0,1fr) auto;
  }

  .brand-block {
    display: none;
  }
}

@media (max-width: 760px) {
  .topbar {
    grid-template-columns: 42px 1fr auto;
  }

  .search-shell {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: 32px minmax(0,1fr) 34px 38px auto;
  }

  .right-rail {
    right: 10px;
    gap: 7px;
  }

  .right-rail button {
    width: 47px;
    height: 47px;
    border-radius: 13px;
  }

  .route-panel {
    left: 10px;
    right: 67px;
    width: auto;
  }

  .place-modal {
    grid-template-columns: 1fr;
  }
}

/* Map Pro V2.3.1 drive stability */
.drive-vehicle-overlay {
  position: fixed;
  z-index: 24;
  left: 50%;
  top: 72.5%;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  pointer-events: none;
  contain: layout style paint;
  will-change: transform;
}

.drive-vehicle-overlay[hidden] { display: none !important; }

.drive-vehicle-overlay .ring {
  position: absolute;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(42,223,156,.7);
  border-radius: 50%;
  animation: bxRadar 2.6s ease-out infinite;
  will-change: transform, opacity;
}

.drive-vehicle-overlay .ring.two { animation-delay: 1.3s; }

.drive-vehicle-overlay .arrow {
  position: relative;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(180deg,#36e5a6,#0aa673);
  box-shadow: 0 0 0 4px rgba(42,223,156,.12), 0 0 13px rgba(42,223,156,.42);
  font: 900 14px/1 system-ui;
}

body.navigation-active .maplibregl-marker .bx-pro-vehicle {
  display: none !important;
}

body.quality-light .drive-vehicle-overlay .ring {
  animation-duration: 3.2s;
  border-color: rgba(42,223,156,.45);
}

body.quality-light .drive-vehicle-overlay .arrow {
  box-shadow: 0 0 0 3px rgba(42,223,156,.1);
}

body.performance-2d .drive-vehicle-overlay {
  top: 72%;
}

body.journey-complete .drive-vehicle-overlay .ring {
  animation: none;
  opacity: .25;
}

@media (max-width: 820px) {
  .drive-vehicle-overlay {
    top: 69%;
    width: 42px;
    height: 42px;
  }
}

/* =========================================================
   BARGAINX MAP PRO V2.4 — ULTRA-SMOOTH FORWARD DRIVE
   Mockup-aligned UI; current Map Pro only.
   ========================================================= */

.pro-pill {
  display: inline-grid;
  place-items: center;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 5px;
  color: #06101d;
  background: #58df4f;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
  vertical-align: 2px;
}

.top-gps {
  min-width: 96px;
  text-align: right;
}
.top-gps strong { color: #44dc83; font-size: 11px; }
.top-gps span { color: #7f8ea0; font-size: 11px; }

body.navigation-active .topbar {
  border-color: rgba(42,129,255,.22);
  background: rgba(4,14,28,.95);
  box-shadow: 0 14px 42px rgba(0,0,0,.28);
  backdrop-filter: none;
}
body.navigation-active .brand-block strong { color: #f4f8ff; }
body.navigation-active .brand-block span { color: #7f94ad; }
body.navigation-active .menu-button,
body.navigation-active .top-actions button {
  color: #eef6ff;
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.065);
}
body.navigation-active .search-shell {
  border-color: rgba(52,132,255,.28);
  background: rgba(249,252,255,.98);
}

.turn-card {
  width: 370px;
  min-height: 132px;
  padding: 21px 23px;
  border-radius: 22px;
  background: linear-gradient(145deg,rgba(4,17,32,.98),rgba(8,30,53,.96));
  box-shadow: 0 22px 54px rgba(0,0,0,.30);
}
.turn-card .turn-icon { font-size: 39px; color: #58a7ff; }
.turn-card strong { font-size: 22px; }
.turn-card small { font-size: 14px; }

.drive-metrics {
  position: fixed;
  z-index: 23;
  left: 24px;
  top: 374px;
  width: 178px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  color: #f4f8ff;
  background: rgba(5,18,33,.95);
  box-shadow: 0 20px 52px rgba(0,0,0,.30);
}
.drive-metrics > div {
  min-height: 96px;
  padding: 15px 17px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.drive-metrics > div:last-child { border-bottom: 0; }
.drive-metrics small {
  display: block;
  margin-top: 5px;
  color: #8da0b6;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .06em;
}
.limit-metric span {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  border: 5px solid #f43b48;
  border-radius: 50%;
  color: #101722;
  background: #fff;
  font-size: 18px;
  font-weight: 950;
}
.speed-metric strong { font-size: 28px; }
.speed-metric > span { margin-left: 5px; color: #9fb0c4; font-size: 12px; }
.smooth-metric i {
  width: 32px;
  height: 32px;
  display: block;
  border-radius: 50%;
  background: radial-gradient(circle,#4ff0a6 0 15%,rgba(79,240,166,.18) 17% 42%,transparent 44%);
}
.smooth-metric span,
.smooth-metric strong { display: block; margin-top: 5px; }
.smooth-metric span { color: #aab8c9; font-size: 11px; }
.smooth-metric strong { color: #58e68e; font-size: 13px; }

.drive-vehicle-overlay {
  top: 76%;
  width: 132px;
  height: 132px;
  contain: strict;
}
.drive-vehicle-overlay::before {
  content: "";
  position: absolute;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(70,255,122,.28),rgba(70,255,122,.08) 45%,transparent 72%);
  filter: none;
  opacity: .82;
}
.drive-vehicle-overlay .ring {
  width: 52px;
  height: 52px;
  border: 1.5px solid rgba(74,255,135,.72);
  animation: bxRadarV24 3s cubic-bezier(.16,.8,.22,1) infinite;
  transform: translateZ(0);
}
.drive-vehicle-overlay .ring.two { animation-delay: 1s; }
.drive-vehicle-overlay .ring.three { animation-delay: 2s; }
.drive-vehicle-overlay .radar-core {
  position: absolute;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(98,255,151,.48),rgba(39,226,112,.14) 55%,transparent 72%);
}
.drive-vehicle-overlay .arrow {
  width: 48px;
  height: 48px;
  clip-path: polygon(50% 0,100% 100%,50% 77%,0 100%);
  border: 0;
  border-radius: 0;
  color: transparent;
  background: #f9ffff;
  filter: drop-shadow(0 0 2px #0b3725) drop-shadow(0 0 11px rgba(56,255,126,.9));
  box-shadow: none;
}
.drive-vehicle-overlay .arrow::after {
  content: "";
  position: absolute;
  inset: 7px 9px 12px;
  clip-path: inherit;
  background: #18c96c;
}

body.quality-light .drive-vehicle-overlay .ring {
  animation-duration: 3.5s;
  border-color: rgba(74,255,135,.58);
}
body.quality-light .drive-vehicle-overlay::before { opacity: .62; }

body.navigation-active .route-panel,
body.navigation-active .drive-hud,
body.navigation-active .turn-card,
body.navigation-active .drive-metrics {
  backdrop-filter: none;
}
body.quality-light .route-panel,
body.quality-light .drive-hud,
body.quality-light .turn-card,
body.quality-light .drive-metrics {
  box-shadow: 0 12px 32px rgba(0,0,0,.22);
}

.drive-hud {
  bottom: 28px;
  width: min(1340px,calc(100vw - 210px));
  min-height: 105px;
  border-radius: 22px;
  background: rgba(4,16,30,.96);
}
.drive-hud .focus span { font-size: 31px; }
.drive-hud .focus strong { font-size: 18px; }

.right-rail button { transition: transform .12s ease, background .12s ease; }
.right-rail button:active { transform: scale(.94); }

.statusbar { gap: 20px; }

@keyframes bxRadarV24 {
  0% { transform: scale(.46); opacity: 0; }
  12% { opacity: .9; }
  100% { transform: scale(2.05); opacity: 0; }
}

@media (max-width: 1040px) {
  .top-gps { display: none; }
  .drive-metrics { display: none !important; }
  .drive-hud { width: calc(100vw - 26px); }
}

@media (max-width: 820px) {
  .drive-vehicle-overlay { top: 72%; width: 108px; height: 108px; }
  .turn-card { width: calc(100vw - 88px); }
}

@media (prefers-reduced-motion: reduce) {
  .drive-vehicle-overlay .ring { animation: none; opacity: .32; }
}

/* =========================================================
   BARGAINX MAP PRO V2.6 — APPROVED CLEAN NAVIGATION UI
   Search only, single GPS cursor, compact gauges, voice-only
   maneuver card, verified safety layers, compact attribution.
   ========================================================= */

:root {
  --v25-navy: rgba(4, 16, 30, .96);
  --v25-blue: #0d7df2;
  --v25-blue-soft: #59baff;
  --v25-green: #29df79;
  --v25-white: #f8fbff;
  --v25-shadow: 0 18px 48px rgba(2, 12, 27, .28);
  font-family: Inter, "Noto Sans Arabic", "Noto Kufi Arabic", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

[lang="ar"], [dir="rtl"] {
  font-family: "Noto Sans Arabic", "Noto Kufi Arabic", Tahoma, Arial, sans-serif;
}

.ui-sentinels {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.search-only-bar {
  left: 50%;
  right: auto;
  top: 18px;
  width: min(900px, calc(100vw - 310px));
  min-height: 68px;
  padding: 0;
  transform: translateX(-50%);
  border: 0;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.search-only-bar .search-shell {
  width: 100%;
  min-width: 0;
  min-height: 68px;
  margin: 0;
  padding: 8px 9px 8px 18px;
  border: 1px solid rgba(255, 255, 255, .96);
  border-radius: 22px;
  background: rgba(252, 253, 255, .98);
  box-shadow: 0 18px 46px rgba(26, 43, 65, .18);
  backdrop-filter: none;
}

.search-only-bar .search-icon {
  width: 34px;
  color: #0d2138;
  font-size: 28px;
  font-weight: 900;
}

.search-only-bar .search-shell input {
  min-width: 0;
  height: 50px;
  padding: 0 10px;
  color: #16263a;
  font-size: 16px;
  font-weight: 670;
}

.search-only-bar .search-shell input::placeholder {
  color: #8897a9;
  opacity: 1;
}

.search-only-bar .locate-button {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 15px;
  color: #10243b;
  background: #f7faff;
}

.search-only-bar .search-submit {
  min-width: 112px;
  height: 50px;
  display: grid;
  place-content: center;
  gap: 0;
  border-radius: 15px;
  font-weight: 900;
}

.search-only-bar .search-submit span,
.search-only-bar .search-submit small {
  margin: 0;
  line-height: 1.05;
}

.search-only-bar .search-submit small {
  color: rgba(255,255,255,.86);
  font-size: 10px;
}

.search-only-bar .search-results {
  top: calc(100% + 8px);
  width: 100%;
  max-height: min(430px, calc(100vh - 130px));
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0, 18, 45, .24);
}

.floating-menu {
  position: fixed;
  z-index: 35;
  left: 26px;
  top: 24px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(18, 43, 73, .08);
  border-radius: 19px;
  color: #11233a;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 16px 38px rgba(11, 30, 54, .22);
  font-size: 27px;
  font-weight: 950;
  cursor: pointer;
  transition: transform .12s ease;
}

.floating-menu:active { transform: scale(.94); }

.gps-pill {
  position: fixed;
  z-index: 31;
  right: 28px;
  top: 25px;
  min-width: 112px;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 17px;
  color: white;
  background: rgba(5, 18, 33, .91);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .22);
}

.gps-pill > i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--v25-green);
  box-shadow: 0 0 13px rgba(41, 223, 121, .74);
}

.gps-pill strong,
.gps-pill span { display: block; }
.gps-pill strong { color: #ecfff4; font-size: 12px; }
.gps-pill span { margin-top: 3px; color: #a5b5c8; font-size: 11px; }

body.navigation-active .search-only-bar,
body.navigation-active .search-only-bar .search-shell {
  background: transparent;
}

body.navigation-active .search-only-bar .search-shell {
  border-color: rgba(255,255,255,.9);
  background: rgba(252,253,255,.98);
}

body.navigation-active .floating-menu {
  color: #11233a;
  border-color: rgba(18, 43, 73, .08);
  background: rgba(255,255,255,.97);
}

.voice-turn-card {
  left: 26px;
  top: 120px;
  width: min(390px, calc(100vw - 52px));
  min-height: 142px;
  gap: 16px;
  padding: 22px 22px;
  border: 1px solid rgba(95, 167, 255, .24);
  border-radius: 23px;
  background: linear-gradient(145deg, rgba(3, 17, 32, .98), rgba(8, 32, 58, .97));
  box-shadow: 0 22px 56px rgba(0, 14, 35, .34);
  opacity: 0;
  transform: translateY(-8px) scale(.985);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

.voice-turn-card[hidden] { display: none !important; }
.voice-turn-card.speaking {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.voice-turn-card .voice-wave {
  position: absolute;
  left: 19px;
  top: 17px;
  color: #46c8ff;
  font-size: 11px;
  letter-spacing: 2px;
  animation: v25VoicePulse .72s ease-in-out infinite alternate;
}

.voice-turn-card .turn-icon {
  flex: 0 0 72px;
  color: #74b9ff;
  font-size: 62px;
  line-height: .95;
}

.voice-turn-card strong {
  font-size: 21px;
  line-height: 1.35;
}

.voice-turn-card small {
  margin-top: 8px;
  color: #b7c9dc;
  font-size: 14px;
}

@keyframes v25VoicePulse {
  from { opacity: .45; transform: scaleY(.76); }
  to { opacity: 1; transform: scaleY(1.08); }
}

.safety-alert {
  position: fixed;
  z-index: 32;
  left: 50%;
  top: 43%;
  min-width: 220px;
  max-width: 330px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  transform: translate(-50%, -50%);
  border: 2px solid #ffc31a;
  border-radius: 15px;
  color: #fff;
  background: rgba(7, 20, 34, .94);
  box-shadow: 0 16px 42px rgba(0,0,0,.28);
  pointer-events: none;
}

.safety-alert[hidden] { display: none !important; }
.safety-alert > span {
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #1d1a08;
  background: #ffc31a;
  font-size: 20px;
  font-weight: 950;
}
.safety-alert strong,
.safety-alert small { display: block; }
.safety-alert strong { font-size: 13px; }
.safety-alert small { margin-top: 3px; color: #ffd869; font-size: 12px; font-weight: 800; }

.compact-drive-metrics {
  left: 28px;
  top: auto;
  bottom: 30px;
  width: auto;
  display: flex;
  gap: 10px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.compact-drive-metrics > div {
  width: 74px;
  height: 74px;
  min-height: 74px;
  display: grid;
  place-content: center;
  padding: 6px;
  border: 0;
  border-radius: 50%;
  text-align: center;
  color: #f8fbff;
  background: rgba(5, 18, 33, .95);
  box-shadow: 0 14px 35px rgba(0,0,0,.28);
}

.compact-drive-metrics > div:last-child { border-bottom: 0; }
.compact-drive-metrics .speed-metric {
  border: 5px solid #2bd56e;
}
.compact-drive-metrics .limit-metric {
  border: 6px solid #ff4a50;
  background: #fff;
}

.compact-drive-metrics .speed-metric strong,
.compact-drive-metrics .limit-metric span {
  width: auto;
  height: auto;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
}

.compact-drive-metrics .speed-metric span {
  margin: 2px 0 0;
  color: #d9e7f6;
  font-size: 9px;
}

.compact-drive-metrics .limit-metric span { color: #17202d; }
.compact-drive-metrics small {
  margin-top: 4px;
  color: #a9bbcd;
  font-size: 8px;
  letter-spacing: .02em;
}
.compact-drive-metrics .limit-metric small { color: #374354; }

.compact-drive-hud {
  bottom: 24px;
  width: min(940px, calc(100vw - 260px));
  min-height: 94px;
  grid-template-columns: 1.25fr .82fr .82fr .95fr 1.35fr;
  border-radius: 22px;
  background: rgba(4, 16, 30, .96);
}

.compact-drive-hud > div {
  padding: 13px 17px;
}

.compact-drive-hud small {
  display: block;
  margin-top: 3px;
  color: #7f93aa;
  font-size: 9px;
  font-weight: 700;
}

.compact-drive-hud .focus {
  transform: none;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.08);
  border-radius: 0;
  background: transparent;
}

.compact-drive-hud .focus::before {
  content: attr(data-glyph);
  margin-right: 12px;
  color: #f8fbff;
  font-size: 42px;
  font-weight: 950;
}

.compact-drive-hud .focus {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  text-align: left;
}
.compact-drive-hud .focus::before { grid-row: 1 / 4; }
.compact-drive-hud .focus span { font-size: 24px; }
.compact-drive-hud .focus strong { margin-top: 1px; font-size: 16px; }
.compact-drive-hud .focus small { margin-top: 1px; }
.compact-drive-hud .road-cell strong { direction: auto; }

.drive-vehicle-overlay {
  top: 75%;
  width: 126px;
  height: 126px;
}

.drive-vehicle-overlay::before {
  width: 108px;
  height: 108px;
  opacity: .72;
}

.drive-vehicle-overlay .ring {
  animation-duration: 3.2s;
}

.v25-maneuver-marker {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  color: #fff;
  filter: drop-shadow(0 2px 2px rgba(0, 28, 70, .9)) drop-shadow(0 0 8px rgba(0, 115, 255, .9));
  font-family: Arial, sans-serif;
  font-size: 64px;
  font-weight: 950;
  line-height: 1;
  pointer-events: none;
  transform: translateZ(0);
}

.v25-maneuver-marker.lane { font-size: 58px; }
.v25-maneuver-marker.hidden { display: none; }

.right-rail {
  top: 126px;
  right: 24px;
  gap: 9px;
}

.right-rail button {
  width: 56px;
  height: 56px;
  border-radius: 17px;
  color: #17263a;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 28px rgba(16, 31, 50, .18);
}
.right-rail button.active {
  color: #fff;
  background: linear-gradient(180deg, #2695ff, #0b6de7);
}
.right-rail .rail-danger {
  color: #fff;
  background: rgba(5, 18, 33, .95);
}

.debug-statusbar { display: none; }
body.debug-ui .debug-statusbar { display: flex; }

.maplibregl-ctrl-bottom-right {
  right: 22px;
  bottom: 18px;
}

.maplibregl-ctrl-attrib.maplibregl-compact {
  min-height: 34px;
  border-radius: 50%;
  box-shadow: 0 9px 24px rgba(0,0,0,.2);
}

.maplibregl-ctrl-attrib.maplibregl-compact-show {
  border-radius: 10px;
}

body.quality-light .v25-maneuver-marker {
  filter: drop-shadow(0 1px 2px rgba(0, 28, 70, .88));
}

@media (max-width: 1180px) {
  .search-only-bar { width: min(760px, calc(100vw - 285px)); }
  .compact-drive-hud { width: calc(100vw - 230px); }
}

@media (max-width: 900px) {
  .search-only-bar {
    left: 92px;
    width: calc(100vw - 184px);
    transform: none;
  }
  .gps-pill { display: none; }
  .compact-drive-metrics { left: 15px; bottom: 114px; }
  .compact-drive-hud { width: calc(100vw - 24px); bottom: 12px; }
  .compact-drive-hud .road-cell { display: none; }
  .compact-drive-hud { grid-template-columns: 1.35fr .8fr .8fr .9fr; }
  .voice-turn-card { top: 102px; }
}

@media (max-width: 680px) {
  .floating-menu {
    left: 10px;
    top: 10px;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    font-size: 23px;
  }
  .search-only-bar {
    left: 68px;
    top: 10px;
    width: calc(100vw - 78px);
  }
  .search-only-bar .search-shell { min-height: 50px; height: 50px; padding: 4px 5px 4px 10px; border-radius: 16px; }
  .search-only-bar .search-shell input { height: 40px; font-size: 13px; }
  .search-only-bar .search-submit { min-width: 74px; height: 40px; border-radius: 12px; }
  .search-only-bar .locate-button { width: 40px; height: 40px; flex-basis: 40px; }
  .right-rail { top: 78px; right: 10px; }
  .right-rail button { width: 45px; height: 45px; border-radius: 14px; }
  .voice-turn-card { left: 10px; top: 74px; width: calc(100vw - 75px); min-height: 110px; }
  .voice-turn-card .turn-icon { flex-basis: 52px; font-size: 48px; }
  .voice-turn-card strong { font-size: 17px; }
  .compact-drive-metrics { left: 10px; bottom: 108px; }
  .compact-drive-metrics > div { width: 60px; height: 60px; min-height: 60px; }
  .compact-drive-metrics .speed-metric strong,
  .compact-drive-metrics .limit-metric span { font-size: 18px; }
  .compact-drive-hud { min-height: 84px; grid-template-columns: 1.45fr .8fr .8fr; }
  .compact-drive-hud > div { padding: 9px 10px; }
  .compact-drive-hud > div:nth-child(4),
  .compact-drive-hud .road-cell { display: none; }
  .compact-drive-hud .focus span { font-size: 20px; }
  .drive-vehicle-overlay { top: 70%; width: 100px; height: 100px; }
  .safety-alert { top: 40%; min-width: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  .voice-turn-card,
  .floating-menu { transition: none; }
  .voice-turn-card .voice-wave { animation: none; }
}

.search-only-bar .search-submit span { color: #fff; }


/* =========================================================
   BARGAINX MAP PRO V2.6 — UNIVERSAL PLACES + RETINA UI
   Desktop, tablet and phone use the same responsive codebase.
   ========================================================= */

html, body {
  min-width: 0;
  min-height: 100%;
  overscroll-behavior: none;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

button, input, textarea, select, a {
  -webkit-tap-highlight-color: transparent;
}

button, .button-link {
  min-height: 44px;
}

.debug-statusbar {
  display: none !important;
}

body.debug-ui .debug-statusbar {
  display: flex !important;
}

.maplibregl-ctrl-attrib {
  display: none !important;
}

.attribution-info-button {
  position: fixed;
  z-index: 34;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(10, 31, 53, .1);
  border-radius: 50%;
  color: #10243b;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 12px 30px rgba(0, 16, 38, .22);
  font-size: 21px;
  font-weight: 950;
  cursor: pointer;
}

.attribution-dialog {
  position: fixed;
  z-index: 80;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(max(18px, env(safe-area-inset-bottom)) + 54px);
  width: min(420px, calc(100vw - 32px));
  padding: 22px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  color: #ecf5ff;
  background: rgba(4, 16, 30, .98);
  box-shadow: 0 24px 70px rgba(0, 12, 28, .42);
}

.attribution-dialog[hidden] { display: none !important; }

.attribution-dialog > button,
.dialog-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  color: #ecf5ff;
  background: rgba(255,255,255,.08);
  font-size: 24px;
  cursor: pointer;
}

.attribution-dialog h2 {
  margin: 0 44px 10px 0;
  font-size: 20px;
}

.attribution-dialog p {
  margin: 0;
  color: #adc0d5;
  line-height: 1.55;
}

.attribution-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.attribution-links a {
  min-height: auto;
  padding: 8px 10px;
  border-radius: 10px;
  color: #7dc1ff;
  background: rgba(19, 114, 238, .12);
  text-decoration: none;
  font-weight: 800;
}

.universal-place-panel {
  top: 18px;
  right: 18px;
  bottom: 18px;
  left: auto;
  width: min(470px, calc(100vw - 36px));
  max-height: none;
  overflow: auto;
  padding: 0 0 18px;
  transform: none;
  border-radius: 26px;
  background: rgba(4, 16, 30, .985);
  box-shadow: 0 28px 90px rgba(0, 12, 28, .42);
  scrollbar-width: thin;
}

.universal-place-panel[hidden] { display: none !important; }

.universal-place-panel .modal-close {
  position: sticky;
  z-index: 5;
  top: 12px;
  float: right;
  margin: 12px 12px -52px 0;
  color: #fff;
  background: rgba(2, 12, 24, .68);
  backdrop-filter: blur(10px);
}

.place-profile-head {
  display: block;
}

.profile-gallery-shell {
  min-height: 250px;
  padding: 0;
  overflow: hidden;
  border-radius: 26px 26px 0 0;
  background: linear-gradient(145deg, #122944, #081524);
}

.profile-gallery-shell .place-photo-placeholder,
.profile-gallery-shell .profile-hero-image {
  width: 100%;
  height: 250px;
  display: grid;
  place-items: center;
  object-fit: cover;
  border-radius: 0;
}

.profile-gallery-shell .profile-hero-image {
  object-position: center;
}

.place-thumbnail-strip {
  display: flex;
  gap: 7px;
  min-height: 0;
  padding: 9px 12px 0;
  overflow-x: auto;
}

.place-thumbnail-strip:empty { display: none; }

.place-thumbnail-strip button {
  width: 64px;
  height: 48px;
  min-height: 48px;
  flex: 0 0 64px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 11px;
  background: #0b1c2f;
}

.place-thumbnail-strip button.active {
  border-color: #2d98ff;
}

.place-thumbnail-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-summary {
  padding: 20px 22px 2px;
}

.place-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.place-heading-row h2 {
  margin: 6px 0 0;
}

.saved-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  color: #082217;
  background: #5be69b;
  font-size: 11px;
  font-weight: 900;
}

.place-rating-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0 8px;
}

.place-rating-summary > span {
  color: #ffbc2e;
  letter-spacing: 1px;
  font-size: 18px;
}

.place-rating-summary strong {
  color: #ecf5ff;
  font-size: 13px;
}

.place-rating-summary small {
  color: #91a6bd;
  font-size: 12px;
}

.profile-coordinates {
  grid-template-columns: 1fr 1fr;
}

.place-primary-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.place-primary-actions button,
.secondary-row button,
.button-link {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 13px;
  color: #dbe8f5;
  background: rgba(255,255,255,.07);
  text-align: center;
  text-decoration: none;
  font-weight: 850;
}

.place-primary-actions .modal-primary {
  color: #fff;
  background: linear-gradient(180deg, #2c96ff, #0871e7);
}

.place-profile-tabs {
  position: sticky;
  z-index: 4;
  top: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(4,16,30,.97);
  backdrop-filter: blur(12px);
}

.place-profile-tabs button {
  border: 0;
  border-bottom: 3px solid transparent;
  color: #9cb0c6;
  background: transparent;
  font-weight: 850;
}

.place-profile-tabs button.active {
  color: #75baff;
  border-bottom-color: #238cff;
}

.place-profile-tabs span {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  margin-left: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  font-size: 10px;
}

.place-profile-tab {
  padding: 18px 22px 2px;
}

.place-profile-tab[hidden] { display: none !important; }

.profile-facts {
  display: grid;
  gap: 10px;
}

.profile-facts > div {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 12px;
  padding: 12px 13px;
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}

.profile-facts span {
  color: #8197af;
  font-size: 11px;
  font-weight: 800;
}

.profile-facts strong {
  color: #eaf4ff;
  font-size: 13px;
  font-weight: 760;
}

.unsaved-place-prompt {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid rgba(67, 219, 132, .26);
  border-radius: 16px;
  background: rgba(29, 155, 88, .10);
}

.unsaved-place-prompt[hidden] { display: none !important; }

.unsaved-place-prompt strong,
.unsaved-place-prompt span,
.unsaved-place-prompt small {
  display: block;
}

.unsaved-place-prompt strong {
  color: #70edaa;
  font-size: 15px;
}

.unsaved-place-prompt span {
  margin-top: 4px;
  color: #dff9ea;
  font-size: 13px;
}

.unsaved-place-prompt small {
  margin-top: 7px;
  color: #9db4c9;
  line-height: 1.45;
}

.unsaved-place-prompt button {
  width: 100%;
  margin-top: 12px;
  border: 0;
  border-radius: 12px;
  color: #062015;
  background: #55df95;
  font-weight: 900;
}

.place-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.place-photo-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
  background: #102238;
}

.empty-profile-state {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px 12px;
  border-radius: 14px;
  color: #8fa4bb;
  background: rgba(255,255,255,.035);
  text-align: center;
}

.profile-upload-form,
.place-review-form {
  display: grid;
  gap: 11px;
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
}

.profile-upload-form label,
.place-review-form label {
  display: grid;
  gap: 7px;
}

.profile-upload-form span,
.place-review-form span {
  color: #9cb0c6;
  font-size: 11px;
  font-weight: 850;
}

.profile-upload-form input,
.place-review-form input,
.place-review-form select,
.place-review-form textarea,
.new-place-dialog input,
.new-place-dialog textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  color: #eef6ff;
  background: rgba(3, 13, 25, .84);
  outline: none;
}

.profile-upload-form input,
.place-review-form input,
.place-review-form select,
.new-place-dialog input {
  min-height: 44px;
  padding: 9px 11px;
}

.place-review-form textarea,
.new-place-dialog textarea {
  min-height: 88px;
  padding: 11px;
  resize: vertical;
}

.profile-upload-form button,
.place-review-form button {
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: #147ef0;
  font-weight: 900;
}

.place-review-list {
  display: grid;
  gap: 10px;
}

.place-review {
  padding: 14px;
  border-radius: 15px;
  background: rgba(255,255,255,.045);
}

.place-review header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.place-review strong { color: #edf6ff; }
.place-review .stars { color: #ffbc2e; letter-spacing: 1px; }
.place-review p {
  margin: 9px 0 0;
  color: #b3c4d5;
  line-height: 1.5;
}
.place-review time {
  display: block;
  margin-top: 8px;
  color: #71879e;
  font-size: 10px;
}

.place-profile-status,
.dialog-status {
  min-height: 18px;
  margin: 12px 22px 0;
  color: #79e7ac;
  font-size: 12px;
  font-weight: 750;
}

.new-place-dialog {
  position: fixed;
  z-index: 90;
  left: 50%;
  top: 50%;
  width: min(720px, calc(100vw - 34px));
  max-height: calc(100vh - 34px);
  overflow: auto;
  padding: 24px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 25px;
  color: #edf6ff;
  background: rgba(4, 16, 30, .99);
  box-shadow: 0 30px 100px rgba(0, 8, 22, .58);
}

.new-place-dialog[hidden] { display: none !important; }

.new-place-dialog header {
  padding-right: 48px;
}

.dialog-kicker {
  color: #57e298;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.new-place-dialog h2 {
  margin: 7px 0 6px;
  font-size: clamp(22px, 3vw, 30px);
}

.new-place-dialog header p {
  margin: 0;
  color: #91a6bd;
  line-height: 1.5;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.form-grid label {
  display: grid;
  gap: 7px;
}

.form-grid label.wide {
  grid-column: 1 / -1;
}

.form-grid label > span {
  color: #9eb2c7;
  font-size: 11px;
  font-weight: 850;
}

.detected-gps-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 9px;
  margin-top: 14px;
}

.detected-gps-row > div {
  padding: 11px;
  border-radius: 13px;
  background: rgba(255,255,255,.045);
}

.detected-gps-row span,
.detected-gps-row strong {
  display: block;
}

.detected-gps-row span {
  color: #8197af;
  font-size: 10px;
}

.detected-gps-row strong {
  margin-top: 4px;
  color: #eaf4ff;
  font-size: 12px;
}

.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

.dialog-actions button {
  min-width: 120px;
  border: 0;
  border-radius: 13px;
  color: #dce9f6;
  background: rgba(255,255,255,.07);
  font-weight: 900;
}

.dialog-actions .primary {
  color: #fff;
  background: #147ef0;
}

body.profile-dialog-open::after {
  content: "";
  position: fixed;
  z-index: 79;
  inset: 0;
  background: rgba(0, 9, 22, .46);
  backdrop-filter: blur(2px);
}

body.profile-dialog-open .new-place-dialog,
body.profile-dialog-open .attribution-dialog {
  z-index: 91;
}

@media (min-resolution: 1.5dppx) {
  .search-only-bar .search-shell,
  .floating-menu,
  .gps-pill,
  .compact-drive-hud,
  .compact-drive-metrics > div,
  .right-rail button {
    border-width: .75px;
  }
}

@media (max-width: 1100px) {
  .universal-place-panel {
    top: auto;
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    max-height: min(76vh, 760px);
    border-radius: 25px;
  }

  .place-profile-head {
    display: grid;
    grid-template-columns: minmax(260px, .9fr) 1.1fr;
  }

  .profile-gallery-shell {
    border-radius: 25px 0 0 0;
  }

  .profile-gallery-shell .place-photo-placeholder,
  .profile-gallery-shell .profile-hero-image {
    height: 100%;
    min-height: 260px;
  }

  .compact-drive-hud {
    width: calc(100vw - 210px);
  }
}

@media (max-width: 760px) {
  .search-only-bar {
    top: max(8px, env(safe-area-inset-top));
  }

  .floating-menu {
    top: max(8px, env(safe-area-inset-top));
    left: max(8px, env(safe-area-inset-left));
  }

  .universal-place-panel {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: 82vh;
    border-radius: 24px 24px 0 0;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
  }

  .place-profile-head {
    display: block;
  }

  .profile-gallery-shell {
    min-height: 210px;
    border-radius: 24px 24px 0 0;
  }

  .profile-gallery-shell .place-photo-placeholder,
  .profile-gallery-shell .profile-hero-image {
    height: 210px;
    min-height: 210px;
  }

  .profile-summary {
    padding: 16px 15px 2px;
  }

  .place-profile-tab {
    padding: 14px 15px 2px;
  }

  .place-primary-actions {
    grid-template-columns: 1fr 1fr;
  }

  .profile-facts > div {
    grid-template-columns: 92px 1fr;
  }

  .new-place-dialog {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: 90vh;
    box-sizing: border-box;
    padding: 20px 15px calc(18px + env(safe-area-inset-bottom));
    transform: none;
    border-radius: 24px 24px 0 0;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-grid label.wide {
    grid-column: auto;
  }

  .detected-gps-row {
    grid-template-columns: 1fr 1fr;
  }

  .detected-gps-row > div:last-child {
    grid-column: 1 / -1;
  }

  .dialog-actions {
    position: sticky;
    bottom: 0;
    padding-top: 10px;
    background: linear-gradient(180deg, transparent, rgba(4,16,30,.99) 30%);
  }

  .dialog-actions button {
    flex: 1;
    min-width: 0;
  }

  .attribution-info-button {
    right: max(10px, env(safe-area-inset-right));
    bottom: calc(102px + env(safe-area-inset-bottom));
  }

  .attribution-dialog {
    right: 10px;
    bottom: calc(154px + env(safe-area-inset-bottom));
    width: calc(100vw - 20px);
    box-sizing: border-box;
  }

  .compact-drive-metrics {
    flex-direction: row;
    bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .compact-drive-hud {
    bottom: max(8px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 460px) {
  .search-only-bar .search-icon {
    display: none;
  }

  .search-only-bar .search-submit {
    min-width: 60px;
  }

  .search-only-bar .search-submit span {
    font-size: 12px;
  }

  .search-only-bar .search-submit small {
    display: none;
  }

  .place-primary-actions,
  .place-photo-grid {
    grid-template-columns: 1fr;
  }

  .compact-drive-metrics > div {
    width: 54px;
    height: 54px;
    min-height: 54px;
  }

  .compact-drive-metrics .speed-metric strong,
  .compact-drive-metrics .limit-metric span {
    font-size: 16px;
  }
}

@media (orientation: portrait) and (max-width: 900px) {
  .drive-vehicle-overlay {
    top: 68%;
  }
}


/* V2.6 keeps the map visible behind the responsive place profile. */
.modal-backdrop { display: none !important; }
body.modal-open .turn-card,
body.modal-open .drive-hud,
body.modal-open .setup-panel { opacity: .72; }


/* FIX3: approved clean-map defaults */
#setupPanel[hidden],
#turnCard[hidden],
#driveMetrics[hidden],
#driveHud[hidden],
#safetyAlert[hidden],
#routePanel[hidden] {
  display: none !important;
}

body:not(.debug-ui) .debug-statusbar {
  display: none !important;
}

/* Keep the map dominant: setup is opened only from the detached menu button. */
.setup-panel {
  max-height: min(72vh, 650px);
  overflow: auto;
  overscroll-behavior: contain;
}

/* Crisp Retina-safe maneuver and speed presentation. */
.v25-maneuver-marker,
.compact-gauge,
.drive-vehicle-overlay,
.attribution-info-button,
.floating-menu,
.right-rail button {
  transform: translateZ(0);
  backface-visibility: hidden;
}

@media (max-width: 760px) {
  .setup-panel {
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    width: auto;
    max-height: 62vh;
  }
}


/* =========================================================
   BARGAINX MAP PRO V2.6.1 — VISUAL ALIGNMENT FIX 4
   Full-width search, road-aligned vehicle, closer camera,
   compact HUD and lower-density 3D presentation.
   ========================================================= */

.search-only-bar {
  display: block !important;
  grid-template-columns: 1fr !important;
  width: min(860px, calc(100vw - 330px)) !important;
}

.search-only-bar .search-shell {
  display: grid !important;
  grid-template-columns: 34px minmax(260px, 1fr) 38px 48px auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

.search-only-bar .search-icon { grid-column: 1 !important; }
.search-only-bar .search-shell input {
  grid-column: 2 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.search-only-bar .search-clear { grid-column: 3 !important; }
.search-only-bar .locate-button { grid-column: 4 !important; }
.search-only-bar .search-submit {
  grid-column: 5 !important;
  min-width: 104px !important;
}

.drive-vehicle-overlay {
  left: 50% !important;
  top: 65% !important;
  width: 118px !important;
  height: 118px !important;
  transform: translate(-50%, -50%) translateZ(0) !important;
  z-index: 29 !important;
}

.drive-vehicle-overlay::before {
  width: 98px !important;
  height: 98px !important;
}

.drive-vehicle-overlay .arrow {
  width: 50px !important;
  height: 50px !important;
}

.compact-drive-hud {
  width: min(820px, calc(100vw - 330px)) !important;
  min-height: 82px !important;
  bottom: 16px !important;
  grid-template-columns: 1.18fr .72fr .72fr .82fr 1.15fr !important;
  border-radius: 20px !important;
}

.compact-drive-hud > div { padding: 9px 13px !important; }
.compact-drive-hud .focus span { font-size: 22px !important; }
.compact-drive-hud .focus strong { font-size: 15px !important; }
.compact-drive-hud strong { font-size: 14px !important; }
.compact-drive-hud span,
.compact-drive-hud small { font-size: 9px !important; }

.compact-drive-metrics {
  left: 22px !important;
  bottom: 18px !important;
  gap: 8px !important;
}

.compact-drive-metrics > div {
  width: 62px !important;
  height: 62px !important;
  min-height: 62px !important;
  padding: 4px !important;
}

.compact-drive-metrics .speed-metric { border-width: 4px !important; }
.compact-drive-metrics .limit-metric { border-width: 5px !important; }
.compact-drive-metrics .speed-metric strong,
.compact-drive-metrics .limit-metric span { font-size: 18px !important; }
.compact-drive-metrics small {
  margin-top: 2px !important;
  font-size: 7px !important;
}

.voice-turn-card { top: 100px !important; }

.v25-maneuver-marker {
  width: 88px !important;
  height: 88px !important;
  font-size: 76px !important;
  filter: drop-shadow(0 2px 2px rgba(0, 28, 70, .95))
          drop-shadow(0 0 12px rgba(0, 115, 255, .98)) !important;
}
.v25-maneuver-marker.lane { font-size: 68px !important; }

.maplibregl-ctrl-attrib { display: none !important; }

@media (max-width: 1100px) {
  .search-only-bar { width: calc(100vw - 280px) !important; }
  .search-only-bar .search-shell {
    grid-template-columns: 30px minmax(180px, 1fr) 34px 44px auto !important;
  }
  .compact-drive-hud { width: calc(100vw - 230px) !important; }
}

@media (max-width: 900px) {
  .search-only-bar {
    left: 82px !important;
    width: calc(100vw - 170px) !important;
    transform: none !important;
  }
  .compact-drive-hud {
    width: calc(100vw - 20px) !important;
    grid-template-columns: 1.25fr .72fr .72fr .82fr !important;
  }
  .compact-drive-hud .road-cell { display: none !important; }
  .compact-drive-metrics { bottom: 104px !important; }
  .drive-vehicle-overlay { top: 64% !important; }
}

@media (max-width: 680px) {
  .search-only-bar {
    left: 66px !important;
    width: calc(100vw - 76px) !important;
  }
  .search-only-bar .search-shell {
    grid-template-columns: 24px minmax(0, 1fr) 0 38px 68px !important;
    gap: 4px !important;
  }
  .search-only-bar .search-clear { display: none !important; }
  .search-only-bar .search-submit { min-width: 68px !important; }
  .compact-drive-hud > div:nth-child(3) { display: none !important; }
  .compact-drive-hud { grid-template-columns: 1.3fr .8fr .9fr !important; }
  .compact-drive-metrics > div {
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
  }
  .drive-vehicle-overlay {
    top: 62% !important;
    width: 104px !important;
    height: 104px !important;
  }
}


/* BARGAINX MAP PRO V2.6.2 — FRONTEND GPS / CONTROLS / SEARCH FIX 6 */
.gps-pill { display: none !important; }
.right-rail {
  top: 50% !important;
  bottom: auto !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  transform: translateY(-50%) !important;
  max-height: calc(100vh - 130px) !important;
  overflow-y: auto !important;
  scrollbar-width: none;
  z-index: 44 !important;
}
.right-rail::-webkit-scrollbar { display: none; }
.right-rail button { flex: 0 0 auto; touch-action: manipulation; }
#railLocateButton { position: relative; }
#railLocateButton::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #93a1b2;
  border: 2px solid #fff;
  box-shadow: 0 1px 5px rgba(0,0,0,.28);
}
#railLocateButton[data-gps-state="searching"]::after { background: #168fff; animation: bxGpsDotPulse 1s ease-in-out infinite; }
#railLocateButton[data-gps-state="locked"]::after,
#railLocateButton[data-gps-state="demo"]::after { background: #2ad978; }
#railLocateButton[data-gps-state="limited"]::after { background: #ffb020; }
#railLocateButton[data-gps-state="error"]::after { background: #ff4f63; }
@keyframes bxGpsDotPulse { 0%,100% { transform: scale(.78); opacity:.58; } 50% { transform:scale(1.22); opacity:1; } }
#zoomInButton,#zoomOutButton { font-size:25px !important; font-weight:800 !important; user-select:none; }
@media (max-height:720px) {
  .right-rail { gap:5px !important; max-height:calc(100vh - 80px) !important; }
  .right-rail button { width:44px !important; height:44px !important; border-radius:13px !important; }
}
@media (max-width:680px) {
  .right-rail { right:max(8px,env(safe-area-inset-right)) !important; gap:6px !important; }
  .right-rail button { width:44px !important; height:44px !important; }
}


/* BARGAINX MAP PRO V2.6.3 — EXACT PIN + SMOOTH LIVE GPS FIX 7 */
.drive-vehicle-overlay .arrow {
  transform: rotate(var(--bx-vehicle-rotation, 0deg));
  transform-origin: 50% 58%;
  transition: transform 120ms linear;
  will-change: transform;
}
.universal-place-panel {
  width: min(398px, calc(100vw - 32px)) !important;
  top: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  border-radius: 22px !important;
  padding-bottom: 12px !important;
}
.profile-gallery-shell { min-height: 154px !important; border-radius: 22px 22px 0 0 !important; }
.profile-gallery-shell .place-photo-placeholder,
.profile-gallery-shell .profile-hero-image { height: 154px !important; min-height: 154px !important; }
.profile-summary { padding: 15px 16px 4px !important; }
.profile-summary h2 { font-size: clamp(22px, 2vw, 31px) !important; line-height: 1.05 !important; }
.place-profile-tabs { position: sticky; top: 0; z-index: 4; }
.place-profile-tab { padding: 12px 16px 2px !important; }
@media (max-width: 1100px) and (min-width: 761px) {
  .universal-place-panel {
    top: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    left: auto !important;
    width: min(380px, calc(100vw - 28px)) !important;
    max-height: none !important;
  }
  .place-profile-head { display: block !important; }
}
@media (max-width: 760px) {
  .universal-place-panel {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-height: 72vh !important;
    border-radius: 22px 22px 0 0 !important;
  }
  .profile-gallery-shell,
  .profile-gallery-shell .place-photo-placeholder,
  .profile-gallery-shell .profile-hero-image {
    height: 150px !important;
    min-height: 150px !important;
  }
}


/* BARGAINX MAP PRO V2.7.1 FIX 12 — CENTER MODAL + DRAG + GPU */
:root {
  --bx-f12-card-width: 560px;
  --bx-f12-card-max-height: min(56dvh, 560px);
}

html,
body,
#map,
.maplibregl-map,
.maplibregl-canvas-container,
.maplibregl-canvas {
  touch-action: none;
}

#map,
.maplibregl-map,
.maplibregl-canvas-container,
.maplibregl-canvas {
  pointer-events: auto !important;
}
.maplibregl-canvas { cursor: grab !important; }
.maplibregl-canvas:active { cursor: grabbing !important; }

/* Desktop web is permanently 2D. Remove the unused 3D control completely. */
#modeButton {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#twoDButton {
  color: #fff !important;
  background: linear-gradient(180deg, #2a95ff, #106fe4) !important;
}

.modal-backdrop {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}
body.modal-open { overflow: hidden !important; }
body.place-card-open { overflow: hidden !important; }
body.place-card-open #map,
body.place-card-open .maplibregl-map,
body.place-card-open .maplibregl-canvas-container,
body.place-card-open .maplibregl-canvas {
  pointer-events: auto !important;
}

/* Keep the map controls on the normal right edge. */
body.place-card-open .right-rail,
body.place-card-open .attribution-info-button {
  right: max(18px, env(safe-area-inset-right)) !important;
}
body.place-card-open .right-rail {
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 93 !important;
}
body.place-card-open .attribution-info-button {
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
}

/* True centered desktop place modal. It never owns the full viewport. */
.universal-place-panel {
  position: fixed !important;
  z-index: 92 !important;
  top: calc(50% + 80px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(var(--bx-f12-card-width), calc(100vw - 48px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 48px) !important;
  height: auto !important;
  max-height: var(--bx-f12-card-max-height) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  pointer-events: auto !important;
  border-radius: 22px !important;
  padding: 0 0 14px !important;
  box-shadow: 0 24px 72px rgba(3, 17, 34, .34) !important;
  backdrop-filter: none !important;
  contain: none !important;
}
.universal-place-panel[hidden] { display: none !important; }
.universal-place-panel .modal-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  z-index: 30 !important;
}

/* Collapse every old desktop split layout into one readable column. */
.universal-place-panel,
.universal-place-panel * {
  box-sizing: border-box;
  min-width: 0;
}
.universal-place-panel > *,
.universal-place-panel .place-profile-head,
.universal-place-panel .place-profile-body,
.universal-place-panel .place-profile-content,
.universal-place-panel .profile-content,
.universal-place-panel .profile-main,
.universal-place-panel .profile-summary,
.universal-place-panel .place-details,
.universal-place-panel .place-details-grid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.universal-place-panel .place-profile-head,
.universal-place-panel .place-profile-body,
.universal-place-panel .place-profile-content,
.universal-place-panel .profile-content,
.universal-place-panel .profile-main,
.universal-place-panel .place-details-grid {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
.universal-place-panel .place-profile-head > *,
.universal-place-panel .place-profile-body > *,
.universal-place-panel .place-profile-content > * {
  width: 100% !important;
  max-width: 100% !important;
}

.universal-place-panel .profile-gallery-shell,
.universal-place-panel .profile-gallery-shell .place-photo-placeholder,
.universal-place-panel .profile-gallery-shell .profile-hero-image {
  width: 100% !important;
  min-height: 96px !important;
  height: 96px !important;
  object-fit: cover !important;
}
.universal-place-panel .profile-gallery-shell {
  border-radius: 22px 22px 0 0 !important;
}
.universal-place-panel .profile-gallery-shell .place-badge {
  width: 68px !important;
  height: 68px !important;
  font-size: 24px !important;
}
.universal-place-panel .profile-summary {
  display: block !important;
  padding: 14px 18px 5px !important;
}
.universal-place-panel .profile-summary h2,
.universal-place-panel #placeTitle {
  display: block !important;
  width: 100% !important;
  max-width: calc(100% - 44px) !important;
  margin: 5px 44px 8px 0 !important;
  font-size: clamp(22px, 1.5vw, 28px) !important;
  line-height: 1.14 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  white-space: normal !important;
}
.universal-place-panel #placeAddress {
  width: 100% !important;
  margin: 8px 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
.universal-place-panel .place-profile-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 12 !important;
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
}
.universal-place-panel .place-profile-tabs button {
  flex: 1 1 auto !important;
  min-width: 92px !important;
}
.universal-place-panel .place-profile-tab {
  width: 100% !important;
  max-width: 100% !important;
  padding: 11px 18px 4px !important;
}
.universal-place-panel .profile-coordinates {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  gap: 9px !important;
}
.universal-place-panel .modal-actions.place-primary-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}
.universal-place-panel .modal-actions.secondary-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

/* Lower local Intel-GPU/CPU work while preserving the route and flat buildings. */
body.web-2d-only .compact-drive-hud,
body.web-2d-only .drive-hud,
.universal-place-panel {
  backdrop-filter: none !important;
}
.bx-pro-vehicle .ring,
.drive-vehicle-overlay .ring,
.voice-turn-card .voice-wave,
#railLocateButton[data-gps-state="searching"]::after {
  animation: none !important;
  will-change: auto !important;
}
.bx-pro-vehicle .ring,
.drive-vehicle-overlay .ring { opacity: .22 !important; }

/* Tablet web fallback: centered readable card, still 2D. */
@media (max-width: 1180px) and (min-width: 761px) {
  :root {
    --bx-f12-card-width: 500px;
    --bx-f12-card-max-height: min(62dvh, 580px);
  }
  .universal-place-panel {
    top: calc(50% + 58px) !important;
  }
}

/* Phone web fallback: bottom sheet, native app remains the future 3D target. */
@media (max-width: 760px) {
  .universal-place-panel {
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 58dvh !important;
    border-radius: 22px 22px 0 0 !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
  .universal-place-panel .profile-gallery-shell,
  .universal-place-panel .profile-gallery-shell .place-photo-placeholder,
  .universal-place-panel .profile-gallery-shell .profile-hero-image {
    min-height: 82px !important;
    height: 82px !important;
  }
  body.place-card-open .right-rail {
    top: 34% !important;
    right: max(8px, env(safe-area-inset-right)) !important;
  }
  body.place-card-open .attribution-info-button {
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: calc(59dvh + 12px) !important;
  }
}

/* Large/4K desktop: scale dimensions, not WebGL supersampling. */
@media (min-width: 2200px) {
  :root {
    --bx-f12-card-width: 640px;
    --bx-f12-card-max-height: min(58dvh, 680px);
  }
  .universal-place-panel {
    top: calc(50% + 96px) !important;
  }
  .universal-place-panel .profile-gallery-shell,
  .universal-place-panel .profile-gallery-shell .place-photo-placeholder,
  .universal-place-panel .profile-gallery-shell .profile-hero-image {
    min-height: 122px !important;
    height: 122px !important;
  }
}


/* BARGAINX MAP PRO V2.7.2 FIX 13 — GOOGLE-STYLE LEFT CARD + TRUE DRAG */
html, body, #map, .maplibregl-map, .maplibregl-canvas-container, .maplibregl-canvas {
  touch-action: none;
}
#map, .maplibregl-map, .maplibregl-canvas-container, .maplibregl-canvas {
  pointer-events: auto !important;
}
.maplibregl-canvas { cursor: grab !important; }
.maplibregl-canvas:active { cursor: grabbing !important; }

#modeButton { display:none !important; visibility:hidden !important; pointer-events:none !important; }
.modal-backdrop { display:none !important; visibility:hidden !important; pointer-events:none !important; }
body.place-card-open { overflow:hidden !important; }
body.place-card-open #map,
body.place-card-open .maplibregl-map,
body.place-card-open .maplibregl-canvas-container,
body.place-card-open .maplibregl-canvas { pointer-events:auto !important; }
body.place-card-open .drive-hud,
body.place-card-open .compact-drive-hud,
body.place-card-open .turn-card { opacity:0 !important; pointer-events:none !important; }

/* Card occupies only its visible rectangle; the rest of the map remains interactive. */
.universal-place-panel {
  position:fixed !important;
  z-index:92 !important;
  top:112px !important;
  left:18px !important;
  right:auto !important;
  bottom:18px !important;
  transform:none !important;
  width:min(560px, calc(100vw - 36px)) !important;
  min-width:0 !important;
  max-width:560px !important;
  height:auto !important;
  max-height:calc(100dvh - 142px) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  pointer-events:auto !important;
  contain:layout paint !important;
  isolation:isolate !important;
  border:1px solid rgba(25,45,70,.16) !important;
  border-radius:22px !important;
  color:#172033 !important;
  background:#ffffff !important;
  box-shadow:0 18px 54px rgba(15,31,52,.24) !important;
  backdrop-filter:none !important;
  scrollbar-width:thin;
}
.universal-place-panel[hidden] { display:none !important; }
.universal-place-panel, .universal-place-panel * { box-sizing:border-box; min-width:0; }
.universal-place-panel .modal-close {
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  z-index:40 !important;
  width:42px !important;
  height:42px !important;
  margin:0 !important;
  border:1px solid rgba(20,42,68,.13) !important;
  border-radius:50% !important;
  color:#16263a !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 20px rgba(20,38,62,.16) !important;
  backdrop-filter:none !important;
}

.universal-place-panel .place-profile-head,
.universal-place-panel .place-profile-head > *,
.universal-place-panel .place-media,
.universal-place-panel .place-copy,
.universal-place-panel .profile-summary,
.universal-place-panel .place-profile-body,
.universal-place-panel .place-profile-content,
.universal-place-panel .profile-content,
.universal-place-panel .profile-main,
.universal-place-panel .place-details,
.universal-place-panel .place-details-grid {
  display:block !important;
  grid-template-columns:minmax(0,1fr) !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.universal-place-panel .profile-gallery-shell {
  width:100% !important;
  min-height:220px !important;
  height:220px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px 22px 0 0 !important;
  background:linear-gradient(145deg,#edf3fa,#dbe8f5) !important;
}
.universal-place-panel .profile-gallery-shell .place-photo-placeholder,
.universal-place-panel .profile-gallery-shell .profile-hero-image {
  display:grid !important;
  width:100% !important;
  min-height:220px !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center !important;
  color:#24405f !important;
  background:linear-gradient(145deg,#edf3fa,#dbe8f5) !important;
}
.universal-place-panel .profile-gallery-shell .place-badge {
  width:82px !important;
  height:82px !important;
  border-radius:22px !important;
  color:#fff !important;
  background:linear-gradient(145deg,#3aa0ff,#096edc) !important;
  font-size:28px !important;
}
.universal-place-panel .place-thumbnail-strip { background:#fff !important; }
.universal-place-panel .profile-summary { padding:18px 22px 8px !important; background:#fff !important; }
.universal-place-panel .place-heading-row { display:flex !important; align-items:flex-start !important; gap:12px !important; }
.universal-place-panel .place-heading-row > div { flex:1 1 auto !important; width:auto !important; }
.universal-place-panel .place-category {
  display:inline-flex !important;
  margin:0 6px 6px 0 !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  color:#178154 !important;
  background:#e8f8ef !important;
  font-size:11px !important;
  font-weight:850 !important;
}
.universal-place-panel .profile-summary h2,
.universal-place-panel #placeTitle {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:5px 0 8px !important;
  color:#172033 !important;
  font-size:clamp(24px,1.55vw,30px) !important;
  line-height:1.16 !important;
  letter-spacing:-.02em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  white-space:normal !important;
}
.universal-place-panel .saved-badge { color:#0d4d33 !important; background:#61e7a2 !important; }
.universal-place-panel .place-rating-summary { margin:12px 0 10px !important; }
.universal-place-panel .place-rating-summary > span { color:#f5a700 !important; }
.universal-place-panel .place-rating-summary strong { color:#27374b !important; }
.universal-place-panel .place-rating-summary small { color:#6e7e90 !important; }
.universal-place-panel #placeAddress {
  margin:14px 0 !important;
  padding:14px 0 !important;
  border-top:1px solid #e5eaf0 !important;
  border-bottom:1px solid #e5eaf0 !important;
  color:#34445a !important;
  font-size:14px !important;
  line-height:1.55 !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.universal-place-panel #placeAddress::before { content:"⌖"; margin-right:10px; color:#0879e8; font-weight:900; }
.universal-place-panel .profile-coordinates {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
  width:100% !important;
}
.universal-place-panel .profile-coordinates > div { padding:10px 12px !important; border-radius:12px !important; background:#f3f6fa !important; }
.universal-place-panel .profile-coordinates dt { color:#718197 !important; }
.universal-place-panel .profile-coordinates dd { color:#172033 !important; }
.universal-place-panel .modal-actions.place-primary-actions {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:14px !important;
}
.universal-place-panel .modal-actions.secondary-row {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:8px !important;
}
.universal-place-panel .modal-actions button,
.universal-place-panel .modal-actions .button-link {
  min-height:44px !important;
  padding:8px 7px !important;
  border:1px solid #e2e8f0 !important;
  border-radius:12px !important;
  color:#23364d !important;
  background:#f7f9fc !important;
  font-size:11px !important;
  line-height:1.2 !important;
}
.universal-place-panel .modal-actions .modal-primary { color:#fff !important; border-color:#0878e8 !important; background:#0878e8 !important; }
.universal-place-panel .place-profile-tabs {
  position:sticky !important;
  top:0 !important;
  z-index:16 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  width:100% !important;
  margin-top:12px !important;
  border-top:1px solid #e5eaf0 !important;
  border-bottom:1px solid #e5eaf0 !important;
  background:rgba(255,255,255,.98) !important;
  backdrop-filter:none !important;
}
.universal-place-panel .place-profile-tabs button { color:#697b90 !important; background:transparent !important; }
.universal-place-panel .place-profile-tabs button.active { color:#0878e8 !important; border-bottom-color:#0878e8 !important; }
.universal-place-panel .place-profile-tab { width:100% !important; padding:16px 22px 5px !important; color:#27374b !important; background:#fff !important; }
.universal-place-panel .profile-facts > div { background:#f5f7fa !important; }
.universal-place-panel .profile-facts span { color:#718197 !important; }
.universal-place-panel .profile-facts strong { color:#1c2b3d !important; }
.universal-place-panel .place-profile-status { color:#52657b !important; }

/* Map labels: black inner text with a strong white outer halo for roads. */
.map-label-contrast-note { color:#111827; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff; }

/* Controls remain on right and never overlap the left card. */
body.place-card-open .right-rail { right:max(18px,env(safe-area-inset-right)) !important; top:50% !important; transform:translateY(-50%) !important; }
body.place-card-open .attribution-info-button { right:max(18px,env(safe-area-inset-right)) !important; bottom:max(18px,env(safe-area-inset-bottom)) !important; }

/* Remove decorative work while the desktop map is open. */
.bx-pro-vehicle .ring, .drive-vehicle-overlay .ring, .voice-turn-card .voice-wave,
#railLocateButton[data-gps-state="searching"]::after { animation:none !important; will-change:auto !important; }
body.manual-map-browse .drive-vehicle-overlay .ring { opacity:.12 !important; }

@media (max-width:1180px) and (min-width:761px) {
  .universal-place-panel { top:104px !important; left:12px !important; bottom:12px !important; width:min(430px,calc(100vw - 24px)) !important; max-width:430px !important; max-height:calc(100dvh - 122px) !important; }
  .universal-place-panel .profile-gallery-shell,
  .universal-place-panel .profile-gallery-shell .place-photo-placeholder,
  .universal-place-panel .profile-gallery-shell .profile-hero-image { min-height:170px !important; height:170px !important; }
  .universal-place-panel .modal-actions.place-primary-actions { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  .universal-place-panel {
    top:auto !important; left:0 !important; right:0 !important; bottom:0 !important;
    transform:none !important; width:100% !important; max-width:100% !important;
    max-height:62dvh !important; border-radius:22px 22px 0 0 !important;
    padding-bottom:max(12px,env(safe-area-inset-bottom)) !important;
  }
  .universal-place-panel .profile-gallery-shell,
  .universal-place-panel .profile-gallery-shell .place-photo-placeholder,
  .universal-place-panel .profile-gallery-shell .profile-hero-image { min-height:120px !important; height:120px !important; }
  .universal-place-panel .modal-actions.place-primary-actions { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.place-card-open .right-rail { top:30% !important; right:max(8px,env(safe-area-inset-right)) !important; }
  body.place-card-open .attribution-info-button { bottom:calc(62dvh + 12px) !important; }
}
@media (min-width:2200px) {
  .universal-place-panel { top:140px !important; left:28px !important; bottom:28px !important; width:680px !important; max-width:680px !important; max-height:calc(100dvh - 168px) !important; }
  .universal-place-panel .profile-gallery-shell,
  .universal-place-panel .profile-gallery-shell .place-photo-placeholder,
  .universal-place-panel .profile-gallery-shell .profile-hero-image { min-height:280px !important; height:280px !important; }
}


/* BARGAINX MAP PRO V2.7.3 FIX 14 — ISOLATED PLACE CARD + GPS ANCHOR */
#placeModal.universal-place-panel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.bx-place-card-v273 {
  position: fixed;
  z-index: 94;
  top: 112px;
  left: 18px;
  width: min(452px, calc(100vw - 36px));
  max-height: calc(100dvh - 136px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(25, 45, 70, .15);
  border-radius: 22px;
  color: #172033;
  background: #fff;
  box-shadow: 0 20px 58px rgba(16, 34, 56, .25);
  pointer-events: auto;
  isolation: isolate;
  scrollbar-width: thin;
}
.bx-place-card-v273[hidden] { display: none !important; }
.bx-place-card-v273, .bx-place-card-v273 * { box-sizing: border-box; min-width: 0; }
.bx-v273-close {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(20, 42, 68, .14);
  border-radius: 50%;
  color: #17263a;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 22px rgba(17, 36, 60, .16);
  cursor: pointer;
  font: 500 30px/1 system-ui, sans-serif;
}
.bx-v273-hero {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(145deg, #edf4fb, #dbe9f6);
}
.bx-v273-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.bx-v273-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  color: #526a84;
  background:
    linear-gradient(145deg, rgba(255,255,255,.52), rgba(209,228,246,.56)),
    radial-gradient(circle at 30% 25%, rgba(21,133,239,.18), transparent 45%);
}
.bx-v273-placeholder[hidden] { display: none !important; }
.bx-v273-placeholder span {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(145deg, #3aa0ff, #096edc);
  box-shadow: 0 13px 32px rgba(8, 111, 219, .23);
  font: 900 29px/1 system-ui, sans-serif;
}
.bx-v273-placeholder small { font-weight: 750; }
.bx-v273-body { padding: 20px 22px 18px; }
.bx-v273-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.bx-v273-category {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  color: #167c52;
  background: #e7f8ef;
  font: 850 11px/1.2 system-ui, sans-serif;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.bx-v273-title {
  margin: 9px 0 8px;
  color: #172033;
  font: 800 clamp(25px, 1.65vw, 31px)/1.14 system-ui, sans-serif;
  letter-spacing: -.025em;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.bx-v273-saved {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 999px;
  color: #0d4d33;
  background: #61e7a2;
  font: 850 12px/1 system-ui, sans-serif;
}
.bx-v273-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 4px;
}
.bx-v273-rating span { color: #f2a700; letter-spacing: 1px; }
.bx-v273-rating strong { color: #27374b; }
.bx-v273-rating small { color: #718197; }
.bx-v273-address {
  margin: 15px 0 0;
  padding: 15px 0;
  border-top: 1px solid #e5eaf0;
  border-bottom: 1px solid #e5eaf0;
  color: #34445a;
  font: 500 14px/1.55 system-ui, sans-serif;
  overflow-wrap: break-word;
}
.bx-v273-address::before { content: "⌖"; margin-right: 10px; color: #0879e8; font-weight: 900; }
.bx-v273-hours-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0 4px;
  color: #5f7085;
  font-size: 13px;
}
.bx-v273-hours-row strong { color: #27374b; text-align: right; }
.bx-v273-coordinates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 13px 0;
}
.bx-v273-coordinates > div { padding: 11px 12px; border-radius: 12px; background: #f3f6fa; }
.bx-v273-coordinates dt { color: #718197; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.bx-v273-coordinates dd { margin: 7px 0 0; color: #172033; font-size: 14px; font-weight: 800; }
.bx-v273-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.bx-v273-actions button {
  min-height: 44px;
  padding: 8px 7px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  color: #23364d;
  background: #f7f9fc;
  cursor: pointer;
  font: 750 11px/1.2 system-ui, sans-serif;
}
.bx-v273-actions button.primary { color: #fff; border-color: #0878e8; background: #0878e8; }
.bx-v273-actions button:disabled { opacity: .56; cursor: default; }
.bx-v273-status { min-height: 18px; margin: 12px 0 0; color: #62758b; font-size: 12px; }

/* The rest of the screen remains a real MapLibre interaction surface. */
body.bx-v273-place-open #map,
body.bx-v273-place-open .maplibregl-map,
body.bx-v273-place-open .maplibregl-canvas-container,
body.bx-v273-place-open .maplibregl-canvas {
  pointer-events: auto !important;
  touch-action: none !important;
}
body.bx-v273-place-open .maplibregl-canvas { cursor: grab !important; }
body.bx-v273-place-open .maplibregl-canvas:active { cursor: grabbing !important; }

/* During manual browse the cursor is a geographic marker, not a screen overlay. */
body.navigation-active.manual-map-browse #driveVehicle,
body.navigation-active.bx-v273-place-open #driveVehicle {
  display: none !important;
}
body.navigation-active.manual-map-browse .maplibregl-marker .bx-pro-vehicle.bx-v273-geographic-cursor,
body.navigation-active.bx-v273-place-open .maplibregl-marker .bx-pro-vehicle.bx-v273-geographic-cursor {
  display: grid !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
.bx-v273-geographic-cursor .ring { animation: none !important; opacity: .18 !important; }

@media (max-width: 900px) and (min-width: 761px) {
  .bx-place-card-v273 { top: 104px; left: 12px; width: min(410px, calc(100vw - 24px)); max-height: calc(100dvh - 120px); }
  .bx-v273-hero { height: 178px; }
  .bx-v273-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .bx-place-card-v273 {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: 60dvh;
    border-radius: 22px 22px 0 0;
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
  .bx-v273-hero { height: 126px; border-radius: 22px 22px 0 0; }
  .bx-v273-body { padding: 15px 16px 14px; }
  .bx-v273-title { font-size: 23px; }
  .bx-v273-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 2200px) {
  .bx-place-card-v273 { top: 140px; left: 28px; width: 560px; max-height: calc(100dvh - 170px); }
  .bx-v273-hero { height: 280px; }
}


/* BARGAINX MAP PRO V2.7.4 FIX 16 — TRUE GPS/ROUTE CURSOR */
#driveVehicle {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.navigation-active .bx-pro-start,
body.navigation-active .maplibregl-marker:has(.bx-pro-start) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Override the old rule that hid geographic markers during navigation. */
body.navigation-active .maplibregl-marker .bx-pro-vehicle.bx-v274-fix16-gps-cursor,
body.navigation-active.manual-map-browse .maplibregl-marker .bx-pro-vehicle.bx-v274-fix16-gps-cursor,
body.navigation-active.bx-v273-place-open .maplibregl-marker .bx-pro-vehicle.bx-v274-fix16-gps-cursor {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.bx-pro-vehicle.bx-v274-fix16-gps-cursor {
  position: relative !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 5px 9px rgba(3, 58, 97, .28)) !important;
  transform: none !important;
  pointer-events: none !important;
  overflow: visible !important;
  contain: layout style paint !important;
}
.bx-v274-fix16-gps-cursor .gps-ring {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 50px !important;
  height: 50px !important;
  transform: translate(-50%, -50%) !important;
  border: 2px solid rgba(31, 216, 139, .34) !important;
  border-radius: 50% !important;
  background: rgba(31, 216, 139, .08) !important;
  animation: none !important;
}
.bx-v274-fix16-gps-cursor .gps-disc {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 40px !important;
  height: 40px !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #31df98, #0db579) !important;
  box-shadow: 0 0 0 3px rgba(15, 138, 91, .18) !important;
}
.bx-v274-fix16-gps-cursor .gps-arrow {
  width: 27px !important;
  height: 27px !important;
  overflow: visible !important;
  transform-origin: 50% 50% !important;
  transition: none !important;
}
.bx-v274-fix16-gps-cursor .gps-arrow path {
  fill: #fff !important;
  stroke: rgba(0, 77, 53, .2) !important;
  stroke-width: 1.4 !important;
  stroke-linejoin: round !important;
}
.bx-v274-fix16-gps-cursor .gps-anchor {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  transform: translate(-50%, -50%) !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: #0f9f6b !important;
  box-sizing: border-box !important;
}

.bx-pro-vehicle .ring,
.drive-vehicle-overlay .ring,
.voice-turn-card .voice-wave,
#railLocateButton[data-gps-state="searching"]::after {
  animation: none !important;
  will-change: auto !important;
}

@media (max-width: 760px) {
  .bx-pro-vehicle.bx-v274-fix16-gps-cursor {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }
  .bx-v274-fix16-gps-cursor .gps-ring { width: 45px !important; height: 45px !important; }
  .bx-v274-fix16-gps-cursor .gps-disc { width: 36px !important; height: 36px !important; }
  .bx-v274-fix16-gps-cursor .gps-arrow { width: 24px !important; height: 24px !important; }
}


/* BARGAINX MAP PRO V2.7.5 FIX 17 — AUTO GPS + ROUTE START OWNERSHIP */
body .maplibregl-marker:has(.bx-v274-fix16-gps-cursor) {
  z-index: 70 !important;
  pointer-events: none !important;
}
body .maplibregl-marker .bx-pro-vehicle.bx-v274-fix16-gps-cursor {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
body:not(.navigation-active) .maplibregl-marker .bx-pro-vehicle.bx-v274-fix16-gps-cursor {
  display: block !important;
}
#railLocateButton[data-gps-state="searching"]::after {
  animation: none !important;
  background: #168fff !important;
}
#railLocateButton[data-gps-state="locked"]::after,
#railLocateButton[data-gps-state="demo"]::after {
  background: #23cf82 !important;
}
#railLocateButton[data-gps-state="limited"]::after { background: #ffb020 !important; }
#railLocateButton[data-gps-state="error"]::after { background: #ff4f63 !important; }


/* BARGAINX MAP PRO V2.7.6 FIX 18 — MAPLIBRE MARKER ROOT OWNERSHIP */
/* IMPORTANT: never set transform on .bx-v276-map-marker-root. MapLibre owns it. */
.maplibregl-marker.bx-v276-map-marker-root {
  width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
  overflow: visible !important;
  z-index: 70 !important;
}

/* Hide any stale pre-Fix-18 marker root until showVehicle removes it. */
.maplibregl-marker.bx-v274-fix16-gps-cursor {
  display: none !important;
  visibility: hidden !important;
}

.bx-v276-gps-visual {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  transform: none !important;
  pointer-events: none !important;
  filter: drop-shadow(0 5px 9px rgba(3, 58, 97, .28)) !important;
}
.bx-v276-gps-ring {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 52px !important;
  height: 52px !important;
  transform: translate(-50%, -50%) !important;
  border: 2px solid rgba(31, 216, 139, .35) !important;
  border-radius: 50% !important;
  background: rgba(31, 216, 139, .08) !important;
  animation: none !important;
}
.bx-v276-gps-disc {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 42px !important;
  height: 42px !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #31df98, #0db579) !important;
  box-shadow: 0 0 0 3px rgba(15, 138, 91, .18) !important;
}
.bx-v276-gps-arrow {
  width: 28px !important;
  height: 28px !important;
  overflow: visible !important;
  transform-origin: 50% 50% !important;
  transition: none !important;
}
.bx-v276-gps-arrow path {
  fill: #fff !important;
  stroke: rgba(0, 77, 53, .22) !important;
  stroke-width: 1.4 !important;
  stroke-linejoin: round !important;
}
.bx-v276-gps-anchor {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  transform: translate(-50%, -50%) !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: #0f9f6b !important;
  box-sizing: border-box !important;
}
body.navigation-active .maplibregl-marker.bx-v276-map-marker-root,
body.manual-map-browse .maplibregl-marker.bx-v276-map-marker-root,
body.bx-v273-place-open .maplibregl-marker.bx-v276-map-marker-root {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 760px) {
  .maplibregl-marker.bx-v276-map-marker-root,
  .bx-v276-gps-visual { width: 50px !important; height: 50px !important; }
  .bx-v276-gps-ring { width: 46px !important; height: 46px !important; }
  .bx-v276-gps-disc { width: 38px !important; height: 38px !important; }
  .bx-v276-gps-arrow { width: 25px !important; height: 25px !important; }
}


/* BARGAINX MAP PRO V2.7.7 FIX 19 — BLACK RADAR CURSOR + ONE TAP DIRECTIONS */
.maplibregl-marker.bx-v277-map-marker-root {
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
  overflow: visible !important;
  z-index: 72 !important;
}

.bx-v277-gps-visual {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  transform: none !important;
  pointer-events: none !important;
}

.bx-v277-gps-radar,
.bx-v277-gps-ping,
.bx-v277-gps-core,
.bx-v277-gps-anchor {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
}

.bx-v277-gps-radar {
  width: 58px !important;
  height: 58px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(45, 255, 179, .16) 0%, rgba(45, 255, 179, .08) 44%, rgba(45, 255, 179, 0) 72%) !important;
  box-shadow: 0 0 0 1px rgba(36, 255, 170, .22), 0 0 20px rgba(36, 255, 170, .26), 0 0 34px rgba(53, 164, 255, .12) !important;
}

.bx-v277-gps-ping {
  width: 46px !important;
  height: 46px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(36, 255, 170, .55) !important;
  box-shadow: 0 0 16px rgba(36, 255, 170, .26) !important;
  background: rgba(36, 255, 170, .05) !important;
}

.bx-v277-gps-core {
  width: 34px !important;
  height: 34px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #171b20 0%, #07090c 100%) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .35), 0 0 0 2px rgba(255,255,255,.12), 0 0 12px rgba(36,255,170,.20) !important;
}

.bx-v277-gps-arrow {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 22px !important;
  height: 22px !important;
  transform: translate(-50%, -50%) rotate(0deg) !important;
  transform-origin: 50% 50% !important;
  display: block !important;
  filter: drop-shadow(0 0 5px rgba(255,255,255,.22)) !important;
}

.bx-v277-gps-arrow path {
  fill: #f7fafc !important;
  stroke: #090b0f !important;
  stroke-width: 2.2 !important;
  stroke-linejoin: round !important;
}

.bx-v277-gps-anchor {
  width: 8px !important;
  height: 8px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  background: #0b0d10 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.22), 0 0 8px rgba(36,255,170,.15) !important;
}

button, a, [role="button"] {
  touch-action: manipulation !important;
}


/* BARGAINX MAP PRO V2.7.8 FIX 20 — POINTED CURSOR + BLUE RADAR */
/* Never set transform on the MapLibre marker root. */
.maplibregl-marker.bx-v278-map-marker-root {
  width: 80px !important;
  height: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
  overflow: visible !important;
  z-index: 74 !important;
}

/* Hide the superseded Fix 18 and Fix 19 roots after the new marker is made. */
.maplibregl-marker.bx-v276-map-marker-root,
.maplibregl-marker.bx-v277-map-marker-root {
  display: none !important;
  visibility: hidden !important;
}

.bx-v278-cursor-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 80px !important;
  height: 80px !important;
  pointer-events: none !important;
  transform: none !important;
}

.bx-v278-radar-ring {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 58px !important;
  height: 58px !important;
  margin: -29px 0 0 -29px !important;
  border: 2px solid rgba(24, 151, 255, .82) !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(45, 171, 255, .18) 0%, rgba(31, 139, 255, .08) 47%, rgba(31, 139, 255, 0) 72%) !important;
  box-shadow: 0 0 15px rgba(25, 147, 255, .48), 0 0 30px rgba(25, 147, 255, .24) !important;
  will-change: transform, opacity !important;
  animation: bxV278BlueRadar 2.4s ease-out infinite !important;
}

.bx-v278-radar-ring-two {
  animation-delay: 1.2s !important;
}

@keyframes bxV278BlueRadar {
  0%   { transform: scale(.52); opacity: .92; }
  72%  { opacity: .30; }
  100% { transform: scale(1.45); opacity: 0; }
}

.bx-v278-pointed-cursor {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 43px !important;
  height: 52px !important;
  transform: translate(-50%, -52%) rotate(0deg);
  transform-origin: 50% 52% !important;
  overflow: visible !important;
  filter: drop-shadow(0 6px 8px rgba(0,0,0,.38)) drop-shadow(0 0 8px rgba(31,145,255,.34)) !important;
  will-change: transform !important;
}

.bx-v278-pointed-fill {
  fill: #080a0e !important;
  stroke: #ffffff !important;
  stroke-width: 3.2 !important;
  stroke-linejoin: round !important;
}

.bx-v278-pointed-highlight {
  fill: #111820 !important;
  stroke: rgba(50, 165, 255, .88) !important;
  stroke-width: 1.4 !important;
  stroke-linejoin: round !important;
}

.bx-v278-gps-anchor {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  background: #0b0d10 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.92), 0 0 10px rgba(24,151,255,.75) !important;
}

[data-action="directions"][aria-busy="true"],
#routePlaceButton[aria-busy="true"] {
  cursor: wait !important;
  opacity: .78 !important;
}

@media (prefers-reduced-motion: reduce) {
  .bx-v278-radar-ring {
    animation: none !important;
    opacity: .42 !important;
    transform: scale(1) !important;
  }
}


/* BARGAINX MAP PRO V2.8.2 FIX 24 — NEON DESKTOP MAP */
html,body,#map,.maplibregl-map,.maplibregl-canvas-container,.maplibregl-canvas { background:#030609 !important; }
body.bx-v281-neon-map .topbar,
body.bx-v281-neon-map .search-only-bar {
  background:rgba(5,10,16,.94) !important;color:#f7fbff !important;
  border:1px solid rgba(42,139,255,.22) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.30),0 0 22px rgba(27,126,255,.09) !important;
}
body.bx-v281-neon-map .topbar input,
body.bx-v281-neon-map .search-only-bar input,
body.bx-v281-neon-map input[type="search"] { color:#f7fbff !important;background:transparent !important; }
body.bx-v281-neon-map input::placeholder { color:#8898aa !important;opacity:1 !important; }
body.bx-v281-neon-map .right-rail button,
body.bx-v281-neon-map .right-rail .rail-button {
  background:rgba(5,10,16,.94) !important;color:#f7fbff !important;
  border:1px solid rgba(37,134,255,.30) !important;
  box-shadow:0 9px 22px rgba(0,0,0,.30),0 0 14px rgba(24,128,255,.08) !important;
}
body.bx-v281-neon-map .right-rail button:hover,
body.bx-v281-neon-map .right-rail .rail-button:hover {
  border-color:rgba(47,151,255,.72) !important;
  box-shadow:0 9px 22px rgba(0,0,0,.30),0 0 18px rgba(24,128,255,.20) !important;
}
body.bx-v281-neon-map .drive-hud,
body.bx-v281-neon-map .compact-drive-hud,
body.bx-v281-neon-map .voice-turn-card {
  background:rgba(4,12,22,.94) !important;color:#f8fbff !important;
  border-color:rgba(26,126,255,.20) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 18px rgba(25,128,255,.07) !important;
}
body.bx-v281-neon-map .maplibregl-ctrl-attrib { background:rgba(3,7,12,.76) !important;color:#cbd8e8 !important; }


/* BARGAINX MAP PRO V2.8.3 FIX 25 — READABILITY + RADAR + NO OVERLAP */
#searchInput,
#searchBox,
.search-input,
.search-only-bar input,
.search-shell input,
input[type="search"],
input[placeholder*="Search"],
input[placeholder*="search"] {
  color:#0a1420 !important;
  -webkit-text-fill-color:#0a1420 !important;
  caret-color:#147dff !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:650 !important;
}
#searchInput::placeholder,
#searchBox::placeholder,
.search-input::placeholder,
.search-only-bar input::placeholder,
.search-shell input::placeholder,
input[type="search"]::placeholder {
  color:#738399 !important;
  -webkit-text-fill-color:#738399 !important;
  opacity:1 !important;
}

/* Fix 22's old upcoming card is superseded by the non-overlapping Fix 25 card. */
#bxV280UpcomingLimit { display:none !important; visibility:hidden !important; }
.bx-v283-upcoming-limit {
  position:fixed !important;
  left:184px !important;
  bottom:30px !important;
  z-index:220 !important;
  width:184px !important;
  min-height:64px !important;
  padding:9px 11px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  background:rgba(5,13,23,.94) !important;
  border:1px solid rgba(48,150,255,.28) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.30),0 0 18px rgba(48,150,255,.13) !important;
  color:#fff !important;
  pointer-events:none !important;
  font-family:Inter,system-ui,sans-serif !important;
}
.bx-v283-upcoming-limit[hidden] { display:none !important; }
.bx-v283-upcoming-sign {
  width:46px !important;height:46px !important;flex:0 0 46px !important;border-radius:50% !important;
  border:4px solid #ef4444 !important;background:#fff !important;color:#111 !important;
  display:grid !important;place-items:center !important;font-size:20px !important;font-weight:900 !important;
}
.bx-v283-upcoming-copy small {display:block !important;color:#9fb4ca !important;font-size:10px !important;text-transform:uppercase !important;letter-spacing:.06em !important;}
.bx-v283-upcoming-copy strong {display:block !important;margin-top:3px !important;color:#fff !important;font-size:13px !important;line-height:1.2 !important;}

/* Make the approved blue GPS radar clearly visible without changing the cursor anchor. */
.bx-v278-radar-ring {
  width:72px !important;height:72px !important;margin:-36px 0 0 -36px !important;
  border:2.5px solid rgba(45,166,255,.94) !important;
  background:radial-gradient(circle,rgba(45,166,255,.25) 0%,rgba(34,137,255,.12) 44%,rgba(34,137,255,0) 72%) !important;
  box-shadow:0 0 20px rgba(38,151,255,.66),0 0 42px rgba(38,151,255,.34) !important;
  animation:bxV283BlueRadar 2.05s cubic-bezier(.2,.7,.2,1) infinite !important;
}
.bx-v278-radar-ring-two { animation-delay:1.025s !important; }
@keyframes bxV283BlueRadar {
  0%{transform:scale(.48);opacity:1}
  62%{opacity:.42}
  100%{transform:scale(1.58);opacity:0}
}
.bx-v278-pointed-cursor { filter:drop-shadow(0 6px 9px rgba(0,0,0,.46)) drop-shadow(0 0 12px rgba(41,155,255,.62)) !important; }

@media (max-width:900px) {
  .bx-v283-upcoming-limit { left:16px !important; bottom:176px !important; width:176px !important; }
}


/* BARGAINX MAP PRO V2.8.4 FIX 26 — SPEED + ROUTE SAFETY STABILITY */
/* Keep the existing built-in speed/limit circles unobstructed. */
#driveMetrics .limit-metric { pointer-events:auto !important; cursor:pointer !important; }
/* Route traffic-light/camera symbols must sit above the neon road treatment. */
.maplibregl-canvas-container { isolation:isolate; }


/* BARGAINX MAP PRO V2.8.5 FIX 27 — EXACT DESKTOP 2D NIGHT UI */
:root{
  --bx285-bg:#06090d;
  --bx285-panel:rgba(8,14,21,.96);
  --bx285-panel2:rgba(12,20,29,.96);
  --bx285-border:rgba(126,151,178,.24);
  --bx285-text:#f7f9fb;
  --bx285-muted:#9eabb9;
  --bx285-blue:#1b94ff;
  --bx285-green:#4bd77d;
}
html,body,#map,.maplibregl-map,.maplibregl-canvas-container,.maplibregl-canvas{background:var(--bx285-bg)!important}
body.bx-v285-exact-night{overflow:hidden!important;color:var(--bx285-text)!important}

/* Desktop remains strictly 2D. */
body.bx-v285-exact-night #modeButton{display:none!important}
body.bx-v285-exact-night #routePanelButton,
body.bx-v285-exact-night #soundButton,
body.bx-v285-exact-night #exitButton,
body.bx-v285-exact-night .gps-pill,
body.bx-v285-exact-night .debug-statusbar,
body.bx-v285-exact-night #turnCard,
body.bx-v285-exact-night #safetyAlert{display:none!important}

/* Menu and search exactly as a dark navigation header. */
body.bx-v285-exact-night #menuButton{
  position:fixed!important;left:18px!important;top:18px!important;width:72px!important;height:72px!important;
  border-radius:20px!important;background:rgba(7,13,19,.96)!important;color:#fff!important;
  border:1px solid rgba(127,151,177,.30)!important;box-shadow:0 16px 34px rgba(0,0,0,.36)!important;
  font-size:34px!important;z-index:3000!important
}
body.bx-v285-exact-night .topbar.search-only-bar{
  position:fixed!important;left:112px!important;right:340px!important;top:18px!important;width:auto!important;max-width:none!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;z-index:2900!important
}
body.bx-v285-exact-night #searchForm.search-shell{
  min-height:72px!important;border-radius:22px!important;padding:0 22px!important;display:flex!important;align-items:center!important;gap:16px!important;
  background:rgba(7,13,19,.97)!important;border:1px solid rgba(127,151,177,.30)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.03)!important
}
body.bx-v285-exact-night #searchForm .search-icon{font-size:34px!important;color:#f8fbff!important;cursor:pointer!important;line-height:1!important}
body.bx-v285-exact-night #searchInput{
  flex:1!important;min-width:0!important;color:#f8fbff!important;background:transparent!important;border:0!important;outline:0!important;
  font-size:25px!important;font-weight:500!important;letter-spacing:.01em!important
}
body.bx-v285-exact-night #searchInput::placeholder{color:#7f8b98!important;opacity:1!important}
body.bx-v285-exact-night #searchButton,
body.bx-v285-exact-night #locateButton{display:none!important}
body.bx-v285-exact-night #clearSearchButton{
  display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border:0!important;border-radius:50%!important;
  background:#c8cdd2!important;color:#111820!important;font-size:27px!important;font-weight:900!important
}
body.bx-v285-exact-night #clearSearchButton[hidden]{display:none!important}
body.bx-v285-exact-night #searchResults{
  left:0!important;right:0!important;top:84px!important;border-radius:20px!important;overflow:hidden!important;
  background:rgba(8,14,21,.985)!important;color:#f8fbff!important;border:1px solid rgba(112,143,177,.28)!important;
  box-shadow:0 20px 50px rgba(0,0,0,.48)!important
}
body.bx-v285-exact-night #searchResults *{color:inherit}

/* Top-right clock capsule. */
.bx-v285-clock{
  position:fixed;right:18px;top:18px;width:294px;height:72px;z-index:3000;border-radius:20px;
  background:rgba(7,13,19,.96);border:1px solid rgba(127,151,177,.30);box-shadow:0 16px 34px rgba(0,0,0,.36);
  display:grid;grid-template-columns:1fr 44px;grid-template-rows:1fr 1fr;align-items:center;padding:10px 18px;color:#fff
}
.bx-v285-clock strong{grid-column:1;font-size:25px;line-height:1.05}.bx-v285-clock small{grid-column:1;color:#aeb8c3;font-size:14px}.bx-v285-clock span{grid-column:2;grid-row:1/3;font-size:34px;color:#e5c47b;text-align:center}

/* Right controls: compass, 2D, +, -, locate. No desktop 3D. */
body.bx-v285-exact-night #rightRail{
  position:fixed!important;right:18px!important;top:122px!important;bottom:auto!important;transform:none!important;z-index:2800!important;
  display:flex!important;flex-direction:column!important;gap:10px!important;padding:10px!important;border-radius:22px!important;
  background:rgba(7,13,19,.94)!important;border:1px solid rgba(127,151,177,.26)!important;box-shadow:0 18px 38px rgba(0,0,0,.34)!important
}
body.bx-v285-exact-night #rightRail button,
.bx-v285-compass{
  width:64px!important;height:64px!important;border-radius:18px!important;background:rgba(13,21,30,.96)!important;color:#fff!important;
  border:1px solid rgba(127,151,177,.28)!important;box-shadow:none!important;font-size:27px!important;display:grid!important;place-items:center!important
}
body.bx-v285-exact-night #twoDButton{display:grid!important;background:#17202a!important;color:#fff!important;border-color:rgba(120,148,179,.35)!important;font-size:23px!important}
body.bx-v285-exact-night #railLocateButton{order:5!important}
body.bx-v285-exact-night #twoDButton{order:2!important}
body.bx-v285-exact-night #zoomInButton{order:3!important}
body.bx-v285-exact-night #zoomOutButton{order:4!important}
.bx-v285-compass{order:1!important;position:relative!important}
.bx-v285-compass-ring{width:36px;height:36px;border-radius:50%;border:2px solid #dce6ef;position:relative;display:block}
.bx-v285-compass-ring i{position:absolute;left:50%;top:50%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:18px solid #ef5350;transform:translate(-50%,-82%) rotate(32deg);transform-origin:50% 90%}

/* Map labels and controls. */
body.bx-v285-exact-night .maplibregl-ctrl-attrib{background:rgba(5,9,14,.78)!important;color:#98a8b8!important}

/* Pointed black cursor with a brighter but lightweight blue radar pulse. */
body.bx-v285-exact-night .bx-v278-radar-ring{
  width:82px!important;height:82px!important;margin:-41px 0 0 -41px!important;
  border:2px solid rgba(38,151,255,.88)!important;
  background:radial-gradient(circle,rgba(20,130,255,.25) 0%,rgba(20,130,255,.09) 46%,rgba(20,130,255,0) 74%)!important;
  box-shadow:0 0 18px rgba(30,145,255,.56),0 0 38px rgba(28,112,255,.32)!important;
  animation:bxV285Radar 2.7s ease-out infinite!important
}
body.bx-v285-exact-night .bx-v278-radar-ring-two{animation-delay:1.35s!important}
@keyframes bxV285Radar{0%{transform:scale(.52);opacity:.9}70%{opacity:.28}100%{transform:scale(1.55);opacity:0}}
body.bx-v285-exact-night .bx-v278-pointed-cursor{width:50px!important;height:60px!important;filter:drop-shadow(0 6px 9px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(26,145,255,.58))!important}
body.bx-v285-exact-night .bx-v278-pointed-fill{fill:#05070a!important;stroke:#fff!important;stroke-width:3.4!important}
body.bx-v285-exact-night .bx-v278-pointed-highlight{fill:#0d1118!important;stroke:#3aa5ff!important;stroke-width:1.6!important}

/* Speed + limit capsule, only when navigation itself shows the metrics. */
body.bx-v285-exact-night #driveMetrics{
  position:fixed!important;left:22px!important;bottom:204px!important;width:230px!important;height:112px!important;z-index:2700!important;
  padding:12px 14px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:center!important;
  border-radius:24px!important;background:rgba(7,13,19,.96)!important;border:1px solid rgba(127,151,177,.28)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.34)!important;overflow:visible!important
}
body.bx-v285-exact-night #driveMetrics[hidden]{display:none!important}
body.bx-v285-exact-night #driveMetrics .compact-gauge{position:relative!important;inset:auto!important;margin:0!important;width:auto!important;height:86px!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.bx-v285-exact-night #driveMetrics .speed-metric strong{font-size:36px!important;color:#fff!important}
body.bx-v285-exact-night #driveMetrics .speed-metric span{font-size:14px!important;color:#c5d0db!important}
body.bx-v285-exact-night #driveMetrics .speed-metric small{font-size:12px!important;color:#98a7b5!important}
body.bx-v285-exact-night #driveMetrics .limit-metric{
  width:80px!important;height:80px!important;border-radius:50%!important;background:#fff!important;border:7px solid #ef3d37!important;
  display:grid!important;place-items:center!important;align-content:center!important;cursor:pointer!important
}
body.bx-v285-exact-night #driveMetrics .limit-metric #speedLimitValue{font-size:30px!important;font-weight:950!important;color:#05070a!important;line-height:1!important}
body.bx-v285-exact-night #driveMetrics .limit-metric small{color:#111820!important;font-size:10px!important;font-weight:850!important;text-transform:uppercase!important}

/* Exact single bottom navigation HUD. */
body.bx-v285-exact-night #driveHud{
  position:fixed!important;left:18px!important;right:18px!important;bottom:18px!important;width:auto!important;max-width:none!important;height:164px!important;
  transform:none!important;margin:0!important;z-index:2600!important;border-radius:28px!important;padding:0 26px!important;
  display:grid!important;grid-template-columns:1.65fr 1fr .86fr .95fr 1.55fr!important;align-items:stretch!important;
  background:linear-gradient(180deg,rgba(10,17,25,.975),rgba(7,13,19,.985))!important;
  border:1px solid rgba(127,151,177,.28)!important;box-shadow:0 24px 54px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.025)!important;
  overflow:hidden!important
}
body.bx-v285-exact-night #driveHud[hidden]{display:none!important}
body.bx-v285-exact-night #driveHud>div{
  min-width:0!important;height:100%!important;margin:0!important;padding:26px 28px!important;border-right:1px solid rgba(137,157,178,.18)!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;background:transparent!important
}
body.bx-v285-exact-night #driveHud>div:last-child{border-right:0!important}
body.bx-v285-exact-night #driveHud span{font-size:14px!important;color:#9ca9b7!important;font-weight:600!important;text-transform:none!important}
body.bx-v285-exact-night #driveHud strong{font-size:27px!important;line-height:1.15!important;color:#f8fbff!important;font-weight:780!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
body.bx-v285-exact-night #driveHud small[lang="ar"]{display:none!important}
body.bx-v285-exact-night #driveHud .focus{position:relative!important;padding-left:132px!important}
.bx-v285-turn-arrow{position:absolute;left:34px;top:50%;transform:translateY(-50%);font-size:82px;line-height:1;color:#2099ff;text-shadow:0 0 18px rgba(30,145,255,.42);font-family:Arial,sans-serif}
body.bx-v285-exact-night #focusDistance{font-size:43px!important;color:#fff!important;font-weight:840!important}
body.bx-v285-exact-night #focusTurn{font-size:21px!important;color:#dce8f5!important;margin-top:7px!important}
body.bx-v285-exact-night #driveHud .road-cell:before{content:"╱  ┊  ╲";font-size:42px;line-height:1;color:#f3f6f9;margin-bottom:10px;letter-spacing:3px}
body.bx-v285-exact-night #driveHud .road-cell strong{font-size:27px!important;margin-top:5px!important}
body.bx-v285-exact-night #driveHud>div:nth-child(3) strong{color:#4bd77d!important}

/* Keep editable speed-limit modal consistent with the exact dark design. */
body.bx-v285-exact-night .bx-v280-modal-backdrop{background:rgba(0,0,0,.54)!important;backdrop-filter:blur(5px)!important}
body.bx-v285-exact-night .bx-v280-modal{background:#0b131d!important;border:1px solid rgba(122,151,182,.28)!important;box-shadow:0 30px 70px rgba(0,0,0,.56)!important}
body.bx-v285-exact-night .bx-v280-limit-option{background:#162535!important;color:#fff!important}
body.bx-v285-exact-night .bx-v280-limit-option.selected{background:#1979ed!important}

/* Place detail view uses the same dark visual language but keeps all functionality. */
body.bx-v285-exact-night .place-modal,
body.bx-v285-exact-night .universal-place-panel{background:#0a121c!important;color:#f7f9fb!important;border:1px solid rgba(127,151,177,.28)!important;box-shadow:0 30px 70px rgba(0,0,0,.55)!important}
body.bx-v285-exact-night .place-modal p,
body.bx-v285-exact-night .place-modal small,
body.bx-v285-exact-night .place-modal dt{color:#9eabb9!important}

/* Preserve responsive fallback without turning desktop back into 3D. */
@media(max-width:1100px){
  body.bx-v285-exact-night .topbar.search-only-bar{right:18px!important}
  .bx-v285-clock{display:none!important}
  body.bx-v285-exact-night #driveHud{grid-template-columns:1.5fr 1fr 1fr 1.35fr!important;height:150px!important}
  body.bx-v285-exact-night #driveHud>div:nth-child(4){display:none!important}
}
@media(max-width:760px){
  body.bx-v285-exact-night #menuButton{width:56px!important;height:56px!important;top:10px!important;left:10px!important;border-radius:16px!important;font-size:28px!important}
  body.bx-v285-exact-night .topbar.search-only-bar{left:78px!important;right:10px!important;top:10px!important}
  body.bx-v285-exact-night #searchForm.search-shell{min-height:56px!important;border-radius:16px!important}
  body.bx-v285-exact-night #searchInput{font-size:18px!important}
  body.bx-v285-exact-night #rightRail{right:10px!important;top:82px!important;gap:6px!important;padding:7px!important}
  body.bx-v285-exact-night #rightRail button,.bx-v285-compass{width:50px!important;height:50px!important;border-radius:14px!important;font-size:21px!important}
  body.bx-v285-exact-night #driveMetrics{left:10px!important;bottom:158px!important;width:190px!important;height:92px!important}
  body.bx-v285-exact-night #driveHud{left:8px!important;right:8px!important;bottom:8px!important;height:136px!important;padding:0 10px!important;grid-template-columns:1.7fr 1fr 1fr!important;border-radius:22px!important}
  body.bx-v285-exact-night #driveHud>div{padding:18px 14px!important}
  body.bx-v285-exact-night #driveHud>div:nth-child(4),body.bx-v285-exact-night #driveHud .road-cell{display:none!important}
  body.bx-v285-exact-night #driveHud .focus{padding-left:86px!important}
  .bx-v285-turn-arrow{left:18px!important;font-size:58px!important}
  body.bx-v285-exact-night #focusDistance{font-size:32px!important}
}


/* BARGAINX MAP PRO V2.8.6 FIX 28 — STABLE 2D NEON + SEARCH + LOWER GPU */
:root{
  --bx286-bg:#05080c;
  --bx286-panel:rgba(7,13,19,.965);
  --bx286-panel2:rgba(10,18,27,.97);
  --bx286-border:rgba(145,174,203,.28);
  --bx286-blue:#249cff;
  --bx286-blue2:#087cff;
  --bx286-text:#f8fbff;
  --bx286-muted:#9aa8b7;
}
html,body,#map,.maplibregl-map,.maplibregl-canvas-container{background:var(--bx286-bg)!important}
body.bx-v286-stable-night{overflow:hidden!important;color:var(--bx286-text)!important;background:var(--bx286-bg)!important}
body.bx-v286-stable-night .maplibregl-canvas{background:var(--bx286-bg)!important;opacity:0!important;transition:opacity .12s linear!important}
body.bx-v286-stable-night.bx-v286-theme-ready .maplibregl-canvas{opacity:1!important}

/* Retire the blank Fix 27 top host and use the real existing search form in a stable dock. */
body.bx-v286-stable-night .bx-v286-old-search-host{display:none!important}
body.bx-v286-stable-night #bxV286SearchDock{
  position:fixed!important;left:132px!important;right:340px!important;top:18px!important;z-index:3600!important;
  display:block!important;pointer-events:none!important
}
body.bx-v286-stable-night #bxV286SearchDock #searchForm{
  pointer-events:auto!important;width:100%!important;max-width:none!important;height:72px!important;min-height:72px!important;
  margin:0!important;padding:0 24px!important;box-sizing:border-box!important;border-radius:21px!important;
  display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:17px!important;
  background:linear-gradient(180deg,rgba(9,16,24,.985),rgba(6,12,18,.985))!important;
  border:1px solid rgba(150,181,212,.34)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.40),0 0 16px rgba(49,151,255,.10),inset 0 1px 0 rgba(255,255,255,.04)!important;
  overflow:hidden!important
}
body.bx-v286-stable-night #bxV286SearchDock #searchForm .search-icon{
  display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;
  color:#fff!important;font-size:31px!important;line-height:1!important;cursor:pointer!important
}
body.bx-v286-stable-night #bxV286SearchDock #searchInput{
  display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:52px!important;
  padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;caret-color:#38a4ff!important;
  font-size:23px!important;font-weight:520!important;letter-spacing:.005em!important;line-height:52px!important;opacity:1!important
}
body.bx-v286-stable-night #bxV286SearchDock #searchInput::placeholder{color:#8e9baa!important;-webkit-text-fill-color:#8e9baa!important;opacity:1!important}
body.bx-v286-stable-night #bxV286SearchDock #clearSearchButton{
  display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;padding:0!important;
  border:0!important;border-radius:50%!important;background:#c6ccd2!important;color:#10161d!important;font-size:26px!important;font-weight:900!important
}
body.bx-v286-stable-night #bxV286SearchDock #clearSearchButton[hidden]{display:none!important}
body.bx-v286-stable-night #bxV286SearchDock #searchButton,
body.bx-v286-stable-night #bxV286SearchDock #locateButton{display:none!important}
body.bx-v286-stable-night #bxV286SearchDock #searchResults{
  pointer-events:auto!important;position:absolute!important;left:0!important;right:0!important;top:82px!important;width:100%!important;max-height:390px!important;
  margin:0!important;border-radius:19px!important;overflow:auto!important;background:rgba(8,14,21,.99)!important;
  border:1px solid rgba(145,174,203,.30)!important;box-shadow:0 20px 48px rgba(0,0,0,.50)!important;color:#f8fbff!important
}
body.bx-v286-stable-night #bxV286SearchDock #searchResults *{color:inherit!important}

/* Approved top-left menu. */
body.bx-v286-stable-night #menuButton{
  position:fixed!important;left:18px!important;top:18px!important;width:72px!important;height:72px!important;z-index:3700!important;
  display:grid!important;place-items:center!important;margin:0!important;border-radius:20px!important;background:var(--bx286-panel)!important;
  color:#fff!important;border:1px solid var(--bx286-border)!important;box-shadow:0 15px 34px rgba(0,0,0,.42)!important;font-size:34px!important
}

/* Simple clock/date capsule. */
.bx-v286-clock{
  position:fixed;right:18px;top:18px;width:292px;height:72px;z-index:3700;border-radius:20px;box-sizing:border-box;
  display:grid;grid-template-columns:1fr 44px;grid-template-rows:1fr 1fr;align-items:center;padding:10px 18px;
  background:var(--bx286-panel);border:1px solid var(--bx286-border);box-shadow:0 15px 34px rgba(0,0,0,.42);color:#fff
}
.bx-v286-clock strong{grid-column:1;font-size:25px;line-height:1.05}.bx-v286-clock small{grid-column:1;color:#a8b3bf;font-size:14px}.bx-v286-clock span{grid-column:2;grid-row:1/3;font-size:31px;color:#e4c67d;text-align:center}

/* Strict desktop 2D rail: only compass, 2D, zoom and locate. */
body.bx-v286-stable-night .bx-v286-hidden-control,
body.bx-v286-stable-night #modeButton,
body.bx-v286-stable-night #threeDButton,
body.bx-v286-stable-night [data-mode="3d"],
body.bx-v286-stable-night #routePanelButton,
body.bx-v286-stable-night #soundButton,
body.bx-v286-stable-night #exitButton{display:none!important}
body.bx-v286-stable-night #rightRail{
  position:fixed!important;right:18px!important;top:122px!important;bottom:auto!important;transform:none!important;z-index:3500!important;
  display:flex!important;flex-direction:column!important;gap:10px!important;padding:10px!important;border-radius:22px!important;
  background:rgba(6,12,18,.94)!important;border:1px solid rgba(145,174,203,.25)!important;box-shadow:0 18px 38px rgba(0,0,0,.38)!important
}
body.bx-v286-stable-night #rightRail button,.bx-v286-compass{
  width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;margin:0!important;padding:0!important;
  border-radius:18px!important;background:#0d1721!important;color:#fff!important;border:1px solid rgba(145,174,203,.28)!important;
  box-shadow:none!important;font-size:25px!important;display:grid!important;place-items:center!important
}
.bx-v286-compass{order:1!important}.bx-v286-compass span{position:relative;width:40px;height:40px;border:2px solid #e8edf3;border-radius:50%}.bx-v286-compass i{position:absolute;left:18px;top:7px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:14px solid #f04c43;transform:rotate(35deg);transform-origin:50% 13px}
body.bx-v286-stable-night #twoDButton{order:2!important;color:#3ea6ff!important;border-color:#167ce8!important;box-shadow:inset 0 0 0 1px rgba(42,151,255,.18)!important}
body.bx-v286-stable-night #zoomInButton{order:3!important}body.bx-v286-stable-night #zoomOutButton{order:4!important}body.bx-v286-stable-night #railLocateButton{order:5!important}

/* During active navigation, no duplicate right-side route/setup panel. */
body.bx-v286-stable-night.bx-v286-nav-active #setupPanel,
body.bx-v286-stable-night.bx-v286-nav-active #routePanel,
body.bx-v286-stable-night.bx-v286-nav-active .route-panel,
body.bx-v286-stable-night.bx-v286-nav-active .setup-panel{display:none!important}

/* Stronger but low-cost cursor radar. Only this small element animates. */
body.bx-v286-stable-night .maplibregl-marker.bx-v278-map-marker-root{width:104px!important;height:104px!important;overflow:visible!important}
body.bx-v286-stable-night .bx-v278-cursor-visual{width:104px!important;height:104px!important;overflow:visible!important}
body.bx-v286-stable-night .bx-v278-radar-ring{
  width:72px!important;height:72px!important;margin:-36px 0 0 -36px!important;border:2px solid rgba(47,157,255,.96)!important;
  background:radial-gradient(circle,rgba(36,149,255,.24) 0%,rgba(18,115,255,.11) 44%,rgba(18,115,255,0) 74%)!important;
  box-shadow:0 0 17px rgba(36,149,255,.72),0 0 34px rgba(23,118,255,.38)!important;
  animation:bxV286Radar 2.6s ease-out infinite!important;will-change:transform,opacity!important
}
body.bx-v286-stable-night .bx-v278-radar-ring-two{animation-delay:1.3s!important}
@keyframes bxV286Radar{0%{transform:scale(.56);opacity:.96}68%{opacity:.38}100%{transform:scale(1.62);opacity:0}}
body.bx-v286-stable-night .bx-v278-pointed-cursor{width:47px!important;height:57px!important;filter:drop-shadow(0 7px 10px rgba(0,0,0,.58)) drop-shadow(0 0 13px rgba(31,145,255,.68))!important}
body.bx-v286-stable-night .bx-v278-pointed-fill{fill:#030509!important;stroke:#fff!important;stroke-width:3.5!important}
body.bx-v286-stable-night .bx-v278-pointed-highlight{fill:#0a1119!important;stroke:#37a8ff!important;stroke-width:1.7!important}

/* Speed/Limit compact capsule above the bottom HUD. */
body.bx-v286-stable-night #driveMetrics{
  position:fixed!important;left:18px!important;bottom:194px!important;width:232px!important;height:110px!important;z-index:3300!important;
  box-sizing:border-box!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:center!important;
  padding:12px 14px!important;border-radius:24px!important;background:var(--bx286-panel)!important;border:1px solid rgba(67,160,255,.50)!important;
  box-shadow:0 17px 38px rgba(0,0,0,.40),0 0 14px rgba(35,143,255,.11)!important;overflow:visible!important
}
body.bx-v286-stable-night #driveMetrics[hidden]{display:none!important}
body.bx-v286-stable-night #driveMetrics .compact-gauge{position:relative!important;inset:auto!important;margin:0!important;width:auto!important;height:84px!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.bx-v286-stable-night #driveMetrics .speed-metric strong{font-size:35px!important;color:#fff!important}body.bx-v286-stable-night #driveMetrics .speed-metric span{font-size:14px!important;color:#c8d2dc!important}body.bx-v286-stable-night #driveMetrics .speed-metric small{font-size:12px!important;color:#97a6b5!important}
body.bx-v286-stable-night #driveMetrics .limit-metric{width:80px!important;height:80px!important;border-radius:50%!important;background:#fff!important;border:7px solid #ef403a!important;display:grid!important;place-items:center!important;align-content:center!important;cursor:pointer!important}
body.bx-v286-stable-night #driveMetrics .limit-metric #speedLimitValue{font-size:30px!important;font-weight:950!important;color:#05070a!important;line-height:1!important}body.bx-v286-stable-night #driveMetrics .limit-metric small{font-size:10px!important;font-weight:850!important;color:#111820!important;text-transform:uppercase!important}

/* One clean bottom HUD only. */
body.bx-v286-stable-night #driveHud{
  position:fixed!important;left:116px!important;right:116px!important;bottom:18px!important;width:auto!important;max-width:none!important;height:158px!important;
  transform:none!important;margin:0!important;padding:0 24px!important;z-index:3200!important;border-radius:27px!important;
  display:grid!important;grid-template-columns:1.55fr 1fr .86fr .95fr 1.42fr!important;align-items:stretch!important;
  background:linear-gradient(180deg,rgba(8,15,23,.98),rgba(5,11,17,.99))!important;border:1px solid rgba(46,151,255,.56)!important;
  box-shadow:0 23px 52px rgba(0,0,0,.48),0 0 16px rgba(29,134,255,.12),inset 0 1px 0 rgba(255,255,255,.025)!important;overflow:hidden!important
}
body.bx-v286-stable-night #driveHud[hidden]{display:none!important}
body.bx-v286-stable-night #driveHud>div{min-width:0!important;height:100%!important;margin:0!important;padding:24px 26px!important;border-right:1px solid rgba(137,157,178,.18)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;background:transparent!important}
body.bx-v286-stable-night #driveHud>div:last-child{border-right:0!important}body.bx-v286-stable-night #driveHud span{font-size:14px!important;color:#9ca9b7!important;font-weight:600!important}body.bx-v286-stable-night #driveHud strong{font-size:27px!important;line-height:1.16!important;color:#f8fbff!important;font-weight:780!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}body.bx-v286-stable-night #driveHud small[lang="ar"]{display:none!important}
body.bx-v286-stable-night #driveHud .focus{position:relative!important;padding-left:124px!important}.bx-v286-turn-arrow{position:absolute;left:30px;top:50%;transform:translateY(-50%);font-size:78px;line-height:1;color:#269cff;text-shadow:0 0 17px rgba(30,145,255,.50);font-family:Arial,sans-serif}body.bx-v286-stable-night #focusDistance{font-size:42px!important;color:#fff!important;font-weight:840!important}body.bx-v286-stable-night #focusTurn{font-size:21px!important;color:#dce8f5!important;margin-top:7px!important}body.bx-v286-stable-night #driveHud .road-cell:before{content:"╱  ┊  ╲";font-size:40px;line-height:1;color:#f3f6f9;margin-bottom:10px;letter-spacing:3px}body.bx-v286-stable-night #driveHud .road-cell strong{font-size:27px!important;margin-top:5px!important}body.bx-v286-stable-night #driveHud>div:nth-child(3) strong{color:#4bd77d!important}

/* Keep place/speed editor functional but consistent with the night UI. */
body.bx-v286-stable-night .bx-v280-modal-backdrop{background:rgba(0,0,0,.56)!important;backdrop-filter:blur(4px)!important}body.bx-v286-stable-night .bx-v280-modal{background:#0a131d!important;border:1px solid rgba(122,151,182,.28)!important;box-shadow:0 30px 70px rgba(0,0,0,.58)!important}body.bx-v286-stable-night .bx-v280-limit-option{background:#162535!important;color:#fff!important}body.bx-v286-stable-night .bx-v280-limit-option.selected{background:#1979ed!important}
body.bx-v286-stable-night .place-modal,body.bx-v286-stable-night .universal-place-panel{background:#09121b!important;color:#f7f9fb!important;border:1px solid rgba(127,151,177,.28)!important;box-shadow:0 30px 70px rgba(0,0,0,.56)!important}

/* No desktop 3D/extrusion visual fallbacks. */
body.bx-v286-stable-night canvas{image-rendering:auto!important}

@media(max-width:1100px){body.bx-v286-stable-night #bxV286SearchDock{right:18px!important}.bx-v286-clock{display:none!important}body.bx-v286-stable-night #driveHud{left:18px!important;right:18px!important;grid-template-columns:1.5fr 1fr 1fr 1.35fr!important}body.bx-v286-stable-night #driveHud>div:nth-child(4){display:none!important}}
@media(max-width:760px){body.bx-v286-stable-night #menuButton{width:56px!important;height:56px!important;left:10px!important;top:10px!important;border-radius:16px!important;font-size:27px!important}body.bx-v286-stable-night #bxV286SearchDock{left:78px!important;right:10px!important;top:10px!important}body.bx-v286-stable-night #bxV286SearchDock #searchForm{height:56px!important;min-height:56px!important;border-radius:16px!important;padding:0 15px!important}body.bx-v286-stable-night #bxV286SearchDock #searchInput{font-size:18px!important;height:44px!important;line-height:44px!important}body.bx-v286-stable-night #rightRail{right:10px!important;top:82px!important;gap:6px!important;padding:7px!important}body.bx-v286-stable-night #rightRail button,.bx-v286-compass{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;border-radius:14px!important;font-size:21px!important}body.bx-v286-stable-night #driveMetrics{left:10px!important;bottom:152px!important;width:190px!important;height:92px!important}body.bx-v286-stable-night #driveHud{left:8px!important;right:8px!important;bottom:8px!important;height:132px!important;padding:0 10px!important;grid-template-columns:1.7fr 1fr 1fr!important;border-radius:22px!important}body.bx-v286-stable-night #driveHud>div{padding:16px 13px!important}body.bx-v286-stable-night #driveHud>div:nth-child(4),body.bx-v286-stable-night #driveHud .road-cell{display:none!important}body.bx-v286-stable-night #driveHud .focus{padding-left:82px!important}.bx-v286-turn-arrow{left:16px!important;font-size:56px!important}body.bx-v286-stable-night #focusDistance{font-size:31px!important}}


/* BARGAINX MAP PRO V2.8.7 FIX 29 — ROUTE STABILITY + READABLE SEARCH + CONTROLLED NEON */
:root{--bx287-bg:#04070a;--bx287-panel:rgba(6,12,18,.97);--bx287-border:rgba(174,207,238,.30);--bx287-blue:#249cff;--bx287-text:#f8fbff;--bx287-muted:#a7b4c1}
html,body,#map,.maplibregl-map,.maplibregl-canvas-container{background:var(--bx287-bg)!important}
body.bx-v287-stable-night{overflow:hidden!important;background:var(--bx287-bg)!important;color:var(--bx287-text)!important}
body.bx-v287-stable-night .maplibregl-canvas{opacity:1!important;transition:none!important;background:var(--bx287-bg)!important;image-rendering:auto!important}
body.bx-v287-stable-night .bx-v287-old-search-host{display:none!important}
body.bx-v287-stable-night #bxV287SearchDock{position:fixed!important;left:132px!important;right:340px!important;top:18px!important;z-index:3600!important;pointer-events:none!important}
body.bx-v287-stable-night #bxV287SearchDock #searchForm{pointer-events:auto!important;width:100%!important;max-width:none!important;height:72px!important;min-height:72px!important;margin:0!important;padding:0 24px!important;box-sizing:border-box!important;border-radius:20px!important;display:flex!important;align-items:center!important;gap:16px!important;background:linear-gradient(180deg,rgba(7,14,21,.99),rgba(4,10,16,.99))!important;border:1px solid rgba(168,205,238,.38)!important;box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 16px rgba(59,167,255,.15),inset 0 1px 0 rgba(255,255,255,.05)!important;overflow:hidden!important}
body.bx-v287-stable-night #bxV287SearchDock .search-icon{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;color:#fff!important;font-size:29px!important}
body.bx-v287-stable-night #bxV287SearchDock #searchInput{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:52px!important;line-height:52px!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;color:#f8fbff!important;-webkit-text-fill-color:#f8fbff!important;caret-color:#3ca7ff!important;font-size:22px!important;font-weight:560!important;opacity:1!important}
body.bx-v287-stable-night #bxV287SearchDock #searchInput::selection{background:#167fe7!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.bx-v287-stable-night #bxV287SearchDock #searchInput::placeholder{color:#9daab7!important;-webkit-text-fill-color:#9daab7!important;opacity:1!important}
body.bx-v287-stable-night #bxV287SearchDock #clearSearchButton{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#d0d5da!important;color:#0b1117!important;font-size:25px!important;font-weight:900!important}
body.bx-v287-stable-night #bxV287SearchDock #clearSearchButton[hidden]{display:none!important}
body.bx-v287-stable-night #bxV287SearchDock #searchButton,body.bx-v287-stable-night #bxV287SearchDock #locateButton{display:none!important}
body.bx-v287-stable-night #bxV287SearchDock #searchResults{pointer-events:auto!important;position:absolute!important;left:0!important;right:0!important;top:82px!important;width:100%!important;max-height:390px!important;margin:0!important;border-radius:18px!important;overflow:auto!important;background:#07111a!important;border:1px solid rgba(153,191,225,.30)!important;box-shadow:0 20px 48px rgba(0,0,0,.52)!important;color:#fff!important}
body.bx-v287-stable-night #bxV287SearchDock #searchResults>*,body.bx-v287-stable-night #bxV287SearchDock #searchResults .search-result,body.bx-v287-stable-night #bxV287SearchDock #searchResults [role="option"]{background:#08131d!important;color:#f7fbff!important;border-color:rgba(149,181,211,.16)!important}
body.bx-v287-stable-night #bxV287SearchDock #searchResults>*:hover,body.bx-v287-stable-night #bxV287SearchDock #searchResults .active,body.bx-v287-stable-night #bxV287SearchDock #searchResults .selected,body.bx-v287-stable-night #bxV287SearchDock #searchResults [aria-selected="true"]{background:#10273b!important;color:#fff!important;box-shadow:inset 3px 0 0 #2b9cff!important}
body.bx-v287-stable-night #bxV287SearchDock #searchResults strong,body.bx-v287-stable-night #bxV287SearchDock #searchResults b{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.bx-v287-stable-night #bxV287SearchDock #searchResults small,body.bx-v287-stable-night #bxV287SearchDock #searchResults p,body.bx-v287-stable-night #bxV287SearchDock #searchResults span{color:#b4c1cf!important;-webkit-text-fill-color:#b4c1cf!important}

body.bx-v287-stable-night #menuButton{position:fixed!important;left:18px!important;top:18px!important;width:72px!important;height:72px!important;z-index:3700!important;display:grid!important;place-items:center!important;margin:0!important;border-radius:20px!important;background:var(--bx287-panel)!important;color:#fff!important;border:1px solid var(--bx287-border)!important;box-shadow:0 15px 34px rgba(0,0,0,.42)!important;font-size:33px!important}
#bxV287Clock{position:fixed;right:18px;top:18px;width:292px;height:72px;z-index:3700;border-radius:20px;box-sizing:border-box;display:grid;grid-template-columns:1fr 44px;grid-template-rows:1fr 1fr;align-items:center;padding:10px 18px;background:var(--bx287-panel);border:1px solid var(--bx287-border);box-shadow:0 15px 34px rgba(0,0,0,.42);color:#fff}
#bxV287Clock strong{grid-column:1;font-size:25px;line-height:1.05}#bxV287Clock small{grid-column:1;color:#aab6c2;font-size:14px}#bxV287Clock span{grid-column:2;grid-row:1/3;font-size:31px;color:#e4c67d;text-align:center}

body.bx-v287-stable-night #modeButton,body.bx-v287-stable-night #threeDButton,body.bx-v287-stable-night [data-mode="3d"]{display:none!important}
body.bx-v287-stable-night #rightRail{position:fixed!important;right:18px!important;top:122px!important;bottom:auto!important;transform:none!important;z-index:3500!important;display:flex!important;flex-direction:column!important;gap:9px!important;padding:9px!important;border-radius:22px!important;background:rgba(5,11,17,.95)!important;border:1px solid rgba(158,191,221,.25)!important;box-shadow:0 18px 38px rgba(0,0,0,.36)!important}
body.bx-v287-stable-night #rightRail button{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;margin:0!important;padding:0!important;border-radius:17px!important;background:#0b1620!important;color:#fff!important;border:1px solid rgba(155,190,222,.26)!important;box-shadow:none!important;font-size:24px!important}

/* Smaller pointed cursor + clear blue radar; only the small radar animates. */
body.bx-v287-stable-night .maplibregl-marker.bx-v278-map-marker-root{width:84px!important;height:84px!important;overflow:visible!important}
body.bx-v287-stable-night .bx-v278-cursor-visual{width:84px!important;height:84px!important;overflow:visible!important}
body.bx-v287-stable-night .bx-v278-radar-ring{width:64px!important;height:64px!important;margin:-32px 0 0 -32px!important;border:1.8px solid rgba(55,164,255,.92)!important;background:radial-gradient(circle,rgba(37,150,255,.24) 0%,rgba(20,105,255,.09) 45%,rgba(20,105,255,0) 74%)!important;box-shadow:0 0 15px rgba(45,159,255,.68),0 0 28px rgba(24,113,255,.28)!important;animation:bxV287Radar 2.8s ease-out infinite!important;will-change:transform,opacity!important}
body.bx-v287-stable-night .bx-v278-radar-ring-two{animation-delay:1.4s!important}
@keyframes bxV287Radar{0%{transform:scale(.58);opacity:.94}65%{opacity:.34}100%{transform:scale(1.55);opacity:0}}
body.bx-v287-stable-night .bx-v278-pointed-cursor{width:39px!important;height:47px!important;filter:drop-shadow(0 6px 9px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(37,151,255,.52))!important}
body.bx-v287-stable-night .bx-v278-pointed-fill{fill:#020407!important;stroke:#fff!important;stroke-width:3.2!important}
body.bx-v287-stable-night .bx-v278-pointed-highlight{fill:#09111a!important;stroke:#3ba9ff!important;stroke-width:1.5!important}

/* Compact gauges + one HUD. */
body.bx-v287-stable-night #driveMetrics{left:18px!important;bottom:190px!important;z-index:3400!important;transform:none!important}
body.bx-v287-stable-night #driveHud{left:112px!important;right:112px!important;bottom:18px!important;z-index:3350!important;max-width:none!important;transform:none!important;border-radius:24px!important;background:rgba(5,12,18,.965)!important;border:1px solid rgba(80,166,246,.36)!important;box-shadow:0 22px 52px rgba(0,0,0,.46),0 0 18px rgba(38,142,255,.09)!important;overflow:hidden!important}
body.bx-v287-stable-night.bx-v287-nav-active #setupPanel,body.bx-v287-stable-night.bx-v287-nav-active #routePanel,body.bx-v287-stable-night.bx-v287-nav-active .setup-panel,body.bx-v287-stable-night.bx-v287-nav-active .route-panel{display:none!important}

/* No canvas fade / no theme flash. */
body.bx-v287-stable-night canvas{image-rendering:auto!important}
@media(max-width:1100px){body.bx-v287-stable-night #bxV287SearchDock{right:18px!important}#bxV287Clock{display:none!important}body.bx-v287-stable-night #driveHud{left:18px!important;right:18px!important}}


/* BARGAINX MAP PRO V2.8.8 FIX 30 — ONE MAP + RESPONSIVE NAV + WIDE PLACE MODAL */
:root{--bx288-bg:#03070b;--bx288-panel:rgba(5,12,18,.965);--bx288-border:rgba(117,181,238,.35);--bx288-blue:#229cff;--bx288-text:#f8fbff;--bx288-muted:#9fadb9}
html,body,#map,.maplibregl-map,.maplibregl-canvas-container{background:var(--bx288-bg)!important}
body{background:var(--bx288-bg)!important;color:var(--bx288-text)!important}
.maplibregl-canvas{opacity:1!important;background:var(--bx288-bg)!important;transition:none!important;image-rendering:auto!important}

/* Dark search from the first painted frame: no white/old search flash. */
#searchForm{background:linear-gradient(180deg,#08111a,#050c12)!important;border:1px solid rgba(123,190,245,.38)!important;color:#fff!important;box-shadow:0 14px 34px rgba(0,0,0,.40),0 0 14px rgba(33,143,255,.13)!important}
#searchInput{background:transparent!important;color:#f8fbff!important;-webkit-text-fill-color:#f8fbff!important;caret-color:#39a6ff!important;opacity:1!important}
#searchInput::placeholder{color:#9fadb9!important;-webkit-text-fill-color:#9fadb9!important;opacity:1!important}
#searchInput::selection{background:#176fbe!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#searchResults{background:#07111a!important;border-color:rgba(133,184,227,.30)!important;color:#fff!important;box-shadow:0 20px 48px rgba(0,0,0,.48)!important}
#searchResults>*,#searchResults .search-result,#searchResults [role="option"]{background:#08131d!important;color:#f7fbff!important;border-color:rgba(149,181,211,.16)!important}
#searchResults>*:hover,#searchResults .active,#searchResults .selected,#searchResults [aria-selected="true"]{background:#10273b!important;color:#fff!important;box-shadow:inset 3px 0 0 #2b9cff!important}
#searchResults strong,#searchResults b{color:#fff!important;-webkit-text-fill-color:#fff!important}
#searchResults small,#searchResults p,#searchResults span{color:#b4c1cf!important;-webkit-text-fill-color:#b4c1cf!important}

body.bx-v288-final-responsive #bxV288SearchDock{position:fixed!important;left:132px!important;right:340px!important;top:18px!important;z-index:3600!important;pointer-events:none!important;transition:opacity .17s ease,transform .19s cubic-bezier(.2,.8,.2,1)!important}
body.bx-v288-final-responsive #bxV288SearchDock #searchForm{pointer-events:auto!important;width:100%!important;max-width:none!important;height:72px!important;min-height:72px!important;margin:0!important;padding:0 24px!important;box-sizing:border-box!important;border-radius:20px!important;display:flex!important;align-items:center!important;gap:16px!important;overflow:hidden!important}
body.bx-v288-final-responsive #bxV288SearchDock #searchInput{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:52px!important;line-height:52px!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;font-size:21px!important;font-weight:580!important}
body.bx-v288-final-responsive #bxV288SearchDock #searchResults{pointer-events:auto!important;position:absolute!important;left:0!important;right:0!important;top:82px!important;width:100%!important;max-height:390px!important;margin:0!important;border-radius:18px!important;overflow:auto!important}
body.bx-v288-final-responsive #bxV288SearchDock #searchButton,body.bx-v288-final-responsive #bxV288SearchDock #locateButton{display:none!important}

body.bx-v288-final-responsive #menuButton{position:fixed!important;left:18px!important;top:18px!important;width:72px!important;height:72px!important;z-index:3700!important;display:grid!important;place-items:center!important;margin:0!important;border-radius:20px!important;background:var(--bx288-panel)!important;color:#fff!important;border:1px solid var(--bx288-border)!important;box-shadow:0 15px 34px rgba(0,0,0,.42)!important;font-size:33px!important}
#bxV288Clock{position:fixed;right:18px;top:18px;width:292px;height:72px;z-index:3700;border-radius:20px;box-sizing:border-box;display:grid;grid-template-columns:1fr 44px;grid-template-rows:1fr 1fr;align-items:center;padding:10px 18px;background:var(--bx288-panel);border:1px solid var(--bx288-border);box-shadow:0 15px 34px rgba(0,0,0,.42);color:#fff}
#bxV288Clock strong{grid-column:1;font-size:25px;line-height:1.05}#bxV288Clock small{grid-column:1;color:#aab6c2;font-size:14px}#bxV288Clock span{grid-column:2;grid-row:1/3;font-size:31px;color:#e4c67d;text-align:center}
body.bx-v288-final-responsive #modeButton,body.bx-v288-final-responsive #threeDButton,body.bx-v288-final-responsive [data-mode="3d"]{display:none!important}
body.bx-v288-final-responsive #rightRail{position:fixed!important;right:18px!important;top:122px!important;bottom:auto!important;transform:none!important;z-index:3500!important;display:flex!important;flex-direction:column!important;gap:9px!important;padding:9px!important;border-radius:22px!important;background:rgba(5,11,17,.95)!important;border:1px solid rgba(158,191,221,.25)!important;box-shadow:0 18px 38px rgba(0,0,0,.36)!important;transition:opacity .17s ease,transform .19s cubic-bezier(.2,.8,.2,1)!important}
body.bx-v288-final-responsive #rightRail button{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;margin:0!important;padding:0!important;border-radius:17px!important;background:#0b1620!important;color:#fff!important;border:1px solid rgba(155,190,222,.26)!important;box-shadow:none!important;font-size:24px!important}

#bxV288SearchToggle,#bxV288ControlsToggle{display:none;position:fixed;z-index:3820;border:1px solid rgba(83,175,255,.54);color:#fff;background:rgba(5,13,21,.96);box-shadow:0 10px 26px rgba(0,0,0,.38),0 0 12px rgba(35,147,255,.18);cursor:pointer;transition:transform .16s ease,opacity .16s ease,background .16s ease}
#bxV288SearchToggle:active,#bxV288ControlsToggle:active{transform:scale(.94)}

/* Cursor/radar: small arrow, clearer blue pulse. */
body.bx-v288-final-responsive .maplibregl-marker.bx-v278-map-marker-root,body.bx-v288-final-responsive .bx-v278-cursor-visual{width:76px!important;height:76px!important;overflow:visible!important}
body.bx-v288-final-responsive .bx-v278-radar-ring{width:60px!important;height:60px!important;margin:-30px 0 0 -30px!important;border:1.6px solid rgba(47,160,255,.96)!important;background:radial-gradient(circle,rgba(34,148,255,.23) 0%,rgba(20,100,255,.08) 48%,rgba(20,100,255,0) 75%)!important;box-shadow:0 0 15px rgba(41,158,255,.70),0 0 28px rgba(20,112,255,.28)!important;animation:bxV288Radar 2.7s ease-out infinite!important;will-change:transform,opacity!important}
body.bx-v288-final-responsive .bx-v278-radar-ring-two{animation-delay:1.35s!important}
@keyframes bxV288Radar{0%{transform:scale(.56);opacity:.96}65%{opacity:.30}100%{transform:scale(1.62);opacity:0}}
body.bx-v288-final-responsive .bx-v278-pointed-cursor{width:35px!important;height:43px!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.58)) drop-shadow(0 0 9px rgba(37,151,255,.52))!important}
body.bx-v288-final-responsive .bx-v278-pointed-fill{fill:#020407!important;stroke:#fff!important;stroke-width:3.2!important}
body.bx-v288-final-responsive .bx-v278-pointed-highlight{fill:#08111a!important;stroke:#36a8ff!important;stroke-width:1.5!important}

/* Desktop HUD remains wide and readable. */
body.bx-v288-final-responsive #driveMetrics{left:18px!important;bottom:190px!important;z-index:3400!important;transform:none!important}
body.bx-v288-final-responsive #driveHud{left:112px!important;right:112px!important;bottom:18px!important;z-index:3350!important;max-width:none!important;transform:none!important;border-radius:24px!important;background:rgba(5,12,18,.965)!important;border:1px solid rgba(80,166,246,.36)!important;box-shadow:0 22px 52px rgba(0,0,0,.46),0 0 18px rgba(38,142,255,.09)!important;overflow:hidden!important}
body.bx-v288-final-responsive.bx-v288-nav-active #setupPanel,body.bx-v288-final-responsive.bx-v288-nav-active #routePanel,body.bx-v288-final-responsive.bx-v288-nav-active .setup-panel,body.bx-v288-final-responsive.bx-v288-nav-active .route-panel{display:none!important}

/* Wide, fully scrollable business details card. Map stays visible around it. */
.bx-place-card-v273.bx-v288-business-modal{top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(980px,calc(100vw - 120px))!important;max-height:min(760px,calc(100dvh - 110px))!important;border-radius:24px!important;display:grid!important;grid-template-columns:minmax(320px,42%) minmax(420px,58%)!important;align-items:start!important;overflow:auto!important;overscroll-behavior:contain!important;color:#eef6ff!important;background:#07111b!important;border:1px solid rgba(91,169,238,.34)!important;box-shadow:0 28px 80px rgba(0,0,0,.60),0 0 24px rgba(27,131,235,.12)!important;z-index:3900!important}
.bx-place-card-v273.bx-v288-business-modal[hidden]{display:none!important}
.bx-v288-business-modal .bx-v273-hero{height:100%!important;min-height:430px!important;border-radius:24px 0 0 24px!important;background:#08131d!important;position:sticky!important;top:0!important}
.bx-v288-business-modal .bx-v273-body{padding:26px 28px 28px!important;color:#eef6ff!important;background:#07111b!important}
.bx-v288-business-modal .bx-v273-title,.bx-v288-business-modal .bx-v273-rating strong,.bx-v288-business-modal .bx-v273-hours-row strong,.bx-v288-business-modal .bx-v273-coordinates dd{color:#f8fbff!important}
.bx-v288-business-modal .bx-v273-address,.bx-v288-business-modal .bx-v273-hours-row,.bx-v288-business-modal .bx-v273-status,.bx-v288-business-modal .bx-v273-rating small{color:#adbdcc!important;border-color:rgba(147,185,219,.18)!important}
.bx-v288-business-modal .bx-v273-coordinates>div{background:#0b1b2a!important}
.bx-v288-business-modal .bx-v273-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.bx-v288-business-modal .bx-v273-actions button{background:#0c1b29!important;color:#eef6ff!important;border-color:rgba(131,175,214,.23)!important}
.bx-v288-business-modal .bx-v273-actions button.primary{background:#167fe7!important;border-color:#2695ff!important;color:#fff!important}
.bx-v288-community{grid-column:1/-1;margin-top:22px;padding-top:18px;border-top:1px solid rgba(132,177,216,.18)}
.bx-v288-community h3{margin:0 0 14px;font:800 17px/1.2 system-ui,sans-serif;color:#f8fbff}
.bx-v288-photo-host,.bx-v288-review-host{padding:14px;border-radius:16px;background:#0a1724;border:1px solid rgba(131,175,214,.20);margin-top:12px}
.bx-v288-community form{display:block!important;visibility:visible!important;opacity:1!important;color:#eef6ff!important;background:transparent!important}
.bx-v288-community input,.bx-v288-community textarea,.bx-v288-community select{max-width:100%!important;background:#07111b!important;color:#fff!important;border:1px solid rgba(132,177,216,.28)!important;border-radius:12px!important}
.bx-v288-community button{background:#167fe7!important;color:#fff!important;border:0!important;border-radius:12px!important}
body.bx-v288-place-open #bxV288SearchDock{opacity:.20!important;pointer-events:none!important}

@media(max-width:1100px){
  #bxV288Clock{display:none!important}
  body.bx-v288-final-responsive #bxV288SearchDock{left:82px!important;right:82px!important;top:max(10px,env(safe-area-inset-top))!important}
  body.bx-v288-final-responsive #menuButton{left:max(10px,env(safe-area-inset-left))!important;top:max(10px,env(safe-area-inset-top))!important;width:58px!important;height:58px!important;border-radius:17px!important;font-size:27px!important}
  body.bx-v288-final-responsive #bxV288SearchDock #searchForm{height:58px!important;min-height:58px!important;border-radius:17px!important;padding:0 16px!important}
  body.bx-v288-final-responsive #bxV288SearchDock #searchInput{height:44px!important;line-height:44px!important;font-size:17px!important}
  body.bx-v288-final-responsive #bxV288SearchDock #searchResults{top:66px!important;max-height:42dvh!important}
  body.bx-v288-final-responsive #rightRail{right:max(10px,env(safe-area-inset-right))!important;top:86px!important;gap:7px!important;padding:7px!important}
  body.bx-v288-final-responsive #rightRail button{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;border-radius:15px!important;font-size:21px!important}
  body.bx-v288-final-responsive #driveHud{left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;border-radius:20px!important}
  body.bx-v288-final-responsive #driveMetrics{left:10px!important;bottom:154px!important}

  /* Active mobile/tablet navigation: search and rail collapse on their own. */
  body.bx-v288-final-responsive.bx-v288-nav-active #bxV288SearchDock{opacity:0!important;transform:translateY(-18px) scale(.98)!important;pointer-events:none!important}
  body.bx-v288-final-responsive.bx-v288-nav-active.bx-v288-search-open #bxV288SearchDock{opacity:1!important;transform:translateY(0) scale(1)!important;pointer-events:none!important}
  body.bx-v288-final-responsive.bx-v288-nav-active.bx-v288-search-open #bxV288SearchDock #searchForm,body.bx-v288-final-responsive.bx-v288-nav-active.bx-v288-search-open #bxV288SearchDock #searchResults{pointer-events:auto!important}
  body.bx-v288-final-responsive.bx-v288-nav-active #rightRail{opacity:0!important;transform:translateX(22px)!important;pointer-events:none!important}
  body.bx-v288-final-responsive.bx-v288-nav-active.bx-v288-controls-open #rightRail{opacity:1!important;transform:translateX(0)!important;pointer-events:auto!important}
  body.bx-v288-final-responsive.bx-v288-nav-active #bxV288SearchToggle,body.bx-v288-final-responsive.bx-v288-nav-active #bxV288ControlsToggle{display:grid!important;place-items:center!important;width:52px;height:52px;border-radius:16px;opacity:1}
  body.bx-v288-final-responsive.bx-v288-nav-active #bxV288SearchToggle{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));font-size:27px}
  body.bx-v288-final-responsive.bx-v288-nav-active #bxV288ControlsToggle{right:max(10px,env(safe-area-inset-right));bottom:calc(max(10px,env(safe-area-inset-bottom)) + 150px);font-size:25px;background:#167fe7}
  body.bx-v288-final-responsive.bx-v288-nav-active.bx-v288-search-open #bxV288SearchToggle,body.bx-v288-final-responsive.bx-v288-nav-active.bx-v288-controls-open #bxV288ControlsToggle{background:#263b50}

  .bx-place-card-v273.bx-v288-business-modal{top:auto!important;left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;transform:none!important;width:auto!important;max-height:82dvh!important;display:block!important;border-radius:24px!important;overflow:auto!important}
  .bx-place-card-v273.bx-v288-business-modal[hidden]{display:none!important}
  .bx-v288-business-modal .bx-v273-hero{position:relative!important;height:210px!important;min-height:210px!important;border-radius:24px 24px 0 0!important}
  .bx-v288-business-modal .bx-v273-body{padding:19px 18px 20px!important}
  .bx-v288-business-modal .bx-v273-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.bx-v288-place-open #bxV288SearchToggle,body.bx-v288-place-open #bxV288ControlsToggle,body.bx-v288-place-open #rightRail{opacity:0!important;pointer-events:none!important}
}
@media(max-width:620px){
  body.bx-v288-final-responsive #driveMetrics{transform:scale(.88)!important;transform-origin:left bottom!important;bottom:146px!important}
  body.bx-v288-final-responsive #driveHud{font-size:12px!important}
  .bx-v288-business-modal .bx-v273-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(min-width:2200px){
  body.bx-v288-final-responsive #bxV288SearchDock{left:180px!important;right:430px!important;top:30px!important}
  body.bx-v288-final-responsive #menuButton{left:30px!important;top:30px!important}
  #bxV288Clock{right:30px;top:30px;width:360px}
  .bx-place-card-v273.bx-v288-business-modal{width:min(1220px,calc(100vw - 220px))!important;max-height:min(900px,calc(100dvh - 160px))!important}
}

/* BARGAINX MAP PRO V2.9.4 — FAST ONE-TAP ROUTING + PHOTO UPLOAD */
:root {
  --bx290-land: #2b1f19;
  --bx290-building: #b88c5c;
  --bx290-road: #08090a;
  --bx290-road-line: #fffdf6;
  --bx290-panel: rgba(10, 12, 13, .94);
  --bx290-panel-solid: #0d1012;
  --bx290-border: rgba(255, 253, 246, .28);
  --bx290-route: #16b9ff;
  --bx290-text: #fffdf8;
  --bx290-muted: #bfc3c4;
  --bx290-safe-top: max(12px, env(safe-area-inset-top));
  --bx290-safe-right: max(12px, env(safe-area-inset-right));
  --bx290-safe-bottom: max(12px, env(safe-area-inset-bottom));
  --bx290-safe-left: max(12px, env(safe-area-inset-left));
}

html,
body.bx-v290-navigation-ui,
body.bx-v290-navigation-ui #map,
body.bx-v290-navigation-ui .maplibregl-map,
body.bx-v290-navigation-ui .maplibregl-canvas-container,
body.bx-v290-navigation-ui .maplibregl-canvas {
  background: var(--bx290-land) !important;
}

body.bx-v290-navigation-ui {
  color: var(--bx290-text) !important;
  overflow: hidden !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.bx-v290-navigation-ui .maplibregl-canvas {
  image-rendering: auto !important;
  opacity: 1 !important;
  transition: none !important;
}

/* The final dock exists in HTML, so the previous search cannot flash first. */
body.bx-v290-navigation-ui #bxV290SearchDock {
  position: fixed !important;
  inset: 18px 340px auto 132px !important;
  width: auto !important;
  height: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 3600 !important;
  pointer-events: none !important;
  background: transparent !important;
  transition: opacity .18s ease, transform .22s cubic-bezier(.2, .8, .2, 1) !important;
}

body.bx-v290-navigation-ui #bxV290SearchDock #searchForm {
  pointer-events: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--bx290-border) !important;
  border-radius: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  overflow: visible !important;
  background: linear-gradient(180deg, rgba(17, 20, 21, .98), rgba(8, 10, 11, .98)) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .38), 0 0 0 1px rgba(255, 255, 255, .04) !important;
  backdrop-filter: blur(18px) saturate(120%) !important;
}

body.bx-v290-navigation-ui #bxV290SearchDock #searchInput {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--bx290-text) !important;
  -webkit-text-fill-color: var(--bx290-text) !important;
  caret-color: var(--bx290-route) !important;
  font-size: clamp(18px, 1.1vw, 24px) !important;
  font-weight: 620 !important;
  line-height: 52px !important;
}

body.bx-v290-navigation-ui #bxV290SearchDock #searchInput::placeholder {
  color: #aeb4b6 !important;
  -webkit-text-fill-color: #aeb4b6 !important;
  opacity: 1 !important;
}

body.bx-v290-navigation-ui #bxV290SearchDock #searchResults {
  position: absolute !important;
  inset: 82px 0 auto !important;
  width: 100% !important;
  max-height: min(430px, 52dvh) !important;
  overflow: auto !important;
  pointer-events: auto !important;
  border-radius: 18px !important;
  background: rgba(12, 15, 16, .985) !important;
  border: 1px solid var(--bx290-border) !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, .52) !important;
  overscroll-behavior: contain;
}

body.bx-v290-navigation-ui #bxV290SearchDock #searchButton,
body.bx-v290-navigation-ui #bxV290SearchDock #locateButton {
  display: none !important;
}

body.bx-v290-navigation-ui #menuButton {
  left: 18px !important;
  top: 18px !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  border: 1px solid var(--bx290-border) !important;
  border-radius: 20px !important;
  background: var(--bx290-panel) !important;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .40) !important;
  backdrop-filter: blur(16px) !important;
}

body.bx-v290-navigation-ui #rightRail {
  right: 18px !important;
  top: 112px !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 9px !important;
  border: 1px solid var(--bx290-border) !important;
  border-radius: 22px !important;
  background: var(--bx290-panel) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .40) !important;
  backdrop-filter: blur(16px) !important;
  transition: opacity .18s ease, transform .22s cubic-bezier(.2, .8, .2, 1) !important;
}

body.bx-v290-navigation-ui #rightRail button {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 16px !important;
  background: #141719 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 23px !important;
}

body.bx-v290-navigation-ui #rightRail button:hover,
body.bx-v290-navigation-ui #rightRail button:focus-visible {
  background: #24292c !important;
  border-color: rgba(255, 255, 255, .42) !important;
}

body.bx-v290-navigation-ui #railLocateButton[data-gps-state="searching"] { color: #ffd36b !important; }
body.bx-v290-navigation-ui #railLocateButton[data-gps-state="locked"] { color: #55f2a0 !important; }
body.bx-v290-navigation-ui #railLocateButton[data-gps-state="error"] { color: #ff6b6b !important; }

#bxV290SearchToggle,
#bxV290ControlsToggle {
  display: none;
  position: fixed;
  z-index: 3820;
  width: 58px;
  height: 58px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .36);
  border-radius: 17px;
  color: #fff;
  background: rgba(10, 12, 13, .96);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .42), 0 0 13px rgba(255, 255, 255, .10);
  font: 800 26px/1 system-ui, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
  transition: transform .16s ease, background .16s ease, opacity .16s ease;
}

#bxV290SearchToggle:active,
#bxV290ControlsToggle:active { transform: scale(.94); }

#bxV290SearchToggle { top: var(--bx290-safe-top); right: var(--bx290-safe-right); }
#bxV290ControlsToggle { right: var(--bx290-safe-right); top: calc(var(--bx290-safe-top) + 68px); transform: none; background: #087eae; }
#bxV290ControlsToggle:active { transform: scale(.94); }

body.bx-v290-navigation-ui #bxV290Clock {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 3500;
  width: 292px;
  height: 72px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 42px;
  grid-template-rows: 1fr 1fr;
  align-items: center;
  padding: 10px 18px;
  border: 1px solid var(--bx290-border);
  border-radius: 20px;
  color: #fff;
  background: var(--bx290-panel);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .40);
  backdrop-filter: blur(16px);
}

#bxV290Clock strong { grid-column: 1; font-size: 25px; line-height: 1.05; }
#bxV290Clock small { grid-column: 1; color: var(--bx290-muted); font-size: 14px; }
#bxV290Clock span { grid-column: 2; grid-row: 1 / 3; color: #e6c874; font-size: 30px; text-align: center; }

/* Navigation: map first. Both large control groups close at every width. */
body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290Clock,
body.bx-v290-navigation-ui.bx-v290-nav-active .gps-pill { display: none !important; }

body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290SearchDock {
  opacity: 0 !important;
  transform: translateY(-22px) scale(.985) !important;
  pointer-events: none !important;
}

body.bx-v290-navigation-ui.bx-v290-nav-active #rightRail {
  opacity: 0 !important;
  transform: translateX(calc(100% + 28px)) !important;
  pointer-events: none !important;
}

body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290SearchToggle,
body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290ControlsToggle { display: grid !important; }

body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock {
  top: 88px !important;
  right: 88px !important;
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: none !important;
}

body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock #searchForm,
body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock #searchResults { pointer-events: auto !important; }

body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #rightRail {
  top: 156px !important;
  opacity: 1 !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchToggle,
body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #bxV290ControlsToggle { background: #343a3d; }

body.bx-v290-navigation-ui.bx-v290-nav-active #setupPanel,
body.bx-v290-navigation-ui.bx-v290-nav-active #routePanel { display: none !important; }

body.bx-v290-navigation-ui #turnCard {
  top: var(--bx290-safe-top) !important;
  left: 50% !important;
  right: auto !important;
  max-width: min(760px, calc(100vw - 270px)) !important;
  transform: translateX(-50%) !important;
  border: 1px solid rgba(255, 255, 255, .32) !important;
  background: rgba(8, 10, 11, .96) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .46) !important;
  backdrop-filter: blur(18px) !important;
}

body.bx-v290-navigation-ui #driveHud {
  left: 116px !important;
  right: 116px !important;
  bottom: 18px !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  border-radius: 24px !important;
  background: rgba(8, 10, 11, .96) !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, .46) !important;
  backdrop-filter: blur(18px) !important;
}

body.bx-v290-navigation-ui #driveMetrics { left: 18px !important; bottom: 190px !important; }

/* Precise black arrow and visible blue location/accuracy radar. */
body.bx-v290-navigation-ui .maplibregl-marker.bx-v278-map-marker-root,
body.bx-v290-navigation-ui .bx-v278-cursor-visual { width: 78px !important; height: 78px !important; overflow: visible !important; }
body.bx-v290-navigation-ui .bx-v278-pointed-cursor { width: 36px !important; height: 44px !important; filter: drop-shadow(0 5px 8px rgba(0, 0, 0, .60)) drop-shadow(0 0 10px rgba(22, 185, 255, .60)) !important; }
body.bx-v290-navigation-ui .bx-v278-pointed-fill { fill: #050607 !important; stroke: #fff !important; stroke-width: 3.2 !important; }
body.bx-v290-navigation-ui .bx-v278-pointed-highlight { fill: #101417 !important; stroke: var(--bx290-route) !important; stroke-width: 1.6 !important; }
body.bx-v290-navigation-ui .bx-v278-radar-ring { border-color: rgba(22, 185, 255, .96) !important; box-shadow: 0 0 15px rgba(22, 185, 255, .76), 0 0 30px rgba(22, 185, 255, .34) !important; }

body.bx-v290-navigation-ui .bx-v294-locating {
  color: #ffd36b !important;
  animation: bxV294LocatePulse .72s ease-in-out infinite alternate !important;
}

@keyframes bxV294LocatePulse {
  from { box-shadow: inset 0 0 0 1px rgba(255, 211, 107, .24), 0 0 0 rgba(255, 211, 107, 0); }
  to { box-shadow: inset 0 0 0 1px rgba(255, 211, 107, .82), 0 0 18px rgba(255, 211, 107, .42); }
}

body.bx-v290-place-open #bxV290SearchDock,
body.bx-v290-place-open #bxV290SearchToggle,
body.bx-v290-place-open #bxV290ControlsToggle,
body.bx-v290-place-open #rightRail { opacity: 0 !important; pointer-events: none !important; }

@media (max-width: 1100px) {
  body.bx-v290-navigation-ui #bxV290Clock { display: none !important; }
  body.bx-v290-navigation-ui #menuButton {
    left: var(--bx290-safe-left) !important;
    top: var(--bx290-safe-top) !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    border-radius: 17px !important;
    font-size: 27px !important;
  }
  body.bx-v290-navigation-ui #bxV290SearchDock {
    inset: var(--bx290-safe-top) 80px auto 80px !important;
    height: 58px !important;
  }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchForm {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 16px !important;
    border-radius: 17px !important;
  }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchInput { height: 44px !important; line-height: 44px !important; font-size: 17px !important; }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchResults { inset: 66px 0 auto !important; max-height: 44dvh !important; }
  body.bx-v290-navigation-ui #rightRail { right: var(--bx290-safe-right) !important; top: 82px !important; }
  body.bx-v290-navigation-ui #rightRail button { width: 52px !important; height: 52px !important; min-width: 52px !important; min-height: 52px !important; }
  body.bx-v290-navigation-ui #turnCard { max-width: calc(100vw - 156px) !important; }
  body.bx-v290-navigation-ui #driveHud { left: 10px !important; right: 10px !important; bottom: var(--bx290-safe-bottom) !important; border-radius: 20px !important; }
  body.bx-v290-navigation-ui #driveMetrics { left: var(--bx290-safe-left) !important; bottom: 154px !important; }
  #bxV290ControlsToggle { top: calc(var(--bx290-safe-top) + 62px); }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock { top: 74px !important; right: 74px !important; left: 12px !important; }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #rightRail { top: 138px !important; }
}

@media (max-width: 620px) {
  body.bx-v290-navigation-ui #bxV290SearchDock { left: 12px !important; right: 12px !important; top: 78px !important; }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #menuButton { opacity: 0 !important; pointer-events: none !important; }
  body.bx-v290-navigation-ui #turnCard {
    left: 76px !important;
    right: 76px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #driveMetrics { bottom: 146px !important; transform: scale(.88) !important; transform-origin: left bottom !important; }
  body.bx-v290-navigation-ui #driveHud { font-size: 12px !important; }
  #bxV290SearchToggle, #bxV290ControlsToggle { width: 52px; height: 52px; border-radius: 15px; }
}

@media (min-width: 2200px) {
  body.bx-v290-navigation-ui #menuButton { left: 30px !important; top: 30px !important; width: 82px !important; height: 82px !important; }
  body.bx-v290-navigation-ui #bxV290SearchDock { inset: 30px 440px auto 156px !important; height: 82px !important; }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchForm { height: 82px !important; min-height: 82px !important; border-radius: 23px !important; padding: 0 30px !important; }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchInput { height: 60px !important; line-height: 60px !important; font-size: 25px !important; }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchResults { inset: 94px 0 auto !important; max-height: 520px !important; }
  body.bx-v290-navigation-ui #bxV290Clock { top: 30px; right: 30px; width: 376px; height: 82px; }
  body.bx-v290-navigation-ui #rightRail { right: 30px !important; top: 142px !important; }
  body.bx-v290-navigation-ui #rightRail button { width: 68px !important; height: 68px !important; min-width: 68px !important; min-height: 68px !important; font-size: 27px !important; }
  #bxV290SearchToggle, #bxV290ControlsToggle { width: 68px; height: 68px; border-radius: 20px; font-size: 30px; }
  #bxV290SearchToggle { top: 30px; right: 30px; }
  #bxV290ControlsToggle { top: 108px; right: 30px; }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock { top: 112px !important; right: 112px !important; }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #rightRail { top: 196px !important; }
  body.bx-v290-navigation-ui #driveHud { left: 150px !important; right: 150px !important; bottom: 30px !important; }
  body.bx-v290-navigation-ui #driveMetrics { left: 30px !important; bottom: 220px !important; }
}

@media (min-resolution: 2dppx) {
  body.bx-v290-navigation-ui #bxV290SearchDock #searchForm,
  body.bx-v290-navigation-ui #menuButton,
  body.bx-v290-navigation-ui #rightRail,
  body.bx-v290-navigation-ui #driveHud,
  #bxV290SearchToggle,
  #bxV290ControlsToggle { border-width: .5px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.bx-v290-navigation-ui #bxV290SearchDock,
  body.bx-v290-navigation-ui #rightRail,
  #bxV290SearchToggle,
  #bxV290ControlsToggle { transition: none !important; }
  body.bx-v290-navigation-ui .bx-v278-radar-ring { animation-duration: 5s !important; }
}

/* V2.9.4 FINAL OWNERSHIP — prevent accumulated V2.6–V2.8 UI from mixing in. */
body.bx-v290-navigation-ui .ui-sentinels,
body.bx-v290-navigation-ui .gps-pill,
body.bx-v290-navigation-ui .debug-statusbar,
body.bx-v290-navigation-ui #driveVehicle,
body.bx-v290-navigation-ui #bxV285Clock,
body.bx-v290-navigation-ui #bxV286Clock,
body.bx-v290-navigation-ui #bxV287Clock,
body.bx-v290-navigation-ui #bxV288Clock,
body.bx-v290-navigation-ui #bxV285SearchDock,
body.bx-v290-navigation-ui #bxV286SearchDock,
body.bx-v290-navigation-ui #bxV287SearchDock,
body.bx-v290-navigation-ui #bxV288SearchDock,
body.bx-v290-navigation-ui #bxV288SearchToggle,
body.bx-v290-navigation-ui #bxV288ControlsToggle,
body.bx-v290-navigation-ui .bx-v286-compass,
body.bx-v290-navigation-ui .bx-v287-compass {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.bx-v290-navigation-ui #turnCard[hidden],
body.bx-v290-navigation-ui #driveMetrics[hidden],
body.bx-v290-navigation-ui #driveHud[hidden],
body.bx-v290-navigation-ui #rightRail[hidden],
body.bx-v290-navigation-ui #bxV290SearchDock[hidden] { display: none !important; }

/* One desktop navigation HUD. */
@media (min-width: 761px) {
  body.bx-v290-navigation-ui #driveHud {
    display: grid !important;
    grid-template-columns: minmax(250px, 1.55fr) repeat(3, minmax(120px, .8fr)) minmax(210px, 1.2fr) !important;
    min-height: 112px !important;
    height: auto !important;
    padding: 0 14px !important;
  }
  body.bx-v290-navigation-ui #driveHud > div { display: flex !important; min-width: 0 !important; }
  body.bx-v290-navigation-ui #driveHud .focus { position: relative !important; }
  body.bx-v290-navigation-ui #driveMetrics { display: flex !important; flex-direction: column !important; }
}

/* One mobile interface: no desktop remnants and no overlapping HUDs. */
@media (max-width: 760px) {
  body.bx-v290-navigation-ui #menuButton {
    left: var(--bx290-safe-left) !important;
    top: var(--bx290-safe-top) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
  }
  body.bx-v290-navigation-ui #bxV290SearchDock {
    left: calc(var(--bx290-safe-left) + 64px) !important;
    right: var(--bx290-safe-right) !important;
    top: var(--bx290-safe-top) !important;
    height: 54px !important;
  }
  body.bx-v290-navigation-ui #bxV290SearchDock #searchForm {
    height: 54px !important;
    min-height: 54px !important;
    border-radius: 16px !important;
  }
  body.bx-v290-navigation-ui #rightRail {
    right: var(--bx290-safe-right) !important;
    top: calc(var(--bx290-safe-top) + 66px) !important;
    gap: 6px !important;
    padding: 6px !important;
    max-height: calc(100dvh - 92px - env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
  }
  body.bx-v290-navigation-ui #rightRail button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 14px !important;
    flex: 0 0 46px !important;
  }
  body.bx-v290-navigation-ui.bx-v290-nav-active #menuButton {
    opacity: 0 !important;
    transform: translateX(-18px) !important;
    pointer-events: none !important;
  }
  body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290SearchToggle,
  body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290ControlsToggle {
    right: var(--bx290-safe-right) !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 15px !important;
  }
  body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290SearchToggle { top: var(--bx290-safe-top) !important; }
  body.bx-v290-navigation-ui.bx-v290-nav-active #bxV290ControlsToggle { top: calc(var(--bx290-safe-top) + 58px) !important; }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock {
    left: var(--bx290-safe-left) !important;
    right: calc(var(--bx290-safe-right) + 60px) !important;
    top: var(--bx290-safe-top) !important;
  }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #rightRail {
    top: calc(var(--bx290-safe-top) + 116px) !important;
  }
  body.bx-v290-navigation-ui #turnCard {
    left: var(--bx290-safe-left) !important;
    right: calc(var(--bx290-safe-right) + 60px) !important;
    top: var(--bx290-safe-top) !important;
    width: auto !important;
    min-height: 98px !important;
    max-width: none !important;
    transform: none !important;
    padding: 12px 14px !important;
    border-radius: 18px !important;
  }
  body.bx-v290-navigation-ui #turnCard .voice-wave { display: none !important; }
  body.bx-v290-navigation-ui #turnCard .turn-icon { flex: 0 0 52px !important; font-size: 48px !important; }
  body.bx-v290-navigation-ui #turnCard strong { font-size: 17px !important; }
  body.bx-v290-navigation-ui #driveMetrics {
    display: flex !important;
    flex-direction: row !important;
    left: var(--bx290-safe-left) !important;
    bottom: calc(var(--bx290-safe-bottom) + 102px) !important;
    gap: 6px !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #driveMetrics > div {
    width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
  }
  body.bx-v290-navigation-ui #driveHud {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    left: var(--bx290-safe-left) !important;
    right: var(--bx290-safe-right) !important;
    bottom: var(--bx290-safe-bottom) !important;
    width: auto !important;
    height: 90px !important;
    min-height: 90px !important;
    padding: 0 6px !important;
    border-radius: 19px !important;
  }
  body.bx-v290-navigation-ui #driveHud > div { display: flex !important; padding: 10px 7px !important; min-width: 0 !important; }
  body.bx-v290-navigation-ui #driveHud .focus,
  body.bx-v290-navigation-ui #driveHud .road-cell { display: none !important; }
  body.bx-v290-navigation-ui #driveHud > div:nth-child(2),
  body.bx-v290-navigation-ui #driveHud > div:nth-child(3),
  body.bx-v290-navigation-ui #driveHud > div:nth-child(4) { display: flex !important; }
  body.bx-v290-navigation-ui #driveHud strong { font-size: clamp(14px, 4.2vw, 19px) !important; }
  body.bx-v290-navigation-ui #driveHud span,
  body.bx-v290-navigation-ui #driveHud small { font-size: 9px !important; }
}

@media (max-width: 420px), (max-height: 680px) {
  body.bx-v290-navigation-ui #rightRail button { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; flex-basis: 42px !important; }
  body.bx-v290-navigation-ui #turnCard { min-height: 88px !important; }
  body.bx-v290-navigation-ui #driveMetrics { bottom: calc(var(--bx290-safe-bottom) + 94px) !important; }
  body.bx-v290-navigation-ui #driveMetrics > div { width: 52px !important; height: 52px !important; min-height: 52px !important; }
  body.bx-v290-navigation-ui #driveHud { height: 82px !important; min-height: 82px !important; }
}

/* V2.9.4 RENDERED VIEWPORT OWNERSHIP
   V2.9.1 changed inset/left/top values but left older translate transforms and
   intrinsic widths alive.  Browsers therefore moved the search, rail and HUD
   outside the viewport.  These are complete geometry declarations, not
   partial overrides. */
body.bx-v290-navigation-ui #bxV290SearchDock {
  left: 132px !important;
  right: 340px !important;
  top: 18px !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.bx-v290-navigation-ui #rightRail {
  right: var(--bx290-safe-right) !important;
  top: 112px !important;
  bottom: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  max-height: calc(100dvh - 130px) !important;
}

body.bx-v290-navigation-ui #driveHud {
  left: clamp(116px, 6vw, 150px) !important;
  right: clamp(116px, 6vw, 150px) !important;
  bottom: var(--bx290-safe-bottom) !important;
  width: auto !important;
  max-width: none !important;
  height: clamp(112px, 14dvh, 150px) !important;
  min-height: 112px !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.bx-v290-navigation-ui #driveHud > div {
  min-width: 0 !important;
  padding: clamp(11px, 1.15vw, 20px) !important;
  overflow: hidden !important;
}

body.bx-v290-navigation-ui #driveMetrics {
  left: var(--bx290-safe-left) !important;
  top: auto !important;
  bottom: calc(var(--bx290-safe-bottom) + clamp(128px, 14dvh, 166px)) !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  transform-origin: left bottom !important;
  box-sizing: border-box !important;
}

/* Closed navigation drawers must leave only the two right-edge tabs. */
body.bx-v290-navigation-ui.bx-v290-nav-active:not(.bx-v290-search-open) #bxV290SearchDock {
  opacity: 0 !important;
  transform: translateY(-22px) scale(.985) !important;
  pointer-events: none !important;
}

body.bx-v290-navigation-ui.bx-v290-nav-active:not(.bx-v290-controls-open) #rightRail {
  opacity: 0 !important;
  transform: translateX(calc(100% + 28px)) !important;
  pointer-events: none !important;
}

/* Search opens fully inside the viewport beside the search tab. */
body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock {
  left: var(--bx290-safe-left) !important;
  right: calc(var(--bx290-safe-right) + 70px) !important;
  top: var(--bx290-safe-top) !important;
  bottom: auto !important;
  width: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Controls open below both tabs and never inherit the old vertical centering. */
body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #rightRail {
  right: var(--bx290-safe-right) !important;
  top: calc(var(--bx290-safe-top) + 126px) !important;
  bottom: auto !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

@media (max-width: 1100px) {
  body.bx-v290-navigation-ui #bxV290SearchDock {
    left: 80px !important;
    right: 80px !important;
    top: var(--bx290-safe-top) !important;
    width: auto !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #rightRail {
    top: calc(var(--bx290-safe-top) + 70px) !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #driveHud {
    left: var(--bx290-safe-left) !important;
    right: var(--bx290-safe-right) !important;
    width: auto !important;
    transform: none !important;
  }
}

/* V2.9.4 FAST ROUTING + PHOTO ACTION OWNERSHIP */
.bx-v288-business-modal .bx-v273-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.bx-v288-business-modal [data-action="photo"],
#placeQuickPhotoButton {
  border-color: rgba(54, 185, 255, .6) !important;
  background: #10314a !important;
  color: #f7fbff !important;
}

.bx-v288-business-modal .profile-upload-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 10px !important;
}

.bx-v288-business-modal .profile-upload-form button {
  min-height: 44px !important;
  white-space: nowrap !important;
}

[data-action="directions"][aria-busy="true"],
#routePlaceButton[aria-busy="true"] {
  cursor: progress !important;
  opacity: .82 !important;
}

@media (max-width: 620px) {
  .bx-v288-business-modal .bx-v273-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .bx-v288-business-modal .profile-upload-form {
    grid-template-columns: 1fr !important;
  }

  .bx-v288-business-modal .profile-upload-form button {
    width: 100% !important;
  }
}

@media (max-width: 760px) {
  body.bx-v290-navigation-ui #bxV290SearchDock {
    left: calc(var(--bx290-safe-left) + 64px) !important;
    right: var(--bx290-safe-right) !important;
    top: var(--bx290-safe-top) !important;
    width: auto !important;
    height: 54px !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #rightRail {
    right: var(--bx290-safe-right) !important;
    top: calc(var(--bx290-safe-top) + 66px) !important;
    bottom: auto !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-search-open #bxV290SearchDock {
    left: var(--bx290-safe-left) !important;
    right: calc(var(--bx290-safe-right) + 60px) !important;
    top: var(--bx290-safe-top) !important;
    width: auto !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui.bx-v290-nav-active.bx-v290-controls-open #rightRail {
    top: calc(var(--bx290-safe-top) + 116px) !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #driveHud {
    left: var(--bx290-safe-left) !important;
    right: var(--bx290-safe-right) !important;
    bottom: var(--bx290-safe-bottom) !important;
    width: auto !important;
    height: 90px !important;
    min-height: 90px !important;
    transform: none !important;
  }
  body.bx-v290-navigation-ui #driveMetrics {
    left: var(--bx290-safe-left) !important;
    bottom: calc(var(--bx290-safe-bottom) + 102px) !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
  }
}

@media (max-width: 420px), (max-height: 680px) {
  body.bx-v290-navigation-ui #driveHud {
    height: 82px !important;
    min-height: 82px !important;
  }
  body.bx-v290-navigation-ui #driveMetrics {
    bottom: calc(var(--bx290-safe-bottom) + 94px) !important;
  }
}
